Text s klíčovými daty workflow: Porovnání verzí
Skočit na navigaci
Skočit na vyhledávání
en>Kadel m |
|||
(Nejsou zobrazeny 2 mezilehlé verze od stejného uživatele.) | |||
Řádek 1: | Řádek 1: | ||
− | Klíčová data workflow, u | + | Klíčová data workflow, u schvalování smlouvy je to např. protistrana, datum platnosti, věc apod., je vhodné zapisovat do protokolu procesu. Při vytváření a následném schvalování smlouvy se však tato data mohou měnit a je nutné do protokolu zapisovat aktuální hodnoty. Za normálních okolností však původní data/texty v procesu zůstávají a působí zmatečně. Následující podskript zajistí automatické skrytí původního textu při vložení textu nového. |
<h2>Podskript, který není nutné nějak upravovat</h2> | <h2>Podskript, který není nutné nějak upravovat</h2> | ||
<pre> | <pre> | ||
declare procedure AddHtmlText dll "ActualDocument" (string, string, string, pointer) | declare procedure AddHtmlText dll "ActualDocument" (string, string, string, pointer) | ||
+ | declare function GetHash dll "ActualDocument" (string, string, string): string | ||
+ | declare function GetProperty dll "ActualDocument" (string): string | ||
declare function ReadSglobal dll "ActualDocument" (): string | declare function ReadSglobal dll "ActualDocument" (): string | ||
declare function SetPartActive dll "ActualDocument" (string, string, boolean, string, pointer): boolean | declare function SetPartActive dll "ActualDocument" (string, string, boolean, string, pointer): boolean | ||
− | |||
− | |||
script AddMainText(): boolean | script AddMainText(): boolean | ||
var | var | ||
− | + | HtmlText, Text: string | |
+ | TextHash: string | ||
begin | begin | ||
− | + | HtmlText := GetProperty ("BasicDataHtmlText") // V hlavním skriptu byl do property BasicDataHtmlText vložen funkcí "SetProperty" html text s klíčovými daty workflow | |
− | + | Text := GetProperty ("BasicDataText") // V hlavním skriptu byl do property BasicDataText vložen funkcí "SetProperty" text s klíčovými daty workflow | |
− | TextHash := GetHash( | + | TextHash := GetHash(HtmlText, "", "") // Výpočet hash řetězce z html textu |
− | if (wkf.MainTextId <> "") and (wkf.MainTextHash <> TextHash) then | + | if (wkf.MainTextId <> "") and (wkf.MainTextHash <> TextHash) then // Původní text bude zneaktivněn v případě, kdy již nějaký text v protokolu existuje a zároveň jeho uložená hash je různá od hash aktuálně vkládaného textu |
− | SetPartActive("", wkf.MainTextId, false, "", actualdocument) // | + | SetPartActive("", wkf.MainTextId, false, "", actualdocument) // Označení původního textu jako neaktivní |
end | end | ||
− | if wkf.MainTextHash <> TextHash then | + | |
− | AddHtmlText("actualdocument", | + | if wkf.MainTextHash <> TextHash then // Došlo ke změně textu |
− | wkf.MainTextHash := TextHash | + | AddHtmlText("actualdocument", HtmlText, Text, actualdocument) // Vložení nového textu |
− | wkf.MainTextId := ReadSglobal() | + | wkf.MainTextHash := TextHash // Uložení hash řetězce pro budoucí porovnání |
+ | wkf.MainTextId := ReadSglobal() // Uložení ID nově vloženého textu | ||
+ | |||
result := true | result := true | ||
end | end | ||
Řádek 37: | Řádek 40: | ||
Zpět na stránku [[Prováděcí skripty]] | Zpět na stránku [[Prováděcí skripty]] | ||
− | [[Category: | + | [[Category: enTeam skripty]] |
Aktuální verze z 22. 12. 2020, 21:31
Klíčová data workflow, u schvalování smlouvy je to např. protistrana, datum platnosti, věc apod., je vhodné zapisovat do protokolu procesu. Při vytváření a následném schvalování smlouvy se však tato data mohou měnit a je nutné do protokolu zapisovat aktuální hodnoty. Za normálních okolností však původní data/texty v procesu zůstávají a působí zmatečně. Následující podskript zajistí automatické skrytí původního textu při vložení textu nového.
Podskript, který není nutné nějak upravovat
declare procedure AddHtmlText dll "ActualDocument" (string, string, string, pointer) declare function GetHash dll "ActualDocument" (string, string, string): string declare function GetProperty dll "ActualDocument" (string): string declare function ReadSglobal dll "ActualDocument" (): string declare function SetPartActive dll "ActualDocument" (string, string, boolean, string, pointer): boolean script AddMainText(): boolean var HtmlText, Text: string TextHash: string begin HtmlText := GetProperty ("BasicDataHtmlText") // V hlavním skriptu byl do property BasicDataHtmlText vložen funkcí "SetProperty" html text s klíčovými daty workflow Text := GetProperty ("BasicDataText") // V hlavním skriptu byl do property BasicDataText vložen funkcí "SetProperty" text s klíčovými daty workflow TextHash := GetHash(HtmlText, "", "") // Výpočet hash řetězce z html textu if (wkf.MainTextId <> "") and (wkf.MainTextHash <> TextHash) then // Původní text bude zneaktivněn v případě, kdy již nějaký text v protokolu existuje a zároveň jeho uložená hash je různá od hash aktuálně vkládaného textu SetPartActive("", wkf.MainTextId, false, "", actualdocument) // Označení původního textu jako neaktivní end if wkf.MainTextHash <> TextHash then // Došlo ke změně textu AddHtmlText("actualdocument", HtmlText, Text, actualdocument) // Vložení nového textu wkf.MainTextHash := TextHash // Uložení hash řetězce pro budoucí porovnání wkf.MainTextId := ReadSglobal() // Uložení ID nově vloženého textu result := true end end
Část hlavního skriptu
SetProperty ("BasicDataHtmlText", "<b>Tento tučný text bude vložen do protokolu procesu</b>") SetProperty ("BasicDataText", "Tento text bude vložen do protokolu procesu") AddMainText()
Zpět na stránku Prováděcí skripty