D365表单添加字段后前端显示值异常问题咨询
Dynamics 365 Finance & Operations: 解决SubbillDeferralScheduleTable表单显示SalesTable付款条款异常问题
先确认数据源关联逻辑
打开SubbillDeferralScheduleTable表单设计,找到主数据源节点,检查它和SalesTable的关联是否正确——必须通过SalesId字段建立有效关联。如果没有关联,直接在SubbillDeferralScheduleTable数据源的Relations里添加指向SalesTable的关联规则,匹配字段选SalesId。两种正确添加字段的方式
- 关联次级数据源
在表单数据源里新增SalesTable,把它的LinkType设为Active,关联字段绑定到SubbillDeferralScheduleTable的SalesId。之后直接从SalesTable数据源里把Payment字段拖到表单的订单头区域就行。 - 自定义显示方法
如果不想加数据源,就在SubbillDeferralScheduleTable表里写个显示方法:
写完同步表结构,回到表单设计,加个字符串控件,把它的DataMethod设成这个display CustPaymTermId salesPaymentTerm() { SalesTable salesTable; select firstonly Payment from salesTable where salesTable.SalesId == this.SalesId; return salesTable.Payment; }salesPaymentTerm,EDT选CustPayterm ID。
- 关联次级数据源
排查你之前的问题根源
手动输入SalesTable的Payment方法没用,是因为表单当前上下文是SubbillDeferralScheduleTable,跨表直接引用方法必须有正确的行级关联;只显示首个订单的付款条款,就是因为没有建立行级关联,导致所有行都取了第一条查询到的SalesTable数据,而非当前行对应的订单数据。最后验证
保存修改、同步表结构后,打开表单切换不同销售订单,检查付款条款是否随订单行正确变化。
内容的提问来源于stack exchange,提问作者Saba Iqbal
相关产品推荐
相关产品推荐

