Примеры копирования структуры и данных

Примеры копирования структуры и данных на языке программирования 1С:Предприятие. Примеры позволяют быстро разобраться в вопросе и использовать код в своих разработках

Копирование структуры справочника

// Копирование структуры справочника
Процедура КопироватьСтруктуруСправочника(Источник, ЦелевойСправочник)
ЦиклПоЭлементам(Источник)
Элемент = Источник.ПолучитьЭлемент(ТекущийЭлемент);
НовыйЭлемент = ЦелевойСправочник.СоздатьЭлемент();
НовыйЭлемент.Наименование = Элемент.Наименование;
НовыйЭлемент.Код = Элемент.Код;
НовыйЭлемент.ПолучитьРасширенноеПоля();
НовыйЭлемент.Записать();
КонецЦикла;
КонецПроцедуры

Копирование данных регистра сведений

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

Копирование записей регистра накопления

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

Копирование произвольных данных в произвольные регистры

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

Поделиться с друзьями
Smirnov code
Добавить комментарий