Introduction
Au cours de nos années (ASI LLC) en développant des solutions dans le cadre D’Acumatica, nous avons connu de multiples cas dans lesquels des fichiers d’un type ou d’un autre doivent être générés et manipulés dans le système.
Un exemple d’utilisation que nous examinerons dans cet article est l’archivage des fichiers joints à un document dans une instance Acumatica - ou - la pièce jointe de fichiers à partir d’un fichier . Zip fichier à un document dans une instance Acumatica.
. Zip – PX. Commun.Std
Pour utiliser .ZIP fichiers dans Acumatica, vous devrez ajouter une référence au PX. Common.Std .dll dans votre projet. Cette .dll se trouve dans le dossier bin de l’installation de l’instance.
ZipArchive
CreateFrom
Cette méthode statique retourne une instance de ZipArchive qui représente un fichier .ZIP. Cette méthode prendra Stream os et bool onlyRead comme paramètres.
L’exemple de code ci-dessous illustre la création d’un nouveau fichier zip utilisant un nouveau MemoryStream et définissant l’argument onlyRead comme faux pour permettre l’ajout de fichiers à notre création. Fichier zip.
GIST: [Création de . Fichier zip (github.com)]
CreateFrom est également utilisé lors de l’ouverture d’un fichier .ZIP préexistant. Pour ouvrir un fichier préexistant, vous devez d’abord récupérer son octet[] et créer un nouveau MemoryStream à partir des données, en définissant le paramètre bool onlyRead comme true.
GIST: [Ouvrir existant . Fichier zip (github.com)]
AddFile
Cette méthode d’annulation publique ajoute un fichier à partir du prénom et un tableau d’octets[] du fichier à inclure dans le fichier . Fichier zip.
GIST: [Ajout d’un fichier à la création . Zip archive (github.com)]
GetFiles
Cette méthode renvoie une liste de fichiers dans le fichier . Archive zip; les informations de chaque fichier sont encapsulées dans la classe ItemInfo interne.
GIST: [Itérer à travers les noms de fichiers dans Archive (github.com)]
GetItems
Cette méthode est utilisée lorsque vous souhaitez uniquement extraire les fichiers d’un répertoire spécifique dans l’archive. Il utilise le répertoire de paramètres de chaîne.
OpenRead
Cette méthode renvoie un flux à partir d’un fichier de l’archive. Le fichier est spécifié en fournissant un nom de fichier, ce nom
GIST: [Récupération d’un fichier de ZipArchive (github.com)]
Exemples
Vous trouverez ci-dessous des exemples de création d’un nouveau fichier . Zip archive dans Acumatica ainsi que de prendre un . Fichier zip joint à un document et lecture / enregistrement du contenu à l’intérieur.
Création d’archives
L’exemple suivant récupérera la liste des fichiers joints à un document Acumatica et créera un fichier . Archive zip qui est ensuite jointe.
GIST: [Ouvre un fichier zip joint à un document Acumatica (github.com)]
Récupération d’archives
L’exemple suivant récupérera le fichier . Zip fichier joint à un document Acumatica et joindre tous les documents de cette archive au document source.
GIST: [Bouton pour créer . Fichier zip à partir de fichiers joints au document Acumatica (github.com)]
Conclusion
Avec l’utilisation des bibliothèques fournies dans une installation Acumatica ERP, nous sommes en mesure de créer et de manipuler . Fichiers zip
Bon codage!