如何将 XML 中的字符串值插入到 AX 中的偏移帐户分段文本框?

how to insert a string value from an XML to the offset account segmented textbox in AX?

我正在尝试将值插入 抵销帐户类型

的分段文本框中


我将放置字符串,我将只放置主帐户和成本中心的值,其余的将不适用(零)

offsetcon = [lineItemsNode.selectSingleNode("GLAccount").text(), "00","00",lineItemsNode.selectSingleNode("CostCenter").text(),"0000","000","000","00000","000","00"];
            trans.parmOffsetLedgerDimension(AxdDimensionUtil::getLedgerAccountId(offsetcon));

我已经尝试了上面的代码,但我得到了

的错误

Main Acount 00 does not exist

据我所知,Main Account 是容器中的第一个索引,错误提示它不是。

据我了解...

offset account有一个分段值,如果你要传一个string/text给它,它必须放在一个容器里。

offsetContainer =[ MainAccount, MainAccount, *Number of Dimensions*, *Name of the Dimension*, *Value of the Dimension*, ... ]; 

... - 意味着可以添加更多。 忽略星号 ()。*

前两段是MainAccount(第一段我真的不太确定,如果我错了请指正。但我已经研究过它并且它具有与第二个不同的值,在我的例子中,我使用了与第二个部分相同的值并且它对我有用。),然后下一个是 维数 。这是您要在 MainAccountId 之后放置一个值的段数,然后 维度的名称 是段的名称。最后,维度的值这是您要分配给刚刚命名的维度的值。

下面是一个细分示例。

下面是您将如何对容器进行编码:

offsetContainer = [ 1101006, 
                    1101006, 
                    5, 
                    'BudORProject',
                    '00',
                    'Local_OverSeas',
                    '00',
                    'ProfitCenter',
                    '0000',
                    'Hub',
                    '000' 
                            ];

因此,由于 MainAccount 之后还有 5 个段,5维数 的值。 *

现在在您的代码中使用它:

AxLedgerJournalTrans    trans   = new AxLedgerJournalTrans();
trans.parmOffsetLedgerDimension(AxdDimensionUtil::getLedgerAccountId(offsetcon));

不要忘记使用 AxdDimensionUtil::getLedgerAccountId 方法放置容器,如上所示。