【问题标题】:How to create purchase order via code?如何通过代码创建采购订单?
【发布时间】:2018-09-27 22:25:44
【问题描述】:

我已经编写了一些通过代码创建 po 的代码,但它失败并显示错误消息:“CS 错误:无法为序列生成下一个数字。”

我该如何解决这个问题?我错过了什么?谢谢帮忙!

protected void createPO() {

  POOrder order = new POOrder();
  POOrderEntry graph = PXGraph.CreateInstance < POOrderEntry > ();
  order.OrderType = "Normal";
  order.OrderDesc = "some text";
  order.EmployeeID = 215;
  order.Hold = false;

  var branch = (Branch)PXSelect<Branch, Where<Branch.branchCD, Equal<Required<Branch.branchCD>>>>.Select(Base, "WEST");

  graph.FieldDefaulting.AddHandler<POOrder.branchID>((s, e) =>
  {
      e.NewValue = branch.BranchID;  
      e.Cancel = true;
  });

  order.VendorID = 79;
  order = graph.CurrentDocument.Insert(order);
  graph.CurrentDocument.Update(order);
  graph.Actions.PressSave();

  throw new PXRedirectRequiredException(graph, null);
}

【问题讨论】:

    标签: acumatica


    【解决方案1】:

    先尝试简单,看看这样的东西是否有效......

    protected void createPO()
    {
        var graph = PXGraph.CreateInstance<POOrderEntry>();
        var order = graph.Document.Insert(new POOrder());
    
        order.OrderType = POOrderType.RegularOrder; // This is the default so not necessary
        order.OrderDesc = "some text";
        order.EmployeeID = 215;
        order.Hold = false;
        order.VendorID = 79;
        graph.Document.Update(order);
        graph.Actions.PressSave();
    
        throw new PXRedirectRequiredException(graph, null);
    }
    

    使用 Document 视图代替基于 Document 的当前记录的 CurrentDocument 视图。文档是主视图,应该使用主视图。

    对于采购订单类型,与列表值相关的属性应用于数据库的存储值(与您所拥有的是显示的列表值相比)。例如order.OrderType = POOrderType.RegularOrder。这也是 PO 的默认值,因此无需设置此值,除非您想在 POOrderType 类中找到不同的常量。

    【讨论】:

    • 谢谢!有用。我是一名从事 Acumatica 的新开发人员,我只是想知道在哪里可以找到您提供给我的那些代码示例,例如 create so、po 和 BQL 示例。我需要阅读源代码吗?因为我没有在 Acumatica 的任何手册上找到这些。
    • 找到所有示例并不容易,但为此您可以在 acumatica 源中搜索 POOrderEntry。总之,找出图表我需要输入的最少字段数量(不是默认值)并从那里开始。在代码中填写这些字段并保留。我尝试始终插入一个空的新对象,然后从那里更新,因为插入将设置我的默认值,然后我可以在需要时更新它们。希望这有助于回答您的附带问题。
    • 好建议。我想我可以通过这种方式学习 Acumatica 开发。再次感谢!
    猜你喜欢
    • 2017-05-31
    • 2023-03-05
    • 1970-01-01
    • 2021-02-18
    • 2020-06-06
    • 1970-01-01
    • 2015-09-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多