Přenosy skladových karet
Menu: Karty/Přehled karet
Klávesa: Alt + F5
Pi stisku klávesy Alt + F5 se vyvolá následující okno:
ve kterém si uživatel vybere činnost, kterou chce s kartami provádět:
Připravit pro přenos:
Při přenosu skladových karet lze určit, zda se mají do přenosových souborů ukládat individuální ceny (pokud ne, pak se přenosový soubor s individuálními cenami generuje prázdný) a pokud je program nakonfigurován pro práci s více čárovými kódy ve skladových kartách, pak lze také do přenosových souborů generovat soubor s čárovými kódy, které přísluší k vybraným kartám.
Exportovat indiv. ceny jen pro určená střediska - pokud je přepínač zapnutý, pak se exportují pouze ty individuální ceny, které buď mají v hlavičce individuální ceny vypnuté omezení na určená střediska nebo alespoň jedno středisko (písmeno) v seznamu vyhovuje seznamu středisek určených pro export.
Poznámka |
V exportu skladových karet (Alt+F5 v přehledu skladových karet) lze exportovat i poznámky ke skladovým kartám (ukládané v MEMO.BTR). Je možné určit, které druhy poznámek se mají přenášet (poznámky 1, 2, 3 nebo obrázky ke kartám). Při přenosu karet se spolu s poznámkou karty přenášejí také příznaky. Exportovaná data lze také komprimovat do přenosového souboru. Při exportu obrázku ke kartám se exportují jen odkazy na soubory s obrázky (nikoli samotné obrázky) |
Při exportu dat pro notebooky program exportuje pro každou skladovou kartu nákupní operace podle jednotlivých datumů spotřeby. Informace o datech spotřeby je pak vidět v přehledu nákupních operací dané skladové karty nebo např. v nabídce Info o zboží. Nastavení exportu je možné ovlivnit v dialogu pro nastavení přenosů. |
Technická poznámka |
Do souboru NTB_MEM se exportují také poznámky a obrázky ke skladovým kartám. Pomocí proměnné NtbExpDat,12 lze ovlivnit,které informace se mají exportovat: +1 - poznámky 1 |
Pomocí proměnné KarIdStred,0 lze určit interní "domácí" číslo střediska pro dané středisko. Hodnota musí být z rozsahu 0 až 255 a musí být odpovídat aktuálnímu středisku z číselníku středisek pro karty. Při přenosu skladových karet se pak provádí import karet jen pro střediska, která mají v přenosovém souboru dané středisko aktuální (pokud proměnná není určená nebo má zápornou hodnotu, tak se toto omezení neuplatňuje). |
Načíst ze souboru:
Pokud je v importu skladových karet (Přehled karet/Alt+F5/Načíst ze souboru) povolen import karet pouze z určeného střediska, tak se toto omezení uplatní také na individuální ceny, které mají v hlavičce omezen přenos pouze na určená střediska.
Poznámka |
Při importu skladových karet je možné v kartách pomocí klávesy Backspace přepnout celou sadu přepínačů pod volbou Opravit existující karty. |
V importu skladových karet byly osamostatněny přepínače pro položky Minimum, Optimum, Maximum, Hmotnost, Záruka, Objem, Poznámka, Příznaky, Na paletě, Ve vrstvě, Obj.množství, Účt.předpis a Sp.cena (resp. doh.NC2/Sp.rabat). Tyto položky mají nyní samostatný přepínač, který povoluje import. (viz. předchozí obrázek) |
Při importu čárových kódů (se zapnutým přepínačem Importovat čárové kódy ze souboru) program postupuje takto: Postupně se prochází záznamy z přenosového souboru čárových kódů a čárový kód se zkusí dohledat v aktuální tabulce čárových kódů. Pokud není nalezen a současně je nalezena odpovídající skladová karta ze záznamu čárového kódu, tak se záznam z přenosového souboru přidá do aktuální tabulky čárových kódů (přidá se ke kartě). Pokud je záznam čárového kódu nalezen v aktuální databází, tak se aktualizace provádí jen pokud souhlasí kód zboží v přenosové i aktuální tabulce čárových kódů (může se tím změnit např. zda jde o čárový kód k balení nebo k MJ) a nebo se provádí pokud je v aktuální databázi nalezena i karta, na kterou se odkazuje záznam v přenosovém souboru (dojde tím k přesunutí čárového kódu na tuto jinou kartu). |
Pokud přenosový soubor neobsahuje samostatný soubor s čárovými kódy (byl vygenerován bez přenosu čárových kódů), pak je přepínač Importovat čárové kódy do souboru automaticky vypnut. |
Import ovlivňují také přepínače skladové karty |
Při importu se používají názvy importovaných polí, které mohou být ovlivněny názvy určenými ve strukturách souborů (musí být zapnutý příznak Jméno pole do dialogů). |
Pomocí přenosů skladových karet (Alt+F5 v přehledu karet) lze aktualizovat také položku Typ karty. Při změně karty se aktualizují také informace ve všech operacích skladové karty. Přenos typu karet lze zapnout v dialogu pro import na druhé podstránce, kterou lze vyvolat pomocí PageDn. |
Změna způsobu aktualizace čárových kódů při přenosu skladových karet (Alt+F5). Při přenosu karet nyní může dojít k přesunu čárového kódu k jiné skladové kartě, pokud je v přenosovém souboru čárový kód připojen k jiné kartě nebo je připojen k nově importované kartě. Navíc na druhé podstránce importu karet nová volba pro určení režimu importu karet:
|
Nový režim aktualizace čárových kódů při přenosu skladových karet doplnění bez kontroly karet. V tomto režimu jsou doplněny záznamy čárových kódů i v případě, že neexistuje odpovídající skladová karta v aktuální databázi (vhodné v případě, pokud jsou skladové karty přenášeny samostatně). Nastavuje se v dialogu pro načtení skladových karet po stisku klávesy PageUp. |
Přepínač Režim výpočtu JC určuje, zda se má v rámci importu karet přenášet také nastavení režimu výpočtu jednotkové ceny |
Klávesa | Popis |
---|---|
F2:Start | spustí načtení karet z přenosového souboru |
F5:Ukaž | zobrazí karty v přenosovém souboru, které se mají načíst |
F6:Vybrat soubor | umožní vybrat jednotlivé soubory, pro karty, zásoby a individuální ceny a čárové kódy (toto je také možné na kliknutí tlačítka za zadávacím polem) |
F8:Ulož nast. | uloží aktuální nastavení buď pouze pro právě přihlášeného uživatele nebo pro všechny uživatele - taktéž je možno obnovit původní nastavení |
F10:Kompr. soubor | je možno vybrat komprimovaný soubor (*.KRX, který obsahuje všechny výše zmíněné soubory) |
PageDown, PageUp | druhá strana s přepínači |
Technická poznámka | |
V importu karet ze souboru (Alt + F5 v kartách) je možnost pomocí proměnné KarImport,38 ovlivnit, zda je povolen import karet určených pro jedno středisko. Proměnná může mít následující hodnoty: | |
0 | import karet bez kontroly údaje střediska |
1 | import karet s možností volby, zda se budou nebo nebudou vybírat karty určené dle čísla střediska |
2 | podobně jako bod 1, uživatele mají volbu a středisko určené napevno (týká se pouze přidávání nových karet) |
3 | jako bod 2 (týká se přidávání i aktualizace karet) |
Proměnná KarImport,38 může být závislá na uživateli a aktuálním skladu | |
Pomocí proměnné KarImportN,0 s hodnotou 0 lze vypnout aktualizaci data založení skladové karty v rámci přenosu skladových karet (Alt+F5 v kartách) | |
Pomocí proměnné KarPrvNove s hodnotou 1 lze povolit, aby i uživatelé, kteří mají vypnuté přístupové právo 51 Právo zakládat nové skladové karty, mohli založit skladovou kartu v rámci přenosu skladových karet pomocí přenosových souborů skladových karet (např. KRX soubor) | |
Při přenosu skladových karet je možnost exportovat i importovat hlavičky individuálních cen. Přenos hlaviček je proveden pouze pokud jsou importovány také samostatné individuální ceny. Standardní jméno přenosového souboru hlavicek je CISSSL.BTR. Soubor může být také přenášen v rámci komprimovaného souboru KARTY.KRX spolu s ostatními přenosovými soubory a obsah souboru před importem je možné prohlížet pomocí F5 na jménu souboru. | |
Import skladových karet z přenosového souboru používá nyní nový transakční režim, který by měl méně blokovat ostatní uživatele při rozsáhlejších přenosech karet. Pomocí proměnné KarImport,2 lze tento transkační režim změnit 0: uzamčení SKLADINI (po dobu importu karet není možno evidovat doklady) | |
Úprava přenosu informací o čárových kódech v rámci komprimovaného přenosového souboru (KARTY.KRX). Pokud přenosový soubor obsahuje samostatný soubor s čárovými kódy, tak se tento soubor při importu rozbalí a použije (pokud i na straně příjemce existuje SKLADEAN.BTR). Pokud komprimovaný soubor neobsahuje soubor s čárovými kódy, pak je přenos čárových kódů automaticky vypnut. |
Technická poznámka | |
V nabídce pro import skladových karet z přenosového souboru je možnost zakázat změnu vybraných hlavních přepínačů. Pomocí proměnné KarImport, 0 lze určit povolené přepínače (hodnotu zadejte jako součet následujících hodnot): | |
Hodnota | Popis |
Porovnání souboru:
Přenos karet do XML
Kód menu : 3,96
Program si v klasickém open dialogu vyžádá jméno XML souboru, který pak zkontroluje a načte z něj požadované změny v kartách nebo založí nové karty. U nových karet nechte pole Kod prázdné a do pole KodVzor určete jméno karty, která se má použít jako vzor. Při zakládání karet se automaticky nuluje EAN a EAN balení (můžete ale v XML poslat novou hodnotu). Před načtením údajů XML se také provádí načtení výchozích hodnot dle číselníku 177. Pokud kód určíte přímo v poli Kod, tak se pro novou kartu použije přímo vámi určený kód. Pokud karta s kódem existuje, tak se provádí jen aktualizace.
Akceptována je také aktualizace záznamů souvisejících s kartou v MEMO. Např. MEMOC2 aktualizuje běžné parametry karty v MEMO s číslem řádku 2. Pokud je údaj v MEMO ukládán ve více řádcích, tak je potřeba poslat každý údaj jako samostatné pole v DATAPACKET. Struktury v seznamu systémových struktur ale nemusíte mít založené (vše se vyčte ze jména pole).
Aplikace pak zobrazuje protokol o změnách v jednotlivých kartách, resp. pro každý váš záznam s požadavkem na změnu zobrazí jeden řádek v protokolu s informací, jak kartu zpracoval a v případě chyby vypíše důvod chyby. Pokud je při zpracování import u hlášena databázová chyba, tak je přenos přerušen. Pokud je požadováno zpracování v globální transakci, tak je celý přenos zrušen a vrácen do původního stavu (u nedatabázových chyb se pokračuje – např. pokud karta podle kódu nebyla nalezena). Pokud není požadováno globální zpracování transakcí, tak je v případě databázové chyby přenos také přerušen, ale dosud zapsané změny zůstanou uložené v databázi (a z přehledu vrácených záznamů se dozvíte, co se změnilo).
V protokolu je vidět stavový kód záznamu (StatusCode):
Hodnota | Popis |
0 | žádné změny nebyly potřeba |
1 | zaevidována nová karta (kód nové karty by měl být v poli kód) |
2 | karta aktualizována |
3 | chyba při zpracování záznamu, popis je v poli StatusTex |
Stejný protokol vrací i skladweb (jen ve formě datové XML struktury DATAPACKET). Vrací se zde __ID (nebo GUID pokud ve vstupním souboru použijete namísto __ID toto pole), Kod (nebo ProductCode pokud ve vstupním souboru použijete namísto Kod toto pole), StatusCode (výše popsané číslo), StatusText (jen chyby nebo varování).
Struktura Datapacket je v XML „zabalena“ ještě do <MaximTransferResponse>, který obsahuje:
- <Completed>1 .. pokud je úloha zpracována kompletně, 0 .. když došlo k přerušení zpracování
- <ResultMessage> ,, text chyby nebo varování (prázdné, pokud je vše OK)
- <RecordsInserted> <RecordsUpdated> <RecordsError> počet vložených, aktualizovaných či chybných záznamů. Záznamy bez změny nejsou započítané.
- <MasterTab> .. obsahuje strukturu DATAPACKET s protokolem zpracování jednotlivých záznamů ze vstupního požadavku.
Při komunikaci přes Skeleton je celé toto XML součástí odpovědi ve standardní struktuře Skeletonu (uzel pro komunikaci najdete pod UpdateDataset). Pokud dojde k závažné chybě (např. chybná struktura vstupního datapacketu), tak je namísto běžné odpovědi vrácena chyba ve struktuře SkeletonError, která v podstatě obsahuje jen popis chyby.
Struktura XML se malinko změnila. V podstatě jsme ale jen atributy TransferData, TransferMode, TransferId, Version, Created a CreatedBy převedli na samostatné tagy (viz příklad v příloze).
- Pole TransferData musí obsahovat SKLADKAR.
- Pole TransferMode může obsahovat:
- Insert..pokud je povoleno zakládání nových karet
- Update..povoluje aktualizaci karet
- Transaction..povoluje globální transakci (doporučujeme jen pokud se aktualizuje menší počet karet, např. stovky)
- GUID=pole.. určuje jméno pole s identifikátorem záznamu (stejné pole se pak dává i do odpovědi) - výchozí je __ID nebo GUID
- PRODUCTCODE=pole..určuje jméno pole pro kód zboží (stejné pole se pak dává i do odpovědi) – výchozí je Kod nebo ProductCode
- TEMPLATEPRODUCTCODE=pole..určuje jméno pole pro kód vzorové karty pro nové zboží – výchozí je KodVzor nebo TemplateProductCode
Pole TransferId se zapisuje do logu při změně karet
Ostatní pole jsou spíše informativní.
Příklad vstupního souboru, který Sklad6 umí načíst najdete v příloze (KartyDATAPACKET.xml). Při komunikaci přes Skeleton je stejné XML (bez <?xml… ) dát jako součást zprávy UpdateDataset a výsledek pak vyčtete z odpovědi, která přijde – to co je v KartyResponse2.XML je tedy uloženo jako jeden z tagů ve standardní odpovědi Skeletonu.
Nová verze také už umožňuje definování vazby mezi MEMO parametry karty a novými kategoriemi karet. Nastavení se provádí pomocí Alt+F6/Nastavení parametrů karet pro kategorii menu pro definici stromu kategorií. V další verzi by pak mělo být dořešeno zobrazování parametrů karet na základě kategorií (pokud bude pro daný parametr definována alespoň jedna kategorie, tak se parametr bude zobrazovat jen v určených kategoriích).