В модуле менеджера документа в процедуре ДобавитьКомандыСозданияНаОсновании. Комментируем типовую команду и добавляем свою команду. (Если конфигурация типовая без изменений делаем это в расширение).
В обработчик команды прописываем не типовой клиентский модуль
А_ВводНаОснованииКлиент.ЗаявкаНаРасходованиеДенежныхСредствСоздатьНаОснованииЗаказаПоставщикуОбщая
Процедура ДобавитьКомандыСозданияНаОсновании(КомандыСозданияНаОсновании, Параметры) Экспорт
//Документы.ЗаявкаНаРасходованиеДенежныхСредств.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);
КомандаСоздатьНаОсновании = КомандыСозданияНаОсновании.Добавить();
КомандаСоздатьНаОсновании.Менеджер = Метаданные.Документы.ЗаявкаНаРасходованиеДенежныхСредств.ПолноеИмя();
КомандаСоздатьНаОсновании.Представление = ОбщегоНазначенияУТ.ПредставлениеОбъекта(Метаданные.Документы.ЗаявкаНаРасходованиеДенежныхСредств);
КомандаСоздатьНаОсновании.Обработчик = "А_ВводНаОснованииКлиент.ЗаявкаНаРасходованиеДенежныхСредствСоздатьНаОснованииЗаказаПоставщикуОбщая";
КонецПроцедуры
В модуле А_ВводНаОснованииКлиент создаем процедуру
Вариант 1. Открываются заполненные формы новых документов.
Делаем цикл по массиву ВыделенныеСтроки в котором находятся выделенные документы.
Открываем форму передаем в нее параметр заполнения Новый Структура("Основание", ПараметрыОткрытия).
Вся логика заполнения прописана в модуле создаваемого документа в процедуре ОбработкаЗаполнения.
Процедура ЗаявкаНаРасходованиеДенежныхСредствСоздатьНаОснованииЗаказаПоставщикуОбщая(МассивСсылок, ПараметрыВыполнения) Экспорт
Для Каждого Стр Из ПараметрыВыполнения.Источник.ВыделенныеСтроки Цикл
ПараметрыВыполненияКоманды = Новый Структура("Источник,Уникальность,Окно,НавигационнаяСсылка");
ЗаполнитьЗначенияСвойств(ПараметрыВыполненияКоманды, ПараметрыВыполнения.ОписаниеКоманды.ДополнительныеПараметры);
ПараметрыОткрытия = Новый Структура;
ПараметрыОткрытия.Вставить("Основание", Стр);
ОткрытьФорму(
"Документ.ЗаявкаНаРасходованиеДенежныхСредств.Форма.ФормаДокумента",
Новый Структура("Основание", ПараметрыОткрытия),
ПараметрыВыполненияКоманды.Источник,
Новый УникальныйИдентификатор,
ПараметрыВыполненияКоманды.Окно,
ПараметрыВыполненияКоманды.НавигационнаяСсылка);
КонецЦикла;
КонецПроцедуры
В результате получаем:
Вариант 2. Создаем и записываем документы без открытия формы.
Все тоже самое что и в Варианте 1, только вместо открытия формы переходим в не типовой серверный модуль
А_ВводНаОснованииВызовСервера.СоздатьЗаявкаНаРасходованиеДенежныхСредствСоздатьНаОснованииЗаказаПоставщику(ПараметрыОткрытия);
Процедура ЗаявкаНаРасходованиеДенежныхСредствСоздатьНаОснованииЗаказаПоставщикуОбщая(МассивСсылок, ПараметрыВыполнения) Экспорт
Для Каждого Стр Из ПараметрыВыполнения.Источник.ВыделенныеСтроки Цикл
ПараметрыВыполненияКоманды = Новый Структура("Источник,Уникальность,Окно,НавигационнаяСсылка");
ЗаполнитьЗначенияСвойств(ПараметрыВыполненияКоманды, ПараметрыВыполнения.ОписаниеКоманды.ДополнительныеПараметры);
ПараметрыОткрытия = Новый Структура;
ПараметрыОткрытия.Вставить("Основание", Стр);
А_ВводНаОснованииВызовСервера.СоздатьЗаявкаНаРасходованиеДенежныхСредствСоздатьНаОснованииЗаказаПоставщику(ПараметрыОткрытия);
КонецЦикла;
КонецПроцедуры
В модуле А_ВводНаОснованииВызовСервера создаем документ и вызываем функцию Заполнить(ПараметрыОткрытия)
Процедура СоздатьЗаявкаНаРасходованиеДенежныхСредствСоздатьНаОснованииЗаказаПоставщику(ПараметрыОткрытия) Экспорт
ЗаявкаНаРДС = Документы.ЗаявкаНаРасходованиеДенежныхСредств.СоздатьДокумент();
ЗаявкаНаРДС.Дата = ТекущаяДата();
ЗаявкаНаРДС.Заполнить(ПараметрыОткрытия);
Попытка
ЗаявкаНаРДС.Записать(РежимЗаписиДокумента.Проведение);
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(НСтр("ru='Создан документ:'") + ЗаявкаНаРДС.Ссылка);
Исключение
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ОписаниеОшибки());
КонецПопытки;
КонецПроцедуры
В результате получаем:
Тестировал:
1С:Комплексная автоматизация 2 (2.4.9.98)
Платформа 1С:Предприятие 8.3 (8.3.16.1148)