Книга знаний

1С:Предприятие / Объекты конфигурации / Справочники

Использование ссылки нового объекта

У нового объекта свойство Ссылка пустое, пока его не запишут в БД. Однако еще до первой записи объекта ему можно назначить и получить ссылку нового.Автор статьи: acsent | Редакторы: Neutron, TormozIT, Pashkaa
Последняя редакция №8 от 11.11.13 | История
URL: http://kb.mista.ru/article.php?id=320

Ключевые слова: Запись, Справочник, ЭтоНовый, Новый, УстановитьСсылкуНового, ПолучитьСсылкуНового


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

Следует отметить, что полученная таким образом ссылка в случае нового объекта не будет гарантированной, т.к. запись объекта в БД может и не произойти. Поэтому такой прием рекомендуется применять только внутри транзакции.
Закладка

Описание | Рубрикатор | Поиск | ТелепатБот | Захваченные статьи | Установки | Форум
© Станислав Митичкин (Волшебник), 2005-2011 | Mista.ru

Яндекс.Метрика