首页 > 解决方案 > Acumatica - 是否可以在图形类中为 API 调用定义“自定义键”?

问题描述

我正在尝试Import PR Employee Tax Attributes通过自定义的图形/屏幕和 Web 服务端点来模拟导入场景。我使用 Import Scenario 作为我的指南,因为它模仿了我想要的功能,并且 Import Scenario 在过去曾为我提供了很好的指南(即用于导入新的 PR 员工)。

我已经模仿了该场景中定义的大部分映射。但是,我仍然收到一个错误: "exceptionMessage": "Error: Another process has added the 'PREmployeeAttribute' record. Your changes will be lost.",发布数据时,例如:

{
    "CashAccount": {
        "value": "10200"
    },
    "EmpID": {
        "value": "KLM"
    },
    "PaymentMethod": {
        "value": "FEDWIRE"
    },
    "ClassID": {
        "value": "HOURLY"
    },
    "PayGroup": {
        "value": "HOURLY"
    },
    "EmpAttributes": [
        {
            "Name": {
                "value": "Social Security Number"
            },
            "State": {
                "value": "FED"
            },
            "Value": {
                "value": "123123123"
            }
        }
    ]
}

通过 UI 输入工作正常(当涉及到员工税务属性输入时,我的屏幕几乎与 PR2030000 相同)。查看 EmployeeAttributes 缓存(在 Persist() 中),它在插入缓存中显示一个 1 条目,在更新中显示 0。这与用户界面相反(其中记录被正确标记为更新未插入),所以我暂时猜测问题可能出在那儿。

虽然我是 Acumatica 开发的新手,并将其与 Import Scenairo 进行比较,但我认为它可能会根据键的比较被标记为 Inserted 而不是 Updated。Import Scenario 定义了两者@@Description,并且@@State根据文档将两者定义为“自定义键”。有没有办法在运行时在 Graph 类中复制它?我知道可以修改 DAC,但我希望密钥仅在IsImport为 true 时更改,而不是在通过 UI 执行输入时更改。

谢谢。

标签: c#acumatica

解决方案


推荐阅读