Внешний документ

1. spartak85 23.05.13 07:45 Сейчас в теме
Всем привет!
Помогите разобраться с такой задачей. Есть полностью типовая буха 2.0. При реализации нужно выписывать пропуск на вывоз. Вроде все бы ничего - прикрутил печатную форму к РТУ и всего делов. НО! нач. охраны требует каждое утро реестр пропусков. А пропуска выписываются не на все РТУ.
Весь сок в том, что конфу совсем нельзя снимать с поддержки. Этот вариант даже обсуждаться не будет. Соответственно, возникает идея - сделать документ во внешнем хранилище.
Структура документа простая - 4-5 реквизитов шапки и простенькая таб часть.
Какое хранилище лучше выбрать для такого документа? (файл, БД SQL, хз что еще...)
Главное условие - это должно работать именно как документ(создание, копирование, пометки удаления и тд)
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
14. Программист 1С 155 23.05.13 09:57 Сейчас в теме
(1) Создайте печатную форму как внешнюю и используйте стандартный справочник "Внешние обработки" (см. прикреплённый файл)
Прикрепленные файлы:
16. ant1773 5 23.05.13 11:27 Сейчас в теме
(1) Спартак,

Весь сок в том, что конфу совсем нельзя снимать с поддержки. Этот вариант даже обсуждаться не будет.


Так для внесения изменений в конфу и не требуется снятие с поддержки.

(2) DenisCh,

Я бы это сделал во внешней базе SQL.
Подключение к ней - не проблема.
Создать структуру нужную - тоже.


Не проблема конечно, но зачем изобретать сущности, там, где это не нужно?

(11) mar82,

Dmitr033, допдокумент с поддержки не снимет, но процесс обновления затронет, так сказать, усложнит его...


Чем нетиповой документ осложнит обновление конфигурации?

Если уж все же нужно изобретение велосипеда - есть куча регистров сведений, можно задействовать какой-то неиспользуемый:
Прикрепленные файлы:
60. tolyan_ekb 104 24.05.13 07:09 Сейчас в теме
(1) Спартак, создай новую конфигурацию с документом пропуск и прочей лабудой. Через обработку будешь соединяться с базой и изменять/получать данные в нужном объеме. Думаю всем понравиться.
2. DenisCh 23.05.13 08:39 Сейчас в теме
Я бы это сделал во внешней базе SQL.
Подключение к ней - не проблема.
Создать структуру нужную - тоже.
21. spartak85 23.05.13 12:49 Сейчас в теме
(2) DenisCh,
думал об этом - заморочек больше

(5) ZergKRSK,
так-то оно так... но доп. таю часть не создашь )))

(14) Программист 1С,
вчитайтесь в задание. нужен РЕЕСТР пропусков. а пропуска выписываются НЕ на все РТУ

(18) Dmitr033,
Вы правы, что никаких движений этот документ делать не будет. А если пользователь ошибется при вопросе о добавлении в реестр? Да и потом, какие доп. реквизиты в РТУ? там итак все заполняется :(


виимо, придется екселевский файл крутить
22. ZergKRSK 129 23.05.13 13:02 Сейчас в теме
(21) Спартак, для чего нужна таб часть?
25. spartak85 23.05.13 13:09 Сейчас в теме
(22) ZergKRSK,
там будем номенклатура, которую вывозят. так-то взял бы ее из РТУ, но.. вот смотрите... едет к нам клиент. до нас он еще 10 точек объехал и загрузился. не перебивать же все это в номенклатуру )))))а КПП у нас серьезное. если не будет в пропуске - не выпустят :)
28. ZergKRSK 129 23.05.13 13:13 Сейчас в теме
(25) Спартак, не понял, вы в пропуск должны вбить какую то мнимую номенклатуру еще? Кроме той что вывозят?
30. spartak85 23.05.13 13:15 Сейчас в теме
(28) ZergKRSK,
конечно! смотрите... приехал к нам клиент. у него в кузове УЖЕ есть пара холодильников, 3-4 компа и десяток досок :) все это должно быть в пропуске. а мы ж это не продаем. А складом пользуемся не только мы, там разные конторы и разного рода товар. т.е. все, что было в машине первоначально должно быть в пропуске
32. ZergKRSK 129 23.05.13 13:17 Сейчас в теме
(30) Спартак, охренеть! С вашей фирмы с крутым КПП под шумок можно вывести всё что желаешь! Хочу там работать.
33. spartak85 23.05.13 13:20 Сейчас в теме
(32) ZergKRSK, приезжайте ))) не, на самом деле это отработано десятками лет ))) сейчас переходим с 7-ки на 8-ку и встал вопрос о пропусках
34. kyrasol 51 23.05.13 13:21 Сейчас в теме
(33) А в 7-ке как вы этот вопрос решали?
36. spartak85 23.05.13 13:24 Сейчас в теме
(34) kyrasol, документом "Пропуск"))))) он вводился на основании РТУ плюс дописывалось в таб часть все остальное
35. ZergKRSK 129 23.05.13 13:22 Сейчас в теме
(33) Спартак, на въезде КПП такого клиента его машину досматривают?
37. spartak85 23.05.13 13:25 Сейчас в теме
(35) ZergKRSK,да. но исключительно на предмет отсутствия бомбы и остального подозрительного ))) т.е. если у тебя в багажнике не тикает - велкам))) но на выезде - смотрят досканально
41. ZergKRSK 129 23.05.13 13:27 Сейчас в теме
(37) Спартак, какой кошмар... ладно, это ваши внутренние хохмы. Решайте задачу тогда через внешнее хранилище, варианты уже предлагали...
46. spartak85 23.05.13 13:32 Сейчас в теме
(41) ZergKRSK, угу, я уже сам к этому склоняюсь
29. kyrasol 51 23.05.13 13:14 Сейчас в теме
(25) а вы шутник однако, про то что вам по приезду клиента надо еще и всю его машину инвентаризировать в топике не слово??? да бред, по моему...
ZergKRSK; +1 Ответить
31. spartak85 23.05.13 13:16 Сейчас в теме
(29) kyrasol, ну да, чувствою мора присутствует )))
49. Ibrogim 1313 23.05.13 13:39 Сейчас в теме
(25) Спартак, Нормально так. Новая вводная в 25 посте...
Если вы не используете обмен ЭД, то можно попробовать приспособить для ваших нужд справочник "ЭДПрисоединенныеФайлы". Например делаете АРМ, который от реализации создают напримех mxl файл и записывает его в справочник ЭДПрисоединенныеФайлы.
Получается в справочнике будет храниться реестр ваших печатных форм.
24. kyrasol 51 23.05.13 13:06 Сейчас в теме
(21)доп таб. часть и не надо
1) Добавьте элемент в план видов характеристик "СвойстваОбъектов"
2) При печати находите по коду добавленный элемент из плана, в регистр сведений "ЗначенияСвойствОбъектов" пишите какое-нибудь значение для этого РТУ и найденного элемента плана, например номер пропуска.
3) Во внешнем отчете по этому же регистру и элементу плана найдете все объекты с сохраненными значениями (номерами пропусков), и составляйте реестр, найденных РТУ
27. spartak85 23.05.13 13:10 Сейчас в теме
3. olbanez 23.05.13 08:45 Сейчас в теме
Можно использовать ненужный/неиспользуемый документ.
Например есть документ Партия (ручной учет) или Документ расчетов с контрагентом (ручной учет).
В поле коментарий писать нужную информацию через разделитель.
И никакой внешки.
4. DenisCh 23.05.13 08:47 Сейчас в теме
И никакой внешки.

Так скучно... :-)
5. ZergKRSK 129 23.05.13 08:50 Сейчас в теме
Можно попробовать сделать через дополнительные реквизиты - никаких изменений конфы не потребуется.
6. mar82 23.05.13 08:54 Сейчас в теме
(5) ZergKRSK, Да, кстати, на доп реквизитах - оч элегантно получается... завести доп рек "Номер пропуска" и заполнять его в момент печати...
7. olbanez 23.05.13 09:04 Сейчас в теме
(6) Условие топик стартера - нельзя менять конфигурацию
8. DenisCh 23.05.13 09:04 Сейчас в теме
(7) olbanez, допреквизиты уже есть. Ничего менять не надо.
10. ZergKRSK 129 23.05.13 09:09 Сейчас в теме
(7) olbanez, вы сначала узнайте что такое допреквизиты
9. Dmitr033 131 23.05.13 09:08 Сейчас в теме
Можно воспользоваться внешней обработкой - отчетом, а у выбранных РТУ (где реальный пропуск) ставить соответствующую пометку в дополнительные свойства документа. ИМХО так будет и проще и правильней.

Однако, если добавить новый документ в конфу, это никаким образом не снимет ее с поддержки, и все обновления будут идти штатным образом - нельзя менять существующие доки, а добавлять можно без ограничений.
11. mar82 23.05.13 09:23 Сейчас в теме
(9) Dmitr033, допдокумент с поддержки не снимет, но процесс обновления затронет, так сказать, усложнит его...
Доп. свойство или доп. реквизит в регистре сведений и все норм
18. Dmitr033 131 23.05.13 11:52 Сейчас в теме
(11) mar82, Если просто добавить документ не прописывая его никуда, ни в журналы, ни в меню, то никак не затронет процесс обновления. Правда пользоваться будет не удобно.

Тут ключевой вопрос - зачем нужен этот документ? В настоящий момент этот документ никакого функционала по движению регистров не несет, а значит он лишний. Однако нет штатной процедуры для пометки печатаемых пропусков для автоматизации процесса составления реестра. Отсюда вывод - нужно сделать печатную форму, в которой задать вопрос пользователю о включении в реестр, и при положительном ответе записывать скажем дату печати в дополнительные свойства документа, и дополнительный внешний отчет - который соберет все распечатанные пропуска в реестр.
12. AnryMc 849 23.05.13 09:41 Сейчас в теме
Я бы оставил внешнюю печатную форму, а для реестра - внешний файл или таблица СКУЛя. Сделал документ - отметил, сформировал реестр - удалил...
13. ZergKRSK 129 23.05.13 09:55 Сейчас в теме
(12) AnryMc, для чего внешка если можно всё хранить в самой базе 1с?
15. AnryMc 849 23.05.13 10:03 Сейчас в теме
(13) ZergKRSK, Ну если не снимать "замочек", то хранить в базе не особенно получиться...
19. ZergKRSK 129 23.05.13 11:56 Сейчас в теме
(15) AnryMc, для тех кто в танке
20. AnryMc 849 23.05.13 12:10 Сейчас в теме
(19) ZergKRSK, Согласен. Никогда сам не использовал на практике, поэтому не подумал об этом.
17. kyrasol 51 23.05.13 11:41 Сейчас в теме
Без включения возможности изменения конфигурации нельзя добавить новый объект. А при включении возможности изменения обновление конфигурации уже не будет идти в полностью автоматическом режиме.
Я за вариант с использование доп реквизитов, никаких изменений конфигурации все делается внешних печатных формах и отчетах + вся инфа о том что выписан пропуск на РТУ хранится в самой базе
23. Sabfir 23.05.13 13:02 Сейчас в теме
Автор, чем вам не подходит использование стандартного функционала конфигурации "Доп реквизиты", предложенного пользователем ZergKRSK?
26. spartak85 23.05.13 13:09 Сейчас в теме
(23) Sabfir,
доп. таб. части нету
38. Sabfir 23.05.13 13:25 Сейчас в теме
Типовая БП не справиться с этой задачей
39. Roman100 23.05.13 13:25 Сейчас в теме
Столкнуть лбами того кто запрещает изменять конфу (снимать с поддержки) и того кто хочет документ. Пусть поорут и решат в конце что они хотят. И выдадут тебе нормальное ТЗ.
asved.ru; +1 Ответить
45. spartak85 23.05.13 13:31 Сейчас в теме
(39) Roman100, Кто ж будет ТЗ писать на печатную форму(по сути) )))))
40. kyrasol 51 23.05.13 13:27 Сейчас в теме
а в реестре пропусков должна быть инфа о "дописанных" позициях?
42. ZergKRSK 129 23.05.13 13:28 Сейчас в теме
43. kyrasol 51 23.05.13 13:31 Сейчас в теме
(42)тогда задача усложняется, тогда да, для хранения инфы о "дописанных" позициях, внешнее хранилище использовать надо.... либо включать возможность изменения конфигурации....
55. ant1773 5 23.05.13 13:57 Сейчас в теме
(43) kyrasol,

тогда задача усложняется, тогда да, для хранения инфы о "дописанных" позициях, внешнее хранилище использовать надо.... либо включать возможность изменения конфигурации....


Зачем? Или использовать доп.реквизит "УКлиентаССобойУжеБылоМальца" или как Я предлагал - в РС валить все...

(48) Спартак,

ребят, мне тут мысля в голову пришла... как думаете...
делаем пустую базу(чистую конфу). в ней делаем документ "Пропуск". В бухе - обработка, которая по ком цепляется к этой базе и вводит пропуска, вытаскивает реестры и тд. как думаете, взлетит? )))


Какой кошмар...
Предлагаю еще прямыми запросами вытаскивать.

(51) kyrasol,

если по сути, инфа о позициях которые уже находились в машине вам не нужна для хранения, а только чтобы напечатать ее в пропуске, то и смысла ее хранить нету....


Тоже верно.

(52) Спартак,

ну привыкли люди, что у них все в базе хранится. а сейчас как хочешь - так и выкручивайся )))


Как привыкли, так и отвыкнут. :)
А вариантов как выкрутиться - уже ИМХО диссертацию писать.
44. spartak85 23.05.13 13:31 Сейчас в теме
(40) kyrasol, нет, за день собирают стопку пропусков. реестр имеет следующий вид:
Дата\Номер\Кто выдал\Автомобиль
и пошла таблица.
47. kyrasol 51 23.05.13 13:33 Сейчас в теме
Если, все же в реесте инфа о "дописанных" позициях не нужна, а напрмер, только номер накладной и дата, то можно в печатной форме пропуска выводить только свою номенклатуру и добавлять несколько пустых строк, пусть манагеры вручную вписывают остальное
48. spartak85 23.05.13 13:37 Сейчас в теме
(47) kyrasol, да там манагеры тупее обезьян )))

ребят, мне тут мысля в голову пришла... как думаете...
делаем пустую базу(чистую конфу). в ней делаем документ "Пропуск". В бухе - обработка, которая по ком цепляется к этой базе и вводит пропуска, вытаскивает реестры и тд. как думаете, взлетит? )))
50. Ibrogim 1313 23.05.13 13:40 Сейчас в теме
51. kyrasol 51 23.05.13 13:42 Сейчас в теме
(48)дак, а кто вписывает позиции которые уже были в машине?
если по сути, инфа о позициях которые уже находились в машине вам не нужна для хранения, а только чтобы напечатать ее в пропуске, то и смысла ее хранить нету.... либо пусть от руки дописывают бланк пропуска, либо можно ТЗ прикрутить к печатной форме, что ее заполнили и потом напечатали и ваши позиции и дополнительные....
52. spartak85 23.05.13 13:46 Сейчас в теме
(51) kyrasol, так-то оно так... есть такая штука, как привычка ))) ну привыкли люди, что у них все в базе хранится. а сейчас как хочешь - так и выкручивайся )))
53. kyrasol 51 23.05.13 13:51 Сейчас в теме
(52) тогда пробуйте (48) - должно получиться...
54. spartak85 23.05.13 13:55 Сейчас в теме
(53) kyrasol, если за сегодня более грамотного ничего в голову не придет - так и буду делать
56. imbaZeratul 16 23.05.13 14:16 Сейчас в теме
Без включения возможности изменения конфигурации нельзя добавить новый объект. А при включении возможности изменения обновление конфигурации уже не будет идти в полностью автоматическом режиме.
Я за вариант с использование доп реквизитов, никаких изменений конфигурации все делается внешних печатных формах и отчетах + вся инфа о том что выписан пропуск на РТУ хранится в самой базе

доп реквизиту спасут мир))))))))))
57. GusevNA 360 23.05.13 15:26 Сейчас в теме
А нельзя так сделать: делаем доп.реквизит "Дополнительные_данные_документа" с типом СТРОКА неограниченной длины и внешнюю обработку заполнения табличной части, в которую попадаешь по кнопке ЗАПОЛНИТЬ. При выборе этой обработки открывается форма, которая в ней содержится, там все заполняется, в том числе и таблица, а по ОК записывается в длинную строку в доп.реквизит "Дополнительные_данные_документа" в каком-нибудь формате (можно даже XML сделать). При открытии еще раз этой внешней обработки заполнения ТЧ, из нашего доп.реквизита "Дополнительные_данные_документа" все распаковывается и пишется в форму. А собрать реестр так: берем все доп.реквизиты "Дополнительные_данные_документа" нужных документов, распаковываем и печатаем в печатную форму.

И плюс такого подхода - пользователю не надо заходить в доп.реквизиты, ему вообще не обязательно знать, что это такое.
58. kyrasol 51 24.05.13 05:24 Сейчас в теме
(57) В ПВХ для доп реквизитов тип строка имеет ограничение на кол-во символов, а у нас по условию задачи конфигурацию менять низя
59. ant1773 5 24.05.13 06:04 Сейчас в теме
(58) kyrasol,

Но никто же не мешает использовать сколько угодно допреквизитов.
61. spartak85 24.05.13 07:42 Сейчас в теме
всем спасибо за советы!
делать буду так: на sql сделаю 2 таблицы - шапку и таб часть. обработкой по ADODB буду цепляться к ним и работать.
тему можно закрывать
62. GusevNA 360 24.05.13 09:28 Сейчас в теме
Решение автором по реализации принято. Данный вопрос закрыт, но автор поднял интересный вопрос по теоретической части. Во-первых, БП 2.0 позволяет сделать так: у дополнительного реквизита установить тип СТРОКА переменной длиной 0, что соответствует типу СТОРОКА неограниченной длины. По-хорошему, должна быть проверка на соответствие метаданным, где в ПВХ "СвойстваОбъектов" среди типов значений характеристик стоит строка длиной 150, а такой проверки нет. Ладно, не первый косяк в БП.
Можно, конечно, сделать несколько доп.реквизитов по 150 символов и разбивать длинную строку по ним, но это некрасиво.

Однако, есть еще тип значения дополнительного реквизита: "Произвольный список". Можно попробовать использовать его.
Прикрепленные файлы:
63. GusevNA 360 24.05.13 12:07 Сейчас в теме
Проверил - с произвольным списком тоже не получается - 1С при записи в регистр сведений "Значения дополнительных реквизитов" список к строке преобразует. В итоге остается старое проверенное средство - писать все данные туда, где есть ХранилищеЗначения. Например, в справочник СохраненныеНастройки.
64. AnryMc 849 24.05.13 12:27 Сейчас в теме
(63) GusevNA, "Между" строкой дополнительного реквизита можно попробовать воспользоваться

ЗначениеВСтрокуВнутр
Синтаксис:
ЗначениеВСтрокуВнутр(<Значение>)
Параметры:
<Значение> (обязательный)
Тип: Произвольный.
Преобразуемое значение.
Возвращаемое значение:
Тип: Строка.
Системное представление значения в информационной базе.
Описание:
Получает системное строковое представление переданного значения.
Доступность:
Сервер, толстый клиент, внешнее соединение.
65. GusevNA 360 24.05.13 12:40 Сейчас в теме
(64) AnryMc, Согласен, идея хорошая, я, правда, никогда этой функцией не пользовался. Но в этом случае, если в список засунуть таблицу (а она может быть теоретически какой угодно длинной), то ЗначениеВСтрокуВнутр(<Значение>) вернет очень длинную строку, и она опять не поместится в 150 символов.
66. ant1773 5 24.05.13 12:48 Сейчас в теме
(65) GusevNA, (64) AnryMc,

Или можно разделять строки при записи каким-то символом, гарантированно не используемым в обычном тексте и при получении обратно использовать РазложитьСтрокуВМассивПодстрок(Знач Стр, Разделитель = ",") Экспорт.
Допреквизит же никто не заставляет использовать 1, можно их использовать сколько угодно, в цикле перебирать, пока не влезет вся текстовка.
67. Alex_E 2354 24.05.13 13:10 Сейчас в теме
Сталкивать лбами никого не нужно - всё уже предложено -
1. Конфа типовая
2. Для реализации, по которой выписывается пропуск пишем в доп.реквизит его номер или что ещё
3. Перед печатью пропуска выводим на экран форму с таблицей, гдк добиваем товары, которые в кузове уже лежат (строками или выбором из номенклатуры - тут уж как хотите)
4. При печати записываем в коменнтарий через разделители строки из табличной части пропуска.
5. При печати реестра пропусков отбираем по доп.реквизиту документы с пропусками, а список товаров получаем из табличной части самого документа свои и парсим комментарий - оттуда "чужие"
И ВСЁ :-)
68. GusevNA 360 24.05.13 14:15 Сейчас в теме
(67) Alex_E, Тоже неплохо, но на мой взгляд, через ХранилищеЗначений все-таки красивее. Я тут уже накидал обработку - у меня подобная задача скоро появится Не шедевр, конечно, но идею реализует. Из нее сделать обработку заполнения ТЧ - и можно использовать. На публикацию не потянет, а здесь выложить могу, если кому интересно.
69. GusevNA 360 24.05.13 14:35 Сейчас в теме
(67) Alex_E, Здорово и быстро в реализации! Но поле Комментарий иногда используется. Например, при загрузке откуда-нибудь. Тогда придется править обработки загрузки, если они используются или будут использоваться в дальнейшем.
70. Alex_E 2354 24.05.13 14:53 Сейчас в теме
(69) GusevNA, Я в загрузках не затираю старый комментарий обычно, дописываю, если заполнен, а для маленько скрыть от пользователя, чтоб не затер по дурости случайности можно пару пустых строк воткнуть, что не сразу видно было. Хотя хранилище может и лучше, работать будет и то и то, главное конфа не меняется :-)
71. GusevNA 360 24.05.13 15:05 Сейчас в теме
(70) Alex_E, согласен. У хранения в Хранилище есть огромный недостаток - ничего не отберешь и не увидишь, надо ВСЕ доставать. А вот если в доп.реквизиты писать дату и номер, а все остальное - в Хранилище, тогда удобно выбор делать. Так что, объединив два подхода, получим достаточно универсальное решение.
А насчет хранения любой инфы в комментариях - классная идея, я даже как-то об этом не думал, всегда считал, что он может когда-то использоваться сторонними обработками. Просто нужно следить за этим, и можно делать быстрые решения, когда нужно сохранить много данных.
72. Alex_E 2354 24.05.13 15:31 Сейчас в теме
(71) GusevNA, Не любит народ доп.реквизиты, намедни написал http://infostart.ru/public/188152/ про БП 3.0 - ни одного коммента :-)
73. GusevNA 360 24.05.13 15:55 Сейчас в теме
(72) Alex_E, В принципе, не использовать доп.реквизиты - для кого-то дополнительный заработок :-) Кому-то по незнанию, а кому-то из жадности :-) А если серьезно, надо ветку в форуме завести "Опыт работы с доп.реквизитами и сведениями: плюсы и минусы". Кто-то, может, в первый раз увидит, заценит и будет время считать, сколько потерял, пока не знал, что это такое :-) Так что правильные методы разработки нужно продвигать обязательно.
74. Alex_E 2354 24.05.13 16:24 Сейчас в теме
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот