Version minimum | Date de mise à jour |
---|---|
5.4 |
|
Fonctionnalité
Pouvoir appeler des URLs d'un logiciel externe depuis Divalto weavy web.
Tables
sw_data_externalurl : Table des urls externes.
Critères d'activation
Des codes standards ont été définis dans la table sw_data_externalurl pour définir les urls externes disponibles.
Ces codes ont été implémentés dans Divalto weavy web afin d'ouvrir l'écran du logiciel externe correspondant (généralement depuis le bouton « Action »).
Ci-dessous le tableau résumant les pages Divalto weavy web où les urls externes sont disponibles ainsi que la clé utilisée pour identifier l’enregistrement externe.
Code externalurl | Libellé | Page Divalto weavy web | Clé de l'enregistrement |
---|---|---|---|
CustomerContract | Contrat client | [urlweavy]/page/contract/xxxx | sw_data_contract.contractNumber |
CustomerDelivery | BL client | [urlweavy]/page/histoheader/xxxx | sw_data_histoheader.docNumber |
CustomerInvoice | Facture client | [urlweavy]/page/histoheader/xxxx | sw_data_histoheader.docNumber |
CustomerOrder | Commande client | [urlweavy]/page/histoheader/xxxx | sw_data_histoheader.docNumber |
CustomerOrder | Commande client | [urlweavy]/page/histoheader/xxxx | sw_data_histoheader.docNumber |
CustomerQuote | Devis client | [urlweavy]/page/saleHistory | sw_data_histoheader.docNumber |
CustomerWorksQuote | Devis travaux client | [urlweavy]/page/intervention/xxxx [urlweavy]/page/interventionRequest/xxxx | sw_data_intervention.externalID sw_data_interventionrequest.externalID |
Deal | Affaire | [urlweavy]/page/deal/xxxx | sw_data_deal.dealNumber |
Opportunity | Opportunité | [urlweavy]/page/deal/xxxx | sw_data_deal.dealNumber |
ProspectQuote | Devis prospect | [urlweavy]/page/histoheader/xxxx | sw_data_histoheader.docNumber |
ProspectWorksQuote | Devis travaux prospect | non implémenté |
Fonctionnement
Une fonction de script standard FuncServer_GetExternalUrl est appelée pour récupérer l'URL.
Bloc de code |
---|
// FuncServer_GetExternalUrl
// @description => return external url
//
// @codeexternalurl => code of the sw_data_externalurl table (ie : CustomerWorksQuote, CustomerOrder, CustomerContract, Deal, ....)
// @key => key of the record for interpretation by the external software (ie : keyCustomerWorksQuote, keyCustomerOrder, keyCustomerContract, keyDeal, ...)
//
// @returns => interpreted url
//
codeexternalurl = TRANSLATE( "<varscript>arg1</varscript>" )
key = TRANSLATE( "<varscript>arg2</varscript>" )
returnedUrl = ""
url = VARGET_DBSQL( "select url from sw_data_externalurl where codeexternalurl='<varscript>codeexternalurl</varscript>'" )
url = TRIM( url )
returnedUrl = CALL_SCRIPT( "FuncServerOverload_GetExternalUrl", codeexternalurl, key, url )
IF ( LEN( returnedUrl ) == 0) THEN
returnedUrl = url
ENDIF
RETURN( returnedUrl ) |
S'il y a besoin une fonction de surcharge FuncServerOverload_GetExternalUrl est disponible pour retravailler l'url : remplacement de clé d'enregistrement, encodage, ...
Bloc de code |
---|
// FuncServerOverload_GetExternalUrl
// @description => return external url
//
// @codeexternalurl => code of the sw_data_externalurl table (ie : CustomerWorksQuote, CustomerOrder, CustomerContract, Deal, ....)
// @key => key of the record for interpretation by the external software (ie : keyCustomerWorksQuote, keyCustomerOrder, keyCustomerContract, keyDeal, ...)
// @url => not interpreted url
//
// @returns => interpreted url
//
codeexternalurl = TRANSLATE( "<varscript>arg1</varscript>" )
key = TRANSLATE( "<varscript>arg2</varscript>" )
url = TRANSLATE( "<varscript>arg3</varscript>" )
returnedUrl = ""
// To complete in overload
RETURN( returnedUrl ) |
Particularités
Une liaison avec Divalto infinity est implémentée en standard.
La table sw_data_externalurl est alimentée par le ControlCenter External URL vX.6 et le Backend 20. Base Info - ExternalUrl.
Cette surcharge permet de faire du remplacement de clé et de l'encodage en BASE 64, propre aux appels Divalto infinity.
Exemple pour l'appel d'un devis travaux :
URL de base telle que enregistrée dans sw_data_externalurl pour le code CustomerWorksCode :
Bloc de code http://xx.xx.xx.xx:yyyy/lcweb/default.aspx?urlDivaMode=1&urlDivaParamc=BASE64[urlDivaProgram=ia.dhop&urlDivaParams=[RunProgram]{_Entity}CustomerWorksQuote{_Key}%1]
URL après interprétation par la fonction de surcharge :
Bloc de code http://xx.xx.xx.xx:yyyy/lcweb/default.aspx?urlDivaMode=1&urlDivaParamc=dXJsRGl2YVByb2dyYW09aWEuZGhvcCZ1cmxEaXZhUGFyYW1zPVtSdW5Qcm9ncmFtXXtfRW50aXR5fVdvcmtzUXVvdGV7X0tleX1EVFIgICAgICAgMzEgICAgICAgIEMxMiAgICAgICAgICAgNDQw