在 Dynamics 365 中为财务维度创建查找字段
已出版: 2025年2月16日 UTC 11:34:13
最后更新 2026年1月12日 UTC 08:56:19
本文解释了如何在 Dynamics 365 for Operations 中为财务维度创建查找字段,并提供了一个 X++ 代码示例。
为了使尽可能多的人能够访问本页面,本页面由英文机译而成。遗憾的是,机器翻译技术尚不完善,因此可能会出现错误。如果您愿意,可以在此处查看原始英文版本:
Creating a Lookup Field for a Financial Dimension in Dynamics 365
Creating a Lookup Field for a Financial Dimension in Dynamics 365
本文中的信息基于 Dynamics 365 for Operations,但其中大部分也适用于 Dynamics AX 2012(见下文)。
我最近的任务是创建一个新字段,该字段应能够指定一个财务维度,在本例中为“产品”。当然,新字段还应能够查找该维度的有效值。
这比在表中进行常规查找要复杂一些,但如果你知道方法,其实并不难。
幸运的是,标准应用程序提供了一个方便的查找表单(DimensionLookup),只要告诉它要查找哪个维度属性,就可以用于此目的。
首先,您需要创建表单字段本身。它可以基于表字段或编辑方法,对查找本身而言并不重要,但它必须以某种方式使用 DimensionValue 扩展数据类型。
接下来,您需要为该字段创建一个 OnLookup 事件处理程序。要创建事件处理程序,请右键单击该字段的 OnLookup 事件,然后选择“复制事件处理程序方法”。之后,您可以将一个空的事件处理程序方法粘贴到类中,并从那里进行编辑。
注意:大部分内容也适用于 Dynamics AX 2012,但您可以重写表单字段的查找方法,而不是创建事件处理程序。
事件处理程序必须类似于这样(根据需要替换表单名称和字段名称):
[
FormControlEventHandler(formControlStr( MyForm,
MyProductDimField),
FormControlEventType::Lookup)
]
public static void MyProductDimField_OnLookup( FormControl _sender,
FormControlEventArgs _e)
{
FormStringControl control;
Args args;
FormRun formRun;
DimensionAttribute dimAttribute;
;
dimAttribute = DimensionAttribute::findByName('Product');
args = new Args();
args.record(dimAttribute);
args.caller(_sender);
args.name(formStr(DimensionLookup));
formRun = classFactory.formRunClass(args);formRun.init();
control = _sender as FormStringControl;
control.performFormLookup(formRun);
}
FormControlEventHandler(formControlStr( MyForm,
MyProductDimField),
FormControlEventType::Lookup)
]
public static void MyProductDimField_OnLookup( FormControl _sender,
FormControlEventArgs _e)
{
FormStringControl control;
Args args;
FormRun formRun;
DimensionAttribute dimAttribute;
;
dimAttribute = DimensionAttribute::findByName('Product');
args = new Args();
args.record(dimAttribute);
args.caller(_sender);
args.name(formStr(DimensionLookup));
formRun = classFactory.formRunClass(args);formRun.init();
control = _sender as FormStringControl;
control.performFormLookup(formRun);
}
进一步阅读
如果您喜欢这篇文章,您可能还会喜欢这些建议:
