【问题标题】:Passing Journal Line between form在表单之间传递日记帐行
【发布时间】:2021-10-22 04:21:59
【问题描述】:

我有一个程序处理将日志行传递到另一个表单。该程序包括付款日志上的一个按钮,该按钮调用一个表单,让用户选择他们想要结算的一般日志并将详细信息插入付款日志。新创建所选行时,传递日记帐行的代码有问题。当有星号时,日记帐行要么不传递任何值,要么选择默认值到另一个表单,如图所示:

发现没有选择Journal Lines 并且recId 在form B 为0 这是通过在我的 clicked 代码的 p 上添加一个 LedgerJournalTrans.write() 来解决的,如下所示:

{
Args args;
FormRun formRun;
;


    LedgerJournalTrans.write();//add to fix unable to capture Table, but create unsaved Voucher issue
    if (LedgerJournalTable.ledgerJournalName().LHAmBankCBPS)
    {
    //args= new Args(formstr(CBPSInvoiceLookup));
        args= new Args();
        args.record(LedgerJournalTrans);
        args.parm(LedgerJournalTrans.Voucher);
        args.name(formstr(CBPSGJLookup));
        formRun=classFactory.formRunClass(args);
        formRun.init();
        formRun.run();
        formRun.wait();
        formRun.detach();
        super();
        ledgerjournaltrans_ds.executeQuery();
        ledgerjournaltrans_ds.refresh();

        this.update();



    }
    else
    {
        throw info(strfmt("%1","Only CBPS journal able to use this button"));
    }

     // mark the number as used


    info(strfmt("%1","End program"));

}

但是使用额外的 LedgerJournalTrans.write() 代码,在完成作业后会出现此错误代码并尝试创建新行:

有没有其他方法可以解决这个问题?

【问题讨论】:

    标签: axapta x++


    【解决方案1】:

    要解决这个问题,而不是使用LedgerJournalTrans.write() 使用LedgerJournalTrans_DS.write 将解决这两个问题。

    不确定这是否是解释使用LedgerJournalTrans_DS.write 的正确方法可以执行保存并清除锁定凭证编号以创建新凭证编号的临时数据。

    当创建日记帐时,没有实际创建日记帐行,系统无法选择日记帐编号。因此,要这样做,需要保存日记才能让日记被选中

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-10
      相关资源
      最近更新 更多