NewLookup
Ukázka založení nového číselníku
Popis
Skript založí nový číselník a naplní jej sloupci a hodnotamideclare function LookupCreate dll "ScriptEx" (string): integer declare procedure LookupFree dll "ScriptEx" (var integer) declare function LookupGetIntegerProp dll "ScriptEx" (integer, string): integer declare procedure LookupSetBooleanProp dll "ScriptEx" (integer, string, boolean) declare procedure LookupSetIntegerProp dll "ScriptEx" (integer, string, integer) declare procedure LookupSetStringProp dll "ScriptEx" (integer, string, string) declare procedure LookupStore dll "ScriptEx" (integer) script NewLookup(): boolean var Lookup: integer LookupId: integer SubItemDef: integer SubItemDefId1: integer SubItemDefId2: integer I: integer Item: integer ItemId: integer SubItem: integer begin Lookup := LookupCreate("TLookup") LookupSetStringProp(Lookup, "Name", "Nový číselník") LookupSetStringProp(Lookup, "Description", "Popis nového číselníku") LookupStore(Lookup) // Číselník vytvořen LookupId := LookupGetIntegerProp(Lookup, "Id") LookupFree(Lookup) // --------------------------------------------------------------------------- SubItemDef := LookupCreate("TLookupSubItemDef") // -- LookupSetIntegerProp(SubItemDef, "LookupId", LookupId) LookupSetStringProp(SubItemDef, "Name", "Sloupec 1") LookupSetStringProp(SubItemDef, "Description", "Popis sloupce č. 1") LookupStore(SubItemDef) // Přidán sloupec 1 SubItemDefId1 := LookupGetIntegerProp(SubItemDef, "Id") // -- LookupSetStringProp(SubItemDef, "Name", "Sloupec 2") LookupSetStringProp(SubItemDef, "Description", "Popis sloupce č. 2") LookupSetBooleanProp(SubItemDef, "New", true) // Vynutit INSERT INTO LookupStore(SubItemDef) // Přidán sloupec 2 SubItemDefId2 := LookupGetIntegerProp(SubItemDef, "Id") // -- LookupFree(SubItemDef) // --------------------------------------------------------------------------- Item := LookupCreate("TLookupItem") SubItem := LookupCreate("TLookupSubItem") // -- for I := 0 to 2 do LookupSetIntegerProp(Item, "LookupId", LookupId) LookupSetIntegerProp(Item, "Order", I) LookupSetBooleanProp(Item, "New", true) // Vynutit INSERT INTO LookupStore(Item) // Přidán řádek ItemId := LookupGetIntegerProp(Item, "Id") // ------------------------------------------------------------------------- LookupSetIntegerProp(SubItem, "ItemId", ItemId) LookupSetIntegerProp(SubItem, "DefId", SubItemDefId1) LookupSetStringProp(SubItem, "Value", "Hodnota " + (I + 1) + "1") LookupSetBooleanProp(SubItem, "New", true) // Vynutit INSERT INTO LookupStore(SubItem) // Přidána hodnota sloupce 1 // -- LookupSetIntegerProp(SubItem, "DefId", SubItemDefId2) LookupSetStringProp(SubItem, "Value", "Hodnota " + (I + 1) + "2") LookupSetBooleanProp(SubItem, "New", true) // Vynutit INSERT INTO LookupStore(SubItem) // Přidána hodnota sloupce 2 end // -- LookupFree(SubItem) LookupFree(Item) // --------------------------------------------------------------------------- result := true end