首页 > 解决方案 > 如何使用 x++ 从字符串字段自动填充查找字段?

问题描述

我是 d365 财务和运营部门的新员工

我有一个表格和字段。每次我输入这些字段之一的新记录时,它们的值应该连接起来,并将组合文本放入“详细信息”字段。2 个字段是字符串,我为它们使用修改事件,但另一个字段是查找。如何将查找字段中的“名称”字段写入“详细信息”字段?如果有人帮助我,我将不胜感激。

这是我的字符串字段代码;

[
    FormDataFieldEventHandler(formDataFieldStr(InventSite, InventSite, Field1), FormDataFieldEventType::Modified),
    FormDataFieldEventHandler(formDataFieldStr(InventSite, InventSite, Field2), FormDataFieldEventType::Modified)
   
]
public static void Field1_OnModified(FormDataObject sender, FormDataFieldEventArgs e)
    {
        // get the form DataSource
        FormDataSource dataSource = sender.datasource();
    
        // get current record
        InventSite inventSite = dataSource.cursor();
        
        
    
        // contatenate string values
        str details = strFmt("%1, %2",  inventSite.Field1, inventSite.Field2);
        

这是我的查找字段。非常感谢您... 我的查找字段

如果我需要更清楚地解释,我想要得到的值在参考组中(类型:int64)我需要得到它的'name(控件名称)'值,和其他人一样(field1和field2,我需要它自动写入“详细信息”字段。请帮助...

标签: dynamics-crmmicrosoft-dynamicsaxaptax++dynamics-365

解决方案


为您创建静态findByRecId方法LookupTable(如果它是标准表,请使用类扩展)。然后修改你的代码:

[
    FormDataFieldEventHandler(formDataFieldStr(InventSite, InventSite, Field1), FormDataFieldEventType::Modified),
    FormDataFieldEventHandler(formDataFieldStr(InventSite, InventSite, Field2), FormDataFieldEventType::Modified)
    FormDataFieldEventHandler(formDataFieldStr(InventSite, InventSite, Field3), FormDataFieldEventType::Modified)      
]
public static void Field1_OnModified(FormDataObject sender, FormDataFieldEventArgs e)
    {
        // get the form DataSource
        FormDataSource dataSource = sender.datasource();
    
        // get current record
        InventSite inventSite = dataSource.cursor();            
               
        // contatenate string values
        str details = strFmt("%1, %2, %3",  inventSite.Field1, inventSite.Field2, LookupTable::findByRecId(inventSite.Field3).Name);

推荐阅读