gifts2017

[ОБУЧАЛОВКА] Быстрый ввод произвольных данных в текстовые поля

Опубликовал Сергей (Che) Коцюра (CheBurator) в раздел Программирование - Практика программирования

Решение задачи простой формализации ввода данных в текстовые поля. Когда становится понятно, что надо приводить к единому виду всякую абракадабру, которую менеджеры пишут непонятно для кого. Упрощаем и унифицируем ввод данных без изменения схемы данных конфигурации, с использованием шаблонов.
Рассмотрим на примере заполнения поля "Комментарий" (как наиболее часто используемого для ввода произвольной информации). Задача стоит одна - хоть это поле (Комментарий) и предназначено для ввода произвольной информации - попытаемся все-таки немного "дисциплинировать" операторов и организуем "упорядоченный" ввод произвольной информации. Как показал опыт - вводимая произвольная информация становится более структурированной, легче поддается анализу и пониманию да и просто сокращается время ввода данных.

Итак, почти во всех документах существует поле "Комментарий" для введения произвольной информации, описывающей что-либо, относящееся к данному документу. Рано или поздно возникает желание "причесать" процедуру ввода разномастных данных в это поле. Причины? Могут быть совершенно разными... Например, менеджеры пихают туда информацию, которая им "облегчает" работу с документом - т.е. для них это какая-то значимая информация, но для всех других - полная абракадабра...

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

Описание переменных
При открытии формы восстанавливаем сохраненный ранее список.
если восстановить не удалось - значит, такого списка еще нет, тогда создаем его:

При открытии восстанавливаем список
Рядом с полем, ввод в которое будем "формализовать" (пусть это будет реквизит "Комментарий" - строка неограниченной длины) вешаем кнопочку [...] - выбор из шаблона

Кнопка для выбора из списка
В формулу этой кнопочки вставляем вызов глобальной процедуры, которая осуществляет все действия со списком:
гл_ОбработкаТиповогоШаблона(СЗ_ПричинаВозврата, Комментарий, "типовую причину возврата",КаталогИб() + "СЗ_ПричинаВозврата.cfg");

Свойства кнопки
В глобальном модуле описываем необходимую процедуру, которая поддерживает все действия, необходимые для ведения списка. Процедура имеет примерно такой вид:

Процедура поддержки списка
Вот, собственно и все.
После внедрения описанного выше метода работа для менеджеров значительно упрощается: на начальном этапе эксплуатации постепенно формируется состав списка, по мере формирования списка - становитсявсе легче и быстрее вводить данные.

Список нам помогает быстро ввести данные
1. Не надо бросаться в крайность: вводить в шаблоны все возможные варианты произвольных формулировок и пояснений.
2. Немного "расширив" предлагаемый вариант (в сторону вложенных списков) можно легко организовать ввод типизированных шаблонных значений в наименования товаров, клиентов и пр.

Надеюсь, кому-то статья поможет... или натолкнет на правильные решения...

Приношу извинения за код в виде рисунков: если вводить его в виде текста - вообще нечитабельный получается. Как только редакторы поправят возможности оформления кода программы - приведу текстовый код.

См. также

Подписаться Добавить вознаграждение
Комментарии
1. ineoosaki (ineoosaki) 04.06.09 19:08
плюсану, потому как пользуюсь...
skunk_@mail.ru; +1 Ответить
2. skunk (skunk_@mail.ru) 12.06.09 08:52
черт подери не туда плюсу нажал )))
3. Сергей (Che) Коцюра (CheBurator) 12.06.09 18:26