úvod > pro pokročilé >

katalog - dávkový import

Pro dávkový import potřebujete :

Kontrola duplicitních dat

Před zahájením všech prací si zkontrolujte zda vaše datové soubory neobsahují položky, které již v katalogu jsou. Pro tento účel je připravena pomůcka "test", která obsahuje jediný formulář s textovou oblastí. Do ní vložte seznam jmen oddělených čárkami. V případě, že program najde shodníé položky, vypíše jejich jména a ID. pomůcku najdete v menu Katalog - příkazy v RS.

Příprava dat

Každý adreásř eshopu může používat jinou definiční tabulku - jakou zjistíte nejlépe:
Příkaz složky menu archiv vám nabídne takovýto přehled složek - kliknutím na ikonu excelu stáhnete příslušnou definiční tabulku.


Spousta adresářů využívá stejnou definici sloupců -v takových případech je tedy zbytečné používat více listů excelu.

 

Definiční tabulka


řádek 1 - skutečné názvy databázových sloupců
řádek 2 - popis metody zpracování u definičních
řádek 3 - typ dat
rádek 4 - popis sloupce
řádek 5 a výše - data

Definiční tabulka obsahuje sloupce, které jsou pro každou položku povinné a také volitelné sloupce (právě dle volitelných sloupců se jednotlivé tabulky od sebe liší).

Názvy obrázků

U obrázků bude automaticky doplněna extenze jpg, připravujte obrázky pouze v tomto formátu!
Jako název obrázku můžete použít cokoli, doporučujeme:

Co nesmí obsahovat textové sloupce

Sloupce s typem dat text nesmí obsahovat znaky jako & "  - tedy znaky které jsou zapovězeny v HTML . Pokud takové znaky obsahují, nahraďte je (apostrofy již v excelu ostatní můžete později) za znakové entity .
Texty nesmí obsahovat konce řádků (pro odstranění instalujte do osobního sešitu maker programový segment popsaný zde)!

CreateImportString

Funkci přidejte buď do osobního sešitu maker, nebo ji můžete přidávat do modulů VBA každého sešitu jednotlivě.
Funkce přijímá dva parametry myR, myR2.

Vzorový příklad - definiční tabulka využívá sloupce A až P, první řádek s daty má č. 5. Do políčka Q5 vložíme kurzor a do pole fukcí vepíšeme takovýto vzorec: =createImportString(A5:P5;$A$1:$P$1). Samozřejmě nám může Excel pomoci průvodcem.
Výsledkem funkce bude text :

$ExArr[]=Array('KATLI_RP'=>'0','KATLI_ADR'=>'232',
'KATLI_NAME'=>'80115','KATLI_ZNAK'=>'80115',
'KATLI_BASE_DESC'=>'otočný nůž,tvrdý kov, 11 Ks',
'KATLI_IMG'=>'80115','KATLI_P2'=>'',
'KATLI_P5'=>'otočný nůž,tvrdý kov, 11 Ks, 10×10','KATLI_MARK'=>'ERBA','KATLI_SUPL'=>'2',
'KATLI_BASE_PRICE'=>'0','KATLI_APRICE'=>'0',
'KATLI_UPRICE'=>'0','KATLI_VOC'=>'0','KATLI_VOCA'=>'0','KATLI_PRICE6'=>'0');

Zkopírujeme funkci přetažením ve sloupci Q po poslední řádek s obsahem a máme připravena data.
Sloupec Q v našem příkladě ( v jiné definiční tabulce to může být jiný sloupec) obsahuje informace, kterým budeme dále říkat "procesní data".

Procesní data nejsou databázové dotazy! Mezi osobním počítačem a serverem aplikace Alff je několik rozdílů, zásadním rozdílem je kódování češtiny (nebo jazyka ve kterém se data nahrávají). Dalším problémem jsou obrázky - ne každý program je schopen exportovat obrázky v binární podobě. Z tohoto důvodu se používají data v tomto tvaru - teprve na serveru z nich program vytvoří databázový dotaz, zkopíruje obrázek z adresáře transfer do cílové složky a vytvoří správná propojení...

 

FTP

Předpokládáme že máte přístup omezený pouze na adresář Transfer. V něm můžete smazat všechny stávající soubory kromě jednoho: soubor imp.php je pro nás důležitý.

Pozor - soubor imp.php musí používat kódování UTF-8!

Červená šipka naznačuje, kam vložit metodou copy paste procesní data.
V záhlaví je také vidět definice konstant - změnou hodnoty můžete ovlivnit hodnotu importovaných položek ve sloupci sklad a jednotka.

Časté chyby

  • texty obsahují nepovolené znaky
  • číselné názvy obsahují 0 a ta je excelem eliminována - před zápisem řetězců sestávajících pouze z čísel změňte formát buňek sloupce na "text"
  • obrázky jsou špatně pojmenovány (pozor - server je citlivý na velikost znaků a importní program konvertuje všechny názvy souborů na malé písmena - využijte při uploadu obrázků možnosti FTP klienta - transformace velikosti názvu souborů)