Text s klíčovými daty workflow: Porovnání verzí

Z enTeam
Skočit na navigaci Skočit na vyhledávání
m (naimportována 1 revize)
Řádek 1: Řádek 1:
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.
+
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
declare function GetHash dll "ActualDocument" (string, string, string): string
 
declare function GetProperty dll "ActualDocument" (string): string
 
  
 
script AddMainText(): boolean
 
script AddMainText(): boolean
 
var
 
var
   sHtmlText, sText, TextHash: string
+
   HtmlText, Text: string
 +
  TextHash: string
 
begin
 
begin
   sHtmlText := GetProperty ("BasicDataHtmlText") //V hlavním skriptu byl do property BasicDataHtmlText vložen funkcí "SetProperty" html text s klíčovými daty workflow
+
   HtmlText := 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
+
   Text := 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
+
   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
+
   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í
+
     SetPartActive("", wkf.MainTextId, false, "", actualdocument) // Označení původního textu jako neaktivní
 
   end
 
   end
   if wkf.MainTextHash <> TextHash then   //došlo ke změně textu
+
 
     AddHtmlText("actualdocument", sHtmlText, sText, actualdocument) //vložení nového textu
+
   if wkf.MainTextHash <> TextHash then // Došlo ke změně textu
     wkf.MainTextHash := TextHash //uložení hash řetězce pro budoucí porovnání
+
     AddHtmlText("actualdocument", HtmlText, Text, actualdocument) // Vložení nového textu
     wkf.MainTextId := ReadSglobal() //uložení ID nově vložené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
 
     result := true
 
   end
 
   end

Verze z 14. 8. 2020, 08:57

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