|
8.3 Справочник. Модуль объекта. Отказ записи и вывод сообщения | ☑ | ||
---|---|---|---|---|
0
Wefast
21.02.24
✎
13:16
|
Собственно у справочника отключен контроль уникальности.
Хочу программно проверить уникальность по наименованию 1. В модуле объекта ПередЗаписью проверяю, и если данный элемент справочника не уникален нужно сообщить об этом пользователю и отказаться от записи. Если пишу ОбщегоНазначения.СообщитьПользователю("какой то текст",,,ИСТИНА); Или Текст = "какой то текст" ВызватьИсключение Текст; То пользователю выводится ошибка, что не смог записать и в тексте "путь" до строчки кода где это произошло. В общем не такую ошибку я хочу выдать пользователю. А обычную 2. Так же возможно нужно учесть, что записывать могут несколько человек, и нужно видимо блокировать весь справочник. Но звучит как что то избыточное. Смотрю как сделано что то подобное в других справочниках. И там никаких блокировок, и так же вызывается исключение либо сообщение пользователю. |
|||
1
Волшебник
21.02.24
✎
13:22
|
Проверять надо в форме ПередЗаписью
Пишите там: Сообщить("текст"); |
|||
2
Wefast
21.02.24
✎
13:25
|
(1) а если программно запись происходит?
|
|||
3
Волшебник
21.02.24
✎
13:26
|
(2) При программной записи контроля быть не должно
|
|||
4
Dmitrii
21.02.24
✎
13:56
|
(2) >> а если программно запись происходит?
Если программно производится запись, то какая разница - что в тексте об ошибке? При программной записи объекта как раз таки будет немаловажным знать - в какой именно строке Вашей чудо-программы возникло исключение. |
|||
5
vicof
21.02.24
✎
14:29
|
(1) Проверять надо в обработке проверки заполнения
|
|||
6
Волшебник
21.02.24
✎
14:31
|
(5) Да, это ещё более правильно
|
|||
7
sikuda
21.02.24
✎
14:33
|
(1) Да лучше контролирвать в форме.
(3) Согласен не должно, но незабываем стандартный = ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты) https://its.1c.ru/db/v8std/content/463/hdoc |
|||
8
Valdis2007
22.02.24
✎
04:30
|
Рекомендация с ИТС -"...Поэтому для реквизитов, некорректные значения которых могут привести к рассогласованности данных в информационной базе, проверку корректности следует выполнять в обработчиках событий, возникающих в транзакции записи - ПередЗаписью..."
Не уникальность наименования, это рассогласованность данных в БД. Поэтому используй - ПередЗаписью |
|||
9
Valdis2007
22.02.24
✎
04:33
|
Другими словами...ОбработкаПроверкиЗаполнения - проверка корректности в контексте конкретного объекта.
ПередЗаписью - проверка корректности в конексте окружения |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |