接下来调用 X++ D365 FO 中的指挥链

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

我将尝试简要解释我的目标。当我单击按钮并且发生某种情况时,我的代码应该显示“NoYes”弹出窗口,如果我按“是”,代码将继续运行,如果我按“否”,它将停止。我使用了命令链类,作为表单上按钮的扩展,这是我的代码:

[ExtensionOf(formControlStr(VendEditInvoice, OK))]
final class VendEditInvoice_OK_AzimutBenetti_Extension
{
    public void clicked()
    {
        IntentLetter_IT intentLetter;
        VendInvoiceInfoLine vendInvoiceInfoLine;

    Info(strFmt('%1, %2', vendInvoiceInfoLine.LineAmount, intentLetter.remainAmountMST()));
   

    if(vendInvoiceInfoLine.LineAmount >= intentLetter.remainAmountMST())
    {
        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
                );
        if(diagBut == DialogButton::No)
        {
            //return;
            info('Operazione annullata');
            throw error('Operazione annullata');
        }

    }
    next clicked();
}

}

如果我将 Return 放在第二个 if 中,则在构建项目后会收到此错误:对“next”的调用应该仅无条件地执行一次。 我认为这是因为如果我按“否”,代码将返回,并且永远不会调用下一个方法,因为如果我删除“返回”并输入例如信息,则一切正常。我尝试抛出错误,如您所见,但是,即使它有效,我认为这不是正确的方法,因为当我按 NO 时,没有真正的错误或异常。我怎样才能以不同的方式做到这一点? 非常感谢。

c# button microsoft-dynamics x++ chain
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.