部署Acumatica API集成的最佳方法

时间:2018-09-05 19:35:57

标签: acumatica

我有一个集成,可以从POS系统的API中提取数据,然后通过合同API将其导入Acumatica。它是作为Visual Studio中的控制台应用程序编写的,类似于Acumatica在Integration Developer培训中构建的应用程序。

为Acumatica的SaaS实例部署此方法的最佳方法是什么?

非SaaS,我可以将其放在Acumatica服务器上并按计划运行,但是在无法访问正在运行Acumatica的服务器的情况下,我不确定最好的处理方式

2 个答案:

答案 0 :(得分:0)

编辑

请参阅Kirill Bestemyanov的答案。我在下面的回答提出了一种在SAAS环境中执行计划任务而又不回避安全措施的方法。

对于在Acumatica SAAS服务器上应该做或不应该做的事情,这并没有反映Acumatica的官方立场。


由于安全问题,很可能禁止在SAAS服务器上运行控制台/桌面应用程序。但是,您可以在Acumatica IIS实例中运行代码。

您可以创建一个Acumatica流程屏幕,该屏幕从API中提取数据并将其插入Acumatica数据库。该屏幕的“处理”操作可以通过自动化计划执行。

通常,服务器上的代码只能由用户请求执行(例如:人类导航到网页)。

使用Automation Schedule,您可以定期运行代码,而无需人工干预。

计划过程文档可在此处找到:

https://help.acumatica.com/Main?ScreenId=ShowWiki&pageid=1b5b4e81-a71a-4335-892e-ccf6d3b28439

我已在此处将文档复制为纯文本以供参考:

在Acumatica ERP中,您可以按任何所需的处理表单安排处理时间。处理将是 根据您在自动化计划中分配的计划自动执行 (SM205020)表格。您可以随时查看此自动处理的历史记录。

T O S C H E D U L E P R O C E S S I N G T H R O U G H T H E P R O C E S S I N G F O R M

  1. 导航至您要安排的处理表格。
  2. 在处理表格上,执行以下操作:
    1. 可选:在“选择”区域中,指定用于选择文档的标准 处理。查看符合所选条件的文档列表,并确保所有 显示要处理的文档(即您已经选择了条件 正确)。#_ d3f43076-587f-4090-aa74-47cbdfff72e7
    2. 在表单工具栏上,单击“计划”>“添加”。这将打开“自动化时间表(SM205020)”表单 作为弹出窗口。#_ a9fdd3d2-d5c6-49e0-8235-cff8e3b9b557
  3. 在“自动化计划”窗体的“描述”框中,输入新的描述。 时间表。
  4. 确保在“屏幕ID”框中选择了要安排的处理表格。
  5. 在“动作名称”框中,选择时间表应执行的动作。

    _35faeae0-efa6-4d4e-9aec-86a42115abe3

  6. 在“详细信息”选项卡上,指定计划的其他设置:
    1. 可选:在“详细信息”选项卡的“开始时间”框中,选择开始日期。默认情况下, 计划执行从当前工作日期开始。
    2. 可选:如果您需要为计划指定到期日期,请清除“无到期时间” 日期复选框,然后在过期日期框中指定过期日期。
    3. 执行以下一项操作:
      • 如果要限制执行次数,请在“执行限制”框中指定次数。 时间表应该执行多少次。
      • 如果不需要限制执行次数,请选中“无执行限制”复选框。
    4. 可选:在“处理分支”框中,选择应在其下进行计划的分支 处理。例如,如果按此计划创建文件,则系统将创建这些文件。 文档并为每个文档指定选定的分支。
    5. 可选:更改计划将在其中运行的时区。默认情况下,时区 选择在用户配置文件(SM203010)表单上为当前登录用户指定的名称。

      _75a40630-9d40-4a0a-bb6e-f5012bd2bb37

  7. 在“计划”选项卡上,如下配置执行日期和时间:
    1. 指定执行计划的频率:
      • 要每天或每隔x天执行一次计划,请执行以下操作:
        1. 在“计划类型”部分中,选择“每日”。
        2. 可选:在“计划详细信息”部分的“下一个执行日期”框中,选择日期 何时应执行时间表。
        3. 在“每x天”框中,键入两次连续执行之间的天数。 时间表。
      • 要每周或每x周执行一次计划,请执行以下操作:
        1. 在“计划类型”部分中,选择“每周”。
        2. 可选:在“计划详细信息”部分的“下一个执行日期”框中,选择日期 何时应执行时间表。
        3. 在“每x周”框中,键入两次连续执行之间的周数。 时间表。
        4. 为计划的星期几或几天选择适当的复选框 应该执行。
      • 要每月或每x个月执行一次计划,请执行以下操作:
        1. 在“计划类型”部分中,选择“每月”。
        2. 可选:在“计划详细信息”部分的“下一个执行日期”框中,选择日期 何时应执行时间表。
        3. 在“每x个月”框中,键入两次连续执行之间的月数。 时间表。
        4. 选择执行时间表的时间:每月的一天或每月的第几周 以及星期几(例如每月的第三个星期五)。
      • 要在每个财务期或每x个财务期执行一次计划,请执行 以下步骤:
        1. 在“计划类型”部分中,选择“按财务期”。
        2. 可选:在“计划详细信息”部分的“下一个执行日期”框中,选择日期 何时应执行时间表。
        3. 在“每x期间”框中,键入连续两次之间的财务期间数 时间表的执行。
        4. 选择适当的选项按钮以指示应在何时执行计划: 期末,期初或期的固定日期(即 您应该指定是否选择此选项按钮。)
    2. 在“执行时间”部分中,指定一天中的特定时间开始和停止 处理如下:
    3. 在“开始时间”框中,选择首次执行计划的小时和分钟 应该开始。
    4. 如果您希望在特定时间停止处理或希望停止处理 每天重复多次,在“停止位置”框中,选择第一个 时间表的执行应停止。
    5. 如果应每天多次重复执行计划,请在“每个”框中, 选择计划的连续执行之间的间隔。
    6. 在“下一个执行时间”框中,确保下一个执行时间正确。
    7. 如果希望系统在“下一步”中指定的确切时间执行计划, 在“执行时间”框中,选择“确切时间”复选框。如果清除该复选框,则系统 可能会将计划的下一个执行时间偏移几分钟。
  8. 可选:在“条件”选项卡上,指定条件以选择文档或对象 在原始处理表格的选择区域中没有对应的元素 如下:
    1. 确保已选中“活动”复选框。
    2. 在“字段名称”列中,选择要对其应用过滤器的字段。
    3. 在“条件”列中,在字段上选择条件。
    4. 如果在“字段名称”列中为此行选择的字段是日期字段,并且您希望 相对于当前营业日期的相对日期字段,请选择相对检查 框。
    5. 在“值”列中选择过滤值,如果在“条件”中选择了“介于之间”,则选择 列,位于“值2”列中。
  9. 可选:在“过滤器值”选项卡上,查看具有值的元素列表。注意所有 列出的元素具有您在原始的“选择”区域中选择的值 处理表格。#_ 55beb587-21f7-4992-b140-5de4ee4d029d
  10. 在表单工具栏上单击“保存”以创建计划。保存新创建的时间表后, 系统根据预期的内置编号顺序为其赋予一个标识符 用于自动化计划。

T O V I E W O R E D I T T H E S C C E E D U L E S F O R T H E F O R M

  1. 打开已为其创建计划的处理表格(或已创建多个计划) 已创建)。
  2. 在表单工具栏上,单击“计划”>“视图”。
  3. 在打开的“自动化计划(SM205020)”窗体上的“计划ID”框中,选择 时间表。
  4. 查看或编辑时间表。

T O V I E W T H E H I S T O R Y O F S C H E D U L E E X E C U T I O N S

  1. 打开已为其创建计划的处理表格(或已创建多个计划) 创建)。#_ 6acc5114-ca3c-46c6-b6dd-e2baa5d708ab
  2. 在表单工具栏上,单击“时间表”>“历史记录”。#_ c4fbf9a5-aabd-4f65-96f2-108ccfcca4c5
  3. 在打开的对话框中,选择要查看其历史记录的日程表,然后指定 您要查看其历史记录的日期范围。#_ e560ddd9-b4a5-475f-905b-51b39fe85e25
  4. 单击对话框中的“历史记录”以查看计划执行的历史记录。

R E L A T E D A R T I C L E S

  • 计划处理
  • 设置总帐批次的自动发布
  • 创建Salesforce同步计划
  • 为完全数据重新同步创建计划
  • 设置自动文件同步
  • 创建发送和接收电子邮件时间表
  • 自动化时间表(SM.20.50.20)

答案 1 :(得分:0)

您不应将其托管在SAAS实例上,因为您无法控制它,并且此外没有PC可以运行您的控制台应用程序。 如果要将集成作为正在运行的服务(控制台应用程序),则应将其部署在自己的服务器(硬件或云)上。另一个选择是在您的POS终端中实现集成(如果可以的话)。 请勿按照HB_ACUMATICA的建议将其包含在您的Acumatica实例中,因为基于合同的API集成不是必需的,并且会导致该acumatica的性能问题。