Имя: Пароль:
1C
1С v8
Транзакция ОбработкаПроведения и видение итогов РН
0 los_hooliganos
 
10.07.18
09:05
Разбираюсь в случае как такое может быть что при проведении документа, находясь в транзакции, я могу очистить движения документа и убедится что итоги регистров накопления, куда я буду писать, действительно чисты.
Это все легко реализовать без транзакции, но мне не понятно как может одно сочетаться с другим. Кто-то размышлял на эту тему? Или хотелось бы найти внятное разъяснение на этот счет.
1 Cyberhawk
 
10.07.18
09:10
Шта?
2 los_hooliganos
 
10.07.18
09:14
(1) Делаю проведение расходной накладной, по регистру ОстаткиТоваров.
Движения очищаю и одновременно запросом получаю данные что товара хватит для проведения.
Если это делать последовательно, то проблем нет. Но я то делаю это в транзакции, поэтому не должен видеть что итоги рн ОстаткиТовара очищены от моего документа. А если они чисты, то непонятно почему ОбработкаПроведения считается транзакцией
3 los_hooliganos
 
10.07.18
09:20
Наверное с платформой уже все давно поменялось. Может кто хорошую литературу посоветует где это все более менее хорошо разъясняется на пальцах?
4 bolobol
 
10.07.18
10:05
Очистил и не записал очищенный набор - а остатки уже изменились? Чудесааааа...
5 Cyberhawk
 
10.07.18
10:15
(2) Пока движения не записаны, они не влияют на результат чтения остатков регистра. Ты что-то напутал, приплев очищение.
6 bolobol
 
10.07.18
10:18
Может, автоматическое удаление движений за тебя эту работу сделало? Тогда, чего там чистил...
7 Buster007
 
10.07.18
10:26
какой смысл их вообще чистить? Получи текущие движения и вычти из остатков.
8 hhhh
 
10.07.18
10:37
(7) разные варианты могут быть. Например дату документа поменяли и перепроводят. Тогда оно само вычтет и вы еще вычтете. Получается 2 раза.
9 хмырь
 
10.07.18
11:02
(2) потому что транзакция видит свои изменения
10 хмырь
 
10.07.18
11:05
(2) >>Но я то делаю это в транзакции, поэтому не должен видеть что итоги рн ОстаткиТовара очищены от моего документа.

с чего такой вывод?
11 los_hooliganos
 
10.07.18
11:25
(10) Потому что транзакция. То что я чистил движения, еще не зафиксировано транзакцией.
(9) Ясно, мысль что транзакция видит свои изменения интересная. В литературе где-то про это написано?
12 хмырь
 
10.07.18
11:30
(11) >>Ясно, мысль что транзакция видит свои изменения интересная. В литературе где-то про это написано?

во всех букварях по СУБД
13 bolobol
 
10.07.18
12:47
Транзакция не "видит", а ограничивает видимость.
14 los_hooliganos
 
10.07.18
13:06
Можно сказать так - во время проведения поддерживается чтение незафиксированных данных.