26.06.2008, 19:20 | #1 |
Модератор
|
класс InventSumDateValueReportDim Физические запасы?
Работая со строкой таблицы складских проводок. Надо для номенклатуры получить остаток на дату.
Использую класс InventSumDateValueReportDim (http://axapta.mazzy.ru/lib/inventsumdate/) Класс может возвратить Физически доступно PhysicalQuantity (аналогичное значение получается Управление запасами\запросы\В наличии.) Вкладка в наличии\в наличии.- Физ. доступно. Как мне получить значение - Физические запасы используя класс InventSumDateValueReportDim ? P.S. Физические запасы = Физ. доступно + Физ. зарезервировано. через класс InventSumDateValueReportDim можно получить Физ. зарезервировано.? если нет то как получить Физические запасы остатком на дату? 2) Получить Себестоимость запасов в наличии на дату, учитывая коррекции. (это уже из оперы про коррекцию InventTrans.CostAmountAdjustment) |
|
27.06.2008, 11:18 | #2 |
Участник
|
Система не хранит данные о том, сколько товара было зарезервированно на определенную дату. Поэтому так ставить задачу неверно. Это может иметь смысл только в случае вычисления запасов на текущую дату.
|
|
27.06.2008, 12:09 | #3 |
Модератор
|
класс InventSumDateValueReportDim как раз и вычисляет остаток на введенную дату.
и кол-во и себестоимость. Я как раз и спрашиваю с помощью класса InventSumDateValueReportDim можно ли получить ответ на вопрос о Физ. зарезервировано или Физические запасы? или надо эти значения как то вычислять чере inventSum ? |
|
27.06.2008, 12:55 | #4 |
Участник
|
Цитата:
Сообщение от Poleax
Работая со строкой таблицы складских проводок. Надо для номенклатуры получить остаток на дату.
Использую класс InventSumDateValueReportDim (http://axapta.mazzy.ru/lib/inventsumdate/) Класс может возвратить Физически доступно PhysicalQuantity (аналогичное значение получается Управление запасами\запросы\В наличии.) Вкладка в наличии\в наличии.- Физ. доступно. Это не правильный вывод. Цитата:
Физические запасы это термин который вы ввели и формулу вы написали. С учётом этой формулы ни как. А здесь я просто не понял к чему это вы. |
|
27.06.2008, 13:07 | #5 |
Участник
|
Вы поймите как работают классы наследники от InventSumDate
X++: protected void setValueQty() { this.selectInventSum(); this.selectInventTransPostingPhysical(); this.selectInventTransPostingFinancial(); } 2) Начинаем раскручивать в зад (отнимать) физичечкое количество через складские проводки физического документа .(т.е. то что прошло по отборочной накладной) 3) Начинаем раскручивать в зад финансовое количество через проводки финансового документа(т.е. то что прошло по накладной). Самая главная функция это setValueQty. Здесь вся логика. |
|
27.06.2008, 15:25 | #6 |
Модератор
|
Цитата:
Сообщение от miklenew
Где вы нашли физ доступно? Или через чего вы пришли к такому выводу?
Это не правильный вывод. Никак. Не через этот класс ни через какой нибудь другой. Физические запасы это термин который вы ввели и формулу вы написали. С учётом этой формулы ни как. А здесь я просто не понял к чему это вы. в таблице с полями Физически доступно PhysicalQuantity Это расчетный метод. Именно это количество показывается в форме В Наличии в колонке Физически доступно. |
|
27.06.2008, 15:46 | #7 |
Участник
|
Цитата:
Сообщение от Poleax
это я нашел в http://axapta.mazzy.ru/lib/inventsumdate/
в таблице с полями Физически доступно Здесь правильно написано. Но здесь же не написано что это физ доступно на дату. PhysicalQuantity Это расчетный метод. Именно это количество показывается в форме В Наличии в колонке Физически доступно. Что в моём понимание физически доступное количество на дату. Это допустим сегодня я зашёл в систему зарезервировать номенклатуру. И вижу физ доступно столько-то. Прошло 10 дней. И вот физ доступно на 10 дней назад вы не найдёте. Почему? Потому что вы не найдёте информацию о том сколько было зарезервировано этой номенклатуры. Так как эта информация безвозвратно теряется после физического движения. И честно говоря непонятно зачем эта информация может понадобиться. Последний раз редактировалось miklenew; 27.06.2008 в 15:49. |
|
27.06.2008, 16:06 | #8 |
Участник
|
В лом было, но посмотрел на форму в наличие.
Физ доступно идёт из таблицы InventSum метод X++: display InventQtyAvailPhysical availPhysical() { return (this.physicalInvent() - this.reservPhysical); } Ошиблись похоже авторы статьи в утверждении что Цитата:
PhysicalQuantity - Это расчетный метод. Именно это количество показывается в форме В Наличии в колонке Физически доступно.
|
|
27.06.2008, 18:16 | #9 |
Модератор
|
И чем же они ошиблись?
по идеи на текущее время Физ доступно из таблицы InventSum должно совпадать с результатом PhysicalQuantity из класса InventSumDateValueReportDim. Про класс InventSumDateValueReportDim на заданное время расчитывает остатки.. если текущую дату поставить он вам тоже самой что и методы InventSum и выдаст. Ошибки здесь нет. >>В лом было, но посмотрел на форму в наличие. не влом.. смотрел. думал об классе InventSumDateValueReportDim, может внем что и не досказано. И как по вашему используя InventSum получить к примеру остатки по номенклатуре месяц назад? |
|
27.06.2008, 18:43 | #10 |
Участник
|
Я написал в чём, в том, что PhysicalQuantity это не то количество, которое идёт в форме В наличие под названием физ. доступно.
Цитата:
Сообщение от Poleax
по идеи на текущее время Физ доступно из таблицы InventSum должно совпадать с результатом PhysicalQuantity из класса InventSumDateValueReportDim.
Про класс InventSumDateValueReportDim на заданное время расчитывает остатки.. если текущую дату поставить он вам тоже самой что и методы InventSum и выдаст. Есть. Не ошибается, тот кто ничего не пишет. Я писал про себя. Что мне влом было. Смотрим. X++: display InventQtyPhysicalOnhand physicalInvent() { return this.postedQty + this.received - this.deducted + this.registered - this.picked; } X++: display InventQtyAvailPhysical availPhysical() { return (this.physicalInvent() - this.reservPhysical); } X++: display InventQtyAvailPhysical availPhysical() { return this.postedQty + this.received - this.deducted + this.registered - this.picked - this.reservPhysical); } X++: display InventQty physicalQuantity() { return this.postedQty() - this.deductedQty() + this.receivedQty() + this.registeredQty() - this.pickedQty(); } Последний раз редактировалось miklenew; 27.06.2008 в 19:04. |
|
30.06.2008, 17:38 | #11 |
Модератор
|
miklenew смотри как хорошо ты раскопал. В итоге и ответил на мой вопрос.
Получается в http://axapta.mazzy.ru/lib/inventsum...recomendations (выше таблица) Физически доступно != PhysicalQuantity (ошибочное описание в статье "Как получить складские остатки на произвольную дату в Microsoft Axapta") а PhysicalQuantity из класса является по аналогии с InventSum - Физическами запасами (как в форме В наличии) inventSum.physicalInventUnit в классе InventSumDateValueReportDim.PhysicalQuantity() X++: display InventQty physicalQuantity() { return this.postedQty() - this.deductedQty() + this.receivedQty() + this.registeredQty() - this.pickedQty(); } X++: display InventQtyPhysicalOnhand physicalInvent() { return this.postedQty + this.received - this.deducted + this.registered - this.picked; } Спасибо. Последний раз редактировалось Poleax; 30.06.2008 в 17:46. |
|
30.06.2008, 18:04 | #12 |
Модератор
|
Осталось только определиться с понятием - себестоимость запасов в наличии на дату, с учитывая коррекции (к примеру если InventTrans там есть поле коррекции CostAmountAdjustment)
Я беру Разнесено физически - PostedPhysicalValue Правильно? |
|
01.07.2008, 15:27 | #13 |
Модератор
|
надо оказывается PostedValue. ;-)
|
|