Version minimum | Date de mise à jour |
---|---|
5.6 |
|
Fonctionnalité
Visualiser une pièce commerciale externe au format PDF depuis l’historique des pièces commerciales dans Divalto weavy web et mobile.
Fonctionnement
Script à surcharger pour récupérer le PDF dans le logiciel externe :
// FuncOverload_GetExternalPdfDocumentInfos // @description => get pdf document infos from external software // // @histoheader_ID => histoheader_ID // // @returns => 0 : error / 1 : ok // histoheader_ID = TRANSLATE( "<varscript>arg1</varscript>" ) jsonDocReturnedInfos = VARGET_SHELL( "jsonDocReturnedInfos", "GetExternalPdfDocumentInfos" ) // To complete in overload ret = "0" // to be changed in overload (0 : error / 1 : ok) errormessage = "Not supported in standard. You must manage the external pdf to read in overload." // comment in overload DOCUMENT_SET_PROPERTY_TO_OBJECT( jsonDocReturnedInfos, "resultOk", ret ) DOCUMENT_SET_PROPERTY_TO_OBJECT( jsonDocReturnedInfos, "errorMessage", errormessage ) DOCUMENT_SET_PROPERTY_TO_OBJECT( jsonDocReturnedInfos, "returnedDetails", "THIRDPARTYTYPE", "") DOCUMENT_SET_PROPERTY_TO_OBJECT( jsonDocReturnedInfos, "returnedDetails", "DOCUMENTTYPE", "") DOCUMENT_SET_PROPERTY_TO_OBJECT( jsonDocReturnedInfos, "returnedDetails", "DOCUMENTNUMBER", "") DOCUMENT_SET_PROPERTY_TO_OBJECT( jsonDocReturnedInfos, "returnedDetails", "PDFFILE_BASE64", "") RETURN ( ret )
La fonction doit retourner un certain nombre d'éléments afin d’assurer l’ouverture d’un PDF.
Ces informations sont contenues dans returnedDetails :
THIRDPARTYTYPE : Type de tiers (Optionnel)
DOCUMENTTYPE : Type de document (Optionnel)
DOCUMENTNUMBER : N° du document (On contrôle si un n° est bien retourné)
PDFFILE_BASE64 : Contenu du pdf au format base 64 (C’est le plus important). C’est cette valeur qui va permettre de visualiser le PDF
Particularités
Une liaison avec Divalto infinity est implémentée en standard.
La fonction de script « FuncOverload_GetExternalPdfDocumentInfos » a été surchargée au niveau DIVINF du master infinity afin de construire le json, d'appeler le webservice infinity « interroger_piece_joint » et de gérer le retour.
Il existe une fonction de script DIVINF_Func_GetInfinityWebServiceInfo qui retourne les informations nécessaires au lancement des webservices infinity.
Elle permet de retourner :
URL du webservice : Cette url est enregistrée dans la table sw_data_externalurl avec le code "WSDIVA". Elle est paramétrée lors du provisionning dans infinity (zoom des chemins). Elle est importée dans weavy par ControlCenter External URL vX.6 puis backend 20. Base Info - ExternalUrl.
Action du webservice : cette action est définie en dur avec WEB_SERVICE_INFINITY. S'il faut la modifier il faudra surcharger cette fonction.
// DIVINF_Func_GetInfinityWebServiceInfo // @description => Get infos for webservice infinity // @returns => 0 : error / 1 : ok // @returned variables // InfinityWebServiceUrl : Infinity server URL for the call of the WebService // InfinityWebServiceAction : Infinity diva action to push in the web method // InfinityWebServiceErrorMsg : Error message if returns is 0 InfinityWebServiceUrl = VARGET_DBSQL( "select url from sw_data_externalurl where codeexternalurl='WSDIVA'" ) InfinityWebServiceAction = "WEB_SERVICE_INFINITY" InfinityWebServiceErrorMsg = "" ret = 1 IF (EQUALS( InfinityWebServiceUrl, "" )) THEN InfinityWebServiceErrorMsg = "Infinity server URL for the call of the WebService is not informed (Table=sw_data_externalurl, Code='WSDIVA')" ret = 0 ENDIF VARSET_SHELL( "InfinityWebServiceUrl", InfinityWebServiceUrl, "InfinityWSinfo" ) VARSET_SHELL( "InfinityWebServiceAction", InfinityWebServiceAction, "InfinityWSinfo" ) VARSET_SHELL( "InfinityWebServiceErrorMsg", InfinityWebServiceErrorMsg, "InfinityWSinfo" ) RETURN( ret )