В модуле объекта справочника во время записи идут разные проверки, и если чото не так то "Отказ = Истина" и добавляется в структуру Объекта ДополниельныеСвойства ключ ОписаниеОшибки с текстом ошибки.
Я это использую в двух моментах:
1) когда в форме списка справочника по нажатию на кнопку процедура идёт на сервер и пытается создать новый Объект, собственно сама процедура Объект.Записать() обёрнута в Попытку, в исключении я смотрю на Объект.ДополнительныеСвойства.ОписаниеОшибки и узнаю таким образом что не получилось у базы при сохранении.
2) хотел также и в форме Объекта, но если запись не удачно, то вызывается исключение, обработать которое я никак не могу, и событие после записи нифига не вызывается после неудачной записи. Корочь в форме объекта мне никак не добраться до Объект.ДополнительныеСвойства.ОписаниеОшибки.
Придумал Один вариант - при записи на сервере в попытку завернуть ТекущийОбъект.Записать() и если исключение то Отказ = Истина и сообщить ОписаниеОшибки из ДополнительныеСвойства. А вот если успех, то получается объект будет сохраняться 2 раза + пользователю выскочит сообщение что ктото уже изменил данные.
У кого какие мысли как правильно сделать(если это возможно). заменять стандартные методы и кнопки формы мне не очень охота.
Придумал по другому :
В процедуре ПередЗаписьюНаСервере создаю новый ключ в структуре ДополнительныеСвойства объекта с именем СообщитьОбОшибкеВФорму и значением индентификатора формы, а в модуле объекта если по условия Отказ = Истина и существует ключ СообщитьОбОшибкеВФорму создаю СообщениеПользователю с индентификатором формы который записан в ключе СообщитьОбОшибкеВФорму. Единственный минус что + к этому сообщению всёравно выводиться стандартное предупреждение аля "Неудалось записать объект" (чот вроде этого).