Professional Documents
Culture Documents
7 Co to jest XML?.............................................................................. 11
8 Informacje ogólne na temat struktury plików XML...................... 12
9 Informacje szczegółowe na temat importu danych ..................... 14
3 Założenia podstawowe
1. Model pracy off-line jest adresowany do zastosowań Klient - Biuro rachunkowe, ale także Dział sprzedaży/płac
– Centrala/Księgowość w firmie wielo-oddziałowej. Dla uproszczenia w dalszym opisie przyjęto pierwszy przykład
zastosowania.
2. Klient pracuje na modułach operacyjnych, w których wprowadzane są wszelkie dokumenty.
3. Biuro rachunkowe przetwarza na potrzeby księgowe dokumenty wprowadzone uprzednio przez Klienta. Biuro
rachunkowe nie wprowadza żadnych dokumentów o charakterze „operacyjnym”, poza raportami kasowo/bankowymi.
4. Praca w trybie off-line nie rozwiązuje problemu replikacji dwukierunkowej dla potrzeb pracy firmy wielooddziałowej,
jak również pracy rozproszonej w firmie. W takich przypadkach Klient może skorzystać
z zaproponowanego ograniczonego modelu lub jeśli takie rozwiązanie jest niewystarczające, powinien zastosować
model on-line (oparty o usługi terminalowe).
5. Do przenoszenia danych stosujemy uniwersalny nośnik, jakim są pliki w formacie XML.
W polu Identyfikator księgowości i Identyfikator działu sprzedaży/płac wprowadzamy maksymalnie 5 znakowy symbol
(istotna jest wielkość liter), po którym będzie następowała identyfikacja tych działów. Istotne jest, aby był
wprowadzony taki sam Identyfikator księgowości w obu bazach – operacyjnej i księgowej. Program weryfikuje
w ten sposób czy dany plik XML, zawierający dane wygenerowane w dziale sprzedaży/płac, jest przeznaczony dla tej
właśnie bazy księgowej.
Poniżej określamy nazwy rejestrów dla dokumentów handlowych. Sekcja ta jest widoczna tylko wtedy, gdy ustawimy
w konfiguracji: dział sprzedaży/płac. Nazwy rejestrów, innych niż domyślne, można zdefiniować
w konfiguracji w sekcji: Konfiguracja/Firma/Księgowość. Dodatkowo można wybrać:
1. czy do Kwot dodatkowych dla dokumentów WZ i WKA będą przenoszone kwoty wg cen sprzedaży czy wg
cen zakupu;
2. czy eksportować dokumenty fiskalne;
3. czy eksportować dokumenty MM;
4. czy eksportować faktury wystawione w module Faktury (Handel) z Rejestrów VAT (najpierw należy wtedy
przenieść faktury z listy faktur do Rejestrów VAT a następnie wykonać eksport).
Po ustawieniu parametrów konfiguracyjnych w menu Narzędzia pojawia się dodatkowa pozycja Praca rozproszona,
umożliwiająca import i eksport danych.
7 Co to jest XML?
Eksport i import danych odbywa się za pośrednictwem plików w formacie XML – dzięki temu zostały spełnione
założenia projektowe dotyczące łatwości implementacji w różnych systemach (również programach firm trzecich) oraz
elastyczności w zakresie ewentualnych zmian danych z zachowaniem kompatybilności z poprzednimi wersjami.
XML (skrót od eXtensible Markup Language - rozszerzalny język znaczników) to otwarty standard opracowany przez
W3C. XML nie jest kolejnym językiem do przechowywania konkretnych danych, jak np. język HTML opisujący wygląd
stron sieciowych. XML to język opisujący dane, czyli metajęzyk. W uproszczeniu można powiedzieć, że XML służy do
tworzenia innych języków (aplikacji XML) służących do przechowywania informacji. Jeśli mamy potrzebę zapisywania
określonych danych o określonej strukturze, XML okaże się najlepszym narzędziem, bez względu jakie by te dane nie
były. W przeciwieństwie do np. HTML, XML nie ma ograniczonej liczby znaczników, bo pozwala przechowywać
dowolne dane i to w jak najbardziej wygodny dla nas sposób, bo sami go określamy. Sami określamy strukturę danych,
która może być tabelaryczna, ale może także tworzyć drzewo. W ten sposób nie jesteśmy, jako twórcy baz danych
XML w żaden sposób ograniczeni. Na tym właśnie polega wyższość XML nad innymi formatami zapisu danych.
Potrzeba uniwersalnego i czytelnego formatu danych widoczna była od dawna, a w czasach gwałtownego
powiększania się Sieci stała się koniecznością. Wreszcie pojawił się format pozwalający na łatwe przechowywanie
dowolnych danych. Dzięki oddzieleniu treści od formy (czego nie umożliwia HTML) łatwo skupić się na samych danych.
Programy mogą dzięki formatowi XML łatwiej wymieniać dane i je przetwarzać.
<!--
Ten przykład zawiera tylko dwa rekordy, ale może mieć ich tyle, ile jest miejsca na dysku :-)
-->
<ludzie>
<człowiek>
<imie>Jan</imie>
<nazwisko>Kowalski</nazwisko>
<poczta>jan.kowalski@comarch.pl</poczta>
<web>http://www.comarch.com/cdn</web>
</człowiek>
<człowiek>
<imie>Józef</imie>
<nazwisko>Nowak</nazwisko>
<poczta>jozef.nowak@comarch.pl</poczta>
<web>http://www.comarch.com/cdn</web>
</człowiek>
3. Nie ma obowiązku umieszczania wszystkich podwęzłów w pliku eksportowym. Jeśli jakaś grupa danych nie
podlega eksportowi, to odpowiedni podwęzeł jest pomijany w zapisie – np. jeśli nie wyeksportujemy raportów
kasowo-bankowych, to nie zostanie wyeksportowany podwęzeł <RAPORTY_KB>,
4. Węzeł lub podwęzeł jako taki sam nie zawiera danych – są one rozmieszczone w podpiętej do niego strukturze
pól (znaczników, etykiet, tagów),
5. Dane są umieszczone jako wartości pól, a nie atrybuty pól, czyli jest zawsze:
<NUMER>12</NUMER>
a nie:
<NUMER value=12></NUMER>
6. W przypadku występowania w pliku XML braku wartości lub wartości pustych, dane w bazie danych zostają
nadpisane pustymi danymi. Wyjątek stanowią po kategoria sprzedaży, kategoria zakupu, forma płatności,
termin płatności, parametry: „Nie rozliczaj płatności”, „Nie naliczaj odsetek dla płatności „oraz „Nie naliczaj
płatności na dokumentach WKA/PKA” na karcie kontrahenta. W przypadku pustych wartości w pliku XML, nie
są one nadpisywane.
7. Podwęzły dzielimy na grupujące dane oraz tworzące listy danych. W zamieszczonej poniżej strukturze podział
ten został odzwierciedlony poprzez zastosowanie w tekście kolorów: grupy – niebieski, listy
– brązowy. Dodatkowo wyboldowane zostały węzły nadrzędne, tj. te, które są podpięte bezpośrednio do węzła
<ROOT>.
Podobnie wygląda sytuacja jeśli próbujemy wykonać niepełny import danych – np. importujemy słownik kontrahentów
z przypisanymi kategoriami, ale nie importujemy w ogóle słownika kategorii – ponieważ nie można nawiązać relacji
pomiędzy węzłami <KATEGORIE> i <KONTRAHENCI> program wyświetli podczas importu ostrzeżenie. Jeśli w ten
sam sposób wykonamy import danych, w których występują pola wymagane, w imporcie zostaną pominięte zapisy,
które mogłyby powodować rozsynchronizowanie bazy danych.
Jeżeli podczas importu danych wystąpi jakiś błąd i któraś z pozycji nie zostanie zaimportowane, program zapisuje cały
subwęzeł odpowiadający tej nie zaimportowanej pozycji do pliku tymczasowego (plik XML o strukturze identycznej jak
plik wymiany danych). Jeżeli w czasie importu wystąpiły błędy, po dokonaniu importu program wyświetla nazwę pliku
tymczasowego zawierającego nie zaimportowane pozycje. Dzięki temu można w prosty sposób sprawdzić, które
pozycje nie zostały zaimportowane, oraz – po ewentualnym usunięciu przyczyny powstania błędu – dokonać importu
tych pozycji z pliku tymczasowego (jak zaznaczono, plik ten ma identyczną strukturę, jak plik wymiany danych). W
przypadku raportów kasowo-bankowych zasada ta ma szczególny sposób działania – jeżeli błąd wystąpi przy co
najmniej jednym zapisie, to nie jest importowany cały raport i do pliku tymczasowego trafia węzeł odpowiadający za
cały raport kasowo-bankowy.
Legenda
- kolor czarny - informacje zapisane w ramach węzła lub subwęzła
- kolor czerwony – zmiany w strukturze pliku w wersji okreśonej w tytule biuletynu
- <ROOT xmlns="http://www.comarch.pl/cdn/optima/offline Plik zawsze zawiera jeden (i tylko jeden) węzeł na najwyższym
"> poziomie, o nazwie ROOT. Węzeł ten ma określony
namespace jak obok.
- <ATRYBUTY> Węzeł <ATRYBUTY> zawiera listę atrybutów kontrahenta i
dokumentu zapisanych w bazie programu Comarch ERP
Optima. Węzeł <ATRYBUTY> może zawierać wiele węzłów
<ATRYBUT> odpowiadającym poszczególnym atrybutom.
<WERSJA> Obowiązująca wersja pliku wymiany danych: 2.00. Węzeł
wymagany.
<BAZA_ZRD_ID> STRING(5)
Identyfikator bazy, z której pochodzą zapisy. Węzeł wymagany.
<BAZA_DOC_ID> STRING(5)
Identyfikator bazy, do której kierowane są zapisy, musi być
identyczny jak identyfikator bazy księgowej określony w
konfiguracji Comarch ERP Optima. Węzeł wymagany.
- <ATRYBUT> Węzeł <ATRYBUT> zawiera dane dotyczące pojedynczego
atrybutu.
<TYP> Typ atrybutu. Pole przyjmuje wartości: dokumentu lub
kontrahenta.
<KOD> STRING (20)
Kod Atrybutu
<ID_ZRODLA> STRING(36)
Unikalny identyfikator kategorii w bazie źródłowej. Tag ten
powinien mieć taką wartość, aby zapewnić unikalność
identyfikatora w całym zbiorze kategorii. Jeżeli wartość węzła
nie zostanie wypełniona, identyfikator zostanie nadany przy
imporcie.
<NAZWA> STRING (40)
Nazwa atrybutu
<FORMAT> Format atrybutu. Pole przyjmuje wartości: tekstowe, data,
liczbowe, lista.
<ZALEZNY> Czy zależny od kontrahenta. Pole przyjmuje wartości: tak lub
nie
<CZY_KOPIOWAC_FA> Czy dokleić do opisu dokumentu. Pole przyjmuje wartości: tak
lub nie
<CZY_KOPIOWAC_DO_VAT> Czy kopiować przy księgowaniu do rejestru VAT. Pole
przyjmuje wartości: tak lub nie
<NUMER_P> STRING(40)
Numer obcy dokumentu rozliczającego.
<DATA_ROZ> RRRR-MM-DD
Data dokumentu.
<KWOTA_ROZ> NUMERIC
Kwota rozliczenia
Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą
kserograficzną, fotograficzną, a także kopiowanie na nośniku filmowym, magnetycznym lub innym, powoduje naruszenie praw autorskich niniejszej
publikacji.