Télécharger pièces externes
Version minimum | Date de mise à jour |
---|---|
5.6 | May 24, 2022 |
Fonctionnalité
Visualiser une pièce commerciale externe au format PDF depuis l’historique des pièces commerciales dans Divalto weavy web et mobile.
Accès Divalto weavy web : Ventes > Historique puis dans le détail Action > Consulter le PDF de la pièce liée
Accès Divalto weavy mobile : Historique > PDF externe
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 faut bien sûr gérer l’archivage des documents commerciaux au format PDF côté Divalto infinity pour que l’ensemble de la chaîne soit opérationnel.
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 provisioning 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 )