Text s klíčovými daty workflow
Verze z 4. 7. 2019, 21:14, kterou vytvořil EnTeamAdmin (diskuse | příspěvky) (naimportována 1 revize)
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 ReadSglobal dll "ActualDocument" (): string
declare function SetPartActive dll "ActualDocument" (string, string, boolean, string, pointer): boolean
declare function GetHash dll "ActualDocument" (string, string, string): string
declare function GetProperty dll "ActualDocument" (string): string
script AddMainText(): boolean
var
sHtmlText, sText, TextHash: string
begin
sHtmlText := GetProperty ("BasicDataHtmlText") //V hlavním skriptu byl do property BasicDataHtmlText vložen funkcí "SetProperty" html text s klíčovými daty workflow
sText := GetProperty ("BasicDataText") //V hlavním skriptu byl do property BasicDataText vložen funkcí "SetProperty" text s klíčovými daty workflow
TextHash := GetHash(sHtmlText, "", "") //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", sHtmlText, sText, 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