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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 01.03.2013, 10:33   #1  
Alexius is offline
Alexius
Участник
Аватар для Alexius
 
461 / 248 (9) ++++++
Регистрация: 13.12.2001
Цитата:
Сообщение от Romb Посмотреть сообщение
Вторичную валюту не используем.
Так может выключить ее напрочь за ненадобностью ?
Администрирование / Настройки / Система / Конфигурация / Валюта / Вторичная валюта
Старый 04.03.2013, 08:40   #2  
Romb is offline
Romb
Участник
Аватар для Romb
 
79 / 22 (1) +++
Регистрация: 06.01.2004
Хм...
В общем, оказалось как всегда. Пока писал текст под чертой, параллельно проблему и решил.

Суть в том, что у нас был пересчет склада, в InventTrans записалась себестоимость.
Уж что, да как , да почему копейка в ней возникает - расследовать поздно.
Но оперативное решение - поправить InventTrans.CostAmountAdjustment у промаркированных проводок в InventTrans на одну копейку. (которые в синем квадрате)
Тогда все ошибки уходят.

Большое спасибо за участие. Надо было сразу лезть в InventTrans конечно




Снизу, что сначала хотел написать, но уже неактуально.
----------------------------------------------------------------------------------------------------
Вторичная валюта у нас отключена.

Проблема частично "решилась", но не до конца.
После безумной трассировки, решили выделить проблемные номенклатуры в другой журнал.
Включил дебаг (#if.never) отловил номенклатуры, строки с ними вынесли в отдельный журнал переноса.
В итоге исходный журнал без проблемных строк разнесся уже без ошибок.
А второй журнал с проблемными строками разнесся, но только с ошибкой "Критическая ошибка в функции LedgerBondServer_RU.addBondProrateAmountMSTSecond.".

Эту ошибку изучал, есть подозрение, что при корреспонденции "наш" метод InventTran. findBondInventTrans() отрабатывает некорректно (в случае, когда количество по складским проводкам "сопоставляется" по InventTrans.InventRefTransId не один в один, а разбивается. В нашем случае в журнале переноса в строке количество -24 , в InventTrans по InventTransId -16 и -8 (выделено на скрине снизу), а по InventRefTransId 3, 16 и 5. (выделено на скрине сверху). Вот тут то он с ума и сходит.

На очередном журнале, при повторении такого разбиения, ошибка "Не балансирует" осталась. И в логе видна эта копейка. Но теперь уже легче

X++:
public InventTrans findBondInventTrans(InventTransId _inventTransId = this.InventTransId)
{
    InventTrans             bondInventTrans;
    InventDim               bondInventDim;

    InventDim               thisInventDim = this.inventDim();

    container               dimFields = InventDimSearch::activeFields(this.inventTable().DimGroupId);
    int                     len, i;
    fieldId                 fieldId;

    boolean pastFieldId(fieldId _fieldId)
    {
        return (_fieldId == fieldnum(InventDim, InventLocationId)   ||
                _fieldId == fieldnum(InventDim, wMSLocationId)      ||
                _fieldId == fieldnum(InventDim, InventProfileId_RU) ||
                _fieldId == fieldnum(InventDim, InventRespPers)     ||
                _fieldId == fieldnum(InventDim, InventSiteId));
    }

    void findInventTrans(StatusReceipt    _StatusReceipt,
                         StatusIssue      _StatusIssue)
    {
        select firstonly bondInventTrans
            index hint TransIdIdx
            order by RecId desc
            where bondInventTrans.InventTransId         == _inventTransId               &&
                  bondInventTrans.TransType             == this.TransType               &&
                  bondInventTrans.StatusReceipt         == _StatusReceipt               &&
                  bondInventTrans.StatusIssue           == _StatusIssue
             join bondInventDim
                where bondInventDim.inventDimId         == bondInventTrans.inventDimId  &&
                      #InventDimMacros(thisInventDim, bondInventDim);
    }
    ;

    len = conlen(dimFields);
    for (i = 1; i <= len; i++)
    {
        fieldId = conpeek(dimFields, i);
        if(pastFieldId(fieldId))
        {
            thisInventDim.(fieldId) = null;
        }
    }

    switch (this.Direction)
    {
        case InventDirection::Issue:
            findInventTrans(StatusReceipt::Purchased,
                            StatusIssue::None);
            break;

        case InventDirection::Receipt:
            findInventTrans(StatusReceipt::None,
                            StatusIssue::Sold);
            break;
    }

    return bondInventTrans;
}
Миниатюры
Нажмите на изображение для увеличения
Название: Forum - ITrans - 04.03.2013.jpg
Просмотров: 436
Размер:	63.9 Кб
ID:	8099   Нажмите на изображение для увеличения
Название: Forum - ILog - 04.03.2013.jpg
Просмотров: 650
Размер:	153.3 Кб
ID:	8100  


Последний раз редактировалось Romb; 04.03.2013 в 10:08.
Старый 19.04.2013, 03:41   #3  
Romb is offline
Romb
Участник
Аватар для Romb
 
79 / 22 (1) +++
Регистрация: 06.01.2004
В данном посте ошибку решил несистемно, "как получилось".
Тут правильное решение и объяснение
Странная ошибка при разноске
Теги
ledgerbondserver_ru, не балансируют

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Операции по коду КР069908 не балансируют согласно 30.06.2012. (Валюта компании: -1,00 - вторичная валюта: 0,00) maxkov DAX: Функционал 8 28.02.2013 07:51
Падает AOS MS DAX 2009 SP1 RU6 Daiver DAX: Администрирование 21 14.02.2011 09:59
Не балансируют проводки. NJD DAX: Функционал 1 07.06.2005 17:48
при построении перекрёстных ссылок выдаётся сообщение об ошибках mmmax DAX: Программирование 10 21.01.2005 12:42
Русская локализация Axapta 3 ? SlavaK DAX: Администрирование 59 01.07.2003 22:38
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

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

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

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