如何更新记录"无关"当前图表?

时间:2015-06-04 21:13:23

标签: acumatica

我不确定我是否忘记了如何解决这个问题,或者我之前是否不得不这样做....

我有一个新的自定义页面,其中包含与之关联的新表格和图表。它适用于维护此自定义数据。我有一个需要更新INItemLotSerial中的自定义字段的操作(请注意,这没有与之关联的图形)。通常,我已经创建了相应图形的实例并使用该实例完成了更新。

我只需要做相当于更新的INItemLotSerial set usr1 =' test'其中,InventoryID = x,LotSerialNbr = y

我不确定如何处理这个问题?我想我可以将记录选入DAC的实例并更新值,但我不知道如何将其提交回数据库。

2 个答案:

答案 0 :(得分:1)

  1. 你需要查看。让我们说你的观点是这样的:
    公共PXSelect PMTasksSelect;
  2. 你以某种方式阅读你的对象
    PMTask pm = PMTasksSelect.Select(Base).FirstOrDefault();
  3. 通知您更改了对象的Acumatica缓存:
    PMTasksSelect.Cache.SetValueExt(pm," RateTableID"," A");
    PMTasksSelect.Cache.SetStatus(task2,PXEntryStatus.Modified);
    PMTasksSelect.Cache.IsDirty = true;
  4. 最后,您可以将更改保留到db:
    PMTasksSelect.Cache.Update(taskExt);

答案 1 :(得分:0)

您需要与要更新的DAC相关的视图。因此,在这种情况下,您可以为DAC定义视图,如

public PXSelect<INItemLotSerial, Where<INItemLotSerial.inventoryID, Equal<Current<YourField>>,
                                        And<INItemLotSerial.lotSerialNbr, Equal<Current<YourField>>>>> LotSerialInfo;

因此,此视图将缓存您要更新的记录。现在您可以随时更新记录,如

INItemLotSerial rec = LotSerialInfo.Current as INItemLotSerial;
//Get extension if you want
recExt.YourExtField = "something";
LotSerialInfo.Update(rec);

图表的持久性将保存您插入/更新/删除的信息。

希望它能给你提供想法和帮助。 :)