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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 21.03.2005, 09:42   #1  
DreamCreator is offline
DreamCreator
Moderator
Аватар для DreamCreator
Axapta Retail User
 
553 / 45 (3) +++
Регистрация: 04.11.2004
Адрес: Казань
PhysicalInvent
Доброе утро!

Корректно ли таким образом считать количество в наличии по склау:

PHP код:
static void QtyOnHand(Args _args)
{
    
InventSum   inventSum;
    
InventDim   inventDim;
    ;

    
inventDim.clear();
    
inventDim.InventLocationId 'MyWarehouse';
    
inventDim InventDim::findOrCreate(inventDim);

    while 
select inventSum 
        join inventDim
            where   inventSum
.InventDimId == inventDim.inventDimId
            
{
                print 
strfmt("%1    %2",inventSum.ItemId,inventSum.physicalInvent());
            }
   
pause;

?
Старый 21.03.2005, 10:15   #2  
George Nordic is offline
George Nordic
Модератор
Аватар для George Nordic
Злыдни
 
4,479 / 1250 (50) ++++++++
Регистрация: 17.12.2003
Адрес: Moscow
Записей в блоге: 9
Слушай, что-то мудрено

Посмотри класс inventOnHand - по-моему это то, что тебе надо!

С Уважением,
Георгий.
Старый 21.03.2005, 12:24   #3  
Chris2005
Гость
 
n/a
DreamCreator

Так совсем неправильно. Если с классом разбираться влом, запрос надо писать типа такого:

PHP код:
    InventSum           inventSum;
    
InventDim           inventDim;
    
InventLocationId    invId   "111";
    
ItemId                       itemId  "xxx";
    ;

    
select 
        sum
(physicalInventfrom
        inventSum
            where
                inventSum
.ItemId            == itemId
        join
        inventDim
            group by inventLocationId
            where
                inventSum
.InventDimId       ==  inventDim.inventDimId
             
&& inventDim.InventLocationId  ==  invId;

    
info(strfmt("%1"inventSum.PhysicalInvent)); 
Еще есть макросы для линковки InventDim.
Старый 21.03.2005, 12:32   #4  
DreamCreator is offline
DreamCreator
Moderator
Аватар для DreamCreator
Axapta Retail User
 
553 / 45 (3) +++
Регистрация: 04.11.2004
Адрес: Казань
Спасибо!
Я написал так:

PHP код:
static void QtyOnHand(Args _args)
{
    
InventDim       inventDim;
    
InventDimParm   inventDimParm;
    
ItemId          itemId;
    ;

    
itemId '000000001';

    
inventDim.InventLocationId 'MyWarehouse';

    
inventDimParm.InventLocationIdFlag NoYes::Yes;

    print 
InventOnHand::newParameters(itemId,inventDim,inventDimParm,false).physicalInvent();

    
pause;

Старый 21.03.2005, 13:03   #5  
Recoilme is offline
Recoilme
злыдень
Аватар для Recoilme
Злыдни
 
895 / 192 (8) ++++++
Регистрация: 18.06.2003
Цитата:
Изначально опубликовано Chris2005
DreamCreator

Так совсем неправильно. Если с классом разбираться влом, запрос надо писать типа такого:

PHP код:
    InventSum           inventSum;
    
InventDim           inventDim;
    
InventLocationId    invId   "111";
    
ItemId                       itemId  "xxx";
    ;

    
select 
        sum
(physicalInventfrom
        inventSum
            where
                inventSum
.ItemId            == itemId
        join
        inventDim
            group by inventLocationId
            where
                inventSum
.InventDimId       ==  inventDim.inventDimId
             
&& inventDim.InventLocationId  ==  invId;

    
info(strfmt("%1"inventSum.PhysicalInvent)); 
Еще есть макросы для линковки InventDim.
А как же WHERE InventSum.closed =0 ?????

Старый 21.03.2005, 18:57   #6  
Chris2005
Гость
 
n/a
Recoilme

InventSum.closed == NoYes::No

=)
 


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

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

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