Tiskové sestavy
V této kapitole je popsána technika, jakou jsou vytvořeny standardní tiskové sestavy. Program je z hlediska tiskových sestav
otevřený a uživatel si může standardní tiskové sestavy sám upravit nebo vytvořit sestavy zcela nové. Vlastnosti programu popsané v této a
souvisejících kapitolách se mohou v budoucnu změnit. Další text předpokládá znalost formátů HTML, XML a XSL.
Program vytváří výstupní tiskové sestavy jako dokumenty ve formátu HTML. Pro prohlížení a tisk sestav je použit MS Internet Explorer.
Uživatel postupuje při vytvoření tiskové sestavy takto:
- Ve stromu objektů vybere objekt, který chce vytisknout.
- V hlavní nabídce Soubor vybere příkaz - Tisk.
- Na obrazovce se otevře okno pro výběr tiskové sestavy tj. souboru s příponou REP, RP2 resp. EPQ. Soubory EPQ obsahují uložené
dotazy, kterými se v této kapitole nebudeme zabývat. Soubory s příponou REP jsou základní soubory tiskových sestav. Každý soubor
definuje jeden typ tiskové sestavy, např. soubor Evidenční karta.rep definuje tiskovou sestavu Evidenční karta.
Další zpracování probíhá podle následujícího schématu:
Program vygeneruje pracovní XML soubor popisující objekt, který byl uživatelem vybrán pro tisk. Podrobnost informací ukládaných do XML
souboru záleží na nastavení uvedeném v REP souboru. Soubor REP dále obsahuje název HTML souboru tiskové sestavy, který je, po nahrazení
maker, zobrazen v MS Internet Exploreru.
V HTML souboru mohou být použita tato makra:
Makro |
Popis |
%HTMLPATH% |
Absolutní cesta k HTML souboru na pevném disku.
Např. je-li soubor stylů style.css uložen ve stejném adresáři jako HTML soubor, může být pro jeho načtení použita tato konstrukce:
<link rel="stylesheet" href="%HTMLPATH%\style.css"> |
%XMLPATH_C% |
Název s cestou k pracovnímu XML souboru ve formátu pro použití v javascriptu. |
Soubor REP
Soubor s příponou REP je textový soubor, který definuje výstupní tiskovou sestavu.
Soubor obsahuje několik řádků ve formátu:
Proměnná=Hodnota
Např.:
VERSION=XMLReport1
Proměnná |
Popis |
VERSION |
Určuje verzi formátu tiskové sestavy. Tato proměnná musí být uvedena na prvním řádku v souboru REP a musí mít hodnotu XMLReport1. |
TYPE |
Hodnota této proměnné určuje speciální postup při generování XML souboru, který je zdrojem dat pro tiskovou sestavu.
Hodnota |
Popis |
Null |
Při zadání implicitní hodnoty Null bude XML soubor obsahovat pouze objekt (včetně podobjektů), který je vybrán ve stromu objektů při vytváření
tiskové sestavy. |
Transfer |
Speciální chování pro tiskovou sestavu Předávací protokol. |
|
HTML |
Název souboru ve formátu HTML, který se použije jako výchozí soubor pro zobrazení tiskové sestavy. Název souboru je zadán relativní cestou k souboru REP. Je-li soubor HTML uložen
ve stejném adresáři jako soubor REP, stačí zadat pouze název souboru. |
FLAGS |
Hodnotou může být prázdný řetězec (např. "FLAGS=") nebo seznam dále uvedených položek oddělených čárkou, např. "FLAGS=children,ownprop,inheritedprop". Každá
položka seznamu povoluje zápis určité informace do XML souboru. Seznam položek je uveden v následující tabulce:
Položka |
Popis |
notice |
poznámky k objektům (element <noticelist>) |
history |
historie objektů (element <historylist>) |
children |
podobjekty (element <nodelist>) |
ownprop |
vlastní vlastnosti (element <prop> v <proplist>) |
inheritedprop |
zděděné vlastnosti (element <prop> v <proplist>) |
owninfo |
element <own>1</own> pro vlastní vlastnosti |
inhritedinfo |
element <iherited>1</inherited> pro zděděné vlastnosti |
specialinfo |
element <special>1</special> pro speciální vlastnosti (vlastnosti pro interní použití při vzdáleném sběru údajů, atd.) |
|
Příklad obsahu souboru Evidenční karta.rep:
VERSION=XMLReport1
TYPE=Null
HTML=Evidenční karta.htm
FLAGS=children,ownprop,inheritedprop,notice
Soubor XML
V této kapitole je popsána struktura XML souboru, který je
použit při vytváření tiskové sestavy. Do souboru se zapíše obraz
objektu (včetně podobjektů), nad kterým se tisková sestava vytváří
(tj. objektu, který je vybrán ve stromu objektů). Které elementy budou
v XML souboru uvedeny a které ne záleží na nastavení položky FLAGS v
souboru REP.
Formát souboru XML (DTD):
<!ENTITY ONE "1">
<!ELEMENT report (node*)>
<!ELEMENT node (name, icon, proplist?, noticelist?, historylist?, nodelist?)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT icon (#PCDATA)>
<!ELEMENT proplist (prop*)>
<!ELEMENT noticelist (notice*)>
<!ELEMENT historylist (history*)>
<!ELEMENT nodelist (node*)>
<!ELEMENT prop (value, kind, own?, inherited?, special?)>
<!ELEMENT value (#PCDATA)>
<!ELEMENT kind (#PCDATA)>
<!ELEMENT own (&ONE;)>
<!ELEMENT inherited (&ONE;)>
<!ELEMENT special (&ONE;)>
<!ELEMENT notice (date, desc, user)>
<!ELEMENT date (#PCDATA)>
<!ELEMENT desc (#PCDATA)>
<!ELEMENT user (#PCDATA)>
<!ELEMENT history (date, desc, user)>
Význam elementů:
Element |
Popis |
node |
objekt |
prop |
vlastnost |
notice |
poznámka k objektu |
history |
záznam historie |
nodelist |
seznam podobjektů |
Úprava tiskových sestav
Přidání firemního loga do hlavičky tiskových sestav
Ve složce Csy\Reports nahraďte soubor logo.gif souborem s logem, které se má vytisknout v záhlaví každé tiskové sestavy. Obrázek by měl mít výšku maximálně 100 bodů.
Poznámka:
Logo není při zobrazení tiskové sestavy na obrazovce vidět. Logo se zobrazí až v náhledu na tiskové strany.
Přidání prohlášení o nakládání se software do Předávacího protokolu
V souboru Předávací protokol vnitřní rozdílový.xsl vyhledejte řetězec "Text prohlášení" a za nalezenou poznámku vložte vlastní text ve formátu HTML.
Tiskové sestavy RP2
Asset Management podporuje také tiskové sestavy s příponou RP2 (Report v2), které jsou ve formátu Active Script Template. Tento systém umožňuje rychle vytvořit tiskovou
sestavu bez znalosti XSL. Tiskovou sestavu RP2 tvoří pouze jeden soubor ve formátu generovaného HTML uložený v kódování UTF-16 (Unicode). Soubor musí mít
na začátku identifikační hlavičku - viz ukázková sestava.
Parametry, které je možné ve skriptu použít:
Parametr |
Popis |
ConnectionString |
Připojovací řetězec do databáze. |
iNodeId |
ID aktuálně vybraného objektu ve stromu. |
iPersonId |
ID přihlášeného uživatele v AM Console |
Ukázková tisková sestava ve formátu RP2:
<!--ALVAO.Report2-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Ukázková tisková sestava</title>
<style type="text/css"></style>
</head>
<body>
<%
Set con = CreateObject("ADODB.Connection")
con.Open param("ConnectionString")
sql = "select * from tblNode where intNodeId=" & param("iNodeId")
Set rs = CreateObject("ADODB.Recordset")
rs.Open sql,con
If Not rs.EOF Then %>
<table cellpadding="0" cellspacing="0" width="100%">
<tr>
<td>Vybraný objekt ve stromu</td>
<td><%WriteHtml(rs("txtName").Value)%></td>
</tr>
<tr>
<td>ID přihlášeného uživatele</td>
<td><%WriteHtml(param("iPersonId"))%></td>
</tr>
<%
End If
rs.Close
%>
</body>
</html>
Nenašli jste co jste hledali? Zeptejte se našeho týmu technické podpory.
|