URLs externes
Version minimum | Date de mise à jour |
---|---|
5.4 / 5.7 / 6.0 (selon le besoin) | Jul 24, 2023 |
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 |
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é |
|
WarehouseTransferOrder | Commande interne de transfert | [urlweavy]/page/productstockreplenishment/xxxx | sw_data_productstockreplenishmentrequestheader.externalID |
Fonctionnement
Une fonction de script standard FuncServer_GetExternalUrl est appelée pour récupérer l'URL.
// 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, ...
// 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 (les informations proviennent du zoom des abstractions et des chemins de Divalto infinity qui devront être provisionnés) :
ControlCenter/Backend
ControlCenter : External URL vX.6
Backend : 20. Base Info - External Url
Agent/Backend
Agent : 01.29. External URL v10.6
Backend : A20.25. Base Info - External Url
La fonction FuncServerOverload_GetExternalUrl a été surchargée afin de faire du remplacement de clé et de l'encodage en BASE 64, propres aux appels Divalto infinity.
Depuis Divalto weavy 6.0, il est possible d’ouvrir les écrans Divalto infinity dans D.One selon un paramètre utilisateur dans Divalto weavy web
« Mes Options » > « Interaction Divalto infinity » > cocher « Expérience Divalto One »
Les codes des enregistrements dans la table sw_data_externalurl sonr préfixés par One_ pour distinguer les urls classiques des urls D.One
Exemple pour l'appel d'un devis travaux en expérience classique (HTML5) :
URL de base telle que enregistrée dans sw_data_externalurl pour le code CustomerWorksCode :
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 :
http://xx.xx.xx.xx:yyyy/lcweb/default.aspx?urlDivaMode=1&urlDivaParamc=dXJsRGl2YVByb2dyYW09aWEuZGhvcCZ1cmxEaXZhUGFyYW1zPVtSdW5Qcm9ncmFtXXtfRW50aXR5fVdvcmtzUXVvdGV7X0tleX1EVFIgICAgICAgMzEgICAgICAgIEMxMiAgICAgICAgICAgNDQw
C’est donc cette URL interprétée qui permettra d’ouvrir l'écran des devis travaux de Divalto infinity sur le bon n° de devis travaux en HTM5 depuis Divalto weavy web.
Exemple pour l'appel d'un devis travaux en expérience Divalto One :
URL de base telle que enregistrée dans sw_data_externalurl pour le code One_CustomerWorksCode :
https://monurlone/redirect/BASE64[[RunProgram]{_Entity}CustomerWorksQuote{_Key}%1]
URL après interprétation par la fonction de surcharge :
https://monurlone/redirect/dXJsRGl2YVByb2dyYW09aWEuZGhvcCZ1cmxEaXZhUGFyYW1zPVtSdW5Qcm9ncmFtXXtfRW50aXR5fVdvcmtzUXVvdGV7X0tleX1EVFIgICAgICAgMzEgICAgICAgIEMxMiAgICAgICAgICAgNDQw
C’est donc cette URL interprétée qui permettra d’ouvrir l'écran des devis travaux de Divalto infinity sur le bon n° de devis travaux dans D.One depuis Divalto weavy web.