Уведомления
Очистить все

Как скопировать объект программно в 1С8?

1 Записи
1 Пользователи
0 Likes
1,196 Просмотры
151-150 Okolokompa Форум
(@anonim)
Trusted Member
Присоединился: 4 года назад
Записи: 25
Создатель темы  

Во встроенном языке 1С:Предприятие 8 есть два способа программного копирования объектов информационной базы (элементов справочников, документов и т.п.):

Если не требуется открывать форму нового объекта

У каждого объекта или ссылки на объект есть метод Скопировать(), который возвращает копию объекта:

НовыйОбъект = СсылкаНаОбъект.Скопировать();
НовыйОбъект.Записать();

Обратите внимание, что создаваемая копия объекта на момент завершения метода еще не записана в базу.

Если требуется открыть форму нового объекта

Если необходимо скопировать и открыть форму нового объекта, предыдущий метод будет некорректным, т.к. пользователь должен иметь возможность отказаться от сохранения объекта. В таком случае нужно воспользоваться параметром ЗначениеКопирования формы объекта:

ПараметрыФормы = Новый Структура("ЗначениеКопирования", СсылкаНаОбъект);
ОткрытьФорму("Справочник.Номенклатура.ФормаОбъекта", ПараметрыФормы);

При необходимости, пользователь сможет сохранить новый объект или отказать от его сохранения

Указанные решения справедливы при копировании элементов справочников, документов, а также других объектов ссылочного типа.

Автор: Александр К. Сайт: about1c.ru


   
Цитата
Поделиться: