Version minimum | Date de mise à jour |
---|---|
5.4 / 5.7 |
|
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é | |
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 le ControlCenter External URL vX.6 et le Backend 20. Base Info - ExternalUrl (les informations proviennent du zoom des abstractions depuis Divalto infinity).
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 :
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 depuis Divalto weavy web.