0

在我们的 CRM 系统中存在一个错误,即并非发票中的所有值都正确保存在数据库中。

但是,如果我们打开一张发票,编辑任何内容并“保存”发票,它将正确地推送到数据库中。由于我们需要执行此操作的发票有数百张,因此我不想手动执行此操作,而是编写一个自动执行此操作的脚本。另外我不想直接更改数据库中的条目,因为它可能会导致计算问题。我们的 CRM 在 Ubuntu 服务器上运行。

我现在需要什么:
如何编写脚本:
1) 查询 SQL 以获取需要修复的发票 ID 的列表。
2)调用网页:
https
://crm.com/index.php?module=Invoice&view=Edit&record= 3000,其中末尾的 3000 是发票 ID。
3) 将一些值写入为修正错误创建的输入字段
4) 提交表单

我怎么能说服这个?
1)“表单”只是一个http post请求,我可以提供更新输入字段的参数吗?
2)我可以用我刚刚放在服务器上CRM系统的根文件夹中并调用它的PHP / JavaScript来做到这一点。

我需要知道如何从这个问题和一般解决方案开始。谢谢。

在此处输入图像描述

4

1 回答 1

1

这是我要做的:

  • 仅当 URL 中存在额外参数(如 &fixInvoice=1)时,编辑 PHP 代码以添加一些 JS 代码。

  • 该 JS 代码将在页面完全加载时执行,并且只会发送表单。

  • 获取您需要修复的发票 ID 列表,并使用该额外参数构建 URL 列表。

  • 现在,要打开所有这些 URL,如果列表不大(可能少于 100 个 URL),您可以为每个 URL 构建一个带有 iframe 的简单 HTML 文件。如果列表更大,您可以使用一个 iframe 构建一个 HTML 文件,并将 URL 列表提供给 JS,该 JS 将 iframe src 设置为第一个 URL,等待 X 秒(这取决于服务器处理页面,你应该测试它),喂第二个,等等。

于 2017-12-11T17:42:13.827 回答