Serverscripts en -taken

We zijn verheugd om een ​​aanzienlijke verbetering aan te kondigen in het aanpassings- en automatiseringsvermogen van Vtiger met de Server Scripts & Jobs-module.

Server-side scripting is een krachtige mogelijkheid waarmee u diverse taken kunt uitvoeren. Via deze mogelijkheid kunt u aangepaste acties uitvoeren bij het opslaan van records of bij goedkeuring/afwijzing. U kunt ook aangepaste achtergrondtaken instellen die u met geplande tussenpozen kunt uitvoeren.

Drie jaar geleden lanceerden we Vtiger's Application Platform (VTAP), een low-code automatiseringsframework, om bedrijven te helpen hun Vtiger CRM-exemplaar verder aan te passen. Met VTAP kunnen ontwikkelaars code aan de clientzijde schrijven die in de browser van de gebruiker wordt uitgevoerd om aanpassing aan de clientzijde mogelijk te maken.

Er zijn echter veel scenario's waarin de aangepaste code op de server moet worden uitgevoerd. 

Met de Server Scripts & Jobs kunnen klanten en partners rechtstreeks aangepaste code uitvoeren die in JavaScript is geschreven op Vtiger-servers. Deze functie maakt de weg vrij voor onbeperkte automatisering.

Hier zijn een paar voorbeelden:

  • Verrijk uw leadgegevens door informatie uit andere bronnen op te halen.
  • Importeer periodiek gegevens uit externe bronnen naar CRM.
  • Pas gegevens in bovenliggende records aan op basis van onderliggende records of omgekeerd (werk het openstaande factuursaldo in elke organisatie bij).
  • Integreer AI-aangedreven aangepaste analyses.

Deze functie activeert deze serverscripts op twee manieren:

  • Serverscripts: Dit zijn server-side scripts die worden uitgevoerd wanneer een bepaalde actie plaatsvindt. Een record wordt bijvoorbeeld opgeslagen of goedgekeurd/afgewezen.
  • Servertaken: Dit zijn scripts op de server die automatisch worden uitgevoerd met vaste intervallen, zoals elk uur, dagelijks, wekelijks, enz.

Use Case

Laten we begrijpen hoe server-side scripting werkt met een eenvoudig voorbeeld van het bijwerken van achterstallige factuurbedragen in een organisatierecord.

eis: Op elk moment zou u achterstallige factuurbedragen van elke organisatie moeten kunnen zien.

Oplossing: Met behulp van serverscripts kan dit eenvoudig worden bereikt.

  • Telkens wanneer een factuur wordt bijgewerkt (bedrag of statuswijziging), activeert u een script.
  • Met behulp van de REST-methode van Vtiger kunt u alle facturen koppelen aan de factuurorganisatie in het script.
  • Tel het saldo van elke factuur bij elkaar op.
  • Gebruik opnieuw de REST-methode van Vtiger om het saldo in het veld van de organisatie bij te werken.
  • Hierdoor zijn de achterstallige factuurbedragen altijd zichtbaar in een organisatiedossier.


  

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({

                id: '3x'+orgId,

                cf_outstanding_invoice_amount: overdueAmount

            });

        }

    } catch(error) {

    }

}

Raadpleeg onze hulp voor meer informatie documentatie.

 
 
 

Binnenkort beschikbaar - Update-extensie

 
 

De update-extensie! 

Momenteel hebben we geen manier om extensies vanuit de Marktplaats bij te werken. 

Met de komende release zullen we een kernupdate bieden waarmee de gebruiker de extensies kan updaten die zijn gepubliceerd vanuit de Add-on Publisher. 

Alle wijzigingen die worden aangebracht in de extensies, zoals workflows, API Designer, Module Designer, enz., worden bijgewerkt naar het klantexemplaar. 

 

De update-extensie! 

Momenteel hebben we geen manier om extensies vanuit de Marktplaats bij te werken. 

Met de komende release zullen we een kernupdate bieden waarmee de gebruiker de extensies kan updaten die zijn gepubliceerd vanuit de Add-on Publisher. 

Alle wijzigingen die worden aangebracht in de extensies, zoals workflows, API Designer, Module Designer, enz., worden bijgewerkt naar het klantexemplaar. 

 
 

Schrijf je in om de laatste updates te ontvangen!