Propojení Altus Vario s internetovým obchodem
Tento článek popisuje, jak propojit internetový obchod se systémem Altus VARIO. Zaměřuje se na popis datové struktury potřebný pro výměnu dat mezi obchodem a Variem.
Existují hotová řešení, jejich přehled naleznete v sekci Řešení e-obchody.
Internetový obchod a Altus VARIO
Altus VARIO je základním nástrojem pro řízení obchodních agend. S prodejem v internetovém obchodě přímo souvisí tyto části:
- katalog zboží, ceníky a sklady,
- knihy došlých objednávek (dále také 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.
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:
- 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í).
- 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". Na 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í.
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. My například preferujeme výměnu 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ží na jen 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ě.
Poznámka: pokud nevíte, co je DMZ, nejste kvalifikováni tvořit program pro oboustrannou výměnu. Můžete samozřejmě volit i jiný způsob, ale opět: je potřeba mít dostatečné znalosti se zabezpečením. U jednostranné výměny, pokud jí realizujete odesíláním dat přes HTTP, v podstatě nebezpečí na straně firemní sítě nehrozí. Obchod musí být zabezpečen v obou případech.
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.
Obchodní procesy
Předpokládáme následující rozdělení rolí:
- 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.
- V obchodě vznikají objednávky.
- Adresář - zákazníci, mohou vznikat 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 vždy 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, to co nakupuje. 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 určit jednu nebo více knih jako knihy, které budou obsahovat produkty určené pro internetový obchod. Produkty, které se nemají objevit v obchodu, přesunete do jiného katalogu nebo označíte Nabízet v dokladech.
Další možností, která stojí za zvážením, je prohlásit, že do obchodu se budou předávat jen produkty zařazené ve stromových kategoriích. Tato možnost je v kapitole Kategorie uvedené níže.
Výběr záznamů z katalogu pak zajistíte dotazem (nad databází Data0001 viz výše):
SELECT Katalog.*
FROM Katalog
WHERE (((Katalog.Kniha)="NázevKatalogu") AND ((Katalog.Nabizet_v_dokladech)=True));
Budete pravděpodobně chtít tato pole:
Pole |
Titulek |
Popis |
Produkt |
|
Identifikátor položky katalogu, text |
Popis |
|
Název zboží/výrobku/služby |
Katalogove_cislo |
Katalogové číslo |
Katalogové číslo položky |
Carovy_kod |
Čárový kód |
Čárový kód výrobce |
Vyrobce |
Výrobce |
Výrobce produktu |
Zeme_puvodu |
Země původu |
ISO kód země původu |
Jednotky |
|
Jednotky (Kusy, Litry, Kilogramy, ...) |
Zakladni_jednotka |
Základní jednotka |
Základní měrná jednotka (Litr, Kilogram, ...) |
Mnozstvi_zakladnich_jednotek |
Množství základních jednotek |
Množství základních jednotek v jednotce produktu |
Druh_baleni |
Druh balení |
Druh balení nebo počet kusů v balení |
Hmotnost |
|
Hmotnost zboží/výrobku (pro určení způsobu dopravy) |
Sazba_DPH |
Sazba DPH |
Sazba DPH v procentech |
Datum_uvedeni |
Datum uvedení |
Datum uvedení produktu na trh (novinka) |
Zaruka |
Záruka |
Záruční doba v měsících |
Internet |
|
Adresa stránky produktu na internetu |
Obrazek |
Obrázek |
Velký obrázek produktu |
Obrazek_maly |
Obrázek malý |
Náhledový obrázek produktu |
Text |
|
Popis produktu |
Format_textu |
Formát textu |
0 Text, 1 HTML |
Datum_aktualizace |
Datum aktualizace |
Datum poslední aktualizace záznamu |
ZXID_katalog |
|
ID záznamu pro potřeby zákaznických externích aplikací |
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 použít pole ZXID_katalog. Toto pole je číslo a musíte si jej sami naplnit. Vario jej nepoužívá, ale může jej používat externí aplikace.
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. Například výška, šířka, úhlopříčka. Musíte si rozmyslet kam tyto údaje uložit. Vario pro ně nabízí uživatelská pole Údaj 1, Údaj 2, Počet 1, Počet 2. Můžete například uložit více dat do textového pole Údaj 1 a oddělit je středníky. Program pro výměnu je potom rozdělí a odešle strukturovaně. Pro strukturování dat lze využít doplňky pro pohodlné zadávání nebo vlastní tabulky (viz SDK).
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). Dotaz pro získání cen je:
SELECT Cenik.Produkt, Cenik.Cena
FROM Cenik
WHERE (((Cenik.Cenik)="NazevCeniku"));
Pokud používáte různé ceny, můžete určit více ceníků. Například "Zákazník", "Registrovaný zákazník", "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.
Často má obchod cenu uvedenou přímo v tabulce zboží. Potom si budete zřejmě muset nejprve načíst do nějaké dočasné tabulky nebo do paměti katalog a doplnit ceny. Nebo udělat dotaz, který spojí (JOIN) katalog a ceník.
Poznámka: Vario dále umožňuje určit ceník pro konkrétního zákazníka a definovat slevy. Pokud chcete tyto údaje využívat v obchodu najdete pole Cenik v tabulce Firmy a slev v tabulkách Slevy a Slevy_sazby.
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.
Sklad
Nejprve musíte určit, na kterém skladu se nacházejí produkty pro obchod. Stav skladu potom zjistíte dotazem:
SELECT Sklad.Skladem
FROM Sklad
WHERE (((Sklad.Produkt)="IdentifikátorProduktu") AND ((Sklad.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-2005-000001, WEB-2005-000002 atd.
Došlou objednávku zapište do databáze Data0001 do tabulky doklady takto:
Pole |
Příklad |
Popis |
Typ |
Velikost |
Cislo_dokladu |
WEB-2005-0001 |
Číslo dokladu |
Text |
30 |
Doklad |
Zakázka |
Název dokladu (Faktura, Zálohová faktura, Pokladní doklad, Výpis k účtu, ...) |
Text |
30 |
Typ_dokladu |
ZZ |
faktury: FV, FP, ZP, ZV; dobropisy: DV, DP; banka: BP, BV; pokladna: PP, PV; sklad: SP, SV, SI; JCD: JC; Interní: ID; Zakázky: ZZ, ZN, ZO |
Text |
2 |
Variabilni_symbol |
eObchod0055 |
Číslo objednávky, které si zadal uživatel. |
Text |
30 |
Kniha |
Zakázky eShop |
Kniha, do které doklad patří |
Text |
30 |
Rok |
2005 |
Účetní nebo hospodářský rok |
Integer |
2 |
Text |
Vzkaz uživatele zkrácený na 255 znaků |
Text uvedený nad položkami faktury |
Text |
255 |
Datum |
8.12.2005 |
Datum vystavení/přijetí dokladu |
Date / Time |
8 |
Zpusob_uhrady |
Dobírka |
Způsob úhrady dokladu (v hotovosti, převodem, zálohovou fakturou...) |
Text |
30 |
PV |
1 |
Příjem +1, Výdej -1, Stornováno 0 |
Integer |
2 |
Celkem_bez_DPH |
1 000 |
Celková částka bez DPH |
Currency |
8 |
Celkem_s_DPH |
1 190 |
Celková částka s DPH |
Currency |
8 |
Zaokrouhleni |
0 |
Zaokrouhlení celkové částky |
Currency |
8 |
Pozadovana_zaloha |
0 |
Požadavek na platbu předem |
Currency |
8 |
Celkem |
1 190 |
Celková částka k úhradě (bez uhrazené zálohy), včetně DPH |
Currency |
8 |
Celkem_bez_DPH_m |
1 000 |
Celková částka bez DPH v sekundární měně |
Currency |
8 |
Celkem_s_DPH_m |
1 190 |
Celková částka s DPH v sekundární měně |
Currency |
8 |
Zaokrouhleni_m |
0 |
Zaokrouhlení celkové částky v sekundární měně |
Currency |
8 |
Pozadovana_zaloha_m |
0 |
Požadavek na platbu předem |
Currency |
8 |
Celkem_m |
1 190 |
Celková částka k úhradě (bez uhrazené zálohy), včetně DPH v sekundární měně |
Currency |
8 |
Kurs |
1 |
Kurs měny |
Single |
4 |
Mnozstvi_meny |
1 |
Množství cizí měny ke kursu |
Long |
4 |
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 |
4 |
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 |
4 |
Urok |
0,01 |
Úrok za den prodlení platby |
Single |
4 |
Firma |
|
Identifikátor firmy - jen pokud exituje v Adresáři Varia, zpravidla pouze pro B2B nebo registrované zákazníky |
Text |
30 |
Nazev_firmy |
Nějaká s.r.o. |
Název firmy |
Text |
100 |
Jmeno |
Václav První |
Titul, jméno a příjmení osoby |
Text |
60 |
Adresa |
Václavské nám. 10 110 00 Praha 1 |
Adresa - ulice a číslo, PSČ Město, Stát |
Text |
200 |
Adresa_sidlo |
|
Adresa sídla (jen pokud se liší od adresy výše) |
Text |
200 |
Adresa_zbozi_dorucit |
|
Adresa doručení zboží (jen pokud se liší od adresy výše) |
Text |
200 |
ICO |
123456 |
IČO |
Text |
20 |
DIC |
CZ123456 |
DIČ |
Text |
20 |
Telefon |
123 456 789 |
Telefon |
Text |
40 |
E_mail |
vasek@pxxxx.xxx |
|
Text |
50 |
Zobrazit |
Bez čísla |
Vše; Bez čísla; Bez DPH - dle potřeby viz karta Položky v zakázkách |
Text |
20 |
Splatnost_dni |
7 |
Počet dní splatnosti - je pokud to je na fakturu, jinak neurčovat |
Integer |
2 |
Doprava |
DPD |
Označení dopravce nebo způsobu přepravy |
Text |
30 |
Dodat_najednou |
False |
Dodat zakázku pouze vcelku (False = 0, True = -1) |
Boolean |
1 |
Poznamky |
... zbytek textu pokud byl větší než 255 |
Poznámky dokladu |
Text |
255 |
Datum_aktualizace |
8.12.2005 14:05:55 |
Datum poslední aktualizace záznamu (=Now() při zápisu) |
Date / Time |
8 |
Potom vyplňte položky objednávky:
Pole |
Příklad |
Popis |
Typ |
Velikost |
Cislo_dokladu |
WEB-2005-0001 |
Identifikátor dokladu |
Text |
30 |
Polozka_dokladu |
1 |
Identifikátor záznamu 1,2,3 atd. |
Integer |
2 |
Popis |
Paměťová karta CF |
Popis položky |
Text |
125 |
Cislo |
CF-KODAK-1234 |
Číslo položky (Katalogové číslo, Číslo dokladu) |
Text |
30 |
Mnozstvi |
2 |
Počet kusů nebo jiných jednotek |
Double |
8 |
Jednotky |
Ks |
Jednotky (Kusy, Litry, Kilogramy, ...) |
Text |
10 |
Cena_za_jednotku |
500 |
Jednotková cena bez DPH |
Currency |
8 |
Cena_bez_DPH |
1 000 |
Cena celkem bez DPH |
Currency |
8 |
DPH_celkem |
190 |
DPH celkem |
Currency |
8 |
Cena_s_DPH |
1 190 |
Cena celkem s DPH |
Currency |
8 |
Cena_za_jednotku_m |
500 |
Jednotková cena bez DPH v sekundární měně |
Currency |
8 |
Cena_bez_DPH_m |
1 000 |
Cena celkem bez DPH v sekundární měně |
Currency |
8 |
DPH_celkem_m |
190 |
DPH celkem v sekundární měně |
Currency |
8 |
Cena_s_DPH_m |
1 190 |
Cena celkem s DPH v sekundární měně |
Currency |
8 |
Sazba_DPH |
19 |
Sazba DPH v procentech |
Single |
4 |
Sklad |
Hlavní sklad |
Název skladu (existující kniha) viz NázevSkladu |
Text |
30 |
Produkt |
CFKOD1234 |
Identifikátor katalogové položky (spolu se skladem identifikátor skladové položky) |
Text |
30 |
Stav |
Dodat |
Stav položky nabývá hodnot: Dodat, Vydat, Vydáno, Fakturovat, OK |
Text |
20 |
Datum_aktualizace |
8.12.2005 14:05:56 |
Datum poslední aktualizace záznamu |
Date / Time |
8 |
Případně přidat položku 2 atd.
Stav položky objednávky zjistíte dotazem:
SELECT Polozky_dokladu.Stav
FROM Polozky_dokladu
WHERE (((Polozky_dokladu.Cislo_dokladu)="WEB-2005-0001") AND ((Polozky_dokladu.Produkt)="CFKOD1234"));
nebo
SELECT Polozky_dokladu.Stav
FROM Polozky_dokladu
WHERE (((Polozky_dokladu.Cislo_dokladu)="WEB-2005-0001") AND ((Polozky_dokladu.Polozka_dokladu)=1));
Podle toho jestli obchod pracuje s položkou podle pořadí nebo produktu.
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 nebude potřeba Adresář používat.
Adresář tvoří tři tabulky Firmy, Osoby a Bankovní skupiny. Má následující strukturu (jsou uvedena jen pole zajímavá pro obchod):
Firmy
Pole |
Popis |
Typ |
Velikost |
Firma |
Jednoznačný identifikátor |
Text |
30 |
Kniha |
Identifikátor knihy - adresáře |
Text |
30 |
Nazev_firmy |
Název firmy |
Text |
100 |
Adresa |
Adresa (Ulice a číslo, PSČ Město, Stát) |
Text |
200 |
Ulice |
Adresa - ulice a číslo |
Text |
50 |
PSC |
Adresa - PSČ |
Text |
10 |
Mesto |
Adresa - město nebo obec |
Text |
50 |
Okres |
Adresa - okres |
Text |
30 |
Stat |
Adresa - stát |
Text |
30 |
Adresa_sidlo |
Adresa sídla |
Text |
200 |
Adresa_zbozi_dorucit |
Adresa doručení zboží |
Text |
200 |
Telefon_1 |
Telefon |
Text |
40 |
Telefon_2 |
Telefon |
Text |
40 |
Fax_1 |
Fax |
Text |
40 |
Fax_2 |
Fax |
Text |
40 |
E_mail |
Adresa elektronické pošty |
Text |
50 |
Internet |
Adresa stránky na Internetu |
Text |
50 |
ICO |
IČO firmy |
Text |
20 |
DIC |
DIČ firmy |
Text |
20 |
Obchodni_rejstrik |
Společnost je zapsána v OR vedeným... |
Text |
100 |
Splatnost_faktur |
Splatnost faktur ve dnech |
Integer |
2 |
Urok |
Úrok z prodlení platby faktury |
Single |
4 |
Kredit |
Výše kreditu pro odběr zboží na fakturu |
Currency |
8 |
Sleva |
Název slevy nebo discount v procentech (+ sleva z katalogové prod. ceny, - přirážka ke katalogové prod. ceně) |
Text |
30 |
Cenik |
Ceny podle ceníku |
Text |
30 |
Doprava |
Označení dopravce nebo způsobu přepravy zboží |
Text |
30 |
Vzdalenost |
Vzdálenost firmy pro určení dopravních nákladů a pod. |
Integer |
2 |
Zpusob_uhrady |
Způsob úhrady dokladu (v hotovosti, převodem, zálohovou fakturou...) |
Text |
30 |
Datum_aktualizace |
Datum poslední aktualizace záznamu |
Date / Time |
8 |
ZXID_firma |
ID záznamu pro potřeby zákaznických externích aplikací |
Long |
4 |
Osoby
Pole |
Popis |
Typ |
Velikost |
Firma |
Identifikátor firmy |
Text |
30 |
Osoba |
Jednoznačný identifikátor (1,2,3,...) |
Long |
4 |
Jmeno |
Titul Jméno Příjmení, Za příjmením |
Text |
60 |
Osloveni |
Oslovení osoby pro korespondenci |
Text |
30 |
Titul |
Titul osoby |
Text |
20 |
Krestni |
Jméno osoby |
Text |
30 |
Druhe_krestni |
Druhé jméno osoby |
Text |
30 |
Prijmeni |
Příjmení osoby |
Text |
30 |
Za_prijmenim |
Vědecký titul (například CSc.) |
Text |
20 |
Telefon |
Telefon |
Text |
40 |
Mobil |
Mobilní telefon |
Text |
40 |
Fax |
Fax |
Text |
40 |
E_mail_osoby |
Adresa elektronické pošty |
Text |
50 |
Datum_aktualizace |
Datum poslední aktualizace záznamu |
Date / Time |
8 |
Prihlasovaci_jmeno |
Přihlašovací jméno (k internetovému portálu) |
Text |
20 |
Heslo |
Zašifrované heslo |
Text |
20 |
Bankovní spojení
Pole |
Popis |
Typ |
Velikost |
Firma |
Identifikátor firmy |
Text |
30 |
Bankovni_spojeni |
Identifikátor záznamu (1,2,3,...) |
Long |
4 |
Banka |
Název banky |
Text |
50 |
Cislo_uctu |
Číslo účtu banky |
Text |
20 |
Kod_banky |
Kód banky |
Text |
4 |
SWIFT |
BIC - identifikátor banky |
Text |
20 |
IBAN |
International Bank AccountNumber |
Text |
34 |
Datum_aktualizace |
Datum poslední aktualizace záznamu |
Date / Time |
8 |
K čemu a jak využijte adresář, již necháváme na vás. Pokud zvládnete katalog a objednávky, bude vám jasné, jak se pracuje s adresářem.
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? Jak označíme produkty na hlavní stránku nebo akci?
Sklady
Kolik skladů a kde budeme mít? Jak se budou jmenovat? Budeme poskytovat informace o stavu skladu?
Objednávky
Jak bude 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.
Konfrontujete strukturu dat Varia se strukturou obchodu
Mám 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
Budeme vyžadovat jednosměrnou nebo obousměrnou komunikaci? Máme stálé připojení k internetu? Jaké rozhraní má obchod? Jakou platformu můžeme použít? Podporuje MS SQL (případně MS Access)?