Uživatelské nástroje

Nástroje pro tento web


lua:upravy_systemu_obis

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Následující verze
Předchozí verze
lua:upravy_systemu_obis [2007/01/04 11:41] Libor Kadaníklua:upravy_systemu_obis [2016/05/03 15:00] (aktuální) Karel Petrů
Řádek 131: Řádek 131:
 end end
 </code> </code>
 +
  
 ==== Cenová politika ==== ==== Cenová politika ====
Řádek 143: Řádek 144:
 ClientSession:AddLUAEvent("sklkarty_zaklad.sklad_karty.GetCena","CenovaPolitikaKarty") ClientSession:AddLUAEvent("sklkarty_zaklad.sklad_karty.GetCena","CenovaPolitikaKarty")
 function CenovaPolitikaKarty( DSI, DestDSI, Params) function CenovaPolitikaKarty( DSI, DestDSI, Params)
->  local SkladDS=DestDSI:OwnerMiddleDB():FindDataSetItem("sklad_prijemky"+  local SkladDS=DestDSI:OwnerMiddleDB():FindDataSetItem("sklad_prijemky"
- if not SkladDS then return  end +  if not SkladDS then return  end 
- local idsklad=SkladDS:FieldByName("idsklad")+  local idsklad=SkladDS:FieldByName("idsklad")
  
->  if idsklad=="01" then return DSI:FieldByName("Cena1") end +  if idsklad=="01" then return DSI:FieldByName("Cena1") end 
- if idsklad=="07" then return DSI:FieldByName("Cena2") end +  if idsklad=="07" then return DSI:FieldByName("Cena2") end 
- if idsklad=="13" then return DSI:FieldByName("Cena3") end +  if idsklad=="13" then return DSI:FieldByName("Cena3") end 
- return Params.CenikCena+  return Params.CenikCena
 end end
 </code> </code>
 +
  
 ==== Upozorňování - budík ==== ==== Upozorňování - budík ====
  
 Upozornování slouží k připomenutí nějaké události, akce na základě výběru Upozornování slouží k připomenutí nějaké události, akce na základě výběru
-pomocí SQL dotazu.+pomocí SQL dotazu. Nastavuje se v Menu -> Ostatní -> Nastavení -> záložka **Upozorňování** 
 + 
 +{{lua:nastaveni_budik.png|}}
  
 **Syntaxe** **Syntaxe**
Řádek 179: Řádek 183:
 spuštění - k času posledního spuštění se přičte interval v minutách. spuštění - k času posledního spuštění se přičte interval v minutách.
  
-==== Datamodel ==== 
  
  
-Souborem {datamodel.xml} je popsána struktura OBISu. 
-Každá tabulka a každý sloupec je nadefinován pomocí několika párových značek. 
- 
-  * <Table Name> - "vnitřní" jméno tabulky 
-  * <Caption> - popis tabulky 
-  * <RequredIndexes> - indexy v tabulce 
-  * <Field Name Type> - "vnitřní" jméno sloupce 
-  * <DisplayLabel> - nadpis sloupce; je vidět v OBISu 
-  * <Hint> - nápověda na myš 
-  * <LookupKeyFields> - "odskok" do navázané tabulky 
-  * <DataType> - datový typ 
-  * <Size> - velikost 
-  * <DisplayWidt> - zobrazovaná velikost 
-  * <DisplayFormat> - formát zobrazovaných čísel (např. '0.## %') 
-  * <FieldKind> -  {Data} nebo {Lookup} 
-  * <FieldID> - jedinecne ID v tabulce, max 63 
-  * <Tag> - vlastnost sloupce; 0-nic, 1-NO COPY, 8-READ ONLY 
-  * <Visible> - zobrazení sloupce; 0-NE, 1-ANO 
- 
-Jednoduché změny se provádí předefinováním požadovaných hodnot v souboru 
-//datamodelv.xml//. Jednoduchá změna je např. změna popisu sloupce, 
-zobrazovaná velikost sloupce, nebo např. nastavení sloupce na READ ONLY. Jsou 
-to tedy změny, které nepotřebují fyzickou změnu databáze. 
- 
-Soubor //datamodelv.xml// má stejnou syntaxi jako 
-//datamodel.xml//. Jsou zde ale uvedeny jen ty položky, které potřebujeme 
-změnit. 
- 
-//Příklad//: 
-Změna popisu sloupce {hlavicka} v rozpočtech na {popis}. 
- 
-V souboru {datamodelv.xml} je nutné uvést jméno tabulky a jméno 
-sloupce a pak požadovanou změnu. 
- 
-<code> 
-<?xml version="1.0" encoding="windows-1250"?> 
-<DataModel> 
-  <Table Name="rozpocty_rozpocty"> 
-    <Field Name="Hlavicka" Type="String"> 
-      <DisplayLabel>Popis</DisplayLabel> 
-    </Field> 
-  </Table> 
-</DataModel> 
-</code> 
- 
-Pokud je potřeba udělat nějaký fyzický zásah do tabulky, musí se udělat 
-{upgrade}. Do souboru {upgradev.dat} se vloží SQL dotaz, který 
-provede v databázi požadovanou změnu a pak se tato změna popíše v souboru 
-{datamodelv.xml}. 
- 
-//Příklad//: 
-Přidat do tabulky //Akcí//  sloupeček //Datum plnění//, 
-který bude mít formát datumu s odskokem do kalendáře. 
- 
-Do souboru //upgradev.dat// se napíše SQL dotaz pro přidání sloupce do 
-tabulky //partneri_akce//. U uživatelských sloupců se používá syntaxe 
-//v_jméno//. Soubor {upgradev.dat} bude po doplnění vypadat 
-následovně: 
- 
-<code> 
-Entry{"31","10.9.2004", [[ 
-   LuaObj:Print("vlastnost uzivatelskych upgrade dat aktivni") 
-]]} 
-Entry{"41","1.2.2005", [[ 
-   UpData("alter table partneri_akce add v_datumplneni timestamp") 
-]]} 
-</code> 
- 
-V souboru //datamodelv.xml// je pak nutné popsat nově vytvořený sloupec. 
- 
-<code> 
-<?xml version="1.0" encoding="windows-1250"?> 
-<datamodel> 
-  <Table Name="partneri_akce"> 
-    <Field Name="v_datumplneni" Type="DateTime"> 
-      <DisplayLabel>Datum plnění</DisplayLabel> 
-      <Hint>Datum plnění</Hint> 
-      <LookupKeyFields></LookupKeyFields> 
-      <DataType>DateTime</DataType> 
-      <Size>0</Size> 
-      <DisplayWidth>0</DisplayWidth> 
-      <FieldKind>Data</FieldKind> 
-      <FieldID>63</FieldID> 
-      <Tag>0</Tag> 
-      <Visible>1</Visible> 
-    </Field> 
-  </Table> 
-</datamodel> 
-</code> 
  
 ==== Lokální menu ==== ==== Lokální menu ====
Řádek 316: Řádek 230:
   </menuitem>   </menuitem>
 </menu> </menu>
 +</code>
 +
 +==== Hromadná změna ID v LUAConsole MassChange ====
 +
 +   * v LUA console, zapnout DEBUG
 +   * master tabulku není nutné opravovat, změní se v MassChange (je ale nutný refresh)
 +   * spustit:
 +
 +<code>
 +cf.MassChangeID("partneri_partneri:idpartner", "oldid", "newid", DEBUG, nil, true) --posledni param je dryrun
 </code> </code>
lua/upravy_systemu_obis.1167910913.txt.gz · Poslední úprava: 2007/05/21 11:31 (upraveno mimo DokuWiki)