Import dokumentów z plików XML część II



Podobne dokumenty
Import dokumentów z plików XML część I

Importy wyciągów bankowych krok po kroku

Przeliczanie cen walutowych na dokumentach

Soneta Sp. z o.o. Standardowe kreatory CRM

Moduł importu dokumentów. z plików tekstowych do programu Fakt

SUBIEKT GT IMPORT XLS Kontrahenci

Aby włączyć tryb auto-rozliczania należy ustawić opcję w Parametrach systemu tak jak to widać na rys. 1.

Konfiguracja programu

Opis integracji z programem Comarch OPTIMA xml

Nowe możliwości zbiorczego wprowadzania czasu pracy dla pracowników enova KADRY i PŁACE

Podstawowa konfiguracja modułu Szkolenia

Specyfikacja pliku importu dokumentów. do programu Fakt

Obsługa EDI Makro Wersja

Wystawianie dokumentów Ewa - Fakturowanie i magazyn

Import wyciągów bankowych nowe możliwości

PODRĘCZNIK UŻYTKOWNIKA PEŁNA KSIĘGOWOŚĆ. Płatności

ShopGold Integrator by CTI. Instrukcja

Instrukcja użytkownika. Eksport dokumentów do systemu Comarch EDI Wersja

Ewidencjonowanie transakcji unijnych

FIS SYSTEM MAGAZYNOWY

Jeżeli zakładka ta nie jest widoczna, należy ją włączyć przechodząc kolejno do zakładki USTAWIENIA» INTEGRACJE» ALLEGRO» WŁĄCZ MODUŁ ALLEGRO.

ENOVA2PSMOBILE. Copyright Polsoft Engineering Sp. z o. o.

Nowa płatność Dodaj nową płatność. Wybierz: Płatności > Transakcje > Nowa płatność

Praca klienta biura rachunkowego na wspólnej bazie

wersja dokumentu 1.0 data wydania

Opis modułu windykacyjnego w KOLFK

Dokumentacja Użytkownika Systemu Konfiguracja Comarch ERP Altum z wszystko.pl. Wersja:

INSTRUKCJA INSTALACJI APLIKACJI PROF- EAN 2

Podstawowe możliwości programu Spectro Market Faktura

System AIS IMPORT. Zmiany w oprogramowaniu FRAKTAL STUDIO.

emszmal 3: Eksport wyciągów do Soneta Enova365 (plugin dostępny wraz z dodatkiem Biznes)

1. Logowanie się do panelu Adminitracyjnego

Eksport dokumentów do systemu ECOD

PODRĘCZNIK UŻYTKOWNIKA KSIĘGA PRZYCHODÓW I ROZCHODÓW. Płatności

Integracja sklepu internetowego z serwisem aukcyjnym Swistak.pl

Łańcuch dostaw (subzasoby)

Struktura pliku importu do bazy Shark6

FIS-CE OGÓLNA CHARAKTERYSTYKA

AmazonOrders. Dokumentacja techniczna + Instrukcja użytkownika DRIT 1

Instalacja rozwiązania Uruchomienie rozwiązania w systemie Sage Konfiguracja dodatku Ustawienia dodatkowe rozwiązania...

Obiektowy PHP. Czym jest obiekt? Definicja klasy. Składowe klasy pola i metody

ROZLICZENIA NFZ BY CTI INSTRUKCJA

KOMISJE WYBORCZE PIT EKSPORT E-PITY

enova365 Preliminarz EŚP

wfirma (Moduł Magento) v Strona 1 z 12

ShoperIntegra V3.3. Instalacja i konfiguracja

Nowe funkcje w programie SYMFONIA Środki Trwałe Forte w wersji 2009.a

Rozrachunki wielowalutowe w systemie enova

VIRTUEMART INTEGRATOR BY CTI INSTRUKCJA

emszmal 3: Automatyczne księgowanie przelewów w sklepie internetowym Magento 2 (plugin dostępny w wersji ecommerce)

UpSoft RCP wersja

Zmiany w programie VinCent 1.28

Mobilny handlowiec by CTI. Instrukcja

Oprogramowanie ILUO Biznes pozwala na jednoczesne zarządzanie wieloma sklepami Internetowymi zbudowanymi na oprogramowaniu różnych producentów.

Eksport Symplex EDI. Przeznaczenie. Opis ogólny formatu pliku. Przykład pliku Symplex EDI:

Specyfikacja pliku importu/eksportu danych w programie Fakt - format IMP

Wymagania. Instalacja SP DETAL

Instrukcja obsługi programu Dystrybutor GT

Instrukcja importu przesyłek. z Menedżera Sprzedaży do aplikacji Webklient

SUBIEKT GT IMPORT XLS Dokumenty

INSTRUKCJA. ERP OPTIMA - Obsługa w zakresie podstawowym dla hufców. Opracował: Dział wdrożeń systemów ERP. Poznań, wersja 1.

Instrukcja użytkownika

emszmal 3: Automatyczne księgowanie przelewów w sklepie internetowym Magento (plugin dostępny w wersji ecommerce)

WooCommerce (WordPress) Integrator by CTI. Instrukcja

Instrukcja użytkownika

Nowe funkcje w programie SYMFONIA Handel Premium w wersji 2009.c

INSTRUKCJA PROGRAMU EWKA SPIS TREŚCI

Konfiguracja cen w enova

Instrukcja zmiany stawek VAT w Symfonia Handel. Wersja

SKRÓCONY OPIS systemu lojalnościowego

Nowe funkcje w programie SYMFONIA Środki Trwałe Forte w wersji 2008

Integrator ze sklepem internetowym (dodatek do Sage Symfonia ERP Handel)

Projekty budowlane w enova Wersja 1.1.

PRODUKCJA BY CTI. Opis funkcjonalności: Produkcja z cechą

To kompletny i zintegrowany system do szeroko pojętej obsługi sprzedaży i magazynu w firmach handlowych, usługowych i produkcyjnych.

Praca wieloodziałowa Konfiguracja modułu Handel cz.i

System Symfonia e-dokumenty

O2Symfonia by CTI. Instrukcja i opis programu

Funkcje realizowane przez program KC-Firma

Nowości w systemie Streamsoft Prestiż wprowadzone w wersji 314

OPROGRAMOWANIE DLA FIRM. Księga Handlowa. Podstawowe cechy modułu przeznaczonego do prowadzenia pełnej księgowości.

Instrukcja użytkownika Integrator Allegro X DEFT

emszmal 3: Automatyczne księgowanie przelewów w sklepie internetowym Shoper (plugin dostępny w wersji ecommerce)

emszmal 3: Eksport wyciągów do WF-Mag (plugin dostępny wraz z dodatkiem Biznes)

... Wstęp Instalacja Dostęp do danych Procedury integrujące...4 PRC_WDEC_GETMAGAZYN...5 PRC_WDEC_GETODBIORCY...

Dokumentacja Użytkownika Systemu

Instrukcja użytkownika programu QImport (wydanie II r.)

Filie uproszczone i magazynowe - zastosowanie i wdrożenie

Jednolity Plik Kontrolny dla ewidencji zakupu i sprzedaży VAT wg wersji 17 deklaracji VAT-7

Dokumentacja Użytkownika Systemu

Instrukcja obsługi i konfiguracji dodatku Ceneo dla Virtuemart 2 v 1.0.1

Zmiany w programie VinCent 1.29

Instrukcja zmiany stawek VAT w Symfonia Start Handel. Wersja 2011

Symfonia Handel. Obsługa zmian w VAT. Wersja

III. Dane podstawowe definiowanie organizacji

system enova Platforma internetowej sprzedaży B2B

W systemie mojebiuro24.pl wszystkie informacje o kontrahencie można znaleźć w jednym miejscu, w zakładce CRM» KONTRAHENCI.

Nowe funkcje w programie Symfonia Start Faktura i Kasa w wersji 2011

Dodatek efaktura invooclip Użytkowanie Soneta Sp. z o.o.

Transkrypt:

Import dokumentów z plików XML część II (wersja 1.0) Soneta Sp z o.o. ul. Wadowicka 8a, wejście B 31-415 Kraków tel./fax +48 (12) 261 36 41 http://www.enova.pl e-mail: handel@enova.pl 1

Spis treści 1 Wstęp... 3 2 Import cech... 3 2.1 Cechy z nazwami wieloczłonowymi... 4 2.2 Import cech referencyjnych... 4 3 Import zapłat... 5 3.1 Import wpłaty gotówkowej... 5 3.1.1 Identyfikacja raportu i podmiotu... 5 3.2 Import rozliczenia... 6 3.2.1 Rozliczenie części kwoty... 7 4 Uruchamianie importu z kodu... 7 5 Podsumowanie... 8 2

1 Wstęp W poprzednim artykule dotyczącym importów z plików XML omówione zostały podstawowe zasady budowy plików XML wykorzystywanych do importu danych do systemu enova. Zapoznaliśmy się w nim z ogólną strukturą plików importowych, znaczeniem atrybutu business, sposobem tworzenia najprostszych dokumentów, podstawianiem danych relacyjnych, dodawaniem podlist (np. listy pozycji czy listy płatności dokumentu) oraz dodawaniem kolejnych pól do pliku. W bieżącym artykule zajmiemy się zagadnieniami: Importu cech Importu wpłat i rozliczeo Uruchamiania importu z poziomu zewnętrznych dodatków 2 Import cech Przeanalizujmy możliwośd importu kartoteki towarowej z przypisanymi cechami. Ponieważ dla kartoteki towarowej wymagane są kod i nazwa, najprostszy plik XML do zaimportowania kartoteki towarowej, będzie wyglądał jak poniżej (atrybut key jest użyty w celu zabezpieczenie przed duplikacją o tym była mowa w poprzednim artykule): <session xmlns="http://www.soneta.pl/schema/business" business="true"> <Towar key="kod=row_td_scout_24"> <Kod>ROW_TD_SCOUT_24</Kod> <Nazwa>Rower turystyczny damski Scout 24"</Nazwa> </Towar> Chcemy teraz dodad do pliku cechy Kolor oraz Typ, które w organizatorze listy są widoczne jako Features.Kolor i Features.Typ. Zgodnie więc z logiką rozszerzania pliku XML do importu, po uzupełnieniu o cechy będzie on wyglądał tak (uwaga tu występuje pewne odstępstwo od ogólnej reguły tag features ma nazwę pisaną z małej litery): <session xmlns="http://www.soneta.pl/schema/business" business="true"> <Towar key="kod=row_td_scout_24"> <Kod>ROW_TD_SCOUT_24</Kod> <Nazwa>Rower turystyczny damski Scout 24"</Nazwa> <Kolor>niebieski</Kolor> <Typ>turystyczny</Typ> </Towar> 3

2.1 Cechy z nazwami wieloczłonowymi Problem pojawia się, gdy cecha posiada nazwę wieloczłonową. Np. zamiast cechy Typ będzie zdefiniowana cecha Typ modelu. Tag importujący cechy nie może wyglądad w ten sposób: <Kolor>niebieski</Kolor> <Typ modelu>turystyczny</typ modelu> bo nie będzie to wówczas poprawny plik XML. W takim wypadku stosuje się inną notację gdzie nazwa cechy jest atrybutem: <feature name="kolor">czerwony</feature> <feature name="typ modelu">turystyczny</feature> W ten sposób jest możliwośd importowania cech do dowolnych obiektów w enova. 2.2 Import cech referencyjnych Szczególnym rodzajem cech są cechy referencyjne. Dodajmy do towaru kolejną cechę Drugi dostawca, typu referencyjnego, tabela danych referencyjnych Kontrahenci. W tym wypadku możliwe jest przekazanie wartości takiej cechy wyłącznie przez GUID lub przez ID. W przypadku identyfikacji przez GUID taki zapis będzie wyglądał następująco: <feature name="drugi dostawca">kontrahent:ba66f548-1660-11d7-9ab0-000795c951c8</feature> Lub w uproszczeniu: <feature name="drugi dostawca">ba66f548-1660-11d7-9ab0-000795c951c8</feature> W przypadku identyfikacji przez ID, musi ono byd poprzedzone znakiem #: <feature name="drugi dostawca">kontrahent:#3</feature> Lub w uproszczeniu: <feature name="drugi dostawca">#3</feature> 4

3 Import zapłat Może zdarzyd się, że wraz z dokumentem handlowym chcemy zaimportowad również wpłatę do tego dokumentu. Przykładowo chcemy aby import paragonu z pliku XML wprowadził również zapłatę za paragon i powiązał tą wpłatę z należnością. 3.1 Import wpłaty gotówkowej W pierwszej kolejności musimy zaimportowad wpłatę. Dokumenty wpłat mogą byd wprowadzane w enova na różne sposoby (przez Dokumenty, Raporty lub Ewidencję). W przykładzie zajmiemy się wprowadzaniem przez Dokumenty, czyli tak, jak w standardowej kasie gotówkowej. Podstawowy plik dla takiego importu wygląda tak: <session xmlns="http://www.soneta.pl/schema/business" business="true"> <DokKasowyBase class="soneta.kasa.dokumentwplata,soneta.kasa" raport="4334ca3e- 25e8-4505-9e70-607d93e87d8e"> <Kasa>00000000-0003-0002-0001-000000000000</Kasa> <Definicja>00000000-0003-0003-0001-000000000000</Definicja> <Data>2011-07-18</Data> <Zaplata class="soneta.kasa.wplata,soneta.kasa"> <Podmiot>Kontrahent:00000000-0009-0002-0001-000000000000</Podmiot> <Kwota>123.00 PLN</Kwota> <Opis>Zapłata za paragon</opis> </Zaplata> <Bufor>False</Bufor> </DokKasowyBase> Niestety taki plik ma zasadniczą wadę, polegającą na posługiwaniu się GUID-ami. O ile w przypadku tagów Kasa i Definicja możemy się łatwo pozbyd GUID-ów, wykorzystując atrybut where, o tyle w przypadku Raport i Podmiot nie będzie to takie łatwe. Wynika to stąd, że: Raport występuje w konstruktorze klasy DokumentWplata, musi byd więc wprowadzony jako atrybut (a nie jako tag). A nie możemy zastosowad atrybutu dla atrybutu. Podmiot w przypadku zapłaty może byd kontrahentem, pracownikiem, bankiem itp. Musi byd więc określony jego typ. Przy takiej konstrukcji możemy się posłużyd jedynie GUID-em lub ID. 3.1.1 Identyfikacja raportu i podmiotu Rozwiązaniem powyższego problemu jest wprowadzenie do pliku XML raportu oraz podmiotu (kontrahenta) jako zupełnie odrębnych tagów. Zostaną one zidentyfikowane za pomocą atrybutu key (po polu unikalnym dla kontrahenta będzie to kod, a dla raportu numer), a na zapłacie zostaną podstawione za pomocą wewnętrznych identyfikatorów (o użyciu atrybutu key, oraz o wewnętrznych identyfikatorach była mowa w poprzednim artykule). <session business="true" xmlns="http://www.soneta.pl/schema/business"> <RaportESP id="raport_1" key="numer.pelny=rk/kasa/2011/07/0012"></raportesp> <Kontrahent id="podmiot_1" key="kod=zefir"></kontrahent> <DokKasowyBase class="soneta.kasa.dokumentwplata,soneta.kasa" Raport="Raport_1"> <Kasa where="symbol=kasa" /> <Definicja where="symbol=kp" /> 5

<Kierunek>Przychod</Kierunek> <Data>2011-07-18</Data> <Bufor>True</Bufor> <Zaplata class="soneta.kasa.wplata,soneta.kasa"> <Podmiot>Podmiot_1</Podmiot> <Kwota>123.00 PLN</Kwota> <Opis>Zapłata za paragon</opis> </Zaplata> </DokKasowyBase> Proszę zwrócid uwagę, że np. kontrahent ma tag, który dzięki atrybutowi key spowoduje wyszukanie kontrahenta w bazie danych, a za pomocą wewnętrznego identyfikatora (id="podmiot_1") zostanie potem podstawiony na dokumencie wpłaty. Oczywiście, taka zawartośd pliku XML zakłada, że zarówno kontrahent jak i raport kasowy istnieją w bazie danych. 3.2 Import rozliczenia Teraz pozostaje połączenie pliku zawierającego paragon z plikiem zawierającym wpłatę oraz dodanie rozliczenia pomiędzy płatnością paragonu i wpłatą. W tym celu tagi płatnośd i i wpłata otrzymają wewnętrzne identyfikatory (odpowiednio Platnosc_1 i Zaplata_1), którymi posłużymy się w tagu importującym rozliczenie. Dodanie wewnętrznego identyfikatora do płatności: <Platnosc class="soneta.kasa.naleznosc,soneta.kasa" id="platnosc_1"> [...] </Platnosc> Dodanie wewnętrznego identyfikatora do wpłaty: <Zaplata class="soneta.kasa.wplata,soneta.kasa" id="zaplata_1"> [...] </Zaplata> I import rozliczenia: <RozliczenieSP id="rozliczeniesp_1" dokument="platnosc_1" zapłata="zaplata_1"> </RozliczenieSP> Cały plik będzie wyglądał następująco: <session business="true" xmlns="http://www.soneta.pl/schema/business"> <RaportESP id="raport_1" key="numer.pelny=rk/kasa/2011/07/0012"></raportesp> <Kontrahent id="podmiot_1" key="kod=zefir"></kontrahent> <DokumentHandlowy id="dokument_1"> <Definicja where="symbol=par" /> <Magazyn where="symbol=f" /> <Data>2010-04-27</Data> <Kontrahent>Podniot_1</Kontrahent> <Platnosci> <Platnosc class="soneta.kasa.naleznosc,soneta.kasa" id="platnosc_1"> <SposobZaplaty where="nazwa=gotówka"/> <Kwota>123.00 PLN</Kwota> 6

<TerminDni>0</TerminDni> </Platnosc> </Platnosci> <Pozycje> <Pozycja> <Towar where="kod=montaz" /> <Ilosc>1 szt</ilosc> <Cena>123.00 PLN</Cena> </Pozycja> </Pozycje> <Stan>Zatwierdzony</Stan> </DokumentHandlowy> <DokKasowyBase class="soneta.kasa.dokumentwplata,soneta.kasa" Raport="Raport_1"> <Kasa where="symbol=kasa" /> <Definicja where="symbol=kp" /> <Kierunek>Przychod</Kierunek> <Data>2011-07-18</Data> <Bufor>True</Bufor> <Zaplata class="soneta.kasa.wplata,soneta.kasa" id="zaplata_1"> <Podmiot>Podmiot_1</Podmiot> <Kwota>123.00 PLN</Kwota> <Opis>Zapłata za paragon</opis> </Zaplata> </DokKasowyBase> <RozliczenieSP id="rozliczeniesp_1" dokument="platnosc_1" zapłata="zaplata_1"> </RozliczenieSP> 3.2.1 Rozliczenie części kwoty Gdyby rozliczenia miała podlegad nie cała kwota, ale tylko jej częśd, wówczas tag RozliczenieSP powinien zawierad dodatkowo informację o tej kwocie: <RozliczenieSP id="rozliczeniesp_1" dokument="platnosc_1" zapłata="zaplata_1"> <KwotaDokumentu>100.00 PLN</KwotaDokumentu> </RozliczenieSP> 4 Uruchamianie importu z kodu Czasami w rozwiązaniach dodatkowych dla enova pojawia się potrzeba automatycznego uruchomienia importu danych z pliku XML (z poziomu kodu własnego programu czy serwisu). Za wczytywanie danych z plików XML odpowiada klasa SessionReader. Zakładając, że do zmiennej filename podstawiona zostanie nazwa pliku XML, a w zmiennej login będzie obiekt loginu do enova, samo zaimportowanie danych z pliku zawiera 3 linie kodu: // Soneta.Business.App.Login login; // string filename = "C:\\Folder\\NazwaPliku.XML"; System.Xml.XmlTextReader reader = new System.Xml.XmlTextReader(filename); reader.whitespacehandling = System.Xml.WhitespaceHandling.Significant; new SessionReader(login).Read(reader); 7

5 Podsumowanie W dwóch artykułach dotyczących importu danych z plików XML przedstawione zostały podstawowe zasady konstrukcji plików importu. Zawarte w artykułach informacje mogą posłużyd do budowy zewnętrznych mechanizmów wymiany danych pomiędzy oprogramowaniem firm trzecich a systemem enova (przykładowo import zamówieo ze sklepu internetowego za pomocą plików XML). Wszystkie przykłady bazowały na imporcie dokumentów handlowych i powiązanych z nimi danych. Wynika to stąd, że najczęściej pojawia się potrzeba integracji właśnie w tym obszarze. Oczywiście informacje zawarte w artykułach, dotyczące zasad konstrukcji plików, identyfikacji danych, dodawania nowych pól do plików importowych itp. mają charakter ogólny i mogą byd pomocne w budowaniu plików wymiany w innych obszarach. 8