Имя: Пароль:
1C
1С v8
Форма объекта справочника, событие записи
0 alexei366
 
07.04.13
14:42
В модуле объекта справочника во время записи идут разные проверки, и если чото не так то "Отказ = Истина" и добавляется в структуру Объекта ДополниельныеСвойства ключ ОписаниеОшибки с текстом ошибки.
Я это использую в двух моментах:
1) когда в форме списка справочника по нажатию на кнопку процедура идёт на сервер и пытается создать новый Объект, собственно сама процедура Объект.Записать() обёрнута в Попытку, в исключении я смотрю на Объект.ДополнительныеСвойства.ОписаниеОшибки и узнаю таким образом что не получилось у базы при сохранении.
2) хотел также и в форме Объекта, но если запись не удачно, то вызывается исключение, обработать которое я никак не могу, и событие после записи нифига не вызывается после неудачной записи. Корочь в форме объекта мне никак не добраться до Объект.ДополнительныеСвойства.ОписаниеОшибки.

Придумал Один вариант - при записи на сервере в попытку завернуть ТекущийОбъект.Записать() и если исключение то Отказ = Истина и сообщить ОписаниеОшибки из ДополнительныеСвойства. А вот если успех, то получается объект будет сохраняться 2 раза + пользователю выскочит сообщение что ктото уже изменил данные.

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