| 0
    
        dave2000   18.11.16✎ 12:08 | 
        Есть общая форма констант с основным реквизитом "НаборКонстант". В наборе есть константа "ОсновнаяОрганизация", которая выведена в одноименный реквизит на форму. При нажатии кнопки "Записать", необходимо проверить на заполненность этого реквизита, и заполнить его организацией из справочника. Делаю так:
 &НаСервере
 Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
 
 Если НЕ ЗначениеЗаполнено(НаборКонстант.ОснованяОрганизация) Тогда
 Запрос = Новый Запрос;
 Запрос.Текст =
 "ВЫБРАТЬ
 |    Организации.Ссылка
 |ИЗ
 |    Справочник.Организации КАК Организации
 |ГДЕ
 |    НЕ Организации.ПометкаУдаления";
 
 Выборка = Запрос.Выполнить().Выбрать();
 Если Выборка.Количество() = 1 И Выборка.Следующий() Тогда
 НашОбъект = ДанныеФормыВЗначение(НаборКонстант, Тип("КонстантыНабор"));
 НашОбъект.ОснованяОрганизация = Выборка.Ссылка;
 ЗначениеВДанныеФормы(НашОбъект, НаборКонстант);
 //НаборКонстант.ОснованяОрганизация = Выборка.Ссылка;
 КонецЕсли;
 КонецЕсли;
 
 КонецПроцедуры
 
 Обработчик отрабатывает правильно, реквизит в самом наборе заполняется, но на самой форме реквизит не меняется, остается пустым. Что я тут упустил, как правильно сделать?
 |  | 
    
        | 1
    
        dave2000   18.11.16✎ 12:18 | 
        М-да.. пока писал пост, дошло)) Оказалось, нужно использовать ТекущийОбъект из параметра:
 &НаСервере
 Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
 ^^^^^^^^^^^^^^
 Если НЕ ЗначениеЗаполнено(НаборКонстант.ОснованяОрганизация) Тогда
 Запрос = Новый Запрос;
 Запрос.Текст =
 "ВЫБРАТЬ
 |    Организации.Ссылка
 |ИЗ
 |    Справочник.Организации КАК Организации
 |ГДЕ
 |    НЕ Организации.ПометкаУдаления";
 
 Выборка = Запрос.Выполнить().Выбрать();
 Если Выборка.Количество() = 1 И Выборка.Следующий() Тогда
 ТекущийОбъект.ОснованяОрганизация = Выборка.Ссылка;
 ^^^^^^^^^^^^^
 КонецЕсли;
 КонецЕсли;
 
 КонецПроцедуры
 |  |