IE2017

Универсальная обработка Ввод на основании

Обработки - Обработка документов

Обработка позволяет на основании документа любого типа создать и заполнить другой документ любого типа, имея одинаковые реквизиты и табличные части. Обычные формы.

Поставлено задание в некоторых документах добавить возможность вводить на основании другие типы документов.

Не хотелось залезать в недра добавления документов на основании, и решил обработку основания реализовать в обработке.

Обработку можно запускать как внешнюю, так и встроить в конфигурацию.

Для подключения обработки в конфигурацию я сделал:

  • Добавил в конфигурацию обработку ВвестиНаОсновании.epf
  • Вызов обработки повесил на Кнопку, которую  я поместил в списке нужного мне документа в Элемент панели – Действие – На основании
  • А в обработчике нажатия кнопки уже вызвал обработку
Процедура ДействияФормыВводНаОсновании(Кнопка)   

         Если ЭлементыФормы.Список.ТекущаяСтрока <> Неопределено Тогда

                 ВвестиНаОсновании = Обработки.ВвестиНаОсновании.Создать();

                 Форма = ВвестиНаОсновании.ПолучитьФорму("Форма");

                

                 ВвестиНаОсновании.Источник = ЭлементыФормы.Список.ТекущаяСтрока;

                 Форма.Открыть();

         КонецЕсли;      

КонецПроцедуры

Для работы с обработкой, если она открывается как внешняя обработка, запускаем обработку в Источнике выбираем тип документа, потом сам документ, которые будет основание, а в Приемнике нужно выбрать только тип документа, который создается на основании источника и нажать Выполнить. После этого будет открыт документ, который создался на основании где можно уже непосредственно проводить его.

В коде банальщина.

Сначала через ЗаполнитьЗначенияСвойств() мы заполняем реквизиты документа, а потом через метаданные обходим каждую табличную часть Источника и проверяем есть ли она в Приемнике, если есть, обходим строки табличной части Источника и добавляем через ЗаполнитьЗначенияСвойств() в документ Приемник аналогичную строку Источника.
Соответственно, заполняются только те реквизиты объекта и табличных частей, которые присутствуют в Источнике и Приемнике.

Скачать файлы

Наименование Файл Версия Размер
Ввести на основании
.epf 6,53Kb
12.12.16
15
.epf 6,53Kb 15 Скачать

См. также

Комментарии
1. Александр Дмитриев (МимохожийОднако) 116 14.12.16 08:34 Сейчас в теме
Во многих типовых конфигурациях по кнопке Изменить в табличной части есть возможность заполнения из различных документов. Достаточно обучить пользователя. Но и данный подход имеет право на существование.
2. Игорь Герман (German_Tagil) 4 15.12.16 15:11 Сейчас в теме
Почти год назад я выложил http://infostart.ru/public/460032/
обработка которая позволяла выборочно копировать
через табличные части + сохранять в файл и копировать из файла (те когда надо было что-то восстановить из копии получалось достаточно быстро)
но как-то не задалось хотя вроде все тоже самое
Оставьте свое сообщение