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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 29.05.2006, 17:16   #1  
angler is offline
angler
Участник
 
10 / 10 (1) +
Регистрация: 28.09.2005
Адрес: г.Калининград
остатки товара по поставщику и уровню асс. классификатора
Есть отчет который считает остатки на дату в разрезе аналитки по складу и поставщику используя метод стандартного класса InventSumDatePhysicalDim:nHandQty( ...) http://axapta.mazzy.ru/lib/inventsum...atePhysicalDim.
Но работает он с поставщиком почему то не-корректно, по всем поставщикам одна и та же сумма, вообщем что-то не так, из-за чего это может быть?
Почему не работает с поставщиком?
Пример кода:
void initFromDateOnHand(TransDate _transdate, ItemId _itemId, InventLocationId _InventLocationId, VendAccount _vendAccount = '')
{
VendInvoiceTrans lastVendInvoiceTrans = VendInvoiceTrans::findLast(_itemId, _transDate, _vendAccount);
RetailShopItem retailShopItem = RetailShopItem::find(InventLocation::find(_InventLocationId).InventLocationId, _itemId);

InventDim inventDim;
InventDimParm InventDimParm;
InventTrans inventTrans;
;

inventDim.InventLocationId = _InventLocationId;

inventDim.VendAccount = _vendAccount;
InventDimParm.VendAccountFlag = NoYes::Yes;

InventDimParm.InventLocationIdFlag = NoYes::Yes;
InventDimParm.ItemIdFlag = NoYes::Yes;

this.ItemId = _itemId;
this.ItemRangeId = InventTable::find(_itemId).ItemRangeId;

this.Qty = InventSumDatePhysicalDim:nHandQty(_transdate, _itemId, inventDim, InventDimParm);

if ( lastVendInvoiceTrans )
{
this.Price = lastVendInvoiceTrans.costValue() / lastVendInvoiceTrans.Qty;
this.CostAmount = this.Price * this.Qty;
}
else
{
if ( this.Qty )
{
this.CostAmount = InventSumFinancial::newParameters(_transdate, _itemId, inventDim, InventDimParm).value();
this.Price = this.CostAmount / this.Qty;
}
}

this.RetailPrice = retailShopItem.RetailPrice;
this.RetailAmount = retailShopItem.RetailPrice * this.Qty;

}
Старый 29.05.2006, 17:27   #2  
MironovI is offline
MironovI
Участник
 
724 / 77 (4) ++++
Регистрация: 30.05.2005
В макрос который джойнит InventDim (#InventDimJoin) добавлен поставщик?
Старый 29.05.2006, 18:25   #3  
angler is offline
angler
Участник
 
10 / 10 (1) +
Регистрация: 28.09.2005
Адрес: г.Калининград
Должен быть добавлен, хотя надо уточнить
Старый 29.05.2006, 18:27   #4  
angler is offline
angler
Участник
 
10 / 10 (1) +
Регистрация: 28.09.2005
Адрес: г.Калининград
Что-то типа этого
(%2.VendAccount == %3.VendAccount || ! %4.VendAccountFlag) &&
Старый 29.05.2006, 18:43   #5  
MironovI is offline
MironovI
Участник
 
724 / 77 (4) ++++
Регистрация: 30.05.2005
Ну тады идей больше нет
Старый 30.05.2006, 10:33   #6  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,701 / 1195 (43) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Может, в 3.0 или у Вас лично что-то и изменили, но вообще-то, у артикула есть еще конфигурация. Это должен быть 3 параметр после _itemId.

this.Qty = InventSumDatePhysicalDim:onHandQty(_transdate, _itemId, _configId, inventDim, InventDimParm);
Старый 30.05.2006, 11:39   #7  
angler is offline
angler
Участник
 
10 / 10 (1) +
Регистрация: 28.09.2005
Адрес: г.Калининград
У нас стоит 3.0 сервис пак. Да что-то в Корусе дописали, а _configId за что отвечает?
Старый 30.05.2006, 12:42   #8  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,701 / 1195 (43) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Цитата:
Сообщение от angler
У нас стоит 3.0 сервис пак. Да что-то в Корусе дописали, а _configId за что отвечает?
Конфигурация - это возможность указать из чего состоит конкретный артикул, если его состав может быть разным.

Например, артикул "Ручка шариковая", но может иметь как синий, так и черный стержень. Артикул один, но состав (конфигурация) - разные.

Обычно это используется в производстве (модуль "Спецификации"). Если конфигурация не используется, то можно явно указывать пустую строку (подряд две кавычки)

this.Qty = InventSumDatePhysicalDim:onHandQty(_transdate, _itemId, "", inventDim, InventDimParm);

Но, вообще-то, лучше посмотри сам статический метод onHandQty на предмет того, какие параметры ему требуются. Может, лично у Вас что-то "подправили".
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Остатки по поставщику в основной валюте oveli DAX: Функционал 2 29.10.2007 15:58
Остатки товара на определенную дату Lucky13 DAX: Программирование 7 27.03.2007 14:27
Возврат товара поставщику!!!!!!! КАК??? Maxxx DAX: Функционал 6 18.10.2005 15:29
Возврат товара поставщику через 76 счет tolstjak DAX: Функционал 1 27.01.2005 15:32
Физическая себестоимость товара Алексей Контев DAX: Функционал 5 22.08.2002 20:18

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

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

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