|
Как грамотно обработать ошибку "Запись с такими ключевыми полями существует!" |
☑ |
0
эцп
24.08.12
✎
14:26
|
Пользователь в табличную часть документа может ввести такие данные, что при проведении документа (осуществляется запись данных в регистр сведений) выскакивает ошибка "Запись с такими ключевыми полями существует!". Можно ли каким-то образом вывести пользователю сообщение, что он не прав и у него ошибка в такой-то строке до того, как данные будут записаны в регистр сведений?
|
|
1
Господин ПЖ
24.08.12
✎
14:27
|
я не против
|
|
2
ДенисЧ
24.08.12
✎
14:27
|
Можно, я не против. Выводи.
|
|
3
pessok
24.08.12
✎
14:28
|
разрешаю
|
|
4
эцп
24.08.12
✎
14:28
|
(0) Я вижу такой порядок действий:
1. Установить управляемую блокировку по ключевым полям регистра сведений (на регистр).
2. Прочитать данные из регистра.
3. Сравнить с тем, что в ТЧ
4а. Если есть совпадения вывести сообщение.
4б. Если проблем нет, записать данные в регистр.
или есть лучшие варианты?
|
|
5
Dzenn
гуру
24.08.12
✎
14:29
|
можно. Я тоже не против.
|
|
6
эцп
24.08.12
✎
14:30
|
(1)(2)(3)(5) Спасибо. Пойду делать
|
|
7
эцп
24.08.12
✎
15:03
|
|
|
8
Irbis
24.08.12
✎
15:08
|
Перезапиши поверх и все
|
|
9
Aprobator
24.08.12
✎
15:09
|
(4) блокировка то зачем?
|
|
10
эцп
24.08.12
✎
15:09
|
(8) И получим ошибку в строке такой-то при операции Записать()
|
|
11
эцп
24.08.12
✎
15:10
|
(9) А не дай бог кто-нибудь параллельно будет проводить документ по этому регистру по этому отбору
|
|
12
эцп
24.08.12
✎
15:16
|
(7) Вот здесь нашел
10096244 Управляемая блокировка по полю Период периодического регистра сведений
Проблема:
В режиме совместимости "Не использовать" при вызове метода Заблокировать происходит ошибка
У пространства блокировок РегистрСведений.Имя не существует поля с именем Период
если блокировка включает поле Период и накладывается на пространство периодического регистра сведений.
Дата публикации:
2012-01-19
А потом вот здесь
Я в печали :(
|
|
13
olegves
24.08.12
✎
16:01
|
(0) создавай наборзаписей и устанавливай для него Отборы по своим ключевым полям, после чего Прочитать() и Количество()
Если количество=0, то записи нет
|
|
14
эцп
24.08.12
✎
16:05
|
(13) Да, практически так и сделал, только запросом (см. п. 2) в (4)
|
|
15
olegves
24.08.12
✎
17:52
|
(14) запросом ты получаешь ссылку на запись, а набором записи сам объект НЗ - почувствуй разницу
В НЗ можно че-то поменять и записать - это будет та же запись, а не новая
|
|
16
эцп
25.08.12
✎
10:57
|
(16) А мне ничего менять и не нужно, не нужно получать ссылку на запись, мне нужно проверить, нет ли в регистре записей с такими же ключевыми полями, что и в документе
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший