AXForum  
Zurück   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Kennwort vergessen?
Registrieren Forum Rules Hilfe Benutzerliste Heutige Beiträge Suchen Alle Foren als gelesen markieren

 
 
Themen-Optionen Thema durchsuchen Ansicht
Alt 26.06.2008, 19:20   #1  
Poleax ist offline
Poleax
Модератор
Benutzerbild von Poleax
MCP
MCBMSS
Злыдни
 
1.353 / 595 (22) +++++++
Registriert seit: 17.02.2005
Ort: msk
Blog-Einträge: 34
:( класс InventSumDateValueReportDim Физические запасы?
Работая со строкой таблицы складских проводок. Надо для номенклатуры получить остаток на дату.
Использую класс InventSumDateValueReportDim (http://axapta.mazzy.ru/lib/inventsumdate/)

Класс может возвратить Физически доступно PhysicalQuantity (аналогичное значение получается Управление запасами\запросы\В наличии.) Вкладка в наличии\в наличии.- Физ. доступно.

Как мне получить значение - Физические запасы используя класс InventSumDateValueReportDim ?

P.S. Физические запасы = Физ. доступно + Физ. зарезервировано.
через класс InventSumDateValueReportDim можно получить Физ. зарезервировано.?

если нет то как получить Физические запасы остатком на дату?
2) Получить Себестоимость запасов в наличии на дату, учитывая коррекции. (это уже из оперы про коррекцию InventTrans.CostAmountAdjustment)
Alt 27.06.2008, 11:18   #2  
kashperuk ist offline
kashperuk
Участник
Benutzerbild von kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4.361 / 2084 (78) +++++++++
Registriert seit: 30.05.2004
Ort: Atlanta, GA, USA
Система не хранит данные о том, сколько товара было зарезервированно на определенную дату. Поэтому так ставить задачу неверно. Это может иметь смысл только в случае вычисления запасов на текущую дату.
Alt 27.06.2008, 12:09   #3  
Poleax ist offline
Poleax
Модератор
Benutzerbild von Poleax
MCP
MCBMSS
Злыдни
 
1.353 / 595 (22) +++++++
Registriert seit: 17.02.2005
Ort: msk
Blog-Einträge: 34
класс InventSumDateValueReportDim как раз и вычисляет остаток на введенную дату.
и кол-во и себестоимость.
Я как раз и спрашиваю с помощью класса InventSumDateValueReportDim можно ли получить ответ на вопрос о Физ. зарезервировано или Физические запасы?

или надо эти значения как то вычислять чере inventSum ?
Alt 27.06.2008, 12:55   #4  
miklenew ist offline
miklenew
Участник
Benutzerbild von miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1.688 / 438 (18) +++++++
Registriert seit: 10.07.2006
Ort: г. Ликино-Дулёво
Zitat:
Zitat von Poleax Beitrag anzeigen
Работая со строкой таблицы складских проводок. Надо для номенклатуры получить остаток на дату.
Использую класс InventSumDateValueReportDim (http://axapta.mazzy.ru/lib/inventsumdate/)
Класс может возвратить Физически доступно PhysicalQuantity (аналогичное значение получается Управление запасами\запросы\В наличии.) Вкладка в наличии\в наличии.- Физ. доступно.
Где вы нашли физ доступно? Или через чего вы пришли к такому выводу?
Это не правильный вывод.
Zitat:
Zitat von Poleax Beitrag anzeigen
Как мне получить значение - Физические запасы используя класс InventSumDateValueReportDim ?
P.S. Физические запасы = Физ. доступно + Физ. зарезервировано.
через класс InventSumDateValueReportDim можно получить Физ. зарезервировано.?
Никак. Не через этот класс ни через какой нибудь другой.
Zitat:
Zitat von Poleax Beitrag anzeigen
если нет то как получить Физические запасы остатком на дату?
Физические запасы это термин который вы ввели и формулу вы написали.
С учётом этой формулы ни как.
Zitat:
Zitat von Poleax Beitrag anzeigen
2) Получить Себестоимость запасов в наличии на дату, учитывая коррекции. (это уже из оперы про коррекцию InventTrans.CostAmountAdjustment)
А здесь я просто не понял к чему это вы.
Alt 27.06.2008, 13:07   #5  
miklenew ist offline
miklenew
Участник
Benutzerbild von miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1.688 / 438 (18) +++++++
Registriert seit: 10.07.2006
Ort: г. Ликино-Дулёво
Вы поймите как работают классы наследники от InventSumDate
X++:
protected  void setValueQty()
{
    this.selectInventSum();
    this.selectInventTransPostingPhysical();
    this.selectInventTransPostingFinancial();

}
1) Берём остатки по номенклатуре (на текущую дату)
2) Начинаем раскручивать в зад (отнимать) физичечкое количество через складские проводки физического документа .(т.е. то что прошло по отборочной накладной)
3) Начинаем раскручивать в зад финансовое количество через проводки финансового документа(т.е. то что прошло по накладной).
Самая главная функция это setValueQty. Здесь вся логика.
Alt 27.06.2008, 15:25   #6  
Poleax ist offline
Poleax
Модератор
Benutzerbild von Poleax
MCP
MCBMSS
Злыдни
 
1.353 / 595 (22) +++++++
Registriert seit: 17.02.2005
Ort: msk
Blog-Einträge: 34
Zitat:
Zitat von miklenew Beitrag anzeigen
Где вы нашли физ доступно? Или через чего вы пришли к такому выводу?
Это не правильный вывод.

Никак. Не через этот класс ни через какой нибудь другой.

Физические запасы это термин который вы ввели и формулу вы написали.
С учётом этой формулы ни как.

А здесь я просто не понял к чему это вы.
это я нашел в http://axapta.mazzy.ru/lib/inventsumdate/
в таблице с полями

Физически доступно
PhysicalQuantity
Это расчетный метод. Именно это количество показывается в форме В Наличии в колонке Физически доступно.
Alt 27.06.2008, 15:46   #7  
miklenew ist offline
miklenew
Участник
Benutzerbild von miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1.688 / 438 (18) +++++++
Registriert seit: 10.07.2006
Ort: г. Ликино-Дулёво
Zitat:
Zitat von Poleax Beitrag anzeigen
это я нашел в http://axapta.mazzy.ru/lib/inventsumdate/
в таблице с полями
Физически доступно
Здесь правильно написано. Но здесь же не написано что это физ доступно на дату.
PhysicalQuantity
Это расчетный метод. Именно это количество показывается в форме В Наличии в колонке Физически доступно.
Здесь физ доступно на текущую дату.
Что в моём понимание физически доступное количество на дату.
Это допустим сегодня я зашёл в систему зарезервировать номенклатуру.
И вижу физ доступно столько-то.
Прошло 10 дней.
И вот физ доступно на 10 дней назад вы не найдёте.
Почему? Потому что вы не найдёте информацию о том сколько было зарезервировано этой номенклатуры. Так как эта информация безвозвратно теряется после физического движения.
И честно говоря непонятно зачем эта информация может понадобиться.

Geändert von miklenew (27.06.2008 um 15:49 Uhr)
Alt 27.06.2008, 16:06   #8  
miklenew ist offline
miklenew
Участник
Benutzerbild von miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1.688 / 438 (18) +++++++
Registriert seit: 10.07.2006
Ort: г. Ликино-Дулёво
В лом было, но посмотрел на форму в наличие.
Физ доступно идёт из таблицы InventSum метод
X++:
display InventQtyAvailPhysical availPhysical()
{
    return (this.physicalInvent() - this.reservPhysical);
}
А вот теперь попытайтесь в классах InventSumDate найти префикс reserv.
Ошиблись похоже авторы статьи в утверждении что
Zitat:
PhysicalQuantity - Это расчетный метод. Именно это количество показывается в форме В Наличии в колонке Физически доступно.
Alt 27.06.2008, 18:16   #9  
Poleax ist offline
Poleax
Модератор
Benutzerbild von Poleax
MCP
MCBMSS
Злыдни
 
1.353 / 595 (22) +++++++
Registriert seit: 17.02.2005
Ort: msk
Blog-Einträge: 34
И чем же они ошиблись?
по идеи на текущее время Физ доступно из таблицы InventSum должно совпадать с результатом PhysicalQuantity из класса InventSumDateValueReportDim.
Про класс InventSumDateValueReportDim на заданное время расчитывает остатки.. если текущую дату поставить он вам тоже самой что и методы InventSum и выдаст.

Ошибки здесь нет.

>>В лом было, но посмотрел на форму в наличие.
не влом.. смотрел.
думал об классе InventSumDateValueReportDim, может внем что и не досказано.
И как по вашему используя InventSum получить к примеру остатки по номенклатуре месяц назад?
Alt 27.06.2008, 18:43   #10  
miklenew ist offline
miklenew
Участник
Benutzerbild von miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1.688 / 438 (18) +++++++
Registriert seit: 10.07.2006
Ort: г. Ликино-Дулёво
Zitat:
Zitat von Poleax Beitrag anzeigen
И чем же они ошиблись?
Я написал в чём, в том, что PhysicalQuantity это не то количество, которое идёт в форме В наличие под названием физ. доступно.
Zitat:
Zitat von Poleax Beitrag anzeigen
по идеи на текущее время Физ доступно из таблицы InventSum должно совпадать с результатом PhysicalQuantity из класса InventSumDateValueReportDim.
Про класс InventSumDateValueReportDim на заданное время расчитывает остатки.. если текущую дату поставить он вам тоже самой что и методы InventSum и выдаст.
То что 2+2=1+3, не значит что это всё равно 10+11.
Zitat:
Zitat von Poleax Beitrag anzeigen
Ошибки здесь нет.
Есть. Не ошибается, тот кто ничего не пишет.
Zitat:
Zitat von Poleax Beitrag anzeigen
>>В лом было, но посмотрел на форму в наличие.
не влом.. смотрел.
Я писал про себя. Что мне влом было.
Смотрим.
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();
}
6 параметоров и 5. Вот поэтому они и разные.

Geändert von miklenew (27.06.2008 um 19:04 Uhr)
Alt 30.06.2008, 17:38   #11  
Poleax ist offline
Poleax
Модератор
Benutzerbild von Poleax
MCP
MCBMSS
Злыдни
 
1.353 / 595 (22) +++++++
Registriert seit: 17.02.2005
Ort: msk
Blog-Einträge: 34
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();
}
в InventSum.physicalinventUnit()

X++:
display InventQtyPhysicalOnhand physicalInvent()
{
    return this.postedQty + this.received - this.deducted + this.registered - this.picked;
}
мне как раз Физические запасы и нужны.
Спасибо.

Geändert von Poleax (30.06.2008 um 17:46 Uhr)
Alt 30.06.2008, 18:04   #12  
Poleax ist offline
Poleax
Модератор
Benutzerbild von Poleax
MCP
MCBMSS
Злыдни
 
1.353 / 595 (22) +++++++
Registriert seit: 17.02.2005
Ort: msk
Blog-Einträge: 34
Осталось только определиться с понятием - себестоимость запасов в наличии на дату, с учитывая коррекции (к примеру если InventTrans там есть поле коррекции CostAmountAdjustment)

Я беру Разнесено физически - PostedPhysicalValue
Правильно?
Alt 01.07.2008, 15:27   #13  
Poleax ist offline
Poleax
Модератор
Benutzerbild von Poleax
MCP
MCBMSS
Злыдни
 
1.353 / 595 (22) +++++++
Registriert seit: 17.02.2005
Ort: msk
Blog-Einträge: 34
надо оказывается PostedValue. ;-)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Вспомогательный класс для импорта из Excel через ADO gl00mie DAX: База знаний и проекты 80 10.04.2017 10:55
Проблема с передачей контролов из формы в класс matew DAX: Программирование 0 28.04.2008 17:37
Отчет Физ.запасы по складам(Ax 3.0) Lyuboff DAX: Функционал 5 21.08.2007 11:45
Класс двумерного массива Владимир Максимов DAX: База знаний и проекты 29 30.04.2004 19:05
Класс xSysLastValue Maxim Gorbunov DAX: База знаний и проекты 0 27.11.2001 17:39
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Gehe zu

Рейтинг@Mail.ru
Alle Zeitangaben in WEZ +3. Es ist jetzt 09:07 Uhr.
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.