Axapta OpenTrans网格上的特定尺寸
我的任务是在VendOpenTrans中添加一个具有特定维度的字段。我已将DimensionAttributeValueSet、DimensionAttributeValueSetItem、DimensionAttributeValue和DimensionAttribute添加到VendOpenTrans表中的数据源中 在它们的属性中,我使用InnerJoin链接类型进行了连接(连接源)(我尝试了这里的所有选项)。然后,我从DimensionAttributeValueSetItem->DisplayValue(字段名)在我的网格上添加了一个字段 现在在VendOpenTrans的ExecuteQuery方法中,我添加了一个代码:Axapta OpenTrans网格上的特定尺寸,axapta,dynamics-ax-2012,dimensions,Axapta,Dynamics Ax 2012,Dimensions,我的任务是在VendOpenTrans中添加一个具有特定维度的字段。我已将DimensionAttributeValueSet、DimensionAttributeValueSetItem、DimensionAttributeValue和DimensionAttribute添加到VendOpenTrans表中的数据源中 在它们的属性中,我使用InnerJoin链接类型进行了连接(连接源)(我尝试了这里的所有选项)。然后,我从DimensionAttributeValueSetItem->Disp
public void executeQuery()
{
/*QueryBuildRange dimensionAttributeValueSetRange;
;
dimensionAttributeValueSetRange = this.query().dataSourceTable(tableNum(DimensionAttribute)).addRange(fieldNum(DimensionAttribute, Name ));
dimensionAttributeValueSetRange.value('MyDimensionName');
super();
}
最终的结果是,我有了一个新的过滤器和我的维度。所以我在我的网格记录中没有看到在这个维度中有空值的记录
我想实现的是显示“MyDimensionName”的值(如果已填充),但如果未填充,则应仅显示一个空值
我花了这么多时间,但仍然没有解决问题…在AX 2012中选择特定维度是非常棘手的,这是毫无道理的,但这种方法可能会有所帮助:
static void queryDimensionUpdate(LedgerDimensionAccount _dimension, Query _q, str _dataSourceName, FieldName _field = fieldStr(GeneralJournalAccountEntry,LedgerDimension))
{
DimensionStorageSegment segment;
DimensionStorage storage = DimensionStorage::findById(_dimension);
DimensionProvider provider = new DimensionProvider();
DimensionAttributeValue value;
Name name;
int segmentCount;
int s;
if (storage)
{
segmentCount = storage.segmentCount();
for (s = 1; s <= segmentCount; s++)
{
segment = storage.getSegment(s);
if (segment.parmDimensionAttributeValueId())
{
name = DimensionAttribute::find(DimensionAttributeValue::find(segment.parmDimensionAttributeValueId()).DimensionAttribute).Name;
//info(strFmt('%1: %2, %3', name, segment.parmDisplayValue(), segment.getName()));
provider.addAttributeRangeToQuery(_q, _dataSourceName, _field, DimensionComponent::DimensionAttribute, segment.parmDisplayValue(), name);
}
}
}
}
static void queryDimensionUpdate(ledgerdimmensionaccount\u dimension,Query\u q,str\u dataSourceName,FieldName\u field=fieldStr(GeneralJournalAccountEntry,ledgerdimmension))
{
数据段;
维度存储=维度存储::findById(_维度);
DimensionProvider=新的DimensionProvider();
维度属性值;
姓名;
整数段计数;
int-s;
if(存储)
{
segmentCount=storage.segmentCount();
对于(s=1;s)