|
![]() |
#1 |
Ищущий знания...
|
Нужно сделать обновление поля и разноску в разных транзакциях. Пока транзакция не закрыта, в базе старые данные. А при выполнении разноски, строки ищутся и находят нулевое количество.
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
![]() |
#2 |
Участник
|
![]() |
|
![]() |
#3 |
Ищущий знания...
|
Обновление данных в базе происходит при выполнении команды ttscommit. Если например проапдейтить поле в таблице. и не закрыть транзакцию, то из базы будет выбрана информация с ещё не изменённым полем.
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
![]() |
#4 |
MCITP
|
![]() Цитата:
![]() Зачем дезинформировать людей? Upd: Даже не то что дезинформировать, а просто предлагать делать абсолютно неправильно, в обход всех известных BP, по сути провоцируя на создание кода, приводящего к неконсистентностым данным. Представьте что человек дальше напишет, руководствуясь Вашим таким советом? Человек получает сообщение "Физически обновляемое количество по складским единицам 'шт' должно быть отлично от нуля.", насколько я понимаю, потому что не указал InventReceivedNow, а указал PurchReceivedNow.
__________________
Zhirenkov Vitaly Последний раз редактировалось ZVV; 29.10.2008 в 11:27. |
|
|
За это сообщение автора поблагодарили: Lemming (1), kalex_a (1). |
![]() |
#5 |
Участник
|
Однажды столкнулся с такой ситуациией, что действительно InventTrans обновился, а данные выбирались старые. При этом посмотрел InventTrans не входил в список кэшируемых таблиц.
Поставил X++: inventTrans.disableCache(true);
__________________
Энергия молодых и неравнодушных способна изменить мир к лучшему. |
|
![]() |
#6 |
MCITP
|
![]()
Ага, с таким багом я тоже помойму как-то сталкивался, тоже были какие-то проблемы с кешированием вроде, точно не помню. Но это всё-таки баг, а не стандартное поведение.
__________________
Zhirenkov Vitaly |
|
![]() |
#7 |
Ищущий знания...
|
Цитата:
Сообщение от ZVV
![]() Лев, Вы бы попробовали сначала сами сделать что-то подобное, или хотя бы подумали о том что говорите с точки зрения транзакций реляционной СУБД!
![]() Зачем дезинформировать людей? Upd: Даже не то что дезинформировать, а просто предлагать делать абсолютно неправильно, в обход всех известных BP, по сути провоцируя на создание кода, приводящего к неконсистентностым данным. Представьте что человек дальше напишет, руководствуясь Вашим таким советом? По поводу информации про ttscommit - так я её тоже вычитал где то в интернете ![]() ![]()
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
![]() |
#8 |
MCITP
|
![]() Цитата:
![]() kalex_a как вариант, а не попробовать ли задать не только purchLine.PurchReceivedNow=1; но и purchLine.InventReceivedNow=1(с учётом пересчёта единиц); А на будущее, желательно приводить текст сообщения об ошибке, тогда гораздо больше шансов получить вменяемый ответ на вопрос. ![]()
__________________
Zhirenkov Vitaly Последний раз редактировалось ZVV; 29.10.2008 в 11:15. Причина: ошибка |
|
![]() |
#9 |
Ищущий знания...
|
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с) С Уважением, Елизаров Артем |
|
|
За это сообщение автора поблагодарили: ZVV (-1). |
|
|