Создаем новую дополнительную обработку, в модуле пишем:
Функция СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации = Новый Структура;
МассивНазначений = Новый Массив;
МассивНазначений.Добавить("Документ.ОтчетПроизводстваЗаСмену");
ПараметрыРегистрации.Вставить("Вид", "СозданиеСвязанныхОбъектов");
ПараметрыРегистрации.Вставить("Назначение", МассивНазначений);
ПараметрыРегистрации.Вставить("Наименование", "СозданиеДокППЗизОПС");
ПараметрыРегистрации.Вставить("Версия", "1.0");
ПараметрыРегистрации.Вставить("БезопасныйРежим", Ложь);
ПараметрыРегистрации.Вставить("Информация", "Создание документа Передача продукции заказчику на основании Отчета производства за смену");
ТаблицаКоманд = ПолучитьТаблицуКоманд();
ДобавитьКоманду(ТаблицаКоманд,
"СоздатьДокПередачаПродукцииЗаказчику",
"СоздатьДокПередачаПродукцииЗаказчику",
"ВызовКлиентскогоМетода",
Истина);
ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);
Возврат ПараметрыРегистрации;
КонецФункции
Функция ПолучитьТаблицуКоманд()
Команды = Новый ТаблицаЗначений;
Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка"));
Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка"));
Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка"));
Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево"));
Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка"));
Возврат Команды;
КонецФункции
Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Истина, Модификатор = "")
НоваяКоманда = ТаблицаКоманд.Добавить();
НоваяКоманда.Представление = Представление;
НоваяКоманда.Идентификатор = Идентификатор;
НоваяКоманда.Использование = Использование;
НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
НоваяКоманда.Модификатор = Модификатор;
КонецПроцедуры
Теперь создаем любую форму и в ней пишем код:
//Необходима для открытия нужного вида документа
&НаСервере
Функция ПарамФорм()
ПараметрыФормы = Новый Структура("Свойство, ИзменитьВидОперации, ЗначенияЗаполнения");
ПараметрыФормы.Свойство = "ИзменитьВидОперации";
ПараметрыФормы.ИзменитьВидОперации = Истина;
ПараметрыФормы.ЗначенияЗаполнения = новый Структура("ВидОперации");
ПараметрыФормы.ЗначенияЗаполнения.ВидОперации = Перечисления.ВидыОперацийПередачаТоваров.ИзПереработки;
Возврат ПараметрыФормы;
КонецФункции
&НаСервере
Процедура СоздатьНовыйДокумент(Элемент,НовыйОбъект)
Основание = Элемент.Ссылка;
НовыйОбъект.Дата = Основание.Дата;
НовыйОбъект.Склад = Основание.Склад;
Для Каждого Стр из Основание.Продукция Цикл
НовСтр = НовыйОбъект.Товары.Добавить();
НовСтр.Номенклатура = Стр.Номенклатура;
НовСтр.Количество = Стр.Количество;
КонецЦикла;
КонецПроцедуры
&НаКлиенте
Процедура ВыполнитьКоманду(ИдентификаторКоманды, ОбъектыНазначенияМассив, СозданныеОбъекты) Экспорт
Для каждого Элемент из ОбъектыНазначенияМассив Цикл
ФормаДок = ПолучитьФорму("Документ.ПередачаТоваров.Форма.ФормаДокументаОбщая",ПарамФорм());
ДанныеФормы = ФормаДок.Объект;
СоздатьНовыйДокумент(Элемент,ДанныеФормы);
КопироватьДанныеФормы(ДанныеФормы,ФормаДок.Объект);
ФормаДок.Открыть();
КонецЦикла;
КонецПроцедуры
Все, сохраняем и подключаем, конечно тут нету связи документов в данном варианте нет, но что бы не заполнять ручками повседневные задачи подойдет.
Подключать как обычную внешнюю обработку.
Работает на Бухгалтерия предприятия, редакция 3.0 (3.0.67.54) (как на файловой, так и на sql версии).