Kategorie:FRMSKUPSCHEMANODEOPR: Porovnání verzí

Z Dokumentace Disoft
Přejít na: navigace, hledání
(Panel Nastavení sloupce)
 
(Není zobrazeno 21 mezilehlých verzí od 3 dalších uživatelů.)
Řádek 1: Řádek 1:
'''[[:Kategorie:FRMSKUPSCHEMANODEOPR|Schéma - nový / oprava]]'''
+
{{DISPLAYTITLE:Schéma - nový / oprava}}
Jedná se o editor schémat tiskových sestav.
 
  
====Záložka Definice sloupců====
+
Jedná se o editor schémat tiskových sestav. V tomto nastavení si lze vybrat, jaké sloupce se budou tisknout ve výstupní mřížce nebo sestavě. Lze využívat jednodušších i složitějších operací s daty ve sloupcích.
Levý slupec zobrazuje seznam všech nepoužitých sloupců.
 
  
Pravý sloupec zobrazuje seznam vybraných sloupců pro tisk nebo výpočet.
+
= Záložka Definice sloupců =
 +
Je rozdělena na několik panelů:
  
Přidávání nebo odebírání slupců z pravého slopce se provádí tlačítky s šipkami vpravo a vlevo.
+
== Levý panel pro volbu polí (sloupců ve výstupních datech). ==
 +
* Levý seznam zobrazuje všechna nepoužitá pole (budoucí sloupce).
 +
* Pravý seznam zobrazuje již vybrané pole (sloupce) pro tisk nebo výpočet.
 +
* Tlačítka s šipkami vpravo a vlevo slouží pro přidávání nebo odebírání sloupců ze seznamů.
 +
* Tlačítky s šipkami nahoru a dolů lze měnit pořadí sloupců v pravém seznamu - ve stejném pořadí budou zobrazeny v závěrečné mřížce a na sestavě.
  
Tlačítky s šipkami nahoru a dolu lze měnit pořadí sloupců, v jakém budou zobrazeny v závěrečné mřížce (na sestavě).
+
== Panel pod pravým seznamem  ==
 +
* Slouží pro přidání nebo smazání ''Volného sloupce'' (vhodný pro práci se skriptem) nebo sloupce s ''funkcí'' (funkci lze upravit přímým zápisem nebo tlačítkem ''Vzorec'' v panelu ''Nastavení sloupce''.
  
Tlačítka pod pravým sloupcem slouží pro přidání nebo smazání ''Volného sloupce'' (vhodný pro práci se skriptem) nebo sloupce s ''funkcí'' (funkci lze upravit přímým zápisem nebo tlačítkem ''Vzorec'' v sekci ''Nastavení sloupce''.
+
== Panel ''Nastavení sloupce'' ==
 +
* Týká se vždy pole (sloupce), který je vybrán v pravém seznamu.
 +
* Lze nastavit, zda se má sloupec vůbec ''Zobrazit'' (nebo zda slouží pouze pro další výpočty), jeho ''Název'', ''Šírku'', ''Zarovnání'', ''Písmo,barvy''. Od verze 4.6.0 je zobrazen i ''Původní název'' pro lepší orientaci v případě, že se rozhodnete sloupec přejmenovat.
 +
* ''Maska'' slouží jako šablona pro formátování dat sloupce (např. počet des. míst, formátování označení apod.)
 +
* Volba ''Skupinovací'' nastavuje, že tento sloupec bude použit pro seskupení výsledných dat (odpovídá sql příkazu GROUP BY). Na výstupu bude tedy méně řádků. Skupinování se musí zapnout u všech sloupců, které obsahují text nebo datum. U všech ostatních počítatelných sloupců (sloupců obsahujících čísla) však musí být použita ''Agregace''. Výchozí ''Agregace'' je suma.
 +
* Volba ''Odstránkovat'' má smysl pouze, pokud není zvoleno ''Netisknout souhrn'' a zajistí, že nová skupina bude začínat na nové stránce.
 +
* Volba ''Netisknout souhrn'' potlačí tisk záhlaví skupiny a souhrnu skupiny. Na data ve výstupní mřížce nemá žádný vliv.
 +
* Volba ''Tisknout sumu'' má smysl pouze u počítatelných sloupců a zajistí zobrazení celkového součtu všech dat (řádků) na konci tiskové sestavy.
 +
* Roletka ''Filtr'' umožňuje dále filtrovat data na základě podmínek: menší, rovno, větší, obsahuje, nerovno, prázdný, neprázdný. Porovnává se hodnota tohoto sloupce buď s výslovně zadanou hodnotou v textovém poli napravo od roletky (pozor, rozlišuje se velikost písmen) nebo s hodnotou sloupce vybraného v roletce ''Hodnota sl.''. Systém neumožňuje zvolit sloupec i hodnotu. Pomocí tohoto filtru lze tedy omezit počet výsledných řádků a to i na základě podmínek, které nejsou zadané v průvodci sestavy nebo je porovnat s hodnotou jiného sloupce v témže řádku. Upozornění: filtr v průvodci sestavy bude vždy rychlejší než tento.
 +
: Upozornění: filtr neumožňuje filtrovat text v přidaném sloupci typu ''volný sloupec''. Pokud budeme např. ve skriptu chtít používat filtrování, je lepší využít sloupec typu ''Funkce''
 +
* Volba ''filtrovat po agregaci'' ovlivňuje, zda se bude filtr aplikovat data ještě před agregací (např. sumou) nebo zda se filtr použije až na výsledná agregovaná data.
  
====Záložka Skript====
+
= Záložka Skript =
Umožňuje pordobnější operace se sloupci např. podmínky. Zápis probíhá v jazyce Delphi.
+
Umožňuje podrobnější operace se sloupci např. podmínky. Zápis probíhá v jazyce Delphi.
  
V levé horní části je tlačítko ''Kontrola syntaxe''.
+
V levé horní části je tlačítko ''Kontrola syntaxe''. Po jeho stisku se kurzor postaví na problémové místo nebo na začátek následující řádku kódu. Pozici také zobrazuje chybové hlášení během provádění transformace kolekce např. ''Position: 13:5'' - chyba je na řádku 13, na 5. znaku zleva. Pozice je také vidět vlevo dole. (O výstupech chyb pojednává požadavek T15073DIBAQ.)
  
 
Procedura ''GetFieldData'' je spouštěna vždy, když mřížka zobrazuje sloupec jehož název je uvedený v proměnné ''field''. K tomuto účelu dobře poslouží ''Volný sloupec'' (viz ''Záložka Definice sloupců''). Parametr ''value'' je hodnota, jakou bude mít tento sloupec po vykonání této procedury. Chceme-li tedy upravit výsledek sloupce, nastavíme v této proceduře parametr ''value''.
 
Procedura ''GetFieldData'' je spouštěna vždy, když mřížka zobrazuje sloupec jehož název je uvedený v proměnné ''field''. K tomuto účelu dobře poslouží ''Volný sloupec'' (viz ''Záložka Definice sloupců''). Parametr ''value'' je hodnota, jakou bude mít tento sloupec po vykonání této procedury. Chceme-li tedy upravit výsledek sloupce, nastavíme v této proceduře parametr ''value''.
Řádek 23: Řádek 37:
  
  
Následující příklad obsahuje volný sloupec ''Vyhovuje'' a běžné datové sloupce ''Naměřená hodnota'', ''Minimum'', ''Maximum'':
+
* Následující příklad obsahuje ''volný sloupec'' ''Vyhovuje'' a běžné datové sloupce ''Naměřená hodnota'', ''Minimum'', ''Maximum'':
 
  <nowiki>
 
  <nowiki>
 
procedure GetFieldData(const field: String; var value: Variant);
 
procedure GetFieldData(const field: String; var value: Variant);
Řádek 39: Řádek 53:
 
       else value := 'ANO';
 
       else value := 'ANO';
 
     end;
 
     end;
 +
  end;
 +
end;
 +
</nowiki>
 +
 +
* Příklad na filtrování jen záznamů, které nemají ve sloupci "Název" na konci text XX. Vytvoříme nový sloupec typu ''Funkce'' s názevm "maXX", ale funkci nebudeme zadávat. Nastavíme na sloupec filtr = "0" a do záložky skripty přidáme:
 +
<nowiki>
 +
procedure GetFieldData(const field: String; var value: Variant);
 +
var
 +
  sNazev : variant;
 +
begin
 +
  if field = 'maXX' then begin
 +
    GetFieldValue('Název' , sNazev);
 +
    sNazev := Trim(Uppercase(sNazev));
 +
    if Copy(sNazev,Length(sNazev)-1 , 2) = 'XX' then
 +
      value := 1
 +
    else
 +
      value := 0;
 +
  end;
 +
end;
 +
</nowiki>
 +
 +
* Následující příklad zobrazuje místo dat 30.12.1899 a 30.12.2499 ve sloupci ''Datum realizace'' hodnotu 0. Silně nedoporučujeme nahrazovat hodnoty v systémovém sloupci, ale pro tyto účely je vytvořen ''volný sloupec'' s názvem ''Dat. realizace''.
 +
<nowiki>
 +
procedure GetFieldData(const field: String; var value: Variant);
 +
var
 +
  dat : variant;
 +
begin
 +
  if field = 'Dat. realizace' then begin
 +
    GetFieldValue('Datum realizace',dat);
 +
    if dat = EncodeDate(2499,12,30) then value := nil
 +
    else if dat = 0.0 then value := nil;
 
   end;
 
   end;
 
end;
 
end;
Řádek 45: Řádek 90:
 
Poznámky:
 
Poznámky:
  
Pro práci s textovými řetězci se musí používat apostrof ('). Tento však nelze zadat z klávesnice. Použijte schránku (CTRL+C, CTRL+V).
+
Pro práci s textovými řetězci se musí používat apostrof ('). Tento však ve verzích starších než 4.6.0 nešlo zadat z klávesnice. V takovém případě použijte schránku (CTRL+C, CTRL+V).
 
 
====Záložka Kontingenční tabulka====
 
  
 +
= Záložka Kontingenční tabulka =
  
 +
Do verze 4.7.26 přidána volba ''"Zobrazit v mřížce sloupec Data"'' (ve výchozím nastavení zatrhnuto) do formuláře pro úpravu schématu
  
 
[[Kategorie:sestavy]]
 
[[Kategorie:sestavy]]
 
[[Kategorie:Sestavy_schema]]
 
[[Kategorie:Sestavy_schema]]

Aktuální verze z 8. 10. 2020, 15:00


Jedná se o editor schémat tiskových sestav. V tomto nastavení si lze vybrat, jaké sloupce se budou tisknout ve výstupní mřížce nebo sestavě. Lze využívat jednodušších i složitějších operací s daty ve sloupcích.

Záložka Definice sloupců

Je rozdělena na několik panelů:

Levý panel pro volbu polí (sloupců ve výstupních datech).

  • Levý seznam zobrazuje všechna nepoužitá pole (budoucí sloupce).
  • Pravý seznam zobrazuje již vybrané pole (sloupce) pro tisk nebo výpočet.
  • Tlačítka s šipkami vpravo a vlevo slouží pro přidávání nebo odebírání sloupců ze seznamů.
  • Tlačítky s šipkami nahoru a dolů lze měnit pořadí sloupců v pravém seznamu - ve stejném pořadí budou zobrazeny v závěrečné mřížce a na sestavě.

Panel pod pravým seznamem

  • Slouží pro přidání nebo smazání Volného sloupce (vhodný pro práci se skriptem) nebo sloupce s funkcí (funkci lze upravit přímým zápisem nebo tlačítkem Vzorec v panelu Nastavení sloupce.

Panel Nastavení sloupce

  • Týká se vždy pole (sloupce), který je vybrán v pravém seznamu.
  • Lze nastavit, zda se má sloupec vůbec Zobrazit (nebo zda slouží pouze pro další výpočty), jeho Název, Šírku, Zarovnání, Písmo,barvy. Od verze 4.6.0 je zobrazen i Původní název pro lepší orientaci v případě, že se rozhodnete sloupec přejmenovat.
  • Maska slouží jako šablona pro formátování dat sloupce (např. počet des. míst, formátování označení apod.)
  • Volba Skupinovací nastavuje, že tento sloupec bude použit pro seskupení výsledných dat (odpovídá sql příkazu GROUP BY). Na výstupu bude tedy méně řádků. Skupinování se musí zapnout u všech sloupců, které obsahují text nebo datum. U všech ostatních počítatelných sloupců (sloupců obsahujících čísla) však musí být použita Agregace. Výchozí Agregace je suma.
  • Volba Odstránkovat má smysl pouze, pokud není zvoleno Netisknout souhrn a zajistí, že nová skupina bude začínat na nové stránce.
  • Volba Netisknout souhrn potlačí tisk záhlaví skupiny a souhrnu skupiny. Na data ve výstupní mřížce nemá žádný vliv.
  • Volba Tisknout sumu má smysl pouze u počítatelných sloupců a zajistí zobrazení celkového součtu všech dat (řádků) na konci tiskové sestavy.
  • Roletka Filtr umožňuje dále filtrovat data na základě podmínek: menší, rovno, větší, obsahuje, nerovno, prázdný, neprázdný. Porovnává se hodnota tohoto sloupce buď s výslovně zadanou hodnotou v textovém poli napravo od roletky (pozor, rozlišuje se velikost písmen) nebo s hodnotou sloupce vybraného v roletce Hodnota sl.. Systém neumožňuje zvolit sloupec i hodnotu. Pomocí tohoto filtru lze tedy omezit počet výsledných řádků a to i na základě podmínek, které nejsou zadané v průvodci sestavy nebo je porovnat s hodnotou jiného sloupce v témže řádku. Upozornění: filtr v průvodci sestavy bude vždy rychlejší než tento.
Upozornění: filtr neumožňuje filtrovat text v přidaném sloupci typu volný sloupec. Pokud budeme např. ve skriptu chtít používat filtrování, je lepší využít sloupec typu Funkce
  • Volba filtrovat po agregaci ovlivňuje, zda se bude filtr aplikovat data ještě před agregací (např. sumou) nebo zda se filtr použije až na výsledná agregovaná data.

Záložka Skript

Umožňuje podrobnější operace se sloupci např. podmínky. Zápis probíhá v jazyce Delphi.

V levé horní části je tlačítko Kontrola syntaxe. Po jeho stisku se kurzor postaví na problémové místo nebo na začátek následující řádku kódu. Pozici také zobrazuje chybové hlášení během provádění transformace kolekce např. Position: 13:5 - chyba je na řádku 13, na 5. znaku zleva. Pozice je také vidět vlevo dole. (O výstupech chyb pojednává požadavek T15073DIBAQ.)

Procedura GetFieldData je spouštěna vždy, když mřížka zobrazuje sloupec jehož název je uvedený v proměnné field. K tomuto účelu dobře poslouží Volný sloupec (viz Záložka Definice sloupců). Parametr value je hodnota, jakou bude mít tento sloupec po vykonání této procedury. Chceme-li tedy upravit výsledek sloupce, nastavíme v této proceduře parametr value.

Procedura GetFieldValue vloží do proměnné value hodnotu ze sloupce field. Tento sloupe cmusí být vybrán pro zpracování (umístěn v pravé části).


  • Následující příklad obsahuje volný sloupec Vyhovuje a běžné datové sloupce Naměřená hodnota, Minimum, Maximum:
procedure GetFieldData(const field: String; var value: Variant);
var
   dHodnota : variant;
   dLimit : variant;
begin
  if field = 'Vyhovuje' then begin
    GetFieldValue('Naměřená hodnota' , dHodnota);
    GetFieldValue('Minimum' , dLimit);
    If (dHodnota < dLimit ) then value := 'NE'
    else begin
      GetFieldValue('Maximum' , dLimit);
      If (dHodnota > dLimit ) then  value := 'NE'
      else value := 'ANO';
    end;
  end;
end;

  • Příklad na filtrování jen záznamů, které nemají ve sloupci "Název" na konci text XX. Vytvoříme nový sloupec typu Funkce s názevm "maXX", ale funkci nebudeme zadávat. Nastavíme na sloupec filtr = "0" a do záložky skripty přidáme:
procedure GetFieldData(const field: String; var value: Variant);
var
  sNazev : variant;
begin
  if field = 'maXX' then begin
    GetFieldValue('Název' , sNazev);
    sNazev := Trim(Uppercase(sNazev));
    if Copy(sNazev,Length(sNazev)-1 , 2) = 'XX' then
      value := 1
    else
      value := 0;
  end;
end;

  • Následující příklad zobrazuje místo dat 30.12.1899 a 30.12.2499 ve sloupci Datum realizace hodnotu 0. Silně nedoporučujeme nahrazovat hodnoty v systémovém sloupci, ale pro tyto účely je vytvořen volný sloupec s názvem Dat. realizace.
procedure GetFieldData(const field: String; var value: Variant);
var
  dat : variant;
begin
  if field = 'Dat. realizace' then begin
     GetFieldValue('Datum realizace',dat);
     if dat = EncodeDate(2499,12,30) then value := nil
     else if dat = 0.0 then value := nil;
  end;
end;

Poznámky:

Pro práci s textovými řetězci se musí používat apostrof ('). Tento však ve verzích starších než 4.6.0 nešlo zadat z klávesnice. V takovém případě použijte schránku (CTRL+C, CTRL+V).

Záložka Kontingenční tabulka

Do verze 4.7.26 přidána volba "Zobrazit v mřížce sloupec Data" (ve výchozím nastavení zatrhnuto) do formuláře pro úpravu schématu

Tato kategorie neobsahuje žádné stránky či soubory.