服务器脚本和作业
我们很高兴地宣布,Vtiger 的服务器脚本和作业模块的定制和自动化能力得到了重大改进。
服务器端脚本编写是一项强大的功能,使您能够执行各种任务。通过此功能,您可以在保存记录或批准/拒绝时制定自定义操作。您还可以设置自定义后台任务以按计划的时间间隔执行。
三年前,我们推出了 Vtiger 的应用平台 (VTAP),这是一个低代码自动化框架,旨在帮助企业进一步定制其 Vtiger CRM 实例。借助 VTAP,开发人员可以编写在用户浏览器中运行的客户端代码,以实现客户端自定义。
然而,有很多场景,自定义代码必须在服务器端运行。
借助服务器脚本和作业,客户和合作伙伴可以直接在 Vtiger 服务器上运行用 JavaScript 编写的自定义代码。此功能为无限自动化铺平了道路。
这里有几个例子:
此功能通过两种方式触发这些服务器端脚本:
用例
让我们通过更新组织记录中逾期发票金额的简单示例来了解服务器端脚本如何工作。
需求:在任何时间点,您都应该能够查看任何组织的逾期发票金额。
解决方案:使用服务器脚本,这可以轻松实现。
async function main(record, user) { var orgId = record.account_id; try { var response = await vtap.macro.ws.api('GET', 'retrieve_related', { id: '3x'+orgId, relatedLabel: 'Invoice', relatedType: 'Invoice' }); if(response && response.success) { var overdueAmount = 0; for(var index in response.result) { var invoice = response.result[index]; var balance = parseFloat(invoice.balance); if(balance && !isNaN(balance)) { overdueAmount = overdueAmount + balance; } } await vtap.macro.ws.revise({ id: '3x'+orgId, cf_outstanding_invoice_amount: overdueAmount }); } } catch(error) { }}
async function main(record, user) {
var orgId = record.account_id;
try {
var response = await vtap.macro.ws.api('GET', 'retrieve_related', {
id: '3x'+orgId,
relatedLabel: 'Invoice',
relatedType: 'Invoice'
});
if(response && response.success) {
var overdueAmount = 0;
for(var index in response.result) {
var invoice = response.result[index];
var balance = parseFloat(invoice.balance);
if(balance && !isNaN(balance)) {
overdueAmount = overdueAmount + balance;
}
await vtap.macro.ws.revise({
cf_outstanding_invoice_amount: overdueAmount
} catch(error) {
要了解更多信息,请参阅我们的帮助 文件.
即将推出 - 更新扩展
更新扩展!
目前,我们没有办法从市场更新扩展。
在即将发布的版本中,我们将提供核心更新,用户将能够更新从附加组件发布者发布的扩展。
对工作流、API 设计器、模块设计器等扩展进行的任何更改都将更新到客户实例。
注册以接收最新更新!
我已阅读 私隐政策 Vtiger。