Str. 1/14 Obsah 1. Přímý import zakázek... 1 a) Import neúplných zakázek... 1 b) Import úplných zakázek... 1 2. Popis procedury procimporttransport:... 2 3. Popis procedury procimportorder:... 4 4. Popis procedury proccreatetransport:... 7 5. Popis procedury procdeleteimportordertransports:... 10 6. Číselníky... 11 Verze dokumentu: 1.0 Datum: 18. 12. 2013
Str. 1/14 1. Přímý import zakázek Aplikace Invio podporuje přímý import zakázek do lokální databáze. Pro tyto potřeby je v databázi vytvořen uživatel import (s heslem 1mp0rtScutulum2). Ten má právo spouštět uložené procedury, které zakázky do databáze ukládají. Zákazník, který chce využívat možnost přímého zápisu do databáze, musí mít nastaven patřičný příznak v administraci zákazníků příznak Přímý přístup. Při importu může zákazník využít vždy dvě uložené procedury pro import přeprav a dvě pro import objednávek. V obou případech slouží jedna pro vytvoření neúplné zakázky a druhá založí zakázku do patřičné složky (přepravy do složky Na vytištění ; objednávky do složky Zpracované ). a) Import neúplných zakázek Zakázky založené v rámci tohoto importu jsou ukládány do pomocné tabulky. Z této tabulky se zakázka založí na pokyn uživatele z aplikace Invio (menu Zakázka / Nová přeprava (objednávka) podle dodacího čísla). Záznamy jsou v dočasné tabulce udržovány, dokud nebude alespoň jedna zakázka, která z dokladu vznikla, uzavřena (pro přepravy to je operace tisku štítků; pro objednávky uložení do zpracovaných). Poté je šablona z dočasné tabulky odstraněna. Tento import je realizován procedurami procimporttransport a procimportorder. První slouží k importování údajů o přepravách, druhá k importu objednávek svozu. Obě procedury vracejí počet záznamů, které do databáze založí. Pokud nenastane při insertu žádná chyba, založí procedura jeden záznam. V opačném případě záleží na povaze chyby. Pokud nejsou dodrženy integritní omezení databáze, skončí procedura chybou databáze. V případě nekonzistentně 1 zadaných dat, vrací procedura návratovou hodnotu 0. Kromě výše uvedených procedur pro vytvoření šablon zakázek, má uživatel import přístupnou proceduru, která slouží k odstranění importní dávky procdeleteimportordertransports. b) Import úplných zakázek V tomto případě má zákazník již při importu všechna data o zakázce, takže ji může založit přímo v systému. Tyto data se před vlastním založením zkontrolují. Na základě této validace je rozhodnuto, zda je zakázka validní, tzn. může se založit do uzavřených zakázek (pro přepravy je to složka Na 1 V případě vícepoložkové zásilky musí být procedura volána tolikrát, kolik položek zásilka obsahuje. Údaje, které jsou pro všechny položky zásilky totožné (například adresa odesílatele), musejí být u všech záznamů shodné. Pokud tomu tak není, bude právě zakládaný záznam ignorován.
Str. 2/14 vytištění, pro objednávky složka Zpracované), nebo je zakázka neúplná a objeví se ve složce Rozpracované. Aby byla zakázka validní, musí splňovat tyto podmínky: o přeprava zadaná adresa příjemce (název, adresa, ulice, PSČ, stát) PSČ příjemce musí být naroutováno na konkrétní doručovací depo Pokud je vybrán servis dobírka, musí být zadaná nenulová částka Pokud je vybrán servis připojištění, musí být zadaná nenulová částka Pokud je zvolen email příjemci, musí být zadaný email u příjemce Nesmí být více než 99položek zakázky Musí být zadaný nenulový počet položek zakázky a nenulová váha U Cargo zásilky musí být zadaný obal Tento import je realizován procedurami proccreatetransport Procedura vracejí příznak založené zakázky. Pokud jsou zadané hodnoty u zakázky validní, vrací procedura hodnotu 1, v opačném případě vrací hodnotu 0. 2. Popis procedury procimporttransport: Syntaxe procimporttransport [@icustomer_id =] customer_number, [@tinvoicenumber =] 'invoice_number', [@trecipientname =] 'recipient_name', [@trecipientstate =] 'recipient_state_shortcut', [@trecipientcity =] 'recipient_city', [@trecipientstreet =] 'recipient_street', [@trecipientpostalcode =] 'recipient_postalcode', [@trecipientcontactperson =] 'recipient_contact_person', [@trecipientcontactemail =] 'recipient_contact_email', [@trecipientcontactphone =] 'recipient_contact_phone', [@dload =] date_load, [@treference =] 'reference', [@bexw =] exwork, [@bcod =] cash_on_delivery, [@fcodvalue =] cash_on_delivery_value, [@tvarsymbol =] variable_symbol, [@fweight =] weight, [@fvolume =] volume, [@icount =] count, [@tcontent =] 'content',
Str. 3/14 [@tpacktype =] 'pack_type_shortcut', [@itype =] type_order Argumenty Argument 2 Datový typ Výchozí hodnota Popis customer_number int - Číslo zákazníka v lokální databázi. Lze zjistit v aplikaci Invio (Nápověda/O Zákazníkovi položka ID) invoice_number varchar(20) - Číslo faktury recipient_name varchar(100) Příjemce název firmy recipient_state_shortcut varchar(2) CZ Dvoupísmenná mezinárodní zkratka státu příjemce recipient_city varchar(100) Příjemce město. recipient_street varchar(100) Příjemce ulice recipient_postalcode varchar(100) Příjemce poštovní směrovací číslo recipient_contact_person varchar(100) Příjemce kontaktní osoba recipient_contact_email varchar(100) Příjemce kontaktní email recipient_contact_phone varchar(100) Příjemce kontaktní telefon date_load datetime ve formátu dd.mm.rrrr Aktuální den Datum svozu reference varchar(20) Reference exwork bit False Příznak exwork cash_on_delivery bit False Příznak dobírky bit cash_on_delivery_value float 0 Hodnota dobírky variable_symbol varchar(50) Variabilní symbol weight float 0 Hmotnost položky zásilky [kg] volume float 0 Objem položky zásilky [m 3 ] 2 Tučně označené parametry jsou povinné.
Str. 4/14 count tinyint 0 Počet položek zásilky content varchar(100) Popis zboží položky zásilky pack_type_shortcut varchar(2) Dvoupísmenná zkratka obalu type_order tinyint Typ zásilky 0 cargo - 1 - parcel Návratové hodnoty Počet založených záznamů o o 1 import záznamu proběhl v pořádku 0 import se nezdařil Verze Verze procedury je 1.0 a vyžaduje databázi aplikace ve verzi 1.0.33.97. 3. Popis procedury procimportorder: Syntaxe procimportorder [@icustomer_id =] customer_number, [@tinvoicenumber =] 'invoice_number', [@tsendername =] 'sender_name', [@tsenderstate =] 'sender_state_shortcut', [@tsendercity =] 'sender_city', [@tsenderstreet =] 'sender_street', [@tsenderpostalcode =] 'sender_postalcode', [@tsendercontactperson =] 'sender_contact_person', [@tsendercontactemail =] 'sender_contact_email', [@tsendercontactphone =] 'sender_contact_phone', [@trecipientname =] 'recipient_name', [@trecipientstate =] 'recipient_state_shortcut', [@trecipientcity =] 'recipient_city', [@trecipientstreet =] 'recipient_street', [@trecipientpostalcode =] 'recipient_postalcode', [@trecipientcontactperson =] 'recipient_contact_person', [@trecipientcontactemail =] 'recipient_contact_email', [@trecipientcontactphone =] 'recipient_contact_phone', [@ipayer =] payer,
Str. 5/14 [@dload =] date_load, [@treference =] 'reference', [@bcod =] cash_on_delivery, [@fcodvalue =] cash_on_delivery_value, [@tvarsymbol =] variable_symbol, [@fweight =] weight, [@fvolume =] volume, [@icount =] count, [@tcontent =] 'content', [@tpacktype =] 'pack_type_shortcut', [@itype =] type_order, Argumenty Argument 3 Datový typ Výchozí hodnota Popis customer_number int - Číslo zákazníka v lokální databázi. Lze zjistit v aplikaci Invio (Nápověda/ O Zákazníkovi položka ID) invoice_number varchar(20) - Číslo faktury sender_name varchar(100) Odesílatel název firmy sender_state_shortcut varchar(2) CZ Dvoupísmenná mezinárodní zkratka státu odesílatele sender_city varchar(100) Odesílatel město. sender_street varchar(100) Odesílatel ulice sender_postalcode varchar(100) Odesílatel poštovní směrovací číslo sender_contact_person varchar(100) Odesílatel kontaktní osoba sender_contact_email varchar(100) Odesílatel kontaktní email sender_contact_phone varchar(100) Odesílatel kontaktní telefon recipient_name varchar(100) Příjemce název firmy recipient_state_shortcut varchar(2) CZ Dvoupísmenná mezinárodní zkratka státu příjemce 3 Tučně označené parametry jsou povinné.
Str. 6/14 recipient_city varchar(100) Příjemce město. recipient_street varchar(100) Příjemce ulice recipient_postalcode varchar(100) Příjemce poštovní směrovací číslo recipient_contact_person varchar(100) Příjemce kontaktní osoba recipient_contact_email varchar(100) Příjemce kontaktní email recipient_contact_phone varchar(100) Příjemce kontaktní telefon payer tinnyint Plátce 0 příjemce 1 odesílatel 2 2 objednatel date_load datetime ve formátu dd.mm.rrrr Následující pracovní den Datum svozu reference varchar(20) Reference cash_on_delivery bit False Příznak dobírky bit cash_on_delivery_value float 0 Hodnota dobírky variable_symbol varchar(50) Variabilní symbol weight float 0 Hmotnost položky zásilky [kg] volume float 0 Objem položky zásilky [m 3 ] count tinyint 0 Počet položek zásilky content varchar(100) Popis zboží položky zásilky pack_type_shortcut varchar(2) Dvoupísmenná zkratka obalu type_order tinyint Typ zásilky 0 cargo - 1 - parcel Návratové hodnoty Počet založených záznamů
Str. 7/14 o o 1 import záznamu proběhl v pořádku 0 import se nezdařil Verze Verze procedury je 1.1 a vyžaduje databázi aplikace ve verzi 1.0.4.37. 4. Popis procedury proccreatetransport: Syntaxe proccreatetransport [@icustomer_id =] customer_number, [@tinvoicenumber =] 'invoice_number', [@trecipientname =] 'recipient_name', [@trecipientstate =] 'recipient_state_shortcut', [@trecipientcity =] 'recipient_city', [@trecipientstreet =] 'recipient_street', [@trecipientpostalcode =] 'recipient_postalcode', [@trecipientcontactperson =] 'recipient_contact_person', [@trecipientcontactemail =] 'recipient_contact_email', [@trecipientcontactphone =] 'recipient_contact_phone', [@dload =] date_load, [@treference =] 'reference', [@bexw =] exwork, [@bcod =] cash_on_delivery, [@fcodvalue =] cash_on_delivery_value, [@tvarsymbol =] variable_symbol, [@fweight =] weight, [@fvolume =] volume, [@icount =] count, [@tcontent =] 'content', [@tpacktype =] 'pack_type_shortcut', [@itype =] type_order, [@brider =] rider, [@fridervalue =] rider_value, [@bdeliveryto10 =] delivery_to_10, [@bdeliveryto12 =] delivery_to_12, [@breturnablepack =] returnable_pack, [@bphoneadvice =] phone_advice, [@bdeliverynoteback =] delivery_note_back, [@bguaranteedelivery =] guarantee_delivery, [@bexchangeablepack =] exchangeable_pack, [@bdeliveryinfo =] delivery_info, [@bundeliveryinfo =] undelivery_info, [@bemailrcpt =] email_recipient, [@temailrcpttext =] email_recipient_value,
Str. 8/14 [@tnotedriver =] note_driver, [@tnotercpt =] note_recipient, [@bprepared =] prepared Argumenty Argument 4 Datový typ Výchozí hodnota Popis customer_number int - Číslo zákazníka v lokální databázi. Lze zjistit v aplikaci Invio (Nápověda/O Zákazníkovi položka ID) invoice_number varchar(20) - Číslo faktury recipient_name varchar(100) Příjemce název firmy recipient_state_shortcut varchar(2) CZ Dvoupísmenná mezinárodní zkratka státu příjemce recipient_city varchar(100) Příjemce město. recipient_street varchar(100) Příjemce ulice recipient_postalcode varchar(100) Příjemce poštovní směrovací číslo recipient_contact_person varchar(100) Příjemce kontaktní osoba recipient_contact_email varchar(100) Příjemce kontaktní email recipient_contact_phone varchar(100) Příjemce kontaktní telefon date_load datetime ve formátu dd.mm.rrrr Aktuální den Datum svozu reference varchar(20) Reference exwork bit False Příznak exwork cash_on_delivery bit False Příznak dobírky bit cash_on_delivery_value float 0 Hodnota dobírky variable_symbol varchar(50) Variabilní symbol weight float 0 Hmotnost položky zásilky [kg] 4 Tučně označené parametry jsou povinné.
Str. 9/14 volume float 0 Objem položky zásilky [m 3 ] count tinyint 0 Počet položek zásilky content varchar(100) Popis zboží položky zásilky pack_type_shortcut varchar(2) Dvoupísmenná zkratka obalu type_order tinyint Typ zásilky 0 cargo - 1 - parcel rider bit 0 Připojištění rider_value float 0 Hodnota připojištění delivery_to_10 bit 0 Doručení do 10h delivery_to_12 bit 0 Doručení do 10h returnable_pack bit 0 Vratný obal phone_advice bit 0 Telefonní avízo delivery_note_back bit 0 Dodací list zpět guarantee_delivery bit 0 Garantované doručení exchangeable_pack bit 0 Výměnná zásilka delivery_info bit 0 Informace o doručení undelivery_info bit 0 Informace o nedoručení email_recipient bit 0 Email příjemci email_recipient_value varchar(4000) Email příjemci obsah mailu note_driver varchar(255) Poznámka řidiči note_recipient varchar(255) Poznámka příjemci prepared bit 0 Vynutí vložení přepravy do Rozpracovaných přeprav Návratové hodnoty Příznak založené přepravy:
Str. 10/14 Při chybě: o o 1 zakázka je validní -> připravena Na vytištění 0 zakázka není validní -> nutná editace v sekci Rozpracované o -1 nespecifikované číslo zákazníka o -2 zákazník nemá právo přímého přístupu nutno nastavit v administraci zákazníků o -3 nespecifikovaný typ přepravy cargo/parcel o -4 zadané PSČ nelze naroutovat o -5 zákazník nemá právo zadávat cargo/parcel zásilky o -6 o -7 nespecifikované číslo dokladu Verze Verze procedury je 1.4 a vyžaduje databázi aplikace ve verzi 1.0.4.37. 5. Popis procedury procdeleteimportordertransports: Syntaxe procdeleteordertransports [@tinvoicenumber =] 'invoice_number' Argumenty Argument 5 Datový typ Popis invoice_number varchar(20) Číslo faktury Verze Verze procedury je 1.0 a vyžaduje databázi aplikace ve verzi 1.0.4.37. 5 Tučně označené parametry jsou povinné.
Str. 11/14 6. Číselníky Informace o státech a typech obalů jsou v databázi realizovány referencí na externí tabulky, které nejsou uživateli import přístupné. Aby bylo možné zadat i tyto položky, existuje převodní číselník států a typů obalů. V obou případech se zadává dvou písmenná zkratka a její převod zajistí importní procedura. Státy: Název Zkratka Název Zkratka Název Zkratka Česká republika CZ Litva LT Turecko TR Slovensko SK Lotyšsko LV Spojené Arabské Emiráty AE Německo DE Maroko MA Ukrajina UA Dánsko DK Malajsie MY USA US Dominikánská republika DO Monako MC Srbsko RS Španělsko ES Mexiko MX JAR ZA Estonsko EE Makedonie MK Arménie AM Francie FR Norsko NO Rakousko AT Finsko FI Holandsko NL Ázebajdžán AZ Velká Británie GB Nový Zéland NZ Belgie BE Řecko GR Portugalsko PT Bulharsko BG Maďarsko HU Polsko PL Bělorusko BY Chorvatsko HR Čína CN Švýcarsko CH Itálie IT Rumunsko RO Kypr CY Indie IN Rusko RU Gruzie GE Irsko IE Švédsko SE Kyrgyzstán KS Japonsko JP Singapur SG Moldávie MD Kuvajt KW Slovinsko SI Malta MT Kazachstán KZ Thajsko TH Rumunsko RO Lucembursko LU Tunisko TN Tádžikistán TJ Turkmenistán TM Uzbekistán UZ
Str. 12/14 Obaly: Cargo Parcel Název Zkratka Název Zkratka Karton KT Karton KT Europaleta FP Sud FA Jednocestná paleta EP Tyč Sud FA Plechovka DO Tyč Láhev FL Paleta Svazek BU Čtvrtpaleta VP Kanystr KN Gitterbox GP Koš KO Plechovka DO Přepravka KS Láhev FL Role RO Stojan GS Pytel SA Svazek BU Bedna Kanystr KN Obálka VG Koš KO VPL Přepravka KS MPL Role RO Demižon KF Pytel SA Cisterna TC Nezabaleno UV Obálka VG Sáček BE Kbelík EI Půlpaleta HP Příklad Parcel přeprava tři balíky (dva knih, jeden časopisy) na dobírku 100Kč EXEC [dbo].[procimporttransport] @icustomer_id = 1, @tinvoicenumber = '123456', @trecipientname = 'Novák sro', @trecipientstate = 'CZ', @trecipientcity = 'Praha', @trecipientstreet = 'Jindřišská 16', @trecipientpostalcode = '11150', @trecipientcontactperson = 'Karel Novák', @trecipientcontactemail = '', @trecipientcontactphone = '', @dload = N'13.12.2007', @treference = '', @bexw = NULL, @bcod = 1, @fcodvalue = 100, @tvarsymbol = NULL, @fweight = 10, @fvolume = NULL, @icount = 2, @tcontent = 'knihy', @tpacktype = '',
Str. 13/14 @itype = 1 EXEC [dbo].[procimporttransport] @icustomer_id = 1, @tinvoicenumber = '123456', @trecipientname = 'Novák sro', @trecipientstate = 'CZ', @trecipientcity = 'Praha', @trecipientstreet = 'Jindřišská 16', @trecipientpostalcode = '11150', @trecipientcontactperson = 'Karel Novák', @trecipientcontactemail = '', @trecipientcontactphone = '', @dload = N'13.12.2007', @treference = '', @bexw = NULL, @bcod = 1, @fcodvalue = 100, @tvarsymbol = NULL, @fweight = 2, @fvolume = NULL, @icount = 1, @tcontent = 'časopis', @tpacktype = '', @itype = 1