AX 2012 帐户结构的自动填充部分

AX 2012 Auto-fill part of Account structure

我想知道是否可以开发以下功能。 我有这个帐户结构的配置:

这是日记创建为用户寻找的内容:

现在想开发一下,如果Lookup return 只有一个机会,那系统默认选择这个。 对于用户来说,这意味着他选择一个协议并跳过他选择 BusModel、Vessel、Owner 的步骤,只需选择 VAC。 有人有想法吗? BG詹姆斯

好的,我开发了另一个适合我的功能。

在方法 segmentValueChanged 的​​ class LedgerDimensionAccountController 中,我开发了这样的东西:

else if (strLen(newValue) > 0)
    {
        // First assume string is a record value
        dimAttributeValue = LedgerDimensionAccountController::getDimensionAttributeValueServer(dimAttributeId, newValue);
        //Custom Code
        try{
            agrdimAttr = dimensionAttribute::findByName("Agreement");
            if(dimAttributeId == agrdimAttr.RecId){
                busmodel = subStr(newValue, 12, 2);
                busModeldimAttr = dimensionAttribute::findByName("BusModel");
                dimAttributeValue2 = LedgerDimensionAccountController::getDimensionAttributeValueServer(busModeldimAttr.RecId, busmodel);
                vessel = subStr(newValue,1,4);
                vesdimAttr = dimensionAttribute::findByName("Vessel");
                dimAttributeValue3 = LedgerDimensionAccountController::getDimensionAttributeValueServer(vesdimAttr.RecId, vessel);
                automatic =true;
            }else{
                automatic =false;
            }
        }
        catch (Exception::Error)
        {
            automatic = false;
            info("Error");
        }
        //CustomCode

并且在方法的最后

this.setValue(segmentIndex, dimAttributeValue, newValue);
        if(automatic){
            segmentIndex++;
            this.setValue(segmentIndex, dimAttributeValue2, busmodel);
            segmentIndex++;
            this.setValue(segmentIndex, dimAttributeValue3, vessel);
        }

第一步,将检测来自 BusinessModel 和 Vessel 的 dimensionAttribute。然后我们得到 DimensionAttributeValue 并在第二个代码部分设置它。

BG 詹姆斯