1с 8.2, Торговля. Есть Справочник "КартыЛояльности", в элементе есть кнопка "Активировать", при нажатии которой заносятся некоторые данные в регистр сведений. Необходимо сделать чтобы Активация проходила только один раз, то есть при повторном нажатии на "Активировать" уже не писать никакие данные, а сказать "Карта уже активирована" Для этого сделал реквизит типа булево "Активирована" - должен становиться Истина при первой Активации и так сохраняться. Но он почему-то после закрытия не сохраняется, наверно я как-то не так его записываю.. Помогите плиз
Если Объект.Активирована = Истина
Тогда Сообщить("Карта уже активирована")
Иначе ЗаписьРегистр();
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ЗаписьРегистр()
МенеджерЗаписи = РегистрыСведений.КартыЛояльностиСведения.СоздатьМенеджерЗаписи();
МенеджерЗаписи.КартаЛояльности = Объект.Ссылка;
МенеджерЗаписи.ПроцентСкидки = 3;
МенеджерЗаписи.СуммаНакопления = 0;
Попытка
МенеджерЗаписи.Записать();
Исключение
Сообщить(Описаниеошибки());
КонецПопытки;
Объект.Активирована = Истина;
КонецПроцедуры;
+1 к записать, но подход в целом не верный. Дополнительный реквизит не требуется. Можешь при попытке активировать смотреть в регистр и при наличии нужных записей выдавать ошибку