1с скопировать документ программно

Обновлено: 07.07.2024


1С 8.3 Копирование данных документа из источника в приемник


Процедура предназначена для программного копирования содержимого реквизитов и/или табличных частей из одного документа (источника) в другой документ (приёмник). В параметры процедуры передаем документ-приёмник (из которого будем копировать реквизиты и/или табличные части) и документ-источник (куда будем вставлять реквизиты и/или табличные части ).
В параметр СвойстваВключаемые можно передать строку с перечнем имён реквизитов (через запятую) которые будут скопированы, если параметр оставить пустым - то будут скопированы все реквизиты/табличные части. В параметр СвойстваИсключаемые можно передать строку с перечнем имён реквизитов (через запятую) которые будут исключены (не будут скопированы), если параметр оставить пустым - то будут скопированы все реквизиты/табличные части без исключений. Копирование данных документа из источника в приемник 1С 8.3:

&НаСервере
Процедура КопированиеДанныхДокумента ( ДокументПриемник , ДокументИсточник , СвойстваВключаемые = "" , СвойстваИсключаемые = "" )

//МетаданныеДокумента = ДокументИсточник.Метаданные();
Попытка
МетаданныеДокумента = ДокументИсточник . Метаданные ();
Исключение
МетаданныеДокумента = ДокументПриемник . Метаданные ();
КонецПопытки;

ЗаполнитьЗначенияСвойств ( ДокументПриемник , ДокументИсточник , СвойстваВключаемые , СвойстваИсключаемые );

Для Каждого ТаблЧасть Из МетаданныеДокумента . ТабличныеЧасти Цикл
ИмяТаблЧасти = ТаблЧасть . Имя ;

ДокументПриемник [ ИмяТаблЧасти ]. Очистить ();
Для Каждого ТекСтрИсточника Из ДокументИсточник [ ИмяТаблЧасти ] Цикл
НоваяСтрокаПриемника = ДокументПриемник [ ИмяТаблЧасти ]. Добавить ();
ЗаполнитьЗначенияСвойств ( НоваяСтрокаПриемника , ТекСтрИсточника , СвойстваВключаемые , СвойстваИсключаемые )
КонецЦикла
КонецЦикла
// Объект копируемого документа не записывается, действия по записи и проведению документа производятся вне процедуры

Читайте также: