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 詹姆斯
我想知道是否可以开发以下功能。 我有这个帐户结构的配置:
这是日记创建为用户寻找的内容:
现在想开发一下,如果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 詹姆斯