проверка на уникальность реквизита который присутствует в нескольких документах

1. user1714093 13.12.21 12:31 Сейчас в теме
Доброго времени суток, как проверить уникальность значения реквизита который присутствует в нескольких документах?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Torin 756 13.12.21 12:41 Сейчас в теме
(1)
как проверить уникальность значения реквизита который присутствует в нескольких документах?
сделать запрос по документам и передать реквизит в качестве параметра.. если в отборе будет 0 значить уникально :)
3. coollerinc 188 13.12.21 12:47 Сейчас в теме
(2) Главное не забыть исключить текущий документ. Т.к. если документ уже записан то будет одна запись)
6. user1714093 13.12.21 12:57 Сейчас в теме
(2) так как реквизит присутствует в нескольких документах, не логично писать для каждого отдельно код... а как написать один раз и для всех документов с этим реквизитом? а главное где? первый раз получила такое задание...
8. Torin 756 13.12.21 13:02 Сейчас в теме
(6) Метаданные.Документ(ВидДокумента).РеквизитШапки(ИмяРеквизита)
9. dmbarchenkov 13.12.21 13:03 Сейчас в теме
(6) можно написать Процедуру проверки в общем модуле, создать Подписку на событие (источники все документы с нужным реквизитом, обработчик Процедура проверки).
10. coollerinc 188 13.12.21 13:04 Сейчас в теме
(6) Вам можно добавить подписку на событие или вызывать общую функцию в обработчике проверки заполнения модуля объекта. Где проверяется одним запросом сразу все документы. Примерно таким: Потом сгрупировать и посчитать количество. Если не равно нулю, то ошибка

Выбор
НомерВходящегоДокумента
Из
АвансовыйОтчет
Где НомерВходящегоДокумента = &НомерВходящегоДокумента и Ссылка <> &Ссылка

Объеденитьвсе
Выбор
НомерВходящегоДокумента
Из
ВозвратТоваров
Где НомерВходящегоДокумента = &НомерВходящегоДокумента и Ссылка <> &Ссылка
15. RocKeR_13 1326 13.12.21 14:56 Сейчас в теме
(1) Можно, как вариант, использовать критерии отбора: по нему будет проще проверять. Либо ввести определяемый тип, в который включать все типы, по которым требуется контроль; а далее, исходя из определяемого типа собирать текст запроса для проверки
4. tkv44 13.12.21 12:47 Сейчас в теме
Не совсем понятно в рамках чего он должен быть уникальным?
5. user1714093 13.12.21 12:52 Сейчас в теме
(4) должен быть уникальным во всей базе
Прикрепленные файлы:
7. tkv44 13.12.21 13:01 Сейчас в теме
(5) Во всей базе и по всем документам? Контроль при введении должен происходить? Построить виртуальную таблицу и проверить на дубли самое простое.
11. vadim1011985 100 13.12.21 13:07 Сейчас в теме
(5) А не рассматривает ситуацию когда у двух разных поставщиков номера накладных могут совпадать ?
12. user1714093 13.12.21 13:21 Сейчас в теме
13. vadim1011985 100 13.12.21 13:28 Сейчас в теме
(12) Ну я бы не был так категоричен , если много поставщиков , нумерация может совпасть , тем более вы рассматриваете все документы где есть этот реквизит (если одни поставщик прислал например накладную № 1 а второй Отчет комиссионера №1 - то как быть в этом случае. Потом нумерация может быть в пределах года , если номер в тек. году будет совпадать с одним из номеров прошлого года что тогда ?
14. vkholodnov 7 13.12.21 13:38 Сейчас в теме
(5) При изменении реквизита сделать проверку, а именно:
Создаем виртуальную таблицу где выбирается этот реквизит по всем типам документа.
Дальше уже делаем сравнение с виртуальной таблицей по текущему реквизиту и если количество забисей больше 0 тогда ошибка.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот