Простой вопрос по программной блокировке
Господа, просветите pls по блокировке.
Платформа 8.3 УФ.
Задача следующая. Из формы документа создаётся элемент некоего подчиненного справочника. Перед этим надо дёрнуть запросом элементы этого справочника в пределах подчинения, убедиться, что таковых элементов нет, и только при этом условии создавать новый элемент.
Соответственно чтобы кто-то не вклинился в эту цепочку, надо заблокировать создание новых элементов этого справочника в пределах подчинения.
НачатьТранзакцию()/ЗафиксироватьТранзакцию()? БлокировкаДанных? Это должно работать как на файловой, так и на SQL версии и по возможности блокировать только выборочно - по приведенному условию. БлокировкаДанных будет ли работать из модуля формы?
Платформа 8.3 УФ.
Задача следующая. Из формы документа создаётся элемент некоего подчиненного справочника. Перед этим надо дёрнуть запросом элементы этого справочника в пределах подчинения, убедиться, что таковых элементов нет, и только при этом условии создавать новый элемент.
Соответственно чтобы кто-то не вклинился в эту цепочку, надо заблокировать создание новых элементов этого справочника в пределах подчинения.
НачатьТранзакцию()/ЗафиксироватьТранзакцию()? БлокировкаДанных? Это должно работать как на файловой, так и на SQL версии и по возможности блокировать только выборочно - по приведенному условию. БлокировкаДанных будет ли работать из модуля формы?
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(2) И тем не менее. Я понимаю, что приём очень неспецифичный, но надо. В принципе уникальность элемента этого справочника у меня и проверяется в модуле его объекта перед записью.
Но тут хотелось бы, чтобы даже попытки записи дубликата система не делала, чтобы пользователь не видел непонятных для него ошибок.
Но тут хотелось бы, чтобы даже попытки записи дубликата система не делала, чтобы пользователь не видел непонятных для него ошибок.
(4) (4) Вывернулся следующим образом.
1) В модуле объекта справочника перед записью проверяю уникальность.
2) В модуле формы документа, где он должен программно создаваться:
- Сперва запросом проверяю, что такового элемента справочника ещё нет
- Создаю и записываю новый элемент через Попытку / Исключение. Если исключение, значит его уже кто-то записал (1). Чтобы пользователь не видел сообщения об ошибке.
1) В модуле объекта справочника перед записью проверяю уникальность.
2) В модуле формы документа, где он должен программно создаваться:
- Сперва запросом проверяю, что такового элемента справочника ещё нет
- Создаю и записываю новый элемент через Попытку / Исключение. Если исключение, значит его уже кто-то записал (1). Чтобы пользователь не видел сообщения об ошибке.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот