Podmínka (Nastavení workflow)

Z Prirucky

Podmínka (Nastavení workflow) - položka Podmínka z Nastavení workflow.

P faze kroky.png
Nastaveni workflow-Podminka.png

Podmínky umožňují pro stejný stav určit jiný následující krok či adresáta (právě na základě splněné podmínky). Např. vyjímka pro systemizačně nejvyššího, přeskočení kroku "vyplacení zálohy" pokud není požádáno o zálohu apod. Tj. systém při nastavení stavu uživatelem prochází jednotlivé řádky/podmínky podle pořadí (sloupec #) od nejnižšího po nejvyšší a pokud je podmínka splněna, použije nastavení z tohoto řádku a další řádky již neprochází.

  • Výraz, který musí vracet true, nebo false.
  • Ve výrazu lze použít vlastnosti požadavku z rozbalovací nabídky, v níž je předvyplněn i porovnávací operátor a výchozí konstanta, aby bylo zřejmé, jakého datového typu vlastnost je. Předvyplněnou konstantu je třeba upravit a případně i operátor.
  • Porovnávací operátory: == (rovná se), >, >=, <, <=, != (nerovná se).
  • U textových vlastností lze i vyhodnocovat, zda text začíná, nebo končí nějakými znaky, či obsahuje určité znaky. Příklady:
pozadavek.KmenStr.StartsWith('01')
pozadavek.KmenStr.EndsWith('01')
pozadavek.KmenStr.Contains('01')
  • Ve výrazu lze použít i více podmínek spojených logickými operátory: && (a zároveň), || (nebo), tj. např. zápis
pozadavek.Zahranicni && pozadavek.ZalohyPocet>0.

Pozn. mezery před a za && či || mohou být vynechány. Namísto && může být někdy (v případě Boolean operandů) použito & (u || ne): && logický AND; & binární AND.

  • Platný výraz C#

Popis vlastností požadavku, které lze použít v poli Podmínka nebo Validace (Nastavení workflow):

  1. Název se skládá vždy z prefixu "pozadavek.", za nímž následuje konkrétní podmínka.
  2. Výrazem může být "jakýkoli" platný výraz programovacího jazyku C#.

Maximální počet podmínek

Maximální počet podmínek pro jeden stav není omezován.

Pozn.1. V t.č. aktuálním rozhraní je již připraven počet volných nových řádků na 10 a vždy s vyplněním a uložením podmínky (podmínek) počet automaticky přibývá (tak, že je zachován počet 10 volných připravených řádků).
Pozn.2 Každá stránka může přestat fungovat, pokud je v ní příliš mnoho (tisíce) editačních polí - někdy stačí upravit limity ve web.config, někdy ani to ne.
Pozn.3 ASP prvky jsou navrhnuty tak, že se vždy edituje jen 1 řádek, ale kvůli tomu, že někteří zákazníci mají pomalou odezvu serveru a při kliknutí na ikonku "přidání nového řádku" čekají sekundy, je změněna technologie tak, aby se editovalo a ukládalo více řádků najednou; ovšem pak dochází zase k těmto problémům, když je polí příliš mnoho.

Připravené vlastnosti

Více typů požadavků:
Vydavatel - osobní číslo vydavatele požadavku (typ celé číslo)
VydavatelCisloPom - číslo poměru vydavatele (Pokud požadavek existuje, pak je u některých typů wf již hodnota vyplněna v tabulce workfl_hl. Jinak se zjišťuje interní programovou funkcí Platny_pomer)
IsShopAsistent - vrací true, pokud je vydavatel na pracovním místě, které má nastavenu vlastnost č. 1020 na hodnotu 'a' (v opačném případě vrací false). (Původně zákaznická specialita. Pokud má být použito, nesmí být vlastnost č. 1020 již využita v popisech pracovních míst pro jiné účely. Pak po zadání nové vlastnosti do číselníku se její číslo změní na č. 1020 následovně: update atributy set cis_atributu = 1020 where cis_atributu = xxxx.)
VlastnostPodleParamWFVlastnost1 ..5 - vrací true, pokud je vlastnost pracovního místa daná parametrem WFVlastnost1 (sk.9)WFVlastnost5 (sk.9) nastavena na hodnotu ano. (Rozhoduje se podle čísla vlastnosti popisu pracovního místa uvedeného v parametru WFVlastnost1 (sk.9) a hodnoty, přičemž např. ==true značí, že se zjišťuje, zda hodnota vlastnosti v popisu pracovního místa je Ano nebo ano. Příklad: pozadavek.VlastnostPodleParamWFVlastnost1==true.) (hd 45107)
KmenStr - vrací číslo kmenového střediska (typ řetězec) vydavatele požadavku
KmenDiv - vrací číslo divize odvozené od kmenového střediska vydavatele požadavku
DatumOd - datum počátku absence nebo služební cesty např. pozadavek.DatumOd<=DateTime.Today nebo ...DateTime.Today.AddDays(+1)
DatumDo - datum konce absence nebo služební cesty
CerpaniNV pozadavek.CerpaniNV == true
IdPodniku - id podniku vydavatele požadavku
IdMistaVydavatele - id pracovního místa vydavatele požadavku (hd 46394)
PozId - vrací id požadavku

Absence:
Kod - docházkový kód (Položky) (hd 45273)

Docházka:
AbsenceSchvaleny - vrací true, pokud jsou všechny požadavky na absence schváleny (v opačném případě vrací false) (Vrací true, pokud neexistuje neukončený požadavek na dovolenou, náhr. volno, absenci, služ. cestu.)
CerpaniNV - kontroluje, zda není v KS docházce přečerpáno náhradní volno.

Dokument:
DruhDokId - ID druhu dokumentu (typ řetězec)

Školení:
MaxPocet - maximální počet účastníků (typ celé číslo)
PocetSchvalenych - počet schválených účastníků (typ celé číslo)
KontrolaMaxPoctuUcastniku - true, pokud MaxPocet=0 nebo PocetSchvalenych<=MaxPocet (typ true/false)

Služební cesta:
Dnu - počet dnů cesty bez ohledu na čas (typ celé číslo)
Zahranicni - true, pokud je typ cesty zahraniční (typ true/false) Příklad1: pozadavek.Zahranicni==true. Příklad2: pozadavek.Zahranicni==false.
DruhDopr - dle druhu dopravního prostředku služební cesty vabraného z číselníku Druhy dopravních prostředků. Příklad: pozadavek.DruhDopr=='AUV' nebo (se stejným výsledkem) pozadavek.DruhDopr.Contains ('AUV')
ZalohyPocet - počet záloh (typ celé číslo)
ZalohySuma - suma záloh přepočítaných na tuzemskou měnu (typ číslo 0.0)
Naklady - suma nákladů přepočítaných na tuzemskou měnu (typ číslo 0.0)
PredpNakl - suma předpokládaných nákladů přepočítaných na tuzemskou měnu (typ číslo 0.0)

Běžné výdaje
pozadavek.ZalohyPocet
pozadavek.ZalohySuma (hd 44092)

Změna v p.p.v.
NovaPracDiv - pokud není vyplněna nová hodnota, pak má hodnotu stejnou jako PracDiv
PracDiv
JeZmenaPracDiv
NovaPracKateg - pokud není vyplněna nová hodnota, pak má hodnotu stejnou jako PracKateg
PracKateg
JeZmenaPracKateg
NovyTypMzdy
- nová, navržená hodnota Typ mzdy (hd 59705) TypMzdy
- původní hodnota Typ mzdy (hd 59705) JeZmenaTypMzdy
- vrací True, pokud je nová hodnota jiná od původní (hd 59705)

Docházka (KS portál)
RozdelenePrescasy - Validační výraz "pozadavek.RozdelenePrescasy==true|Nejsou rozděleny přesčasy". Pokud bude mít zaměstnanec nějaký přesčas, bude muset obsluha rozdělit k proplacení, alespoň nula hodin. Pokud tak neučiní, validační výraz nedovolí pokračovat ve schvalování docházky. (34. týden 2020)

Odměny sloupcově
CastkaVetsiNez - Příklad: pozadavek.CastkaVetsiNez(100)
CastkaMensiNez (hd 54716)

Nový zaměstnanec
TypMzdy - obsahuje navrženou hodnotu typ mzdy (hd 59705)

Odkazy