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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 16.06.2011, 10:29   #1  
vazerdim is offline
vazerdim
Участник
 
77 / 40 (2) +++
Регистрация: 06.09.2008
Ошибка при создании кредит-ноты
Добрый день!

При создании кредит-ноты по Заказу на покупку выходит ошибка: "Максимальное количество десятичных знаков для единицы хранения 0". Проверка находиться в классе InventSplitTrans.Check().
Как удалось выяснить проблема, в единице измерения номенклатур у которой десятичные знаки равны нулю. Проверили проводки у нас при закрытии склада получилось дробное сопоставление по данным номенклатурам. Теперь не понятно как выходить из данной ситуации.

DAX 4.0.2501.116 SP2
MS SQL 2005 x64
Старый 16.06.2011, 10:48   #2  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,438 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от vazerdim Посмотреть сообщение
Проверили проводки у нас при закрытии склада получилось дробное сопоставление по данным номенклатурам.
А как у вас по номенклатуре, в еденицах измерения которой настроено 0 дробных знаков, получилось дробное сопоставление?
Старый 16.06.2011, 11:14   #3  
vazerdim is offline
vazerdim
Участник
 
77 / 40 (2) +++
Регистрация: 06.09.2008
Да именно так.
Старый 16.06.2011, 11:28   #4  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,438 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
У вас по этой номенклатуре есть проводки на дробное количество?
Старый 16.06.2011, 11:47   #5  
ZVV is offline
ZVV
MCITP
MCP
Oracle
MCBMSS
 
1,006 / 246 (11) ++++++
Регистрация: 13.02.2004
Адрес: Минск
->
Может где-то по ходу жизни номенклатуры поменяли кол-во знаков?
__________________
Zhirenkov Vitaly
Старый 16.06.2011, 12:01   #6  
vazerdim is offline
vazerdim
Участник
 
77 / 40 (2) +++
Регистрация: 06.09.2008
По этой номенклатуре делали приход и расход, но все количество было целое. Единицу измерения могли изменить.
Старый 16.06.2011, 12:49   #7  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,438 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от vazerdim Посмотреть сообщение
По этой номенклатуре делали приход и расход, но все количество было целое. Единицу измерения могли изменить.
Через интерфейс количество может отображаться как целое, но при этом быть дробным и округляться при отображении. Например число "1.999999" при определённых настройках будет отображаться как "2.00". Если есть возможность, на всякий случай, посмотрите напрямую в таблице БД.

По истории сопоставления ищите первоисточник возникновения дробного сопоставления. При сопоставлении каких проводок оно в первые возникло?

Последний раз редактировалось S.Kuskov; 16.06.2011 в 12:52.
Старый 16.06.2011, 13:16   #8  
vazerdim is offline
vazerdim
Участник
 
77 / 40 (2) +++
Регистрация: 06.09.2008
Смотрели в том числе и в БД, там все значения целые. Первое дробное появилось при сопоставлении. Пока думаю, что все таки меняли единицу измерения.
Старый 16.06.2011, 13:25   #9  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,438 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от vazerdim Посмотреть сообщение
Первое дробное появилось при сопоставлении.
В стандарте при сопоставлении целого расхода с целым приходом дробное значение появляться не должно, даже если на тот момент настройки единицы измерения позволяют иметь дробное количество.
Старый 17.06.2011, 09:18   #10  
vazerdim is offline
vazerdim
Участник
 
77 / 40 (2) +++
Регистрация: 06.09.2008
Что удалось выяснить на сегодня
У нас используется метод учета запасов средневзвешенная на дату.
Попробовали сделать такой пример, сделали два Заказа на покупку один 20 штук другой 40 штук, с этого же склада сделали списание на -20 штук. После закрытия склада в поле QtySettled появляются дробные значения. Посмотрели в классе \Classes\InventCostItemDim\updateModelAverage, где есть следующий код:

X++:
qtyRemain -= this.financialOpenQty(receipt);
if (qtyRemain <= 0)
{
     settleQty   = -this.financialOpenQty(issue);
}
     else
{
     [B]settleQty   = -this.financialOpenQty(receipt) * openQtyIssue / qty;[/B]
     settleQty   = decround(settleQty,inventAdj::settleQtyDec());
Из кода видно, из-за чего появляются дробные значения. Но вот теперь не понятно, что делать дальше, на текущий момент в базе около 2 тыс., таких проводок.
Старый 20.06.2011, 07:44   #11  
vazerdim is offline
vazerdim
Участник
 
77 / 40 (2) +++
Регистрация: 06.09.2008
Попробовали убрать проверку в методе check класса InventSplitTrans, кредит-ноты теперь создаются, но при разноске и последующем закрытии склада, проводки разъединяются и количество становиться дробным. В принципе данный метод работает, но пугают дробные количества в проводках.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Расчеты с поставщиками. Создание кредит-ноты Kabardian DAX: Программирование 0 12.09.2009 20:40
Пересчет себестоимости в заказе. Задвоение себестоимости кредит-ноты. Aquarius DAX: Функционал 4 10.06.2009 10:59
Ошибка при создании кредит-ноты по заказу Фаткуллов Ренат DAX: Функционал 2 13.04.2009 12:56
Ошибка при создании кредит-ноты longson DAX: Функционал 1 02.03.2008 01:49
Русская локализация Axapta 3 ? SlavaK DAX: Администрирование 59 01.07.2003 22:38

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

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

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