Проектируя одно решение столкнулся с интересным требованием заказчика – реализовать возможность сохранения «черновика» мастера действия при его заполнении. Такой механизм будет полезен если при заполнении мастера действий есть несколько шаблонных вариантов, в которых необходимо изменять только небольшую часть данных. На первом шаге пользователь выбирает шаблон, а затем заполняет только небольшую часть недостающих данных.
В данной статье хочу описать один из вариантов решения данного требования. В конечном итоге в решении выбрали другой вариант реализации, но чтобы не терять идею решил сохранить её на память на клабе. Может кому и пригодится. Всё что описано ниже это концепт
решения.
Для хранения данных шаблонов/черновиков мастеров действий создаем справочник WizardData.
Что хранится в справочнике думаю ясно по заголовкам реквизитов.
При запуске мастера действия, на первом шаге необходимо обеспечить выбор записи из справочника WizardData и заполнить мастер данными из выбранного шаблона. Перед показом справочника WizardData его нужно отфильтровать по коду мастера действий, автору или НОР. Если фильтровать по автору, то будут видны записи справочника, которые сформировал один пользователь (механизм черновиков). Если фильтровать по НОР, то можно показывать шаблоны созданные ранее другими пользователями.
Для работы решения необходимо создать ряд функций:
Для того чтобы решение заработало осталось вставить созданные функции в правильные места. А именно:
Авторизуйтесь, чтобы написать комментарий