Exporty a Importy

Popis funkcí pro export a import dat systému Altus VARIO

Úvod

Altus VARIO obsahuje funkce, které řeší široké spektrum požadavků na export a import dat. Lze pomocí nich snadno realizovat vše od načtení dat z předchozího systému, sdílení dat mezi firmami, exporty údajů pro analýzu až po odesílání dokladů elektronickou poštou.

Funkce jsou dostupné z menu Soubor / Export dat a Soubor / Import dat (v zobrazení tabulky agendy).

Export

Použití funkce je velmi podobné jako u tiskových výstupů. Nové exporty lze vytvářet pouze nastavením několika parametrů, obdobně jako je tomu v případě přidání vlastní sestavy u funkce tisk. Export probíhá podobně jako tisk. Uživatel vybere konkrétní výstup a určí rozsah záznamů (aktuální, vše, vybrané, podle filtru). Jako výsledek se vytvoří exportní soubor nebo se otevře dokument v příslušném programu (Word, Excel) nebo se vytvoří e-mailová zpráva.

Formáty exportu

K dispozici jsou exporty v těchto formátech:

1. Tabelární data (export vytvoří jednu nebo více tabulek na základě libovolných dotazů).

  • XML
  • MS Word (.doc, .rtf)
  • MS Excel (.xls)
  • MS Access (.mdb)
  • HTML
  • Text
  • dBASE
  • Paradox
  • další formáty – záleží na nainstalovaných převaděčích pro MS Office (např. Lotus 123).

 

2. Strukturované formáty

Lze vytvářet šablony dokumentů pro export strukturovaných dat. Může se jednat například o HTML stránky, do kterých se na určená místa vloží data z vybraných záznamů. Šablony se vytváří jako textové soubory, jedna varianta formátu je určena pro vytváření šablon pro MS Word (oproti funkci dopis pro Word umí vkládat například i položky dokladů). Předpokládá se použití pro uživatelské aplikace.

Standardně jsou k dispozici tyto formáty:

  • Vizitka vCard – exportuje data z Adresáře do souboru vcf.
  • HTML faktura – pro odeslání dokladu e-maliem
  • Inhouse – formát pro výměnu dokladů (EDI)

 

Pomocí této funkce lze vytvořit například tyto formáty:

  • Text s pevnou délkou polí

 

3. Průvodci Správce výměny dat

Aby byly příkazy pro export a import dat dostupné z jednoho místa, je možné pomocí této funkce spouštět i průvodce exportem z doplňku Správce výměny dat. K dispozici jsou tyto průvodci:

  • Průvodce exportem úhrad
  • Průvodce exportem ceníků
  • Průvodce exportem dokladů
  • Průvodce exportem deníku
  • Průvodce exportem předkontací
  • Průvodce exportem rozvrhu
  • Průvodce exportem dat

 

4. Dopis pro Word

Tento formát nahrazuje funkci dopis pro Word. Šablony dopisů (nebo jiných dokumentů) lze uložit centrálně.

5. Export Vario XML (nové ve V11)

Tento formát umožňuje exportovat libovolná data do XML souborů. Je založen na XML šabloně, která obsahuje dotazy, které jsou ve výstupním souboru nahrazeny daty.

Import

Import dat do systému je nesrovnatelně složitější než jejich export. Při importu je totiž nutno zajistit, aby data byla konzistentní, tj. aby zapsané hodnoty odpovídaly tomu, co očekávají jednotlivé funkce systému Altus VARIO. Proto je k dispozici import pouze základních údajů (i u nich je však třeba dobře plánovat, co a kam se bude načítat) a standardní průvodci importem z doplňku Správce výměny dat. Nastavení importu navíc umožňuje spouštět funkce z externích knihoven. Předpokládá se, že tímto způsobem se budou řešit požadavky na pravidelné importy z cizích zdrojů (například načítání aktualizovaných ceníků). (Tyto požadavky byly doposud řešeny pomocí doplňků. Tento způsob je zachován, avšak doplněk lze spouštět ze seznamu importů.)

Formáty importu

K dispozici jsou importy v těchto formátech:

 

1. Importy z cizích zdrojů

  • vizitka vCard – samostatná funkce pro načtení kontaktu ze souboru .vcf.
  • Průvodce importem – průvodce umožňuje načíst data z cizího zdroje. Předpokládá se jednorázový import (viz dále).

2. Průvodci Správce výměny dat

Aby byly příkazy pro export a import dat dostupné z jednoho místa, je možné pomocí této funkce spouštět i průvodce importem z doplňku Správce výměny dat. K dispozici jsou tyto průvodci:

  • Průvodce importem úhrad
  • Průvodce importem ceníků
  • Průvodce importem dokladů
  • Průvodce importem deníku
  • Průvodce importem předkontací
  • Průvodce importem rozvrhu
  • Průvodce importem dat

3. Import Vario XML (nové ve V11)

Tento import umožňuje načítat data z XML souborů přímo do tabulek Varia. Primárně je určen pro výměnu dat z Varia do Varia. Při dodržení integrity dat je samozřejmě možné použít jej i pro načtení dat z jiného zdroje.

Průvodce importem

Průvodce importem je určen zejména pro první naplnění systému daty (z předešlého SW). K polím Varia uživatel přiřadí pole z cizího zdroje. Doplněk potom vytvoří záznamy Varia a načte hodnoty z uživatelem určených polí.

Data bude zpravidla nutno připravit v Excelu nebo nějakém databázovém programu tak, aby vyhovovaly struktuře Varia.

Podporovány jsou tyto datové formáty:

  • Microsoft databáze (Access, .mdb)
  • Text / CSV: text s oddělovači (tabelátor, středník). Oddělovač záznamů musí být nový řádek (13 + 10). První řádek musí obsahovat názvy polí. Oddělovač záznamů nebo polí se nesmí vyskytovat v textu (ani pokud je mezi uvozovkami.)
  • dBase (.dbf): pozor na kódování češtiny, u všech formátů se předpokládá Windows 1250
  • Excel XLSX a XLS

 

Pokud si nebudete jisti významem jednotlivých polí ve Variu, je vhodné zorientovat se podle detailu záznamu (názvy polí odpovídají popiskům). Popis jednotlivých polí je také uveden v dokumentu Prevod_dat.htm, který naleznete ve složce Servis\Prevod_dat na instalačním CD.

 

Vytvoření Exportu

 

  1. Spustíte modul, do kterého chcete přidat Export.
  2. Otevřete dialogové okno Možnosti Agendy (Nástroje/Možnosti -> okno Možnosti, karta Moduly, poklepat na Modulu -> okno Možnosti modulu, karta Agendy, poklepat na Agendě -> okno Možnosti Agendy, karta Exporty/Importy).
  3. Klepnutím na tlačítko Přidat vytvoříte nový Export.
  4. Otevřete možnosti Exportu.
  5. Vyplníte základní údaje

Zdroj záznamů, název výchozího dotazu, případně tabulky.Vyplňuje se jen pokud má smysl. Je-li to možné měl by být export založen na dotazu Kniha XXX (kde XXX je název agendy). To umožňuje použití filtrů tabulky agendy. Zdroj záznamů má význam pouze pro export tabelárních a strukturovaných dat, u průvodců nemá význam.

Export do Cíl exportu: 1 - soubor; 2 - e-mail příloha; 3 - e-mail body.

Soubor Název souboru. Není povinný a vyplňuje se jen pokud má smysl. Pokud není zadáno, exportuje se zpravidla do složky temp OS Windows a jako název souboru se použije název exportu. U tabelárních exportů se přípona typu souboru doplní automaticky, u ostatních bude vytvořen název souboru bez přípony.
V cestě lze použít zástupné "tagy", které Vario nahradí skutečnou hodnotou: <SlozkaDat> - nahradí se cestou ke složce dat podle aktuálního profilu
<SlozkaDokumentu> - nahradí se nastavením složky dokumentů
<Agenda>, <Kniha> - nahradí se názvem aktuální agendy (knihy)
<Zaznam> - nahradí se identifikátorem aktuálního záznamu
<Firma> - pokud záznam obsahuje pole firma, nahradí se jeho hodnotou
<Date> - nahradí se datem ve formátu YYYYMMDD
<Poradi> - nahradí se pořadím souboru ve formátu 000
<=výraz> - nahradí výsledkem výrazu eval(výraz)
<!Pole> nebo <Pole> - vloží hodnotu pole z formuláře, nad kterým se exportuje
V názvech se provedou náhrady nedovolených znaků. Mezery se nahradí za _.

E_mail Výchozí e-mailová adresa. Není nutno vyplnit.

Předmět Výchozí předmět e-mailové zprávy. Není nutno vyplnit.

Text Výchozí „body“ e-mailové zprávy. Není nutno vyplnit.

Verze Stejně jako u TF má význam pro zaznamenání změny na stanici uživatele.

Bez knihy Nepoužívá se.

Popis Zde zadejte instrukce pro uživatele.

Rozsah exportu Stejné jako u TF.

Zakázaný rozsah Stejné jako u TF. Je potřeba zakázat rozsahy, které nemají smysl. Například u průvodců, kteří neakceptují filtry, se zakáží všechny rozsahy. Povolovat filtry má smysl jen pokud je zadán zdroj záznamů.

Instrukce Instrukce v xml formátu. Pro vložení instrukcí je vhodné používat seznam Vložit instrukci. Popis instrukcí viz dále.

Šablona Pokud export vyžaduje šablonu, připravte šablonu jako soubor a zadejte cestu k němu. Po potvrzení se obsah souboru načte do tabulky (tj. soubor šablony nemusí být na serveru).
Šablona může být volitelně umístěna na disku. V tom případě se ukládá cesta.

Tabulky Zadejte seznam tabulek, které export vyžaduje (má význam pro tabelární a strukturované exporty). Tabulka: název tabulky, Database: prefix databáze (Data, DMaj, DUct), Puvodni_nazev: název tabulky.

Dotazy Zadejte seznam dotazů, které export požaduje. Volte takový název, aby nedošlo ke kolizi s jiným exportem (s výjimkou dotazů Kniha Název agendy). Platí stejná pravidla jako u dotazů pro sestavy. Používejte funkce TiskAgenda, TiskKniha, TiskRok pro navrácení parametrů pro výběr záznamů aktuální knihy.

Dotazy bude vhodné připravit v externí databázi, do které si propojíte příslušné tabulky. Potom zkopírujete SQL výraz dotazu do sloupce SQL.

Instrukce Exportu

V poli Instrukce se uvede jeden nebo více příkazů ve formátu xml. Jsou implementovány následující příkazy:

DoCmd.TransferDatabase

Slouží k exportu tabelárních dat do databázových formátů. Provede příkaz DoCmd.TransferDatabase.

Příklad:

<DoCmd.TransferDatabase transfertype="1" databasetype="dBase III" databasename="c:\work\" objecttype="1" source="test_dotaz" destination="Test_tabulka" structureonly="0" saveloginid="0" />

Parametry a jejich význam odpovídají metodě TransferDatabase objektu DoCmd (viz nápověda Access).

Povinné parametry jsou: databasetype.

Pokud uvedete databasename, bude potlačeno nastavení exportu Adresa a Soubor. Pokud uvedete source, bude potlačen Zdroj záznamů.

Parametr transfertype musíte nastavit na 0 (tabulka) nebo 1 (dotaz) nebo vynechat. Pro formát Access parametr vynechejte nebo použijte 0, jinak dojde k exportu dotazu místo dat.

Příklad Access:

<DoCmd.TransferDatabase databasetype="Microsoft Access"/> nebo <DoCmd.TransferDatabase databasetype="Microsoft Access" source="test_polozky" destination="Polozky"/>

Podrobnosti použití této funkce naleznete v dokumentaci MS Access.

DoCmd.TransferSpreadsheet

Slouží k exportu tabelárních dat do tabulkových procesorů. Provede příkaz DoCmd.TransferSpreadsheet.

Příklad:

<DoCmd.TransferSpreadsheet transfertype="1" spreadsheettype="8" tablename="test_dotaz" filename="c:\work\text.xls"/>

Povinné: spreadsheettype

Změny: tablename potlačí Zdroj záznamů; filename potlačí Adresa & Soubor.

Parametr transfertype neuvádějte, je vždy povinně 1.

Podrobnosti použití této funkce naleznete v dokumentaci MS Access.

DoCmd.TransferText

Slouží k exportu tabelárních dat do textových formátů. Provede příkaz DoCmd.TransferText.

Příklad:

<DoCmd.TransferText transfertype="2" specificationname="" tablename="test_dotaz" filename="c:\work\test.txt"

hasfieldnames="0" codepage=""/>

Povinné: nejsou

Změny: tablename potlačí Zdroj záznamů; filename potlačí Adresa & Soubor.

Parametr transfertype můžete nastavit pouze na tyto hodnoty: 2 (acExportDelim), 3 (acExportFixed), 8 (acExportHTML), 4 (acExportMerge).

Podrobnosti použití této funkce naleznete v dokumentaci MS Access.

DoCmd.OutputTo

Slouží k exportu tabelárních dat do běžných formátů (zejména jako příloh pro e-mailových zpráv). Provede příkaz DoCmd.OutputTo.

Příklad:

<DoCmd.OutputTo objecttype="1" objectname="test_dotaz" outputformat="HTML (*.html)" outputfile="c:\work\test.htm"

autostart="0" templatefile=""/>

Povinné: outputformat

Změny: objectname potlačí Zdroj záznamů; outputfile potlačí Adresa & Soubor.

Parametr transfertype můžete nastavit na všechny přípustné hodnoty.

Podrobnosti použití této funkce naleznete v dokumentaci MS Access.

DopisWord

Slouží k vyplnění dat do nového dokumentu MS Word vytvořeného na základě šablony (původně funkce Soubor / Dopis pro Word).

Příklad:

<DopisWord outputfile=""/>

Parametr outputfile je nepovinný, pokud není uveden, použije se nastavení Adresa & Soubor.

Pokud je vložena šablona (.doc nebo .dot soubor v poli Šablona), bude vytvořen nový soubor (název: outputfile, Adresa & Soubor nebo soubor ve složce Temp). Pokud je pole Šablona prázdné, otevře se okno pro výběr souboru. Potom se spustí funkce toDopisWord (stejná jako funkce menu Soubor/Dopis pro Word známá z předchozích vydání Varia).

 

Příkaz DopisWord nahrazuje původní položku menu Soubor / Dopis pro Word.

SpravceVymenyDat

Slouží pro jednodušší volání průvodců z doplňku Správce výměny dat.

< SpravceVymenyDat objectname="Název průvodce"/>

Parametr objectname je povinný, uvede se v něm průvodce z doplňku Správce výměny dat.

Doplňky ze Správce ignorují všechny parametry včetně zadání souboru, filtru atd. Je Správce výměny dat obsahuje tyto průvodce:

Průvodce exportem úhrad

Průvodce exportem ceníků

Průvodce exportem dokladů

Průvodce exportem deníku

Průvodce exportem předkontací

Průvodce exportem rozvrhu

Průvodce exportem dat

 

Správce výměny dat nabízí jednotlivé průvodce v závislosti na aktuální agendě. Při vytváření instrukcí je potřeba vzít kontext v úvahu, aby nedošlo k neočekávaným chybám při spuštění průvodce na nepatřičném místě.

exportXML

Slouží k exportu strukturovaných dat. Vyžaduje šablonu, ve které jsou uvedeny značky, které funkce nahradí daty z Varia. Popis značek viz dále.

<exportXML outputfile=""/>

Parametr outputfile je nepovinný, pokud není uveden, použije se nastavení Adresa & Soubor.

exportVarioXML

Funguje obdobně jako exportXML, ale šablona i výstup musí být ve formátu XML.

ExportWord

Slouží k exportu strukturovaných dat. Vyžaduje šablonu programu MS Word, ve které jsou uvedeny značky, které funkce nahradí daty z Varia. Popis značek viz dále.

<exportWord outputfile=""/>

Parametr outputfile je nepovinný, pokud není uveden, použije se nastavení Adresa & Soubor.

Run

Slouží ke spuštění funkcí z externích knihoven, pro řešení konverzí a zpracování dat.

<Run procedure="" arg1="" arg2="" arg3="" arg4=""/>

Spustí funkci Run. Předpokládá se, že tímto příkazem se budou volat doplňky, pro export do formátů jenž nebude možné vytvořit pomocí standardních funkcí exportu.

procedure je název funkce. Používá se stejně jako při volání doplňku. Povinný parametr.

arg 1, arg2, arg3, arg4 jsou nepovinné parametry volané funkce, které se předají funkci Run (pokud budou vyplněny). Více viz nápověda MS Access k funkci Run.

ExportXML

Tato funkce umožňuje export do libovolného strukturovaného formátu. Předpokládáme využití zejména pro výstupy v HTML, ale je možné realizovat i jakékoli jiné (vCard, EDI/Inhouse, xml). Základem exportu je šablona – textový soubor, ve kterém jsou zapsány značky. Značky jsou nahrazeny daty. Značky se zapisují syntaxí xml. K dispozici jsou dvě značky:

<vario_table name=" " SQL=" "></vario_table> sděluje, z jakého zdroje se budou načítat data. Tato značka není nahrazena daty. Na jejím základě se vytvoří tabulka, ze které se budou vyplňovat hodnoty do značky vario_field.
  name = Vnitřní název dotazu. Název slouží k identifikaci pole z dotazu. 
  SQL = SQL výraz pro získání dat. Data můžete vybírat z dotazů nebo tabulek definovaných k danému exportu.
Pokud je třeba v parametru SQL vyhodnotit výraz, je zapotřebí tento výraz vložit mezi dvojité komentáře (2x ASCII 39). Př. <vario_table name="SQL2" SQL="SELECT Objednavky FROM Doklady WHERE Cislo_dokladu=''(mid('{SQL1.Text}',28,15))''">

<vario_field source=" "/> bude nahrazena daty z tabulky. 
  source = Určuje zdroj dat. Hodnota uzavřená ve složených závorkách {} bude nahrazena hodnotou pole z dotazu. Jak vidíte v příkladu, lze ve výrazu používat i funkce VB, Accessu nebo Varia.
  V parametru se lze též odkazovat i na stav recordsetu.
  dbEOF = vrací True/False
  dbBOF = vrací True/False
  dbRecordCount = Vrací číslo 0 - n (počet řádků dotazu)
  dbAbsolutePosition = Vrací číslo 0- n (absolutní pozice aktuálního řádku, v rámci specifikovaného dotazu)
  Př. source = "{SQL1.dbRecordCount}"
  function = Volá funkci. Stejné jako source, ale pokud funkce vrací hodnotu, nebude tato hodnota zapsána do souboru.

<vario_file name=" " outputType=" " encoding=" "/> Tento tag zajistí uzavření aktuálního souboru a otevření nového. Nepárová značka!! (uzavře se nakonci tagu)
  name = Název souboru. Pokud není uvedená cesta, bude použitá cesta z nastavení exportu.
  outputType = {"new", "append"}, Typ otevření souboru. New - vytvoří nový soubor, Append vloží data do existujícího souboru na konec. Pokud soubor neexistuje, bude vytvořen.
  encoding = {"UTF8"}, Kódovaní dat v souboru. Text vloženný do souboru je konvertován z Win1250 na UTF8.

//* libovolný text *// = Komentáře. Lze zakomentovat libovolný text.

 

Například budeme chtít vygenerovat html tabulku, která bude obsahovat seznam faktur. Tabulka má mít tři sloupce: Číslo dokladu, Celkem a Zbývá uhradit. Šablona bude vypadat takto:

 

<html>

<body>

<table>

<tr><th>Číslo dokladu</th><th>Celkem</th><th>Zbývá uhradit</th></tr>

<vario_table name="MojeFaktury" SQL="SELECT * FROM [Kniha Vydané doklady]">

<tr>

<td><vario_field source="{MojeFaktury.Cislo_dokladu}"/></td>

<td><vario_field source="Format({MojeFaktury.Celkem}, 'Standard')"/></td>

<td><vario_field source="Format({MojeFaktury.Zbyva_uhradit}, 'Standard')"/></td>

</tr>

</vario_table>

</table>

</body>

</html>

 

Šablona obsahuje standardní html kód. Tučně jsou vyznačeny vložené značky.

Uvedený příklad bude zpracován takto:

  1. Vytvoří se nová soubor a zkopírují se do něj řádky 1-4.
  2. Na základě tagu <vario_table name="MojeFaktury" SQL="SELECT * FROM [Kniha Vydané doklady]"> se vytvoří recordset. Do souboru se tento řádek nezapíše. Pokud povolíte v nastavení exportu jiný rozsah než „všechny záznamy“, může být na SQL výraz aplikován filtr (pro výběr aktuálního záznamu, uživatelem definovaný, podle výběru).
  3. Pro každý záznam vrácený dotazem se zapíší řádky 6-10. Tj. tabulka bude mít tolik řádků, kolik vrátí dotaz.
  4. Výraz {MojeFaktury.Cislo_dokladu}bude nahrazen hodnotou pole Cislo_dokladu z dotazu MojeFaktury.
  5. Výraz {MojeFaktury.Celkem}bude nahrazen hodnotou pole Celkem z dotazu MojeFaktury a potom bude vyhodnocena funkce Format(1234, "Standard").
  6. Po projití všech záznamů bude uzavřen recordset (na řádku 11 </vario_table>).
  7. Do souboru se zapíší řádky 12-14

 

Dotazy lze také vnořit. Například můžete chtít vytvořit soubor obsahující faktury a jejich položky. Pro jednoduchost předpokládáme textový soubor:

 

<vario_table name="SQL1" SQL="SELECT * FROM [Kniha Vydané Doklady]">

Číslo dokladu: <vario_field source="{SQL1.Cislo_dokladu}"/>

Doklad: <vario_field source="{SQL1.Doklad}"/>

Položky dokladu

--------------------------------------------------------------

<vario_table name="SQL2" SQL="SELECT * FROM Polozky_dokladu WHERE Cislo_dokladu='{SQL1.Cislo_dokladu}'">

Popis: <vario_field source="{SQL2.Popis}"/>

Cena s DPH:<vario_field source="Format({SQL2.Cena_s_DPH},'Standard')"/>

</vario_table>

--------------------------------------------------------------

Zaokrouhlení: <vario_field source="Format({SQL1.Zaokrouhleni},'Standard')"/>

Uhrazená záloha: <vario_field source="Format({SQL1.Uhrazena_zaloha},'Standard')"/>

Celkem: <vario_field source="Format({SQL1.Celkem},'Standard')"/>

==============================================================

</vario_table>

 

 

Vytvoří soubor (v případě dvou faktur s dvěma a třemi položkami):

 

Číslo dokladu: 2002001

Doklad: Faktura

Položky dokladu

--------------------------------------------------------------

Popis: Položka 1

Cena s DPH: 100,00

Popis: Položka 2

Cena s DPH: 1 052,10

--------------------------------------------------------------

Zaokrouhlení: -0,10

Uhrazená záloha: 0,00

Celkem: 1 152,00

==============================================================

Číslo dokladu: 2002002

Doklad: Faktura

Položky dokladu

--------------------------------------------------------------

Popis: Prodej zboží

Cena s DPH: 1000,00

Popis: Montáž

Cena s DPH: 100,00

Popis: Doprava

Cena s DPH: 200,00

--------------------------------------------------------------

Zaokrouhlení: 0,00

Uhrazená záloha: 0,00

Celkem: 1 300,00

 

Jak vidíte ve výrazu <vario_table name="SQL3" SQL="SELECT * FROM Polozky_dokladu WHERE Cislo_dokladu='{SQL1.Cislo_dokladu}'"> je v SQL dotazu vložena podmínka stejným způsobem jako se vkládá hodnota pole do tagu vario_field. Tímto způsobem lze zajistit, aby vnořený dotaz vrátil pouze záznamy patřící „nadřízenému“ záznamu.

Jak je vidět z příkladů, doporučujeme pro formátování čísel nebo časových dat používat funkci Format(). Pro soubory s pevnou šířkou polí můžete použít funkci Align().

Například:

<vario_field source="Align(nz({SQL1.Variabilni_symbol}), 10, 1, ' ')"/>

Funkce align má následující parametry:

Align(ByVal S As String, ByVal Delka As Integer, ByVal Umisteni As TUmisteni, Znak As String) As String

kde

S  Hodnota, která se má formátovat

DelkaPočet znaků, na který se má hodnota zarovnat

Umisteni 1 = vlevo, 2 = vpravo

Znak Jakým znakem doplnit volné místo (mezera, nebo 0 apod.)

ExportVarioXML

Funguje obdobně jako ExportXML. Šablona musí být ve formátu XML. Export zpracovává pouze tagy tabulka, ostatní tagy procházejí dále do exportního souboru. Tag tabulka musí obsahovat atribut name a sql. Name obsahuje název tabulky, což je zároveň název výsupního tagu, který bude obsahovat záznamy. Atribut sql obsahuje sql výraz, který vrací data. SQL výraz musí být založen na dotazech a tabulkách uvedených v nastavení exportu. Do sql výrazu lze předat podmínku pro omezení počtu záznamů a hodnotu polí z nadřízených tagů:

výraz {filtr} bude nahrazen podnímkou sestavenou volbami v dialogu Export (například pro volbu Aktuální záznam)

výraz {tabulka.pole} bude nahrazen hodnotou atributu pole z nadřízeného tagu tabulka. Lze také použít {pole} pokud je pole součástí tagu o jednu úroveň výše.

Příklad

Šablona pro export dokladů a položek:

<?xml version="1.0" encoding="UTF-8" ?>

- <varioData fieldsAsAttributes="1">
 
- <table name="Doklady" sql="SELECT * FROM Doklady WHERE {filter}">
- <table name="Polozky_dokladu" sql="SELECT * FROM Polozky_dokladu WHERE Cislo_dokladu = '{Doklady.Cislo_dokladu}'">
  </table>
  </table>
  </varioData>

Vytvoří následující soubor:

<?xml version="1.0" encoding="UTF-8" ?>

- <varioData fieldsAsAttributes="1" dateTime="2003-08-19T13:48:20.000" user="Karel Příhoda" firma="Woodmakers" data="1" filter="((Cislo_dokladu) like '200310001#')">
- <Doklady Cislo_dokladu="2003100010" Doklad="Faktura" Variabilni_symbol="2003100010" ...>
  <Polozky_dokladu Cislo_dokladu="2003100010" Polozka_dokladu="1" Popis="Úhrada 6 319,60 ze dne 7.2.2003"... />
  </Doklady>
- <Doklady Cislo_dokladu="2003100011" Doklad="Faktura" Variabilni_symbol="2003100011"...>
  <Polozky_dokladu Cislo_dokladu="2003100011" Polozka_dokladu="1" Popis="Dřevěné křeslo s potahem, přírodní" .../>
  <Polozky_dokladu Cislo_dokladu="2003100011" Polozka_dokladu="2" Popis="Adam křeslo VC" Cislo="VCADAM" .../>
  </Doklady>
....
</ varioData >

 Nepovinný atribut fileldsAsAttributes udává zda se budou hodnoty polí exportovat jako atributy nebo jako samostatné tagy.

Podrobný popis Exportních funkcí

Podobně jako u sestav a tiskových formulářů jsou definice exportů uloženy ve sdílené databázi Firmy.mdb. Definice exportů jsou uloženy v tabulce Exporty, dotazy pro získání dat jsou v tabulce Exporty_dotazy a tabulky potřebné pro tyto dotazy jsou v tabulce Exporty_tabulky (stejné jako u sestav).

 

Veškerá funkčnost exportů je soustředěna v knihovně Export.mda.

Knihovna nabízí tyto funkce:

function OtevritExport(Agenda As String, Export As String, PodminkaWhere As String) As Boolean

Použití je analogické s funkcí OtevritTisk a OtevritSestavu.

 

Sub MoznostiExportu(Export As String, Agenda as string)

Otevře okno s nastavením možností exportu.

 

Function toExport(Rychle As Boolean) As Boolean

Vyvolá okno pro výběr exportu a nastavení rozsahů / spustí naposled použitý export s výchozími hodnotami (analogicky k oknu Tisk a fci toTisk).

Poznámka: parametr rychle zatím není podporován.

Definice exportu

Nastavení exportů se ukládá do tabulky Exporty. Jednotlivá pole mají následující význam:

Export Název exportu (stejné jako Sestava)

Agenda Název agendy (Stejné jako u TF a Sestav)

Zdroj záznamů Název výchozího dotazu případně tabulky. Může být předefinováno v poli příkazy.

Rozsah exportu Stejné jako u TF

Zakázaný rozsah Stejné jako u TF

Popis Stejné jako u TF

Verze Stejné jako u TF

Bez knihy Stejné jako u TF

Firma Stejné jako u TF

Export do Cíl exportu: 1 - soubor; 2 - e-mail příloha; 3 - e-mail body (ve formátu HTML – zatím nepoužito)

Soubor Název souboru. Může být předefinováno v poli příkazy. Pokud není zadáno, exportuje se zpravidla do složky temp OS Windows a jako název souboru se použije název exportu.

E_mail Výchozí e-mailová adresa.

Předmět Výchozí předmět e-mailové zprávy.

Text Výchozí „body“ e-mailové zprávy.

Instrukce Instrukce v xml formátu viz Instrukce.

Šablona Pokud export vyžaduje šablonu ukládá se zde soubor v binárním formátu.

Princip

Při spuštění exportu se nejprve, podobně jako v případě otevření sestavy, nejdříve propojí tabulky (definované pro příslušný export v tabulce Exporty_tabulky) do souboru Export.mda. Potom se vytvoří dotazy (z definic uložených v tabulce Exporty_dotazy).

Potom se provedou instrukce. Instrukce se provádí zleva doprava (odshora dolů). Typicky export obsahuje pouze jednu instrukci – export do jednoho souboru. Uživatel spustí export prostřednictvím dialogového okna Export. Zde má možnost nastavit rozsah exportovaných dat (stejné jako u tisku), určit cíl exportu (soubor/e-mail) a upřesnit umístění souboru a e-mailovou adresu.

V případě, že zvolí odeslání e-mailem, vytvoří se e-mailová zpráva, která se otevře, aby měl uživatel možnost upravit text, zkontrolovat zprávu a poté jí odeslat běžným způsobem.

Poznámky

Pro odeslání e-mailu je potřeba MS Outlook. Pouze s příkazem DoCmd.OutputTo lze použít libovolného poštovního klienta podporovaného MS Office.

 

Načtení šablony se provede zadáním úplné cesty souboru v dialogovém okně Možnosti exportu. Šablony do velikosti cca 1kb se mohou vložit přímo do pole šablona. Při příštím otevření okna Možnosti exportu se v poli šablona zobrazí:

  1. Při velikosti šablony do 1kb obsah pole
  2. Při velikosti šablony nad 1kb se zobrazí text binární data
  3. Pokud není šablona zadaná je pole prázdné (null).

Odstranění šablony se provede vymazáním obsahu pole šablona (v dialogu Možnosti exportu).

 

 

Import

 

Import dat do systému je nesrovnatelně složitější než jejich export. Při importu je totiž nutno zajistit, aby data byla konzistentní, tj. aby zapsané hodnoty odpovídaly tomu, co očekávají jednotlivé funkce systému Altus VARIO. Proto je k dispozici import pouze základních údajů (i u nich je však třeba dobře plánovat, co a kam se bude načítat) a standardní průvodci importem z doplňku Správce výměny dat. Nastavení importu navíc umožňuje spouštět funkce z externích knihoven. Předpokládá se, že tímto způsobem se budou řešit požadavky na pravidelné importy z cizích zdrojů (například načítání aktualizovaných ceníků). (Tyto požadavky byly doposud řešeny pomocí doplňků. Tento způsob je zachován, avšak doplněk lze spouštět ze seznamu importů.)

Formáty importu

K dispozici jsou importy v těchto formátech:

 

1. Importy z cizích zdrojů

  • vizitka vCard – samostatná funkce pro načtení kontaktu ze souboru .vcf.
  • Průvodce importem – průvodce umožňuje načíst data z cizího zdroje. Předpokládá se jednorázový import (viz dále).

2. Průvodci Správce výměny dat

Aby byly příkazy pro export a import dat dostupné z jednoho místa, je možné pomocí této funkce spouštět i průvodce importem z doplňku Správce výměny dat. K dispozici jsou tyto průvodci:

  • Průvodce importem úhrad
  • Průvodce importem ceníků
  • Průvodce importem dokladů
  • Průvodce importem deníku
  • Průvodce importem předkontací
  • Průvodce importem rozvrhu
  • Průvodce importem dat

Průvodce importem

Průvodce importem je určen zejména pro první naplnění systému daty (z předešlého SW). K polím Varia uživatel přiřadí pole z cizího zdroje. Doplněk potom vytvoří záznamy Varia a načte hodnoty z uživatelem určených polí.

Data bude zpravidla nutno připravit v Excelu nebo nějakém databázovém programu tak, aby vyhovovaly struktuře Varia.

Podporovány jsou tyto datové formáty:

  • Microsoft databáze (Access, .mdb)
  • Text / CSV: text s oddělovači (tabelátor, středník). Oddělovač záznamů musí být nový řádek (13 + 10). První řádek musí obsahovat názvy polí. Oddělovač záznamů nebo polí se nesmí vyskytovat v textu (ani pokud je mezi uvozovkami.)
  • dBase (.dbf): pozor na kódování češtiny, u všech formátů se předpokládá Windows 1250

 

Pokud si nebudete jisti významem jednotlivých polí ve Variu, je vhodné zorientovat se podle detailu záznamu (názvy polí odpovídají popiskům). Popis jednotlivých polí je také uveden v dokumentu Prevod_dat.htm, který naleznete ve složce Servis\Prevod_dat na instalačním CD.

 

 

Vytvoření Importu

 

  1. Spustíte modul, do kterého chcete přidat Import.
  2. Otevřete dialogové okno Možnosti Agendy (Nástroje/Možnosti -> okno Možnosti, karta Moduly, poklepat na Modulu -> okno Možnosti modulu, karta Agendy, poklepat na Agendě -> okno Možnosti Agendy, karta Exporty/Importy, seznam Importy).
  3. Klepnutím na tlačítko přidat vytvoříte nový Import.
  4. Otevřete možnosti Importu.

Vyplníte základní údaje

Verze Stejně jako u TF má význam pro zaznamenání změny na stanici uživatele.

Popis Zde zadejte instrukce pro uživatele.

Instrukce Instrukce v xml formátu. Pro vložení instrukcí je vhodné používat seznam Vložit instrukci. Popis instrukcí viz dále.

Tabulky Zadejte seznam tabulek, které import vyžaduje (má význam pro tabelární a strukturované exporty). Tabulka: název tabulky, Database: prefix databáze (Data, DMaj, DUct), Puvodni_nazev: název tabulky.

Podrobný popis Importních funkcí

Funkce slouží k importu dat do Varia.

Popis

Podobně jako u sestav a tiskových formulářů jsou definice importů uloženy ve sdílené databázi Firmy.mdb. Definice exportů jsou uloženy v tabulce Importy a tabulky potřebné pro vložení dat jsou v tabulce Importy_tabulky (stejné jako u sestav). (Na rozdíl od exportů, nejsou k dispozici dotazy.)

 

Veškerá funkčnost exportů je soustředěna v knihovně Import.mda.

Knihovna nabízí tyto funkce:

function OtevritImport(Agenda As String, Import As String) As Boolean

Použití je v podstatě analogické s funkcí OtevritTisk a OtevritSestavu.

 

Sub MoznostiImportu(Import As String, Agenda as string)

Otevře okno s nastavením možností Importu.

 

Function toImport(Rychle As Boolean) As Boolean

Vyvolá okno pro výběr importu a nastavení rozsahů / spustí naposled použitý import s výchozími hodnotami (analogicky k oknu Tisk a fci toTisk).

Poznámka: parametr rychle zatím není podporován.

Definice importu

Nastavení exportů se ukládá do tabulky importy. Jednotlivá pole mají následující význam:

Import Název importu (stejné jako Sestava)

Agenda Název agendy (Stejné jako u TF a Sestav)

Popis Stejné jako u TF

Verze Stejné jako u TF

Soubor Název souboru.

Instrukce Instrukce v xml formátu viz dále.

Instrukce Importu

V poli příkazy se uvede jeden nebo více příkazů ve formátu xml. Jsou implementovány následující příkazy:

vCard

<vCard/>

Načte kontakty ze souboru ve formátu vCard (*.vcf). Podporováno pouze v agendě adresář. Soubor může obsahovat jeden nebo více kontaktů (aplikace Outlook vytváří vždy jeden kontakt v soouboru). Je podporován vCard verze 2.1.

Průvodce importem

<PruvodceImportem/>

Spustí průvodce pro import dat z databáze mdb, dbf nebo souboru csv. Předpokládá se pro použití pro první naplnění systému daty nebo pro aktualizaci katalogu a ceníku.

Zatím neimplemenováno.

SpravceVymenyDat

< SpravceVymenyDat objectname="Název průvodce"/>

Parametr objectname je povinný, uvede se v něm průvodce z doplňku Správce výměny dat.

Správce výměny dat obsahuje tyto průvodce:

Průvodce importem úhrad

Průvodce importem ceníků

Průvodce importem dokladů

Průvodce importem deníku

Průvodce importem předkontací

Průvodce importem rozvrhu

Průvodce importem dat

 

Správce výměny dat nabízí jednotlivé průvodce v závislosti na aktuální agendě. Při vytváření instrukcí je potřeba vzít kontext v úvahu aby nedošlo k neočekávaným chybám při spuštění průvodce na nepatřičném místě.

Run

<Run procedure="" arg1="" arg2="" arg3="" arg4=""/>

Spustí funkci Run. Předpokládá se, že tímto příkazem se budou volat doplňky pro import formátů, jenž nebude možné zpracovat pomocí standardních funkcí importu.

procedure je název funkce. Používá se stejně jako při volání doplňku. Povinný parametr.

arg 1, arg2, arg3, arg4 jsou nepovinné parametry volané funkce, které se předají funkci Run (pokud budou vyplněny). Více viz nápověda MS Access k funkci Run.

Princip

Při spuštění importu se nejprve, podobně jako v případě otevření sestavy, propojí tabulky (definované pro příslušný export v tabulce Importy_tabulky) do souboru Import.mda.

Potom se provedou instrukce. Instrukce se provádí zleva doprava (odshora dolů). Typicky import obsahuje pouze jednu instrukci – import z jednoho souboru nebo volání průvodce. Uživatel spustí import prostřednictvím dialogového okna import. Zde zpravidla nejprve zadá importní soubor.