13.01.2005, 17:32 | #1 |
Участник
|
Расширение макроса InventDimJoin
Доброго времени суток!
Хотел добавить к указанному макросу следующую функциональность - группировку по "включенным" в InventDimParm полям Собственно получил такую конструкцию ------------------------------------------- /* %1 InventDim */ /* %2 InventDimCriteria */ /* %3 InventDimParm */ #DEFINE.CIF(%3.ConfigIdFlag) #DEFINE.ISzIF(%3.InventSizeIdFlag) #DEFINE.ICIF(3%InventColorIdFlag) #DEFINE.ILIF(3%.InventLocationIdFlag) #DEFINE.IBIF(3%.InventBatchIdFlag) #DEFINE.WLIF(3%.WMSLocationIdFlag) #DEFINE.WPIF(3%.WMSPalletIdFlag) #DEFINE.ISIF(3%.InventSerialIdFlag) #DEFINE.IGIF(3%.InventGTDIdFlag_RU) join * from %1 group by DataAreaId #IF.CIF(NoYes::Yes) ,ConfigId #ENDIF #IF.ISzIF(NoYes::Yes) ,InventSizeId #ENDIF #IF.ICIF(NoYes::Yes) ,InventColorId #ENDIF #IF.ILIF(NoYes::Yes) ,InventLocationId #ENDIF #IF.IBIF(NoYes::Yes) ,InventBatchId #ENDIF #IF.WLIF(NoYes::Yes) ,WMSLocationId #ENDIF #IF.WPIF(NoYes::Yes) ,WMSPalletId #ENDIF #IF.ISIF(NoYes::Yes) ,InventSerialId #ENDIF #IF.IGIF(NoYes::Yes) ,InventGTDId_RU #ENDIF where (%1.ConfigId == %2.ConfigId || ! %3.ConfigIdFlag) && (%1.InventSizeId == %2.InventSizeId || ! %3.InventSizeIdFlag) && (%1.InventColorId == %2.InventColorId || ! %3.InventColorIdFlag) && (%1.InventLocationId == %2.InventLocationId || ! %3.InventLocationIdFlag) && (%1.InventBatchId == %2.InventBatchId || ! %3.InventBatchIdFlag) && (%1.WMSLocationId == %2.WMSLocationId || ! %3.WMSLocationIdFlag) && (%1.WMSPalletId == %2.WMSPalletId || ! %3.WMSPalletIdFlag) && (%1.InventSerialId == %2.InventSerialId || ! %3.InventSerialIdFlag) && (%1.InventGTDId_RU == %2.InventGTDId_RU || ! %3.InventGTDIdFlag_RU) #InventDimDevelop ------------------------------------- Однако как показала все блоки условия #IF.___(NoYes::Yes) результируют ложь...и соответственно групировка не добавляется.. Внимание Вопрос! С чем сравнивать макропеременные ??? ЗЫ. Варианты #IF.CIF(1), #IF.CIF(true), #IF.CIF("Да")... положительного результата не принесли |
|
13.01.2005, 18:16 | #2 |
Moderator
|
Ну знаете ли! Макрос на момент компиляции уж точно не знает, что хранится в InventDimParm
__________________
Андрей. |
|
14.01.2005, 05:03 | #3 |
Участник
|
Работайте через классы Query и QueryRun - для них в InventDimParm есть замечательные методы начинающиеся на query* - например queryAddSortField и т.п.
|
|
14.01.2005, 10:30 | #4 |
Участник
|
Ага.. всем спасибо..!!!
|
|
|
Похожие темы | ||||
Тема | Ответов | |||
Расширение возможностей стандартных прав доступа | 2 | |||
Расширение запроса на форме InventOnHand | 5 | |||
Выборка с помощью макроса | 5 | |||
Dynamics AX Geek: #InventDimJoin | 0 | |||
Расширение .PFD | 1 |
|