Vyčítání dat se realizuje pomocí připravených datových pohledů. Od správce systému obdržíte přihlašovací údaje na server (IP adresa, port, sqluživatel, sqlheslo, název agendy).
Způsob připojení záleží na použité technologii. Pro připojení pomocí PHP lze využít příkaz sqlsrv_connect.
<?php
//format: serverName\instanceName, portNumber (default is 1433)
$serverName = "localhost";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"myUserName", "PWD"=>"myPassword", "CharacterSet" => "UTF-8");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn ) {
echo "Got a connection!<br />";
}else{
echo "Connection could not be established.<br />";
die( print_r( sqlsrv_errors(), true));
}
?>
Pro připojení, kontrolu a práci se lze připojit i běžnými dostupnými administrátorskými nástroji jako je například Miscrosoft SQL Server Management Studio.
Adresa je zadána ve tvaru IP adresa potom , (čárka) a port.
Systém Money se skládá ze tří databází (Sx je dle verze S4 nebo S5):
Sx_Agenda_Firma – databáze pro ukládání dat konkrétní firmy (faktury, adresář, objednávky, sklady, účetnictví, atd.), tyto data jsou formována do připravených pohledů s prefixem CSW_EObchod. Eshop dostane k dispozici ke čtení tyto pohledy a jednu importní tabulku System_XmlExchangeImport pro zápis.
Sx_Agenda_Firma_Doc – databáze pro ukládání pouze příloh (obrázky, dokumenty, pdf faktury). Eshopu je nabídnut jeden pohled CSW_EObchod_Dokument na všechny přílohy.
Sx_System_Firma – databáze, kde jsou uloženy společné záznamy, tiskové sestavy, uživatelé, role, akce atd. Tato db není pro eshop dostupná.
Po úspěšném připojení je k dispozici tento výčet pohledů.
Pohledy obsahují mimo jiné sloupce jako ID, Parent_ID, Create_Date a Modify_Date a další párovací Artikl_ID, Sklad_ID, Cenik_ID, atd. dle kterých je možné párovat vzájemné pohledy.
Důležité jsou prvotní čtyři pohledy s prefixem CSW_EObchod_Obchod ve kterých se nachází nastavení pro eshop. Po prvotním vyčtení informací je potřeba se orienovat zejména na pohled CSW_EObchod_ObchodArtikl, který definuje jaké položky jsou v jakém eshopu. Pouze tyto Artikly mají být přenášeny a vyčítány na konkrétní eshop. Ostatní pohledy jsou plné, tedy obsahují všechny data ze systému a z těchto dat se již jen vybírají potřebné přidružené informace.
CSW_EObchod_Obchod – eviduje informace o všech založených eshopech. Tento pohled je důležitý pro získání ID obchodu, dle kterého se budou filtrovat přiřazené položky. Taktéž identifikuje HlavniSklad_ID a HlavniCenik_ID. Tyto se spojí s CSW_EObchod_ObchodSklad.ID kde je hodnota Sklad_ID=CSW_EObchod_Sklad.ID nebo CSW_EObchod_ObchodCenik.ID kde je hodnota Cenik_ID=CSW_EObchod_Cenik.ID. Sklad_ID nebo jeho CSW_EObchod_Sklad.Kod se posílá například v xml jako výchozí hodnota pro položky objednávek přijatých.
CSW_EObchod_ObchodArtikl – seznam přiřazených katalogových (artiklových) položek k jednotlivých eshopům. Parent_ID představuje CSW_EObchod_Obchod.ID obchodu. Pouze tyto položky Artikl_ID jsu nabízené/přiřazené k eshopu.
CSW_EObchod_ObchodCenik – seznam přiřazených ceníků pro konkrétní eshop. Parent_ID představuje CSW_EObchod_Obchod.ID obchodu. Ceník_ID definuje konkrétní přiřazené ceníky k eshopu. Vazba na seznam ceníků je enik_ID=CSW_EObchod_Cenik.ID, tam je jeho kód, nazev, platnost, aktivní/neaktivní.
CSW_EObchod_ObchodSklad – seznam přiřazených skladů pro konkrétní eshop. Parent_ID představuje CSW_EObchod_Obchod.ID obchodu. Sklad_ID definuje konkrétní sklady k eshopu. Vazba na seznam skladů je Sklad_ID=CSW_EObchod_Sklad.ID, tak je jeho kód a název.
CSW_EObchod_Artikl – seznam všech katalogových karet a jejich základních informací (název, katalogové číslo, čárový kód, jednotka, záruka, vlastní hmotnost, hlavní obrázek, atd.).
Join prvek je CSW_EObchod_Artikl.ID = CSW_EObchod_ObchodArtikl.Artikl_ID nebo jakékoliv jiné Artikl_ID z jiných pohledů případně Parent_ID z podřízených pohledů. Podřízené pohledy jsou se stejným názvem a určitou příponou CSW_EObchod_ArtiklDPH nebo CSW_EObchod_ArtiklKategorie. Pole Htmlpopis je ze starého modulu Eshop konektor a již nebude používán. Náhrada html popisů jsou v pohledech CSW_EObchodPlus_ArtiklMutacePopisu.
Položky Sada a Komplet lze identifikovat dle pole CSW_EObchod_Artikl.TypArtiklu (0 – jednoduchá karta, 1- služba, 2 – sada, 3 – komplet, 4 – výrobek). Položky typu Sada/Komplet/Vyrobek mohou mít složení z jiných katalogovýh karet. Složení naleznete v pohledu CSW_EObchod_Artikl.CSW_EObchod_ArtiklSlozeni. Z pohledu běžného eshopu není nutné vyčítat, stačí zaslat v xml informací GENERATESUBITEMS a program si případně sám doplní.
Variantní položky katalogu jsou v Money evidovány jako jiné katalogové karty s vlastním ID a obvykle mají první část textu a katalogového čísla stejné a liší se pouze dovětkem, které uznačují onu variantu/parametr. Identifikace takových položek je možné pomocí sloupce CSW_EObchod_Artikl.NadrazenyArtikl_ID. Pokud je toto pole prázdné, tak je to samostatná položka nebo hlavní variantní položka. Pokud je pole vyplněno, tak značí CSW_EObchod_Artikl.ID jiné katalogové karty tzv. Hlavní variantní položka. Každá variantní položka má svoji vlastní skladovou zásobu a ceníkovou kartu.
Parametry katalogových položek jsou specifickou součástí katalogových karet. Parametry mohou být Variantní (generují dle parametru variantní katalogové položky = mají Nadřazenou položku) a Nevariantní (je to jen evidenční prvek/hodnota = nemají Nadřazenou položku). U eshopů mohou být přítomny obě varianty. Pro pochopení spojení jednotlivých pohledů přikládáme zjednodušený select, který je možné využít pro kombinaci na Variantní položky. Není nutné plné spojení na všechny pohledy, záleží dle jaké informace bude zákazníkovi na eshopu nabízena varianta. Pole CSW_EObchod_ArtiklParametr.TextovaHodnota již může být dostatečná informace.
SELECT
artikl.ID
,artikl.Nazev
,artikl.Katalog
,artparametr.TextovaHodnota
,parametr.Kod as ParametrKod
,parametr.Nazev ParametrNazev
,hodnota.Kod as HodnotaKod
,hodnota.Nazev as HodnotaNazev
,nadrazena.Nazev as NadrazenaNazev
,nadrazena.Katalog as NadrazenaKatalog
,nadrazena.ID as NadrazenaArtikl_ID
FROM [dbo].[CSW_EObchod_ArtiklParametr] as artparametr
LEFT JOIN [dbo].[CSW_EObchod_Artikl] as artikl on artikl.ID=artparametr.Parent_ID
LEFT JOIN [dbo].[CSW_EObchod_Parametr] as parametr on parametr.ID=artparametr.Parametr_ID
LEFT JOIN [dbo].[CSW_EObchod_HodnotaParametru] as hodnota on hodnota.ID=artparametr.Hodnota_ID
LEFT JOIN [dbo].[CSW_EObchod_Artikl] as nadrazena on nadrazena.ID=artikl.NadrazenyArtikl_ID
WHERE nadrazena.ID IS NOT NULL
CSW_EObchod_ArtiklDPH – představuje seznam sazeb DPH pro jednotlivé katalogové karty. V seznamu se lze přes Parent_ID napárovat na konkrétní katalogovou kartu a potom číst údaje KodStatu, TypSazbyVystupu, Sazba, Platnost od a Platnost do. Vhodné zejména pro potřeby OneStopShop a vyčítání sazeb DPH pro jednotlivé položky a státy.
CSW_EObchod_Objednavka – představuje seznam objednávek evidovaných v systému. Pohled obsahuje mimo jiné i ID dokladu, číslo dokladu, variabilní symbol, stav dokladu a také pole Vyrizena (0/1, 1 je vyřízena), které říká, jestli je doklad vyřízený a již se nebude dále zpracovávat. Taktéž je možné vyčíst workflow Stavu dokladu (pole WorkflowStav_ID, WorkflowStav_Kod, WorkflowStav_Nazev) – tyto hodnoty je také možné číst z obecného pohledu CSW_EObchod_StavDokladu.
CSW_EObchod_StavDokladu – pohled zobrazuje stavy všech dokladů v systému (aktuálně 1.9.2020 Objednávky přijaté, Reklamační doklady, Servisní doklady).
CSW_EObchod_Cenik – pohled s výpisem všech ceníků. Pohled může sloužit k ídentifikaci dle pole Kod nebo Nazev. ID toho záznamu je párovací pole pro Cenik_ID z jiných pohledů, případně TypCeniku_ID do pohledu CSW_EObchod_TypCeniku. Podobná logika je například i u pohledů Mena, Sklad, Stredisko, Zakazka, atd.
CSW_EObchod_Zakaznik – pohled nabízí výpis všech firem (adresních karet) v systému. Dle ID lze párovat objednávky s konkrétní firmou. U firem evidujeme 3 adresy – Obchodní (dle Aresu), Fakturační (tam kam se posílají faktury) a Provozovnu (sklad, prodejna).
CSW_EObchod_PolozkaCeniku – představuje seznam všech ceníkových karet v systému. Tento seznam musí být filtrován jen na položky Artikl_ID, které jsou určeny pro daný eshop (CSW_EObchod_ObchodArtikl) a pouze Ceniky_ID také přiřazené pro tento eshop (CSW_EObchod_ObchodCenik). Pole TypCeny vyjadřuje v jakém tvaru je zapsána cena v poli Cena (0 bez DPH, 1 s DPH). Pro aktualizaci menšího množství dat, lze využít pole Modify_Date, které vyjadřuje čas poslední operace s karty (operace nemusí znamenat změnu cenu).
CSW_EObchod_Zasoba – představuje seznam všech skladových zásob v systému. Tento seznam musí být filtrován jen na položky Artikl_ID, které jsou určeny pro daný eshop (CSW_EObchod_ObchodArtikl) a pouze Sklad_ID také přiřazený pro tento eshop (CSW_EObchod_ObchodSklad). Pohled obsahuje pole ZustatekMnozstvi, Objednano, Rezervovano, PredpokladaneMnozstvi a DostupneMnozstvi. Pro potřeby eshopu se obvykle využívá hodnota DostupneMnozstvi, která zobrazuje hodnotu volného/nerezervovaného množství. Pro aktualizaci menšího množství dat, lze využít pole Modify_Date, které vyjadřuje čas poslední operace s kartou (operace nemusí znamenat změnu stavu).
CSW_EObchodPlus_Artikl – obsahuje informace z katalogové karty ze záložky E-shop, které nepodléhají jazykové mutaci. Pole Parent_ID i Root_ID je CSW_EObchod_Artikl.ID nebo CSW_EObchod_ObchodArtikl.Artikl_ID. Pokud není položka přítomna v tomto seznamu, tak nemá doplněné údaje na této záložce, ale samotná karta může být zařazena pro eshop. Primárně se tedy má vycházet z pohledů CSW_EObchod_ObchodArtikl, k tomu přiřadit informace z CSW_EObchod_Artikl a až k tomu dodat další informace z tohoto rozšířeného pohledu. Pohled obsahuje také informace o Stavu a Dostupnosti (vždy Kod, Nazev, StavProduktu_ID, DostupnostProduktuJeNaSklade_ID a DostupnostProduktuNeniNaSklade_ID).
CSW_EObchodPlus_ArtiklSouvisejici,
CSW_EObchodPlus_ArtiklCrossSell,
CSW_EObchodPlus_ArtiklDarek,
CSW_EObchodPlus_ArtiklDoplnkovaSluzba – pohledy představují seznamy navázaných katalogových karet. Například CSW_EObchodPlus_ArtiklDoplnkovaSluzba.Parent_ID je propojení na CSW_EObchodPlus_Artikl.ID a tam je dostupný sloupec Parent_ID, který je ID katalogu neboli Artikl_ID.
CSW_EObchodPlus_ArtiklDoplnkovaSluzba.Root_ID=CSW_EObchod_Artikl.ID a tyto údaje říkají na jaké katalogové kartě je evidována doplňková služba. Sloupec Artikl_ID říká, jaká doplňková katalogová karta je vázaná k této kartě.
CSW_EObchod_ArtiklAlternativa – pohled představuje seznam navázaných katalogových karet. Například CSW_EObchod_ArtiklAlternativa.Parent_ID=CSW_EObchodPlus_Artikl.ID a říká, že tento artikl má přiřazenou alternativu jinou katalogovou kartu, která je CSW_EObchod_ArtiklAlternativa.Artikl_ID=CSW_EObchodPlus_Artikl.ID. Pole TypAlternativy (0 – Alternativa, 1 – Náhrada, 2 – Doplněk).
CSW_EObchod_ArtiklPrislusenstvi – pohled představuje seznam navázaných katalogových karet. Například CSW_EObchod_ArtiklPrislusenstvi.Parent_ID (nebo Celek_ID)=CSW_EObchodPlus_Artikl.ID a říká, že tento artikl má přiřazené příslušenství jinou katalogovou kartu, která je CSW_EObchod_ArtiklPrislusenstvi.Prvek_ID=CSW_EObchodPlus_Artikl.ID. Příslušenství je možné v rámci Money chápat i v rozšířeném kontextu, že například auto má příslušenství 4 kola, tedy lze využít pole PocetCelek na PocetPrvek.
CSW_EObchodPlus_ArtiklDokument,
CSW_EObchodPlus_ArtiklObrazek – seznamy určují, které záznamy v pohledu [Sx_Agenda_Firma_Doc].[dbo].[CSW_EObchod_Dokument].ID jsou přílohy obrázek nebo dokument. Pohledy obsahují taktéž pole Poradi příloh.Logika Parent_ID a Root_ID je stejná jako u pohledu CSW_EObchodPlus_Artikl. Všechny tyto záznamy jsou pouze dodatečné obrázky a přílohy. Hlavní obrázek ke katalogové kartě je možné vyčíst z [Sx_Agenda_Firma].[dbo].[CSW_EObchod_Artikl].[HlavniObrazek_ID]=[Sx_Agenda_Firma_Doc].[dbo].[CSW_EObchod_Dokument].[Attachment_ID].
CSW_EObchodPlus_ArtiklZpusobDopravy – seznam určuje, které dopravy jsou vybrány ke konkrétním katalogovým kartám. Parent_ID odkazuje na CSW_EObchodPlus_Artikl.ID a Root_ID je možné spojit s CSW_EObchod_Artikl.ID. ZpusobDopravy_ID=CSW_EObchod_ZpusobDopravy.ID.
CSW_EObchodPlus_ArtiklPriznak – představuje seznam příznaků, které jsou aktivní pro konkrétní katalogové karty. Parent_ID odkazuje na CSW_EObchodPlus_Artikl.ID a Root_ID je možné spojit s CSW_EObchod_Artikl.ID.
Pohled obsahuje mimo jiné Kod, Nazev, Poradi, DatovyTyp a
ViewHodnota/RawHodnotaBool. DatovyTyp (0 – celé číslo, 1 – desetinné
číslo, 2 – text, 3 – logická hodnota, 4 – množina, 5 – datum).
CSW_EObchodPlus_ObchodJazykMutace – seznam určuje, jaké jazykové mutace jsou přiřazeny ke konkrétnímu eshopu Root_ID=CSW_EObchod_Obchod.ID.
CSW_EObchodPlus_ArtiklMutaceTextu – seznam nabízí informace ze záložky E-shop-Názvy a jejich jazykové mutace. Všechny pole nemusí mít doplněné hodnoty nebo záznam nemusí vůbec existovat a je na dohodě z provozovatelem, jak se eshop bude k těmto záznamům chovat. Naše doporučení je mít aplikováno pravidlo, které vyhodnotí jestli existuje a je doplněno pole pro Nazev v EN a pokud není, tak si vezme hodnotu z pole Nazev CZ a pokud není ani tam, tak si bere pole CSW_EObchod_Artikl.Nazev. Parent_ID odkazuje na CSW_EObchodPlus_Artikl.ID a Root_ID je možné spojit s CSW_EObchod_Artikl.ID.
CSW_EObchodPlus_ArtiklMutacePopisu – seznam nabízí informace pro krátký a dlouhý popis v html včetně jazykových mutací. Parent_ID odkazuje na CSW_EObchodPlus_Artikl.ID a Root_ID je možné spojit s CSW_EObchod_Artikl.ID.
CSW_EObchodPlus_KategorieArtikluMutaceNazvu,
CSW_EObchodPlus_ParametrArtikluMutaceTextu,
CSW_EObchodPlus_HodnotaParametruArtikluMutaceHodnoty,
CSW_EObchodPlus_ZpusobDopravyMutaceTextu,
CSW_EObchodPlus_ZpusobPlatbyMutaceTextu – pohledy nabízí informace o překladech pro kategorie, parametry a jejich hodnoty, dopravu a platbu. U jazykových mutací doporučujeme ošetřit případ pokud není zadán překlad. Doporučení je vždy kontrola a případné doplnění ze směru brát cizí jazyk, pokud není, tak vezme z mateřského jazyku a pokud není ani tam, tak dle výchozího názvu. Parent_ID odkazuje na CSW_EObchodPlus_Artikl.ID a Root_ID je možné spojit s CSW_EObchod_Artikl.ID.