Имя: Пароль:
1C
1С v8
Запись регистра сведений с режимом Управляемый без транзакции.
0 0xFFFFFF
 
20.07.11
10:28
Вот стоит на регистре сведений Режим управления блокировкой данных = Управляемый.
Что будет, если два сеанса одновременно попытаются записать одну запись, если запись эта идет без всяких транзакций, а в Попытке - Исключении?
Видимо один запишет, а у другого вызовется исключение и все?
1 Maxus43
 
20.07.11
10:30
транзакция то ладно, блокировки кто описывать будет?
2 0xFFFFFF
 
20.07.11
10:31
так вот я и говорю, что будет, если их не описывать? Он запишет будто в автоматическом режиме, а не управляемом, так ведь?
3 hhhh
 
20.07.11
10:35
(2) еще зависит, какой таймаут у блокировок. Одна запись быстро пишется, поэтому скорее всего оба сеанса последовательно отработают.
4 Dem1urg
 
20.07.11
10:50
(0) и (3) вы вообще хоть понимаете как блокировки то работают? Может лучше сначала manual почитать.

По сабжу. Исхожу из предположения, что запись в регистр идёт из процедуры ОбработкаПроведения документа регистратора. Ничего не будет. Запишутся обе записи.
Попытка Исключение в данном случае ничего не даст.
Если в транзакции возникнет ошибка работы с базой один фиг она откатиться.
5 0xFFFFFF
 
20.07.11
10:56
(4) "вы вообще хоть понимаете как блокировки то работают", "Исхожу из предположения"
Понимаем. Но тоже исходим из предположения... :)

А где в мануале написано, что будет если запись с режимом = Управляемый записывать без описания блокировки?
6 Dem1urg
 
20.07.11
11:00
(5) В мануале написано, что на все считанные внутри транзакции данные будет наложена блокировка ReadCommitted. Т.е. по факту никаких блокировок не будет.
7 0xFFFFFF
 
20.07.11
11:13
(6) во, пасибо. Так я и думал, это и надо.