Всем привет!
Помогите разобраться с такой задачей. Есть полностью типовая буха 2.0. При реализации нужно выписывать пропуск на вывоз. Вроде все бы ничего - прикрутил печатную форму к РТУ и всего делов. НО! нач. охраны требует каждое утро реестр пропусков. А пропуска выписываются не на все РТУ.
Весь сок в том, что конфу совсем нельзя снимать с поддержки. Этот вариант даже обсуждаться не будет. Соответственно, возникает идея - сделать документ во внешнем хранилище.
Структура документа простая - 4-5 реквизитов шапки и простенькая таб часть.
Какое хранилище лучше выбрать для такого документа? (файл, БД SQL, хз что еще...)
Главное условие - это должно работать именно как документ(создание, копирование, пометки удаления и тд)
(1) Спартак, создай новую конфигурацию с документом пропуск и прочей лабудой. Через обработку будешь соединяться с базой и изменять/получать данные в нужном объеме. Думаю всем понравиться.
(5) ZergKRSK,
так-то оно так... но доп. таю часть не создашь )))
(14) Программист 1С,
вчитайтесь в задание. нужен РЕЕСТР пропусков. а пропуска выписываются НЕ на все РТУ
(18) Dmitr033,
Вы правы, что никаких движений этот документ делать не будет. А если пользователь ошибется при вопросе о добавлении в реестр? Да и потом, какие доп. реквизиты в РТУ? там итак все заполняется :(
(22) ZergKRSK,
там будем номенклатура, которую вывозят. так-то взял бы ее из РТУ, но.. вот смотрите... едет к нам клиент. до нас он еще 10 точек объехал и загрузился. не перебивать же все это в номенклатуру )))))а КПП у нас серьезное. если не будет в пропуске - не выпустят :)
(28) ZergKRSK,
конечно! смотрите... приехал к нам клиент. у него в кузове УЖЕ есть пара холодильников, 3-4 компа и десяток досок :) все это должно быть в пропуске. а мы ж это не продаем. А складом пользуемся не только мы, там разные конторы и разного рода товар. т.е. все, что было в машине первоначально должно быть в пропуске
(35) ZergKRSK,да. но исключительно на предмет отсутствия бомбы и остального подозрительного ))) т.е. если у тебя в багажнике не тикает - велкам))) но на выезде - смотрят досканально
(25) Спартак, Нормально так. Новая вводная в 25 посте...
Если вы не используете обмен ЭД, то можно попробовать приспособить для ваших нужд справочник "ЭДПрисоединенныеФайлы". Например делаете АРМ, который от реализации создают напримех mxl файл и записывает его в справочник ЭДПрисоединенныеФайлы.
Получается в справочнике будет храниться реестр ваших печатных форм.
(21)доп таб. часть и не надо
1) Добавьте элемент в план видов характеристик "СвойстваОбъектов"
2) При печати находите по коду добавленный элемент из плана, в регистр сведений "ЗначенияСвойствОбъектов" пишите какое-нибудь значение для этого РТУ и найденного элемента плана, например номер пропуска.
3) Во внешнем отчете по этому же регистру и элементу плана найдете все объекты с сохраненными значениями (номерами пропусков), и составляйте реестр, найденных РТУ
Можно использовать ненужный/неиспользуемый документ.
Например есть документ Партия (ручной учет) или Документ расчетов с контрагентом (ручной учет).
В поле коментарий писать нужную информацию через разделитель.
И никакой внешки.
Можно воспользоваться внешней обработкой - отчетом, а у выбранных РТУ (где реальный пропуск) ставить соответствующую пометку в дополнительные свойства документа. ИМХО так будет и проще и правильней.
Однако, если добавить новый документ в конфу, это никаким образом не снимет ее с поддержки, и все обновления будут идти штатным образом - нельзя менять существующие доки, а добавлять можно без ограничений.
(9) Dmitr033, допдокумент с поддержки не снимет, но процесс обновления затронет, так сказать, усложнит его...
Доп. свойство или доп. реквизит в регистре сведений и все норм
(11) mar82, Если просто добавить документ не прописывая его никуда, ни в журналы, ни в меню, то никак не затронет процесс обновления. Правда пользоваться будет не удобно.
Тут ключевой вопрос - зачем нужен этот документ? В настоящий момент этот документ никакого функционала по движению регистров не несет, а значит он лишний. Однако нет штатной процедуры для пометки печатаемых пропусков для автоматизации процесса составления реестра. Отсюда вывод - нужно сделать печатную форму, в которой задать вопрос пользователю о включении в реестр, и при положительном ответе записывать скажем дату печати в дополнительные свойства документа, и дополнительный внешний отчет - который соберет все распечатанные пропуска в реестр.
Без включения возможности изменения конфигурации нельзя добавить новый объект. А при включении возможности изменения обновление конфигурации уже не будет идти в полностью автоматическом режиме.
Я за вариант с использование доп реквизитов, никаких изменений конфигурации все делается внешних печатных формах и отчетах + вся инфа о том что выписан пропуск на РТУ хранится в самой базе
Столкнуть лбами того кто запрещает изменять конфу (снимать с поддержки) и того кто хочет документ. Пусть поорут и решат в конце что они хотят. И выдадут тебе нормальное ТЗ.
(42)тогда задача усложняется, тогда да, для хранения инфы о "дописанных" позициях, внешнее хранилище использовать надо.... либо включать возможность изменения конфигурации....
тогда задача усложняется, тогда да, для хранения инфы о "дописанных" позициях, внешнее хранилище использовать надо.... либо включать возможность изменения конфигурации....
Зачем? Или использовать доп.реквизит "УКлиентаССобойУжеБылоМальца" или как Я предлагал - в РС валить все...
ребят, мне тут мысля в голову пришла... как думаете...
делаем пустую базу(чистую конфу). в ней делаем документ "Пропуск". В бухе - обработка, которая по ком цепляется к этой базе и вводит пропуска, вытаскивает реестры и тд. как думаете, взлетит? )))
Какой кошмар...
Предлагаю еще прямыми запросами вытаскивать.
если по сути, инфа о позициях которые уже находились в машине вам не нужна для хранения, а только чтобы напечатать ее в пропуске, то и смысла ее хранить нету....
Если, все же в реесте инфа о "дописанных" позициях не нужна, а напрмер, только номер накладной и дата, то можно в печатной форме пропуска выводить только свою номенклатуру и добавлять несколько пустых строк, пусть манагеры вручную вписывают остальное
ребят, мне тут мысля в голову пришла... как думаете...
делаем пустую базу(чистую конфу). в ней делаем документ "Пропуск". В бухе - обработка, которая по ком цепляется к этой базе и вводит пропуска, вытаскивает реестры и тд. как думаете, взлетит? )))
(48)дак, а кто вписывает позиции которые уже были в машине?
если по сути, инфа о позициях которые уже находились в машине вам не нужна для хранения, а только чтобы напечатать ее в пропуске, то и смысла ее хранить нету.... либо пусть от руки дописывают бланк пропуска, либо можно ТЗ прикрутить к печатной форме, что ее заполнили и потом напечатали и ваши позиции и дополнительные....
(51) kyrasol, так-то оно так... есть такая штука, как привычка ))) ну привыкли люди, что у них все в базе хранится. а сейчас как хочешь - так и выкручивайся )))
Без включения возможности изменения конфигурации нельзя добавить новый объект. А при включении возможности изменения обновление конфигурации уже не будет идти в полностью автоматическом режиме.
Я за вариант с использование доп реквизитов, никаких изменений конфигурации все делается внешних печатных формах и отчетах + вся инфа о том что выписан пропуск на РТУ хранится в самой базе
А нельзя так сделать: делаем доп.реквизит "Дополнительные_данные_документа" с типом СТРОКА неограниченной длины и внешнюю обработку заполнения табличной части, в которую попадаешь по кнопке ЗАПОЛНИТЬ. При выборе этой обработки открывается форма, которая в ней содержится, там все заполняется, в том числе и таблица, а по ОК записывается в длинную строку в доп.реквизит "Дополнительные_данные_документа" в каком-нибудь формате (можно даже XML сделать). При открытии еще раз этой внешней обработки заполнения ТЧ, из нашего доп.реквизита "Дополнительные_данные_документа" все распаковывается и пишется в форму. А собрать реестр так: берем все доп.реквизиты "Дополнительные_данные_документа" нужных документов, распаковываем и печатаем в печатную форму.
И плюс такого подхода - пользователю не надо заходить в доп.реквизиты, ему вообще не обязательно знать, что это такое.
всем спасибо за советы!
делать буду так: на sql сделаю 2 таблицы - шапку и таб часть. обработкой по ADODB буду цепляться к ним и работать.
тему можно закрывать
Решение автором по реализации принято. Данный вопрос закрыт, но автор поднял интересный вопрос по теоретической части. Во-первых, БП 2.0 позволяет сделать так: у дополнительного реквизита установить тип СТРОКА переменной длиной 0, что соответствует типу СТОРОКА неограниченной длины. По-хорошему, должна быть проверка на соответствие метаданным, где в ПВХ "СвойстваОбъектов" среди типов значений характеристик стоит строка длиной 150, а такой проверки нет. Ладно, не первый косяк в БП.
Можно, конечно, сделать несколько доп.реквизитов по 150 символов и разбивать длинную строку по ним, но это некрасиво.
Однако, есть еще тип значения дополнительного реквизита: "Произвольный список". Можно попробовать использовать его.
Проверил - с произвольным списком тоже не получается - 1С при записи в регистр сведений "Значения дополнительных реквизитов" список к строке преобразует. В итоге остается старое проверенное средство - писать все данные туда, где есть ХранилищеЗначения. Например, в справочник СохраненныеНастройки.
(64) AnryMc, Согласен, идея хорошая, я, правда, никогда этой функцией не пользовался. Но в этом случае, если в список засунуть таблицу (а она может быть теоретически какой угодно длинной), то ЗначениеВСтрокуВнутр(<Значение>) вернет очень длинную строку, и она опять не поместится в 150 символов.
Или можно разделять строки при записи каким-то символом, гарантированно не используемым в обычном тексте и при получении обратно использовать РазложитьСтрокуВМассивПодстрок(Знач Стр, Разделитель = ",") Экспорт.
Допреквизит же никто не заставляет использовать 1, можно их использовать сколько угодно, в цикле перебирать, пока не влезет вся текстовка.
Сталкивать лбами никого не нужно - всё уже предложено -
1. Конфа типовая
2. Для реализации, по которой выписывается пропуск пишем в доп.реквизит его номер или что ещё
3. Перед печатью пропуска выводим на экран форму с таблицей, гдк добиваем товары, которые в кузове уже лежат (строками или выбором из номенклатуры - тут уж как хотите)
4. При печати записываем в коменнтарий через разделители строки из табличной части пропуска.
5. При печати реестра пропусков отбираем по доп.реквизиту документы с пропусками, а список товаров получаем из табличной части самого документа свои и парсим комментарий - оттуда "чужие"
И ВСЁ :-)
(67) Alex_E, Тоже неплохо, но на мой взгляд, через ХранилищеЗначений все-таки красивее. Я тут уже накидал обработку - у меня подобная задача скоро появится Не шедевр, конечно, но идею реализует. Из нее сделать обработку заполнения ТЧ - и можно использовать. На публикацию не потянет, а здесь выложить могу, если кому интересно.
(67) Alex_E, Здорово и быстро в реализации! Но поле Комментарий иногда используется. Например, при загрузке откуда-нибудь. Тогда придется править обработки загрузки, если они используются или будут использоваться в дальнейшем.
(69) GusevNA, Я в загрузках не затираю старый комментарий обычно, дописываю, если заполнен, а для маленько скрыть от пользователя, чтоб не затер по дурости случайности можно пару пустых строк воткнуть, что не сразу видно было. Хотя хранилище может и лучше, работать будет и то и то, главное конфа не меняется :-)
(70) Alex_E, согласен. У хранения в Хранилище есть огромный недостаток - ничего не отберешь и не увидишь, надо ВСЕ доставать. А вот если в доп.реквизиты писать дату и номер, а все остальное - в Хранилище, тогда удобно выбор делать. Так что, объединив два подхода, получим достаточно универсальное решение.
А насчет хранения любой инфы в комментариях - классная идея, я даже как-то об этом не думал, всегда считал, что он может когда-то использоваться сторонними обработками. Просто нужно следить за этим, и можно делать быстрые решения, когда нужно сохранить много данных.
(72) Alex_E, В принципе, не использовать доп.реквизиты - для кого-то дополнительный заработок :-) Кому-то по незнанию, а кому-то из жадности :-) А если серьезно, надо ветку в форуме завести "Опыт работы с доп.реквизитами и сведениями: плюсы и минусы". Кто-то, может, в первый раз увидит, заценит и будет время считать, сколько потерял, пока не знал, что это такое :-) Так что правильные методы разработки нужно продвигать обязательно.