![]() |
#23 |
Участник
|
В рамках данной темы вылезла ошибка в задание Коррекции Себестоимости.
Текст Ошибки следующий: --------------------------- Microsoft Dynamics NAV --------------------------- Примен. Операция Но. не должно быть 0 в Товар Журнал Строка Имя Шаблона Журнала='',Код Раздела Журнала='',Строка Но.='0'. --------------------------- ОК --------------------------- В ходе копания дебугером выяснилось, что вылет происходит при попытке дать коррекцию на заказ покупки транспортных услуг(тип товарная издержка) для заказа продажи . Чтобы сформулировать вопрос сначала опишу последовательность выполнения кода: 1) в cu 5895 InventoryAdjastment ф-я PostAdjmtBuf() срабатывает ветка с OrigValueEntry."Expected Cost" = false 2) запускаеться ф-я InitAdjmtJnlLine(ItemJnlLine,OrigValueEntry) в томже cu где заполняеться поле ItemJnlLine."Item Charge No." := OrigValueEntry."Item Charge No."; 3)запускаеться ф-я PostItemJnlLine где проставляються поля "Примен. Операция Но." или "Товар отгрузка Операция Но." по условию IF ItemJnlLine."Value Entry Type" = ItemJnlLine."Value Entry Type"::"Прямая Себест." THEN ItemJnlLine."Item Shpt. Entry No." := "Item Ledger Entry No." ELSE ItemJnlLine."Applies-to Entry" := "Item Ledger Entry No."; По нашему примеру Value Entry Type" = "Прямая Себест." 4) запускаеться учет товарного журнала с проверкой ItemJnlPostLine.RunWithCheck(ItemJnlLine,TempJnlLineDim); 5) выполняеться проверка в cu21 ф-я RunChek где вываливается ошибка TESTFIELD("Applies-to Entry") IF ("Value Entry Type" <> "Value Entry Type"::"Прямая Себест.") OR ("Item Charge No." <> '') THEN IF "Inventory Value Per" = "Inventory Value Per"::" " THEN TESTFIELD("Applies-to Entry"); По нашему примеру Value Entry Type" = "Прямая Себест." , "Item Charge No." = 'АВТО', "Inventory Value Per" = " " Собственно вопросы: Почему в пункте 3) работает только одно условие для заполнения поля "Applies-to Entry" а в 5) пункте условий целых три? Правильно ли будет ели я изменю код и добавлю в пункт 3) условие OR ("Item Charge No." <> '') ? Очень не хотелось бы необдуманно менять код. |
|