|
Как установить блокировку чтения регистра, если у него режим Автоматический? | ☑ | ||
---|---|---|---|---|
0
ADV
24.06.24
✎
20:06
|
От клиента приходят файлы, на их основании нужно сформировать заказы, выбрав серии товаров с минимальным сроком годности.
Перед запросом к остаткам нужно регистр ТоварыНаСкладе (УТ 11) заблокировать от параллельного чтения. У этого регистра режим блокировки Автоматический (вариант изменить режим на Управляемый в общих чертах понятен, но кажется рискованным и трудоемким). Насколько я понял из прочитанного, для блокировки в Автоматическом режиме нужно использовать в запросе "ДЛЯ ИЗМЕНЕНИЯ". Сомнение вызывает то, что в УТ я такой конструкции не нашел, значит используется что-то другое? И если все-таки использовать "ДЛЯ ИЗМЕНЕНИЯ", то поскольку эта конструкция работает только внутри транзакции (правильно?), то перед запросом нужно применить НачатьТранзакцию()? |
|||
1
vde69
24.06.24
✎
20:08
|
"ДЛЯ ИЗМЕНЕНИЯ" к блокировкам не относится вообще никак...
|
|||
2
ADV
24.06.24
✎
20:16
|
из https://its.1c.ru/db/metod8dev/content/2651/hdoc вроде как следует, что относится?
|
|||
3
ADV
24.06.24
✎
20:17
|
"ДЛЯ ИЗМЕНЕНИЯ дает возможность указать в запросе таблицы, считываемые данные которых предполагается изменять. В этом случае другое соединение будет ожидать освобождения этих данных уже в момент считывания внутри транзакции, т.е. не сможет прочесть заблокированные данные до тех пор, пока не будет завершена транзакция"
|
|||
4
BDA80
24.06.24
✎
20:25
|
(0) А в целом для конфигурации какой режим используется?
|
|||
5
ADV
24.06.24
✎
20:30
|
(4) в целом управляемый
|
|||
6
BDA80
24.06.24
✎
20:34
|
(5) Тогда не важно какой режим у регистра и "ДЛЯ ИЗМЕНЕНИЯ" использовать смысла нет. Устанавливайте управляемую блокировку
|
|||
7
rozer76
24.06.24
✎
20:38
|
(5) https://its.1c.ru/db/metod8dev/content/5839/hdoc
Если же установлен режим Управляемый, то, независимо от того, какие режимы управления блокировками установлены для конкретных объектов конфигурации (об этом смотри далее), при записи, скажем, документа система всегда будет самостоятельно устанавливать необходимые управляемые блокировки, которые будут обрабатываться собственным менеджером транзакционных блокировок. Этот режим предназначен для работы всей конфигурации только с управляемыми блокировками в транзакции. |
|||
8
ADV
24.06.24
✎
20:56
|
(7) Т.е. если режим для конфигурации Управляемый, то какой режим управления блокировками выбран у объекта ни на что не влияет?
|
|||
9
rozer76
24.06.24
✎
21:15
|
(8) см (6)
|
|||
10
ADV
24.06.24
✎
21:44
|
(6) и поскольку загрузка данных из файлов и последующий запрос к остаткам происходит в модуле обработки, то перед установкой блокировки нужно добавить НачатьТранзакцию(), так?
|
|||
11
ADV
24.06.24
✎
22:05
|
... происходит в модуле объекта внешней обработки ...
|
|||
12
breezee
25.06.24
✎
04:26
|
(10) Да. Так вы накидайте маленькую обработку и проверьте работу на ней, как блокировки работают
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |