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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 06.10.2004, 13:05   #1  
Oz is offline
Oz
Участник
Аватар для Oz
 
293 / 51 (2) ++++
Регистрация: 22.08.2002
Адрес: Москва
Возврат по закупке с накладными расходами через немедленное получение
Уважаемые коллеги!

У нас стоит Axapta 3.0 SP3
У меня юзеры провели накладную по закупке с накладными расходами. Выяснилось, что товар в строке был не тот. Решили сторнировать через возврат, причем используя ввод отрицательного количества в поле "Немедленное получение". Как бы была надежда, что в этом случае правильно сторнируется проводка по накладным расходам.
Увы, провести в этом случае накладную не удалось: система выдала ошибку "Объект LedgerBondTransObject_RU не инициализирован". При детальном рассморении вопроса выяснилось, что ошибка происходит на участке коде метода MarkupAdjustment \ adjustCreditNote:
PHP код:
currencyBondLog conNull();
bondLog ledgerBondClient.currentLog();
for (
1<= conlen(bondLog); i++)
{
       if (
ledgerBondClient.bondTransObject(conPeek(currencyBondLogi)).ledgerTransObject().parmCurrencyCode() == currencyCode)
        {
            
currencyBondLog += conPeek(currencyBondLogi);
        }

на строке
PHP код:
if (ledgerBondClient.bondTransObject(conPeek(currencyBondLogi)).ledgerTransObject().parmCurrencyCode() == currencyCode
проблема в том, что метод bondTransObject должен вернуть объект класса LedgerBondTransObject_RU по переданному индексу (conPeek(currencyBondLog, i)). Очевидно по вышеуказанному коду, что этот индекс для i==1 может быть только 0.
У ledgerBondClient запрошенного объекта с индексом 0 не оказалось.
В этом нет ничего удивительного, если учесть, что добавление объекта класса LedgerBondTransObject_RU происходит ТОЛЬКО в методе LedgerBondTransList_RU \ add, код которого приведен ниже:
PHP код:
public boolean add(LedgerBondTransObject_RU _bondTransObject)
{
    
boolean ret true;

    if (! 
_bondTransObject.vrefId())
    {
        
error(Error::wrongUseOfFunction(funcName()));
        return 
false;
    }
    
ret transMap.insert(_bondTransObject.vrefId(), _bondTransObject);
    
lastVrefId _bondTransObject.vrefId();

    return 
ret;

_bondTransObject.vrefId() и есть тот самый индекс, по которому впоследствии и происходит поиск этого объекта в коллекции LedgerBondTransList_RU.
Обратите внимание, что судя по коду, индекс добавляемого объекта НЕ МОЖЕТ БЫТЬ НУЛЕВЫМ!
То есть, исходя из этого, приведенный код метода MarkupAdjustment \ adjustCreditNote не будет работать ни при каких обстоятельствах!
Итак, то ли лыжи не едут, то ли я... чего то не понимаю. Может застрелиться?

Коллеги! Может кто нибудь сталкивался с такой проблемой и даже смог ее обойти?
Или мне забить на указанный в начале поста способ возврата товара и попробовать другие (новую строку с отрицательным количеством, например), начхав на то, что проводку по накладным расходам при этом сторнировать нормально придется вручную?

Заранее благодарен!
__________________
Здесь могла быть Ваша реклама!
Старый 06.10.2004, 13:20   #2  
linney is offline
linney
Участник
Аватар для linney
 
175 / 12 (1) ++
Регистрация: 11.12.2002
Адрес: Киев
Воспроизводится
Ошибка воспроизводится - уже хорошо.

Но все-таки возврат сделать можно!!!
Я удалил накладной расход в закупке совсем
и провел немедленное получение с "-"

По проводкам видно, что накладные расходы сторнируются
Старый 06.10.2004, 13:31   #3  
Oz is offline
Oz
Участник
Аватар для Oz
 
293 / 51 (2) ++++
Регистрация: 22.08.2002
Адрес: Москва
И действтельно, если удалить накладные расходы из строки - все проходит, правда сторнирование накладных расходов прошло немного не так, как хотелось: получилась не обратная проводка, а проводка суммы накладных расходов с товаров на складе на счет, указанный как "Себестоимость по кредит-ноте" в разноске товара по закупке.
Собственно такая картина происходит и при обновлении вновь созданной строки с отрицательным количеством.
Ну что ж, видимо не судьба...
__________________
Здесь могла быть Ваша реклама!
Старый 11.10.2004, 10:08   #4  
glibs is offline
glibs
Member
Сотрудники компании It Box
Most Valuable Professional
Лучший по профессии 2011
Лучший по профессии 2009
 
4,942 / 911 (40) +++++++
Регистрация: 10.06.2002
Адрес: I am from Kyiv, Ukraine. Now I am in Moscow. For private contacts: glibs@hotmail.com
Цитата:
Изначально опубликовано Oz
...
И действтельно, если удалить накладные расходы из строки - все проходит, правда сторнирование накладных расходов прошло немного не так, как хотелось: получилась не обратная проводка, а проводка суммы накладных расходов с товаров на складе на счет, указанный как "Себестоимость по кредит-ноте" в разноске товара по закупке.
...
На самом деле накладные расходы не были сторнированы. А та сумма, которая списалась на счет "Себестоимость по кредит-ноте" всего лишь означает разницу между списываемой со счета учета запасов суммой по "накладной"/кредит-ноте и средневзвешенной себестоимостью, которая была рассчитана на момент разноски "накладной".

Раньше накладные расходы, которые относятся на себестоимость, в 3.0 вообще не сторнировались. Толи в сп2, толи в сп3 эту багу поправили (в 2.5, кстати, это работало). Я проверил в международной версии сп3 — накладные расходы сторнируются отлично. А вот почему в сп3 СНГ возникает ошибка, вы можете попробовать поинтересоваться у локализаторов, пользуясь случаем, что они в последнее время уделяют форуму много внимания.
__________________
С уважением,
glibs®
Старый 11.10.2004, 14:06   #5  
bio_unit is offline
bio_unit
Участник
Аватар для bio_unit
Сотрудники компании GMCS
Ex AND Project
 
119 / 77 (3) ++++
Регистрация: 21.04.2004
Эта ошибка исправлена в SP3HF2
т.е. нужно загрузить HotFix2 на SP3

RU-369-3-THBV
VSA7827288
VSA7862397
При разнесении накладных расходов на накладную возврата поставщику выдается ошибка.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
сторнирование накладной по закупке с накладными расходами bes DAX: Функционал 9 13.02.2015 17:29
Немедленное получение Benq DAX: Функционал 3 17.03.2008 13:27
Возврат товара поставщику через 76 счет tolstjak DAX: Функционал 1 27.01.2005 15:32
Тип "потребление по закупке (возврат)" asdf DAX: Функционал 8 08.12.2004 16:36
Не сторнируются проводки по накладной с накладными расходами visual DAX: Функционал 2 10.11.2004 13:34

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

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

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