v8: Запись подчиненных одновременно с владельцем Ключевые слова: Запись, справочник, подчиненный, владелец, УстановитьСсылкуНового
Раасотрим пример создания элемента справочника Кнтрагенты, с одновременной записью основного договора
//
НачатьТранзакцию();
СсылкаКонтрагент = Справочники.контрагенты.ПолучитьСсылкуНового();
ОбъектКонтрагент = Справочники.контрагенты.СоздатьЭлемент();
ОбъектКонтрагент.УстановитьСсылкуНового(СсылкаКонтрагент);
ОбъектКонтрагент.Наименование = "Новый контрагент";
ОбъектДоговор = Справочники.ДоговорыКонтрагентов.СоздатьЭлемент();
ОбъектДоговор.Владелец = СсылкаКонтрагент;
//Хоть мы и установили владельца, но он пока пустой, поэтому включим режим обмена данными
//Обработка этого режим должна прописысываться ручками,в модуле объекта
//для типовых это так и есть
ОбъектДоговор.ОбменДанными.Загрузка = Истина;
ОбъектДоговор.Записать();
ОбъектКонтрагент.ОсновнойДоговорКонтрагента = ОбъектДоговор.Ссылка;
Попытка
ОбъектКонтрагент.Записать();
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
КонецПопытки;
Транзакция используется для того, чтобы в случае неудачной записи контрагента, договор тоже не записался |