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

Copier
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 :

Copier
ToDate(Extract("Invoice Date"), "DD.MM.YYYY")

Extraction de fichiers à partir d'un répertoire

Copier
FilesToSave = "<path or relative path to the file>"

Extraction de fichiers définis dans un fichier XML

Copier
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é.

Copier
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).

Copier
<myTable>

   <Text> Text1 </Text>

   <Number> 1 </Number>

</myTable>

<myTable>

   <Text> Text2 </Text>

   <Number> 2 </Number>

</myTable>

Utilisez les valeurs assignées suivantes :

Copier
ExtractListTable("Text,"MyTable")
ExtractListTable("Number","MyTable"

Espaces de noms

Extraction d'espaces de noms à partir de fichiers XML

Copier
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.

Copier
namespaces(2) = "xmlns:def='urn:oasis:names:specification:ubl:schema:xsd:Invoice-2'"

Référence aux espaces de noms pendant l'extraction

Copier
ExtractListXPath("/rsm:CrossIndustryDocument/rsm:HeaderExchangedDocument/ram:ID")

Aucun fichier ne doit être extrait.

Copier

FilesToSave = empty

FilesToSave = empty