Strona głównaProduktyAkademia Dispatch – S1O3 – pierwszy prawdziwy skrypt

Akademia Dispatch – S1O3 – pierwszy prawdziwy skrypt

Akademia Dispatch – S1O3 – pierwszy prawdziwy skrypt

Akademia Dispatch – S1O3 – pierwszy prawdziwy skrypt

Akademia Dispatch – S1O3 – pierwszy prawdziwy skrypt

Witam wszystkich w trzecim odcinku Akademii Dispatch. Dziś będziemy pisali pierwszy prawdziwy skrypt. Prawdziwy to znaczy taki, który realnie będzie miał wpływ na pliki a właściwie na dane, które je opisują tzw. METADANE.

Założenia:

  • Skrypt ma uzupełnić pole INDEKS w karcie danych wartością pobraną z nazwy pliku,
  • Skrypt ma działać hurtowo na wielu plikach,
  • Skrypt może być uruchamiany tylko przez użytkownika Admin,
  • Skrypt ma zawierać komunikaty wejściowe i zakończeniowe.

1

Jak widać na powyższym obrazku pole INDEKS jest puste. Nasze pierwsze zadanie będzie polegało na tym aby pobrać z nazwy pliku ciąg znaków i uzupełnić tą wartością kartę danych.

Uruchamiamy narzędzie Administracji EPDM i w dodatku Dispatch dodajemy nowy skrypt.

2

Uzupełniamy Nazwę skryptu, opis oraz polecenie menu. W poleceniu menu przed faktyczną nazwą dodajemy ciąg „Akademia Dispatch\”. Dzięki temu nasze polecenie będzie umieszczone w podmenu menu kontekstowego.

 3

Na początku dodajemy dwa polecenia:

  • Dla wszystkich dokumentów Block START,
  • Koniec dla wszystkich dokumentów Block END.

Wszystkie polecenia jakie dodamy wewnątrz tego bloku będą wykonane dla wszystkich zaznaczonych plików.

Następnie dodajemy zmienną „Wartość z nazwy pliku” typu Ciąg statyczny a jej wartość będzie pobrana z nazwy pliku.

4

Jednak gdybyśmy pozostawili taką wartość zmiennej została by pobrana cała nazwa pliku – wraz z rozszerzeniem. Aby pozbyć się rozszerzenia można użyć operacji na ciągach znaków. W naszym przypadku wszystkie pliki mają stały format nazwy – nazwa składa się z pięciu (5) znaków i rozszerzenia. Możemy więc użyć funkcji ciągu LEFT.

 5

Dzięki temu z wartości %Nazwa zaznaczonego pliku% pobrane zostanie tylko pięć (5) znaków od lewej strony.

Jeśli mamy nazwy o zmiennym formacie możemy również przy pomocy funkcji ciągu znaleźć pozycję znaku „.” (kropki) i wyciągnąć tylko ciąg do tej pozycji. O funkcjach ciągu będzie szerzej mowa w kolejnych odcinkach Akademii Dispatch.

Kolejną zmienną jaką zdefiniujemy będzie „Zalogowany użytkownik”. Pobierzemy do niej login użytkownika, który uruchamia skrypt. Ta zmienna również będzie typu Ciąg statyczny.

 6

Kolejną zmienną, jaką dodamy, będzie zmienna „Czy kontynuować”. Ta zmienna będzie innego typu a mianowicie będzie to Zmienna wykonawcza. Taka zmienna przyjmuje wartość, na którą wpływ ma użytkownik podczas wykonywania się skryptu.

 7

OK mamy zdefiniowane wszystkie potrzebne zmienne możemy przejść do tworzenia właściwego skryptu.

Wewnątrz naszego bloku „Dla wszystkich dokumentów” dodajemy polecenie „Ustaw zmienne kart”.

 8

Wybieramy zmienną, w naszym przykładzie jest to zmienna KOD i jako wartość z zasobnika „Zmienne zdefiniowane przez użytkownika” wybieramy wcześniej dodaną zmienną „Wartość z nazwy pliku”.

 9

Trzeba pamiętać aby to polecenie znalazło się wewnątrz bloku START-END. Jeśli tak nie jest to przyciskami po prawej stronie możemy je tam przesunąć.

 10

OK pierwsze dwa punkty z założeń mamy załatwione. Teraz dodamy warunek aby skrypt mógł być uruchomiony tylko przez Admina. W tym celu dodamy polecenie typu Etykieta o nazwie „Nie Admin”.

 11

Naszą etykietę musimy umieścić po poleceniu Block END.

 13

Następnie dodajemy polecenie typu Skok.

 14

W polu Jeżeli (If) wybieramy zmienną skonfigurowaną wcześniej „Zalogowany użytkownik”. Jako warunek wybieramy != (Not equals to) i wpisujemy Admin. Na końcu w polu … then goto label wybieramy Etykietę „Nie Admin”. Nasz skok wykona następujące działanie. Jeżeli zmienna Zalogowany użytkownik nie równa się Admin przeskocz do Etykiety Nie Admin. Inaczej mówiąc pominie wszystkie działania skryptu przeskoczy od razu do jego końca.

 15

Następnie dodajemy kolejną etykietę o nazwie „Koniec” oraz polecenie typu Pole wiadomości TAK-NIE.

 16

I konfigurujemy to polecenie, w polu Ciąg monitu wpisujemy treść zapytania np. tak jak na obrazku poniżej. W polu Nazwa wybieramy naszą zmienną wykonawczą „Czy kontynuować”. Na samym dole podajemy jaką wartość ma przyjąć zmienna jeśli użytkownik wybierze Tak a jaką jeśli Nie.

 17

Kolejnym poleceniem będzie polecenie typu Skok.

 18

Konfigurujemy polecenie. W polu jeżeli wybieramy zmienną „Czy kontynuować”. W warunku wybieramy „Nie równa się” i wpisujemy TAK. W polu skocz do wybieramy etykietę „Koniec”.

Cały skrypt powinien wyglądać tak:

 19

Skrypty Dispatch wykonują polecenia linia po linii. Przeanalizujmy jakie będzie działanie naszego:

  • Jeżeli zmienna „Zalogowany użytkownik” nie równa się „Admin” przeskocz do etykiety „Nie Admin”. W innym wypadku przejdź do kolejnej linii,
  • Zapytanie do użytkownika czy chce uruchomić skrypt. W zależności co wybierze użytkownik zmienna „Czy kontynuować” będzie miała wartość TAK lub NIE,
  • Jeśli zmienna „Czy kontynuować” ma wartość inną niż TAK przeskocz do etykiety Koniec. W innym wypadku przejdź do następnej linii,
  • Ustaw zmienną KOD wartością pobraną z nazwy pliku (dla wszystkich zaznaczonych dokumentów,

Dobrze jest zakończyć skrypt komunikatem, który to oznajmia. Wyobraźmy sobie, że chcemy aby skrypt uzupełnił dane w 1000 plików. Lepiej będzie wiedzieć kiedy jego działanie się zakończyło. Dlatego dodamy jeszcze jedno polecenie. Będzie to „Pole wiadomości OK”.

 20

W tym poleceniu wpisujemy jedynie treść wiadomości jaka będzie wyświetlona.

 21

Nasz kompletny skrypt będzie więc miał postać:

 22

OK skrypt jest gotowy. Można go oczywiście rozbudować np. o komunikat, że tylko Admin może uruchamiać ten skrypt ale to już zostawiam do waszej kreatywności. Jeśli wszystko skonfigurowaliśmy poprawnie to skrypt powinien zadziałać jak na poniżysz filmiku. Jeśli nie albo macie jakieś wątpliwości to pod filmikiem znajdziecie link do pobrania tego skryptu. Jeszcze jedna uwaga. Aby zmieniać wartości pól na karcie danych plik musi być przez nas wyewidencjonowany – no chyba, że to pole jest połączone ze zmienną typu swobodnego.

INDEKS

W tym odcinku poznaliśmy kilka ciekawych poleceń takich jak:

  • Skok,
  • Etykieta,
  • Pole wiadomości OK,
  • Pole wiadomości TAK-NIE,
  • Uzupełnij zmienne kart.

Dowiedzieliśmy się również jak działają polecenia Dla wszystkich dokumentów Block START i Koniec dla wszystkich dokumentów Block END.

Zapraszam do komentowania i do lektury kolejnych odcinków.

Podziel się: