CreateZip
Tworzy archiwum ZIP z fileList przygotowanej w regule albo z plików dostępnych w folderze serwera.
Funkcja CreateZIP() obsługuje dwa scenariusze biznesowe. W pierwszym reguła buduje fileList przez AddFileToList(), a następnie tworzy ZIP z załączników sprawy albo z plików wygenerowanych w workflow. To jest wariant zalecany i w pełni wspierany zarówno dla instalacji cloud, jak i on-premise. W drugim scenariuszu funkcja tworzy ZIP z plików znajdujących się w folderze lub na udziale sieciowym dostępnym dla serwera aplikacyjnego. Ten wariant ścieżkowy jest przeznaczony wyłącznie dla integracji serwerowych w środowiskach on-premise. W instalacjach cloud overloady ścieżkowe są blokowane i należy używać wyłącznie wariantu fileList.
Składnia
Dział zatytułowany „Składnia”CreateZip(fileList);
Dział zatytułowany „CreateZip(fileList);”Tworzy ZIP z fileList przygotowanej w regule bez podawania własnej nazwy archiwum. Używaj tego wariantu, gdy archiwum będzie dalej obsługiwane w procesie.
CreateZip(fileList, zipName);
Dział zatytułowany „CreateZip(fileList, zipName);”Tworzy ZIP z fileList przygotowanej w regule. To jest standardowy wariant do pakowania załączników sprawy lub plików generowanych wewnątrz AMODIT.
CreateZip(fileList, zipName, password);
Dział zatytułowany „CreateZip(fileList, zipName, password);”Tworzy chroniony hasłem ZIP z fileList przygotowanej w regule. Używaj tego wariantu, gdy chcesz spakować pliki workflow do jednego archiwum bez używania ścieżek serwera.
CreateZip(fileList, zipName, password, useAES);
Dział zatytułowany „CreateZip(fileList, zipName, password, useAES);”Tworzy chroniony hasłem ZIP z szyfrowaniem AES z fileList przygotowanej w regule. Ten wariant nadaje się do dokumentów sprawy i plików generowanych w regułach zarówno w cloud, jak i on-premise.
CreateZip(pathFilesToZip, pathStoreZip, zipName);
Dział zatytułowany „CreateZip(pathFilesToZip, pathStoreZip, zipName);”Tworzy ZIP z plików zapisanych w folderze dostępnym dla serwera aplikacyjnego lub udziału sieciowego. Używaj go wtedy, gdy pliki nie pochodzą ze sprawy, lecz z zasobów serwera w środowisku on-premise. Ten overload nie jest dostępny w instalacjach cloud.
CreateZip(pathFilesToZip, pathStoreZip, zipName, password);
Dział zatytułowany „CreateZip(pathFilesToZip, pathStoreZip, zipName, password);”Tworzy chroniony hasłem ZIP z plików zapisanych w folderze dostępnym dla serwera aplikacyjnego. Ten wariant jest przeznaczony dla scenariuszy opartych o pamięć serwera w środowiskach on-premise. Ten overload nie jest dostępny w instalacjach cloud.
CreateZip(pathFilesToZip, pathStoreZip, zipName, password, useAES);
Dział zatytułowany „CreateZip(pathFilesToZip, pathStoreZip, zipName, password, useAES);”Tworzy chroniony hasłem ZIP z szyfrowaniem AES z plików zapisanych w folderze dostępnym dla serwera aplikacyjnego. Ten wariant stosuj tylko w scenariuszach serwerowych lub integracyjnych w środowiskach on-premise. Ten overload nie jest dostępny w instalacjach cloud.
Parametry
Dział zatytułowany „Parametry”fileList
Dział zatytułowany „fileList”- Typ:
FileList - Wymagany: tak
- Dozwolone wartosci: brak
Zmienna typu fileList zbudowana przez AddFileToList(). Używaj jej dla załączników sprawy i plików generowanych w regułach. To jest zalecane podejście zarówno w instalacjach cloud, jak i on-premise.
zipName
Dział zatytułowany „zipName”- Typ:
String - Wymagany: tak
- Dozwolone wartosci: brak
Nazwa wynikowego pliku ZIP.
password
Dział zatytułowany „password”- Typ:
String - Wymagany: nie
- Dozwolone wartosci: brak
Hasło używane do ochrony wynikowego pliku ZIP. Musi zawierać co najmniej 6 znaków.
- Typ:
Boolean - Wymagany: nie
- Dozwolone wartosci: brak
Jeżeli ten parametr jest ustawiony na true, to używany jest zwiększony poziom bezpieczeństwa dla hasła. Uwaga! Szyfrowanie AES zapewnia znacznie lepsze bezpieczeństwo, ale niektóre aplikacje mogą nie dekodować ZIP z takim szyfrowaniem poprawnie.
pathFilesToZip
Dział zatytułowany „pathFilesToZip”- Typ:
String - Wymagany: tak
- Dozwolone wartosci: brak
Folder źródłowy zawierający pliki do zarchiwizowania. Ścieżka musi być dostępna z poziomu serwera aplikacyjnego, więc ten parametr jest przeznaczony dla scenariuszy serwerowych w środowiskach on-premise. Overloady ścieżkowe używające tego parametru nie są dostępne w instalacjach cloud.
pathStoreZip
Dział zatytułowany „pathStoreZip”- Typ:
String - Wymagany: tak
- Dozwolone wartosci: brak
Folder docelowy, w którym zostanie utworzony plik ZIP. Ścieżka musi być dostępna z poziomu serwera aplikacyjnego, dlatego ten wariant zależy od dostępu do systemu plików serwera i nie jest dostępny w instalacjach cloud.
Zwracana wartość
Dział zatytułowany „Zwracana wartość”- Typ: zależy od argumentów
Zwraca zawartość ZIP, gdy argumentem wejściowym jest fileList. Zwraca wartość Boolean, gdy argumentami wejściowymi są ścieżki serwera: true po poprawnym zapisaniu archiwum w folderze docelowym. W obu wariantach funkcja zwraca false, gdy podane hasło jest puste albo krótsze niż 6 znaków. Błędy takie jak blokada w środowisku cloud albo niedostępne ścieżki serwera są zgłaszane jako wyjątek, a nie zwracane jako Boolean false.
Przykłady
Dział zatytułowany „Przykłady”Spakowanie plików eksportowych wygenerowanych w procesie
Dział zatytułowany „Spakowanie plików eksportowych wygenerowanych w procesie”Pakuje pliki wytworzone w trakcie workflow do jednego archiwum, które można pobrać albo przekazać do innego systemu. To jest preferowane podejście, gdy pliki są zarządzane wewnątrz AMODIT.
fileList=""; AddFileToList(fileList,[ExportXML],"export.xml"); AddFileToList(fileList,[SummaryPDF]); DownloadFile(CreateZip(fileList),"Export-package.zip")Oczekiwany efekt: Użytkownik pobiera plik ZIP o nazwie Export-package.zip.
Spakowanie załączników sprawy do odpowiedzi dla klienta
Dział zatytułowany „Spakowanie załączników sprawy do odpowiedzi dla klienta”Pakuje dokumenty zapisane już na sprawie do jednego załącznika ZIP, który można wysłać do klienta albo zarchiwizować w workflow. Ten wariant działa bez używania ścieżek serwera.
fileList=""; AddFileToList(fileList,[InvoicePDF]); AddFileToList(fileList,[OrderTerms]); [CustomerPackage]=CreateZip(fileList,"Customer-documents.zip")Oczekiwany efekt: W polu CustomerPackage powstaje załącznik ZIP o nazwie Customer-documents.zip.
Utworzenie paczki integracyjnej z folderu serwera
Dział zatytułowany „Utworzenie paczki integracyjnej z folderu serwera”Tworzy ZIP z plików zapisanych w folderze serwera albo na udziale sieciowym używanym przez integrację. Tego wariantu używaj tylko wtedy, gdy serwer aplikacyjny ma dostęp do tych ścieżek i rozwiązanie działa on-premise. Ten wariant nie jest dostępny w instalacjach cloud.
CreateZip("\\\\server\\exchange\\in","\\\\server\\exchange\\out","BatchPackage")Oczekiwany efekt: W docelowym folderze serwera powstaje plik ZIP o nazwie BatchPackage_date.zip.
Utworzenie chronionej paczki z plików serwera
Dział zatytułowany „Utworzenie chronionej paczki z plików serwera”Tworzy chroniony ZIP z plików dostępnych w folderze serwera. To przydaje się w scenariuszach wymiany serwerowej działających on-premise, ale zależy od dostępu do ścieżek serwera i nie jest dostępne w instalacjach cloud.
CreateZip("C:\amodittemp","C:\temp", "amodFilesZip", "p455w0rd", true)Oczekiwany efekt: W docelowym folderze serwera powstaje chroniony plik ZIP o nazwie amodFilesZip_date.zip.
Przypadki użycia
Dział zatytułowany „Przypadki użycia”Przygotowanie jednego ZIP z załączników sprawy
Dział zatytułowany „Przygotowanie jednego ZIP z załączników sprawy”Spakuj faktury, umowy lub inne dokumenty ze sprawy do jednego archiwum przed wysłaniem ich do klienta, dostawcy albo akceptującego. To typowy scenariusz dla fileList.
Pakowanie plików wygenerowanych w workflow
Dział zatytułowany „Pakowanie plików wygenerowanych w workflow”Łącz pliki utworzone przez reguły, szablony lub eksporty w jeden ZIP, który można pobrać, dołączyć do sprawy albo przekazać dalej w procesie. To działa zarówno w cloud, jak i on-premise.
Utworzenie paczki integracyjnej po stronie serwera
Dział zatytułowany „Utworzenie paczki integracyjnej po stronie serwera”Kompresuj wiele plików z folderu serwera albo udziału sieciowego do jednego ZIP na potrzeby wsadowej wymiany z innym systemem. To scenariusz ścieżkowy dostępny wyłącznie we wdrożeniach on-premise i trzeba go planować z uwzględnieniem ograniczeń wdrożeniowych.
Dobre praktyki
Dział zatytułowany „Dobre praktyki”- Dla załączników sprawy i plików generowanych w regułach najpierw zbuduj fileList przez AddFileToList(), a dopiero potem wywołaj CreateZip(fileList, …). To jest zalecane podejście zarówno dla cloud, jak i on-premise.
- Wariantu ścieżkowego używaj tylko wtedy, gdy pliki rzeczywiście znajdują się w folderze dostępnym dla serwera aplikacyjnego albo na udziale sieciowym oraz gdy rozwiązanie działa on-premise.
- W scenariuszach cloud nie projektuj reguł w oparciu o lokalne lub sieciowe ścieżki serwera, ponieważ overloady ścieżkowe są tam blokowane. Preferuj fileList zbudowaną z plików workflow.
- Jeśli reguła używa wariantu ścieżkowego i ma kontynuować działanie po problemach środowiskowych, opakuj wywołanie w try-catch, ponieważ ograniczenia cloud i niedostępne ścieżki są zgłaszane jako wyjątki.
- Używaj silnych haseł zawierających co najmniej 6 znaków dla lepszego bezpieczeństwa.
- Przetestuj pliki ZIP szyfrowane AES w docelowej aplikacji, aby upewnić się, że są kompatybilne.
Typowe błędy
Dział zatytułowany „Typowe błędy”Przekazanie pojedynczego pola plikowego bezpośrednio do CreateZip() zamiast najpierw zbudować fileList przez AddFileToList().
Dział zatytułowany „Przekazanie pojedynczego pola plikowego bezpośrednio do CreateZip() zamiast najpierw zbudować fileList przez AddFileToList().”Skutek: Reguła może uruchomić inny wariant funkcji niż zamierzony, co prowadzi do mylących błędów i błędnej interpretacji sposobu użycia CreateZip().
Rozwiazanie: Dla plików workflow zawsze najpierw utwórz fileList, a dopiero potem wywołaj CreateZip(fileList, …).
Założenie, że wariant ścieżkowy działa tak samo w instalacjach cloud i on-premise.
Dział zatytułowany „Założenie, że wariant ścieżkowy działa tak samo w instalacjach cloud i on-premise.”Skutek: Reguła zaprojektowana pod foldery serwera może nie pasować do modelu wdrożenia i może sugerować, że cała funkcja jest niedostępna, chociaż wariant fileList nadal jest poprawny.
Rozwiazanie: Dla dokumentów sprawy używaj fileList w obu środowiskach, a wariant ścieżkowy wybieraj tylko dla rzeczywistych scenariuszy pamięci serwerowej działających on-premise.
Użycie szyfrowania AES bez sprawdzenia kompatybilności.
Dział zatytułowany „Użycie szyfrowania AES bez sprawdzenia kompatybilności.”Skutek: Wynikowy plik ZIP może nie otwierać się w niektórych aplikacjach.
Rozwiazanie: Przetestuj pliki ZIP szyfrowane AES w docelowej aplikacji.