|
Запрет проводки документа при совпадении даты, номера, ИНН
| ☑ |
0
DmitryLukin
02.12.19
✎
08:45
|
Всем привет. Необходимо реализовать вышенаписанное, прошу подсказки, откуда начать и через что. Это будет функция в общих модулях с вызовом из документов? Поисх совпадений лучше делать в базе или регистрах? Какое решение оптимально с точки зрения быстродействия? Как бы сделали вы?
|
|
1
Irbis
02.12.19
✎
08:50
|
Запрет имеет смысл делать в момент выбора контрагента, а не проведения созданного документа.
|
|
2
Ёпрст
02.12.19
✎
08:50
|
Обычная проверка в ПередЗаписью, если нужно для нескольких разных видов объектов, то в подписке
|
|
3
DmitryLukin
02.12.19
✎
08:57
|
(1) Общую логику понимаю, я сейчас в раздумьях, где, грубо говоря, писать процедуру проверки. В общих модулях? Потом в каждом документе делать ее вызов?
|
|
4
Ёпрст
02.12.19
✎
08:59
|
(3)в подписке же
|
|
5
DmitryLukin
02.12.19
✎
09:11
|
(4) Понял, спасибо. А с точки зрения производительности/здравого смысла, откуда лучше брать данные для сравнения (база, регистры, ...)?
|
|
6
hhhh
02.12.19
✎
09:58
|
(5) бери из регистров
|
|
7
SergTheGreat
02.12.19
✎
09:58
|
Можно использовать обработчик события "ПередЗаписью" в модуле набора записей нужного регистра.
Да он отработает позже чем "ОбработкаПроведения" документа или подписки, но, во-первых, там будут уже готовые данные для сравнения, а, во-вторых, не нужно думать о видах документов - проверка будет в одном месте.
(5) Конечно, сравнивать нужно с данными того же регистра, по которому надо запретить проведение.
|
|