1С 8.3 Копирование данных документа из источника в приемник
Данные > Примеры кода 1С > 1С 8.3 Документы
Перейти в раздел примеры кода 1С 8.3:

Процедура предназначена для программного копирования содержимого реквизитов и/или табличных частей из одного документа (источника) в другой документ (приёмник). В параметры процедуры передаем документ-приёмник (из которого будем копировать реквизиты и/или табличные части) и документ-источник (куда будем вставлять реквизиты и/или табличные части).
В параметр СвойстваВключаемые можно передать строку с перечнем имён реквизитов (через запятую) которые будут скопированы, если параметр оставить пустым - то будут скопированы все реквизиты/табличные части.
В параметр СвойстваИсключаемые можно передать строку с перечнем имён реквизитов (через запятую) которые будут исключены (не будут скопированы), если параметр оставить пустым - то будут скопированы все реквизиты/табличные части без исключений.
Копирование данных документа из источника в приемник 1С 8.3:
&НаСервере
Процедура КопированиеДанныхДокумента(ДокументПриемник, ДокументИсточник, СвойстваВключаемые="", СвойстваИсключаемые="")
//МетаданныеДокумента = ДокументИсточник.Метаданные();
Попытка
МетаданныеДокумента = ДокументИсточник.Метаданные();
Исключение
МетаданныеДокумента = ДокументПриемник.Метаданные();
КонецПопытки;
ЗаполнитьЗначенияСвойств(ДокументПриемник, ДокументИсточник, СвойстваВключаемые, СвойстваИсключаемые);
Для Каждого ТаблЧасть Из МетаданныеДокумента.ТабличныеЧасти Цикл
ИмяТаблЧасти = ТаблЧасть.Имя;
ДокументПриемник[ИмяТаблЧасти].Очистить();
Для Каждого ТекСтрИсточника Из ДокументИсточник[ИмяТаблЧасти] Цикл
НоваяСтрокаПриемника = ДокументПриемник[ИмяТаблЧасти].Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрокаПриемника, ТекСтрИсточника, СвойстваВключаемые, СвойстваИсключаемые)
КонецЦикла
КонецЦикла
// Объект копируемого документа не записывается, действия по записи и проведению документа производятся вне процедуры
КонецПроцедуры
Процедура КопированиеДанныхДокумента(ДокументПриемник, ДокументИсточник, СвойстваВключаемые="", СвойстваИсключаемые="")
//МетаданныеДокумента = ДокументИсточник.Метаданные();
Попытка
МетаданныеДокумента = ДокументИсточник.Метаданные();
Исключение
МетаданныеДокумента = ДокументПриемник.Метаданные();
КонецПопытки;
ЗаполнитьЗначенияСвойств(ДокументПриемник, ДокументИсточник, СвойстваВключаемые, СвойстваИсключаемые);
Для Каждого ТаблЧасть Из МетаданныеДокумента.ТабличныеЧасти Цикл
ИмяТаблЧасти = ТаблЧасть.Имя;
ДокументПриемник[ИмяТаблЧасти].Очистить();
Для Каждого ТекСтрИсточника Из ДокументИсточник[ИмяТаблЧасти] Цикл
НоваяСтрокаПриемника = ДокументПриемник[ИмяТаблЧасти].Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрокаПриемника, ТекСтрИсточника, СвойстваВключаемые, СвойстваИсключаемые)
КонецЦикла
КонецЦикла
// Объект копируемого документа не записывается, действия по записи и проведению документа производятся вне процедуры
КонецПроцедуры
0
отзывы
____________________
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник