Exemples de script associés aux profils d'indexation
Vous trouverez ci-dessous des exemples de script destinés à extraire des fichiers à l'aide d'un profil d'indexation. Vous pouvez les modifier et les utiliser pour optimiser l'extraction de données.
Création d’un dossier
dim IxDataCaseHeader
dim CreateParams(0)
CreateParams(0) = "IndexData"
dim CreateParamsVar
CreateParamsVar = CreateParams
set IxDataCaseHeader = CreateThereforeObject(CreateParamsVar)
IxDataCaseHeader.SetCaseDef("TestCase")
IxDataCaseHeader.SetField "CaseHeaderData1", "My case header data 1"
IxDataCaseHeader.SetField "CaseHeaderData2", "My case header data 2"
IxDataCaseHeader.SetField "CaseNumberData1", 9001
nCaseNo = IxDataCaseHeader.SearchCase(true)
if nCaseNo > 0 then
SetCaseNo(nCaseNo)
elseif nCase = 0 then
nCreatedCaseNo = IxDataCaseHeader.CreateCase
SetCaseNo(nCreatedCaseNo)
elseif nCase = -1 then
ScriptError("Multiple cases found.")
end if
Autre format de date
Si le format de date utilisé dans les documents dont sont extraites les données est différent du format de date activé dans le système Therefore™, utilisez la fonction ToDate. À titre d'exemple, si les documents contiennent des dates au format JJ.MM.AAAA, mais que le système utilise un autre format, la fonction suivante permet d'extraire les dates :
ToDate(Extract("Invoice Date"), "DD.MM.YYYY")
Extraction de fichiers à partir d'un répertoire
FilesToSave = "<path or relative path to the file>"
Extraction de fichiers définis dans un fichier XML
FilesToSave = ExtractList ("FileName")
Gestion des documents à signer numériquement en fonction de leur état
Vous pouvez gérer les documents en fonction de leur état en termes de signature. Notez que les valeurs de Signature.Status varient selon les fournisseurs.
Dans cet exemple, un dictionnaire des mots clés contenant « Pending (En attente) », « Signed (Signé) » et « Declined (Refuser) » est défini. « keyword » est utilisé dans le champ assigné.
keyword = "Pending"
if Signature.Status == "completed" then
keyword = "Signed"
elseif Signature.Status == "declined" then
keyword = "Declined"
end if
Importation de lignes de facture
Vous pouvez extraire des lignes de facture sous forme de table à l'aide d'un script. Le script suivant crée la table myTable, qui contient deux colonnes, Text (Texte) et Number (Numéro).
<myTable>
<Text> Text1 </Text>
<Number> 1 </Number>
</myTable>
<myTable>
<Text> Text2 </Text>
<Number> 2 </Number>
</myTable>
Utilisez les valeurs assignées suivantes :
ExtractListTable("Text,"MyTable")
ExtractListTable("Number","MyTable"
Espaces de noms
Extraction d'espaces de noms à partir de fichiers XML
dim namespaces(2)
namespaces(0) = "xmlns:udt='urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15'"
namespaces(1) = "xmlns:ram='urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12'"
namespaces(2) = "xmlns:rsm='urn:ferd:CrossIndustryDocument:invoice:1p0'"
SetNamespaces(namespaces)
Affectation d'un nom aux espaces de noms par défaut
Si une variable est définie à l'aide d'un script, entrez son nom pour l'utiliser en tant que valeur assignée.
namespaces(2) = "xmlns:def='urn:oasis:names:specification:ubl:schema:xsd:Invoice-2'"
Référence aux espaces de noms pendant l'extraction
ExtractListXPath("/rsm:CrossIndustryDocument/rsm:HeaderExchangedDocument/ram:ID")
Aucun fichier ne doit être extrait.