Создание документа одного типа из разных пунктов меню с предустановленными значениями реквизитов.
Задача.
При настройке интерфейсов пользователей необходимо открывать новый документ с предустановленными значениями реквизитов из разных пунктов меню.
Пример:
- В конфигурации имеется документ «РеализацияТоваровУслуг»
- У документа «РеализацияТоваровУслуг» имеется реквизит «ВидОперации»
- В интерфейсе «Полный» надо создать пункты меню, при использовании которых пользователь будет открывать форму для создания нового документа с предустановленными значениями реквизита «ВидОперации»
Решение.
При решении исходим из того, что под пунктом меню мы можем прописать выполнение любого действия, в том числе и вызов процедуры из общего модуля.
В любом общем модуле конфигурации (лучше в новом общем модуле, который вы создаете сами) добавляем процедуры, которые открывают форму документа «РеализацияТоваровУслуг» с установленным значением вида операции.
Пример кода:
Процедура РеализацияТоваровУслугПродажаКомиссия() Экспорт
//Создать документ "Реализация товаров и услуг" с видом операции "Продажа, комиссия"
НовыйДокумент = Документы.РеализацияТоваровУслуг.СоздатьДокумент();
НовыйДокумент.ВидОперации = Перечисления.ВидыОперацийРеализацияТоваров.ПродажаКомиссия;
ФормаНовогоДокумента = НовыйДокумент.ПолучитьФорму();
ФормаНовогоДокумента.Открыть();
КонецПроцедуры
В интерфейсе «Полный» в главное меню (меню «Документы») добавляем подменю «Реализация товаров и услуг». Создаем пункты меню, которые будут создавать новый документ с установленными значениями реквизита «ВидОперации». При создании данных пунктов в поле действие выбираем наши процедуры. Для каждого действия своя процедура.
В результате мы получаем в интерфейсе «Полный» возможность создавать новый документ с предопределенными значениями реквизита «ВидОперации».
Данный пример рассмотрен на примере типовой конфигурации «Управление торговлей 8» редакция 10.3
Подробная информация с картинками в прикрепленном файле.
Конструктивные комментарии приветствуются, особенно по иным способам решения данной задачи! Не исключаю, что существуют другие публикации на данную тему. Буду весьма благодарен за указание их места расположения.