axapta2009: сумма инвентаризаций на конкретную дату, фильтр по измерению - PullRequest
0 голосов
/ 01 апреля 2011

Мне нужно рассчитать сумму InvnetTrans'ов, которые имеют конкретные физические размеры [ventTransPosting.Dimension] на конкретную дату.Т.е. мне нужен аналог

select sum(CostAmountPosted) //other sums
     from InventTrans 
     where  InventTrans.transDate  < 3\3\2010
exists join InventTransPosted 
    where InventTransPosted.dimension[1] == 'XXX'
       && InventTransPosted.inventTransId == inventTrans.inventTransId
       && //other relations

. Можно рассчитать сумму InvenTrans с помощью классов InventSum *, фильтрующих InvenTranses по InventDim.Можно ли как-то фильтровать по не изобретательским размерам?Или нужно менять классы InventSum *?Прямо сейчас я не вижу, чтобы классы инвентаря * могли фильтроваться по измерениям.Может быть, я пропустил несколько занятий?

Ответы [ 3 ]

0 голосов
/ 01 апреля 2011

Вы можете сохранить - избыточно - amountPosted в таблице InventTransPosted, а затем создать соответствующий индекс.

Заполнение amountPosted в существующей транзакции может быть проблематичным.

Стоит ли оно того?Или вы могли бы использовать инструмент BI для составления вашего отчета?

0 голосов
/ 01 апреля 2011

Реструктурируйте свой выбор:

select sum(CostAmountPosted) //other sums
     from InventTrans 
exists join InventTransPosting
    where InventTransPosting.dimension[1] == 'XXX'
       && InventTransPosting.transDate  < 3\3\2010
       && InventTransPosting.inventTransId == inventTrans.inventTransId
       && InventTransPosting.itemId == inventTrans.itemId
       && //other relations

Создайте соответствующий индекс для InventTransPosting с Dimension[1] в качестве первого поля индекса и TransDate в качестве второго.

0 голосов
/ 01 апреля 2011

Взгляните на класс InventOnHand.

Он суммирует имеющиеся в наличии ценности на основе таких критериев, как идентификатор товара и измерения запасов (но не финансовые измерения).

Существует несколько методов конструктора для InventOnhand имя нового типа newInventBatch.

...