16.06.2011, 10:29 | #1 |
Участник
|
Ошибка при создании кредит-ноты
Добрый день!
При создании кредит-ноты по Заказу на покупку выходит ошибка: "Максимальное количество десятичных знаков для единицы хранения 0". Проверка находиться в классе InventSplitTrans.Check(). Как удалось выяснить проблема, в единице измерения номенклатур у которой десятичные знаки равны нулю. Проверили проводки у нас при закрытии склада получилось дробное сопоставление по данным номенклатурам. Теперь не понятно как выходить из данной ситуации. DAX 4.0.2501.116 SP2 MS SQL 2005 x64 |
|
16.06.2011, 10:48 | #2 |
Участник
|
|
|
16.06.2011, 11:14 | #3 |
Участник
|
Да именно так.
|
|
16.06.2011, 11:28 | #4 |
Участник
|
У вас по этой номенклатуре есть проводки на дробное количество?
|
|
16.06.2011, 11:47 | #5 |
MCITP
|
Может где-то по ходу жизни номенклатуры поменяли кол-во знаков?
__________________
Zhirenkov Vitaly |
|
16.06.2011, 12:01 | #6 |
Участник
|
По этой номенклатуре делали приход и расход, но все количество было целое. Единицу измерения могли изменить.
|
|
16.06.2011, 12:49 | #7 |
Участник
|
Цитата:
По истории сопоставления ищите первоисточник возникновения дробного сопоставления. При сопоставлении каких проводок оно в первые возникло? Последний раз редактировалось S.Kuskov; 16.06.2011 в 12:52. |
|
16.06.2011, 13:16 | #8 |
Участник
|
Смотрели в том числе и в БД, там все значения целые. Первое дробное появилось при сопоставлении. Пока думаю, что все таки меняли единицу измерения.
|
|
16.06.2011, 13:25 | #9 |
Участник
|
|
|
17.06.2011, 09:18 | #10 |
Участник
|
Что удалось выяснить на сегодня
У нас используется метод учета запасов средневзвешенная на дату. Попробовали сделать такой пример, сделали два Заказа на покупку один 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()); |
|
20.06.2011, 07:44 | #11 |
Участник
|
Попробовали убрать проверку в методе check класса InventSplitTrans, кредит-ноты теперь создаются, но при разноске и последующем закрытии склада, проводки разъединяются и количество становиться дробным. В принципе данный метод работает, но пугают дробные количества в проводках.
|
|