AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX Blogs
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 03.07.2013, 14:16   #36  
bodeaux is offline
bodeaux
Участник
Аватар для bodeaux
 
35 / 10 (1) +
Регистрация: 08.10.2012
Адрес: Екатеринбург
эксперимент
Здравствуйте.

Решил возобновить тему, чтобы еще раз попытаться разобраться с FieldUpdate = Relative

С помощью таких действий

X++:
static void Job_1(Args _args)
{
    Ltable t_1;    Ltable t_2;    Ltable t_3;;   
    // point_0
    ttsbegin;
    {// block_1
        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();
    }
    ttscommit;
}
удалось установить, что в подобных случаях в таблице остается значение

Код:
W = V + (-V + U_1) + (-V + U_2) + ... + (-V + U_n),
где V - значение в точке point_0, U_i - значение, переданное в update номер i.

В частности, в самых интересных для практики случаях, которые обсуждались выше, получаем
1. i = 1 : W = U_1 (отличия от FieldUpdate = Absolute не видны).
2. i = 2 :
после первого запуска джоба имеем W = U_1 + U_2 - V
после второго запуска джоба имеем W = V
(любители арифметики могут убедиться, что при других i подобных циклов нет).
----------------------
Надеюсь, кто-нибудь сможет пояснить, для чего заложена именно такая формула для Relative update,
поскольку из предыдущего обсуждения мне показалось,
что люди ожидали работы по формуле W = V + U_1 + U_2 + ... + U_n.


В качестве офтопа еще хочу спросить, почему не возникает deadlock при выполнении block_2 после block_1.
__________________
Axapta 3.0 SP 4

Последний раз редактировалось bodeaux; 03.07.2013 в 14:53.
Теги
ledgerbalance, ledgerbalancesdimtrans, ledgerbalancestrans, главная книга, итоги, сальдо, crm2011

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
fed: History of inventory locking in DAX Blog bot DAX Blogs 0 28.09.2009 16:05
Microsoft DAX Dev Center Headlines: New Ledger Posting White Paper Released Blog bot DAX Blogs 0 23.11.2008 12:05
axStart: Change data on a data source on a Form Blog bot DAX Blogs 0 04.09.2008 15:05
Microsoft Dynamics CRM Team Blog: Data Migration Manager Tips and Tricks Blog bot Dynamics CRM: Blogs 0 02.09.2008 22:05
Пустые названия системных таблиц в report data range (DAX 4.0) Qaz Qwerty DAX: Функционал 3 06.08.2008 00:05

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 22:03.