|
![]() |
#1 |
Участник
|
Цитата:
Сообщение от bodeaux
![]() удалось установить, что в подобных случаях в таблице остается значение W = V + (-V + U_1) + (-V + U_2) + ... + (-V + U_n), где V - значение в точке point_0, U_i - значение, переданное в update номер i.
Надеюсь, кто-нибудь сможет пояснить, для чего заложена именно такая формула для Relative update, поскольку из предыдущего обсуждения мне показалось, что люди ожидали работы по формуле W = V + U_1 + U_2 + ... + U_n. X++: select forupdate t_1 where t_1.id == 5; {// block_2 select forupdate t_2 where t_2.id == 5; { // block_3 select forupdate t_3 where t_3.id == 5; t_3.Val += 14; t_3.update(); } t_2.Val += 700; t_2.update(); } t_1.Val += 50000; t_1.update(); ![]() Цитата:
Цитата:
...К счастью, среда времени выполнения Microsoft Dynamics AX управляет данной ситуацией. При исполнении оператора обновления среда времени выполнения находит все другие буфера записей, содержащие ту же запись, и если при этом они были извлечены с ключевым словом forupdate, то среда времени выполнения изменяет значение поля RecVersion данных буферов записей на новое значение из базы данных. Следовательно, второе обновление не вызовет ошибки.
|
|
|
За это сообщение автора поблагодарили: S.Kuskov (5). |
![]() |
#2 |
Участник
|
Цитата:
Так что, убедиться будет проблематично ![]()
__________________
Axapta v.3.0 sp5 kr2 |
|
Теги |
ledgerbalance, ledgerbalancesdimtrans, ledgerbalancestrans, главная книга, итоги, сальдо, crm2011 |
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|