Vario a eshop - propojení Varia s internetovým obchodem

Tento článek popisuje, jak propojit internetový obchod se systémem Altus Vario 12.

Existují hotová řešení, jejichž přehled naleznete v sekci Řešení e-obchody a také na http://www.vario.cz/moduly/e-shop/.

Internetový obchod a Altus Vario

Altus Vario je firemním nástrojem pro řízení obchodních agend. S prodejem v internetovém obchodě přímo souvisí tyto agendy:

  • katalog zboží, ceníky a sklady,
  • knihy došlých objednávek (ve Variu se nazývají zakázky),
  • adresář (zákazníci) a
  • knihy prodejních dokladů (faktury a pokladní doklady, dále jen faktury).

 

Tento popis je zaměřen na výměnu dat těchto agend mezi Variem a internetovým obchodem. Výměnou se rozumí nějaká komunikační služba (například Vario Integration Services), která automatizuje výměnu. Nejedná se o 'ruční' export a import dat. Pokud řešíte obchod malého rozsahu, můžete použít průvodce exportem a importem, který nabízí řadu uživatelsky definovaných formátů a nastavení pro export zboží a import objednávek.

Data Varia a data obchodu

Máme dvě databáze. Jedna databáze jsou data Varia. Druhá je databáze obchodu. Mezi těmito databázemi musí být zajištěna komunikace. Komunikaci zajistí program, vytvořený dodavatelem (dále jen programátor), který programuje výměnu dat.

Databáze Varia

Tato databáze je umístěna ve firemní síti. Od internetu je oddělena firewallem. Přístup z internetu do sítě není povolen. Přístup z firemní sítě do internetu je povolen. Pokud chcete zajistit spolupráci s obchodem, máte 2 možnosti:

  1. Povolit přístup pro konkrétní aplikaci, která běží na konkrétním serveru (na konkrétní port, pro konkrétní protokol atd. - zkrátka přístup chráněný autorizací).
  2. Přístup nepovolit a veškerou komunikaci iniciovat z vnitřní sítě.

První možnost budeme označovat obousměrná komunikace, druhý jednosměrná komunikace.

Databáze Varia, ze které budete číst data, se jmenuje Data0001 (kde 0001 je číslo dat a může se lišit podle nastavení).

Databáze obchodu

Je umístěna na serveru, který je "na internetu". Tento server má rozhraní pro výměnu dat chráněné proti neoprávněnému přístupu (autorizací, povolením jen konkrétních adres apod.).

Toto je nejběžnější uspořádání. Samozřejmě je možné zvolit i jiné, jeho návrh však svěřte pouze lidem, kteří mají hluboké zkušenosti s webovými aplikacemi a jejich zabezpečením.

Výměna dat mezi databázemi

Jednosměrná výměna

Je jednodušší, ale má dvě omezení. Volání inicializuje program z firemní sítě. Může odeslat data do obchodu (zboží) a může si data z obchodu stáhnout (objednávky). Program se musí v nastavených intervalech dotazovat obchodu na nové objednávky. To znamená buďto časté zbytečné dotazy (žádná objednávka) nebo zbytečnou prodlevu při malé četnosti. Druhé omezení je v tom, že obchod nemůže zjišťovat aktuální stav (skladu, objednávky).

Obousměrná výměna

Je složitější, ale přináší výhodu okamžité reakce bez zbytečných volání. Obchod může například zjišťovat podle potřeby stav skladu a při nákupu může neprodleně odeslat objednávku do Varia.

Poznámka: jsou možná i jiná řešení, například odesílání objednávek e-mailem. K jejich realizaci však nepotřebujete článek o komunikaci mezi obchodem a Variem.

Program pro výměnu dat

Můžete zvolit různá řešení a technologie. Obvyklým řešením je výměna dat ve formátu XML prostřednictvím protokolu HTTP. Takový program lze napsat v různých jazycích na různých platformách - záleží jen na programátorovi a technických možnostech. Jediným omezením je, že program na straně databáze Varia musí být schopen pracovat s databázemi MS SQL nebo MS Access (podle toho co používáte). Na straně obchodu záleží na platformě, na které běží server (ASP, PHP, .NET, Java). Také existují řešení využívající pouze Transact SQL a možnosti vzdálené komunikace MS SQL serveru. Zvolená technologie není předmětem tohoto článku. Výběr je věcí zadavatele a programátora.

Program poběží na nějakém serveru ve firemní síti. Bude mít přístup k databázi Varia (aplikace Varia nepotřebuje - Vario zde nemusí být nainstalované). Bude moci odesílat data na internet - na rozhraní obchodu. V případě obousměrné komunikace bude navíc naslouchat na konkrétním portu, aby zpracoval požadavky obchodu. V případě obousměrné komunikace bude server umístěn v DMZ zóně firemní sítě.

Tip: Na platformě Windows vystačíte pro jednosměrnou komunikaci s knihovnami DAO nebo ADO pro čtení dat a MS XML pro odeslání dat přes HTTP. Pro obousměrnou komunikaci budete navíc potřebovat knihovnu Winsock nebo vytvořit místo programu aplikaci pro ISS server (.asp nebo .aspx) - ten zajistí příjem volání obchodu. Také můžete použít .NETremoting.

Pro zápis údajů do Varia jsou dvě možnosti:

  • Přímý zápis do tabulek na SQL serveru (případně MDB souborových databází)
  • Využití objektové knihovny VarioLib.DLL (COM)

 

Zápis do tabulek je možný, pokud dodržíte předepsané hodnoty podle následujícího popisu. Použití objektové knihovny umožňuje využití všech vlastností Varia (například nastavení výchozích hodnot nových záznamů prostřednictvím šablon, automatické řízení číselné řady dokladů, udržování integrity dat atd.). Na druhou stranu vyžaduje znalost objektového modelu a vyžaduje platformu Windows. Pro účely výměny, která obsluhuje omezenou, přesně definovanou množinu dat bude zřejmě efektivnější dát přednost přímému zápisu a čtení dat z databáze.

Tip: Vario Integration Services: server webových služeb pro komunikaci programů dalších výrobců s Variem 12. Primárně jsou služby určeny jako rozhraní pro webové obchody.

Obchodní procesy

Předpokládáme následující rozdělení rolí:

  1. V systému Altus Vario vzniká a udržuje se katalog zboží s ceníky, vede se v něm sklad a vystavují se faktury.
  2. V obchodě vznikají objednávky.
  3. Adresář - zákazníci, mohou být zadáváni v obchodě i ve Variu.

Důležité je, kde záznamy vznikají. Pokud vznikají na jedné straně a na druhou stranu se odesílá jen jejich kopie, je úloha snadná. V tomto upořádání se dají snadno zvládnout body 1 a 2.

Pokud však mají záznamy vznikat na obou stranách, je zde riziko duplicit a konfliktů. Proto se snažte navrhnout obchodní logiku tak, aby vznik a zánik záznamů řídila vždy jen jedna strana. U některých obchodů, zejména B2B, se nevyhnete řešení podle bodu 3. Budete muset zajistit "spárování" kontaktů, které již máte ve Variu a které se zaregistrují do obchodu.

Následující popis bude předpokládat tento postup:

Ve Variu vytvoříte:

  • katalog zboží,
  • ceníky,
  • stromovou strukturu kategorií produktů a zařadíte do ní produkty.

 

Tyto záznamy budete měnit jen ve Variu a budete je odesílat do obchodu (po každé změně, pravidelně - dle vás).

Zákazníci budou nakupovat. Obchod bude:

  • zjišťovat aktuální stav skladu ve Variu (záleží, jestli jim to obchod umožní),
  • vystavovat objednávky.

 

Stav skladu můžete zjišťovat obousměrnou komunikací nebo jej pravidelně posílat do obchodu. Objednávky se budou "stahovat" do Varia, do knihy agendy Zakázky.

Poznámka: Vario obsahuje agendy Zakázky a Objednávky. Pro uživatele obchodu je objednávka jeho nákup. Pro uživatele Varia je objednávka, to co kupuje u dodavatele a zakázka, to co prodává zákazníkovi. Protože tento článek se nezabývá nákupem zboží ve Variu, tak budeme-li hovořit o objednávce, rozumíme tím objednávku v internetovém obchodě a zakázku ve Variu. Nebo-li zakázka = došlá objednávka.

Obchodníci budou:

  • vyřizovat zakázky ve Variu,
  • vystavovat faktury ze zakázek a vydávat zboží.

 

Zákazníci mohou:

  • zjišťovat stav objednávky.

 

Vydávání zboží ze skladu a úhrady dokladů řídí Vario bez vazby na obchod.

 


Katalog

Určete, jak odlišíte zboží určené do obchodu. Záznamy v katalogu jsou produkty. Produkty jsou v tomto případě zboží. Katalog je členěn do knih. Doporučujeme používat následující pole Varia (detail produktu, skupina Prodej):

  • Publikovat: Ano - zboží patří do obchodu, Ne - zboží neodesílat resp. stáhnout z nabídky
  • Novinka, Akce: zvýraznění novinek a akčního zboží (obvykle symbolem)
  • Top produkt: produkty na vrcholu oddělení obchodu
  • Priorita: číslo pro určení pořadí v oddělení obchodu podle potřeby 

 

Výběr záznamů z katalogu pak zajistíte dotazem (nad databází Data0001 viz výše):

SELECT Katalog.*
FROM Katalog
WHERE Not Katalog.Publikovat=0;

Budete pravděpodobně chtít tato pole:

 

Pole Popis
Produkt Identifikátor položky katalogu, text
Popis Název zboží/výrobku/služby
Katalogove_cislo Katalogové číslo položky
Carovy_kod Čárový kód výrobce
Priorita Pořadí produktu v oddělení
Akce Akční zboží
Novinka Novinka
Top produkt Přednost v oddělení
Cena Cena z katalogu - pokud stačí jedna cena a nechcete používat ceníky
Vyrobce Výrobce produktu
Zeme_puvodu ISO kód země původu
Jednotky Jednotky (Kusy, Litry, Kilogramy, ...)
Zakladni_jednotka Základní měrná jednotka (Litr, Kilogram, ...)
Mnozstvi_zakladnich_jednotek Množství základních jednotek v jednotce produktu
Hmotnost Hmotnost zboží/výrobku (pro určení způsobu dopravy)
Rozmery Viz také pole Sirka, Vyska, Hloubka, Rozmer_a, Rozmer_b, Rozmer_c
Sazba_DPH Sazba DPH, buďto obsahuje text 'Základní', 'Snížená', nebo číselnou sazbu
Datum_uvedeni Datum uvedení produktu na trh (novinka)
Zaruka Záruční doba v měsících
Internet Adresa stránky produktu na internetu
Obrazek Velký obrázek produktu
Obrazek_maly Náhledový obrázek produktu
Text Popis produktu
Format_textu 0 Text, 1 HTML
Datum_aktualizace Datum poslední aktualizace záznamu
RowGUID Jedinečný a neměnitelný identifikátor produktu doporučený pro synchronizaci.

Produkt je primární klíč, jednoznačný identifikátor. Je textový a uživatelé jej mohou změnit. Pokud vám toto nevyhovuje, můžete místo něj raději používat pole RowGUID (typ GUID).

Obrazek, Obrazek_maly: textová pole, která mohou obsahovat URL obrázku. Můžete také zvolit jinou taktiku - například se obrázky budou jmenovat produkt.jpg (kde produkt je identifikátor produktu) a obchod si obrázky najde sám. Obrázky ukládejte do složek na disku, ne do databáze Varia (i když i toto je možné, viz karta Dokumenty v katalogu a databáze DOLE0001).

Text: rozšířené popisy produktu veďte ve Variu, ať máte vše na jednom místě. Pokud chcete využít HTML formátování, můžete - viz pole Format_textu.

Ostatní údaje, které nejsou v tabulce výše, naleznete v tabulce Katalog.

Ceník

Vario umožňuje definovat libovolný počet nákupních a prodejních ceníků. Pro výměnu s obchodem stačí určit, který ceník nebo ceníky obsahují ceny určené pro obchod. Ceník se ve Variu založí a nadefinuje (určí se název, nastaví se, zda obsahuje ceny s DPH nebo bez DPH). Potom se do něj vloží produkty a ceny (lze vypočítat). Ceny v ceníku mají platnost od-do. Dotaz pro získání cen je:

 

 

 


SELECT Produkt, Varianta, Mnozstvi_od, Cena, Cenik, Platnost_od, Platnost_do
FROM Cenik
WHERE (Cenik='Nazev ceníku') AND (Platnost_od<=Date()) AND (Platnost_do>=Date());

 

 

 

Pokud používáte různé ceny, můžete určit více ceníků. Například "Zákazníci", "VIP zákazníci", "Dealer". Potom získáte tři úrovně cen voláním výše uvedeného dotazu pro každý ceník zvlášť. Nebo můžete ceny počítat v obchodě ze základního ceníku aplikováním slevy.

Ceník může obsahovat jinou cenu stejného produktu za určité množství viz pole Mnozstvi_od.

Ceníku může obsahovat různé ceny pro určité varianty. Pokud je v poli Varianta hodnota '-', platí cena pro všechny varianty, které nemají uvedenou cenu za variantu.

Strom kategorií

Strom kategorií nadefinujete ve Variu v modulu Sklad. Kategorie jsou uloženy v tabulce Kategorie. Kategorie 1. úrovně získáte dotazem:

SELECT Kategorie.ID_kategorie, Kategorie.Kategorie, Kategorie.Poradi
FROM Kategorie
WHERE (((Kategorie.Nadrizena_kategorie)=0))
ORDER BY Kategorie.Poradi;

Kde

ID_kategorie je číslo, primární klíč kategorie,

Kategorie je popis, název a

Poradi je vám jasné.

Podřízené kategorie se získají dotazem:

SELECT Kategorie.ID_kategorie, Kategorie.Kategorie, Kategorie.Nadrizena_kategorie , Kategorie.Poradi
FROM Kategorie
WHERE (((Kategorie.Nadrizena_kategorie)=11))
ORDER BY Kategorie.Poradi;

kde 11 je ID_kategorie nadřízené kategorie.

Dále musíte zjistit, které produkty jsou zařazeny v které kategorii. Dotaz je snadný:

SELECT Kategorie_produkty.Produkt, Kategorie_produkty.ID_Kategorie
FROM Kategorie_produkty;

Produkt je samozřejmě identifikátor produktu z katalogu.

Pokud byste chtěli vybírat do obchodu jen produkty zařazené v kategoriích, můžete použít dotaz:

SELECT DISTINCTROW Katalog.*
FROM Katalog INNER JOIN Kategorie_produkty ON Katalog.Produkt = Kategorie_produkty.Produkt;

místo dotazu uvedeného v kapitole Katalog.

Varianty

Produkty se mohou vyskytovat ve variantách. Varianty mohou být určené jednoduchým číselníkem (Červená, Modrá, Zelená), nebo může existovat "alternativní" produkt v katalogu Variant (katalog umožňuje kromě varianty předdefinovat u produktu i ostatní parametry), nebo může existovat identifikátor sestavovaný výběrem z různých číselníků (strukturovaný klíč, možnost konfigurace produktu).

Pro základní potřeby stačí zjistit seznam Variant z tabulky Sklad, která obsahuje všechny Varianty, se kterými se obchoduje.

Odkazy

Tabulka Katalog_odkazy může obsahovat odkazy na web, obrázky a dokumentaci. Pole Typ_odkazu určuje, o jaký odkaz se jedná: 1 obrázek, 2 stránka, 3 dokument. Uživatelé mohou definovat další typy odkazů.

Související produkty

Tabulka Souvisejici_produkty obsahuje vazby mezi produkty. Pole Typ_souvislosti určuje typ souvislosti: 0 Příslušenství, 1 Alternativní produkt, 2 Nekompatibilní produkt, 3 Související produkt.

 


Sklad

Nejprve musíte určit, na kterém skladu se nacházejí produkty pro obchod. Stav skladu potom zjistíte dotazem:

SELECT Skladem - Blokovano AS K_dispozici
FROM Sklad
WHERE (Sklad.Produkt='IdentifikátorProduktu') AND (Kniha='NázevSkladu');

 


Objednávky (= zakázky)

Obchod vystaví objednávku. Vypočte správně cenu (použije cenu z ceníku, objednané množství a sazbu DPH z katalogu). Přidá položky za dopravu a podobně. Objednávku zapíšete přímo do Varia.

Nejprve určíte ve Variu knihu v agendě Zakázky, do které se budou zapisovat objednávky z webu. Kniha se bude jmenovat například Zakázky eShop. Uživatelům zrušíte oprávnění přidávat záznamy. Obchod by měl zajistit číslování objednávek jedinečnou číselnou řadou. Pokud to nezajišťuje, zajistíte to komunikačním programem. Číselná řada musí být taková, aby nemohlo dojít k duplicitnímu přidělení čísla s nějakou agendou dokladů ve Variu.

Například číslujte objednávky: WEB-2011-000001, WEB-2011-000002 atd.

Došlou objednávku zapište do databáze Data0001 do tabulky doklady takto:

 

Pole Příklad Popis Typ
Cislo_dokladu WEB-2011-0001 Číslo dokladu Text
Doklad Zakázka Zakázka Text
Typ_dokladu ZZ Zakázka: ZZ, nabídka ZN Text
Variabilni_symbol eObchod0055 Číslo objednávky, které si zadal uživatel Text
Kniha Zakázky eShop Kniha, do které doklad patří Text
Rok 2011 Účetní nebo hospodářský rok Integer
Text Vzkaz uživatele zkrácený na 255 znaků Text uvedený nad položkami faktury Text
Datum 8.1.2011 Datum vystavení/přijetí dokladu Date / Time
Zpusob_uhrady Dobírka Způsob úhrady dokladu (v hotovosti, převodem, zálohovou fakturou...) Text
PV 1 Příjem +1, Stornováno 0 Integer
Celkem_bez_DPH 1 000 Celková částka bez DPH Currency
Celkem_s_DPH 1 190 Celková částka s DPH Currency
Zaokrouhleni 0 Zaokrouhlení celkové částky Currency
Pozadovana_zaloha 0 Požadavek na platbu předem Currency
Celkem 1 190 Celková částka k úhradě (bez uhrazené zálohy), včetně DPH Currency
Celkem_bez_DPH_m 0 Celková částka bez DPH v sekundární měně (např EUR) Currency
Celkem_s_DPH_m 0 Celková částka s DPH v sekundární měně Currency
Zaokrouhleni_m 0 Zaokrouhlení celkové částky v sekundární měně Currency
Pozadovana_zaloha_m 0 Požadavek na platbu předem Currency
Celkem_m 0 Celková částka k úhradě (bez uhrazené zálohy), včetně DPH v sekundární měně Currency
Kurs 0 Kurs měny (jen pokud je vyplněno pole Mena) Currency
Mnozstvi_meny 1 Množství cizí měny ke kursu Long
Zaokrouhlovat_DPH 0,01 Řád zaokrouhlení součtu (0,1; 0,01) - nastavte v souladu s výpočtem v obchodu a knihou faktur Single
Zaokrouhlovat_soucet 0,1 Řád zaokrouhlení součtu (100; 10; 1; 0,1; 0,01) - nastavte v souladu s výpočtem v obchodu a knihou faktur Single
Urok 0,01 Úrok za den prodlení platby Single
Firma   Identifikátor firmy - jen pokud existuje v Adresáři Varia, zpravidla pouze pro B2B nebo registrované zákazníky Text
Nazev_firmy Nějaká s.r.o. Název firmy Text
Jmeno Václav První Titul, jméno a příjmení osoby Text
Adresa Václavské nám. 10 Adresa - ulice a číslo, PSČ Město, Stát Text
  110 00 Praha 1    
Adresa_sidlo   Adresa sídla (jen pokud se liší od adresy výše) Text
Adresa_zbozi_dorucit   Adresa doručení zboží (jen pokud se liší od adresy výše) Text
ICO 123456 Text
DIC CZ123456 DIČ Text
Telefon 123 456 789 Telefon Text
E_mail vasek@prvni.cz E-mail Text
Zobrazit Bez čísla Vše; Bez čísla; Bez DPH Text
Splatnost_dni 7 Počet dní splatnosti - jen pokud to je na fakturu, jinak neurčovat Integer
Doprava DPD Označení dopravce nebo způsobu přepravy Text
Dodat_najednou False Dodat zakázku pouze vcelku (False = 0, True = -1) Boolean
Poznamky ... zbytek textu pokud byl větší než 255 Poznámky dokladu Text
Datum_aktualizace 8.1.2011 14:05 Datum poslední aktualizace záznamu (=Now() při zápisu) Date / Time

Potom vyplňte položky objednávky:

 

Pole Příklad Popis Typ
Cislo_dokladu WEB-2011-0001 Identifikátor dokladu Text
Polozka_dokladu 1 Pořadí položky 1,2,3 atd. Integer
Popis Paměťová karta SD Popis položky Text
Cislo SD-KODAK-1234 Číslo položky (Katalogové číslo, Číslo dokladu) Text
Mnozstvi 2 Počet kusů nebo jiných jednotek Decimal
Mnozstvi_jednotek 2 Počet balení případně nadřazených jednotek Decimal
Jednotky Ks Jednotky (Kusy, Litry, Kilogramy, ...) Text
Cena_za_jednotku 500 Jednotková cena bez DPH Decimal
Cena_bez_DPH 1 000 Cena celkem bez DPH Currency
DPH_celkem 190 DPH celkem Currency
Cena_s_DPH 1 190 Cena celkem s DPH Currency
Cena_za_jednotku_m 0 Jednotková cena bez DPH v sekundární měně Decimal
Cena_bez_DPH_m 0 Cena celkem bez DPH v sekundární měně Currency
DPH_celkem_m 0 DPH celkem v sekundární měně Currency
Cena_s_DPH_m 0 Cena celkem s DPH v sekundární měně Currency
Sazba_DPH 20 Sazba DPH v procentech Currency
Sklad Hlavní sklad Název skladu (existující kniha) viz NázevSkladu Text
Produkt SDKOD1234 Identifikátor katalogové položky (spolu se skladem identifikátor skladové položky) Text
Stav koncept Stav položky nabývá hodnot: DODAT, Vydat, VYDÁNO, Fakturovat, FAKTUROVÁNO a OK Text
Datum_aktualizace 8.12.2005 14:05 Datum poslední aktualizace záznamu Date / Time

Případně přidat položku 2 atd.

Stav položky objednávky zjistíte dotazem:

SELECT Stav
FROM Polozky_dokladu
WHERE (Cislo_dokladu='WEB-2011-0001') // AND (Produkt='SDKOD1234')

 


Adresář

Firmy můžete číst z adresáře nebo přidávat do adresáře. Musíte si určit, jak zabráníte duplicitám při duplicitní registraci nebo pokud již od vás zákazník nakupoval. Obchody, kde nakupuje řada koncových zákazníků, asi nebudou Adresář používat.

Adresář tvoří tabulky Firmy a Bankovní spojení. Má následující strukturu (jsou uvedena jen pole, která bude vyplňovat obchod při vložení firmy do adresáře):

Firmy

Do tabulky Firmy se zapisují Firmy a Osoby (souhrnně kontakty). Typ kontaktu se rozlišuje poli Typ_kontaku a Typ_zaznamu a obsah některých dalších polí závisí na zvoleném typu.

 

Pole Popis Typ
Firma Jednoznačný identifikátor Text
Typ_kontaktu Typ kontaktu 'Organizace' nebo 'Osoba'  (nebo podle uživ. nastavení) Text
Typ_zaznamu Typ záznamu 'OR' Firma (Organizace), 'OS' Osoba Text
Kniha Identifikátor knihy - kniha určená pro záznamy z obchodu Text
Nazev_firmy Firma: Název firmy
Osoba: Celé jméno, např. 'Ing. Jan Novák'
Text
Adresa Korespondenční adresa (Ulice a číslo, PSČ Město, Stát), formátovná pro tisk Text
Ulice Adresa - ulice a číslo Text
PSC Adresa - PSČ Text
Mesto Adresa - město nebo obec Text
Okres Adresa - okres Text
Stat Adresa - stát Text
Region Region Text
Adresa_sidlo Adresa sídla - jen pro Firmy, pokud se liší od korespondenční adresy Text
Adresa_sidlo_na_doklad Vložit adresu sídla do dokladu (True) Boolean
Adresa_zbozi_dorucit Adresa doručení zboží - pokud se liší od korespondenční adresy Text
Adresa_zbozi_dorucit_na_doklad Vložit adresu doručení zboží do dokladu (True) Boolean
Telefon_1 Telefon Text
Telefon_2 Telefon Text
Fax_1 Fax Text
Fax_2 Fax Text
E_mail Adresa elektronické pošty Text
ICO IČ firmy Text
DIC DIČ firmy Text
Obchodni_rejstrik Společnost je zapsána v OR vedeným... Text
Referent Doporučujeme například 'Webový obchod' Text
Splatnost_faktur Splatnost faktur ve dnech - nastavit podle potřeby Integer
Urok Úrok z prodlení platby faktury - nastavit podle potřeby Single
Kredit Výše kreditu pro odběr zboží na fakturu - nastavit podle potřeby Currency
Cenik Ceny podle ceníku - nastavit podle potřeby Text
Doprava Označení dopravce nebo způsobu přepravy zboží - preferovaná doprava Text
Zpusob_uhrady Způsob úhrady dokladu  (v hotovosti, převodem, zálohovou fakturou...) - preferovaný způsob Text
Kategorie_cen Kategorie cen - nastavit podle potřeby Text
Nabizet_v_dokladech Zobrazovat adresu v seznamech pro výběr adresy - True Boolean
Sablona Zpravidla 'Výchozí' Text
Poznamky Poznámky Memo
ISO_zeme ISO kód země, zpravidla 'CZ' Text
Osloveni Jen pro Osoby - Oslovení osoby pro korespondenci, např. 'Vážený pane' Text
Osloveni_prijmeni Jen pro Osoby - Příjmení v 5. pádu pro oslovení např. 'Nováku' Text
Titul Jen pro Osoby - Titul osoby Text
Krestni Jen pro Osoby - Jméno osoby Text
Druhe_krestni Jen pro Osoby - Druhé jméno osoby Text
Prijmeni Jen pro Osoby - Příjmení  osoby Text
Za_prijmenim Jen pro Osoby - Vědecký titul (například CSc.) Text
Funkce Jen pro Osoby - Pracovní funkce Text
Zasilat Seznam kategorií pro zasílaní, např. 'NewsLetter;Akce;' Text
Odberatel True Boolean
Dodavatel False Boolean
Datum_aktualizace Now() Date / Time
RowGUID Jednoznačný, neměnný identifikátor Guid

Poznámky k adresám

Adresa: Korespondenční nebo také fakturační adresa. Na tuto adresu se zasílají doklady a korespondence. Je to hlavní adresa.

Adresa zboží doručit: vyplňuje se, jen pokud se zboží má zasílat jinam, než na korespondenční adresu. Adresa nemusí být nutně vyplněna, protože obchod jí zpravidla vyplňuje u jednotlivých objednávek (na doklad Zakázka).

Adresa sídlo: pouze pro firmy, pokud mají sídlo na jiné adrese než korespondenční.

Adresy je potřeba rozepsat na ulici, PSČ a město do samostatné tabulky Firmy_adresy.

Firmy_adresy

Obsahuje rozdělené údaje z polí Firmy.Adresa, Firmy.Adresa_sidlo a Firmy.Adresa_zbozi_dorucit. 

Pole Popis Typ
Kontakt Identifikátor firmy, musí být Firmy.Firma Text
Cislo_adresy Identifikátor záznamu (1, 2, 3,...) Integer
Nazev_adresy Název adresy 'Adresa', 'Adresa zboží doručit' nebo 'Adresa sídlo' Text
Adresa_rozpis Adresa (Ulice a číslo, PSČ Město, Stát) - celá adresa z tabulky Firmy Text
Ulice_rozpis Adresa - ulice a číslo - ulice z celé adresy Text
PSC_rozpis Adresa - PSČ Text
Mesto_rozpis Adresa - město nebo obec Text
Okres_rozpis Adresa - okres Text
Stat_rozpis Adresa - stát Text
RowGUID Jednoznačný, neměnný identifikátor Guid

 

Firmy_kontaktni_udaje

Kontaktní údaje zapsané do polí Firmy.Telefon_1, Firmy.Telefon_2, Firmy.Fax_1, Firmy.Fax_2, Firmy.E_mail je potřeba opsat do tabulky Firmy_kontaktni_udaje.

 

Pole Popis Typ
Kontakt Identifikátor firmy, musí být Firmy.Firma Text
Kontaktni_udaj Identifikátor záznamu (1, 2, 3,...) Integer
Typ_KU Musí být 'Telefon', 'EMail' nebo 'Fax' Text
Nazev_KU Název kontaktního údaje 'Telefon 1', 'Telefon 2', 'Fax 1', 'Fax 2', 'Email' Text
Hodnota_KU Hodnota Text
RowGUID Jednoznačný, neměnný identifikátor Guid

Bankovní spojení

Pokud chcete evidovat bankovní spojení, zapište čísla kont do samostatné tabulky Bankovni_spojeni.

 

Pole Popis Typ
Firma Identifikátor firmy Text
Banka Název banky Text
Cislo_uctu Číslo účtu banky Text
Kod_banky Kód banky Text
Datum_aktualizace Datum poslední aktualizace záznamu Date / Time
RowGUID   GUID

 


Ostatní

Pro synchronizaci dat s obchodem můžete využít pole Datum_aktualizace z Varia. Můžete pomocí něj zjistit, které záznamy se ve Variu změnily a je potřeba odeslat je do obchodu. Toto pole se však aktualizuje, jen pokud záznam upraví uživatel prostřednictvím detailu ve Variu. Jistější metodou je ukládat si v obchodu kontrolní součet záznamu a porovnávat jej s kontrolním součtem aktuálním. U jednoduchých tabulek jako je ceník, stačí samozřejmě porovnat cenu, zjistit, které záznamy přibyly, které ubyly a podle toho se zařídit.

Dobrá rada na závěr

Před tím, než začnete programovat, musíte mít ujasněnou obchodní logiku. Musíte vytvořit ve Variu katalogy a ceníky a mít jednoznačně určeny obchodní procesy. Ujasněte si:

Katalog a ceny

Jak budeme organizovat produkty? Jaké katalogy použijeme, jak se budou jmenovat? Jaké stromové kategorie? Kolik ceníků budeme mít? Jak se určí cena, budeme poskytovat slevy, jaké budou podmínky? Jak aktualizovat ceníky? Jak budeme přidávat produkty? Jaký bude postup vyřazení produktu z nabídky? Kam dáme obrázky?

Sklady

Kolik skladů a kde budeme mít? Jak se budou jmenovat? Budeme poskytovat informace o stavu skladu? 

Objednávky

Jak budeme vyřizovat objednávky? Kam je budeme zapisovat (kniha zakázek)? Jaká bude číselná řada? Jak zjistíme, že přišla objednávka, jak jí potvrdíme? Jak zjistíme stav plnění? Budeme požadovat zálohy? Jak vystavíme zálohy do Varia a spárujeme je se zakázkou? Jak zajistíme výdej ze skladu? Kdy budeme fakturovat, kdy vyskladňovat?

Tyto procesy si otestujte ve Variu dříve, než se pustíte do programování. Uvědomte si, že jediné, co udělá obchod je, že vám zapíše objednávku do zakázek Varia. To si můžete snadno nasimulovat tím, že jí vystavíte sami. Pro otestování jejího vyřízení obchod nepotřebujete.

Konfrontujte strukturu dat Varia se strukturou obchodu

Máte ve Variu všechny hodnoty, které vyžaduje obchod? Obsahuje obchod údaje, které se mají vrátit do Varia (identifikátory Produkt, Firma)? Odpovídá typ dat a velikost polí tomu, co máme ve Variu?

Ujasněte si možnosti výměny dat

Budete vyžadovat jednosměrnou nebo obousměrnou komunikaci? Máte stálé připojení k internetu? Jaké rozhraní má obchod? Jakou platformu můžete použít? Podporuje MS SQL (případně MS Access)?