无法在 Epicor 定制中创建新的劳动力详细信息行

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

我正在做Epicor定制,我尝试在劳动力详细信息表中创建新行,但出现了这个错误

   LaborAdapter adapterLabor = new LaborAdapter(this.oTrans);
        adapterLabor.BOConnect();
//adapterLabor.GetNewLaborDtl(1109);
bool resultGetNewLaborDtl = adapterLabor.GetNewLaborDtlAttch(1111,217588);;
System.Windows.Forms.MessageBox.Show(resultGetNewLaborDtl.ToString(), "Done");
c# customization epicorerp
1个回答
0
投票

方法调用

.GetNewLaborDtlAttch(1111,217588)
正在尝试为 LaborHedSeq
1111
和 LaborDtlSeq
217588
添加一条记录,该记录之前已保存到数据库中,并且在当前会话公司中不能重复。

根据您正在尝试创建新的劳动力详细记录的注释,以下是一些需要指出的其他问题,这些问题应该会对您有所帮助:

  1. LaborDtlAttch
    LaborDtl
    不同,可以在
    LaborDtl
    已存在时使用。
  2. LaborAdapter
    是一个
    IDisposable
    。将其包装在使用或实现最终/处置范例中以防止内存泄漏非常重要。
  3. 适配器将本地信息存储在客户端中,除非调用
    Update()
    方法,否则这些信息不会写回服务器。
  4. 经典 UI 自定义已弃用。考虑简化任何所需自定义中自定义层中使用的代码,并使用服务器端方法处理与显示不直接相关的任何逻辑,这仍将使用 Kinetic UI 以相同的方式工作。

这里是一个更新的代码示例,用于开始创建新的 labourDtl 记录。

int laborHedSeq = 0;
// TODO Retrieve laborHedSeq from UI or lookup active row as necessary
using(LaborAdapter laborAdapter = new LaborAdapter(this.oTrans))
{
    laborAdapter.BOConnect();   
    laborAdapter.GetNewLaborDtl(laborHedSeq);
    Erp.BO.LaborDataSet.LaborDtlRow laborDtl = laborAdapter.LaborData.LaborDtl[laborAdapter.LaborData.LaborDtl.Count - 1];
    // TODO Edit additional fields of the new laborDtl row here
    laborAdapter.Update();
}
© www.soinside.com 2019 - 2024. All rights reserved.