== Komendy workflow == W akcjach etapów można używać komend które będą wykonane w czasie aktywacji danego etapu. Komendy wybiera się z listy wyboru określając dodatkowe parametry np. {{{ target = "20",dscrpt="Wezwanie, uwaga!" status = "4",controlQuery="SELECT status = 3 FROM processes WHERE prc_id=$prc_id" }}} Od wersji 3.8 definiowanie parametrów komend odbywa się za pomocą dedykowanego formularza jak na screenie poniżej: [[Image(commandParamsForm.jpg)]] Komendy można również tworzyć samodzielnie poprzez dodanie skryptu do katalogu apps/edokumenty/commands. Nazwa skrypty musi się kończyć na Command.inc np. !ChangeRulesCommand.inc, a kod komendy musi implementować narzucony interfejs. W tym miejscu znajdują się przykłady oraz API [wiki:DeployerGuide/Customization/ProcessAutomation/CommandAPI API komend workflow] === Spis komend dostarczanych z systemem === #CommandList [#DecreeDocumentCommand Przekaż dokument][[BR]] [#AddCommentCommand Utwórz komentarz][[BR]] [#CheckIfFieldIsEmptyCommand Sprawdź czy pole jest wypełnione][[BR]] [#CopyFKElementsCommand Przepisz elementy z listy pozycji][[BR]] [#CheckSQLConditionCommand Sprawdź prawdziwość warunku SQL][[BR]] [#CreateTaskCommand Utwórz zdarzenie dla pracownika][[BR]] [#CheckDocumentCommand Sprawdź czy istnieje dokument][[BR]] [#ChangeFKElementsStateCommand Zmień status pozycją dokumentu][[BR]] [#ExportDocumentToFKCommand Eksport dokumentu do systemu zew.][[BR]] [#CheckDocumentConfirmationCommand Sprawdź potwierdzenie eksportu dokumentu do systemu FK.][[BR]] [#ChangeProcessStateCommand Zmiana statusu][[BR]] [#AddGroupToPrivilagedInProcessCommand Uprawnij grupę pracowników do sprawy][[BR]] [#AddGroupToPrivilagedInDocumentCommand Uprawnij grupę pracowników do dokumentu][[BR]] [#CreateDocumentCommand Utwórz dokument][[BR]] [#CreateAlarmCommand Utwórz przypomnienie][[BR]] [#DecreeDocumentToSupervisorCommand Przekaż dokument do przełożonego][[BR]] [#RegisterDocumentCommand Zarejestruj dokument][[BR]] [#CreateAttachmentFromTemplateCommand Utwórz załącznik z szablonu][[BR]] [#NotifyCommand Wysyłanie powiadomienia][[BR]] [#SendEmailCommand Wyślij wiadomość email][[BR]] [#CalendarExceptionCommand Dodaj wyjątek do kalendarza pracownika][[BR]] [#ProcessCloseCommand Zamknij sprawę][[BR]] [#MoveProcessCommand Przenieś sprawę][[BR]] [#RunProjectFromTemplateCommand Utwórz projekt z szablonu][[BR]] [#CreateProcessCommand Utwórz sprawę][[BR]] [#CreateDocumentLinkCommand Powiąż dokument z klientem, sprawą lub innym dokumentem][[BR]] [#CreateDocumentToSuppliersCommand Utwórz dokument/y dla dostawców produktów][[BR]] [#CreateReplacementCommand Ustaw zastępstwo][[BR]] [#SignAttachmentCommand Podpisz załącznik][[BR]] [#AddFKElementCommand Utwórz pozycję dokumentu][[BR]] {{{ #!html }}} === Przekaż dokument === #DecreeDocumentCommand Komenda służy do automatycznego przekazywania dokumentu na wybrane stanowiska. ''Parametry:'' ||Nazwa||Wartość||Opis|| ||to||"1"||parametr wskazujący do kogo ma zostać przekazany oryginał , jeśli parametru nie będzie, lub będzie pusty oryginał zostaje|| ||dw||"2,3,4,5"||do wiadomości|| ||udw||"6,7,8"||ukryte do wiadomości|| ||orders||"Komentarz"||komentarz do dekretacji|| Wszystkie wartości w parametrach to orunid z widoku orgtree_view. ''Przejdź do [#CommandList Spis komend]'' ---- === Utwórz komentarz === #AddCommentCommand Komenda dodaje komentarz do sprawy/dokumentu w którym jest uruchomiona. ''Parametry:'' ||Nazwa||Wartość||Opis|| ||dscrpt||"Sprawa {symbol} została załatwiona"||treść komentarza|| ''Przejdź do [#CommandList Spis komend]'' ---- === Sprawdź czy pole jest wypełnione === #CheckIfFieldIsEmptyCommand Komenda służy do sprawdzania czy dane pole formularza jest wypełnione. Przyjmuje 2 parametry i oba są wymagane. ''Parametry:'' ||Nazwa||Wartość||Opis|| ||field||"featid|8" lub "symbol"||nazwa pola (z bazy), które będzie sprawdzane|| ||alert||"Wypełnij pole symbol"||wiadomość w przypadku pustej wartości w polu|| ''Przejdź do [#CommandList Spis komend]'' ---- === Przepisz elementy z listy pozycji === #CopyFKElementsCommand Komenda przepisuje elementy z listy pozycji jednego dokumentu na drugi. ''Parametry:'' ||Nazwa||Wartość||Opis|| ||from__||"456" lub "symbol"||identyfikator dokumentu źródłowego (documents.doc_id), z którego chcemy przepisać pozycje. Dokument takie musi obsługiwać pozycje (jest widoczna zakładka)|| ||to____||"6789"||identyfikator dokumentu docelowego (documents.doc_id), z którego chcemy przepisać pozycje. Dokument takie musi obsługiwać pozycje (jest widoczna zakładka)|| ''Przejdź do [#CommandList Spis komend]'' ---- === Sprawdź prawdziwość warunku SQL === #CheckSQLConditionCommand Komenda sprawdza wynik zapytania SQL. Zapytanie SQL musi zwrócić TRUE albo FALSE. Zaleca się korzystanie z konstrukcji EXISTS np. SELECT EXISTS (SELECT doc_id FROM documents WHERE prc_id = {prc_id}). W innym wypadku wykonanie komendy może zakończyć się błędem. ''Parametry:'' ||Nazwa||Wartość||Opis|| ||query||"SELECT EXISTS (SELECT doc_id FROM documents WHERE prc_id = {prc_id} AND is_del IS FALSE)"||zapytanie SQL|| ||alert||"Dodaj dokument do sprawy"||wiadomość w przypadku niespełnienia sql|| ||success||"Dokument został dodany"||wiadomość w przypadku jeśli zapytanie SQL zwróci wynik TRUE lub 1|| ''Przejdź do [#CommandList Spis komend]'' ---- === Utwórz zdarzenie dla pracownika === #CreateTaskCommand Komenda służy do utworzenia zdarzenia określonego typu (domyślnie zadanie) dla pracownika. ''Parametry:'' ||Nazwa||Wartość||Opis|| ||dscrpt || "Aktualizacja dokumentacji wdrożenia"||opis zdarzenia|| ||emp_id || "{LOGGED_USER}" || identyfikator pracownika lub pracowników oddzielone znakiem przecinka, którym zostanie przypisane zdarzenie '''(Pracownicy -> Konta pracowników -> ID)'''|| ||grp_id || "2"||identyfikator grupy lub grup pracowników oddzielone znakiem przecinka, którzy zostaną dodani do zadania '''(Pracownicy -> Grupy -> ID)'''|| ||orunid || "11" || identyfikator stanowiska lub stanowisk osób oddzielone znakiem przecinka, które zostaną dodane do zdarzenia '''(Pracownicy -> Struktura organizacyjna -> ID)'''|| ||trmtyp || "TODO" || typ zdarzenia: TODO - zadanie, MEETING - spotkanie, PHONECALL - rozmowa telefoniczna, ALARM - przypomnienie|| ||start_ || "featid|81" || na kiedy ma dodać zdarzenie, wartość jest pobierana z cechy dlatego definicja np featid|81|| ||end!___ || "featid|81" || data zakończenia|| ||interval || "+ 4 days" || interval za jaki utworzyć się zdarzenie, można tworzyć wstecz poprzez -|| ||ptstid || "2" || id etapu z tabeli stages_def lub (ptstid="next") dla następnego etapu (ten parametr nie jest wymagany)|| ||witinf || "t" || poinformuj mnie jeśli zadanie (dotyczy tylko trmtyp = TODO) zostało wykonane - parametr nie jest wymagany domyślnie przyjmuje wartość t aby nie powiadamiać należy wpisać f lub FALSE|| ||stgevt || "1" || parametr ten powoduje powiązanie etapu z zadaniem co w efekcie umożliwia automatyczne załatwienie zadania poprzez załatwienie etapu procedury. Domyślnie parametr ten posiada wartość 1. Jeśli nie chcesz aby zadanie było powiązane z etapem wpisz 0 (zero)|| ||prev||""||poprzednik(i) identyfikator zadania w projekcie (kolejne wartości należy oddzielać znakiem przecinka)|| ||next||""||nastepnik(i) identyfikator zadania w projekcie (kolejne wartości należy oddzielać znakiem przecinka)|| ||ismile||"1/0"||kamień milowy - końcowy punkt, który podsumowuje określony zestaw zadań tzw. milestone. Wartość parametru to 0 - nie albo 1 - tak. Domyślnie 0|| ||deadln||""||ostateczny termin wykonania zadania tzw. deadline. Parametr w formacie daty|| ||cycle_||""||Cykl dla zdarzenia. Przykład poniżej|| Parametry dscrpt i emp_id są wymagane. Aby w prostu sposób wydobyć orunid dla danego usr_id należy użyć polecenia SQL: SELECT text_sum(orunid::text) FROM orgtree_view WHERE usr_id = {ID UŻYTKOWNIKA}; Cykl zdarzenia jest określany za pomocą ciągu znaków w formacie JSON. Przykłady : Taki JSON utworzy cykl w dni Poniedziałek, Wtorek, Środa i będzie powtarzać zadanie co tydzien. {{{ {"wdays":"1110000","cyctyp":"2","dstate":1,"numday":"1","numweek":"1","rgmonth":1,"mnumday":"5","mwdaynum":"1","mwday":"4","numonth":"1","cstart":"2013-09-05","crgend":1} }}} Ten JSON spowoduje utworzenie cyklu dziennego - co dwa dni {{{ {"wdays":"0000000","cyctyp":"1","dstate":1,"numday":"2","numweek":"1","rgmonth":1,"mnumday":"5","mwdaynum":"1","mwday":"4","numonth":"1","cstart":"2013-09-05","crgend":1} }}} Jeśli parametry cyklu są trudne i niejasne - najlepiej jest utworzyć zadanie z określoną cyklicznością i w bazie podejrzeć jak zapisała się ona w kolumnie cycle_ ''Przejdź do [#CommandList Spis komend]'' ---- === Sprawdź czy istnieje dokument === #CheckDocumentCommand Komenda służy do sprawdzania czy w danej sprawie występuje dokument o konkretnym type oraz rodzaju. ''Parametry:'' ||Nazwa||Wartość||Opis|| || dctpid || "9" || identyfikator typu dokumentu ze słownika '''(Ustawienia -> Panel sterowania -> Dokumenty -> Definicje dokumentów -> ID)'''|| || state_ || "2" || identyfikator rodzaju dokumentu 1 - wychodzący, 2 - przychodzący 3 - wewnętrzny|| ''Przejdź do [#CommandList Spis komend]'' ---- === Zmień status pozycją dokumentu === #ChangeFKElementsStateCommand Komenda zmienia status elementom na liście pozycji dokumentu. Komenda jest przeznaczona tylko dla dokumentu. ''Parametry:'' ||Nazwa||Wartość||Opis|| || state_ || "2" || kod statusu ze słownika statusów '''(Ustawienie -> Panel sterowania -> Ogólne -> Statusy -> Kod)'''|| ''Przejdź do [#CommandList Spis komend]'' ---- === Eksport dokumentu do systemu zew. === #ExportDocumentToFKCommand Komenda służy do wyeksportowania dokumentu (najczęściej faktury) do systemu zew. Obecnie tylko dla Symfonii. ''Parametry:'' ||Nazwa||Wartość||Opis|| || bsysid || "1" || identyfikator połączenia z systemem zew. '''(Narzędzie -> Połączenia z systemami zew. -> ID)'''|| || mode!__ || "2" || co ma się dziać z dokumentami załączonymi - obowiązuje tylko dla delegacji gdzie na liście rozliczenia są faktury. W przypadku innego typu parametr ten nie jest brany pod uwagę. Wartości parametru:[[BR]] 1 - eksportuje tylko główny dokument (domyślna wartość)[[BR]] 2 - tylko załączone [[BR]] 3 - główny plus załączone|| ''Przejdź do [#CommandList Spis komend]'' ---- === Sprawdź potwierdzenie eksportu dokumentu do systemu FK === #CheckDocumentConfirmationCommand Komenda sprawdza potwierdzenie eksportu dokument do systemu FK. Po sprawdzeniu potwierdzenie jest usuwane niezależnie od statusu. W przypadku błędu (brak identyfikatora z systemu FK) potwierdzenie jest przenoszone do katalogu wskazanego z parametrze errfld. ''Parametry:'' ||Nazwa||Wartość||Opis|| || xmlfld || "./var/integration/fk/" || katalog w którym znajdują się potwierdzenia importu dokumentów do systemu zew. Nazwa pliku musi składać się z identyfikatora dokumentu z systemu eDokumenty oraz posiadać rozszerzenie xml np. 123.xml. Struktura potwierdzenia może być zależna od systemu FK i wymagać modyfikacji lub dodania własnej komendy bazującej na poniższej. Katalog powinien posiadać odpowiednie prawa do odczytu i zapisu|| || errlfd || "./var/integration/fk/errors/" || katalog w którym znajdują się potwierdzenia dla dokumentów których nie udało się zaimportować. Katalog powinien posiadać odpowiednie prawa do odczytu i zapisu|| || idtgnm || "fkid" || nazwa taga xml przechowującego identyfikator z systemu FK|| || mstgnm || "errors" || nazwa taga xml przechowującego wiadomość w przypadku błędnego importu do systemu FK|| || bsysid || "1" || identyfikator połączenia z systemem zew jeśli takie jest utworzone i eksport został wykonany komendą '''(Narzędzie -> Połączenia z systemami zew. -> ID)'''. Parametr nie jest wymagany. W przypadku jego podania oraz poprawnego formatu potwierdzenia dodawane jest powiązanie w tabeli bs_connect_documents_coherences pomiędzy dokumentem z systemu eDokumenty z dokumentem z systemu FK zdefiniowanym w połączeniu|| ''Przejdź do [#CommandList Spis komend]'' ---- === Zmiana statusu === #ChangeProcessStateCommand Komenda zmienia status zlecenia (sprawy/dokumentu) na podany w parametrze. Jeśli komenda jest wykonywana w kontekście procedury dokumentu wtedy dodatkowo jest zmieniany stan załatwienia dokumentu na załatwiony. ''Parametry:'' ||Nazwa||Wartość||Opis|| || tpstid || "9" || id statusu ze słownika statusów dla odpowiedniej klasy ('''Ustawienia -> Panel sterowania -> Ogólne -> Statusy -> kolumna id''')|| || clsnam || "PROCESS" || klasa obiektu: PROCESS - sprawa, DOCUMENT - dokument. Parametr ten umożliwia zmianę statusu dla innego obiektu niż aktualnego w kontekście procedury|| || keyval || "{prc_id}" || identyfikatr obiketu, klucz główny z tabel: sprawy - processes.prc_id, dokumenty - dokumenty.doc_id. Parametr wymagany przy podaniu clsnam|| ''Przejdź do [#CommandList Spis komend]'' ---- === Uprawnij grupę pracowników do sprawy === #AddGroupToPrivilagedInProcessCommand Komenda służy do nadania (aktualizacji) uprawnień grupie lub pracownikom do sprawy. Jeśli grupa lub pracownik zostali już wcześniej uprawnieni wtedy następuje aktualizacja poziomu uprawnień. W przypadku podania kilku wartości dla parametru grp_id, grpnam lub usr_id - wszystkie otrzymają poziom uprawnień zadeklarowany w parametrze attrib. ''Parametry:'' ||Nazwa||Wartość||Opis|| || grp_id || "2" || identyfikator grup oddzielone znakiem przecinka, które chcemy uprawnić do sprawy '''(Pracownicy -> Grupy -> ID)''' - parametr zamienny z grpnam. W przypadku kilku wartości identyfikatory grup powinny być oddzielone znakiem przecinka|| || grpnam || "Pracownicy" ||nazwy grup oddzielone znakiem przecinka, które chcemy uprawnić do sprawy '''(Pracownicy -> Grupy -> Nazwa)''' - parametr zamienny z grp_id, jeśli podano grp_id i grpnam priorytet ma parametr grp_id. W przypadku kilku wartości nazwy grup powinny być oddzielone znakiem przecinka|| || usr_id || "2,3,4" ||identyfikator pracownika lub pracowników oddzielone przecinkiem '''(Pracownicy -> Konta praconwików -> ID)'''|| || attrib || "rwnd" || maska uprawnień według specyfikacji: [[BR]] r - odczyt, [[BR]] w - zapis zadań i dokumentów,[[BR]] d - oglądanie wszystkich dokumentów,[[BR]] n - powiadamianie o nowych dokumentach, zadaniach i komentarzach, [[BR]]m - zarządzanie (karta Ogólne i Uprawnienia).[[BR]] Poprzedzenie maski znakiem minus (-) oznacza , iż dane prawo ma zostać zabrane np. -m oznacza zabranie tylko prawa do zarządzania - m|| Znaczenie poszczególnych flag maski uprawnień: * r - odczyt * w - zapis zadań i dokumentów * d - oglądanie wszystkich dokumentów * n - powiadamianie o nowych dokumentach, zadaniach i komentarzach * m - zarządzanie (karta ogólne i Uprawnienia) ''Przejdź do [#CommandList Spis komend]'' ---- === Uprawnij grupę pracowników do dokumentu === #AddGroupToPrivilagedInDocumentCommand Komenda służy do nadania (aktualizacji) uprawnień grupie lub pracownikom do dokumentu. Jeśli grupa lub pracownik zostali już wcześniej uprawnieni wtedy następuje aktualizacja poziomu uprawnień. W przypadku podania kilku wartości dla parametru grp_id, grpnam lub usr_id - wszystkie otrzymają poziom uprawnień zadeklarowany w parametrze attrib. ''Parametry:'' ||Nazwa||Wartość||Opis|| || grp_id || "2,4" ||identyfikator grup oddzielone znakiem przecinka, które chcemy uprawnić do sprawy '''(Pracownicy -> Grupy -> ID)''' - parametr zamienny z grpnam. W przypadku kilku wartości identyfikatory grup powinny być oddzielone znakiem przecinka|| || grpnam || "Pracownicy" ||nazwy grup oddzielone znakiem przecinka, które chcemy uprawnić do sprawy '''(Pracownicy -> Grupy -> Nazwa)''' - parametr zamienny z grp_id, jeśli podano grp_id i grpnam priorytet ma parametr grp_id. W przypadku kilku wartości nazwy grup powinny być oddzielone znakiem przecinka|| || usr_id || "2,3,4" ||identyfikator pracownika lub pracowników oddzielone przecinkiem '''(Pracownicy -> Konta praconwików -> ID)'''|| || attrib || "rwnd" || maska uprawnień|| Znaczenie poszczególnych flag maski uprawnień: * r - odczyt * w - zapis * m - zarządzanie ''Przejdź do [#CommandList Spis komend]'' ---- === Utwórz dokument === #CreateDocumentCommand Komenda ta tworzy dokument określonego typu. Komenda przyjmuje następujące parametry: ''Parametry:'' ||Nazwa||Wartość||Opis|| || dctpid || "5" || id typu dokumenty ('''Ustawienia -> Panel sterowania -> Typy dokumentów -> kolumna ID''')|| || dctptp || "Note" || nazwa klasy typu dokumentu (dctptp z tabeli types_of_documents) parametr zamienny z dctpid|| || dscrpt || "Wezwanie do wykonania etapy procedury" || treść dokumentu|| || prc_id || "123" || identyfikator sprawy (processes.prc_id) pod którą dokument zostanie dodany. Domyślnie jest to identyfikator sprawa w kontekście, której wykonywana jest procedura lub atrybut dokumentu (sprawa), z którego wykonywana jest procedura|| || do || "1" || id stanowiska na jakie zostanie przekazy dokument (orunid z tabeli organization_units)|| || dw || "2,3,4" || (dw = do wiadomości) jeden lub więcej id (rozdzielone znakiem interpunkcyjnym, zwanym przecinkiem) jednostki do której przekazać kopie dokumentu (orunid z tabeli organization_units)|| ||fradid|| "2" ||pole Nabywca dla dokumentu typu Pismo (identyfikator adresu (address.addrid))|| ||toadid|| "3" ||pole Odbiorca dla dokumentu typu Pismo (identyfikator adresu (address.addrid))|| ||spadid|| "56 ||pole Dostawca dla dokumentu typu Zapotrzebowanie, Zamówienie (identyfikator adresu (address.addrid))|| ||rcadid|| "66" ||pole Odbiorca dla dokumentu typu WZ (identyfikator adresu (address.addrid))|| ||pchaid|| "89" ||pole Zamawiający dla dokumentu typu Zapotrzebowanie, Zamówienie (identyfikator adresu (address.addrid))|| ||addrid|| "6889" ||pole Dostawca/Odbiorca dla dokumentu typy PZ/WZ (identyfikator adresu (address.addrid))|| Dodatkowo komenda przyjmuje wszystkie parametry jak w [#AddGroupToPrivilagedInDocumentCommand Uprawnij grupę pracowników do dokumentu] ''Przejdź do [#CommandList Spis komend]'' ---- === Utwórz przypomnienie === #CreateAlarmCommand Komenda tworzy nowe przypomnienie o podanej treści dla wskazanego pracownika na określony dzień. Wszystkie parametry są wymagane. ''Parametry:'' ||Nazwa||Wartość||Opis|| || dscrpt || "Przypomnienie o zatwierdzeniu etapu" || opis przypomnienia|| || start_ || "SQL::SELECT now()" || na kiedy ma ustawić przypomnienie|| || usr_id || "2" || dla kogo zostanie utworzone przypomnienie '''(Pracownicy -> Konta pracowników -> ID)'''|| || orunid || "1" || identyfikator stanowiska osoby dla której chcemy dodać przypomnienie '''(Pracownicy -> Struktura organizacyjna -> ID)''', parametr zamienny z usr_id w przypadku podania obu parametrów pierwszeństwo ma parametr usr_id|| ''Przejdź do [#CommandList Spis komend]'' ---- === Przekaż dokument do przełożonego === #DecreeDocumentToSupervisorCommand Komenda służy do automatycznego przekazywania dokumentu do przełożonego pracownika wskazanego w parametrze emp_id. ''Parametry:'' ||Nazwa||Wartość||Opis|| || emp_id || "{LOGGED_USER}" || identyfikator pracownika którego przełożony otrzyma dokument domyślnie identyfikator zalogowanego '''(Pracownicy -> Konta pracowników -> ID)'''|| ||orders||"Komentarz"||komentarz do dekretacji|| ''Przejdź do [#CommandList Spis komend]'' ---- === Zarejestruj dokument === #RegisterDocumentCommand Komenda służy do automatycznej rejestracji dokumentu według ustalonej procedury. ''Parametry:'' ||Nazwa||Wartość||Opis|| || reg_id || "2" || id rejestru z tabeli registers w którym zostanie zarejestrowany dokument - używany wówczas gdy z góry znamy właściwy dziennik. Opcjonalnie można użyć innych parametrów, wówczas system obliczy właściwy dziennik (np. wtedy kiedy dokumenty mogą być rejestrowane w różnych dziennikach - np. jednostek rozliczeniowych)|| ''Opcjonalnie można użyć innych parametrów, wówczas system obliczy właściwy dziennik (np. wtedy kiedy dokumenty mogą być rejestrowane w różnych dziennikach - np. jednostek rozliczeniowych):'' ||Nazwa||Wartość||Opis|| || orunid || "{acorid}" || id jednostki organizacyjnej po której zostanie wyszukany dziennik (tabela registers kolumna orunid), w przypadku jeśli chcemy aby wartość orunid była pobrana bezpośrednio z formularza np pole jednostka rozliczeniowa na formularzu faktury parametr ten powinien wyglądać w następujący sposób orunid="{acorid}"|| || regtyp || "RegOfVatNotes" || typ rejestru w danym orunid (kolumna regtyp z tabeli registers)|| || type!__ || "1" || typ rejestru (1 = wychodzący, 2 = przychodzący, 3 = wewnętrzny)|| ''Przejdź do [#CommandList Spis komend]'' ---- === Utwórz załącznik z szablonu === #CreateAttachmentFromTemplateCommand Komenda automatycznie tworzy załącznik do dokumentu na podstawie podanego id szablonu (tabela templates kolumna tpl_id). ''Parametry:'' ||Nazwa||Wartość||Opis|| || tpl_id || "23" || identyfikator szablonu '''(Ustawienia -> Panel sterowania -> Dokumenty -> Szablony dokumentów -> ID)'''|| ''Przejdź do [#CommandList Spis komend]'' ---- === Wysyłanie powiadomienia === #NotifyCommand Komenda pozwala na wysłanie powiadomienia na zadany sposób. ''Parametry:'' ||Nazwa||Wartość||Opis|| ||dscrpt || "Zebranie zarządu" || treść powiadomienia|| ||grp_id || "2" || identyfikatory grup, których pracownicy otrzymają powiadomienie '''(Pracownicy -> Grupy -> ID)'''. W przypadku kilku wartości identyfikatory grup powinny być oddzielone znakiem przecinka|| ||grpnam || "Zarząd" || zamienny parametr do grp_id, nazwa grupy '''(Pracownicy -> Grupy -> Nazwa)'''. W przypadku kilku wartości nazwy grup powinny być oddzielone znakiem przecinka|| ||usr_id || "2" || identyfikator pracownika może być w formie 2, 35, 77 '''(Pracownicy -> Konta pracowników -> ID)'''|| ||orunid || "1" || identyfikator stanowiska lub stanowisk osób oddzielone znakiem przecinka, które zostaną dodane do odbiorców powiadomienia '''(Pracownicy -> Struktura organizacyjna -> ID)'''|| ||type!__ || "Communicator" || rodzaj powiadomienia, obecnie wspierane są Communicator - wewnętrzny komunikator, Document - notatka służbowa, Mail - powiadomienie zostanie wysłane na adres mailowy zapisany w kartotece pracownika|| Aby komenda zadziałała musi być podany jeden z 3 parametrów: grp_id, grpnam, usr_id lub orunid. W przypadku podania wszystkich parametrów określających odbiorców ,lista odbiorców jest łączona z poszczególnych wartości parametrów. Powiadomienie nie jest wysyłane do osoby wykonującej etap. ''Przejdź do [#CommandList Spis komend]'' ---- === Wyślij wiadomość email === #SendEmailCommand Komenda pozwala na wysłanie wiadomości email do określonych odbiorców. Dodatkowo istnieje możliwość automatycznego załączenia załączników dokumentu do emaila. ''Parametry:'' ||Nazwa||Wartość||Opis|| || from!__ || "SQL::SELECT email FROM users WHERE usr_id = {LOGGED_USER}" || pole od kogo domyślnie jest wstawiane eDokumenty || || to!__!__ || "prezes@firma.eu" || pole do w przypadku parametru liczbowego zostanie wstawiony adres email kontaktu o identyfikatorze podanym w parametrze np to!__!__="{contid}" || || cc!__!__ || "kierownik@firma.eu" || pole kopia w przypadku parametru liczbowego zostanie wstawiony adres email kontaktu o identyfikatorze podanym w parametrze np cc!__!__ = "featid::98"|| || bcc!___ || "archiwumfirma.eu" || pole kopia ukryta w przypadku parametru liczbowego zostanie wstawiony adres email kontaktu o identyfikatorze podanym w parametrze np bcc!___="{contid}"|| || subjct || "Rekrutacja zakończona" || temat wiadomości zwykły tekst bez znaczników html. Pole jest wymagane.|| || body!__ || "Zakończono proces rekrutacji. W załączniku dostępne są wyniki" || treść wiadomości zwykły tekst bez znaczników html. Pole jest wymagane.|| || tpl_id || "1" || identyfikator szablonu (templates.tpl_id). Jeśli szablon jest typu html parametr body!__ zostanie pominięty a treścią maila będzie wygenerowany dokument z szablonu. W przypadku szablonu typu RTF zostanie on dodany jako załącznik - parametr body nie zostanie pominięty.|| || attach || "1" || flaga oznaczająca czy do wysyłanej wiadomości mają zostać dołączone wszystkie załączniki jakie są w dokumencie. Działa tylko w przypadku procedury przypisanej do dokumentu|| || onlyct || "1" || wyślij załączniki dokumentu oznaczone jako Treść - dodanie tego parametru z wartością 1 spowoduje załączenie do wiadomości email załączników dokumentu oznaczonych jako Treść. Dodatkowo załączone zostaną załączniki, które są podpisane certyfikatami pieczęci elektronicznej|| Spośród parametrów to!__!__, cc!__!__ oraz bcc!___ wystarczy aby tylko jeden był podany aby wiadomość została wysłana. ''Przejdź do [#CommandList Spis komend]'' ---- === Dodaj wyjątek do kalendarza pracownika === #CalendarExceptionCommand Komenda dodaje wyjątek do kalendarza pracownika (zasobu) z atrybutami dzienny, niepracujący. ''Parametry:'' ||Nazwa||Wartość||Opis|| || usr_id || "{LOGGED_USER}" || identyfikator pracownika (users.usr_id), któremu zostanie dodany wyjątek do kalendarza. W przypadku jeśli pracownik o podanym identyfikatorze nie posiada kalendarza ('''Ustawienia -> Panel sterowania -> Kalendarz i karty pracy -> Kalendarze''') system automatycznie utworzy kalendarz, który będzie dziedziczył po domyślnym kalendarzu systemowym|| ||dscrpt || "Wyjazd na urlop" || opis dodawanego wyjątku. Uwaga - należy zapewnić unikalność nazw wyjątków w obrębie jednego kalendarza|| ||from!__ || "2011-08-10" || data rozpoczęcia obowiązywania wyjątku w formacie YYYY-MM-DD np 2011-08-10|| ||to!__!__ || "2011-08-20" || data zakończenia obowiązywania wyjątku w formacie YYYY-MM-DD np 2011-08-20|| ''Przejdź do [#CommandList Spis komend]'' ---- === Zamknij sprawę === #ProcessCloseCommand Komenda zamyka sprawę w kontekście, której wykonywana jest procedura lub komenda może być wykonana z kontekstu dokumentu wtedy pobierana jest sprawa, w której dany dokument się znajduje. ''Parametry:'' ||Nazwa||Wartość||Opis|| || prc_id || "23" || identyfikator sprawy (processes.prc_id), którą chcemy zamknąć. Parametr ten nie jest wymagany. Jeśli nie zostanie podany pobierana jest sprawa z kontekstu procedury|| || tpstid || "9" || id statusu ze słownika statusów dla odpowiedniej klasy ('''Ustawienia -> Panel sterowania -> Ogólne -> Statusy -> kolumna id''')|| ''Przejdź do [#CommandList Spis komend]'' ---- === Przenieś sprawę === #MoveProcessCommand Komenda automatycznie przenosi sprawę do wskazanej teczki albo do działu, który posiada taką samą teczkę co sprawa. Komenda może być wykonana z kontekstu dokumentu wtedy pobierana jest sprawa, w której dany dokument się znajduje. ''Parametry:'' ||Nazwa||Wartość||Opis|| || prc_id || "23" || identyfikator sprawy (processes.prc_id), którą chcemy przenieść. Parametr ten nie jest wymagany. Jeśli nie zostanie podany pobierana jest sprawa z kontekstu procedury|| || dsexid || "23" || identyfikator teczki w wyciągu z wykazu akt '''(Ustawienia -> Panel sterowania -> Sprawy -> Wyciąg z wykazu akt -> Kolumna ID)'''|| || orunid || "6" || opcjonalny (zamienny) parametr identyfikator jednostki organizacyjnej w której znajduje się teczka do której chcemy przenieść sprawę. Teczka musi być ta sama co w sprawie.|| ''Przejdź do [#CommandList Spis komend]'' ---- === Utwórz projekt z szablonu === #RunProjectFromTemplateCommand Komenda generuje strukturę spraw oraz zadań zgodnie z zadanym identyfikatorem szablonu projektu. ''Parametry:'' ||Nazwa||Wartość||Opis|| || ptplid || "1" || identyfikator szablonu projektu '''(Ustawienia -> Panel sterowanie -> Sprawy -> Szablony projektów -> ID)'''|| || dsexid || "45" || identyfikator teczki z wyciągu z wykazu akt '''(Ustawienia -> Panel sterowania -> Sprawy -> Wyciąg z wykazu akt -> ID)'''|| ||contid || "677" || domyślny identyfikator kontrahenta '''(Klienci -> ID)'''|| ||start_ || "2011-08-20" || data rozpoczęcia - w przypadku nie podania tego parametru data rozpoczęcia jest ustawiana na bieżący czas|| Wszystkie parametry są wymagane ''Przejdź do [#CommandList Spis komend]'' ---- === Utwórz sprawę === #CreateProcessCommand Komenda automatycznie tworzy nową sprawę. W przypadku jeśli komenda jest w procedurze podpiętej pod sprawę nowo utworzona sprawa zostaje ustawiona jako podrzędna. ''Parametry:'' ||Nazwa||Wartość||Opis|| || dossmb || "ORG/10" || symbol teczki z wyciągu z wykazu akt '''Ustawienia -> Panel sterowania -> Sprawy -> Wyciąg z wykazu akt -> Symbol''' parametr zamienny z dsexid|| || dsexid || "45" || identyfikator teczki z wyciągu z wykazu akt '''(Ustawienia -> Panel sterowania -> Sprawy -> Wyciąg z wykazu akt -> ID)''' parametr zamianny z dossmb|| || dscrpt || "Nowa sprawa" || opis sprawy|| || contid || "677" || identyfikator kontrahenta (contacts.contid, '''Klienci -> ID''') domyślnie jest przepisywany z kontekstu procedury. Parametr ten może być kolekcją/tablicą (np. 1,2,3 lub {1,2,3} lub [1,2,3]). W takim przypadku, sprawa zostanie utworzona dla każdego kontrahenta (np. contid="SQL::SELECT ARRAY(SELECT contid FROM addresses_view WHERE addrid = ANY({$LISTA_ADRESOW}))". $LISTA_ADRESOW jest daną wejściową typu "addrid[]").|| || fxterm || "{CURRENT_DATE}" || termin realizacji sprawy (domyślnie {CURRENT_DATE} + 7 dni)|| || rspuid || "{LOGGED_USER}" || osoba odpowiedzialna za sprawę (users.usr_id, '''Pracownicy -> Konta pracowników -> ID''' domyślnie identyfikator zalogowanego pracownika {LOGGED_USER})|| || prtpid || "23" || identyfikator procedury (procedures_def.prtpid, '''Ustawienia -> Panel sterowania -> Ogólne -> Procedury -> ID'''. W przypadku nie podania tego parametru brana pod uwagę jest procedura zadeklarowana dla teczki|| || prtype || "1" || type sprawy: '''1''' - terminowa, '''2''' - stała. Domyślnie jest to 2 czyli stała|| || projid || "1" || identyfikator projektu (projects.projid, '''Ustawienia -> Panel sterowania -> Sprawy -> Projekty -> ID''')|| Dodatkowo komenda przyjmuje wszystkie parametry jak w [#AddGroupToPrivilagedInProcessCommand Uprawnij grupę pracowników do sprawy] ''Przejdź do [#CommandList Spis komend]'' ---- === Powiąż dokument z klientem, sprawą lub innym dokumentem === #CreateDocumentLinkCommand Komenda dodaje powiązanie pomiędzy dokumentem w kontekście, którego jest wykonywana procedura a wskazanym obiektem w systemie (klient, sprawa lub dokument). ''Parametry:'' ||Nazwa||Wartość||Opis|| || clsnam || "PROCESS" || klasa obiektu: [[BR]] - CONTACT - klient [[BR]] - PROCESS - sprawa [[BR]] - DOCUMENT - dokument. [[BR]] Parametr wymagany.|| || keyval || "{prc_id}" || identyfikatr lub identyfikator (wymienione po przecinku) obiektu, klucz główny z tabel: [[BR]] - klienci - contacts.contid [[BR]] - sprawy - processes.prc_id [[BR]] - dokumenty - dokumenty.doc_id. [[BR]] Parametr wymagany|| ''Przejdź do [#CommandList Spis komend]'' ---- === Utwórz dokument/y dla dostawców produktów === #CreateDocumentToSuppliersCommand Komenda tworzy dokument/y danego typu dla dostawców produktów określonych w liście pozycji danego dokumentu źródłowego. Wybór pozycji może odbywać się poprzez ręczne określenie obiektu źródłowego (podanie clsnam oraz keyval dla dokumentu/sprawy) albo pozycje będą pobierane z obiektu (dokument/sprawa) w kontekście którego działa procedura. ''Parametry:'' ||Nazwa||Wartość||Opis|| || clsnam || "PROCESS" || klasa obiektu źródłowego skąd zostaną pobrane pozycje: [[BR]] - PROCESS - sprawa [[BR]] - DOCUMENT - dokument.
W przypadku braku tego parametru produkty są pobierane z obiektu (dokument/sprawa) w kontekście, którego działa procedura.|| || keyval || "{prc_id}" || identyfikatr obiektu, klucz główny z tabel: [[BR]] - sprawy - processes.prc_id [[BR]] - dokumenty - dokumenty.doc_id.
Parametr wymagany w przypadku podania clsnam.|| || cntkey || "spadid" || Nazwa klucza (parametru z komendy "Utwórz dokument") odpowiedzialna za przechowywanie wartości adresu.[[BR]][[BR]] Np. dla zamówienia jest to parametr "Dostawca" - nazwa parametru - spadid (na dole pomocy znajduje się nazwa)|| Dodatkowo komenda przyjmuje wszystkie parametry jak w [#CreateDocumentCommand Utwórz dokument] ''Przejdź do [#CommandList Spis komend]'' ---- === Ustaw zastępstwo === #CreateReplacementCommand Komenda ustawia zastępstwo dla wskazanego pracownika. ''Parametry:'' ||Nazwa||Wartość||Opis|| || usr_id || "{LOGGED_USER}" || identyfikator pracownika '''(Pracownicy -> Konta pracowników -> ID)''', któremu zostanie ustawione zastępstwo.[[BR]]Domyślnie jest to zalogowany pracownik.|| || rusrid || "23" || identyfikator pracownika '''(Pracownicy -> Konta pracowników -> ID)''', który będzie pełnił funkcję zastępcy dla pracownika wskazanego w parametrze "Dla kogo".|| || from__ || "2012-12-10" || od kiedy zastępstwo będzie obowiązywać. Data w formacie YYYY-MM-DD|| || to____ || "2012-12-20" || do kiedy zastępstwo będzie obowiązywać. Data w formacie YYYY-MM-DD|| || notify || "1" || parametr ten powoduje, iż zastępca jest informowany o ustawieniu zastępstwa.[[BR]] Obsługiwane parametry:[[BR]]0 - nie powiadamiaj[[BR]] 1- powiadamiaj.[[BR]][[BR]]Domyślna wartość to 1 - powiadamiaj| || force_ || "1" || parametr ten powoduje, iż zastępstwo ustawiane przez komendę ma wyższy priorytet i w przypadku jeśli pracownik wskazany w parametrze "Dla kogo" posiada już ustawione zastępstwo komenda nadpisze to zastępstwo.
Obsługiwane parametry:[[BR]]0 - zachowaj zastępstwo jeśli jest już ustawione[[BR]] 1- nadpisuj zastępstwo jeśli ustawiono.[[BR]][[BR]]Domyślna wartość to 1 - nadpisuj|| ''Przejdź do [#CommandList Spis komend]'' ---- === Podpisz załącznik === #SignAttachmentCommand Komenda utworzy podpis dla wskazanego załącznika a następnie doda podpis jako załącznik w dokumencie. Podpis zostanie utworzony w kodowaniu base64. ''Parametry:'' ||Nazwa||Wartość||Opis|| || coesid || 1 || certyfikat pieczęci elektronicznej '''(Ustawienia -> Panel sterowania -> Pozostałe ustawienia -> Certyfikaty pieczęci elektronicznej -> ID)'''. Uwaga. W przypadku jeśli certyfikat wymaga podania hasła wymagane jest pole passwd|| || fileid || || identyfikator załącznika (files.fileid) z listy załączników dokumentu w kontekście, którego uruchomiono procedurę|| || iscont || 1 || parametr zamienny z fileid. Jeśli podano fileid parametr iscont nie jest brany pod uwagę. Po wpisaniu wartości 1 system automatycznie wyszuka na liście załączników dokumentu w kontekście, którego uruchomiono procedurę załącznika oznaczonego jako treść|| || passwd || || w przypadku jeśli certyfikat pieczęci elektronicznej wymaga podania hasła w celu podpisania dokumentu należy wprowadzić hasło na stałe do komendy lub skorzystać w danych wejściowych w celu pobrania tego hasło od użytkownika a następnie wpisania nazwy danej wejściowej np. SQL::SELECT {$HASLO_PIECZEC}|| ''Przejdź do [#CommandList Spis komend]'' ---- === Utwórz pozycję dokumentu === #AddFKElementCommand ''Parametry:'' ||Nazwa||Wartość||Opis|| || doc_id || || identyfikator dokumentu do, którego zostanie dodana pozycja. Domyślne jest to dokument z kontekstu procedury. Wybrany dokument musi obsługiwać zakładkę Pozycje|| || depoid || 123 || identyfikator produktu z modułu Produktu '''(Produkty -> Lista produktów -> Kolumna ID produktu)'''|| || depnam || PC 999 || nazwa produktu, która pojawi się na liście pozycji oraz na wydruku (PDF/RTF). Domyślnie jest to pole Nazwa z kartoteki wybranego produktu|| || quantm || 666 || liczba|| || unitid || szt || identyfikator jednostki miary '''(Ustawienie -> Panel sterowania -> Magazyn -> Jednostki miary -> Kolumna ID)''' albo nazwa jednostki (może być skrót)|| || vat_id || 23% || identyfikator stawki VAT '''(Ustawienie -> Panel sterowania -> Finansowe -> Stawki VAT -> Kolumna ID)''' albo nazwa stawki VAT|| || netto_ || 100 || cena netto za 1 jednostkę || ''Przejdź do [#CommandList Spis komend]'' ---- {{{ #!html
}}} ''Informacja dodatkowa'' Wszystkie parametry maja możliwość pobierania wartości w następujący sposób: * z cechy * emp_id = "featid|81" * emp_id = "featid::81" * dscrpt = "Pracownik featid::81::string prosi o udzielenie urlopu okolicznościowego" * bezpośrednio z otwartego formularza * emp_id = "{rspuid}" gdzie wartość {rspuid} zostanie zamieniona na wartość w kolumnie (polu) odpowiedniej tabeli - dla formularza dokumentu documents (plus dodatkowe tabele) dla sprawy processes. W podanym przypadku pole rspuid (osoba odpowiedzialna w sprawie) jest wartością z kolumny rspuid z tabeli processes. * jako wynik zaptania SQL * emp_id = "SQL::SELECT usr_id FROM users WHERE usr_id = featid|81" * emp_id = "SQL::SELECT usr_id FROM users WHERE usr_id = featid::81" * emp_id = "SQL::SELECT usr_id FROM users WHERE usr_id = {rspuid}" * emp_id = "SELECT usr_id FROM users WHERE usr_id = {rspuid}" (dla wersji > 3.5) * predefiniowane parametry * {LOGGED_USER} - id zalogowanego użytkownika * {ENT_ID} - id jednostki na której pracuje użytkownik * {PKEYVALUE} - wartość klucza głównego (id dokumentu/sprawy) patrz klucz główny * {CURRENT_DATE} - aktualna data (dla wersji > 3.5) * {CURRENT_TIME} - aktualny czas (dla wersji > 3.5) * {LOGGED_ORUNID} - identyfikator stanowiska zalogowanej osoby (dla wersji > 3.5) Predefiniowane parametry można używać w następujący sposób * emp_id = "SQL::SELECT rspuid FROM processes WHERE prc_id = {PKEYVALUE}" * emp_id = "{LOGGED_USER}" Sposób definicji parametrów można łączyć np.: * emp_id = "SQL::SELECT usr_id FROM users WHERE usrnam = featid:81 AND adddat > '{adddat}'::timestamp AND usr_id != {LOGGED_USER} AND ent_id = {ENT_ID}" lub można wykonywać działania (przykład teoretyczny nigdzie nie występuje taki parametr ;)) * netto_ = "SQL::SELECT {brutto}::int * featid::89" Do parametru określonego za pomocą cechy np featid::89 można dodać specjalny modyfikator - string czyli featid::89::string - pozwala to na pobranie wartości tekstowej cechy zdefiniowanej jako lista pracowników lub lista adresów. W wyniku działania tego modyfikatora otrzymamy na nazwę urządzenia wybranego w cesze. Dodatkowo dla dokumentów różnych typów można podawać nazwy kolumn z dodatkowych tabel np dla faktur tabela vatnote itd.