从 D365 FO、x++ 中的显示方法检索数据

问题描述 投票:0回答:1

我是 d365 的新手,由于显示方法的原因,我的任务遇到了一些问题。 我采用 LedgerJournalTransVendInvoice 形式,其中有“总金额”字段。检查该字段的属性,我可以看到它是一个连接到方法totalAmountSingleLine 的计算字段。这个方法是我表单的数据源中的一个显示方法,当然,显示方法最终返回我的项目中需要的 TotalAmount,以便与另一个名为 RemainingAmount 的字段相对应。关于我该怎么做有什么建议吗?我尝试了几种方法,但似乎都无法正常工作。[![这是形式的方案][1]][1] [1]:https://i.stack.imgur.com/YYwrd.png 这是我现在的代码,我尝试做的一切:

final class LedgerJournalTransVendInvoice_PostJournal_AzimutBenetti_Extension
{
    public void clicked(){
//    FormButtonControl formButtonControl = any2Object(this) as FormButtonControl;
//    FormDataSource formDataSource = formButtonControl.formRun().dataSource(tableStr(LedgerJournalTransVendInvoice));
//LedgerJournalTransVendInvoice ledgerJournalTransVendInvoice = formDataSource.cursor();

FormDataSource ledgerJournalTrans_ds = this.dataSourceObject();
        FormRun formRun = ledgerJournalTrans_ds.cursor().getFormRun();
        str totalAmountSingleLine = formRun.controlCallingMethod('totalAmountSingleLine');

        
    
    if(ledgerJournalTrans_ds.object().totalAmountSingleLine()){
        DialogButton diagBut;
        str strMessage = "Importo da decurtare al saldo della lettera di intento maggiore dell’importo residuo. Proseguire?";
        str strTitle = "Splafonamento";
        diagBut = Box::yesNo(
                strMessage,
                DialogButton::No,
                strTitle
                );
        next clicked();
    }
    
    }
} ```
 
methods datasource microsoft-dynamics display x++
1个回答
0
投票

老实说,我根本不明白你想实现什么目标。两个数相减?您可以像使用任何其他方法一样使用显示方法。

ledgerJournalTrans.totalAmountSingleLine() 将返回该数字。然后你可以写:

Real result = ledgerJournalTrans.totalAmountSingleLine() - ledgerJournalTrans.RemainingAmount;
© www.soinside.com 2019 - 2024. All rights reserved.