是否可以在没有PXGraph或屏幕的情况下保存数据库?

时间:2018-02-15 09:54:12

标签: acumatica

不需要该屏幕的条目。所有记录都是自动生成的。或者可能只使用DAC。

2 个答案:

答案 0 :(得分:2)

图形/ DAC逻辑是首选,因为您可以获得所有框架免费赠品,例如字段默认和计算公式字段。

然而,您可以使用PXDatabase.InsertPXDatabase.Update PXDatabase.Delete

解决此问题

我将这些用于升级过程或批量删除处理记录。这些调用不需要执行图形但忽略所有DAC属性,这些属性可能是也可能不是默认值,计算值等。

如果您在Acumatica代码浏览器中搜索PXDatabase,您可以找到示例。这是EmployeeMaint.Location_RowPersisted中的一个:

PXDatabase.Update<Location>(
    new PXDataFieldAssign("VAPAccountLocationID", _KeyToAbort),
    new PXDataFieldRestrict("LocationID", _KeyToAbort),
    PXDataFieldRestrict.OperationSwitchAllowed);

PXDataFieldAssign正在设置列值。 PXDataFieldRestrict是你的条件。

最好在Acumatica中找到PXDatabase的多个示例,并使用SQL事件探查器等工具确认您的查询结果,以确保其执行您打算运行的正确语句。

答案 1 :(得分:0)

如果没有图表,则无法使用 DAC 。所有 BQL 查询都需要 PXGraph 实例。在不使用 BQL 的情况下保存数据的唯一方法是使用 ODBC 或任何其他 ORM 严格连接到数据库并进行更改。但不推荐使用这种方式,因为在这种情况下,您将忽略所有业务逻辑。