Tiskové sestavyV 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 REPSoubor 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ě podřazených objektů), který je vybrán ve stromu objektů při vytváření tiskové sestavy. |
Transfer Inner |
Tisková sestava typu "předávací protokol vnitřní". |
Transfer Inner Summary |
Tisková sestava typu "předávací protokol vnitřní souhrnný". Je možné ji použít pouze na objektu druhu Uživatel. |
Transfer Outer |
Tisková sestava typu "předávací protokol vnější". |
|
SEQUENCE |
Název číselné řady, která bude použita pro generování čísla dokumentu tiskové sestavy typu "Předávací protokol". Např.: "Zápůjčky".
Pozn.: Pokud je hodnota prázdná, pro předávací protokoly vnitřní se použije systémová řada „Předávací protokoly“. Pro předávací protokoly vnější se nepoužije žádná řada. |
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>), pouze záznamy které nebyly v Deníku odstraněny (skryty). |
history |
historie objektů (element <historylist>), pouze záznamy které nebyly v Deníku odstraněny (skryty). |
children |
podřazené objekty (element <nodelist>) |
responsibility |
Pod objekty druhu Uživatel se vygenerují nové podstromy. Obsahují objekty, které mají ve vlastnosti „Za majetek zodpovídá“ hodnotu daného objektu uživatele. |
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 XMLV 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ě podřazených objektů), 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?, responsiblefor?, noticelist?, historylist?, nodelist?)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT path (#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 |
path |
cesta k objektu ve stromu objektů |
prop |
vlastnost |
notice |
poznámka k objektu |
history |
záznam historie |
nodelist |
seznam podřazených objektů |
Tiskové sestavy RP2Asset 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. |