Итак, почти во всех документах существует поле "Комментарий" для введения произвольной информации, описывающей что-либо, относящееся к данному документу. Рано или поздно возникает желание "причесать" процедуру ввода разномастных данных в это поле. Причины? Могут быть совершенно разными... Например, менеджеры пихают туда информацию, которая им "облегчает" работу с документом - т.е. для них это какая-то значимая информация, но для всех других - полная абракадабра...
Поэтому приводим все в порядок следующим образом:
1. оставляем возможность ручного ввода произвольной информации;
2. предоставляем возможность ввода предопределенных значений "одним кликом";
3. представляем возможность манипуляции со списком предопределенных значений: добавление/удалений в список, сохранение списка между сеансами.
В модуле формы документа описываем "хранилище" формализованных причин возвратов - это будет обычный список значений строк. В самом начале модуля, в разделе объявления локальных переменных модуля формы, пишем:
Описание переменных
если восстановить не удалось - значит, такого списка еще нет, тогда создаем его:
При открытии восстанавливаем список
Кнопка для выбора из списка
гл_ОбработкаТиповогоШаблона(СЗ_ПричинаВозврата, Комментарий, "типовую причину возврата",КаталогИб() + "СЗ_ПричинаВозврата.cfg");
Свойства кнопки
Процедура поддержки списка
После внедрения описанного выше метода работа для менеджеров значительно упрощается: на начальном этапе эксплуатации постепенно формируется состав списка, по мере формирования списка - становитсявсе легче и быстрее вводить данные.
Список нам помогает быстро ввести данные
2. Немного "расширив" предлагаемый вариант (в сторону вложенных списков) можно легко организовать ввод типизированных шаблонных значений в наименования товаров, клиентов и пр.
Надеюсь, кому-то статья поможет... или натолкнет на правильные решения...
Приношу извинения за код в виде рисунков: если вводить его в виде текста - вообще нечитабельный получается. Как только редакторы поправят возможности оформления кода программы - приведу текстовый код.