oferta na zakup (dostawcy), 768 – oferta sprzedaży (nasza), 1152 – zamówienie na zakup (do dostawcy), 1280 – zamówienie sprzedaży (od klienta), 2688 – zapyt. ofert. na zakup, 2816 – zapyt. ofert. na sprzedaż, Powstały w wyniku sklejenia masek: 1024 – zamówienie, 512 – oferta, 2048 – dokument pomocniczy (zapytanie lub potwierdzenie), 256 – na sprzedaż, 128 – na zakup.
Tabela 10 Sekcja z elementami dokumentu handlowego i odpowiednik pól w tabelach bazy ERP XL
<TREI/>
Opis
ERP XL
<TRE>
Sekcja z elementami dokumentu handlowego
TraElem, TraSElem
NiePrzeliczaj
GIDTyp
GID Elementu transakcji
TrE_GIDTyp
GIDLp
Numer kolejny elementu transakcji
TrE_GIDLp
SubGIDLp
–
–
Pozycja
Pozycja elementu na dokumencie
TrE_Pozycja
JmZ
Jednostka pomocnicza
TrE_JmZ
PrzeliczM
Mianownik przelicznika
TrE_PrzeliczM
PrzeliczL
Licznik przelicznika
TrE_PrzeliczL
TwrNumer
GID towaru
TrE_TwrNumer
Wartosc
Cena
Cena początkowa
TrE_Cena
GrupaPod
Symbol grupy podatkowej
TrE_GrupaPod
StawkaPod
Stawka podatku
TrE_StawkaPod
CenaSpr
Cena domyślna dla transakcji
TrE_CenaSpr
Poczatkowa
Cena początkowa
TrE_Poczatkowa
Rabat
Procent udzielonego rabatu
TrE_Rabat
Ilosc
Ilość na jaką opiewa transakcja
TrE_Ilosc
Opis
Opis elementu
TeO_Opis
DstNumerO
GID dostawy
TrS_Dstnumer
DstNumer
GID dostawy
TrS_DstNumer
Gratis
Rodzaj elementu promocji pakietowej
0 – element, 1 – gratis
TrE_Gratis
PakietID
Identyfikator promocji pakietowej
TrE_PakietID
PakietProgID
Zlom
Element traktowany jako odwrotne obciążenie
0 – element, 1 – odwrotne obciążenie
TrE_Zlom
Dokumenty magazynowe (MANI)
Tabela 11 Sekcja z dokumentami magazynowymi i odpowiednik pól w tabelach bazy ERP XL
<MANI/>
Opis
ERP XL
<MAN>
Sekcja z nagłówkami dokumentów magazynowych
MagNag
Typ
Identyfikator rekordu
MaN_GIDTyp
GIDTyp
Identyfikator rekordu
MaN_GIDTyp
GIDNumer
GID dokumentu w bazie mobilnej
MaN_OddDokId
OddDokID
GID dokumentu w bazie mobilnej
MaN_OddDokId
MaN_ZewnetrzneId
Identyfikator dokumentu w systemie zewnętrznym
MaN_ZewnetrzneId
MaN_ZewnetrznySys
Identyfikator systemu zewnętrznego
MaN_ZewnetrznySys
Data
Data wystawienia dokumentu
MaN_Data3
Rok
Rok transakcji
MaN_TrNRok
Miesiac
Miesiąc transakcji
MaN_TrNMiesiac
Numer
Numer transakcji
MaN_TrNNumer
MAG_GIDNumer
GID magazynu docelowego
MaN_MagDNumer
Cecha
Cecha transakcji
MaN_CechaOpis
Knt_GIDNumer
Identyfikator kontrahenta
MaN_KntNumer
SER_GIDnumer
GID serii dokumentu
MaN_TrNSeria
Opis
Opis dokumentu
MnO_Opis
OpeId
Identyfikator operatora
MaN_OpeNumer
FrsID
Identyfikator centrum – właściciela dokumentu
MaN_FrsID
Element dokumentu magazynowego (MAE)
Tabela 12 Sekcja z elementem dokumentu magazynowego i odpowiednik pól w tabelach bazy ERP XL
<MAE/>
Opis
ERP XL
Sekcja z elementami dokumentu magazynowego
MagElem
TwrNumer
Identyfikator towaru
MaE_TwrNumer
Ilosc
Ilość w jednostce podstawowej
MaE_Ilosc
JmZ
Jednostka pomocnicza
MaE_JmZ
PrzeliczL
Licznik przelicznika
MaE_PrzeliczL
PrzeliczM
Mianownik przelicznika
MaE_PrzeliczM
Opis
Opis elementu
MnO_Opis
Subelement elementu dokumentu magazynowego (MAS)
Tabela 13 Sekcja z subelementem dokumentu magazynowego i odpowiednik pól w tabelach bazy ERP XL
<MAS/>
Opis
ERP XL
Sekcja z subelementami dokumentu magazynowego
MagSElem, MagPElem
Ilosc
Ilość na jaką opiewa transakcja
MaS_Ilosc
DstNumer
Identyfikator dostawy
MaS_DstNumer
Reklamacje (RLNI)
Tabela 14 Sekcja z reklamacjami i odpowiednik pól w tabelach bazy ERP XL
<RLNI/>
Opis
ERP XL
<RLN>
Sekcja z nagłówkami reklamacji
ReklNag
DokumentNr
–
Id
GID reklamacji w bazie mobilnej
RLN_OddDokId
OddDokID
GID reklamacji w bazie mobilnej
RLN_OddDokId
Typ
GIDTyp reklamacji
3584 – RLS
RLN_Typ
KntTyp
Gid Kontrahenta
RLN_KntTyp
KntNumerC
GID kontrahenta
RLN_KntNumer
KnDTyp
GID Kontrahenta docelowego
RLN_KnDTyp
KnDNumer
GID kontrahenta docelowego
RLN_KnDNumer
KnDLp
GID Kontrahenta docelowego
RLN_KnDLp
AdWNumer
GID adresu wysyłkowego
RLN_AdWNumer
AdWTyp
GID adresu wysyłkowego
RLN_AdWTyp
FrsID
Identyfikator właściciela dokumentu
RLN_FrsID
DataWyst
Data wystawienia dokumentu
RLN_DataWyst
Rok
Rok reklamacji
RLN_Rok
Miesiac
Miesiąc reklamacji
RLN_Miesiac
Seria
Seria reklamacji
RLN_Seria
Numer
Numer reklamacji
RLN_Numer
Stan
Stan dokumentu
1- niepotwierdzona, 2-niepotwierdzona po reedycji, 6-reklamacja anulowana, 10- potwierdzono, 20- w realizacji, 21- w realizacji po reedycji, 30- rozpatrzona, 31- rozpatrzona po reedycji, 40- zamknięta
RLN_Stan
Status
Status reklamacji
RLN_Status
OpeNumer
GID operatora wystawiającego
RLN_OpeNumer
CechaOpis
Wartość cechy transakcji
RLN_CechaOpis
Opis
Opis transakcji
RLN_Opis
Url
url
RLN_Url
DokumentObcy
Numer dokumentu obcego
RLN_DokumentObcy
Elementy reklamacji (RLEI)
Tabela 15 Sekcja z elementami reklamacji i odpowiednik pól w tabelach bazy ERP XL
<RLEI/>
Opis
ERP XL
<RLE>
Sekcja z elementami reklamacji
ReklElem
Id
Id rekordu w bazie mobilnej
RLE_OddElemId
OddElemId
Id rekordu w bazie mobilnej
RLE_OddElemId
ZrdTyp
GID elementu dokumentu żródłowego na podstawie, którego reklamowany jest dany towar
RLE_ZrdTyp
ZrdNumer
GID elementu dokumentu żródłowego na podstawie, którego reklamowany jest dany towar
RLE_ZrdNumer
ZrdLp
GID elementu dokumentu żródłowego na podstawie, którego reklamowany jest dany towar
RLE_ZrdLp
DokNumer
Numer dokumentu z pól: RKE_ZrdGID lub tekst, jaki wprowadzi ręcznie operator w polu Numer.
RLE_DokNumer
TwrTyp
GID towaru
RLE_TwrTyp
TwrNumer
GID towaru
RLE_TwrNumer
Ilosc
Ilość na jaką opiewa transakcja
RLE_Ilosc
JmFormat
Miejsca po przecinku
RLE_JmFormat
Zadanie
Żądanie reklamującego
RLE_Zadanie
Status
0 – rozpatrywana, 1 – Uznana, 2- Odrzucona
RLE_Status
Przyczyna
Przyczyna reklamacji
RLe_Przyczyna
Rozpatrzenie
Rozpatrzenie reklamacji
RLE_Rozpatrzenie
Wizyty Handlowe (CWNI)
Tabela 16 Sekcja z wizytami handlowymi i odpowiednik pól w tabelach bazy ERP XL
<CWNI/>
opis
ERP XL
<CWN>
Sekcja z nagłówkami wizyt handlowych
CRMWizytyNag
ID
–
ZewnetrznyId
Identyfikator wizyty w bazie mobilnej
CWN_ZewnetrznyId
OpeNumer
Numer operatora wystawiającego
CWN_OpeNumerW
Renumeruj
–
FrsId
Identyfikator centrum – właściciela dokumentu
CWN_FrsId
ZewnetrznySys
Identyfikator systemu zewnętrznego
CWN_ZewnetrznySys
WzNumer
Wzorzec wizyty
CWN_WzNumer
Opis
Opis wizyty
CWN_Opis
Jednorazowa
Czu wizyta jest jednorazowa
0 – NIE, 1 – TAK
CWN_Jednorazowa
CZyZMobile
–
NrKursu
Numer kursu
CWN_NrKursu
Stan
Stan wizyty
1 – Niepotwierdzona,
2 – Potwierdzona,
3 – Anulowana,
4 – Zakończona,
5 – W realizacji
CWN_Stan
Zakonczono
Czy wizyta jest zakończona
0 – nie,
1 – zakończona/wykonana,
2 – zakończona/niewykonana,
3 – zakończona/odrzucona
CWN_Zakonczono
DataWystawienia
Data wystawienia
CWN_DataWystawienia
Rok
Rok wystawienia dokumentu
CWN_Rok
Miesiac
Miesiąc dokumentu
CWN_Miesiac
TypId
Typ wizyty (wartość ze słownika kategorii)
CWN_TypId
Seria
Seria dokumentu
CWN_Seria
Nazwa
Nazwa wizyty
CWN_Nazwa
Numer
Numer dokumentu
CWN_Numer
KntNumer
Numer kontrahenta głównego
CWN_KntNumer
KntTyp
Typ kontrahenta głównego
CWN_KntTyp
KnANumer
Numer adresu kontrahenta głównego
CWN_KnANumer
KnATyp
Typ adresu kontrahenta głównego
CWN_KnATyp
KntOsobaLp
Osoba z karty kontrahenta
CWN_KntOsobaLp
TerminOd
Planowana data/godzina rozpoczęcia wizyty
CWN_TerminOd
TerminDo
Planowana data/godzina zakończenia wizyty
CWN_TerminDo
Obsluga
Identyfikator pracownika obsługującego
CWN_Obsluga
DataZakonczenia
Data/godzina zakończenia realizacji wizyty
CWN_DataZakonczenia
DataZakonczeniaOd
Data/godzina rozpoczęcia wizyty
CWN_DataZakonczeniaOd
Element wizyty handlowej (CWE)
Tabela 17 Sekcja z elementem wizyty handlowej i odpowiednik pól w tabelach bazy ERP XL
<CWE/>
Opis
ERP XL
Sekcja z elementami wizyt handlowych
CRMWizytyElem
GIDLp
GIDLp rekordu
CWE_GIDLp
Wykonano
Czy wykonano
0 nie, 1 – tak
CWE_Wykonano
Kod
Kod elementu wizyty
CWE_Kod
Nazwa
Nazwa elementu wizyty
CWE_Nazwa
Pozycja
Pozycja elementu wizyty
CWE_Pozycja
Opis
Opis elementu wizyty
CWE_Opis
Wymagany
Czy wymagany do wykonania
0 – nie, 1 tak
CWE_Wymagany
RodzajId
Identyfkator rodzaju elementu wizyty
CWE_RodzajId
sekcja zwracająca obiekty dla wizyty, jak np. Załączniki (CWOI)
Dokument powiązany z elementem wizyty (CDL)
Tabela 18 Sekcja z dokumentem powiązanym z elementem wizyty i odpowiednik pól w tabelach bazy ERP XL
<CDL/>
Opis
ERP XL
Sekcja z dokumentami powiązanymi z wizytą handlową
CRMDokumentyLinki
DokTyp
GIDTyp powiązanego dokumentu
CWD_DokTyp
DokNumer
–
DokZewNumer
Numer dokumentu w bazie mobilnej
–
Raporty (KRPI)
Tabela 19 Sekcja z raportami kasowymi i odpowiednik pól w tabelach bazy ERP XL
<KRPI/>
opis
ERP XL
<KRP>
Sekcja z raportami kasowymi
Raporty
GIDNumer
GID raportu w bazie mobilnej
KRP_ZewnetrznyId
Rok
Rok raportu
KRP_Rok
Numer
Numer raportu
KRP_Numer
Seria
Seria (skrót nazwy kasy/banku)
KRP_Seria
RaportNr
Pełny numer raportu
–
DataOtwarcia
Data otwarcia raportu
KRP_DataOtwarcia
DataZamkniecia
Data zamknięcia raportu
KRP_DataZamkniecia
CzasOtwarcia
Data i godzina otwarcia raportu
KRP_CzasOtwarcia
CzasZamkniecia
Data i godzina zamknięcia raportu
KRP_CzasZamkniecia
OpeNumer
GID operatora księgującego raport
KRP_OpeNumerKs
OpeNumerZam
GID operatora zamykającego raport
KRP_OpeNumerZam
Zapisy kasowe/bankowe (KAZI)
Tabela 20 Sekcja z zapisami kasowymi i odpowiednik pól w tabelach bazy ERP XL
<KAZI/>
Opis
ERP XL
<KAZ>
Sekcja z zapisami kasowymi
Zapisy
GIDNumer
GID zapisu w bazie mobilnej
KAZ_ZewnetrznyId
OpeNumer
GID operatora wpisującego do raportu
KAZ_OpeNumerRm
OpeNumerR
GID operatora wpisującego do raportu
KAZ_OpeNumerR
OpeNumerB
GID operatora wpisującego do bufora
KAZ_OpeNumerB
KntTyp
GID kontrahenta/pracownika
KAZ_KntTyp
KntNumer
GID Kontrahenta/pracownika
KAZ_KntNumer
NumerDokumentu
Numer dokumentu
KAZ_NumerDokumentu
DataZapisu
Data dokumentu kasowego
KAZ_DataZapisu
CzasZapisu
Data i czas zapisu dokumentu kasowego
KAZ_CzasZapisu
DataDokumentu
Data dokumentu źródłowego
KAZ_DataDokumentu
Kwota
Kwota zapisu
KAZ_Kwota
KRPLp
Lp LONG dla uniknięcia przepełn. buforów
KAZ_KRPLp
Opis
Opis zapisu
KAZ_Opis
Tresc
Treść zapisu
KAZ_Tresc
Seria
Seria (skrót nazwy kasy)
KAZ_Seria
RP
Rozchód/przychód
KAZ_RP
Rozliczenia (ROZI)
Tabela 21 Sekcja z rozliczeniami i odpowiednik pól w tabelach bazy ERP XL
Testy integralności z zakresu modułu: Logistyka, służą do monitorowania poprawności, spójności, przejrzystości bazy pod kątem danych logistycznych, do koordynowania prawidłowości relacji między odpowiednimi tabelami. W przypadku istniejących nieprawidłowości, testy zgłaszają w logu błędy, ostrzeżenia i zwracają rekordy, będące efektem błędogennej sytuacji w bazie, bądź będące skutkiem czynności wykonywanych przez Użytkownika w sposób niepoprawny (powodujących zaburzenia w utrzymaniu spójności danych).
Poniższy rysunek przedstawia listę dostępnych standardowych testów integralności z logistyki
Lista testów integralności z zakresu logistyki.
Poza wymienionymi, istnieje również możliwość definiowania odpowiednich testów, w zależności od potrzeb Użytkownika, przy wykorzystaniu wyrażenia SQL (zakładka: Testy definiowane).
Ponadto, można określić zakres czasowy, dla którego będzie wykonywany test i tym samym otrzymania wyników odnoszących się właśnie dla tego przedziału czasowego. Takich ustawień, jak również parametryzacji zapuszczanych testów integralności związanych np. z poziomem szczegółowości loga, dokonuje się na zakładce: Ogólne, okna: Testy integralności.
Testy integralności, zakładka: Ogólne.
Celem niniejszego biuletynu jest analiza testów integralności oscylujących wokół zagadnień logistycznych, w kontekście zwracanych przez test typowych błędnych rekordów. Skoncentrowano się głównie na propozycjach napraw, potencjalnie mogących wystąpić, niepoprawnych zdarzeń w bazie. Omówiono testy z grupy:
Poprawność danych kart kontrahentów i towarów
Zgodność magazynu
Zgodność transakcji
Zgodność dostaw
Zgodność inwentaryzacji
Sprzedaż
Poprawność danych kontrahentów
Sprawdza poprawność danych kart kontrahentów. Obejmuje też poprawność adresów kontrahentów
(tabele cdn.KntKarty, cdn.KntAdresy).
Porównywane są pola:
Knt_GIDNumer, KnA_KntNumer
Pojawiające się komunikaty:
Niezgodność gidów pomiędzy kartą kontrahenta a jego adresem – Komunikat taki może pojawić się, kiedy w tabeli cdn.KntKarty wskazanie jest na adres, który ma przypisanego innego kontrahenta. Można spróbować usunąć taki adres z karty kontrahenta (zakładka: Adresy). W większości przypadków konieczna jednak będzie interwencja z poziomu bazy.
Niezgodność, brak ustawionej formy płatności – Dla kontrahenta nie jest ustawiona forma płatności. Należy ustawić odpowiednia na karcie kontrahenta.
Niezgodność, kontrahent nie jest podpięty do żadnej grupy – Karta kontrahenta nie jest związana z żadną grupą. Należy ustawić ręcznie grupę na karcie kontrahenta (zakładka: Grupy).
Poprawność danych grup kontrahentów
Sprawdza poprawność grup kontrahentów (tabela cdn.KntGrupy).
Pojawiające się komunikaty:
Niezgodność, kontrahent nie ma określonej grupy domyślnej – Na karcie kontrahenta nie jest ustawiona żadna grupa domyślna. Należy ustawić ręcznie grupę na karcie kontrahenta (zakładka Grupy).
Niezgodność, grupa kontrahentów nie ma określonej grupy domyślnej – Na definicji grupy kontrahentów nie jest ustawiona żadna grupa domyślna. Należy uruchomić funkcję specjalną Naprawa grup domyślnych.
Poprawność danych towarów
Sprawdza poprawność danych kart towarowych (tabela cdn.TwrKarty).
Pojawiające się komunikaty:
Niezgodność, towar nie jest podpięty do żadnej grupy – Karta towaru nie jest związana z żadną grupą. Należy ustawić ręcznie grupę na karcie towaru (zakładka: Grupy).
Poprawność danych grup towarów
Sprawdza poprawność zapisanych w bazie informacji o grupach towarów (tabela cdn.TwrGrupy).
Pojawiające się komunikaty:
Niezgodność, towar nie ma określonej grupy domyślnej – Na karcie towaru nie jest ustawiona żadna grupa domyślna. Należy ustawić ręcznie grupę na karcie towaru (zakładka: Grupy).
Niezgodność, grupa towarów nie ma określonej grupy domyślnej – Na definicji grupa towaru nie jest ustawiona żadna grupa domyślna. Należy uruchomić funkcję specjalną Naprawa grup domyślnych.
Poprawność zamknięcia dokumentów VAT
Sprawdzana jest poprawność stanu zapisanych w bazie dokumentów (tabela cdn.TraNag).
Pojawiające się komunikaty:
Dokument nie został poprawnie zamknięty – Dokument wyświetlany jest na liście na czerwono. Jeżeli w trakcie wystawiania dokumentu komputer na przykład został wyłączony, to w bazie zapisywana jest informacja o tym kto i na jakim stanowisku dany dokument wystawiał. Należy edytować dokument z poziomu listy dokumentów, program powinien go automatycznie naprawić. Edycji powinna dokonać osoba która wystawiała dokument przed wystąpieniem awaryjnej sytuacji ze stanowiska z którego dokument był wystawiany.
Sprawdzenie duplikacji kodów EAN
Sprawdzana jest unikalność zapisanych w bazie kodów EAN (tabele cdn.TwrKarty, cdn.TwrZasoby, cdn.Dostawy, cdn.TwrJM)
Porównywane są pola:
Twr_Ean, TwZ_Ean, Dst_Ean, TwJ_EAN
Pojawiające się komunikaty:
Zduplikowany EAN – Należy poprawić kod EAN odpowiednio, na karcie towaru, jednostce pomocniczej itd. Możliwe, że konieczna będzie interwencja z poziomu bazy.
Należy też sprawdzić czy w: Konfiguracja->Sprzedaż->Kody EAN zaznaczona jest opcja Kontroluj unikalność numerów EAN. Po jej zaznaczeniu program będzie automatycznie pilnował unikalności wprowadzanych kodów EAN.
Zgodność magazynu
Zgodność kosztów księgowego i rzeczywistego oraz stanu handlowego
Sprawdzana jest zgodność kosztu księgowego i rzeczywistego oraz stanu handlowego zapisanego na elemencie i subelemencie dokumentu (tabela cdn.TraSElem, cdn.TraElem).
Niezgodność, kod koszt księgowy – niezgodność kosztu księgowego zapisanego na zasobie oraz na subelementach dokumentu.
Niezgodność, kod koszt rzeczywisty – niezgodność kosztu rzeczywistego zapisanego na zasobie oraz na subelementach dokumentu.
Niezgodność, kod ilość różnica – niezgodność ilości towaru zapisanej na zasobie oraz na subelementach dokumentu.
Poprawa błędów może się odbyć przy użyciu funkcji „Naprawa stanów towarów”, może się jednakokazać, że poprawa będzie się musiała odbyć z poziomu bazy.
Zgodność stanu magazynowego
Sprawdzana jest ilość zapisana na dokumencie magazynowym oraz zasobie. (tabele cdn.TwrZasoby, cdn.MagSElem)
Porównywane są pola:
TwZ_Ilmag, MaS_Ilosc
Pojawiające się komunikaty:
Niezgodność, różnica w zasobach w subelementach – niezgodnośc ilości towaru zapisanej na zasobie oraz na subelemencie dokumentu.
Należy uruchomić funkcję specjalną Naprawa stanów towarów. Może się jednak okazać, że konieczna będzie poprawa z poziomu bazy.
Zgodność ilości i kosztów w elementach transakcji z wartościami w subelementach
Zgodność w transakcjach rozchodowych
Sprawdzana jest zgodność kosztu księgowego i rzeczywistego oraz stanu handlowego zapisanego na elemencie i subelemencie dokumentów rozchodowych (tabele cdn.TraElem, cdn.Traselem).
Niezgodność, ilość w elemencie ilość w subelementach – niezgodność ilości towaru zapisanej na pozycji dokumentu oraz na subelemencie dokumentu.
Niezgodność, koszt rzeczywisty różnica w elemencie koszt w subelementach - niezgodność kosztu rzeczywistego zapisanego na pozycji dokumentu oraz na subelemencie dokumentu.
Niezgodność, koszt księgowy rozchodu w elemencie koszt w subelementach - niezgodność kosztu księgowego zapisanego na pozycji dokumentu oraz na subelemencie dokumentu.
Poprawa niezgodności wymaga interwencji z poziomu bazy.
Zgodność w transakcjach przychodowych
Sprawdzana jest zgodność kosztu księgowego i rzeczywistego oraz stanu handlowego zapisanego na elemencie i subelemencie dokumentów przychodowych (tabele cdn.TraElem, cdn.Traselem).
Niezgodność, ilość w elemencie ilość w subelementach – niezgodność ilości towaru zapisanej na pozycji dokumentu oraz na subelemencie dokumentu.
Niezgodność, koszt rzeczywisty różnica w elemencie koszt w subelementach – niezgodność kosztu rzeczywistego zapisanego na pozycji dokumentu oraz na subelemencie dokumentu.
Niezgodność, koszt księgowy przychodu w elemencie koszt w subelementach – niezgodność kosztu księgowego zapisanego na pozycji dokumentu oraz na subelemencie dokumentu.
Poprawa niezgodności wymaga interwencji z poziomu bazy.
Zgodność w transakcjach międzymagazynowych
Sprawdzana jest zgodność kosztu księgowego i rzeczywistego zapisanego na elemencie i subelemencie dokumentów przychodowych (tabele cdn.TraElem, cdn.Traselem).
Niezgodność, koszt księgowy różnica koszt w elemencie koszt w subelementach – niezgodność kosztu księgowego zapisanego na pozycji dokumentu oraz na subelemencie dokumentu.
Niezgodność, koszt rzeczywisty różnica w elemencie koszt w subelementach – niezgodność kosztu rzeczywistego zapisanego na pozycji dokumentu oraz na subelemencie dokumentu.
Poprawa niezgodności wymaga interwencji z poziomu bazy.
Zgodność transakcji
Zgodność ilości dostępnej na zasobie z ilościami wynikającymi z dokumentów
Sprawdzana jest zgodność ilości dostępnej na zasobie oraz wynikająca z dokumentów zarejestrowanych w programie (Tabele cdn.TwrZasoby, cdn.TraSElem, cdn.MagSElem).
Porównywane są pola:
Trs_ilosc, Mas_ilosc, Twz_ilosc
Pojawiające się komunikaty:
Niezgodność ilości między zasobem a wynikającą z dokumentów – Należy uruchomić funkcję specjalną Naprawa stanów towarów. Może się jednak okazać, że konieczna będzie poprawa z poziomu bazy.
Poprawa niezgodności wymaga interwencji z poziomu bazy.
Zgodność nagłówka z tabelą VAT, poprawny rejestr VAT
Sprawdza zgodność zapisanej informacji o wartości VAT na nagłówku i tabeli VAT dla dokumentów (tabele cdn.TraNag, cdn.TraVat).
Niezgodność nagłówka z płatnościami – Niezgodność informacji zapisanych na nagłówku dokumentu odnośnie płatności z informacjami zapisanymi w tabeli z płatnościami.
Poprawa niezgodności wymaga interwencji z poziomu bazy.
Zgodność kontrahenta z nagłówka z kontrahentem na płatności
Test zgodności danych o kontrahencie zapisanych na dokumencie i w tabeli Płatności (tabele cdn.TraNag, cdn.TraPlat).
Porównywane są pola:
trp_kntnumer, trn_knpnumer
Pojawiające się komunikaty:
Na dokumencie jest inny kontrahent niż na płatności – Niezgodność informacji zapisanych na dokumencie odnośnie kontrahenta z informacją zapisaną na płatności.
Poprawa niezgodności wymaga interwencji z poziomu bazy.
Poprawność płatności do spinaczy
Sprawdza czy dla płatności zapisanej w bazie istnieje spinacz który jest nią rozliczony (tabela TraPlat).
Porównywane są pola:
Pojawiające się komunikaty:
Niezgodność: brak spinacza na którego wskazuje płatność – W tabeli z płatności znaleziono zapis wskazujący na nieistniejący dokument.
Poprawa niezgodności wymaga interwencji z poziomu bazy.
Poprawność nagłówków spinaczy
Sprawdzana jest poprawność nagłówków spinaczy (tabela cdn.TraNag).
Porównywane są pola:
TrN_GID, TrN_SpiGID
Pojawiające się komunikaty:
Niezgodność: brak spinacza wskazywanego przez dokument – dokument ma zapisaną informację o spinaczu który nie istnieje.
Niezgodność: błędny spinacz wskazywany przez dokument – dokument ma zapisana błędną informację o spinaczu.
Poprawa niezgodności wymaga interwencji z poziomu bazy.
Zgodność magazynów w przesunięciach magazynowych
Sprawdzana jest zgodność magazynów na dokumentach przesunięć międzymagazynowych zapisanych na nagłówku dokumentu i na subelementach (Tabele cdn.TraNag, cdn.TraSElem).
Porównywane są pola:
TrS_MagGID, TrN_MagZGID, TrN_MagDGID
Pojawiające się komunikaty:
Niezgodność magazynu źródłowego – na nagłówku dokumentu zapisany jest inny magazyn źródłowy niż na subelemencie.
Niezgodność magazynu docelowego – na nagłówku dokumentu zapisany jest inny magazyn docelowy niż na subelemencie.
Poprawa niezgodności wymaga interwencji z poziomu bazy.
Poprawność wystawienia transakcji z kontrahentem jednorazowym
Sprawdzana jest poprawność transakcji z kontrahentem Jednorazowym (tabela cdn.TraNag).
Porównywane są pola:
Pojawiające się komunikaty:
Niepoprawnie wypełniony kontrahent jednorazowy – dokument wystawiony jest na kontrahenta jednorazowego, niepoprawnie wypełnione są pola z informacja o nim.
Poprawa niezgodności wymaga interwencji z poziomu bazy.
Zgodność wartości TrE_RzeczywistaNetto, TrE_KsiegowaNetto na dokumentach pochodzących z zamówień
Sprawdzana jest zgodność wartości rzeczywistej netto oraz wartości księgowej netto zapisanej na dokumencie handlowym pochodzącym z zamówienia oraz na zamówieniu (tabele cdn.TraNag, cdn.TraElem)
Porównywane są pola:
TrE_KsiegowaNetto, TrE_ RzeczywistaNetto
Pojawiające się komunikaty:
Niezgodność wartości: TrE_KsiegowaNetto, TrE_RzeczywistaNetto – niezgodność pomiędzy wartością księgową netto i rzeczywistą netto.
Poprawa niezgodności wymaga interwencji z poziomu bazy.
Sprawdzenie równania Ilość*Cena = Wartość
Sprawdzana jest poprawność wyliczonej wartości na dokumentach handlowych (tabela cdn.TraElem).
Równanie ilość*cena = wartość nie jest spełnione – informacje zapisane w pozycjach dokumentu o ilości, cenie i wartości nie spełniają równania.
Poprawa niezgodności wymaga interwencji z poziomu bazy.
Zgodność dat transakcji
Transakcje z datą wyprzedzające
Sprawdzana jest poprawność dat zapisanych na pozycjach dokumentów (Tabela cdn.TraELem).
Porównywane są pola:
TrE_TrnTStamp
Pojawiające się komunikaty:
Towar na transakcji został wystawiony z datą późniejszą niż data rzeczywista – data zapisana na pozycji dokumentu jest późniejsza niż data rzeczywista.
Poprawa niezgodności wymaga interwencji z poziomu bazy.
Transakcje z data wsteczną (antydatowane)
Sprawdzana jest poprawność dat zapisanych na pozycjach dokumentów (Tabela cdn.TraELem).
Porównywane są pola:
TrE_TrnTStamp
Pojawiające się komunikaty:
Towar na transakcji został wystawiony z datą wcześniejszą niż data rzeczywista – data zapisana na pozycji dokumentu jest wcześniejsza niż data rzeczywista.
Poprawa niezgodności wymaga interwencji z poziomu bazy.
Transakcje przyjęcia przed datą dostawy
Sprawdzana jest poprawność dat zapisanych na nagłówkach dokumentów przychodowych oraz na związanych z nimi dostawach(tabele cdn.TraSElem, cdn.TwrDostawy)
Porównywane są pola:
TrS_TrNTStamp, Dst_DstTStamp
Pojawiające się komunikaty:
Towar na transakcji został zakupiony z datą ze wskazaniem na dostawę która została przyjęta w dniu – data zapisana na transakcji jest wcześniejsza niż data z jaką został przyjęty zasób, wykorzystany podczas tej transakcji.
Poprawa niezgodności wymaga interwencji z poziomu bazy.
Transakcje rozchodu przed datą dostawy
Sprawdzana jest poprawność dat zapisanych na nagłówkach dokumentów rozchodowych oraz na związanych z nimi dostawach (tabele TraSElem, TwrDostawy).
Porównywane są pola:
TrS_TrNTStamp, Dst_DstTStamp
Pojawiające się komunikaty:
Towar na transakcji został rozchodowany z datą z dostawy która została przyjęta w dniu – data zapisana na transakcji jest wcześniejsza niż data z jaką został przyjęty zasób, wykorzystany podczas tej transakcji.
Poprawa niezgodności wymaga interwencji z poziomu bazy.
Korekty wystawione przed datą oryginału
Sprawdzana jest poprawność dat na oryginale dokumentu oraz na korekcie z nim związanym (tabele cdn.TraNag, cdn.TraSElem).
Porównywane są pola:
TrS_TrNTStamp, TrN_DataMag
Pojawiające się komunikaty:
Towar na transakcji został skorygowany z datą podczas gdy data oryginału jest późniejsza – data wystawienia korekty do dokumentu jest wcześniejszą niż data wystawienia dokumentu korygowanego.
Poprawa niezgodności wymaga interwencji z poziomu bazy.
Zgodność transakcji magazynowych z handlowymi
Zgodność ilości dostawy i magazynu
Sprawdzana jest ilość towaru wynikająca z zapisów na dostawie oraz na dokumentach magazynowych (tabel cdn.TraSElem, cdn.MagSElem).
Niezgodność dostawy – niezgodność dostawy zapisanej na subelemencie dokumentu handlowego i subelemencie dokumentu magazynowego.
Niezgodność magazynu – niezgodność magazynu zapisanej na subelemencie dokumentu handlowego i subelemencie dokumentu magazynowego.
Niezgodność ilości w dokumencie – niezgodność ilości zapisanej na subelemencie dokumentu handlowego i subelemencie dokumentu magazynowego.
Niedobór ilości w dokumencie – niezgodność ilości zapisanej na subelemencie dokumentu handlowego i subelemencie dokumentu magazynowego.
Poprawa niezgodności wymaga interwencji z poziomu bazy.
Sprawdzenie istnienia transakcji handlowej dla transakcji magazynowej
Sprawdzane jest czy dla dokumentów magazynowych które powinny zawierać dokumenty handlowe, istnieją poprawnie wygenerowane dokumenty (tabele cdn.MagSElem, cdn.TraSElem).
Brak transakcji handlowej – dokument magazynowy wskazuje na nieistniejący dokument handlowy.
Poprawa niezgodności wymaga interwencji z poziomu bazy.
Zgodność transakcji magazynowych z zamówieniami
Zgodność ilości zamówienia i magazynu
Sprawdzana jest zgodność ilości zapisana na elemencie zamówienia oraz na powiązanych z nimi dokumentach magazynowych (tabele cdn.MagSElem, cdn.ZamElem).
Porównywane są pola:
MaS_Ilosc, ZaE_Ilosc
Pojawiające się komunikaty:
Brak elementu zamówienia lub błąd przy jego odczycie – nie można sprawdzić zgodności ilości – na subelemencie dokumentu magazynowego zapisana jest niepoprawna informacja o zamówieniu.
Niezgodność ilości w zamówieniu – niezgodność w ilości zapisanej na subelemencie dokumentu magazynowego i subelementu dokumentu zamówienia.
Niedobór ilości w zamówieniu – niezgodność w ilości zapisanej na subelemencie dokumentu magazynowego i subelementu dokumentu zamówienia.
Poprawa niezgodności wymaga interwencji z poziomu bazy.
Zgodność dostaw
Zgodność kosztu księgowego i rzeczywistego z wartością na transakcjach zakładających
Sprawdzana jest zgodność kosztu księgowego oraz rzeczywistego pomiędzy dostawami oraz pozycjami dokumentów. (tabele cdn.TraSElem, CDN.twrdostawy).
Niezgodność, Dst_GID zakładająca, data, różnica kosztu księgowego – niezgodność pomiędzy informacja o koszcie księgowym zapisanym na dostawie oraz na dokumentach zakładających tą dostawę.
Niezgodność, Dst_GID zakładająca, data, , różnica kosztu rzeczywistego – niezgodność pomiędzy informacja o koszcie rzeczywistym zapisanym na dostawie oraz na dokumentach zakładających tą dostawę.
Poprawa niezgodności wymaga interwencji z poziomu bazy.
Brak transakcji handlowej zakładającej dostaw – dostawa wskazuje na nieistniejący dokument zakładający ją.
Brak faktury importowej zakładającej dostawę – dostawa wskazuje na nieistniejący dokument zakładający ją.
Brak transakcji magazynowej zakładającej dostawę – dostawa wskazuje na nieistniejący dokument zakładający ją.
Poprawa niezgodności wymaga interwencji z poziomu bazy.
Zgodność inwentaryzacji
Istnienie dokumentów PW i RW inwentaryzacyjnych
Sprawdzane jest czy dla dokumentu inwentaryzacyjnego (z którego wynikają różnice w ilości towaru na magazynie) zostały wygenerowane dokumenty PW i RW (tabele cdn.InwNag, cdn.TraNag)
Niezgodność, brak dokumentu PW inwentaryzacyjnego – na dokumencie inwentaryzacji zapisane jest wskazanie na nieistniejący dokument PW
Niezgodność, brak dokumentu RW inwentaryzacyjnego – na dokumencie inwentaryzacji zapisane jest wskazanie na nieistniejący dokument RW
Poprawa niezgodności wymaga interwencji z poziomu bazy.
Zgodność ilości na arkuszach i dokumentach PW i RW inwentaryzacyjnych
Sprawdzane jest czy dla dokumentu inwentaryzacyjnego (z którego wynikają różnice w ilości towaru na magazynie) zostały poprawnie wygenerowane dokumenty PW i RW (tabele cdn.InwTwr, cdn.InwArkTwr, CDN.TraSElem).
Porównywane są pola:
INT_iloscmag, IAT_iloscinw, TrS_ilosc
Pojawiające się komunikaty:
Niezgodność, brak dokumentu RW dla towaru – dokument inwentaryzacyjny wskazuje na nieistniejący dokument RW
Niezgodność ilości na dokumencie RW – ilość wynikająca z arkusza inwentaryzacyjnego nie zgadza się z ilością zapisaną na dokumencie RW
Niezgodność, brak dokumentu PW dla towaru – dokument inwentaryzacyjny wskazuje na nieistniejący dokument RW
Niezgodność ilości na dokumencie PW – ilość wynikająca z arkusza inwentaryzacyjnego nie zgadza się z ilością zapisaną na dokumencie PW
Poprawa niezgodności wymaga interwencji z poziomu bazy.
Zamówienia
Zgodność rezerwacji dla zamówienia
Sprawdzane są założone rezerwacje na zamawianych towarach.
Dokument ma ustawioną flagę Aktywny- zamówienie posiada ustawioną flagę Aktywny.
Niezgodność, <numer_dokumentu> posiada rezerwacje, mimo że jest niepotwierdzone (lub anulowane)- rezerwacja jest powiązana z zamówieniem, które posiada stan niepotwierdzone lub anulowane.
Niezgodność, <numer_dokumentu> posiada wyprowadzone dokumenty, mimo że jest niepotwierdzone (lub anulowane)- zamówienie posiada powiązanie z dokumentami, pomimo iż jego stan jest niepotwierdzony lub anulowany.
Niezgodność, <numer_dokumentu> ma stan potwierdzone, a ilości na pozycjach nie zgadzają się z rezerwacjami- zamówienie posiada rozbieżności między ilościami znajdującymi się na elementach zamówienia, a ilościami na rezerwacji.
Niezgodność, <numer_dokumentu> ma stan potwierdzone, mimo że posiada wyprowadzone dokumenty- zamówienie pomimo wygenerowania dokumentów posiada stan potwierdzone.
Niezgodność, <numer_dokumentu> ma stan w realizacji, a ilość Rez:Zrealizowano nie zgadza się z ilościami na subelementach- zamówienie posiada stan w realizacji, a ilości dotyczące zrealizowanych ilości na utworzonej rezerwacji nie zgadzają się z ilościami wskazującymi na daną rezerwacje w subelementach wygenerowanych dokumentów.
Niezgodność, <numer_dokumentu> ma stan w realizacji, a część pozostała do realizacji nie zgadza się z ilością wynikającą z wyprowadzonych dokumentów- zamówienie posiada stan w realizacji, a ilości dotyczące pozostałych niezrealizowanych ilości na utworzonej rezerwacji nie zgadzają się z ilościami wskazującymi na daną rezerwacje w subelementach wygenerowanych dokumentów.
Niezgodność, <numer_dokumentu> ma stan zrealizowane, mimo że istnieją do niego rezerwacje- zamówienie posiada stan zrealizowane, a mimo to w tabeli cdn.rezerwacje nadal znajdują się wpisy dotyczące rezerwacji utworzonych do zamówienia.
Niezgodność, <numer_dokumentu> ma stan zrealizowane, mimo że istnieje wyprowadzony z niego niezatwierdzony dokument- zamówienie posiada stan zrealizowane pomimo, iż utworzone rezerwacje znajdują się na dokumentach niezatwierdzonych.
Niezgodność, <numer_dokumentu> ma stan zrealizowane, a nie zgadzają się ilości wynikające z zamówienia i wyprowadzonych z niego dokumentów- zamówienie posiada stan zrealizowane, pomimo iż ilości wynikające z elementów na zamówieniu są rozbieżne od ilości znajdujących się na subelementach dokumentach wygenerowanych z zamówienia.
Niezgodność, <numer_dokumentu> ma stan anulowane w realizacji, a posiada niezerowe rezerwacje- zamówienie posiada stan anulowane w realizacji, a w tabeli cdn.rezerwacje nadal znajdują się niezerowe wpisy dotyczące rezerwacji utworzonych do zamówienia.
Niezgodność, <numer_dokumentu> ma stan anulowane w realizacji, a ilość Rez:Zrealizowano nie zgadza się z ilościami na subelementach- zamówienie ma stan anulowane w realizacji, a ilości dotyczące zrealizowanych ilości na utworzonej rezerwacji są różne od ilości wskazanymi na daną rezerwacje w subelementach wygenerowanych dokumentów.
Poprawa niezgodności wymaga interwencji z poziomu bazy.
Zgodność pozycji zamówienia z tabelą VAT
Sprawdzane jest czy nagłówek na zamówieniu (cdn.Zamnag) jest zgodny z tabelą VAT (cdn.ZamVat).
Tabele biorące udział w analizie:
cdn.ZamNag, cdn.ZamVat, cdn.ZamElem
Możliwe komunikaty:
Niezgodność pomiędzy nagłówkiem i tabelą VAT, <NumerZamowienia>, różnica netto <różnica_netto>, stawka Vat <ZaV:StawkaPod>- zamówienie posiada rozbieżność między nagłówkiem, a tabelą VAT w zakresie wartości netto w obrębie danej stawki VAT.
Niezgodność pomiędzy nagłówkiem i tabelą VAT, <NumerZamowienia>, różnica brutto <różnica_brutto>, stawka Vat <ZaV:StawkaPod>- zamówienie posiada rozbieżność między nagłówkiem, a tabelą VAT w zakresie wartości brutto w obrębie danej stawki VAT.
Niepoprawnie wyliczony VAT w tabeli VAT, <NumerZamowienia>, stawka Vat <ZaV:StawkaPod>- zamówienie posiada nieprawidłowo naliczony VAT w tabeli VAT w obrębie danej stawki VAT.
Poprawa niezgodności wymaga interwencji z poziomu bazy.
Zgodność relacji stan-typ zamówienia
Sprawdzenie poprawności stanu zamówienia w zależności od jego typu.
Tabele biorące udział w analizie:
cdn.ZamNag
Możliwe komunikaty:
Niezgodność relacji Stan-Typ zamówienia, <NumerZamowienia>, stan <ZaN:Stan>, typ <ZaN:ZamTyp>- występuje niezgodność co do stanu w odniesieniu do typu jakie posiada zamówienie.
Poprawa niezgodności wymaga interwencji z poziomu bazy.
Poprawność zamówień wewnętrznych
Sprawdzanie poprawności statusu zamówienia wewnętrznego z wystawionymi do niego dokumentami handlowymi. Jeśli do zamówienia istnieją wystawione dokumenty handlowe inne niż MMW wykazywany jest błąd.
Tabele biorące udział w analizie:
cdn.ZamNag, cdn.TraNag, cdn.ImpNag, cdn.MagNag
Możliwe komunikaty:
Dokument ma ustawioną flagę Aktywny, <NumerZamowienia>- zamówienie posiada flagę Aktywny.
Niezgodność: błędny typ dokumentu wyprowadzonego z zamówienia wewnętrznego <NumerZamowienia>, tabela <nazwa_tabeli>, GID <GID>- z zamówienia wewnętrznego został wygenerowany dokument handlowy innego typu niż MMW.
Poprawa niezgodności wymaga interwencji z poziomu bazy.
Zgodność ilości dla zrealizowanego zamówienia wewnętrznego
Sprawdzenie dla stanu zrealizowany, czy pokrywa się ilość towaru na takim dokumencie z sumą ilości na MMW wystawionych z niego.
Tabele biorące udział w analizie:
cdn.ZamNag, cdn.ZamElem, cdn.TraNag, cdn.TraElem
Możliwe komunikaty:
Niezgodność ilości, ZaN:GID: <ZaN:GID>, Towar GID: <ZaE:TwrGID>, ilość towaru na zamówieniu <sum_ZaE_Ilosc>, ilość na dokumentach MMW: <sum_TrE_Ilosc>- występuje rozbieżność między ilością towaru na elemencie zamówienia, a ilością towaru na elemencie wygenerowanego dokumentu MMW.
Poprawa niezgodności wymaga interwencji z poziomu bazy.
Sprawdzenie poprawności wypełnienia nowych pól
Sprawdzenie poprawności nowo dodanych pól po wykonaniu konwersji bazy danych.
Tabele biorące udział w analizie:
cdn.ZamNag, cdn.Rezerwacje
Możliwe komunikaty:
Niezgodność: nieprawidłowa wartość w polu: <Pole>, tabela: <Tabela>, GID: <GID>- zamówienie posiada niezgodność w określonym polu w tabeli.
Poprawa niezgodności wymaga interwencji z poziomu bazy.
SAD
Zgodność wartości dostawy SAD/FWS z FAI
Sprawdzenie dla każdej pozycji SAD czy suma kwot wartości dostawy dla tej pozycji jest równa wartości pozycji FAI, z której pochodzi.
Niezgodność w wartości towaru <towar> między <dokument_SAD> a <dokument_FAI>- występuje niezgodność między wartością fakturową elementu na dokumencie SAD, a wartością tego elementu na dokumencie FAI
Nie znaleziono rekordu w tabeli ImpElem dla elementu <towar> na dokumencie <dokument_SAD>- towar na elemencie dokumentu SAD nie posiada odpowiedniego rekordu na elemencie dokumentu FAI , z którego został wygenerowany.
Element <towar> na dokumencie <dokument_SAD> nie jest typu towar, produkt ani kaucja, nie można przeprowadzić testu- na elemencie dokumentu SAD znajduje się pozycja, która nie jest typu towar, produkt, ani kaucja.
Poprawa niezgodności wymaga interwencji z poziomu bazy.
Zgodność VAT’u dla dokumentów SAD
Sprawdzenie, czy suma podstawy VATu z kwot elementów SADu jest równa wartości netto z tabeli VAT (grupowanie po poszczególnych stawkach VAT), natomiast suma kwot VAT z elementów równa wartości VAT z tabeli VAT.
Tabele biorące udział w analizie:
cdn.SadNag, cdn.SeSKwoty, cdn.TraVat
Możliwe komunikaty:
Niezgodność podstawy VAT na dokumencie <dokument_SAD>. Z elementów: <SumaVAT>, w tabeli TraVAT: <WartoscVAT>, grupa podatkowa: <Skw:GrupaPod>- występuje niezgodność podstawy VAT na dokumencie SAD wynikająca z sumy VAT elementów w obrębie danej stawki VAT.
Niezgodność kwot VAT na dokumencie <dokument_SAD>. Z elementów: <SumaVAT>, w tabeli <WartoscVAT>, grupa podatkowa: <Skw:GrupaPod>- występuje niezgodność kwot VAT na dokumencie SAD wynikająca z sumy VAT elementów w obrębie danej stawki VAT.
Poprawa niezgodności wymaga interwencji z poziomu bazy.
Zgodność kwot na dokumentach SAD/FWS
Sprawdzenie, czy poszczególne kwoty w nagłówku SADu są równe sumom kwot elementów.
Tabele biorące udział w analizie:
cdn.SadNag, cdn.SadKwoty, cdn.SaEKwoty
Możliwe komunikaty:
Niezgodność kwot na dokumencie <dokument_SAD>. W nagłówku: <SaK:Kwota> <Waluta>, z elementów: <SeK_Kwota> < Waluta>, test: <SaK:Nazwa>- występuje niezgodność kwot na dokumencie SAD, na nagłówku kwota nie jest zgodna z sumą kwot na elementach.
Poprawa niezgodności wymaga interwencji z poziomu bazy.
Zgodność wartości FAI z płatnościami
Sprawdzenie, czy suma wszystkich pozycji FAI równa się sumie płatności tego dokumentu.
Tabele biorące udział w analizie:
cdn.ImpNag, cdn.ImpElem, cdn.TraPlat
Możliwe komunikaty:
Niezgodność płatności na fakturze importowej <numer_FAI>. Na dokumencie: <ImE_Wartosc> , przeliczona suma z tabeli TraPlat: <suma TrPKwota>- występuje niezgodność na płatności dokumentu FAI, suma płatności dokumentu nie jest zgodna z sumą wszystkich pozycji występujących na dokumencie.
Poprawa niezgodności wymaga interwencji z poziomu bazy.
Sprawdzenie ilości na dostawach dla faktur importowych
Sprawdzana jest zgodność pomiędzy Dostawami, a elementami Faktury importowej.
Tabele biorące udział w analizie:
cdn.ImpNag, cdn.ImpElem, cdn.Dostawy
Możliwe komunikaty:
Niezgodność w tabeli Dostawy, GID: <Dst:GID>, Towar GID: <Dst:TwrGID>, powodem FAI-<NumerFAI>, ilość towaru w tabeli ImpElem: <ImE_Ilosc>, ilość w tabeli Dostawy: <Dst_Ilosc>- występuje niezgodność między ilością towaru znajdującą się na elemencie dokumentu FAI, a ilością w tabeli cdn.Dostawy.
Poprawa niezgodności wymaga interwencji z poziomu bazy.
Zakończenie
Systematyczne koordynowanie spójności bazy danych stanowi podstawowy warunek utrzymania poprawności danych. Testy integralności są kluczowym narzędziem pomocnym w analizie problemów zaburzających prawidłowość danych, dlatego Użytkownik Systemu powinien być świadomy faktu, że regularne ich uruchamianie i natychmiastowa reakcja na występujące problemy stanowią podstawę otrzymania rzetelnego obrazu transakcji handlowych.
Parametry dynamiczne to zmienne, zdefiniowane przez Użytkownika, wykorzystywane w trakcie pracy z programem poprzez ich wstawienie w definicje zmiennych. W zależności od rodzaju tekstu, którym definiowane są parametry istnieją parametry dynamiczne:
Filtrów (tekstem jest najczęściej fragment pewnej klauzuli: WHERE)
Wykresów i Szybkich raportów (tekstem jest treść zapytania lub parametrów graficznych definicji wykresu)
Wydruków (parametry dynamiczne Runtimes przekazywane do wydruku)
Przyklad
Zdefiniowany filtr zawęża listę kontrahentów do mających siedzibę w konkretnym mieście. Aby dla każdego miasta nie definiować osobnego filtra, można zdefiniować jeden filtr, zawierający parametr dynamiczny określający miasto. Po wybraniu przez Użytkownika takiego filtra i naciśnięciu przycisku lejka – zostanie wyświetlone dodatkowe okno, służące wpisaniu wartości – nazwy miasta i zastosowaniu filtra na liście. Po zaakceptowaniu zapisu, program wstawia do filtra, w miejsce definicji parametru dynamicznego, wprowadzoną wartość (nazwę miasta) i stosuje filtr na liście.
Składnia parametrów dynamicznych
Uwagi ogólne
Ogólna składnia parametru dynamicznego jest następująca:
@[H]Picture – format parametru. Jeśli w formacie zostanie użyty opcjonalny przełącznik ukrycia parametru (H), wówczas kontrolka odpowiadająca parametrowi nie jest kreowana, a wartość parametru pozostaje stała (dziedziczona lub Default – owa). Przełącznik ukrycia parametru H jest dostępny zawsze dla wszystkich formatów (dla uproszczenia – w dokumencie będzie on pomijany).
Uwaga
Zastosowanie przełącznika H powoduje bezwarunkowe ukrycie parametru, w związku z czym, dla takiego parametru nie jest alokowane miejsce na ekranie.
Dostępne formaty
Standardowe (predefiniowane) formaty Clarionowe (np. @S20, @N-14.2, @N3, @D17, @T1,…)
Dodatkowe formaty, zdefiniowane specjalnie dla obsługi parametrów dynamicznych:
Nazwa – kod, po którym klasa identyfikuje i wiąże parametr (np. rozpoznaje, która dana z kolejki wynikowej wykresu / zmienna dynamiczna z aplikacji odpowiada temu parametrowi). Niedozwolonymi znakami w nazwie są pipe (separator nazwy od promptu) i dwukropek (separator promptu od wartości).
Uwaga
Ponieważ nazwa parametru jest kluczowa i wewnętrznie w klasie nie może być pusta – w przypadku jej pominięcia następuje podstawienie Nazwy wartością Promptu. Należy jednak zwrócić uwagę na to, że jeśli w prompcie występuje akcelerator – jest on także wstawiany do nazwy. W związku z tym np. w tekście Kolumna1=?@n3|&Parametr:1 OR Kolumna2=??Parametr, ciąg ??Parametr nie zostanie podstawiony wartością parametru Parametr (należy użyć ??&Parametr).
Prompt – prompt pojawiający się przy kreowanych dynamicznie kontrolkach parametrów.Niedozwolonymi znakami w prompcie są pipe (separator nazwy od promptu) i dwukropek (separator promptu od wartości). Można natomiast używać znaku & (akcelerator).
Default – domyślna (początkowa) wartość parametru (w przypadku parametrów posiadających sekwencję zakończenia @? można nie stosować otaczających stringowy Default ciapek). Jeśli Default nie zostanie podany – klasa przyjmie jego wartość jako pustą (0 lub ”, w zależności od typu parametru, określonego przez Picture). W wartości domyślnej można używać wyrażeń. Nie można natomiast stosować odwołań do parametrów dynamicznych (brak możliwości zagnieżdżania (z jednym wyjątkiem, opisanym przy omawianiu formatu lookupu)).
Składnia typu: ?@EOL, służy do wstawienia w danym miejscu pustej linii.
Opcjonalna sekwencja zakończenia parametru: @?
W przypadku braku sekwencji zakończenia parametru (@?) należało przyjąć jakieś inne kryterium zakończenia. Kryterium to jest następujące:
Jako koniec parametru dynamicznego w przypadku braku sekwencji zakończenia przyjmujemy:
Znak poprzedzający pierwsze wystąpienie któregokolwiek z poniższych znaków (sekwencji):
znalezionych po rozpoczęciu Default-u i niewystępujących wewnątrz literału stringowego (‘…’) albo w przypadku braku takiego wystąpienia:
koniec tekstu. (SZ 2)
Uwaga
Jeśli Default dla parametrów stringowych bez sekwencji zakończenia, zawiera którykolwiek ze znaków wymienionych wyżej (w szczególności spację), musi być otoczony apostrofami, np. ?@s20|Akronim|&Akronim:’A B’ (z sekwencją zakończenia można tak: ?@s20|Akronim|&Akronim:A B@?, Lub tak: ?@s20|Akronim|&Akronim:’A B’@?).
Modyfikatory otaczania apostrofami _Q i _NQ
Wymuszają otaczanie (_Q) lub nieotaczanie (_NQ) wstawianej wartości parametru apostrofami.
Jeśli parametr jest stringowy (@Picture=@S…) – jego wartość przy wstawianiu zostaje domyślnie otoczona apostrofami. Chcąc z tego zrezygnować używamy modyfikatora _NQ (użycie w tym przypadku modyfikatora _Q jest ignorowane).
Przyklad
Tekst, w którym jest umieszczony parametr stanowi filtr, do którego chcemy dokleić (AND) filtr FiltrApp przekazywany z aplikacji, osadzamy parametr: ?@s255_NQ|FiltrApp|Filtr aplikacji:@?. Zastosowanie modyfikatora _NQ pozwoliło wstawić fragment filtra bez otaczających apostrofów, mimo stringowego formatu parametru. Wstawienie apostrofów prowadziłoby do błędu, np. uzyskalibyśmy filtr końcowy postaci: … AND ‘BNa_BnaID>10’.
Jeśli parametr jest niestringowy (@Picture<>@S…) – jego wartość przy wstawianiu nie zostaje domyślnie otoczona apostrofami. Chcąc wymusić otoczenie apostrofami takiego parametru używamy modyfikatora _Q (użycie w tym przypadku modyfikatora _NQ jest ignorowane).
Przyklad
Tekst, w którym jest umieszczony parametr stanowi wywołanie procedury, której drugim parametrem jest parametr stringowy, odpowiadający numerowi rachunku bankowego: OP_KASAI.DLL|CALLBRPLISTA(‘BRA’,?@n6_Q|RachunekID|Rachunek:0@?).
Umieszczenie całego parametru w apostrofach spowoduje, że parametr ten nie będzie „widziany” przez parser.
Uwaga
Stosowanie modyfikatorów ma sens tylko dla samodzielnych definicji parametrów (tzw. stara składnia), stanowiących jednocześnie deklarację parametru i odwołanie do jego wartości.
Jeśli definicja jest częścią deklaracji @PAR … PAR@, to stosowanie modyfikatorów nie ma sensu – deklaracje są w całości usuwane z tekstu. W tym przypadku modyfikatory należy umieszczać w odwołaniach do wartości parametrów (np. ??_QNazwa).
Wstawianie pustych linii pomiędzy parametrami
Jeśli chcemy wstawić linię przerwy pomiędzy kontrolkami parametrów – można w tym celu zadeklarować pomiędzy nimi specjalny, ukryty parametr (może być to również parametr, który nie będzie nigdzie indziej używany). Ukrycie należy wprowadzić wykorzystując deklarację parametru z opcją ukrycia @H[IDE]. Opcja ukrycia powinna być w tym przypadku bezparametrowa (@HIDE()) lub zawierać wyrażenie ewaluujące się zawsze do prawdy (np. @HIDE(1=1)).
Przyklad
Przykład 1: (poprawne ale nieefektywne wstawienie pustej linii pomiędzy kontrolki parametrów: ??Akronim i ??SprawdzajDaty)
@PAR ?@s20|Akronim|&Akronim:@? PAR@
@PAR ?@n1|PustaLinia|Pusta linia:@? @HIDE() PAR@
@PAR ?@X|SprawdzajDaty|&Sprawdzaj daty:1@? PAR@
Przykład 2: (linia nie będzie wstawiona)
@PAR ?@s20|Akronim|&Akronim:@? PAR@
@PAR ?@Hn1|PustaLinia|Pusta linia:@? PAR@
@PAR ?@X|SprawdzajDaty|&Sprawdzaj daty:1@? PAR@
Powyższe rozwiązanie ma wadę w postaci pojawiania się na moment kontrolki parametru a także ze względu na konieczność wpisywania członów składni, które nigdzie nie są wykorzystywane.
Wobec powyższego rozwiązanie to należy traktować jako przestarzałe.
Aby łatwo wstawić pustą linię, należy zastosować drugi wariant składni (PD), a więc: ?@EOL, jak w przykładzie 3:
Przyklad
Przykład 3: (poprawne i zalecane wstawienie pustej linii pomiędzy kontrolki parametrów ??Akronim i ??SprawdzajDaty).
@PAR ?@s20|Akronim|&Akronim:@? PAR@
@PAR ?@EOL PAR@
@PAR ?@X|SprawdzajDaty|&Sprawdzaj daty:1@? PAR@
Powtarzanie parametrów w tekście
Jeśli w tekście mamy kilka wystąpień parametru o takiej samej nazwie – wszystkie one generują jeden, wspólny parametr (wiązanie po nazwie), którego wartość za każdym razem jest wstawiana we wszystkie miejsca definicji tego parametru. Wartość domyślna parametru jest zczytywana z pierwszego wystąpienia.
Wobec powyższego powtarzanie pełnej definicji parametru w tekście jest zbyteczne. Aby uprościć wstawianie w kilku miejscach tego samego parametru została zaimplementowana składnia tzw. odwołań skróconych.
Zagnieżdżanie parametrów
Niedopuszczalne.
Typy parametrów
Każdy parametr ma określony typ. O typie decyduje człon: Picture, definicji parametru. W zależności od typu dla parametru, kreowana jest jedna lub więcej kontrolek, których ustawienia są standardowe (generyczne). Ustawienia te można zmienić, używając odpowiednich opcji w deklaracji parametru (poza obrębem jego definicji).
Typ stringowy S (typ standardowy CW)
Składnia
?@[H]S… – gdzie: …, oznacza odpowiedni fragment każdego clarionowego członu: Picture, odpowiedniego typu.
Kontrolki
PROMPT + ENTRY
Atrybuty standardowe:
dla kontrolki ENTRY: OVR, LEFT.
dla kontrolki ENTRY: brak.
Rozwinięcie
Wartość otoczona apostrofami (lub nieotoczona apostrofami, jeśli użyto modyfikatora _NQ).
Typ numeryczny N (typ standardowy CW)
Składnia
?@[H]N… – gdzie: …, oznacza odpowiedni fragment każdego clarionowego członu: Picture, odpowiedniego typu.
wynik funkcji modyfikatora (np. Long2YMD), jeśli w odwołaniu skróconym użyto modyfikatora (np. _YMD_) albo
wartość LONG clarionowej daty (dodatkowo otoczona apostrofami jeśli użyto modyfikatora _Q), jeśli wstawiony zostanie parametr do dowolnego tekstu w CDN XL albo do filtra TPS z KF lub parametrów wydruku RW w Optimie, albo
wynik funkcji Long2DateTimeSQL (lub Long2DateTimeSQLQ jeśli użyto modyfikatora _Q) w pozostałych przypadkach.
Typ czasowy T (typ standardowy CW)
Składnia
?@[H]T… – gdzie: …, oznacza odpowiedni fragment każdego clarionowego członu: Picture, odpowiedniego typu.
wynik funkcji modyfikatora (np. Long2HMS) jeśli w odwołaniu skróconym użyto modyfikatora (np. _HMS_), albo
wartość LONG clarionowego czasu (dodatkowo otoczona apostrofami jeśli użyto modyfikatora_Q)
jeśli wstawiamy parametr do dowolnego tekstu w XL-u albo do filtra TPS z KF lub parametrów wydruku RW w Optimie, albo
wynik funkcji LongT2DateTimeSQL (lub LongT2DateTimeSQLQ jeśli użyto modyfikatora _Q) w pozostałych przypadkach.
Typ dataczasowy DT (typ dodatkowy)
Składnia
?@[H]DT
Wartość początkowa
Może być podana w postaci YYYY-MM-DD HH:MM:SS lub YYYYMMDDHHMMSS (bez separatorów i spacji). Można też użyć wyrażenia zawierającego zabindowane funkcje; najczęściej używanym w tym kontekście funkcjami są:
Now()
Zwraca bieżącą datę i czas w postaci YYYY-MM-DD HH:MM:SS
DT(_Year, _Month, _Day, _Hour, _Minutes, _Seconds) Zwraca podaną parametrami datę i czas w postaci YYYY-MM-DD HH:MM:SS
Przypadek zachodzący, gdy długość przekazanego jako pierwszy parametr ciągu znaków przekracza 4. Zwraca podaną parametrami datę i czas w postaci YYYY-MM-DD HH:MM:SS z tym, że data jest obliczana z wyrażenia: _DateExpr a dwa następne parametry są ignorowane.
Przykłady
Ustalony moment: @PAR ?@DT|dt1|Termin &ostateczny:2003-03-25 16:30:00 @? PAR@ lub
Początek m-ca o 7.15: @PAR ?@DT|dtm1|&Pocz.mc.7.15:{DT({DateClwFirstDay(‘M’)}, 0, 0, 7, 15, 0)} @? PAR@
Koniec m-ca o 16.30: @PAR ?@DT|dtm2|&Kon.mc.16.30:{DT({DateClwLastDay(‘M’)}, 0, 0, 16, 30, 0)} @? PAR@
Początek roku, północ: @PAR ?@DT|dty1|&Początek roku:{DT({DateClwFirstDay(‘Y’)}, 0, 0, 0, 0, 0)} @? PAR@
Koniec roku, północ: @PAR ?@DT|dty2|&Koniec roku:{DT({DateClwLastDay(‘Y’)}, 0, 0, 0, 0, 0)} @? PAR@
15. nast. m-ca o 13.45: @PAR ?@DT|dtx|&15. nast. m-ca o 13.45:{DT({Date(Month(Today())+1, 15,
Year(Today()))}, 0, 0, 13, 45, 0)} @? PAR@
Uwaga
Aby walidować parametry typu DT – należy używać modyfikatorów _Q:
Ustalony moment z walidacją:
@PAR ?@DT|dt4|t&4:2003-03-22 10:00:00@? @COND(??_Qdt4 >= ??_Qdt3) @CONDMSG(dataczas ”Do” nie może być mniejsza niż dataczas ”Od”) PAR@
Rozwinięcia:
…WHERE CRK_TerminOd <= ??dt1 … WHERE YMDHMS(CRK_TerminOd) <= ??_YMDHMS_dt1 …
Kontrolki
PROMPT + ENTRY
Atrybuty standardowe kontrolki ENTRY:
INS, LEFT, format @P####-##-## ##:##:##P (YYYY-MM-DD HH:MM:SS), INS, RIGHT.
Akcje standardowe kontrolki ENTRY:
Prawy klawisz myszy – wywołanie kalendarza pozwalającego wybrać datę (czas pozostaje bez zmian).
Rozwinięcie
W zależności od kontekstu:
wartość w formacie YYYY-MM-DD HH:MM:SS (dodatkowo otoczona apostrofami jeśli użyto modyfikatora _Q) jeśli w odwołaniu skróconym użyto modyfikatora (np. _YMDHMS_), albo
wartość w formacie YYYY-MM-DD HH:MM:SS (dodatkowo otoczona apostrofami jeśli użyto modyfikatora_Q)
jeśli wstawiamy parametr do dowolnego tekstu w XL-u albo do filtra TPS z KF lub parametrów wydruku RW w CDN Optima, albo
wynik funkcji YMDHMS2DateTimeSQL (lub YMDHMS2DateTimeSQLQ jeśli użyto modyfikatora _Q) w pozostałych przypadkach.
Typ logiczny X (typ dodatkowy)
Składnia
?@[H]X
Wartość początkowa
Jedna z wartości {0, 1}. Jeśli nie podano – zostanie podstawione 0.
Kontrolki
CHECK
Atrybuty standardowe kontrolki CHECK:
TRUEVALUE=1, FALSEVALUE=0.
Akcje standardowe kontrolki CHECK:
brak.
Rozwinięcie
Wybrana wartość TRUEVALUE lub FALSEVALUE.
Typ wyboru opcji O (typ dodatkowy)
Składnia
@O(RadioPrompt:RadioValue{[|rPrompt:rValue]…})
Wartość początkowa
Jedna z wartości: RadioValue – jeśli nie podano, żadne radio nie będzie podświetlone, chyba że któreś z nich ma przypisaną wartość zero lub pustą.
Kontrolki
OPTION{RADIO,…}
Atrybuty standardowe kontrolki OPTION:
BOXED.
Akcje standardowe kontrolki OPTION:
brak.
Rozwinięcie
Wartość wybranej opcji: rValue (dodatkowo otoczona apostrofami, jeśli użyto modyfikatora _Q).
Uwagi
Zaleca się używać list rozwijanych zamiast opcji; jest to podyktowane tym, iż kontrolka opcji zajmuje dużo miejsca na ekranie (w pionie tyle, co dwa inne parametry) i teksty radio są najczęściej obcinane z powodu braku miejsca. Customizować można tylko całą kontrolkę OPTION (zmiana właściwości kontrolek RADIO nie jest przewidywana).
Typ wyboru z listy rozwijanej R (typ dodatkowy)
Składnia
@R(Zapytanie) – gdzie Zapytanie musi być tak zbudowane, aby zwracało przynajmniej dwie kolumny. Te dwie pierwsze kolumny mogą być stringowe lub całkowite w układach Str-Int lub Int-Str; najczęściej zwracają one odpowiednio Id i Kod (albo Kod i Id) pobranych rekordów. W dropdownie wyświetlana jest kolumna stringowa, a jako wartość parametru wstawiana jest kolumna całkowita.
Zapytanie nie zawsze musi odwoływać się do jakiegokolwiek obiektu w bazie SQL; dropdowny można z powodzeniem wykorzystywać zamiast „ekranożernych” opcji, np.: @PAR ?@R(SELECT 1, ‘Radio1’ UNION SELECT 2, ‘Radio2’ UNION SELECT 3, ‘Radio3’)|DD|&DD:Radio2 @? PAR@
Wartość początkowa
Wartość jest postaci: Id|Kod.
Jeśli defaultowy Kod odpowiada istniejącemu w recordsecie rekordowi, wtedy zostanie pobrany odpowiedni Id.
Jeśli defaultowe Id odpowiada istniejącemu w recordsecie rekordowi, wtedy zostanie pobrany odpowiedni Kod.
Jeśli recordset zawiera choć jeden rekord, wtedy zostanie pobrany Kod i Id pierwszego rekordu.
Jeśli jako Kod zostanie podstawiona wartość: brak, wtedy jako Id – wartość pusta.
Jeśli nie użyto modyfikatora – wstawiana jest wartość Id wybranej pozycji rValue (dodatkowo otoczona apostrofami, jeśli użyto modyfikatora _Q). Użycie modyfikatora _RES2_ powoduje wstawienie wartości pola Kod.
Typ wyboru z listy wywoływanej L – LOOKUP (typ dodatkowy)
Typ odpowiada lookupowi do funkcji Funkcja z użyciem przesiadki CallLookupFunkcjaU z biblioteki Biblioteka.dll, która to przesiadka dostaje parametry określające typ akcji (‘INIT’|‘BUTTON’|’ENTRY’), ID (zwykłe ID, GID itp.) i kod (string określający obiekt w sposób jednoznaczny, najczęściej kod, akronim itp.) obiektu i na podstawie tych parametrów wywołuje funkcję wyświetlającą odpowiednią listę w trybie lookup a następnie zwraca wartości dotyczące wybranego przez użytkownika rekordu (szczegóły – analogicznie, jak w rozdziale Lookupy).
Wybór s|n decyduje jedynie o formie wyświetlania wartości parametru (ENTRY|SPIN).
Wartość początkowa
Jest postaci Id|Kod. Jeśli defaultowy Kod odpowiada istniejącemu w bazie rekordowi – zostanie pobrany odpowiedni Id, w przeciwnym razie zostanie wykonana próba pobrania rekordu o podanym Id. Jeśli rekord zostanie znaleziony – zostanie podstawiony odpowiedni Kod, jeśli nie – obiekt zasygnalizuje błąd (to przy inicjalizacji kontrolki parametru, natomiast przy akceptacji nieznalezionej wartości wywoła lookup).
Jeśli chcemy z aplikacji wysłać zmienną dynamiczną inicjalizującą wartość początkową parametru typu lookup to możemy, ale nie musimy użyć składni [Id]|[Kod] (z pipem). Podanie samego Id jest też poprawne (klasa wykresów w przypadku stwierdzenia braku pipe-a w wartości związanej z parametrem typu lookup doklei go na koniec wartości, a więc zainicjalizuje parametr wartością:’|Id’).
Uwaga
Opcjonalne parametry ParametryCallLookupFunkcjaU mogą zawierać odwołania do wartości innych parametrów dynamicznych; jest to jedyny obsługiwany przypadek zagnieżdżania parametrów (obsługiwany tylko w wyższej warstwie, tj. przez klasę operującą na kontrolkach). Składnia odwołania jest następująca:
takie, jak dla standardowego typu stringowego/numerycznego.
Akcje standardowe kontrolki PROMPTBUTTON:
Lookup do funkcji lookupowej i podstawienie wartości (Id|Kod) wybranego rekordu
Akcje standardowe kontrolki ENTRY/SPIN:
Sprawdzenie poprawności Kod-u/Id; jeśli Kod /Id nie jest poprawny – lookup do funkcji lookupowej i podstawienie wartości (Id|Kod) wybranego rekordu
Rozwinięcie
Jeśli nie użyto modyfikatora – wstawiana jest bieżąca wartość: Id (dodatkowo otoczona apostrofami, jeśli użyto modyfikatora _Q). Użycie modyfikatora _RES2_ powoduje wstawienie wartości pola Kod.
Typ wyboru pliku lub katalogu F – FILE(DIR)DIALOG (typ dodatkowy)
Typ odpowiada dialogowi systemowemu pozwalającemu wybrać plik lub katalog.
Kontrolki
PROMPTBUTTON + ENTRY – gdzie znaczenie opcjonalnych atrybutów jest następujące:
Maski (istotne tylko dla wyboru pliku) składa się z ciągu oddzielonych pipami (|) par Opis typu (maska typu) | Maska typu. Ciąg ten musi być otoczony apostrofami. Jeśli nie podano – przyjmuje się ‘Wszystkie pliki (*.*)|*.*’
MaskaDomyslna (istotne tylko dla wyboru pliku) odpowiada jednej z wymienionych w atrybucie Maski masek.Jeśli nie podano – przyjmuje się *.*
Flagi określa tryb otwarcia dialogu, jest to suma bitowa następujących flag:
OFN_ALLOWMULTISELECT EQUATE(00000200h)
OFN_CREATEPROMPT EQUATE(00002000h)
OFN_ENABLEHOOK EQUATE(00000020h)
OFN_ENABLETEMPLATE EQUATE(00000040h)
OFN_ENABLETEMPLATEHANDLE EQUATE(00000080h)
OFN_EXPLORER EQUATE(00080000h)
OFN_EXTENSIONDIFFERENT EQUATE(00000400h)
OFN_FILEMUSTEXIST EQUATE(00001000h)
OFN_HIDEREADONLY EQUATE(00000004h)
OFN_LONGNAMES EQUATE(00200000h)
OFN_NOCHANGEDIR EQUATE(00000008h)
OFN_NODEREFERENCELINKS EQUATE(00100000h)
OFN_NOLONGNAMES EQUATE(00040000h)
OFN_NONETWORKBUTTON EQUATE(00020000h)
OFN_NOREADONLYRETURN EQUATE(00008000h)
OFN_NOTESTFILECREATE EQUATE(00010000h)
OFN_NOVALIDATE EQUATE(00000100h)
OFN_OVERWRITEPROMPT EQUATE(00000002h)
OFN_PATHMUSTEXIST EQUATE(00000800h)
OFN_SHOWHELP EQUATE(00000010h)
OFN_SHAREAWARE EQUATE(00004000h)
OFN_SHAREFALLTHROUGH EQUATE(2)
OFN_SHARENOWARN EQUATE(1)
OFN_SHAREWARN EQUATE(0)
Jeśli nie podano – przyjmuje się OFN_NOCHANGEDIR + OFN_PATHMUSTEXIST + OFN_FILEMUSTEXIST – dla otwierania pliku, OFN_NOCHANGEDIR + OFN_PATHMUSTEXIST – dla zapisu pliku i OFN_NOCHANGEDIR + OFN_PATHMUSTEXIST dla otwarcia katalogu.
Atrybuty standardowe kontrolki ENTRY:
jak dla standardowego typu stringowego.
Akcje standardowe kontrolki PROMPTBUTTON:
File Dialog lub Dir Dialog
Akcje standardowe kontrolki ENTRY:W trybie wyboru katalogu doklejanie backslash-a na końcu wartości, jeśli wartość kończy się innym znakiem.
Rozwinięcie
Wartość otoczona apostrofami (lub nieotoczona apostrofami, jeśli użyto modyfikatora _NQ).
Typ pusty EOL – wstawienie wolnego miejsca (typ dodatkowy)
Składnia
?@EOL
Parametr tego typu jest interpretowany tylko w procesie wyświetlania kontrolek parametrów dynamicznych. Jego deklaracja jest usuwana z tekstu, a używanie odwołań – niemożliwe (brak nazwy parametru).
Kontrolki
brak
Rozwinięcie
Usunięcie deklaracji z tekstu.
Typ tekstowy ABC – wstawienie zadanego tekstu na oknie (typ dodatkowy)
Składnia
?@ABC(‘Tekst do wyświetlenia’)
Parametr tego typu jest interpretowany tylko w procesie wyświetlania kontrolek parametrów dynamicznych. Jego deklaracja jest usuwana z tekstu, a używanie odwołań – niemożliwe (brak nazwy parametru).
Uwaga
W tekście należy używać zawsze pełnej deklaracji parametru (@PAR … PAR@), a nie samej definicji.
W zasadzie użycie apostrofów ograniczających jest konieczne tylko, gdy w tekście do wyświetlenia występują nawiasy (), {} lub inne zastrzeżone sekwencje specjalne. Jednak dla większego bezpieczeństwa zaleca się zawsze używać apostrofów ograniczających. Jeśli w wyświetlanym tekście mają być apostrofy – w deklaracji należy je zdublować.
Kontrolki
brak
Rozwinięcie
Usunięcie deklaracji z tekstu.
Uwagi
Jeśli parametr ma być przez całą szerokość panelu – należy umieścić go po lewej stronie, a po prawej stronie (jako sąsiadujący parametr) wstawić parametr EOL.
Przykłady
@PAR ?@ABC(‘To jest tylko taki testowy tekst żeby wypróbować nowy typ parametru dynamicznego (typ ”ABC”).’)@? PAR@
Odwołania do parametrów, rozwijanie parametrów
Rozwijanie parametrów, to wstawianie ich aktualnych wartości w miejsce odwołań do tych parametrów.
Istnieją dwa rodzaje odwołań do parametru:
Definicja parametru – umieszczając w tekście kilka definicji tego samego parametru
Przyklad
Kolumna1 = ?@n3|MójParametr|&Mój parametr:255@? OR Kolumna2 = ?@n3|MójParametr|&Mój parametr:255@?
Należy mieć na uwadze fakt, że pomimo tego, iż w tekście istnieje kilka wystąpień tego samego parametru (a więc parametru o takiej samej nazwie Nazwa), to i tak będzie wykreowana tylko jedna kontrolka, a jej ustawienia będą zgodne z pierwszym wystąpieniem parametru (jeśli to wystąpienie posiada znacznik ukrycia H – kontrolka parametru nie będzie w ogóle wykreowana). Ustawienia następnych wystąpień są ignorowane.
Skrócone odwołanie do parametru – składnia skróconego odwołania do parametru:
??[(_Q|_NQ)][Modyfikator…]Nazwa (PD2)
przy czym Nazwa nie może zawierać spacji z Modyfikator. Modyfikator ustala niestandardowe rozwijanie parametru i może być równy jednemu z poniższych ciągów znaków:
_RES2_ (wymuszenie wstawiania ‘kodu’ zamiast ‘ID’ dla parametrów typu DROPDOWN i LOOKUP),
_YMD_ (wstawianie wartości datownikowego parametru w formacie YYYY-MM-DD)
_HMS_ (wstawianie wartości czasowego parametru w formacie HH:MM:SS)
_ YMDHMS_ (wstawianie wartości datowoczasowego parametru w formacie YYYY-MM-DD HH:MM:SS)
_ DQ_ (dublowanie apostrofów wewnątrz wartości).
Zalecanym odwołaniem jest odwołanie skrócone – jest ono prostsze w użyciu a zarazem daje większe możliwości (modyfikatory). Odwołanie pełne (poprzez definicję parametru) jest pozostawione jedynie dla kompatybilności wstecz. Zalecanym sposobem jest utworzenie w jednym miejscu deklaracji wszystkich parametrów, a następnie stosowanie w dowolnych miejscach tylko odwołań skróconych.
Przyklad
Kolumna1 = ?@n3|MójParametr|&Mój parametr:255@? OR Kolumna2 = ??MójParametr
Jest to zdecydowanie bardziej ergonomiczny sposób: nie musimy wpisywać wiele razy ustawień parametru, które i tak (poza pierwszym) będą zignorowane. Ustawienia będą oczywiście pobrane z pierwszego wystąpienia parametru o nazwie Nazwa, zgodnego z pełną składnią (PD).
Ponadto tylko w odwołaniach skróconych można stosować modyfikatory. Ograniczeniem tego rozwiązania jest niedopuszczenie spacji w Nazwie parametru.
Ponieważ odwołanie skrócone nie posiada sekwencji zakończenia – jego koniec ustalany jest podobnie, jak w przypadku zwykłego parametru bez sekwencji zakończenia (tj. po Nazwie musi występować jeden ze znaków określonych w zbiorze automatycznej sekwencji zakończenia parametru) z tą różnicą, że terminatorem może być dodatkowo znak ‘{‘.
Deklaracje parametrów
Podana na początku składnia definicji parametru dynamicznego (PD) może zostać umieszczona wewnątrz tzw. deklaracji parametru. Składnia deklaracji parametru dynamicznego jest następująca:
@PAR Definicja Opcje PAR@ (PD-DEKL)
gdzie Definicja ¬oznacza definicję parametru, określoną wzorem (PD) natomiast Opcje – ciąg opcji określających dodatkowe własności kontrolki parametru, oddzielonych spacjami:
gdzie Opcja – jedna z opcji określających dodatkowe własności kontrolki parametru, WarunekLubWartosc – wyrażenie określające warunek zastosowania Opcji (np. dla disablowania) lub wartość opcji (np. wartość tip-u). W tej chwili dostępne są następujące opcje:
W WarunekLubWartosc mogą występować wyrażenia. Jeśli WarunekLubWartosc nie zostanie otoczony nawiasami {} – nawiasy te zostaną automatycznie dodane, co spowoduje ewaluację WarunekLubWartosc jako wyrażenia. W przypadku pominięcia WarunekLubWartosc – uznaje się, że dana opcja ma występować bezwarunkowo lub ma wartość pustą.
Jeżeli WarunekLubWartosc dotyczy opcji COND to jest on sprawdzany w oparciu o bieżące wartości wszystkich parametrów dynamicznych.
Warunek jest sprawdzany:
przy akceptacji kontrolki danego parametru (jeśli walidacja nie powiedzie się – wyświetlany jest komunikat i przywracana jest poprzednia wartość akceptowanego parametru),
przy akceptacji całego tekstu (np. przed wykonaniem wykresu, zastosowaniem filtra itp.). Jeśli walidacja nie powiedzie się – jest tylko wyświetlany komunikat – błędna wartość jest pozostawiana.
Przyklad
Można to wykorzystać np. przy ustalaniu warunku na daty z zakresu dat: warunek COND(??DataOd<=??DataDo) zakładamy tylko na DataDo. Jeśli założylibyśmy warunek na obie daty to przy zmianie zakresu 01.01.2003 – 31.01.2003 na 01.02.2003 – 28.01.2003 musielibyśmy najpierw zmienić datę końcową, a potem początkową, co jest niewygodne.
Uwaga
Jeśli mają zostać walidowane parametry typu DT – należy używać modyfikatorów _Q:
@PAR ?@DT|dt4|t&4:2003-03-22 10:00:00@? @COND(??_Qdt4 >= ??_Qdt3) @CONDMSG(dataczas ”Do” nie może być mniejsza niż dataczas ”Od”) PAR@
Dla ułatwienia posługiwania się opcjami @M[SG] i @T[IP] wprowadzono następujący element składni:
@M[SG](=T[IP]) – przepisanie tip-u do message’a
@T[IP](=M[SG]) – przepisanie message’a do tip-u
Nie ma tu znaczenia kolejność występowania tych opcji.
Użycie deklaracji parametrów pozwala na:
ustalenie kolejności kontrolek parametrów innej niż kolejność definicji w tekście (bez deklaracji),
określenie dodatkowych opcji dotyczących kontrolek parametrów (takich, które nie mogą być podane w definicji, np. warunki disablowania i hidowania kontrolek, case,…),
walidację wartości parametrów (z odpowiednimi komunikatami),
logiczne zgrupowanie parametrów w jednym miejscu tekstu (np. na początku).
Istotną różnicą pomiędzy deklaracją parametru a jego definicją jest to, że deklaracje parametrów są w całości usuwane z tekstu przed jego wykonaniem.
Jeśli dany parametr ma gdziekolwiek w tekście deklarację – zostanie ona użyta do określenia własności parametru, nawet jeśli przed deklaracją występuje pełna definicja parametru.
Przyklad
W poniższym przykładzie Akronim jest zawsze UPPER a ponadto jest disablowany za każdym razem gdy Numer > 10. Z kolei Numer to spin o zakresie (–100; 100) i skoku 2, disablowany w przypadku gdy Akronim = ‘D’. Wreszcie spin Hide jest ukrywany, jeśli Numer=30. Parametr DataDo musi mieć wartość nie mniejszą od wartości parametru DataOd a przynajmniej jeden z checków FA, PA musi być zaznaczony.
System CDN XL może pracować jako serwer aplikacji udostępniając innym aplikacjom swoje funkcje. Dzięki zaimplementowaniu funkcji API (Application Programming Interface) dowolna aplikacja może w prosty sposób korzystać z mechanizmów, którymi dysponuje CDN XL. Daje to niespotykaną w rozwiązaniach konkurencyjnych otwartość systemu, pozwalając zarówno na integrację ze standardowymi narzędziami programistycznymi, (np. Microsoft Office i Visual Basic) jak i możliwość integracji z dowolnym systemem informatycznym eksploatowanym w firmie.
System CDN XL oferuje kilkadziesiąt funkcji pozwalających na zdalną pracę w systemie. Funkcje te są zgromadzone w bibliotece CDN_API.DLL, która jest instalowana łącznie z całym systemem CDN XL.
Uwaga
Aby aplikacja wykorzystująca CDN XL API mogła być łatwo przenoszona pomiędzy komputerami, wskazane jest, aby folder, w którym jest zainstalowany program CDN XL, był umieszczony w ścieżce dostępu systemu Windows. Umożliwi to aplikacji zewnętrznej odszukanie odpowiednich bibliotek DLL. W przypadku, gdy aplikacja zewnętrzna jest umieszczona w kartotece z bibliotekami programu CDN XL, powyższy warunek nie jest konieczny.
Hermetyczność
Duży nacisk przy tworzeniu funkcji CDN XL API położony został na bezpieczeństwo i integralność danych wprowadzanych poprzez te funkcje. Wynikiem tego jest funkcja weryfikująca Użytkownika (XLLogin) oraz wewnętrzny mechanizm CDN XL kontrolujący poprawność zakończenia działania funkcji API.
Program CDN XL bardzo dokładnie śledzi wszelkie zmiany w bazie, dokonywane przy pomocy funkcji API. Jeżeli wystąpi błąd, który spowoduje niepoprawne przerwanie działania aplikacji wykorzystującej API, to wszystkie zmiany przez nią wprowadzone, które nie zostały poprawnie zakończone, zostają bezwzględnie wycofane. Warunkiem poprawności zmian wprowadzanych przez API jest albo zakończenie wprowadzania obiektu, który stanowi logiczną całość albo wylogowanie się z systemu funkcją XLLogout.
Przyklad
Obiektem, który tworzy logiczną całość jest np. faktura. Tworzenie takiego obiektu z poziomu funkcji API ograniczają funkcje XLNowyDokument oraz XLZamknijDokument. Jeżeli przerwanie działania aplikacji nastąpi po wywołaniu pierwszej z nich, a przed zamknięciem dokumentu, to dokument taki zostanie wycofany z bazy danych. Jeżeli natomiast zostanie poprawnie zakończone wywołanie funkcji XLZamknijDokument, to dokument taki jest zapisywany na stałe w bazie danych nawet, jeżeli błąd aplikacji wystąpi przed wylogowaniem się poprzez funkcję XLLogout (dokument jako logiczna całość został wprowadzony poprawnie).
Wersjonowanie
Ponieważ zakładamy, iż funkcjonalność CDN XL API będzie stale rozszerzana, funkcje te zostały wyposażone w mechanizm wersjonowania. Zapewni on kompatybilność z poprzednimi wersjami API, czyli pozwoli na uniknięcie sytuacji, w których po zmodyfikowaniu (rozszerzeniu) funkcji API Użytkownicy i Integratorzy byliby zmuszeni do wprowadzania odpowiednich zmian w napisanych przez siebie aplikacjach wspomagających.
Ponieważ CDN XL musi zawsze działać na najnowszych strukturach danych, mechanizm wersjonowania będzie pełnił rolę translatora pomiędzy strukturami API przekazanymi z zewnętrznej aplikacji, a strukturami wykorzystywanymi wewnątrz CDN XL. Po wartości przekazanej w polu: Wersja, zostanie rozpoznana struktura przekazana do funkcji i dokonane zostanie odpowiednie przepisanie wartości do struktury wewnętrznie wykorzystywanej przez CDN XL. W momencie, gdy struktury wewnętrzne i zewnętrzne są różne, pola niewykorzystywane zostaną wypełnione domyślnymi wartościami.
Ponieważ struktury danych wykorzystywane przez API służą również do zwracania danych z programu CDN XL, mechanizm wersjonowania jest mechanizmem działającym w obie strony (dokonana zostanie odpowiednia translacja danych wewnętrznych do struktury przekazywanej na zewnątrz).
Dzięki temu aplikacje napisane w aktualnej wersji API będą działały poprawnie również w kolejnych wersjach CDN XL, bez potrzeby dokonywania w nich przeróbek (z wyjątkiem sytuacji, w której chcemy rozszerzyć funkcjonalność aplikacji o nowe możliwości CDN XL API).
Przyklad
Zestaw funkcji jest jeden. Różne są zestawy parametrów tych funkcji (z sufixami _1, … , _12) w bibliotece dynamicznej CDN_API.DLL są funkcje bez sufiksów. Rozpoznanie wersji jest realizowane w ten sposób, że każda struktura ma pole: Wersja, które jest sprawdzane przy wywołaniu poszczególnych funkcji i w zależności od tej wartości, wewnętrznie wołane są funkcje z odpowiednimi sufiksami. Użycie jednocześnie 2 wersji API nie jest polecane, jeśli chodzi o funkcje dotyczące tego samego obszaru, tzn. nie powinno się stosować funkcji dodającej nagłówek w wersji 1 a funkcji dodającej pozycje w wersji 5. Choć możliwe jest działanie w takich przypadkach funkcji, to nie polecamy takiego rozwiązania. Natomiast stosowanie różnych wersji w różnych obszarach CDN XL jest jak najbardziej dopuszczalne. Tzn. można wystawić zamówienie zestawem funkcji w wersji 1, a fakturę zestawem funkcji w wersji np. 5.
Po każdorazowej zmianie struktur, publikowana będzie nowa wersja CDN XL API oznaczona kolejnym numerem. Numer ten będzie nadawany równolegle dla wszystkich struktur API niezależnie od tego, czy została ona zmieniona (np. zmiana tylko w strukturze XLLoginInfo spowoduje zmianę numeru wersji dla wszystkich pozostałych struktur API).
Algorytm postępowania
Typowy scenariusz wykorzystujący funkcje XL-API najprościej jest prześledzić na przykładzie faktury sprzedaży.
Kolejność wywoływanych funkcji jest następująca:
XLLogin - inicjalizacja bibliotek CDN XL, login operatora do bazy danych;
XLNowyDokument – otwarcie nagłówka nowego dokumentu; powoduje zapisanie w bazie danych otwartego nagłówka dokumentu (w omawianym przypadku jest to faktura sprzedaży);
XLDodajPozycje – dodanie pozycji do faktury; wywołanie tej funkcji może nastąpić wielokrotnie, jeżeli do dokumentu chcemy dopisać więcej niż jedną pozycję;
XLDodajPlatnosc – zapis płatności do tworzonej faktury; wywołanie tej funkcji jest opcjonalne – jeżeli nie zostanie wywołana, system automatycznie wygeneruje płatność domyślną przy zamykaniu faktury; funkcja może być wołana wielokrotnie – np. w przypadku specyfikacji płatności ratalnej;
XLZamknijDokument – zakończenie edycji i zamknięcie dokumentu; dokument może być zamykany w trybie normalnym (zapis bez możliwości późniejszej modyfikacji) lub w trybie „do bufora";
XLLogout – w obrębie jednej sesji otwartej funkcją XLLogin możemy wystawić dowolną ilość dokumentów. Wystawienie każdego z nich powinno zaczynać się wywołaniem funkcji XLNowyDokument i kończyć wywołaniem funkcji XLZamknijDokument.
Przykłady zastosowań
Import dokumentu z pliku .TXT
Jest to szczególnie istotne dla firm wprowadzających bardzo długie transakcje zakupu. Często wraz z towarem jego dostawca dostarcza dyskietkę ze specyfikacją dostawy. Korzystając np. z programu Microsoft Excel można napisać prosty program wczytujący taki plik tekstowy do arkusza, a następnie łączący się poprzez CDN XL API z systemem CDN XL i generujący odpowiedni dokument zakupu.
Wsadowy import transakcji
Firmy wielooddziałowe często importują poprzez łącza modemowe transakcje ze swoich oddziałów do centrali, gdzie mają one być następnie wprowadzone do bazy danych. Program importujący transakcje może za pośrednictwem CDN XL API połączyć się z systemem CDN XL i zapisywać w jego bazie danych zaimportowane z oddziałów dokumenty.
Przykładowe kody
Poniżej przedstawione zostały przykładowe kody wykorzystujące CDN XL API.
Uwaga
W przypadku wielokrotnego wywoływania tej samej funkcji API (np. dodawanie wielu pozycji do FS) konieczne jest czyszczenie struktury (zmienne typu Long należy wypełnić 0, zmienne typu String - pustym ciągiem ””) wykorzystywanej w funkcji każdorazowo po jej użyciu. Jest to konieczne, ponieważ w niektórych polach struktury zwracane są wartości, które w przypadku nie wyczyszczenia ich, będą użyte przy ponownym wykorzystaniu struktury.
Dadanie ZS z jednym elementem (VBA)
Sub Dodaj_Zamowienie()
Dim Sesja As Long
Dim Wynik As Long
Dim Login As XLLoginInfo_12
Dim IDDokumentu As Long
Dim Naglowek As XLDokumentZamNagInfo_12
Dim Element As XLDokumentZamElemInfo_12
Dim Zamkniecie As XLZamkniecieDokumentuZamInfo_12
Sesja = 0
IDDokumentu = 0
With Login
.Wersja = 12
.programID = "TestXL"
.Baza = "CDNXL_Test"
.OpeIdent = "ADMIN"
.OpeHaslo = ""
End With
Wynik = XLlogin_12(Login, Sesja)
If Wynik <> 0 Then
MsgBox("Błąd logowania: " & Wynik)
End If
With Naglowek
.Wersja = 12
.Typ = 6
.Akronim = "Test"
End With
Wynik = XLNowyDokumentZam_12(Sesja, IDDokumentu, Naglowek)
If Wynik <> 0 Then
MsgBox("Błąd dodawania nagłówka: " & Wynik)
End If
With Element
.Wersja = 12
.Ilosc = 10
.CenaKatalogowa = 1
.Towar = "Test"
End With
Wynik = XLDodajPozycjeZam_12(IDDokumentu, Element)
If Wynik <> 0 Then
MsgBox("Błąd dodawania pozycji: " & Wynik)
End If
With Zamkniecie
.Wersja = 12
.TrybZamkniecia = 2
End With
Wynik = XLZamknijDokumentZam_12(IDDokumentu, Zamkniecie)
If Wynik <> 0 Then
MsgBox("Błąd zamykania nagłówka: " & Wynik)
End If
Wynik = XLlogout_12(Sesja)
If Wynik <> 0 Then
MsgBox("Błąd wylogowania: " & Wynik)
End If
End Sub
Przekształcenie ZS do FS (VBA)
Public Sesja As Long
Public IDDokumentu As Long
Public Wynik As Long
Public ElemInfo As XLDokumentElemInfo_12
Sub Zaloguj()
Dim Login As XLLoginInfo_12
Sesja = 0
Wynik = 0
With Login
.Wersja = 12
.ProgramId = "X:VBA"
.Baza = "CDN_XL_Test"
.OpeIdent = ""
.OpeHaslo = ""
End With
Wynik = XLLogin_12(Login, Sesja)
If Wynik <> 0 Then
Wynik = MsgBox("Błąd logowania: " & Wynik)
Exit Sub
End If
End Sub
Sub DodajNaglowek()
Dim NagInfo As XLDokumentNagInfo_12
Worksheets("Nagłówek ZS").Select
Wersja = 12
With NagInfo
.Wersja = 12
.Typ = 4
.ZamFirma = Range("b2").Value
.ZamNumer = Range("c2").Value
.ZamTyp = Range("a2").Value
End With
Wynik = 0
Wynik = XLNowyDokument_12(Sesja, IDDokumentu, NagInfo)
If Wynik <> 0 Then
Wynik = MsgBox("Błąd dodawania nagłówka: " & Wynik)
Exit Sub
End If
End Sub
Sub ZamknijNaglowek()
Dim ZamkniecieInfo As XLZamkniecieDokumentuInfo_12
ZamkniecieInfo.Wersja = 12
ZamkniecieInfo.Tryb = 0
Wynik = 0
Wynik = XLZamknijDokument_12(IDDokumentu, ZamkniecieInfo)
If Wynik <> 0 Then
Wynik = MsgBox("Błąd zamykania nagłówka: " & Wynik)
Exit Sub
Else
Wynik = MsgBox("Poprawnie dodano dokument WZ.")
End If
End Sub
Function Pierwszy_wolny_rekord() As Integer
Dim licznik As Long
licznik = 2
Do
If Range("A" & licznik).Value = "" Then
Pierwszy_wolny_rekord = licznik
Exit Function
Else
licznik = licznik + 1
End If
Loop
Stop
End Function
Sub DodajPozycje()
Worksheets("Pozycja ZS").Select
licznik = Pierwszy_wolny_rekord()
For x = 2 To licznik - 1
With ElemInfo
.Wersja = 12
.ZamFirma = Range("b" & x).Value
.ZamTyp = Range("a" & x).Value
.ZamNumer = Range("c" & x).Value
.ZamLp = Range("d" & x).Value
End With
Wynik = 0
Wynik = XLDodajPozycje_12(IDDokumentu, ElemInfo)
If Wynik <> 0 Then
Wynik = MsgBox("Błąd dodawania pozycji: " & Wynik)
Exit Sub
End If
Next x
End Sub
Sub Wyloguj()
Wynik = 0
Wynik = XLLogout_12(Sesja)
If Wynik <> 0 Then
Wynik = MsgBox("Błąd wylogowywania: " & Wynik)
Exit Sub
End If
End Sub
Sub Przeksztalc_ZS()
Zaloguj
DodajNaglowek
DodajPozycje
ZamknijNaglowek
Wyloguj
End Sub
Dodaj Kontrahenta (.NET)
Dla programistów wykorzystujących platformę MS .NET został przygotowany plik assembly, zawierający deklaracje struktur oraz funkcji używanych w CDN XL API. Plik jest dostępny na stronie ComArch (w zasobach CDN XL). Obecna wersja jest wersją testową, ciągle rozwijaną. Plik należy dołączyć w referencjach projektu (w Microsoft Visual Studio .NET można to zrobić wybierając w menu Project/Add Reference).
using System;
using cdn_api;
namespace XLNowyKontrahent
{
class APIDodajKontrahenta
{
[STAThread]
static void Main(string[] args)
{
XLLoginInfo_12 Login = new XLLoginInfo_12();
Login.Wersja = 12;
Login.ProgramID = "API.NET";
Login.Baza = "maciek4n";
Login.OpeIdent = "ADMIN";
Login.OpeHaslo = "";
Int32 SesjaID = 0;
Int32 KontrahentID = 0;
int LoginResult = cdn_api.cdn_api.XLLogin(Login, ref
SesjaID);
if (LoginResult == 0)
{
XLKontrahentInfo_12 Kontrahent = new XLKontrahentInfo_12();
Ścieżka do systemu ERP XL musi być w globalnej zmiennej środowiskowej PATH -widzianej przez wszystkich użytkowników systemu, a w szczególności przez ASPNET
Operator, na którego jest logowanie przez API nie może mieć pustego hasła
Wymagania związane z użytkownikami Windowsów:
Użytkownik ASPNET musi być w grupie użytkownicy, użytkownik na którym działa
IIS i ASP musi mieć prawa do katalogu z systemem ERP XL - chodzi o to żeby ten
użytkownik miał uprawnienia do uruchomienia ERP XL. [/su_list]
3. Na systemach serwerowych (2003,2008, 2012) i VISTA, Win 7, 8 najlepiej utworzyć dla takiej aplikacji osobną pulę aplikacji. Użytkownik, na którym działa pula (domyślnie Usługa Sieciowa) musi mieć prawo do katalogu z systemem CDNXL, aby miał uprawnienia do uruchomienia systemu.
4. Dodatkowo funkcje API powinny być wołane w trybie wsadowym.
5. Na C8 – nowy interfejs – przed logowaniem do API trzeba zawołać poniższy kod.
Powyższe AttachThreadToClarion trzeba wołać przy każdym podnoszeniu nowego wątku.
6. W zmiennej środowiskowej Path powinno być wskazanie w ścieżce na jeden folder z systemem ERP XL (jeżeli jest zawarte odwołanie do innych folderów z wcześniejszymi wersjami należy je usunąć a następnie zapisać zmiany i zrestartować komputer).
7. Trzeba wołać attachthread wg wskazań w dokumentacji (lub jak powyżej) do każdego
nowego wątku i nie używać async’a. Jeżeli XLLogin jest wołane w innym wątku niż
pozostałe funkcje API to ten wątek musi pozostać aktywny tak długo jak wołamy funkcje
API – nie można po jego zakończeniu wołać funkcji API.
8. AttachThreadToClarion woła się 1 raz po utworzeniu wątku .net ( w tymże utworzonym wątku) – czyli 1 raz na wątek (teoretycznie nie ma ograniczenia na ilość wywołań AttachThread). Po wywołaniu AttachThreadToClarion wątek .net i wątek Clariona to jest jeden i ten sam wątek, nie ma więc operacji odwrotnej do AttachThreadToClarion. Jak zakończy się wątek utworzony w .net to zakończy się również w Clarionie i obiekty wątkowe zostaną zwolnione.
Plik Konfiguracyjny
Plik konfiguracyjny aplikacji nie pojawia się automatycznie po stworzeniu projektu i należy go dodać samodzielnie. Wystarczy kliknąć prawym przyciskiem myszy na projekt, do którego chcemy dodać plik z konfiguracjami, następnie wybrać opcję “Add New Item” i w oknie wyboru typu pliku zaznaczyć “Application Configuration File”. Dalej podaje się jego nazwę – standardowo App.config i potwierdza wybór.
Logowanie do API poprzez usługę
Podczas startowania usługi ( np. realizacja zamówienia ZS dokumentem WZ) wołany jest XLLogin, czyli są ustawiane obiekty globalne m.in. kolekcje rodzajów kontrahentów, definicje dokumentów itd. (wszystkie rzeczy konfiguracyjne XL’a). Potem startuje nowy wątek, w którym są wystawiane dokumenty np. WZ. Podczas gdy startuje nowy wątek to część danych konfiguracyjnych kopiuje z wątku głównego (robiona jest kopia żeby wątki się nie blokowały na czas dostępu do danych w wątku głównym). Należy zwrócić uwagę na specyficzne zachowanie usług (jeżeli usługa zawiera metody OnStart, OnStop, AutoResetEvent, WaitOne) – przy jej uruchamianiu wołana jest metoda OnStart (jeśli w niej byłoby umieszczone logowanie do API) to wątek w którym OnStart został wywołany może być za chwilę zakończony, co pociąga za sobą zwolnienie obiektów globalnych ładowanych przy XLLogin. Od tego momentu nowo tworzone wątki generujące np. WZ nie mają skąd skopiować danych konfiguracyjnych.
Rozwiązaniem jest w metodzie OnStart uruchomienie nowego wątku, w którym jest logowanie do API i ustawienie po zalogowaniu aby wątek nie zakończył się. Można to zrobić za pomocą statycznego obiektu klasy AutoResetEvent i metody WaitOne. W metodzie OnStop usługi trzeba wtedy zawołać metodę Set na tym obiekcie (po wylogowaniu z API).
API a aplikacje działające w oparciu o webserwis
W architekturze serwera opartego o WCF i klienta, problemem dla clariona jest kończenie wątku głównego gdy proces się nie kończy – czyli z punktu widzenia systemu operacyjnego wszystko jest poprawnie, jest wątek główny samej usługi. Wątek ten nie jest jednak związany z clarionem, więc w clarionie dopiero wątek w którym następuje logowanie do API jest wątkiem głównym – po wylogowaniu wątek ten się kończy mimo iż proces nadal działa – czy z punktu widzenia clariona sytuacja niemożliwa do uzyskania – nie ma czegoś takiego jak proces bez żadnego wątku, dlatego tez z tego powodu co jakiś czas zgłaszane mogą być wyjątki.
Rozwiązaniem będzie przy starcie usługi wydzielenie jednego wątku, związanie go z clarionem (AttachThread…) i pozostawieniem aktywnym przez cały czas działania usługi. W wątku tym trzeba wywołać od razu XLLogin. I teraz można zrobić od razu XLLogout, lub pozostawić tą sesję aktywną i w niej wystawiać dokumenty z wątków tworzonych na żądanie klientów – będzie szybciej działać. Czyli teraz nie byłoby już wołania XLLogin,XLNowyDokument…, XLLogout za każdym razem, ale jedynie XLNowyDokument z ID sesji ustalonym w wątku pierwszym.
Trzeba tak zmodyfikować dodatek, żeby choć jeden wątek procesu był podłączony do wątku clarionowego, tak aby nie było sytuacji, w której proces jest aktywny a żaden wątek nie jest połączony z clarionem. To wymaganie nie dotyczy okresu aktywności przed pierwszym wywołaniem AttachThreadToClarion.
Możliwe problemy do weryfikacji:
czy IIS po wylogowaniu z API od razu zamknie wątek czy zostawi w puli na pewien czas
czy podczas pracy w innym wątku na API IIS nie zamknie takiego zużytego wątku z puli, bo już tam długo tkwił (wtedy zwolnione zostaną obiekty globalne z których może chcieć korzystać pracujący wątek – one pracują w ramach jednego procesu w3wp)
Connection string
Po zmianach w API XLPolaczenie nie zwraca automatycznie danych odnośnie połączenia. Funkcja API zwraca niezbędne dane do połączeń w aplikacji uzupełnione w tabeli cdn.Konfig i Kon_Numer = -137, Kon_Komentarz = ‘ConnectionString’.
Od wersji 2019.0 XLPolaczenie zwraca dane z funkcji skalarnej CDN.PodajDodatokwyConnectString – co pozwala na dynamiczną weryfikację połączenia, w przeciwieństwie do stałej danej wpisanej w CDN.Konfig.
W wersji 4.5 systemu ERP XL, wprowadzono mechanizm definiowania i obsługiwania procesów. Umożliwia on zaprogramowanie następujących po sobie czynności (tworzących proces), mających na celu osiągnięcie celu założonego przez Użytkownika. Czynności, jakie będą wykonywane w trakcie procesu, mogą być czynnościami, jakie wynikają z funkcjonalności systemu ERP XL, np. wygenerowanie zamówienia sprzedaży lub też będące „czynnościami zewnętrznymi” – np. wysłanie wiadomości e-mail, albo uruchomienie programu zewnętrznego, po spełnieniu określonego warunku, itp.
Za pomocą procesów możliwe jest również regulowanie obiegu dokumentów, wskazanie osób odpowiedzialnych za realizację wyznaczonych zadań oraz monitoring czynności wykonywanych przez podległych pracowników.
Parametry związane z obsługą procesów znajdują się w Konfiguracja, zakładka: Ogólne/Parametry2.
Definiowanie procesów:
Włącz obsługę procesów – zaznaczenie parametru spowoduje uruchomienie obsługi procesów. Do momentu tego uruchomienia, procesy mogą być definiowane, jednak nie będą zastosowane.
Do procesu załączaj log tylko gdy wystąpiły błędy lub ostrzeżenia – Na liście załączników wyświetlone będą automatycznie załączniki typu dziennik, które zawierają loga wygenerowanego podczas wykonywania akcji kluczowej przez XL WORK AUTOMAT w procesach. W logach tych zawarta jest informacja o przyczynach niepowodzenia w wykonywanych akcjach. W przypadku zaznaczenia tego parametru procesy powinny robić wpisy do załączników tylko w przypadku gdy w logu pojawią się błędy lub ostrzeżenia.
Uwzględnij kontekst operatora przy wykonywaniu zadań – parametr Uwzględniaj kontekst operatora przy wykonywaniu zadań zmienił zasady weryfikacji uprawnień operatorów – ogólnie chodzi o to, żeby Operator nie wykonał akcji w procesie jeśli jest przypisany do innego centrum. Dotyczy to sytuacji, gdy jako opiekuna do zadania przypiszemy nie operatora, tylko centrum np. mamy Centrum 1 i Centrum 2, do obu centrów należy operator OP1. Centrum 1 jest opiekunem akcji: Dodanie dokumentu handlowego, a Centrum 2: Potwierdzenie dokumentu handlowego. Wówczas OP1, pomimo, że należy do obu centrów to nie będzie mógł dodawać dokumentów gdy jest zalogowany w Centrum 2 czy też potwierdzać dokumentów, gdy jest zalogowany do Centrum 1.
Uwaga
Jeżeli parametr zostanie wyłączony w momencie, gdy procesy są uruchomione, będzie możliwe wykonanie bieżącej akcji, jednak jej wykonanie nie spowoduje przejścia do następnego etapu (zadania) procesu.
Uwaga
Wykorzystanie funkcjonalności procesów wymaga zaznaczenia osobnej opcji w kluczu sprzętowym (opcja licencji).
Generowanie dokumentów w ramach obsługi procesów
Generowanie dokumentów zamówień, jako realizacja akcji kluczowych
W wersji 4.5 wprowadzono obsługę dokumentów zamówień:
zapytań ofertowych sprzedaży/zakupu
ofert zakupu/sprzedaży
zamówień sprzedaży/zakupu.
Obsługa ta wyraża się w tym, że w systemie zostały predefiniowane akcje, polegające na wygenerowaniu wymienionych dokumentów. Są to tzw. akcje kluczowe.
Przyklad
Definiowany jest proces polegający na obsłudze zamówienia sprzedaży. Podczas definiowania tego procesu, określane są akcje do wykonania w jego ramach. Akcje te mogą być akcjami zdefiniowanymi przez Użytkownika, lub wybranymi z akcji predefiniowanych w systemie. Wśród akcji predefiniowanych w systemie znajduje się akcja kluczowa: Dodanie zamówienia sprzedaży. Akcji tej nie trzeba definiować – przy definiowaniu procesu polegającego na obsłudze zamówienia sprzedaży, będzie ona dostępna do wyboru z listy akcji kluczowych, właściwych ze względu na rodzaj dokumentu, który ma być obsłużony. Podobnie – jeżeli definiowany jest proces obsługi oferty zakupu, jedną z akcji kluczowych, możliwych do wybrania jest akcja kluczowa: Dodanie oferty zakupu. Lista akcji kluczowych predefiniowanych w systemie będzie wyświetlana w oknie: Definicja akcji, po nacisnięciu w wierszu: Akcja kluczowa.
Akcje kluczowe możliwe do wykonania przy definiowaniu procesu, polegającego na obsłudze zamówienia sprzedaży (wśród nich – akcja kluczowa: Dodanie zamówienia sprzedaży).
Generowanie innych dokumentów
W wersji 4.5, możliwe jest również zdefiniowanie i wykonanie akcji polegającej na wygenerowaniu innych niż wymienione dokumentów. Akcje te nie są jednak predefiniowane w systemie. Z tego względu, Użytkownik musi zdefiniować je samodzielnie. Należy zwrócić uwagę, że zdefiniowanie akcji polegającej na wygenerowaniu dokumentu nie obejmuje każdego dokumentu, jaki występuje w systemie i jest ograniczone do przypadków generowania dokumentów z zamówień sprzedaży i zakupu.
Definiowanie akcji polegającej na generowaniu dokumentów
Aby zdefiniować akcję polegającą na generowaniu dokumentów, należy:
podczas definiowania procesu polegającego na obsłudze zamówienia sprzedaży/zakupu (więcej w rozdziale: Definiowanie procesu: Obsługa zamówienia zakupu) otworzyć okno: Definicja Akcji.
W oknie: Definicja Akcji, w wierszu: Akcja kluczowa, wybrać opcję: Generowanie dokumentu z zamówienia sprzedaży (lub zakupu – w zależności od rodzaju zamówienia, dla którego definiowany jest proces). Po wybraniu akcji kluczowej, w oknie: Definicja Akcji, zostanie uaktywniona zakładka: Parametry.
Definiowanie akcji, polegającej na generowaniu dokumentu z zamówienia sprzedaży – wybranie akcji kluczowej.
Na zakładce: Parametry, należy wprowadzić nazwę dokumentu, który ma być wygenerowany, np. w procesie polegającym na obsłudze zamówienia sprzedaży ma zostać wygenerowana z tego zamówienia faktura sprzedaży – w takim przypadku, na zakładce: Parametry, należy wpisać skróconą nazwę dokumentu: FS.
Definiowanie akcji polegającej na generowaniu dokumentu z zamówienia sprzedaży – wprowadzenie nazwy dokumentu, który zostanie wygenerowany z zamówienia
Określenie zadań w definicji procesu
Typy zadań
Zadania predefiniowane
Jak wspomniano w rozdziale: Otworzenie definicji procesu, w każdej definicji procesu znajdują się dwa zadania predefiniowane. Są to zadania: START i KONIEC. Nie możliwości modyfikacji tych zadań, ani ich usunięcia z definicji.
Do zadania START, należy przypisać czynność, która spowoduje uruchomienie procesu, natomiast zadanie: KONIEC, jest ostatnim zadaniem każdego procesu i oznacza jego zakończenie.
Zadania definiowane przez Użytkownika
Oprócz zadań predefiniowanych, w definicji procesu znajdą się zadania określone przez Użytkownika. Zadania te stanowią etapy procesu. W ich ramach definiuje się czynności, których wykonanie skutkuje przejściem procesu do następnego zadania (etapu). Liczba zadań możliwych do wprowadzenia w definicji procesu nie jest ograniczona.
Funkcjonowanie akcji kluczowych
Rodzaje akcji kluczowych
Akcje kluczowe to akcje predefiniowane w systemie. Dla każdego procesu definiowanego w systemie możliwe jest przypisanie jednej z następujących akcji kluczowych:
Zakończenie całego procesu
Uruchomienie innego procesu
Wysłanie wiadomości e-mail
Uruchomienie programu zewnętrznego
Wykonanie skryptu SQL
Ponadto, dla definicji procesów związanych z zamówieniami możliwe jest wykonanie innych akcji kluczowych, takich jak: Wygenerowanie dokumentu z zamówienia sprzedaży/zakupu (więcej w rozdziale: Definiowanie akcji polegającej na generowaniu dokumentów), potwierdzenie zamówienia sprzedaży/zakupu, usuwanie zamówienia sprzedaży/zakupu i innych – odpowiednio do rodzaju dokumentu, dla którego definiowany jest proces.
Określanie parametrów dla akcji kluczowych
Dla niektórych akcji konieczne jest wskazanie ich parametrów, np. dla akcji: Wysłanie wiadomości email, konieczne jest podanie w Definicji Akcji adresata wiadomości, jej tematu oraz treści. Parametry te wprowadza się na zakładce: Parametry, uaktywnianej po wybraniu odpowiedniej akcji.
Uruchomienie innego procesu
Ta akcja kluczowa pozwala na przejście do innego procesu zdefiniowanego w ERP XL. W polu Uruchamiany proces wybieramy proces, który ma zostać uruchomiony.
Uwaga
Parametr “Uruchom ponownie gdy jest już zakończony” pozwala na ponowne wykonanie tego procesu i czynności pomimo tego, że już taki proces dla zadanego obiektu był wykonany.
Definicja Akcji: Uruchomienie innego procesu
Na zakładce parametry powinny zostać przekazane odpowiednie dane do nowego procesu. Jest to OBITyp
i OBINumer właściwe dla nowego procesu. Przykładowo w opisanym przypadku uruchamiany jest proces wysyłający mail z fakturą sprzedaży, dlatego wynik zapytania powinien zwrócić TrN_GIDTyp = 2033 (faktura sprzedaży) oraz jego TrN_GIDNumer.
Definicja Akcji: Uruchomienie innego procesu z przekazanymi parametrami
Uwaga
Przedstawione powyżej to przykład zastosowania opisanej funkcjonalności, nie ma sensu biznesowego, zwraca ostatnio dodany TrN_GIDNumer i TrN_GIDTyp faktury sprzedaży.
Wysłanie wiadomości e-mail
Definicja Akcji: Wysłanie wiadomości e-mail, ze zdefiniowanymi parametrami dla okna: Definicja Akcji.
Na powyższym rysunku przedstawiono sposób wprowadzania parametrów dla akcji: Wysłanie wiadomości
e-mail. Należy zwrócić uwagę na format wprowadzanych danych. Powinny one zostać zapisane zgodnie z poniższym schematem:
<ZALACZNIK Wydruk=0> lokalizacja np.(C:\przyklad.jpg) </ZALACZNIK> – plik z dysku
Na zakładce: Parametry, można również wprowadzić zapytanie w języku T-SQL, które umożliwia np. wysłanie wiadomości e-mail, na adres podany na karcie kontrahenta, dla którego wygenerowany został dokument. Aby wykorzystać tę funkcjonalność, należy wykonać następujące czynności:
W pierwszym znaku wyrażenia (wpisanego w sekcję <DO>, <TEMAT>, lub <TRESC>) interpretowanego przez program, należy wstawić znak: ‘!’, np, <TRESC>!’tutaj_kod’ </TRESC>
Wśród dostępnych prymitywów są:
@OBITYP, @OBINUMER – reprezentujące identyfikator procesowanego obiektu
@PRCTYP, @PRCNUMER – identyfikator pracownika
@OPENUMER – identyfikator operatora
@SQL – funkcja wykonująca dowolne zapytanie SQL
@ADRESEMAILKONTRAHENTA
@NUMERDOKUMENTU
Przyklad
Treść zakładki: Parametry, która umożliwia wysłanie wiadomości e-mail na adres podany na karcie kontrahenta, o zamówieniu obsługiwanym przez proces:
<DO>!@SQL(‘Select KNT_EMail From CDN.KntKarty (NOLOCK) join CDN.ZAMNAG (NOLOCK) on ZaN_KntNumer = Knt_GIDNumer where ZaN_GIDNumer=’&@OBINUMER)</DO>
<TEMAT>test</TEMAT>
<TRESC>!’Dokument:’&@SQL(‘Select CDN.NumerDokumentu(CDN.DokMapTypDokumentu(ZAN_GIDTyp,ZAN_ZamTyp, ZAN_Rodzaj),0,0,ZAN_ZamNumer, ZAN_ZamRok, ZaN_ZamSeria,0) From CDN.ZamNAg (NOLOCK) Where ZaN_GidNumer=’&@OBINumer)</TRESC>
Generowanie dokumentu z zamówienia zakupu/sprzedaż.
Na zakładce: Parametry, należy wprowadzić skróconą nazwę dokumentu, np. FS, FZ itd. Jeżeli dla jednej akcji: Generowanie dokumentu z zamówienia zakupu, na zakładce: Parametry, zostało wskazanych wiele dokumentów, wtedy domyślnie będzie generowany ten, który został wprowadzony jako pierwszy.
Uruchomienie programu zewnętrznego.
Na zakładce: Parametry, należy wprowadzić nazwę pliku inicjującego odpowiedni program, np. jeżeli ma zostać uruchomiony program MS Word, w Definicji Akcji: Uruchomienie programu zewnętrznego, na zakładce: Parametry, należy wprowadzić tekst: winword.exe.
Jeżeli w procesie chcemy przekazać np. FS do edycji przez aplikację zewnętrzną to można przekazać zmienne procesowanego obiektu.
Definicja parametru Uruchomienia programu zewnętrznego
Wynik przekazania obiektu do zewnętrznej aplikacji
Wykonanie skryptu SQL.
Na zakładce: Parametry, wprowadza się skrypt, jaki ma zostać wykonany.
Zmiana etapu dokumentu w obiegu.
Na zakładce: Parametry, wprowadza się treść statusu jaki ma mieć dany dokument w obiegu wg Słownika statusów zdefiniowanego w Obiegu dokumentów.
Definicja Akcji: Zmiana etapu dokumentu w obiegu, zakładka parametry
Zastosowanie akcji kluczowych
Akcje kluczowe ułatwiają definiowanie procesów i zapewniają im dużą wszechstronność funkcjonalną. Zdefiniowanie procesu, w trakcie którego wykorzystana będzie akcja kluczowa – Wykonywanie skryptu SQL, umożliwia wywołanie czynności, której nie przewiduje „tradycyjna” – dostępna z poziomu interfejsu, funkcjonalność ERP XL. Z kolei wysłanie wiadomości e – mail, umożliwia np. automatyczne informowanie wskazanej grupy osób (pracowników/kontrahentów) o wykonaniu danej czynności, czy o osiągnięciu przewidzianego celu (więcej w rozdziale: 2.3 Definiowanie procesu: Sprawdzenie wysokości sprzedaży).
Akcje kluczowe przypisane do dokumentów zamówień, usprawniają tok definiowania procesów i automatyzują wykonywanie poszczególnych czynności w ich ramach.
Przyklad
Za pomocą akcji kluczowych, predefiniowanych dla zamówień sprzedaży możliwe jest określenie pełnej ścieżki obiegu dokumentów – od wygenerowania zamówienia sprzedaży, poprzez jego potwierdzenie, wygenerowanie dokumentu handlowego z zamówienia i zakończenie procesu. Ponadto, aby uwzględnić możliwe opcje tego obiegu, w definicji procesu można również uwzględnić takie czynności, jak: otwarcie zamówienia, jego odrzucenie lub anulowanie (którym odpowiadają akcje kluczowe). Kondtrukcja procesu umożliwia automatyczne przechodzenie do następnej czynności po wykonaniu poprzedniej.
Uwaga
W kolejnych wersjach systemu ERP XL, planowana jest rozbudowa procesów o obsługę kolejnych dokumentów, za pomocą akcji kluczowych.
Akcje automatyczne
Dla procesów możliwe jest zdefiniowanie akcji automatycznych, np. wysłanie wiadomości e – mail, uruchomienie programu zewnętrznego, lub wykonanie skryptu SQL, które będą wykonywane przez System.
O tym, czy akcja będzie akcją automatyczną decyduje ustawienie jako Opiekuna dla Czynności, w której przewidziano wykonanie akcji automatycznej, Opiekuna automatycznego.
Podmioty odpowiedzialne za realizację procesów
Procesy stwarzają możliwość wyznaczenia osób odpowiedzialnych za realizację poszczególnych czynności. Dzięki temu, poszczególne zadania, odpowiadające czynnościom w ERP XL mogą być przekazywane wybranym pracownikom. Wykonanie czynności (akcji) przez pracownika/operatora powoduje automatyczne przejście procesu do następnego etapu (zadania). Jako odpowiedzialnego za realizację czynności w następnym zadaniu można już wyznaczyć innego pracownika/operatora.
Wyznaczanie Opiekuna odbywa się w oknie: Definicja czynności procesu, na zakładce: Opiekunowie (więcej w rozdziałach: Przypisywanie Opiekunów do Czynności: Potwierdzenie zamówienia Przypisywanie Opiekuna do Czynności: Akcja automatyczna).
XL Work Automat
Okno: XL Work Automat, pozwala określić przedział czasowy, co jaki będą wykonywane akcje automatyczne, zdefiniowane dla aktywnych procesów. Przedział ten określa się na zakładce: Parametry.
Aby uruchomić automat, należy nacisnąć przycisk: . Naciśnięcie przycisku: , spowoduje natychmiastowe uruchomienie przetwarzania zadań automatycznych.
Okno XL Work Automat, w którym określa się przedział czasowy wykonywania akcji automatycznych.
Okno XL Work Automat, zakładka Parametry, określenie interwału czasowego
Przykładowe definicje procesów
Uwagi ogólne
W systemie ERP XL możliwe jest zdefiniowanie procesu, skupionego wokół obiektu, przewidzianego w jego funkcjonalności, jak również procesu, który nie dotyczy żadnego z takich obiektów. Wyboru dokonuje się w oknie: Definicje procesów, w jego lewym panelu, w którym wyświetlone są foldery, skupiające obiekty w ERP XL (zgodnie z podziałem na moduły). Wybór ostatniego folderu: Inne procesy, umożliwia utworzenie definicji procesu, który nie dotyczy obiektu, przewidzianego w funkcjonalności systemu.
Lista folderów, zawierających obiekty, dla których możliwe jest utworzenie definicji procesu (zaznaczony folder: Inne procesy, umożliwiającym utworzenie definicji procesu bez obiektu).
Poniżej przedstawiono scenariusze definiowania procesu – zarówno takiego, który dotyczy obiektu w systemie ERP XL (rozdział: 2.2 Definiowanie procesu: Obsługa zamówienia zakupu), jak i takiego, który takiego obiektu nie dotyczy (rozdział: 2.3 Definiowanie procesu: ).
Niezależnie od rodzaju, wszystkie procesy mają cechy wspólne:
W definicji procesu każde zadanie poza statusem końcowym (KONIEC) musi mieć zdefiniowaną przynajmniej jedną czynność
Aby możliwe było uruchomienie i obsługa procesu, dla czynności musi być przypisany przynajmniej jeden opiekun
Aby proces można było uruchomić, musi być on aktywny. Aktywność procesu zależy od spełnienia dwóch warunków:
zaznaczenia w oknie: Definicja procesu, parametru: Aktywny
zaznaczenia w konfiguracji, na zakładce: Ogólne/Parametry 1, parametru: Włącz obsługę procesów
Jeżeli do czynności jest przypisany więcej niż jeden opiekun, wtedy wykonanie akcji przez jednego z opiekunów, powoduje przejście procesu do następnego etapu.
Definiowanie procesu: Obsługa zamówienia zakupu
Planowany przebieg procesu
Poniżej zaprezentowano sposób określenia definicji następującego procesu, dotyczącego obsługi zamówienia zakupu.
Jako pierwsza czynność w procesie, przypisana do etapu: Start (która spowoduje jego uruchomienie), zostanie zdefiniowana: Dodanie zamówienia zakupu. Wykonanie tej czynności spowoduje przejście procesu do następnego etapu: Akceptacja zamówienia (AZ). W etapie AZ zdefiniowane będą dwie czynności: Potwierdzenie zamówienia, lub Odrzucenie zamówienia. Wykonanie jednej z tych czynności spowoduje przejście procesu do następnego etapu:
jeżeli zamówienie zostanie potwierdzone (przyjęte), wtedy proces przejdzie do etapu: Wysłanie wiadomości e-mail o przyjęciu zamówienia
jeżeli zamówienie zostanie odrzucone, wtedy proces przejdzie do etapu: KONIEC, który oznacza zakończenie procesu.
W etapie: Akceptacja zamówienia, przewidziano więc dwie sytuacje, a wybór jednej z nich zadecyduje o prowadzeniu procesu jedną z dwóch ścieżek. Jeżeli zamówienie zostanie potwierdzone (przyjęte), wtedy, jak już wspomniano, proces przejdzie do zadania (etapu): Wysłanie wiadomości e-mail o potwierdzeniu zamówienia. W etapie tym, czynnością, która zostanie wykonana, będzie wysłanie wiadomości e-mail. Dla czynności tej, jako opiekun, zostanie przypisany opiekun automatyczny, dzięki czemu czynność ta zostanie wykonana automatycznie, po przejściu procesu właśnie do tego zadania. Kolejnym etapem, po wysłaniu wiadomości e-mail, będzie etap: Generowanie dokumentu handlowego z zamówienia zakupu. Dokumentem tym będzie Faktura zakupu. Wykonanie czynności spowoduje przejście procesu do etapu: Koniec, który oznacza zakończenie procesu.
Przedstawiony proces jest dość uproszczony i służy pokazaniu mechanizmu definiowania i działania procesu. W ramach definicji może zostać ujętych znacznie więcej zadań i czynności. Należy jedynie pamiętać, że o ile do jednego zadania można przypisać wiele czynności, to wykonać można tylko jedną z nich. Przypisanie wielu czynności do jednego zadania jest przydatne, jeśli dla procesu przewidziano różne ścieżki, którymi może podążyć. Wtedy, na etapie danego zadania, wykonując jedną z czynności wybiera się właściwą ścieżkę – w zależności od okoliczności i proces toczy się dalej odpowiednio do przyjętego wyboru (wykonanie jednej z czynności w danym zadaniu, powoduje, że zadanie jest również traktowane jako wykonane i proces przechodzi do następnego etapu).
Poniżej przedstawiony został schemat procesu: Obsługa zamówienia zakupu, w którym wyraźnie widać dwie ścieżki, jakimi może podążyć proces w konsekwencji wykonania jednej z dwóch czynności: Potwierdzenia zamówienia (jego przyjęcia) bądź Odrzucenia zamówienia.
Schemat procesu: Obsługa zamówienia zakupu.
Otworzenie definicji procesu
Szczegóły każdego zdefiniowanego procesu znajdują się w oknie: Definicja procesu. Znajduje się w nim wykreowana przez Użytkownika lista zadań i czynności do wykonania w ramach zadań. Dwa zadania: START i KONIEC, są predefiniowane w systemie i nie ma możliwości ich modyfikacji i usunięcia (więcej w rozdziale: Określenie zadań w definicji procesu). Okno: Definicja procesu, otwiera się z poziomu okna: Definicje procesów.
Aby otworzyć okno definicji procesu: Obsługa zamówienia zakupu, należy:
otworzyć okno: Definicje procesów, poprzez wybranie w module: Administrator, z menu: Procesy, funkcje: Definicje procesów,
w lewym panelu okna: Definicje procesów, rozwinąć folder: Zamówienia, a po jego rozwinięciu wybrać gałąź: Zamówienie zakupu.
Po zaznaczeniu gałęzi: Zamówienie zakupu, należy nacisnąć przycisk: [Dodaj]. Zostanie otworzone okno: Definicja procesu. W oknie należy wprowadzić nazwę procesu: Obsługa zamówienia zakupu, a także można określić priorytet dla procesu. Parametr: Aktywny, decyduje o możliwość uruchomienia procesu (więcej w rozdziale: Uwagi ogólne).
Wyznaczenie zadań w definicji procesu: Obsługa zamówienia zakupu
Aby dodać nowe zadania o definicji procesu, należy:
W otworzonym oknie: Definicja procesu (więcej w rozdziale: Otworzenie definicji procesu), należy nacisnąć przycisk: , rozwijający menu, z którego należy wybrać opcję: Dodaj zadanie.
Wybór opcji: Dodaj zadanie, z menu w oknie: Definicja procesu.
Zostanie otworzone okno: Definicja zadania procesu.
Otworzone okno definicje zadania procesu, dla którego podano kod i nazwę.
W oknie należy wskazać kod (skróconą nazwę zadania) i jego pełną nazwę. Aby ułatwić definiowanie procesu, okno można tymczasowo zapisać, używając przycisku: [Zapisz]. W ten sposób można wyznaczyć kolejne zadania. W podanym przykładzie, do definicji procesu, zostały dodane następujące zadania:
AZ – Akceptacja zamówienia
WW – Wysłanie wiadomości e-mail o potwierdzeniu zamówienia
GD – Wygenerowanie dokumentu handlowego z zamówienia
Zdefiniowanie zadań dla procesu stworzyło podstawowe elementy jego konstrukcji. Teraz, dla każdego zadania należy określić czynności jakie będą wykonywane w ramach poszczególnych etapów. Sposób przypisywania czynności do poszczególnych zadań został przedstawiony na przykładzie przypisania czynności do zadania: Akceptacja zamówienia (więcej w rozdziale: Przypisywanie czynności do zadania: Akceptacja zamówienia).
Po ich wprowadzeniu do definicji procesu, wyglądać ona będzie jak na rysunku poniżej.
Definicja procesu: Obsługa zamówienia zakupu, z zadaniami: AZ, WW, GD.
Po zdefiniowaniu zadań w procesie należy określić dla nich parametry i przypisać czynności, jakie mają zostać wykonane w ich ramach. Kroki te zostały opisane w następnych rozdziałach.
Określenie parametrów zadania: Akceptacja zamówienia
Określenie parametrów dla zadania rozpoczyna się od wprowadzenia jego kodu (czyli skróconej nazwy) i pełnej nazwy zadania (więcej w rozdziale: Wyznaczenie zadań w definicji procesu: Obsługa zamówienia zakupu). W prezentowanym przykładzie, jako pierwsze zdefiniowano zadanie: Akceptacja zamówienia, stąd w pola: kod i Nazwa, wprowadzono odpowiednio wartości: AZ i Akceptacja zamówienia. Ponadto, dla zadania tego (tak jak dla innych zadań) możliwe jest określenie następujących parametrów:
Termin realizacji – dla każdego zadania można określić termin jego realizacji, czyli taki, w jakim ma zostać zrealizowane dane zadanie. Jest on liczony od momentu trafienia zadania do skrzynki pracownika. Termin można określić poprzez wskazanie ilości sekund, minut, godzin, dni, tygodni lub za pomocą warunku SQL. Warunek wprowadza się na zakładce: SQL, uaktywnionej po zaznaczeniu pola: SQL. Warunek ten powinien zwrócić zmienną w formacie timestamp. W prezentowanym przykładzie określono termin realizacji zadania jako 3 dni. Oznacza to, że w ciągu 3 dni od momentu wygenerowania zamówienia ma ono zostać potwierdzone lub odrzucone. Przekroczenie terminu nie uniemożliwia jednak zatwierdzenia lub odrzucenia zamówienia. Określenie terminu ma znaczenie dla monitorowania przebiegu procesu – w trakcie jego obsługi, zadania przeterminowane będą wyświetlane w skrzynce pracownika na czerwono. Dzięki temu zarówno pracownik, jak kierownik będą mieli możliwość kontrolowania terminowości wykonywania zadań.
Data realizacji – proponowana data realizacji zadania. Datę można określić poprzez wskazanie ilości sekund, minut, godzin, dni, tygodni lub za pomocą warunku SQL. Warunek wprowadza się na zakładce: SQL, uaktywnionej po zaznaczeniu pola: SQL. Warunek ten powinien zwrócić zmienną w formacie timestamp. Podobnie, jak w przypadku terminu realizacji zadania, przekroczenie wyznaczonej daty nie blokuje możliwości jego wykonania.
Czas realizacji – czas przewidziany na realizację zadania. Czas można określić poprzez wskazanie ilości sekund, minut, godzin, dni, tygodni lub za pomocą warunku SQL. Warunek wprowadza się na zakładce: SQL, uaktywnionej po zaznaczeniu pola: SQL. Warunek ten powinien zwrócić zmienną w formacie timestamp.
Zarówno data realizacji zadania, jak i czas realizacji są parametrami, które mają służyć Użytkownikowi, poprzez możliwość określania za ich pomocą harmonogramu wykonywania zadań, np. w danej jednostce określa się, że czas przewidziany na wykonanie danego zadania wynosi godzinę, a innego 1 dzień i zgodnie z tym wprowadza się odpowiednie zapisy w definicji zadania procesu.
Warunek wejścia – warunek, jaki musi zostać spełniony, aby nastąpiło wejście do danego statusu. Warunek ten określa się przez wykonanie zadań poprzedzających:
przynajmniej jedno – jeżeli wykonano przynajmniej jedno zadanie (czynność) poprzedzające (dla którego wynikiem będzie to zadanie),
wszystkie – aby nastąpiło wejście do zadania, będą musiały zostać wykonane wszystkie zadania poprzedzające (czynności).
Wskazanie tego warunku może się również odbyć za pomocą warunku SQL, wprowadzanego na zakładce: SQL, uaktywnianej po zaznaczeniu w wierszu: Warunek wejścia, parametru: SQL.
W prezentowanej definicji, dla parametru: Warunek wejścia, zaznaczono opcję: Przynajmniej jedno, gdyż etap: Akceptacja zamówienia poprzedzona jest tylko jedną czynnością: Dodanie zamówienia zakupu, przypisaną do zadania: START (więcej w rozdziale: Planowany przebieg procesu).
Po określeniu opisanych parametrów, definicja zadania procesu będzie wyglądała, jak na poniższym rysunku.
Definicja zadania procesu (AZ).
Poza wymienionymi parametrami, dla zadania przypisuje się czynność, lub czynności, przewidziane do wykonania w jego ramach. Przypisywanie czynności wymaga ich zdefiniowania, dlatego zostało opisane w rozdziale: Przypisywanie czynności do zadania: Akceptacja zamówienia.
Przypisywanie czynności do zadania: Akceptacja zamówienia
Przypisanie czynności do zadania procesu polega na określeniu działań, jakie mają zostać wykonane, gdy proces przejdzie do tego zadania (etapu) oraz podmiotów odpowiedzialnych (opiekunów) za ich wykonanie.
Przypisywanie czynności do zadania odbywa się w oknie: Definicja zadania procesu, na zakładce: Czynności. Do zadania: Akceptacja zamówienia, zostaną przypisane dwie Czynności: Potwierdzenie zamówienia i Odrzucenie zamówienia. Na początek zostaje zdefiniowana Czynność: Potwierdzenie zamówienia.
Przypisanie czynności: Potwierdzenie zamówienia do zadania: Akceptacja Zamówienia
Aby przypisać czynność: Potwierdzenie zamówienia, do zadania: Akceptacja zamówienia, należy:
W oknie: Definicja zadania procesu (AZ), wybrać zakładkę i nacisnąć przycisk: [Dodaj]. Zostanie otworzone okno: Definicja czynności procesu.
Otworzone okno: Definicja czynności procesu.
W oknie: Definicja czynności procesu, znajdują się dwie zakładki: Ogólne i Opiekunowie. Na zakładce: Ogólne, określa się Akcję czyli działanie jakie ma zostać wykonane w ramach czynności oraz Wynik, czyli zadanie, do którego przejdzie proces po wykonaniu Akcji. Przejście procesu do określonego Wyniku może zostać obłożone warunkiem SQL, który wprowadza się w polu: Warunek. Możliwe jest również określenie wielu Wyników dla tej samej Akcji, – wtedy o tym, do którego z nich przejdzie proces po wykonaniu Akcji zadecyduje warunek SQL przypisany do odpowiedniego Wyniku. Natomiast na zakładce: Opiekunowie, określa się podmioty odpowiedzialne za realizację czynności (wykonanie Akcji).
Określenie Akcji dla Czynności: Potwierdzenie zamówienia
Określenie Akcji następuje po naciśnięciu przycisku: . Zostanie otworzone okno: Definicja procesu (Zamówienie zakupu) z zakładką: Akcje.
Okno otwierane po naciśnięciu przycisku: Akcje, w oknie: Definicja czynności procesu.
W otwartym oknie, definiuje się akcję, która będzie wybrana jako Akcja do wykonania w ramach definiowanej Czynności. W tym celu należy nacisnąć przycisk: [Dodaj]. Zostanie otworzone okno: Definicja Akcji.
Okno definicji Akcji.
W oknie: Definicja Akcji, w wierszu Akcja kluczowa, znajduje się rozwijalna lista akcji predefiniowanych w systemie. Uruchamia się ją po naciśnięciu przycisku: . Z listy należy wybrać akcję: Potwierdzenie zamówienia zakupu.
Wybranie akcji: Potwierdzenie zamówienia zakupu.
Po wybraniu akcji, jej nazwa zostanie wyświetlona również w polu: Nazwa. Można ją modyfikować.
Akcja: Potwierdzenie zamówienia zakupu, została zdefiniowana, wobec tego należy ją zapisać, naciskając przycisk: [Zapisz]. Zapisana akcja zostanie wprowadzona na listę w oknie: Definicja procesu (Zamówienie zakupu).
Akcja: Potwierdzenie zamówienia zakupu, na liście akcji dla definicji procesu.
Jeżeli akcja została wprowadzona na listę, można ją przypisać do Czynności. Aby to zrobić, należy ją zaznaczyć i nacisnąć przycisk: [Wybierz]. Wybrana akcja zostanie przypisana do Czynności.
Definicja czynności procesu ze zdefiniowaną akcją: Potwierdzenie zamówienia zakupu.
Po określeniu Akcji, należy zdefiniować Wynik, czyli zadanie, do którego przejdzie proces po wykonaniu Akcji.
Określenie Wyniku dla Czynności: Potwierdzenie zamówienia
Wynikiem dla czynności będzie jedno ze zdefiniowanych wcześniej zadań. Ponieważ zostały one już określone, wystarczy wybrać jedno z nich. Jeżeli odpowiednie zadanie nie zostałoby zdefiniowane do tego momentu, można je określić również z poziomu okna: Definicja czynności procesu.
Określenie Wyniku Akcji następuje po naciśnięciu w oknie: Definicja czynności procesu, przycisku: . Zostanie otworzone okno: Definicja czynności procesu, z zakładką: Zadania.
Zadania wyświetlone w oknie: Definicja procesu (Zamówienie zakupu), zakładka: Zadania.
W oknie wyświetlone będą zadania, jakie zostały zdefiniowane do tej pory. Jeżeli zadania, które ma być wynikiem, nie ma na tej liście, można je zdefiniować po rozwinięciu za pomocą przycisku: , menu kontekstowego i wybraniu z niego opcji: Dodaj zadanie. Uruchomiony zostanie w ten sposób proces definiowania zadania.
Jeżeli natomiast na liście znajduje się zadanie, które ma być Wynikiem dla Akcji, należy je zaznaczyć i nacisnąć przycisk: . Wybrane zadanie zostanie przypisane do Czynności jako Wynik dla Akcji.
W prezentowanym przykładzie, Wynikiem dla Akcji: Potwierdzenie zamówienia zakupu, ma być zadanie: Wysłanie wiadomości e-mail o potwierdzeniu zamówienia. Zadanie takie znajduje się na liście w oknie: Definicja procesu, zakładka: Zadania (Rys. 25). W tej sytuacji należy je zaznaczyć i nacisnąć przycisk: . Zadanie: Wysłanie wiadomości e-mail o potwierdzeniu zamówienia (WW), zostanie przypisany do Czynności, jako Wynik dla Akcji: Potwierdzenie zamówienia zakupu.
Definicja czynności procesu z określoną Akcją do wykonania i Wynikiem, jaki nastąpi po wykonaniu Akcji.
Po określeniu Akcji i wskazaniu Wyniku, należy przypisać osoby odpowiedzialne – tzw. Opiekunów, za wykonanie zadania. Opis przypisywania Opiekunów do czynności znajduje się w rozdziale: Przypisywanie Opiekunów do Czynności.
Przypisywanie Opiekunów do Czynności: Potwierdzenie zamówienia
Przypisywanie Opiekunów do Czynności odbywa się na zakładce: Opiekunowie. Aby przypisać Opiekuna, należy
w oknie: Definicja czynności procesu, wybrać zakładkę: Opiekunowie,
na zakładce: Opiekunowie, nacisnąć przycisk, który rozwija menu kontekstowe.
Zakładka: Opiekunowie, z rozwiniętym menu kontekstowym w oknie: Definicja czynności procesu.
Z menu kontekstowego, należy wybrać jedną z opcji, która umożliwia wybór Opiekuna:
ze struktury firmy
z listy pracowników
z listy operatorów
opiekuna automatycznego
opiekuna ustalonego w procesie
Wybór opcji zadecyduje o tym, jaka lista zostanie otwarta. Z otwartej listy dokonuje się wyboru odpowiedniego podmiotu, który będzie Opiekunem dla definiowanej czynności. W prezentowanym przykładzie Opiekunem zostanie wybrane centrum ze struktury podległościowej. Dzięki temu, wszyscy pracownicy tego centrum będą mogli dokonywać potwierdzenia zamówień. Aby wybrać centrum jako Opiekuna, należy z menu kontekstowego wybrać opcję: Ze struktury firmy. Zostanie otworzone okno: Struktura firmy.
Okno: Struktura firmy, otwierane po wybraniu opcji: Ze struktury firmy, w oknie: Definicja czynności procesu.
W oknie: Struktura firmy, należy zaznaczyć centrum, mające zostać Opiekunem i nacisnąć przycisk: . Wybrane centrum zostanie wprowadzone na zakładkę: Opiekunowie, w oknie: Definicja czynności procesu.
Definicja czynności procesu z przypisanym Opiekunem – centrum SAD 1a.
Jeżeli zostały zdefiniowane: Akcja, Wynik oraz Opiekun, definicję czynności procesu można zapisać, używając przycisku: [Zapisz zmiany]. Po zapisaniu, Czynność zostanie przypisana do zadania: Akceptacja zamówienia (na zakładce: Czynności).
Definicja zadania procesu z przypisaną Czynnością: Potwierdzenie zamówienia zakupu.
Przypisanie czynności: Odrzucenie zamówienia zakupu, do definicji zadania procesu [AZ] przebiega w podobny sposób, jak w przypadku przypisania czynności: Potwierdzenie zamówienia zakupu. W przypadku czynności: Odrzucenie zamówienia zakupu, zostanie jednak zdefiniowana inna akcja: Odrzucenie zamówienie zakupu, dla której wynikiem będzie status: KONIEC, oznaczający zamknięcie procesu. Sposób definiowania Akcji i Wyniku został opisany w rozdziałach: Określenie Akcji Określenie Wyniku.
Po wskazaniu elementów na Czynności, jej definicja będzie wyglądała jak na rysunku poniżej.
Po zdefiniowaniu Akcji i Wyniku, do Czynności zostanie przypisany Opiekun.
Przypisywanie czynności do innych zadań w procesie
Przypisywanie czynności do innych zadań w definicji procesu przebiega podobnie, jak w przypadku zadania: Akceptacja zamówienia (więcej w rozdziale: Przypisywanie czynności do zadania: Akceptacja zamówienia). Należy zwrócić uwagę na konieczność przypisania przynajmniej jednej czynności do każdego zadania (z wyjątkiem zadania: KONIEC) oraz pamiętać o tym, że do zadania; START ma zostać przypisana czynność, która będzie uruchamiała cały proces. Czynność do tego zadania przypisuje się z poziomu okna: Definicja procesu (Zamówienie zakupu), po jego zaznaczeniu i naciśnięciu przycisku: [Dodaj] lub wybraniu z menu kontekstowego, rozwijanego przyciskiem: , opcji: Dodaj czynność. Zostanie otworzone okno: Definicja czynności procesu, które należy wypełnić podobnie jak opisano to w rozdziale: Przypisywanie czynności do zadania: Akceptacja zamówienia, podając jako Akcję: Dodanie zamówienia zakupu, a jako Wynik – zadanie: Akceptacja zamówienia.
Po przypisaniu czynności do wszystkich zadań (zgodnie z założeniami definicji procesu opisanymi w rozdziale: Planowany przebieg procesu) definicja procesu: Obsługa zamówienia zakupu, będzie wyglądała jak na poniższym rysunku. W oknie: Definicja procesu, wyświetlone są, w układzie drzewa, zadania i przypisane do nich czynności.
Definicja procesu: Obsługa zamówienia zakupu, ze zdefiniowanymi zadaniami i przypisanymi do nich czynnościami.
Zapisanie definicji procesu
Jeżeli w definicji procesu: Obsługa zamówienia zakupu, wszystkie zadania zostały już określone i zostały do nich przypisane wszystkie wymagane czynności, można ją zapisać, używając przycisku: [Zapisz zmiany]. Zapisana definicja zostanie umieszczona w oknie: Definicje procesów.
Definicja procesu: Obsługa zamówienia zakupu, umieszczona w oknie: Definicje procesów.
Jak widać na powyższym rysunku, definicja procesu: Obsługa zamówienia zakupu, wyświetlona jest w kolorze szarym. Stało się tak dlatego, że definicji tej nie został nadany status aktywności – nie został zaznaczony parametr: Aktywny, w oknie: Definicja procesu. Do momentu zaznaczenia tego parametru, uruchomienie procesu w oparciu o zapisaną definicję będzie niemożliwe.
Definiowanie procesu: Sprawdzenie wysokości sprzedaży
Planowany przebieg procesu
Poniżej zostanie zaprezentowany sposób definiowania procesu, którego celem będzie wysłanie informacji za pośrednictwem poczty elektronicznej o przekroczeniu określonej wysokości sprzedaży (np. 10000 zł) w danym dniu. Na potrzeby niniejszego dokumentu, nazwa definicji tego procesu zostanie ujęta w skrócie: Sprawdzenie wysokości sprzedaży.
Pierwszą czynnością w tym procesie, przypisaną do zadania: START, będzie: Uruchomienie. Czynność ta będzie wykonywana przez wybranego pracownika i ma na celu jedynie uruchomienie procesu. Po jej wykonaniu, proces przejdzie do zadania: AKTYWNY. Do zadania tego będzie przypisana jedna czynność, w której akcją do wykonania będzie: Akcja automatyczna. W trakcie tej czynności będzie automatycznie wykonywany select, sprawdzający, czy wartość sprzedaży przekroczyła już określony próg (10000 zł) czy też nie. Dla czynności zostaną określone dwa wyniki obłożone warunkami SQL:
Pierwszy – przewidujący sytuację, gdy wartość sprzedaży przekroczy 10000 zł – wtedy Wynikiem będzie zadanie polegające na wysłaniu odpowiedniej wiadomości e-mail,
Drugi – przewidujący sytuację, gdy wartość sprzedaży nie przekroczy 10000 zł – wtedy Wynikiem będzie zadanie: Aktywny, czyli proces wejdzie ponownie w etap sprawdzania wartości sprzedaży.
Z tak zdefiniowanych warunków będzie wynikało, że proces będzie znajdował się etapie sprawdzania wartości sprzedaży, do momentu, gdy wartość ta nie zostanie przekroczona. Po jej przekroczeniu zostanie wysłana odpowiednia wiadomość e-mail.
Jeśli proces przejdzie do następnego etapu: Wysłanie wiadomości e-mail, będzie to oznaczało, że cel procesu w danym dniu został osiągnięty. Proces, po wykonaniu czynności polegającej na wysłaniu wiadomości e-mail przejdzie do zadania: Czekaj. Zadanie to polega na „czekaniu” jedną dobę na ponowne sprawdzenie wysokości sprzedaży w dniu następnym. Stąd też, następnym etapem (Zadaniem), jakie zostanie wykonane (po upływie doby) będzie znów zadanie: Aktywny, który czynność taką (sprawdzenie wartości sprzedaży) będzie uwzględniał.
Należy zwrócić uwagę, że w takiej definicji procesu nie jest wykorzystywane zadanie: KONIEC. Uruchomienie procesu spowoduje, że będzie się on toczył przez kolejne dni automatycznie, bez konieczności ingerencji Użytkownika – codziennie będzie sprawdzana wartość sprzedaży, a po jej przekroczeniu, będzie wysyłana wiadomość e-mail. Aby zamknąć proces, należy go zaznaczyć w oknie: Lista procesów i nacisnąć przycisk: [Zamknij proces].
Poniżej został przedstawiony schemat wykonywania poszczególnych czynności w procesie: Sprawdzenie wysokości sprzedaży.
Schemat procesu: Sprawdzenie wysokości sprzedaży.
Otworzenie definicji procesu
Otworzenie definicji procesu następuje w oknie: Definicje procesów. Ponieważ jest to proces bez obiektu, musi on zostać zdefiniowany z poziomu z poziomu folderu: Inne procesy i gałęzi: Proces bez obiektu.
Aby otworzyć definicje procesu: Sprawdzenie wysokości sprzedaży, należy:
w module: Administrator, wybrać z menu: Procesy, opcję: Definicje procesów.
Następnie w lewym panelu okna, rozwinąć folder: Inne procesy. Zostanie wyświetlona gałąź: Proces bez obiektu.
Definicje procesów.
Po zaznaczeniu gałęzi: Proces bez obiektu, należy nacisnąć przycisk: [Dodaj]. W ten sposób zostanie otworzona definicja procesu. W oknie należy wprowadzić nazwę procesu.
Definicja procesu: Sprawdzenie wysokości sprzedaży.
Wyznaczenie zadań w procesie
Po otworzeniu definicji procesu: Sprawdzenie wysokości sprzedaży, należy określić zadania czyli etapy tego procesu. W prezentowanym przykładzie – zgodnie z przyjętym założeniem (więcej w rozdziale: Planowany przebieg procesu), zdefiniowane zostaną następujące zadania i czynności:
START – do tego zadania zostanie przypisana czynność: Uruchomienie
AKTYWNY – do tego zadania zostanie przypisana czynność automatyczna, dla której możliwe będą dwa Wyniki (w zależności od tego czy wartość sprzedaży w danym dniu przekroczyła 10000 zł czy też nie).
E – MAIL (wysłanie wiadomości e-mail) – jeżeli wartość sprzedaży w danym dniu przekroczy 10000 zł, wtedy proces przejdzie do zadania: E-MAIL, w którym zostanie wysłana odpowiednia wiadomość e-mail.
CZEKAJ – po wysłaniu wiadomości e-mail, proces w zadaniu: CZEKAJ, będzie „oczekiwał” przez wskazany czas (jedną dobę) na ponowne przejście do zadania: AKTYWNY.
Definiowanie zadań odbywa się w ten sam sposób, jak w przypadku definiowania zadań w procesie: Obsługa zamówienia zakupu (więcej w rozdziale: Wyznaczenie zadań w definicji procesu: Obsługa zamówienia zakupu).
Po wyznaczeniu zadań, definicja procesu: Sprawdzenie wysokości sprzedaży, będzie wyglądać jak poniższym rysunku.
Definicja procesu: Sprawdzenie wysokości sprzedaży, z wyznaczonymi zadaniami.
Zdefiniowanie zadania: Czekaj
W zdefiniowaniu zadania: Czekaj, istotne jest określenie terminu jego realizacji. Z przyjętych założeń wynika, że proces w tym zadaniu oczekuje jedną dobę na ponowne uruchomienie skryptów sprawdzających wysokość sprzedaży. W związku z tym, w oknie: Definicja zadania procesu, na zakładce: Ogólne, w polu: Data realizacji, należy wskazać 1 dzień.
Definicja zadania procesu (Czekaj) z określoną datą realizacji.
Należy pamiętać, że istnieje możliwość większego zoptymalizowania czasu oczekiwania na ponowne uruchomienie sprawdzenia wysokości sprzedaży. W podanym bowiem przykładzie, czas oczekiwania będzie liczony od momentu przekroczenia wysokości sprzedaży w danym dniu. Oznacza to, że jeżeli przekroczenie wysokości sprzedaży jednego dnia nastąpi o godzinie 15.00, to ponowne uruchomienie zapytań SQL, sprawdzających wysokość sprzedaży w dniu następnym, nastąpi również o godzinie 15.00.
Uruchomienie wykonywania skryptów o oznaczonej godzinie, można zdefiniować poprzez warunek SQL. W tym celu, w oknie: Definicja zadania procesu (Czekaj), należy zaznaczyć w wierszu: Data realizacji, pole: SQL i na uaktywnionej zakładce: SQL, wprowadzić odpowiedni warunek.
Przypisanie czynności do zadań
Po wyznaczeniu zadań, należy przypisać do nich czynności. Sposób przypisania czynności do zadań odbywa się tak samo, jak w przypadku przypisywania czynności do zadań definicji procesu: Obsługa zamówienia zakupu (więcej w rozdziale: Przypisywanie czynności do zadania: Akceptacja zamówienia). W niniejszym rozdziale zostanie opisany sposób definiowania czynności: Akcja automatyczna, która zostanie przypisana do zadania: AKTYWNY, który różni się od przedstawionego powyżej.
Zdefiniowanie czynności: Akcja automatyczna
W czynności: Aktywny, zostanie przewidziana akcja, wykonywana automatycznie. Jej Wynik, będzie zależał od tego, czy sprawdzana wartość wysokości sprzedaży przekroczy 10000 zł, czy też nie. Wyniki te zostaną obłożone warunkami SQL.
Otworzenie definicji czynności: Akcja automatyczna
Aby zdefiniować czynność: Akcja automatyczna, należy:
W oknie definicji procesu: Sprawdzenie wysokości sprzedaży, zaznaczyć zadanie: AKTYWNY
nacisnąć przycisk: [Dodaj], lub za pomocą przycisku rozwinąć menu kontekstowe i wybrać opcję: Dodaj czynność.
Dodawanie czynności do zadania: AKTYWNY.
Zostanie otworzone okno: Definicja czynności procesu.
Otworzone okno: Definicja czynności procesu.
Przypisanie Akcji do Czynności: Akcja automatyczna
W oknie należy nacisnąć przycisk: . Zostanie otworzone okno: Definicja procesu, z zakładką: Akcje. W oknie tym, należy zdefiniować nową akcję – Akcję automatyczną. Odbywa się to po naciśnięciu przycisku: [Dodaj]. W otworzonym oknie: Definicja Akcji, w polu: Nazwa, wprowadzić nazwę Akcji – czyli: Akcja automatyczna. Zdefiniowaną Akcję należy zapisać, naciskając przycisk: [Zapisz].
Definicja Akcji automatycznej.
Akcja automatyczna zostanie wyświetlona na liście akcji w oknie: Definicja procesu. Należy ją teraz zaznaczyć i nacisnąć przycisk: [Wybierz].
Akcja automatyczna na liście akcji w oknie: Definicja procesu.
W ten sposób, do czynności: Akcja automatyczna, została przypisana Akcja.
Definicja czynności procesu: Akcja automatyczna, z przypisaną Akcją.
Przypisanie Wyników do Czynności: Akcja automatyczna
Należy teraz określić Wyniki dla przypisanej Akcji. Ze względu na charakter Czynności, zostaną zdefiniowane dwa Wyniki – jeden dla sytuacji, gdy wysokość wartości sprzedaży przekroczy 10000 zł, drugi – dla sytuacji, gdy wartość sprzedaży nie przekroczy tej wysokości.
Aby przypisać pierwszy Wynik, należy:
W oknie: Definicja czynności procesu, nacisnąć przycisk: [Dodaj]. Zostanie otworzone okno: Definicja statusu wynikowego czynności.
W oknie, należy nacisnąć przycisk: [Wynik]. Zostanie otworzone okno: Definicja procesu, z listą zadań możliwych do wybrania jako Wynik. Ponieważ zadania dla definicji procesu: Sprawdzenie wysokości sprzedaży, zostały uprzednio zdefiniowane (więcej w rozdziale: Wyznaczenie zadań w procesie), na liście należy zaznaczyć zadanie: E-MAIL i nacisnąć przycisk: [Wybierz]. Wybrane zadanie zostanie wprowadzone (jako Wynik do Czynności: Akcja automatyczna), do Definicji statusu wynikowego czynności.
Definicja statusu wynikowego czynności z przypisanym Wynikiem: E-MAIL.
Po wskazaniu Wyniku, należy określić warunek, pod jakim, po wykonaniu Akcji, proces do niego przejdzie. Warunek ten będzie wyglądał jak na poniższym rysunku.
Definicja statusu wynikowego: E-MAIL, z podanym warunkiem SQL.
W ten sposób pierwszy Wynik zostanie zdefiniowany. Należy go zapisać i przystąpić do definiowania drugiego Wyniku, przewidzianego po spełnieniu warunku, gdy wysokość wartości sprzedaży nie przekroczy 10000 zł. Wynikiem tym będzie zadanie: AKTYWNY. Definiowanie odbywa się tak, jak w przypadku pierwszego Wyniku (oczywiście z uwzględnieniem funkcji przewidzianej dla drugiego Wyniku). Po zdefiniowaniu, Wynik: Aktywny, będzie wyglądał jak na poniższym rysunku.
Definicja statusu wynikowego: AKTYWNY.
Po zapisaniu definicji statusu wynikowego: AKTYWNY, zostanie on przypisany do Czynności: Akcja automatyczna.
Okno Czynności: Akcja automatyczna, po przypisaniu do niej Wyników: E-MAIL i AKTYWNY, będzie wyglądało jak na poniższym rysunku.
Definicja czynności procesu: Akcja automatyczna, po przypisaniu Wyników: E-MAIL i AKTYWNY.
Przypisywanie Opiekuna do Czynności: Akcja automatyczna
Dla zdefiniowanej Czynności: Akcja automatyczna, należy określić Opiekuna. Ponieważ Czynność będzie wykonywana automatycznie, należy wybrać Opiekuna automatycznego.
Definicja czynności procesu: Akcja automatyczna, z przypisanym Opiekunem automatycznym.
Definicję czynności procesu należy zapisać. Zostanie ona przypisana do zadania: AKTYWNY.
W podobny sposób definiuje się kolejne czynności dla tej definicji procesu, jednak, ze względu na to, że każda z nich przewiduje jeden Wynik, zostanie on wprowadzony w oknie definicji czynności procesu, w polu: Wynik (po naciśnięciu przycisku: ).
Po przypisaniu wszystkich przewidzianych Czynności do zadań, definicja procesu: Sprawdzenie wysokości sprzedaży, będzie wyglądała jak na poniższym rysunku:
Definicja procesu: Sprawdzenie wysokości sprzedaży.
Obsługa procesu
Obsługa procesu polega na jego uruchomieniu i wykonywaniu zadań przewidzianych w jego definicji. Definicja procesu stanowi wzór, według którego może być wykonywana nieograniczona ilość procesów. Obsługa procesów w oparciu o definicję jest możliwa, gdy:
Odpowiednia definicja procesu ma status: Aktywny (decyduje o tym zaznaczenie parametru: Aktywny, w oknie: Definicji procesu)
W Systemie włączona jest obsługa procesów (w konfiguracji, na zakładce: Ogólne/Parametry 1, został zaznaczony parametr: Włącz obsługę procesów).
Poniżej przedstawiono obsługę dwóch procesów wykonywanych w oparciu o definicje zaprezentowane w rozdziale: Przykładowe definicje procesów.
Obsługa procesu: Obsługa zamówienia zakupu
Uwagi ogólne
Proces dotyczący obsługi zamówienia zakupu może być uruchamiany i wykonywany z poziomu:
Skrzynki pracownika
Obsługiwanego zamówienia (lub listy zamówień).
Obsługa z poziomu skrzynki pracownika polega na tym, że Opiekun, wybiera z listy odpowiedni proces, identyfikowany po nazwie procesu i numerze obiektu (czyli numerze zamówienia) i wykonuje akcję, przez:
wybranie przycisku: [Wykonaj akcję],
lub jeżeli w danym etapie przewidziano wykonanie jednej w wielu czynności:
rozwinięciu menu kontekstowego za pomocą przycisku: , znajdującego się obok ikony i wybraniu odpowiedniej opcji, oznaczającej wykonanie jednej z czynności.
Rys. 50 Skrzynka pracownika z rozwiniętym menu kontekstowym umożliwiającym wybór czynności do wykonania.
Kilka procesów na jednym obiekcie
Może się zdarzyć, że dla jednego obiektu – np. zamówienia zakupu, zostanie zdefiniowanych klika definicji procesu, przewidujących różne ścieżki obiegu dokumentów. W takiej sytuacji, operując konkretnym zamówieniem, o ile istnieją wspólne punkty tych procesów można wybrać definicję, według której będzie obsługiwany dalej dany obiekt.
Wyboru definicji dokonuje się w oknie: Lista zamówień. Aby wybrać jedną z definicji do obsługi konkretnego zamówienia, należy:
W oknie: Lista zamówień, wskazać zamówienie, dla którego zostanie wybrana odpowiednia definicja
Nacisnąć przycisk: [Historia procesu], zostanie otworzone okno: Historia procesu,
W oknie: Historia procesu, w polu: Proces, za pomocą przycisku: , zostanie rozwinięta lista dostępnych definicji, możliwych do wykorzystania przy obsłudze wybranego zamówienia.
Historia procesu, z rozwiniętą lista dostępnych definicji procesu.
Po wybraniu jednej z definicji, uruchomienie przycisku: [Wykonaj akcję] spowoduje wykonanie akcji, przewidzianej dla czynności będącej elementem tej definicji. Przycisk: , rozwija menu kontekstowe z możliwymi opcjami wykonania akcji.
Historia procesu z opcjami wykonania akcji w ramach wybranej definicji.
Uruchomienie procesu (zadanie START)
Proces rozpoczyna się w momencie, gdy podmiot przypisany jako Opiekun do Czynności: Dodanie zamówienia zakupu, wygeneruje zamówienie zakupu. Wygenerowanie zamówienia zakupu jest możliwe:
Z poziomu listy zamówień – poprzez otworzenie okna: Lista zamówień i naciśnięciu przycisku: [Dodaj],
Z poziomu Skrzynki pracownika (czyli podmiotu, będącego Opiekunem) – po otworzeniu okna: Lista zamówień i naciśnięciu przycisku: [Dodaj proces]. Zostanie wtedy otworzone okno: Procesy do uruchomienia, z której należy wybrać odpowiedni proces i nacisnąć przycisk: [Wybierz]. Po zapisaniu okna: Proces, które otwiera się w trakcie uruchamiania procesu, zostanie wygenerowane zamówienie zakupu.
Wygenerowane zamówienie zostanie zapisane, a proces przechodzi do następnego etapu: Akceptacja zamówienia.
Proces na etapie: Akceptacja zamówienia
W tym etapie, proces pojawi się skrzynkach pracowników, którzy zostali przypisani jako Opiekunowie do czynności: Akceptacja zamówienia zakupu lub Odrzucenie zamówienia zakupu. Jeżeli ten sam podmiot jest Opiekunem do jednej i drugiej czynności, wtedy z poziomu otwartego zamówienia, lub swojej skrzynki pracownika może dokonać albo przyjęcia zamówienia, albo jego odrzucenia. Wykonanie jednej z tych czynności powoduje przejście procesu do następnego etapu:
w przypadku zatwierdzenia i przyjęcia zamówienia będzie to Wysłanie wiadomości o potwierdzeniu zamówienia (WW)
w przypadku Potwierdzenia i odrzucenia zamówienia, będzie to etap KONIEC, który spowoduje zakończenie procesu.
Proces na etapie: Wysłanie wiadomości o potwierdzeniu zamówienia
Opiekunem na etapie: Wysłanie wiadomości o potwierdzeniu zamówienia, jest Opiekun automatyczny. Oznacza to, że czynność polegająca na wysłaniu do wskazanych podmiotów wiadomości za pośrednictwem poczty elektronicznej o pozytywnym potwierdzeniu zamówienia zostanie wykonana automatycznie, po przejściu procesu do tego etapu. Należy jednak pamiętać o odpowiednim zdefiniowaniu parametrów w konfiguracji, na zakładce: Ogólne/Parametry 2, dotyczące ustawień SMTP.
Po wysłaniu wiadomości e-mail, proces przejdzie automatycznie do następnego etapu: Wygenerowanie dokumentu handlowego z zamówienia, czyli znajdzie się w skrzynce tych pracowników, którzy zostali wybrani jako Opiekunowie do czynności polegającej na wygenerowaniu dokumentu handlowego z potwierdzonego zamówienia (GD).
Proces na etapie: Wygenerowanie dokumentu handlowego z zamówienia
Opiekunowie mogą wykonać czynność generowania dokumentu handlowego:
Z poziomu listy zamówień (poprzez wybranie zamówienia, a następnie funkcji polegającej na generowaniu dokumentu handlowego z zamówienia).
Z poziomu swojej skrzynki pracownika – poprzez zaznaczenie odpowiedniego procesu (identyfikowanego po nazwie procesu i numerze obiektu) i naciśnięciu przycisku: [Wykonaj akcję].
Po wykonaniu akcji, proces przejdzie do statusu KONIEC, który oznacza jego zakończenie.
Proces na etapie: KONIEC
Proces przechodzi automatycznie do statusu wynikowego: KONIEC:
po wykonaniu czynności: Odrzucenie zamówienia, w etapie: Akceptacja zamówienia,
po wykonaniu czynności: Wygenerowanie dokumentu handlowego, w etapie: Wygenerowanie dokumentu handlowego z zamówienia zakupu.
Status: KONIEC, oznacza zakończenie procesu. Na tym etapie nie jest wykonywana żadna czynność.
Obsługa procesu: Sprawdzenie wysokości sprzedaży
Uwagi ogólne
Proces: Sprawdzenie wysokości sprzedaży, w przeciwieństwie do procesu: Obsługa zamówienia zakupu, nie dotyczy obiektu w ERP XL. W związku z tym, jego obsługa możliwa jest tylko z poziomu okna: Skrzynka pracownika.
Uruchomienie procesu (zadanie: START)
Uruchomienie procesu następuje z poziomu skrzynka pracownika, który jest opiekunem Czynności: Uruchomienie, przypisanej do zadania: START. Odbywa się on po naciśnięciu w oknie: Skrzynka pracownika, przycisku: [Dodaj proces], który spowoduje otworzenie okna: Procesy do uruchomienia. W oknie, należy wybrać proces: Sprawdzenie wysokości sprzedaży i nacisnąć przycisk: [Wybierz].
Okno: Procesy do uruchomienia z zaznaczonym procesem: Sprawdzenie wysokości sprzedaży, gotowym do uruchomienia.
Po wybraniu procesu, zostanie otworzone okno: Proces, w którym podane są podstawowe dane uruchamianego procesu.
Okno: Proces, z podstawowymi danymi uruchamianego procesu.
Po zapisaniu okna (przycisk: ) proces zostanie uruchomiony i przejdzie do następnego etapu: AKTYWNY.
Proces w etapie: AKTYWNY
Czynności w zadaniu: AKTYWNY, wykonywane są przez Opiekuna automatycznego. Polegają one na wykonywaniu zapytań SQL, sprawdzających czy wartość sprzedaży w danym dniu przekroczyła 10000 zł. Jeżeli warunek zostanie spełniony, wtedy proces przechodzi do etapu: E-MAIL, polegającego na wysłaniu wiadomości e-mail o przekroczeniu wartości sprzedaży 10000 zł. Jeżeli warunek nie zostanie spełniony, proces będzie dalej „wracał” do zadania: AKTYWNY, czyli zapytanie będzie dalej ponawiane.
Proces w etapie: E-MAIL
Etap: E-MAIL, polega na wysłaniu wiadomości e-mail o przekroczeniu wartości sprzedaży 10000 zł. Opiekunem dla tej czynności jest również Opiekun automatyczny, co oznacza, że zostanie ona wykonana automatycznie, po przejściu procesu do tego zadania. Treść wiadomości, jaka zostanie wysłana określona jest w definicji procesu, w oknie: Definicja Akcji, na zakładce: Parametry (więcej informacji o definiowaniu akcji: Wysłanie wiadomości e – mail znajduje się w rozdziale: Określanie parametrów dla akcji kluczowych. Po wysłaniu wiadomości, osiągnięty zostanie cel procesu. Przejdzie on zatem do etapu (zadania) CZEKAJ, w którym proces będzie „oczekiwał” 1 dobę.
Proces w etapie: Czekaj
W etapie: Czekaj, wykonywana jest akcja automatyczna, polegająca na wstrzymaniu na jedną dobę sprawdzania, czy wysokość sprzedaży została przekroczona ponad 10000 zł. Również dla tej czynności został ustalony Opiekun automatyczny, a czas oczekiwania wynika z ustawienia w oknie: Definicja zadania procesu (Czekaj), na zakładce: Ogólne, parametru: Data realizacji, na 1 dzień (więcej informacji w rozdziale: Zdefiniowanie zadania: Czekaj). Po upływie jednego dnia, proces ponownie przejdzie do zadania: AKTYWNY, w którym nastąpi sprawdzanie wysokości sprzedaży (więcej informacji w rozdziale: Proces w etapie: AKTYWNY).
Nowe funkcjonalności w procesach
Obsługa BST
W wersji 2013.5 lista obiektów Systemu obsługiwana w procesach została uzupełniona o dokument Bilansu Stanu Towarów BST. Dla obiektu tego udostępnione zostały akcje kluczowe odpowiadające operacjom dokonywanym na tym dokumencie:
Nowe akcje kluczowe dostępne dla obiektu Bilans stanu towarów
Dodanie bilansu stanu towarów – Akcja odpowiada operacji dodania dokumentu z interfejsu, czyli dodany zostanie dokument BST z domyślnymi wartościami tj. Grupa towarów, dostawca, magazyn, zakres planowany.
Potwierdzenie bilansu stanu towarów – Akcja umożliwia zatwierdzenie bilansu analogicznie do operacji zatwierdzenia z poziomu interfejsu.
Zamknięcie bilansu stanu towarów – Akcja odpowiada operacji zamknięcia dokumentu z poziomu interfejsu. (Można zamknąć tylko zatwierdzone BST)
Anulowanie bilansu stanu towarów – Akcja odpowiada operacji anulowania dokumentu z poziomu interfejsu
Przelicz bilans stanu towarów – Akcja odpowiada operacji przeliczenia BST, według parametrów ustawionych na BST.
Drukowanie bilansu stanu towarów – Akcja analogiczna do akcji drukowania innych dokumentów
Generowanie dokumentu z bilansu stanu towarów – Akcja ma zakładkę Parametry. Na zakładce parametry można określić, jaki dokument powinien być generowany z BST.
Możliwe parametry:
– ZZ – zamówienie zakupu
– ZW – zamówienie wewnętrzne
– MMW – przesunięcie MMW
– ZP – zlecenie produkcyjne
– ZK – zlecenie kompletacji
– SAD
Usuwanie bilansu stanu towarów
Akcja powinna odpowiadać operacji usuwania dokumentu z poziomu interfejsu
Uwaga
Obecnie nie obsługujemy automatycznego uruchamiania procesu, proces zawsze musi zostać uruchomiony ręcznie.
Oprócz akcji wynikających ze specyfiki dokumentu BST, udostępnione zostały akcje ogólne, podobnie jak dla innych obiektów Systemu:
Uruchomienie innego procesu
Uruchomienie programu zewnętrznego
Wykonanie skryptu SQL
Wysłanie wiadomości e-mail
Zakończenie całego procesu
Podczas konwersji bazy, czy też tworzenia nowej bazy System dodaje predefiniowany proces przeliczania dokumentu BST, aby z niego skorzystać, wystarczy zaznaczyć na nim parametr „Aktywny”. Po włączeniu w Systemie obsługi procesów i uruchomieniu XLWorkAutomat Użytkownik może ustawić na konkretnym dokumencie BST zadanie wykonania automatycznego przeliczenia BST w określonym czasie. Aby tego dokonać wystarczy zaznaczyć parametr „Przelicz”, ustalić żądany czas aktualizacji i zlecić jej wykonanie poprzez uruchomienie opcji „przelicz bilans”.
Ustalanie planowanego terminu automatycznego przeliczenia dokumentu BST
Rys. 56
Obsługa Planu Produkcji
W wersji 2014 lista obiektów Systemu obsługiwana w procesach została uzupełniona o dokument Planu Produkcji. Dla obiektu tego udostępnione zostały akcje kluczowe odpowiadające operacjom dokonywanym na tym dokumencie:
Nowe akcje kluczowe dostępne dla obiektu Bilans stanu towarów
Dodanie planu produkcji – Akcja powinna odpowiadać akcji dodania dokumentu Plany produkcji z poziomu interfejsu z danymi wejściowymi, jak przy dodawaniu nowego dokumentu z ręki.
Zatwierdzenie planu produkcji – Akcja powinna odpowiadać zatwierdzaniu dokumentu, dokonywanego z poziomu interfejsu.
Zamknięcie planu produkcji – Akcja powinna odpowiadać zamknięciu dokumentu planu produkcji z poziomu interfejsu.
Usunięcie planu produkcji – Akcja powinna odpowiadać usunięciu planu produkcji z poziomu interfejsu.
Przeliczenie planu produkcji – Akcja odpowiada operacji przeliczenia Planu produkcji, według parametrów ustawionych na planie
Drukowanie dokumentu – Akcja analogiczna do akcji drukowania innych dokumentów.
Generowanie dokumentu na materiały – Dla akcji udostępniono zakładkę: Parametry, określa się tam jaki dokument ma być generowany z Planu produkcji: ZZ, ZW, ZP czy MMW.
Generowanie dokumentu na produkty – Dla akcji udostępniono zakładkę: Parametry, określa się tam jaki dokument ma być generowany z Planu produkcji: ZZ, ZW, ZP czy MMW
Dla obiektu Planu produkcji dostępne będą również akcje wspólne dla wszystkich obiektów:
Uruchomienie innego procesu
Uruchomienie programu zewnętrznego
Wykonanie skryptu SQL
Wysłanie wiadomości e-mail
Zakończenie całego procesu
Podczas konwersji bazy, czy też tworzenia nowej bazy System dodaje predefiniowany proces przeliczania dokumentu Planu produkcji, aby z niego skorzystać, wystarczy zaznaczyć na nim parametr „Aktywny”. Po włączeniu w Systemie obsługi procesów i uruchomieniu XLWorkAutomat Użytkownik może ustawić na konkretnym dokumencie Planu produkcji zadanie wykonania automatycznego przeliczenia planu w określonym czasie. Aby tego dokonać wystarczy zaznaczyć parametr „Przelicz”, ustalić żądany czas aktualizacji i zlecić jej wykonanie poprzez uruchomienie opcji „Przeliczenie Plan produkcji”.
Ustalanie planowanego terminu automatycznego przeliczenia dokumentu Planu Produkcji
Obsługa wiązania zasobów z rezerwacjami
Od wersji 2016.2 została udostępniona akcja kluczowa w procesach: „Rezerwowanie zasobów”, dostępna dla procesu podpiętego do gałęzi procesów bez obiektu. Akcja ta będzie wyzwalała operację przypisywania zasobów do aktywnych, ważnych rezerwacji sprzedażowych.
Podczas kreacji i konwersji bazy zostanie dodany predefiniowany proces „Przypisywanie zasobów do rezerwacji” z użyciem ww. akcji, który wystarczy aktywować (zaznaczyć checkbox „Aktywny”) oraz uruchomić (wykonać 1-wsze zadanie), aby uzyskać funkcjonalność automatycznego wiązania zasobów za pomocą procesu. Operatorem „wykonującym” zadanie Rezerwowania zasobów w ww. predefiniowanym procesie jest automat, a efekt „cykliczności” i powtarzalności ww. operacji uzyskany został na nim poprzez przypisanie jako czynności „wynikowej” dla Rezerwowania zasobów tej samej czynności. Zmiany częstotliwości powtarzania akcji Użytkownik może dokonać poprzez zmianę parametrów zadania (edycja definicji zadania, sekcja Data realizacji, Termin realizacji).
Definicja procesu Przypisywania zasobów do rezerwacji
Akcję kluczową Rezerwowanie zasobów można wykorzystywać także w innych procesach. Parametrami funkcji definiowanymi na zakładce Parametry są:
Typ dokumentu źródłowego (dokumentu tworzącego rezerwację np. ZS, ZW)
Magazyn (wartość „Wszystkie”, lub kolejne kody magazynu rezerwacji, dla których ma być wykonana operacja)
Centrum (wartość Wszystkie, lub kolejne nazwy centrum – właścicieli rezerwacji, dla których ma być wykonana operacja)
Parametry akcji kluczowej Rezerwowanie zasobu
Procesy w produkcji
Od wersji 2017.1 systemu Comarch ERP XL udostępniono funkcjonalność procesów dla wybranych operacji wykonywanych w module Produkcja. Dla grupy obiektów: Produkcja, dla istniejących już obiektów: Zlecenie produkcyjne i Harmonogram projektu dodane zostały nowe predefiniowane akcje kluczowe:
Nowe akcje kluczowe dla obiektu: Zlecenie produkcyjne
Dodanie zlecenia produkcyjnego – Akcja odpowiada dodaniu, z poziomu interfejsu systemu,
Planowanie zlecenia produkcyjnego – Akcja odpowiada planowaniu ZP z poziomu interfejsu systemu. Wymaga ona dodatkowej parametryzacji. Na zakładce: Parametry, należy podać odpowiedni numer, oznaczający wybrany sposób planowania zleceń.
Przykładowa parametryzacja dla akcji: Planowanie zlecenia produkcyjnego
1024 – Planowanie zgrubne
1280 – Planowanie uproszczone
1536 – Planowanie szczegółowe
1792 – Planowanie wszystkie zasoby
2048 – Planowanie całościowe zgrubne
2304 – Planowanie całościowe uproszczone
2560 – Planowanie całościowe szczegółowe
2816 – Planowanie całościowe wszystkie zasoby
Przeplanowanie zlecenia produkcyjnego – Akcja odpowiada przeplanowaniu ZP z poziomu interfejsu systemu. Akcja ta wymaga dodatkowej parametryzacji. Na zakładce: Parametry, na definicji tej akcji, należy podać odpowiedni numer, oznaczający wybrany sposób przeplanowania zleceń:
4096 – Przeplanowanie zgrubne
4352 – Przeplanowywanie uproszczone
4608 – Przeplanowywanie szczegółowe
4864 – Przeplanowywanie wszystkie zasoby
8192 – Przeplanowywanie konfliktów zgrubne
8448 – Przeplanowywanie konfliktów uproszczone
8704 – Przeplanowywanie konfliktów szczegółowe
8960 – Przeplanowywanie konfliktów wszystkie zasoby
16896 – Dobierz zasoby szczegółowo
17152 – Dobierz zasoby wszystkie
Aktualizacja rezerwacji – Akcja odpowiada dostępnej z poziomu interfejsu systemu, funkcji: Aktualizacja rezerwacji
Realizacja zlecenia produkcyjnego – Akcja odpowiada wykonaniu realizacji całego dokumentu ZP.
Generowanie dokumentów ze zlecenia produkcyjnego – za pomocą akcji możliwe będzie automatyczne wygenerowanie z ZP dokumentów RW lub PW. Akcja wymaga dodatkowej parametryzacji. Na zakładce: Parametry, na definicji tej akcji, należy podać, jaki rodzaj dokumentu ma być generowany za pomocą akcji:
RW 1 – parametr będzie oznaczał generowanie RW z planu
RW – parametr będzie oznaczał generowanie RW
PW – parametr będzie oznaczał generowanie PW
Rozliczanie zlecenia produkcyjnego – Akcja odpowiada funkcji: Rozliczanie zleceń, dostępnej z poziomu interfejsu systemu.
Zamykanie zlecenia produkcyjnego – Akcja odpowiada zamknięciu ZP z poziomu interfejsu systemu. Akcja ta wymaga dodatkowej parametryzacji. Na zakładce: Parametry, na definicji tej akcji należy podać odpowiedni numer, oznaczający wybrany sposób zamykania zleceń:
7 – Zamknięcie zlecenia
8 – Zamknięcie niezrealizowanego zlecenia
9 – Zamknięcie bez rozliczenia
10 – Zamknięcie niezrealizowanego zlecenia bez rozliczenia
Uwaga! Dla obiektu : Harmonogram operacji, wprowadzono analogicznie, jak ww. akcje kluczowe. Dodatkowo udostępniono w systemie predefiniowane definicje procesów, które mogą stanowić wzór do budowania nowych procesów w Produkcji:
Predefiniowane definicje procesów z wykorzystaniem nowych akcji kluczowych, udostępnionych do budowania procesów w Produkcji
Od wersji 2018.1 w definicji procesów, do obiektu: Plan produkcji, dodano nową akcję kluczową: Generowanie rekomendacji na podstawie wzorca.
Akcja ta odpowiada operacji generowania rekomendacji na podstawie wzorca i jest ona parametryzowana. W oknie definicji Akcji, na zakładce [Parametry], należy podać Id wzorca, na podstawie którego mają być generowane rekomendacje. Jeśli nie zostanie wskazany nr Id wzorca, wówczas rekomendacje będą generowane na podstawie wzorca domyślnego.
Dodatkowo, dla grupy obiektów: Produkcja, w definicji procesów, wprowadzono nowe obiekty: Rekomendacja do produkcji i Rekomendacja do zakupu ze standardowymi akcjami: Uruchomienie innego procesu, Uruchomienie programu zewnętrznego, Wykonanie skryptu SQL, Wysłanie wiadomości e-mail, Zakończenie całego procesu.
Procesy na AWD i ZWM
Od wersji 2018.1 udostępniono funkcjonalność procesów dla dokumentów magazynowych: AWD, ZWM.
Do nowego obiektu poza standardowymi udostępniono nowe akcje kluczowe:
Zatwierdzenie dokumentu magazynowego – akcja odpowiada odznaczeniu parametru Do bufora i zapisaniu dokumentu AWD
Realizacja dokumentu magazynowego – akcja odpowiada dodaniu, z poziomu interfejsu systemu, realizacji dla pozycji na dokumencie AWD
Zamykanie dokumentu magazynowego – akcja odpowiada zaznaczeniu parametru Zamknięte i zapisaniu dokumentu AWD
Akcje jw. przy wskazaniu na dokumencie magazynu z włączoną obsługą WMS, operują na dokumentach (W)AWD, (W)ZWM. Dla tychże dokumentów, ze względu na inną ich koncepcje, procesy powinny być trochę inaczej definiowane. Należy tu mieć na uwadze m.in.:
Zatwierdzenie dokumentu magazynowego – akcja odpowiada zaznaczeniu parametru Realizuj w WMS i zapisaniu dokumentu
Realizacja dokumentu magazynowego – akcja nie dotyczy dokumentów WMS
Zamykanie dokumentu magazynowego – akcja odpowiada zaznaczeniu parametru Zamknięte i zapisaniu dokumentu; przy czym zachowana zostaje blokada zamknięcia dla dokumentu zatwierdzonego, tzn. przekazanego do realizacji w WMS
Generowanie spinacza
W wersji 2019.0 lista akcji kluczowych w Procesach została wzbogacona o akcję Generowanie spinacza, pozwalającą na utworzenie faktury typu spinacz z wydania zewnętrznego/przyjęcia zewnętrznego. Akcja ta jest alternatywą dla dostępnej już od wielu wersji akcji Dołączenie do spinacza. W przypadku akcji dołączenia do spinacza, jak sama nazwa akcji wskazuje System dołącza dokument do niezatwierdzonego spinacza, dopiero jeżeli takowego nie ma w Systemie, wówczas tworzy nowy spinacz. W przypadku akcji generowania spinacza System zawsze tworzy nowy spinacz dla danego dokumentu wydania/przyjęcia. Rodzaj spinacza, który ma zostać utworzony w tej akcji należy zdefiniować na zakładce [Parametry] tej akcji, przykładowo będzie to dla WZ:
(s)FS – spinacz elementów
FS – spinacz nagłówkowy
Proces jako usługa
Od wersji 2017.0 działa mechanizm, który będzie tworzył działającą usługę samodzielnie przez aplikację.
Służy do tego parametr Obsługa procesów za pomocą usługi. Warunkiem jest aby Operator Systemu Operacyjnego Windows miał uprawnienia do logowania w trybie usługi.
Parametr: Obsługa procesów za pomocą usługi
Uprawnienia operatora
Graficzna prezentacja definicji procesu
Od wersji 2019.0 możliwa jest graficzna prezentacja procesu. Takie wyświetlenie procesu wpłynie na czytelność
i pozwoli zweryfikować poprawność jego definicji.
Na formatkach związanych z procesami jest dostępny przycisk umożliwiający podgląd graficzny wykresu.
Podgląd graficzny wykresu umożliwia:
wyświetlanie drzewa procesu czyli zadania powiązane czynnościami/akcjami do ich wykonania
wyświetlanie informacji kontekstowych dla zadania procesu – akcje możliwe do wykonania, opiekunowie zadania
wyświetlanie informacji kontekstowych dla czynności (akcji procesu)
dowolne przemieszczenie składowych procesu wg potrzeb Operatora
eksport układu do pliku
jednoczesną prezentację powiązanych procesów – połączonych za pomocą akcji Uruchomienie innego procesu
Prezentacja danego procesu w formie graficznej
Graf zawiera dwie główne sekcje:
Główną część, w której wyświetlony jest diagram procesu
Sekcję informacyjną, po prawej stronie okna, w której wyświetlane są kontekstowo informacje dla elementu procesu na zaznaczonego na diagramie.
Dla wyświetlania elementów procesu przyjęto następujące zasady domyślne:
W kolorze zielonym – są wyświetlane: początek i koniec procesu
W kolorze niebieskim – są wyświetlane zadania w definicji procesu
W kolorze szarym – wyświetlane są czynności do wykonania w ramach procesu
W kolorze pomarańczowym – wyświetlane są czynności, uruchamiające kolejny proces
Podświetlenie na żółto – stosowane jest po zaznaczeniu w prawej sekcji odpowiadającego mu elementu procesu
Domyślną kolorystykę można dowolnie modyfikować za pomocą panelu: Wybór kolorów, znajdującego się w dolnej części diagramu.
Aby podłączyć drukarkę fiskalną do systemu Comarch ERP XL należy:
ustawić właściwości portu COM w systemie operacyjnym,
wybrać odpowiedni sterownik dla drukarki fiskalnej i ustawić port, do którego drukarka jest podłączona,
zmapować stawki podatku VAT,
zafiskalizować bazę danych.
Po wprowadzeniu wszystkich ustawień należy zakończyć pracę we wszystkich modułach systemu Comarch ERP XL i rozpocząć pracę na nowo.
Ustawienia portu COM
Ustawienia portów COM wprost wpływają na działanie drukarek fiskalnych w programie. Tym samym należy poprawnie ustawić port COM zgodnie z instrukcją użytkownika drukarki.
Elzab
Szybkość
9600, 19200
Parzystość
Parzyste (Even)
Liczba bitów
8
Bit stopu
1
Sterowanie
Brak, xon/xoff, Sprzętowe
Uwaga
Uwaga: Powód dodania opcji: Sprzętowe w sterowaniu przepływem został opisany w rozdziale: Ustawienia portu COM dla drukarki FP600 starej homologacji
Posnet (Novitus, Innova)
Szybkość
9600
Parzystość
Brak (None)
Liczba bitów
8
Bit stopu
1
Sterowanie przepływem
Brak
Właściwości portu COM są dostępne w Menedżerze urządzeń systemu Windows.
Właściwości portu komunikacyjnego COM
Konfiguracja sterownika, portu COM, do którego jest podłączona drukarka fiskalna oraz pozostałych parametrów
Wybranie sterownika oraz portu COM można wykonać w Menu Comarch ERP XL -> System -> Konfiguracja komputera na zakładce: Drukarka fiskalna.
Okno: parametry komputera, zakładki: Drukarka fiskalna w tym wykonywanie testu drukarki
Od archiwalnej już wersji 2013.5, zostały wprowadzone dodatkowe sterowniki do obsługi drukarek fiskalnych obsłużone w Konfiguracji komputera na zakładce: Drukarka fiskalna 2.
Okno: parametry komputera, zakładki: Drukarka fiskalna 2, w tym wykonywanie testu drukarki
Na zakładce: Drukarka fiskalna w polu: Nazwa pliku sterowania należy wskazać sterownik. Sterownik należy wybrać po naciśnięciu ikony: [Wybierz plik]. Wymagane pliki sterowników znajdują się w katalogu, do którego został zainstalowany system Comarch ERP XL. Sterowniki te należy dobierać w zależności od typu drukarki i rodzaju pracy (stacjonarna, przez terminal).
DF300.dll
Drukarki Posnet Thermal, Emar Printo
DF300_1.dll
Drukarki zgodne z Posnet
FP600.dll
Drukarki firmy Elzab
Innova.dll
Drukarki firmy Innova
Novitus.dll
Drukarki firmy Novitus
Jeżeli drukarka fiskalna podłączana jest do portu USB, to w oknie: Parametry komputera pojawia się dodatkowy port COM z kolejnym numerem.
Uwaga
Uwaga: Comarch ERP XL współpracuje z drukarkami, które pracują na protokole THERMAL. Jeżeli drukarka pracuje na protokole POSNET należy wówczas przełączyć się na protokół THERMAL- opcja dostępna do zmiany w konfiguracji drukarki. Nie dotyczy wykorzystania nowych sterowników.
Następnie należy ustawić port COM, zarówno na zakładce: Drukarka fiskalna, jak i Drukarka fiskalna 2:
Wybór sterownika do drukarek fiskalnych w zależności od sposobu pracy (przy użyciu tzw. Nowych sterowników lub bez ich zastosowania)
Po ustawieniu sterownika i portu COM należy:
Wykonać test sterownika naciskając przycisk [Test sterownika] – po jego wykonaniu otrzymujemy informacje na temat: Nazwy, Wersji oraz Typu sterownika. Opcja ta jest dostępna jedynie na zakładce: Drukarka fiskalna;
Test sterownika wykonywany w oknie: Parametry komputera na zakładce: Drukarka fiskalna
Uwaga
Uwaga: Test sterownika jest tylko sprawdzeniem wybranego pliku dll. Nie jest sprawdzana komunikacja drukarki z systemem.
Zdefiniować dodatkowe ustawienia, tj.:
Nie drukuj informacji na starcie systemu – jeżeli parametr nie będzie zaznaczony, to przy otwieraniu, któregokolwiek modułu będzie drukowana na drukarce fiskalnej informacja o rozpoczęciu pracy kasjera,
Wyświetlaj numer paragonu – po zaznaczeniu parametru na każdym paragonie będzie drukowany numer dokumentu PA z systemu Comarch ERP XL,
Drukuj kaucje – po zaznaczeniu parametru system będzie drukował informacje o towarach kaucjonowanych do dokumentów kaucji spiętych z fiskalizowanymi dokumentami,
Oznaczenie operatora i stanowiska – po zaznaczeniu parametru udostępnia się do edycji pole: Oznaczenie stanowiska (kasy), do którego można wpisać numer kasy, który później będzie drukowany na paragonach;
Dodatkowe parametry dla drukarki w oknie: Parametry komputera na zakładce: Drukarka fiskalna i Drukarka fiskalna 2
Uwaga
Uwaga: Aby numer kasjera zapisał się w drukarce fiskalnej należy wydrukować informację startową – jeżeli nie zostanie ona ani razu wydrukowana, to oznaczenie stanowiska kasy nie będzie drukowane na paragonach.
Test połączenia drukarki z system Comarch ERP XL, naciskając przycisk [Test drukarki] – jeżeli wybrany wcześniej sterownik oraz port COM są prawidłowe oraz nie ma problemów technicznych, to pojawia się komunikat: Drukarka podłączona;
Test drukarki wykonywany w oknie: Parametry komputera na zakładce: Drukarka fiskalna i Drukarka fiskalna 2
Dodatkowo, w oknie: Parametry komputera na zakładce: Drukarka fiskalna 2 jest możliwe wybranie trybu pracy na drukarce niezafiskalizowanej.
Okno: Parametry komputera, zakładka Drukarka fiskalna, parametr: Praca na drukarce niezafiskalizowanej
W konfiguracji drukarki fiskalnej z zakładki : Drukarka fiskalna 2 dostępna jest opcja drukowania fiskalnego poprzez Drukarkę sieciową
Praca na drukarce sieciowej: Parametry komputera na zakładce: Drukarka fiskalna 2
Mapowanie stawek VAT
Kolejną czynnością jaką należy wykonać jest mapowanie stawek VAT. Można je wykonać z poziomu dowolnego modułu, menu System -> Konfiguracja komputera -> zakładka: Sprzedaż -> Słownik: Drukarki fiskalne.
Po naciśnięciu przycisku: [Dodaj] podnosi się okno: Drukarka fiskalna – zostanie dodana.
Mapowanie stawek VAT, okno: Drukarka fiskalna dla, od prawej, sterownika odnoszącego się do zakładki: Drukarka fiskalna, Drukarka fiskalna 2 w oknie: Parametry komputera
W oknie: Drukarka fiskalna znajduje się parametr: Nowy sterownik. Jeżeli w Konfiguracji komputera na zakładce:
Drukarka fiskalna zostaną zdefiniowane niezbędne parametry, to w Konfiguracji na zakładce: Sprzedaż / Słowniki / Drukarki fiskalne należy zdefiniować wszystkie parametry bez zaznaczania parametru: Nowy sterownik,
Drukarka fiskalna 2 zostaną zdefiniowane niezbędne parametry, to w Konfiguracji na zakładce: Sprzedaż / Słowniki / Drukarki fiskalne należy zdefiniować wszystkie parametry z zaznaczeniem parametru: Nowy sterownik.
Jeśli nie zostanie wybrana współpraca z zastosowaniem tzw. Nowych sterowników, to w polu: Nazwa należy wpisać nazwę wybranego wcześniej sterownika drukarki.
Przyklad
Przykład: Wybrano sterownik df300.dll, to nazwa mapowania powinna być: df300
Jeśli zostanie wybrana współpraca z zastosowaniem tzw. Nowych sterowników, czyli zostanie zaznaczony ww. parametr: Nowy sterownik, to pole: Nazwa wypełni się automatycznie i w polu: Opis zostanie uaktywnione pole z listą drukarek, gdzie należy wskazać odpowiedni model (dla pracy w trybie terminalowym na końcu nazwy drukarki będzie słowo: Terminal):
Lista drukarek dostępna w oknie: Drukarka fiskalna w polu: Opis
W kolumnie: Odpowiednik wskazujemy odpowiednik literowy stawki VAT zmapowanej na drukarce fiskalnej. Aby uzyskać mapowanie stawek VAT z drukarki fiskalnej można wydrukować Raport dobowy z drukarki fiskalnej.
Uwaga
Uwaga: Odpowiednik literowy z drukarki fiskalnej powinien być zbieżny co do stawki ze stawką Stawki podstawowej. Jeżeli nie będą one zgodne mogą wystąpić problemy z drukowaniem fiskalnym dokumentów. Problemy wynikające z nieprawidłowego mapowania zostały opisane w rozdziale: Nieprawidłowe mapowanie stawek VAT.
Schemat dodawania tzw. Nowego sterownika w Konfiguracji systemu
Zafiskalizowanie bazy danych
Jeżeli system Comarch ERP XL ma pracować z drukarką, która jest zafiskalizowana (taką drukarkę otrzymuje zwykle klient), to jego baza również musi być zafiskalizowana.
Jeżeli podłączona drukarka fiskalna nie jest zafiskalizowana (taką drukarkę zwykle udostępnia się do testów systemu), to baza systemu Comarch ERP XL również powinna być niezafiskalizowana.
Aby zafiskalizować bazę Comarch ERP XL należy uruchomić Konfigurację, przejść na zakładkę: Sprzedaż -> zakładkę: Parametry 1 i za pomocą przycisku: [Data fiskalizacji systemu] wybrać datę i zapisać Konfigurację.
Konfiguracja -> zakładka: Sprzedaż -> Parametry 1, Data fiskalizacji systemu
Uwaga
Uwaga: Po zafiskalizowaniu bazy danych nie ma możliwości zatwierdzenia paragonu bez wysłania go do drukarki fiskalnej. Tym samym operatorzy, którzy nie będą mieli podpiętej do swojego komputera drukarki fiskalnej, nie będą mogli zatwierdzać paragonów – parametr: Do bufora będzie zaznaczony i niedostępny do edycji.
Parametr: Do bufora
Po zafiskalizowaniu bazy danych nie można jej odfiskalizować od strony interfejsu. Jeżeli istnieje potrzeba odfiskalizowania systemu, np. w sytuacji, kiedy pracowaliśmy testowo z drukarką fiskalną, to można to zrobić od strony bazy danych poniższym updatem:
update cdn.konfig set kon_wartosc = ” where kon_numer = 995
Uwaga
Uwaga: Powyższy update powinien być wykonywany tylko na stanowiskach testowych. Na stanowiskach produkcyjnych (u klienta), jeżeli występuje potrzeba pracy fiskalnej, to wszystkie paragony należy fiskalizować – od momentu zafiskalizowania systemu nie powinno się go odfiskalizowywać.
Podłączanie drukarki fiskalnej przez Terminal Services
System Comarch ERP XL posiada możliwość pracy w środowisku Terminal Services (TS). Istotnym elementem pracy tego systemu jest możliwość korzystania z drukarek fiskalnych. Przepisy wymagają od użytkownika drukarek fiskalnych umieszczenia ich na stanowisku gdzie odbywa się sprzedaż fiskalna.
W środowisku terminalowym oznacza to podłączenie drukarki fiskalnej do komputera, na którym pracuje klient terminala. W przypadku systemów Microsoft Windows Terminal Serwer do podłączenia drukarki fiskalnej do portu COM stanowiska terminalowego należy wykorzystać stworzone w ERP XL oprogramowanie tzw. sterowników terminalowych do drukarek fiskalnych. Powodem jest to, że drukarka fiskalna działa bez zarzutu przy wykorzystywaniu mapowania portów w TS na Windows 2000 w sieci LAN, natomiast w sieci WAN pojawiają się problemy. Wynika to z faktu, że domyślny timeout zapisany w sterownikach do drukarek wynosi około 2 s. W praktyce okazało się, że jest to zbyt krótki czas, aby sterownik nawiązał połączenia z drukarką przez wirtualne połączenia COM i otrzymał odpowiedź, czy też potwierdzenie od strony drukarki. Problem praktycznie nie występuje w sieciach LAN, gdzie prędkości transmisji, są zwykle w granicach 100 Mb/s, a w połączeniach przez sieć Internet mogą pojawiać się problemy.
W przypadku drukowania fiskalnego przez terminal przy użyciu pakietu tzw. sterowników terminalowych do drukarek fiskalnych, połączenie serialowe jest lokalne, tzn. sterownik, który je nawiązuje jest zainstalowany na stacji roboczej, do której podłączona jest drukarka. Komunikacja systemu Comarch ERP XL (działającego na serwerze terminali) z tym sterownikiem, odbywa się za pomocą kanału wirtualnego RDP, czyli po protokole TCP/IP.
Oprogramowanie pozwala na przekazanie do końcówki terminala danych dla drukarki fiskalnej poprzez tak zwany kanał wirtualny. Aby przekazywanie danych do drukarki mogło mieć miejsce zarówno po stronie końcówki terminala jak i po stronie serwera musi być zainstalowane odpowiednie oprogramowanie. Wymagane pakiety z oprogramowaniem można znaleźć na stronach ERP XL.
Uwaga
Uwaga: Istotna jest zgodność wersji bibliotek rdp.dll (po stronie klienta usługi terminalowej) i KFdrv.dll (po stronie serwera). Wersję biblioteki DLL można sprawdzić przez podgląd właściwości pliku DLL.
Właściwości pliku KFDrv.dll
Zawartość pakietu obsługi drukarek fiskalnych po stronie klienta usługi terminalowej
Zawartość pakietu obsługi drukarek fiskalnych po stronie serwera usługi terminalowej
DF300.dll
Sterownik do drukarek Posnet
DF300T.dll
Odpowiednik sterownika DF300.dll po stronie serwera
DF300_1.dll
Sterownik do drukarek zgodnych z Posnet
DF300_1T.dll
Odpowiednik sterownika DF300_1.dll po stronie serwera
FP600.dll
Sterownik do drukarki FP600
FP600T.dll
Odpowiednik sterownika FP600.dll po stronie serwera
Innova.dll
Sterownik do drukarki Innova
InnovaT.dll
Odpowiednik sterownika Innova.dll po stronie serwera
Novitus.dll
Sterownik do drukarki Novitus
NovitusT.dll
Odpowiednik sterownika Novitus.dll po stronie serwera
RDP.dll
Sterowniki do komunikacji przez połączenie terminalowe
KFdrv.dll
Sterownik do komunikacji przez połączenie terminalowe, po stronie serwera
rdpcli.inf
Plik dla instalatora Windows dla systemów Windows 2000/XP
Rdpcli98_1.reg
Plik rejestru dla Windows 98 cz.1
Rdpcli98_2.reg
Plik rejestru dla Windows 98 cz. 2
Uwaga
Uwaga: Do pracy z drukarkami fiskalnymi w połączeniu terminalowym wymagana jest odpowiednia licencja w kluczu HASP: Fiskalny driver terminalowy. W momencie wysyłania dokumentu do drukarki fiskalnej pobierana jest licencja i jest ona automatycznie zwracana do klucza po wydrukowaniu paragonu
Instalacja i konfiguracja komponentów na serwerze
Program Comarch ERP XL nawiązuje połączenie z drukarką fiskalną poprzez API udostępnione przez bibliotekę drivera fiskalnego.
W przypadku współpracy z drukarką podłączoną do konsoli klienta usługi terminalowej należy w konfiguracji programu wybrać odpowiednio zmodyfikowany driver, przeznaczonego do pracy w TS. Dodatkowe drivery oznaczone są literą T (terminal) dodaną do nazwy standardowego drivera (DF300T.dll, DF300_1T.dll, FP600T.dll, InnovaT.dll).
Wszystkie wymagane pliki powinny znajdować się w katalogu, do którego został zainstalowany system ERP XL.
Mapowanie stawek VAT powinno być wykonane tak, jak dla stacji lokalnej – mimo, iż wybieramy sterownik z literą T, to nazwa mapowania jest bez literki T.
Przyklad
Przykład: Wybrano sterownik df300T.dll, to nazwa mapowania powinna być: df300
Instalacja pakietu na stacji roboczej spełniającej rolę klienta usługi terminalowej
System Windows 7/8/10
W systemie Windows 7/8/10 można wykonać automatyczną instalację za pomocą rdpcli.inf.
Aby to zrobić należy z serwera z katalogu, do którego został zainstalowany system Comarch ERP XL skopiować pliki:
rdpcli.cab
rdpcli.inf
do tego samego dowolnego katalogu na stacji klienckiej. Następnie należy wskazać myszą plik rdpcli.inf, nacisnąć prawy przycisk i wybrać z menu kontekstowego opcję: Zainstaluj. Instalator dokonuje automatycznego przeniesienia plików do wymaganej lokalizacji na stacji klienckiej (C:\Windows\system32) oraz dokonuje niezbędnych wpisów w rejestrze systemu Windows.
Uwaga
Uwaga: W przypadku systemów 64 bitowych na stacji klienckiej należy wgrać odpowiednie sterowniki dostosowane do tego systemu. W celu otrzymania tych sterowników należy się zwrócić do Asysty Technicznej Comarch ERP XL. Nie dotyczy wykorzystania nowych sterowników.
Należy również ustawić właściwości portu COM, więcej w rozdziale: Ustawienia portu COM.
Przed nawiązaniem połączenia z serwerem terminali należy udostępnić Porty szeregowe dla połączenia terminalowego.
Uwaga
Uwaga: Wykonanie tych operacji umożliwi pracę z drukarkami fiskalnymi dla aktualnie zalogowanego użytkownika Windows. Jeżeli z daną drukarką na wskazanym stanowisku ma pracować więcej użytkowników, to wymienione powyżej operacje należy wykonać dla każdego użytkownika Windows.
Konfiguracja sesji użytkownika
Do prawidłowego funkcjonowania drukarki wymagane są następujące działania, po stronie aplikacji uruchomionej w sesji terminalowej, na koncie każdego użytkownika, pracującego z drukarką fiskalną:
wybranie właściwego sterownika drukarki fiskalnej po stronie serwera (DF300T.dll, DF300_1T.dll, FP600T.dll, InnovaT.dll, NovitusT.dll) w zakładce: Drukarka Fiskalna w oknie: Konfiguracja komputera dostępnym z Menu Comarch ERP XL -> System,
określenie portu do którego jest podłączona drukarka na lokalnym komputerze z którego jest uruchomiona sesja terminalowa; w przypadku połączenia przez port USB należy wskazać COM 3 (lub COM z kolejnym numerem),
jawne zdefiniowanie nazwy serwera klucza w zakładce: Klucz w oknie: Konfiguracja komputera dostępnym z Menu Comarch ERP XL -> System – należy wpisać nazwę serwera\nazwę instancji, na której został skonfigurowany i jest wpięty klucz HASP.
Najczęściej popełniane błędy konfiguracyjne
Zgodność plików KFdrv.dll i Rdp.dll
Zwykle większość problemów związanych z drukarkami fiskalnymi opiera się na niezgodności wersji pliku KFdrv.dll po stronie serwera (w katalogu, w którym został zainstalowany system Comarch ERP XL) oraz pliku rdp.dll po stronie klienta (w katalogu C:\Windows\System32). Jeżeli wersje plików są niezgodne nie istnieje komunikacja drukarki z serwerem terminali.
Jeżeli wersje plików są zgodne oraz drukarka jest prawidłowo podłączona, to test drukarki wykonany za pomocą przycisku [Test drukarki] kończy się komunikatem: Drukarka podłączona.
Test drukarki: Drukarka podłączona
Uwaga
Uwaga: Po przeinstalowaniu systemu Comarch ERP XL np. z powodu zmiany wersji systemu należy sprawdzić, czy nie zmieniły się wersje plików KFdrv.dll, rdp.dll oraz sterowników do drukarek. Sprawdzenia można wykonać w katalogu, do którego została zainstalowana nowa wersja systemu Comarch ERP XL. Jeżeli nastąpiła zmiana wersji plików należy je podmienić po stronie klienta w katalogu Windows\System32\ na te, które zostały zainstalowane na serwerze.
Przeinstalowanie systemu Comarch ERP XL
Patrz UWAGA w rozdziale Zgodność plików KFdrv.dll i rdp.dll.
Zapisy w rejestrze systemu Windows
W trakcie przygotowywania biuletynu i testów udało się uzyskać sytuację, w której brak połączenia był spowodowany faktem, iż na stacji klienckiej drukarka fiskalna została najpierw skonfigurowana lokalnie – wprowadzono ustawienia umożliwiające pracę lokalną z drukarką fiskalną.
Remedium było usunięcie z rejestru systemu Windows klucza: Fiskalne z gałęzi: HKEY_CURRENT_USER -> Software -> CDN.
Edytor rejestru: Fiskalne
Uwaga
Uwaga: Aby na drukarce fiskalnej były prawidłowo drukowane polskie znaki przy wykorzystaniu tzw. Nowych sterowników, w ustawieniach drukarki należy ustawić stronę kodową MAZOVIA.
Drukarka fiskalna w pracy terminalowej- nowe sterowniki
Oprogramowanie pozwala na przekazanie do końcówki terminala danych dla drukarki fiskalnej przez tak zwany kanał wirtualny. Aby przekazanie danych mogło mieć miejsce zarówno po stronie klienta, jak i po stronie serwera, musi być zainstalowane odpowiednie oprogramowanie.
Instalacja i konfiguracja komponentów na serwerze
Instalacja sterowników do obsługi drukarek fiskalnych odbywa się wraz z instalacją programu Comarch ERP XL. Konfiguracja programu do współpracy z drukarką fiskalną polega na wybraniu odpowiedniego sterownika przeznaczonego do pracy przez terminal.
W menu głównym systemu Comarch ERP XL (uruchamianym plikiem CDNXL.exe) lub w module Administrator wchodzimy do Konfiguracji komputera.
Konfiguracja komputera. Ustawienie sterownika drukarki fiskalnej do współpracy przez terminal
Aby skorzystać z nowych sterowników, na zakładce Drukarka fiskalna 2 zaznaczamy opcję „Używaj nowych sterowników”. W polu model drukarki wybieramy urządzenie, z którym będzie współpracował system. Przy pracy przez usługę terminalową ważne jest aby sterownik w nazwie miał dopisek „Terminal”. Następnie wybieramy numer portu, jego prędkość i sterownie przepływem (zgodnie z ustawieniami na drukarce i we właściwościach portu COM w Menedżerze urządzeń).
Instalacja i konfiguracja komponentów na końcówce terminala
Po stronie końcówki terminala, czyli komputera, na którym pracuje klient i do którego jest podłączona drukarka fiskalna, należy zainstalować komponenty zajmujące się obsługą kanału wirtualnego oraz połączeniem systemu z drukarką.
Plik instalacyjny znajduje się w głównym katalogu systemu Comarch ERP XL: onlineFP.exe
Aby zainstalować obsługę terminalową drukarek fiskalnych, należy plik przegrać na końcówkę terminala. Następnie zainstalować na końcówce. Oprogramowanie po stronie klienta składa się z plików obsługujących kanał wirtualny i ze sterowników do drukarek. Wszystkie te pliki kopiowane są do katalogu wskazanego w trakcie instalacji.
Po prawidłowo wykonanej instalacji na końcówce terminala i konfiguracji komponentów można wykonać test połączenia. W tym celu po połączeniu się z serwerem należy uruchomić system, wejść w Konfigurację komputera i na zakładce Drukarki fiskalne 2, w sekcji Test drukarki, uruchomić test odpowiednim przyciskiem.
Wyniki testu przeprowadzonego w Konfiguracji komputera
W przypadku prawidłowego otrzymamy komunikat Drukarka podłączona. To oznacza, że drukarka jest podłączona i skonfigurowana poprawnie. Jeżeli system nie uzyska połączenia pojawi się komunikat Brak połączenia z drukarką. Należy wówczas sprawdzić poprawność podanego numeru portu, jego prędkości i sterownia przepływem, porównać je z ustawieniami na urządzeniu fiskalnym i z właściwościami portu COM w Menedżerze urządzeń.
Uwaga
Uwaga: Nowe sterowniki są wymagane do pracy terminalowej przy wykorzystaniu Windows Server 2012, w tym systemie operacyjnym zmieniła się obsługa kanałów wirtualnych i wykorzystanie pliku rdp.dll nie działa poprawnie.
Drukowanie fiskalne przez Drukarkę sieciową
W systemie Comarch ERP XL obsłużona została funkcja drukowania fiskalnego na drukarce podłączonej do serwera wydruków fiskalnych. Serwer wydruków fiskalnych jest oddzielną usługą w systemie Windows z którą końcówki wystawiające dokumenty fiskalne łączą się za pomocą protokołu TCP/IP, domyślnie portem na którym pracuje serwer wydruków fiskalnych to port 3500, w momencie instalacji można podać inny nr. portu dla tej usługi.
Instalacja serwera wydruków fiskalnych
Do instalacji usługi fiskalnego drukowania sieciowego służy aplikacja ComarchOnlineFPServerInstaller.exe
Parametry z jakimi uruchamiamy instalator są następujące:
/i – instalacja pakietu z domyślnymi parametrami
/w <USER_LOGIN> [<USER_PASSWORD>] – instalacja z zmianą loginu na którym pracuje usługa serwera wydruków fiskalnych
/tcp <TCP_Port> – ustawienia innego nr portu na którym pracuje usługa niż 3500
/start – uruchomienie usługi
/stop – zatrzymanie usługi
/u – odinstalowanie usługi
W systemach gdzie uruchomiona jest zapora sieciowa należy dodać wyjątek do zapory dla portu 3500 lub innego ustawionego portu, bądź dodać wyjątek dla aplikacji(usługi): Comarch ERP Fiscal Server.
Podłączenie ERP XL do serwera wydruków fiskalnych
Konfigurację stanowiska do współpracy z sieciową drukarką fiskalną wykonujemy w oknie Parametry komputera na zakładce: Drukarka fiskalna 2 po załączeniu parametru: Drukarka sieciowa , pod ikoną lupy pojawia się możliwość konfiguracji połączenia do drukarki: Ustaw parametry sieciowe.
Praca na drukarce sieciowej: Parametry komputera na zakładce: Drukarka fiskalna 2
Ustaw parametry sieciowe: Parametry komputera na zakładce: Drukarka fiskalna 2
Okno Parametry drukarki sieciowej pozwala na podanie:
Adresu serwera
Portu TCP – domyślny port dla usługi to 3500.
Ustawienia sterownika
ustawienia sterownika takie jak Model drukarki, Port COM, prędkość portu i sterowanie przepływem są identyczne jak dla ustawień sterownika dla pracy lokalnej z drukarką fiskalną dla ustawień z zakładki Drukarka fiskalna 2 z okna Parametry komputera.
Operacje fiskalne obsługiwane w systemie Comarch ERP XL
Dokumenty fiskalizowane w systemie Comarch ERP XL
W systemie Comarch ERP XL można zafiskalizować:
Paragon,
Fakturę sprzedaży FS oraz (S)FS – dokumenty wystawione z parametrem Vat od: Brutto (zakładka Nagłówek) i zaznaczonym: Fiskalny (zakładka VAT) – te dokumenty można fiskalizować od wersji Comarch ERP XL 7.1,
Uwaga
Uwaga: Parametr: Fiskalny na zakładce VAT dokumentu należy zaznaczać na każdym wystawianym dokumencie FS i (S)FS ręcznie. Ustawienie tego parametru w definicji rejestru VAT nie skutkuje zaznaczaniem tego parametru na dokumentach.
Fakturę zaliczkową – w trakcie jej wystawiania należy zaznaczyć parametr: Fiskalny na zakładce VAT dokumentu,
Fakturę końcową do faktury zaliczkowej, która została zafiskalizowana na drukarce fiskalnej.
System umożliwia również wydrukowanie kaucji jako dodatkowych pozycji paragonu fiskalnego.
Drukowanie kaucji na paragonie fiskalnym
W Comarch ERP XL istnieje możliwość drukowania kaucji z dokumentu wydania kaucji (WKA) na drukarce fiskalnej. Aby elementy dokumentu WKA zostały wydrukowane na paragonie fiskalnym, dokument WKA musi być związany z fiskalizowanym dokumentem, np. PA. W trakcie zatwierdzania dokumentu PA, elementy tego dokumentu są drukowane na drukarce fiskalnej; po wydrukowaniu wszystkich elementów PA drukarka fiskalna drukuje kaucje z dokumentu WKA w części niefiskalnej paragonu.
Parametr Drukuj kaucje
Jeżeli drukarka fiskalna nie posiada obsługi drukowania kaucji należy odznaczyć parametr: Drukuj kaucje w Konfiguracji komputera, zakładka: {Drukarka fiskalna}.
Parametry komputera, parametr: Drukuj kaucje
Menu Fiskalne
Jeżeli mamy prawidłowo skonfigurowaną drukarkę, to mamy dostęp z każdego modułu do Menu Fiskalne:
Menu Fiskalne
Z poziomu tego Menu możemy wykonać na drukarce fiskalnej:
powtórną fiskalizację dokumentu,
wydrukować raport dobowy,
wydrukować raport szczegółowy.
Powtórna fiskalizacja dokumentu
W sytuacjach, w których dokument nie został zafiskalizowany na drukarce fiskalnej, a jest dokumentem zatwierdzonym (na liście paragonów, taki dokument wyświetlony jest na żółto), to można go zafiskalizować na drukarce fiskalnej.
Aby to zrobić z Menu Fiskalne wybieramy przycisk – otwiera się okno: Fiskalizacja dokumentów. Aby wybrać dokument do powtórnej fiskalizacji należy nacisnąć przycisk: [Dokument].
W oknie Fiskalizacja dokumentu naciskamy przycisk: [Fiskalizuj dokument].
– nie został wydrukowany na drukarce, ale w systemie został zafiskalizowany, należy użyć funkcji z menu Fiskalne – Powtórna fiskalizacja,
– został wydrukowany na drukarce i nie został zafiskalizowany w systemie (szczególny przypadek!), w celu zafiskalizowania dokumentu w systemie należy zmienić w tabeli cdn.tranag w polu trn_fiskalne wartość na 1 (1- dokument fiskalny, 0 – dokument niefiskalny).
Drukuj numer NIP na paragonie
W wersji 2018.2 w konfiguracji komputera na zakładce Drukarka fiskalna 2, dodano parametr: Drukuj numer NIP. Parametr dostępny jest dla nowych sterowników fiskalnych. Zaznaczenie tego parametru ma sens tylko dla tych drukarek, które posiadają zgodnie z przepisami możliwość drukowania numeru NIP w określonym miejscu paragonu. W przypadku starszych modeli drukarek, po zaznaczeniu tego parametru podczas drukowania paragonu pojawi się błąd. Równocześnie zrezygnowano z drukowania numeru NIP w części niefiskalnej paragonu, w sytuacji, gdy zaznaczono parametr Wyświetlaj numer paragonu.
Parametr Drukuj numer NIP w konfiguracji
Problemy z drukowaniem fiskalnym dokumentów
Brak możliwości wydrukowania dokumentu na drukarce fiskalnej może być spowodowany m.in.:
nieprawidłową konfiguracją systemu,
niezgodnością wartości w elementach transakcji,
zmianą stawki VAT w karcie towaru lub w elemencie transakcji,
brakiem połączenia z drukarką fiskalną – problemy sprzętowe.
Nieprawidłowa konfiguracja systemu
Brak połączenia z drukarką w połączeniu terminalowym
Ustawienia portu COM dla drukarki FP600 starej homologacji
W trakcie testów okazało się, że dla drukarek Elzab FP600 starej homologacji należy ustawić sterowanie przepływem na: Sprzętowe.
Jeżeli ustawimy sterowanie przepływem na: brak, to dokumenty fiskalizują się na drukarce fiskalnej, a w systemie Comarch ERP XL otrzymujemy komunikat o braku możliwości zamknięcia dokumentu. Tym samym otrzymujemy niezafiskalizowany dokument w Comarch ERP XL mimo, iż zafiskalizował się on na drukarce fiskalnej.
Komunikat o braku komunikacji z drukarką fiskalną
Remedium
Dla drukarek Elzab FP600 starej homologacji ustawić sterowanie przepływem na: Sprzętowe.
Nieprawidłowe mapowanie stawek VAT
Jeżeli wykonano nieprawidłowe mapowanie stawek VAT – wskazano odpowiedniki o innych stawkach niż są zmapowane w drukarce fiskalnej – to dana pozycja dokumentu może wydrukować się na drukarce fiskalnej z inną stawką podatku niż wskazana w Comarch ERP XL lub może się nie wydrukować. Brak możliwości wydrukowania może objawić się komunikatem:
Komunikat występujący w przypadku nieprawidłowego zmapowania stawek VAT
oraz anulowaniem paragonu na drukarce fiskalnej – komunikat na paragonie: „paragon anulowany”.
Remedium
Należy poprawnie zamapować stawki VAT wg instrukcji z rozdziału: Mapowanie stawek VAT.
Nieprawidłowa nazwa towaru
Każda drukarka fiskalna ma określoną minimalną długość nazwy towaru oraz listę znaków specjalnych, która nie jest obsługiwana. Jeżeli nazwa towaru nie spełnia kryteriów określonych w specyfikacji drukarki fiskalnej dana pozycja nie zostanie na niej wydrukowana. Może się to objawić następującym komunikatem:
Komunikat informujący o nieprawidłowej nazwie towaru
Remedium
Należy zmienić nazwę towaru w karcie towaru w taki sposób, aby spełniała wymagania specyfikacji drukarki fiskalnej. Następnie usunąć i dodać daną pozycję z dokumentu, który chcemy zafiskalizować.
W takiej sytuacji należy zmienić nazwę towaru w taki sposób, aby spełniała kryteria ze specyfikacji.
Kod autoryzacyjny drukarki
Niektóre drukarki posiadają zaimplementowany „kod autoryzacyjny” ważny w zadanym okresie czasu. Przykładowo, jeżeli drukarka posiada 30 dniowy kod autoryzacyjny tzn. po 30 dniach drukarka przestaje działać i nie drukuje jakiekolwiek paragonu, w systemie prezentowany wówczas jest następujący komunikat:
Komunikat NowyParagon 3
Remedium
Należy sprawdzić czy „kod autoryzacyjny” funkcjonuje na urządzeniu i czy Użytkownik bądź Serwis wprowadził taki kod, który odblokowuje drukarkę „na zawsze”.
W przypadku, gdy drukarka nie posiada kodu autoryzacyjnego, a w systemie podczas zapisu dokumentu występuje komunikat: NowyParagon 3 należy wykonać z poziomu Comarch CDN XL, menu Fiskalne-> Raport dobowy. Po wykonaniu Raportu dobowego na drukarce problem powinien ustąpić.
Niezgodność wartości elementu
Element transakcji nie zostanie zafiskalizowany na drukarce fiskalnej jeżeli nie jest spełnione równanie ilość*cena=wartość. Jeżeli równanie jest niespełnione, to możemy uzyskać następujący komunikat:
Komunikat występujący w przypadku niezgodności wartości elementu
oraz na drukarce fiskalnej: „paragon anulowany”.
Remedium
Należy sprawdzić, czy są zaznaczone parametry w Elemencie transakcji:
Ilość*cena=wartość,
Cena z dokładnością do groszy,
Zakładka: {Kalkulacja}, „Od księgowych”.
Powyższe parametry powinny być zaznaczone dla fiskalizowanego elementu.
Następnie należy sprawdzić równanie ilość*cena=wartość. Jeżeli nie jest spełnione, to wprowadzić prawidłową wartość na element.
Zmieniona stawka podatku VAT dla danego towaru
Zmiana stawki podatku VAT w karcie towaru lub w elemencie transakcji może uniemożliwić zafiskalizowanie danej pozycji na drukarce fiskalnej. Objawia się to komunikatem:
Komunikat występujący w przypadku zmiany stawki VAT
oraz na drukarce fiskalnej: „błąd PTU paragon anulowany”.
Remedium
Rozwiązaniem jest:
zmiana stawki podatku na taką jaka była zafiskalizowana przed zmianą lub
zmiana nazwy towaru na nową – wtedy w drukarce fiskalnej zostanie dodana nowa nazwa z przypisaną do niej stawką podatku.
Problemy sprzętowe
Jeżeli mamy wprowadzone prawidłowo wszystkie ustawienia wg tego biuletynu, a mimo to nadal nie drukują się nam dokumenty na drukarce fiskalnej, to istnieje duże prawdopodobieństwo, że jest to spowodowane problemami sprzętowymi – uszkodzeniem drukarki fiskalnej, uszkodzeniem przewodów, uszkodzeniem portu COM itp.
Remedium
W takich sytuacjach należy:
sprawdzić czy drukarka jest prawidłowo podłączona do komputera;
spróbować ją podpiąć do innego stanowiska, które drukuje paragony na innej drukarce fiskalnej;
Dashboardy są to pulpity zmieniające wygląd interfejsu. Użytkownik Systemu może przygotować własny pulpit z obiektami, z których korzysta najczęściej, dzięki czemu dostęp do nich będzie szybszy, a układ spersonalizowany. Dodatkowo, poza standardowymi obiektami na pulpicie można dodać widżet z odwołaniem do dowolnej strony www, innego programu czy raportów BI. Włączenie dostępu do konfiguracji pulpitu odbywa się w: Ustawieniach użytkownika.
Wraz z możliwością kreowania własnych pulpitów dla Użytkowników, udostępnione zostały pulpity tzw. predefiniowane, stanowiące bazę jak pulpity mogą wyglądać, z przykładowymi obiektami i ułożeniem. Te predefiniowane pulpity mogą być przypisane do operatorów i w proponowanej wersji używane lub można je indywidualnie modyfikować wg własnych potrzeb i upodobań. Funkcjonalność dashboardów pozwala użytkownikowi zdefiniować własne pulpity, odrębnie do predefiniowanych.
Przypisywanie pulpitów predefiniowanych do operatora
Aby udostępnione predefiniowane pulpity, a także te pulpity, które zostały przygotowane przez administratora jako predefiniowane mogły być używane przez Użytkownika, należy Mu je przypisać. W tym celu na karcie operatora dodana została stosowna sekcja dla przypisywania predefiniowanego pulpitu. Z uwagi na możliwość korzystania z więcej niż jednego pulpitu, na liście prezentowane są wszystkie pulpity przypisane do operatora. Przypisanie pulpitu do operatora odbywa się poprzez kopiowanie rekordu w bazie z danym pulpitem predefiniowanym, a następnie uzupełnianie numeru operatora, któremu pulpit jest przypisywany. Jednocześnie udostępniona została opcja usuwania pulpitu konkretnemu operatorowi. Oznacza to usunięcie pulpitu operatora z bazy danych. Działanie jest tożsame z usunięciem pulpitu z poziomu konfiguracji.
Karta operatora, lista Pulpitów operatora
Wskazanie predefiniowanego pulpitu jest możliwe również na wzorcu operatora. Dzięki temu można przy pomocy funkcjonalności aktualizacji kart operatorów grupowo przypisać operatorom konkretny predefiniowany pulpit. Także dodając nową kartę operatora w kontekście wzorca, można na samym początku przypisać do niego wybrany pulpit.
Domyślny wygląd pulpitu operatora podzielony jest na 3 sekcje:
W sekcji Konfiguracja znajdują się wszystkie dostępne widżety, które można przenieść na panele.
Sekcja z podłączonymi pulpitami – w tej części wyświetlana jest lista pulpitów podłączonych do danego operatora.
Sekcja, w której są widoczne wszystkie panele podłączone do danego pulpitu
Dodawanie nowego pulpitu
W sekcji z widokiem podłączonych pulpitów znajduje się przycisk służący do utworzenia nowego pulpitu.
Dodawanie nowego pulpitu.
Automatycznie po kliknięciu ‘Dodaj pulpit’ zostaje utworzony nowy pulpit z nazwą ‘Nowy …’. Nazwę pulpitu można zmienić poprzez kliknięcie prawym przyciskiem myszy na jego nazwie. Pojawi się lista z opcjami Usuń oraz Zmień nazwę.
Dodawanie paneli
Do każdego pulpitu można dodać dowolną ilość paneli. Nowy panel można dodać poprzez opcję ‘Dodaj panel’. Nowo utworzony panel zostaje dodany do obecnie używanego pulpitu z nazwą ‘Panel…’.
Dodawanie nowego panelu
Rozmieszczenie paneli na pulpicie
Panele na pulpicie można rozmieścić na kilka różnych sposobów:
Panel przypięty – nowo utworzony panel jest dosunięty do krawędzi pulpitu. Tak przypięty panel nie zmienia wielkości po przypięciu. Można dowolnie zmienić jego wielkość. Nowo otwarte okna w programie powodują przesłonięcie panelu.
Panel przypięty
Panel pływający – panel nie dosunięty do żadnej krawędzi. Można zmieniać dowolnie jego wielkość. Otwarcie nowego okna w programie nie powoduje przesłonięcia panelu, który w takim ułożeniu widoczny będzie zawsze na wierzchu.
Panel pływający
Panel zadokowany – panel zadokowany do krawędzi pulpitu. Podczas przesuwania panelu pokazują się opcje, gdzie można zadokować panel. Tak zadokowany panel zmienia swoją wielkość na domyślną, ale możliwa jest zmiana szerokości panelu. Taki panel jest widoczny spod otwieranych okien.
Miejsca dostępne do zadokowania panelu
Panel zadokowany
Panele połączone – panele można ze sobą łączyć w różnej konfiguracji. Jako dwa sklejone ze sobą panele lub jako zakładki, między którymi można się przełączać.
Panele połączone
Opcja auto hide na panelach
Opcja auto hide na nagłówku panelu
Dla paneli została udostępniona funkcja Auto hide – autoukrywanie się panelu w postaci pinezki na nagłówku panelu. Panel, po włączeniu tej opcji, zwija się automatycznie, pozostawiając widoczny tylko nagłówek.
Ustawienia na panelach
Dla każdego panelu możliwa jest zmiana nazwy, jak i koloru. Opcje te dostępne są po wybraniu Ustawień z poziomu nagłówka panelu.
Włączenie ustawień z nagłówka panelu
Dla paneli można ustawić kolor niestandardowy, wybierając pole z wielokropkiem.
Zmiana koloru i nazwy panelu
Widżety
Na panel można dodać dowolną ilość widżetów poprzez opcję Przeciągnij i upuść. W tym celu należy wybrać interesujący nas widżet z wszystkich dostępnych w sekcji Konfiguracja i przeciągnąć go na konkretny panel. Możliwe jest również przeciągnięcie i dodanie całej grupy widżetów.
Konfiguracja widżetów
Dodane widżety można konfigurować. W tym celu należy najechać myszką na wybrany widżet i poprzez kliknięcie prawym przyciskiem myszy wybrać opcję Ustawienia.
Włączenie ustawień na widżecie
W oknie ustawień widżetów, można odpowiednio skonfigurować widżet.
Ustawienia dostępne dla widżetów
Dla każdego widżetu możliwa jest zmiana nazwy, zmiana typu, wielkości i koloru czcionki, jak również dodanie własnej ikony na widżecie lub wybranie filtra. Dla niektórych widżetów możliwy jest również wybór kontekstu. Dla każdego widżetu można indywidualnie zdefiniować kolor tła, wybierając z podanych lub wybrać niestandardowy, jak również zmienić wymiar na jeden ze zdefiniowanych.
Parametr Zliczaj służy do zliczania np. ilości dokumentów odpowiadających widżetowi. Można tam wstawić zapytanie zwracające pojedynczą wartość. Wynik tego zliczenia widoczny jest przy nazwie widżetu.
Konfiguracja widżetów niestandardowych
Na liście widżetów znajdują się widżety z ustawieniami niestandardowymi, są to m. in. Uruchom program, Zdjęcie, Przeglądarka WWW, BI Point.
Konfiguracja widżetu Uruchom program
Dla widżetu Uruchom program w ustawieniach możliwe jest określenie programu, który ma być otwierany po kliknięciu w widżet.
Ustawienia aplikacji otwieranej przez widżet
Po wybraniu przycisku wielokropka pojawia się okno wyboru aplikacji do podłączenia. W sekcji Parametry należy podać parametry uruchomienia programu np. jako program: C:\Windows\notepad.exe, a jako parametry: c:\mojplik.txt. Spowoduje to uruchomienie C:\Windows\notepad.ex\ mojplik.txt.
Konfiguracja widżetu Zdjęcie
Widżet Zdjęcie, to widżet służący do wyświetlanie zminiaturyzowanego zdjęcia jako ikony widżetu.
Ustawienia dostępne dla widżetu Zdjęcie
Widżet Zdjęcie z ustawionym zminiaturyzowanym zdjęciem i zmienioną nazwą
Konfiguracja widżetów BI Point i Przeglądarka www
Dodanie widżetów Przeglądarka WWW i BI Point możliwe jest tylko do panelu, dla którego nie są dodane inne widżety. Ustawienia tych widżetów dostępne są z nagłówka panelu z menu.
Otwarcie ustawień dla widżetów BI Point i Przeglądarka www
W ustawieniach widżetu BI Point w sekcji URL, domyślnie jest wpisany adres http://bicloud.comarch.pl.
Ustawienia dostępne dla widżetu BI Point
W ustawieniach widżetu Przeglądarka WWW w sekcji URL, należy wpisać adres strony internetowej, która ma być wyświetlona.
Ustawienia dostępne dla widżetu Przeglądarka www
Dla widżetu nie jest udostępniona pełna przeglądarka. Ideą tego widżetu jest możliwość wyświetlania strony, która będzie przydatna podczas pracy. By cofnąć się do poprzedniej strony, należy na stronie kliknąć prawy przycisk myszy i wybrać Wstecz.
Od wersji 2019.2.1 została udostępniona możliwość współpracy z Comarch Retail POS.
Wersja Comarch ERP XL
Comarch Retail POS
od wersji 2019.2.1 do wersji 2020.0
2019.0
od wersji 2020.1
2019.5.1
Retail POS skonfigurowany z Comarch ERP XL, daje możliwości tworzenia stanowisk pracy detalicznej, na których mogą być wystawiane paragony lub faktury. Dokumenty wystawiane na stanowiskach POS są następnie przesyłane do centrali, czyli do bazy Comarch ERP XL Oprócz dokumentów handlowych oraz korekt do nich, możliwe jest również wystawianie zapisów kasowych KP i KW oraz dodawanie i modyfikacja kart kontrahentów.
Instalacja Comarch Retail POS
Comarch Retail POS instaluje się z wykorzystaniem narzędzia Comarch ERP Auto Update. Instrukcja instalacji POS znajduje się w dokumentacji na stronie https://pomoc.comarch.pl/retail/20190/.
Po otworzeniu narzędzia Comarch ERP Auto Update należy wskazać wybraną wersję do instalacji.
Okno wyboru wersji Comarch Retail
W tym celu wybieramy opcję – Akcje zaawansowane, a następnie pobranie wskazanej wersji produktu.
Po zainstalowaniu odpowiedniej wersji należy dodać komponent- Comarch Retail POS
Na zakładce Konfiguracja dodać produkt Comarch Retail.
Dodanie produktu Comarch Retail
Dla produktu Comarch Retail dodać komponent Comarch Retail POS.
Dodanie komponentu Comarch Retail POS
Skonfigurować komponent Comarch Retail POS.Okno konfiguracji otwierane jest poprzez zaznaczenie komponentu oraz wybranie z głównego menu przycisku [Konfiguracja]. W oknie należy wprowadzić dane dotyczące połączenia bazy danych stanowiska POS.
Konfiguracja komponentu Comarch Retail POS
Nazwa serwera – nazwa serwera wraz z instancją, na którym zostanie utworzona baza danych
Nazwa bazy danych – domyślnie podpowiada się POSDB_[kod_profilu]
Dane do logowania – Login, Hasło
Przycisk [Test połączenia] umożliwia sprawdzenie nawiązania połączenia ze wskazanym serwerem.
Uwaga
Uwaga: Z jednej bazy lokalnej może korzystać tylko jedno stanowisko POS.
Zapisać zmiany oraz zamknąć okno konfiguracji produktów przez wybranie odpowiednio przycisku [Zapisz], a następnie [Zamknij].
Przyciski [Zapisz] oraz [Zamknij] w oknie KonfiguracjaW razie potrzeby utworzenia nowej bazy POS, backup pustej bazy POS można znaleźć w katalogu Autoupdate np. C:\Comarch ERP Auto Update\Downloads\Comarch Retail\2019.0.0.0\Comarch Retail POS\pos2db.bak
Standardowo POS instaluje się w lokalizacji:
c:\Nazwa profilu w AU\Comarch Retail\Comarch Retail POS
Aktualizacja oraz deinstalacja wersji powinna się odbyć również za pomocą Comarch Auto Update- akcje zaawansowane- odinstalowanie wskazanej wersji produktu.
Konfiguracja Stanowiska POS
Kreator nowego Oddziału POS
Konfiguracja stanowiska POS realizowana jest w module Administrator oddziałów.
Przed rozpoczęciem kreowania nowego oddziału należy dodać rejestry, które w kolejnych krokach będą przypisywane do oddziału POS.
Dodawanie rejestru bankowego
Rejestr kasowy musi być oddziałowy. Należy także przypisać operacje – przychodowe i rozchodowe przykładowo rozchód, przychód, które także powinny mieć zaznaczony czek „oddziałowe”.
Dodawanie operacji kasowo/bankowych
Na zakładce Raporty, przyciski są wyszarzone. Nie ma możliwości dodania raportu, ponieważ jest on tworzony samoistnie podczas dodawania operacji w systemie. Raport tworzy się gdy zsynchronizuje się pierwszy wpis do danego rejestru (KP/KW wystawione w POS) lub nastąpi synchronizacja dokumentu, który jest oznaczony jako opłacony (czyli na def. stanowiska POS nie ma zaznaczonego parametru „bez KP/KW” dla danego rejestru).
Do tej pory raporty kasowe do rejestrów oddziałowych Retail POS były otwierane podczas przesłania pierwszego zapisu kasowego i zamykane ręcznie po stronie Comarch ERP XL. Po zamknięciu raportu, przy kolejnej synchronizacji, otwierany był kolejny raport.
Aktualnie raport kasowy otwierany jest zgodnie z datą i godziną otwarcia sesji na danym stanowisku. Kolejne zapisy i rozliczenia dodawane są do otwartego raportu. W momencie zamknięcia sesji w Comarch Retail POS (zamknięcie dnia), w XL sprawdzane są zapisy kasowe i jeśli wszystkie zostały dodane do raportu, raport jest zamykany zgodnie z datą i godziną zamknięcia sesji na stanowisku POS. Podczas zamykania raportu następuje sprawdzenie czy wszystkie zapisy kasowe oraz rozliczenia dokumentów zostały dodane. Raport pozostaje niezamknięty do czasu wczytania poprawnie wszystkich zapisów z danego okresu (od otwarcia do zamknięcia sesji). Dodatkowo umożliwiono ręczne zamykanie raportów, które zostały otwarte na podstawie sesji na stanowisku POS, jednakże opcje te należy stosować awaryjnie.
W polu Numer raportu na raporcie kasowym otworzonym na podstawie sesji zapisywany jest numer sesji na stanowisku POS (wpis z tabeli SalesReports.Sessions pola Numberstring). Jeśli poprzedni raport został zamknięty ręcznie, nowy raport w polu Numer raportu będzie wyświetlał numer dokumentu.
Rejestr kasowy zakładka Raporty
W przypadku rejestru bankowego nie zaznaczamy czeku „oddziałowy”.
Jeśli POS ma mieć określoną inną grupę kontrahentów, należy utworzyć ją w XL. Taka grupa będzie w późniejszych krokach wskazywana w kreacji nowego oddziału POS.
Lista kontrahentów
Należy także dodać odpowiednie uprawnienia Operatorowi co szczegółowo opisane jest w Parametry operatorów (moduł Administrator).
Aby dodać nowy oddział typu Retail POS należy:
w Panelu głównym przejść na zakładkę [Oddziały] i wybrać opcję: Kreator nowego oddziału Comarch Retail POS,
lub w Panelu głównym przejść na zakładkę [Ogólne], wybrać opcję: Oddziały, na otwartej liście oddziałów w polu typ wskazać Comarch Retail POS a następnie przyciskiem plusa rozpocząć kreowanie nowego oddziału.
W pierwszym kroku kreatora należy wskazać jakie typy dokumentów mają być obsługiwane w POS – obecnie do wyboru są paragony i faktury oraz wybrać domyślny magazyn. Należy wskazać zwykły magazyn nie oddziałowy.
W drugim kroku należy ustawić parametry konfiguracyjne, które zostaną przesłane na wszystkie stanowiska POS danego oddziału.
Dołączenie nowego oddziału Comarch Retail POS do programu Comarch ERP XL
Zezwalaj na generowanie faktury do paragonu po terminie- – odznaczenie parametru powoduje blokadę wygenerowania faktury do paragonu na stanowisku POS, po upływie trzech miesięcy (90 dni) od końca miesiąca kalendarzowego, w którym wystawiono paragon.
Automatyczne zamykanie okna płatności- parametr umożliwia ustalenie, czy okno płatności ma być automatycznie zamykane, czy ręcznie zamykane. W przypadku odznaczonego parametru, po zatwierdzeniu płatności, okno pozostanie otwarte. Parametr domyślnie zaznaczony.
Przeliczaj dokumenty handlowe bez pytania- parametr pozwala na przeliczanie wartości na dokumencie handlowym bez wyświetlania komunikatu w przypadku zmiany kontrahenta, usuwaniu pozycji lub ilości artykułu.
Zezwalaj na minimalizację aplikacji- zaznaczenie tego parametru pozwala na możliwość minimalizacji okna programu POS, w przypadku braku zaznaczenia, nie mamy możliwości minimalizacji okna, aby przejść np. do okna widoku XL należy zamknąć okno widoku POS-tym samym wymuszając zakończenie pracy.
Blokada otwarcia wielu dokumentów handlowych- uniemożliwia otworzenie więcej niż jednego dokumentu handlowego na stanowisku POS, tj. paragonu, faktury itd.
Wymagana autoryzacja dla ujemnego stanu kasy- jeżeli jest zaznaczony, to próba osiągnięcia ujemnego stanu kasy wywołuje komunikat blokujący.
Generuj PW na brakujące towary- automatyczne generowanie dokumentu PW, gdy brak danego towaru na stanie
W trzecim kroku należy określić domyślne grupy towarów i kontrahentów, z których dane będą przekazywane do oddziału POS oraz domyślny cennik. Wybranie Grup głównych spowoduje wysyłanie wszystkich towarów i kontrahentów do oddziału. Oddzielnie należy wskazać grupę, do której będą trafiać kontrahenci dodani w POS.
W kroku czwartym dodawane jest Centrum w Strukturze firmy. Przyciskiem plusa należy dodać nowe Centrum, uzupełnić nazwę, opis, przypisać odpowiednią Pieczątkę firmy. Jeśli o w oddziale POS powinny być inne dane niż w centrali wówczas należy utworzyć nową Pieczątkę firmy dedykowaną dla oddziału POS.
Następnie należy dodać wszystkie rejestry, które będą później dostępne na oddziale. Rejestry typu kasa musza być oddziałowe. Kolejna zakładka Serie- jest wyszarzona, ponieważ serię dodajmy w ustawieniach oddziału w kolejnych krokach. Ceny- należy dodać dostępne cenniki, Rejestry VAT- sprzedaż i zakup oraz kolejno możliwość wybrania magazynów i operatorów.
Przed zapisaniem Centrum konieczne jest ustalenie na zakładce [Formy płatności], które z form płatności mają być widoczne w oddziale. Należy edytować żądaną formę płatności oraz zaznaczyć parametr – Dostępna w oddziale. Po zapisaniu okna Centrum następuje powrót do kreatora i zakończenie kreacji Oddziału.
Po zakończeniu kreacji Oddziału konieczne jest zdefiniowanie kolejnych ustawień w systemie.
Przy konfiguracji oddziału na zakładce Parametry został dodany parametr:
Logowanie – podpowiadanie nazwy użytkownika – zaznaczenie parametru spowoduje, że podczas logowania do aplikacji Comarch Retail POS będzie możliwe wybieranie operatorów z listy a po rozpoczęciu wpisywania loginu będą podpowiadane kody operatorów, którzy mogą pracować na danym stanowisku.
Oddział Retail POS zakładka Parametry
Uwaga
Uwaga: Stanowisko POS, dodane na oddziale musi mieć ustawione:
kod, nazwę i serię oddziałową
Nazwy, rejestry i parametry dla poszczególnych form płatności (udostępnionych w Centrum POS).
Parametry związane z operacjami kasowymi
Ustawieni drukarki fiskalnej i szuflady
Operatorów, którzy będą mogli logować się do POSa. Pierwsze logowanie z hasłem: admin, następnie klient może zmienić hasło z poziomu POSa
Listę dostępnych wydruków
Ustawienia oddziału Comarch Retail POS
Na zakładce [Waluty] należy ustawić walutę domyślną, w jakiej będzie pracował POS oraz waluty wraz z kursem, które będą konieczne np. w przypadku wysyłania cenników w walucie innej niż domyślna.
Aktualnie walutą domyślną jest PLN- bez możliwości zmiany.
Na zakładce [Stanowiska POS] należy dodać oddzielne stanowiska dla każdego punktu sprzedaży detalicznej pracującej z wykorzystaniem Comarch Retail POS. Jeśli uprzednio nie został dodany rejestr kasowy/bankowy należy go zdefiniować przed dodaniem stanowiska oraz ustalenie na nim na zakładce [Operacje] odpowiednich rodzajów operacji (przychodowych i rozchodowych). Rejestr bankowy nie może mieć zaznaczonego czeku „oddziałowy”.
W systemie można zdefiniować kilka stanowisk POS. Dla nowo dodanego stanowiska należy przypisać inny rejestr, który uprzednio musi być dodany w rejestrach kasowo bankowych oraz wybrany przy kreowaniu nowego oddziału w zakładce „rejestry”.
Wybór rejestru
Na zakładce [Synchronizacja] należy ustawić operatora z uprawnieniami do wystawiania dokumentów, który jest konieczny do zapisywania dokumentów i innych przesłanych z POS danych. Konieczne jest również wpisanie hasła, jeśli operator je posiada. Ten sam operator musi być dodany na zakładce [Operatorzy] Centrum powiązanego z odziałem POS.
Uwaga
Do ustawienia danych Operatora na zakładce Synchronizacja konieczne jest uruchomienie modułu Administrator Oddziałów w trybie Administratora.
Dla każdego stanowiska POS należy ustawić, kod, nazwę, serię. Seria musi być oddziałowa. Należy również pamiętać, aby dla ustalonej serii zaznaczyć na zakładce [Dokumenty] odpowiednie pozycje, czyli FS i PA. Seria musi mieć przypisane rejestry zakupu i sprzedaży.
Należy sprawdzić czy Seria ustawiła się na centrum oraz na definicjach dokumentów FS i PA jako domyślna.
W tabeli Formy płatności dostępne są te formy, które w Centrum mają zaznaczony parametr Dostępna w oddziale. Dla każdej formy płatności można ustalić nazwę, która będzie prezentowana w POS, rejestr, do którego mają trafiać zapisy wynikające z zapłaty daną formą, ustawić parametr Bez KP/KW, który określa, czy dana forma płatności ma powodować powstawanie zapisów KP/KW oraz parametr Wyczyść po zamknięciu sesji.
Na zakładce [Parametry] należy ustawić parametry związane z tym konkretnym stanowiskiem POS.
Stanowisko POS- zakładka Ogólne
Bez KP/KW oznacza, że do dokumentów z daną płatnością nie będą generowane dokumentu zapłaty KP/KW czyli dokument nie będzie rozliczony
Wyczyść po zamknięciu sesji powoduje zerowanie stanu kasy dla danej formy płatności po zamknięciu dnia. Zaznaczenie tego parametru jest niedostępne dla gotówki, dla której saldo zamknięcia równe jest saldu otwarcia na kolejny dzień.
Parametry na stanowisku POS
Generowanie KP/KW na różnicę przy otwarciu/zamknięciu dnia- parametr umożliwia wybór czy system ma automatycznie generować dokumenty KP/KW jeśli system wykryje różnicę w stanie gotówki na otwarciu/zamknięciu dnia
Zezwalaj na otwarcie/zamknięcie dnia bez podania stanu rzeczywistego- podczas otwierania aplikacji POS ukazuje nam się okno otwarcia dnia na którym widnieje podany stan początkowy kasy, waluta oraz stan rzeczywisty i różnica pomiędzy początkowym a rzeczywistym. Parametr zaznaczony daje możliwość zatwierdzenia otwarcia dnia bez podania stanu rzeczywistego w kasie.
Otwarcie dnia w Comarch Retail POS
Okno otwarcia dnia zostanie otworzone każdorazowo jeśli poprzednie zamknięcie aplikacji zakończyło się podsumowaniem dnia i opcją „zamknij dzień”.
Automatyczne zamknięcie dnia – umożliwia automatyczne zamknięcie dnia przez aplikację bez zliczania kasy na stanowisku sprzedażowym.
Godzina zamknięcia dnia – pozwala na ustalenie, o jakiej godzinie nastąpi automatyczne zamknięcie dnia. Domyślnie jest to 23:59.59. Pole jest aktywne, jeżeli parametr Automatyczne zamknięcie dnia jest zaznaczony.
Wydruk raportów zmianowych na drukarce fiskalnej – pozwala na drukowanie na drukarce fiskalnej raportów zmianowych przy zamykaniu zmiany lub dnia, a także przy podglądzie zapisanej zmiany kasjera lub raportu dziennego.
Wyświetlanie tylko dostępnych – pozwala na wyświetlanie na stanowisku POS tylko tych artykułów, które są aktualnie dostępne na magazynie.
Na zakładce [Urządzenia zewn.] należy wybrać rodzaj drukarki fiskalnej oraz określić, czy jest używana oraz w jaki sposób szuflada kasowa.
Na zakładce [Operatorzy] należy dodać tych operatorów, którzy będą mieli prawo pracy na danym stanowisku POS. Operator dodany do stanowiska POS automatycznie dodawany jest do Centrum powiązanego z danym oddziałem.
Na zakładce [Wydruki] znajdują się wszystkie wydruki wykorzystywane w Comarch Retail POS. Po podniesieniu wydruku możliwe jest oznaczenie, czy dany wydruk ma być wysyłany do POS.
Domyślnie parametr ten jest zaznaczony dla wydruków: Faktura sprzedaży, Paragon, Korekta ilościowa faktury sprzedaży, Korekta ilościowa paragonu, Operacje kasowe, Zamknięcie zmiany kasjera. Na zakładce tej znajduje się również parametr Drukowanie na domyślnej drukarce systemowej. Po jego zaznaczeniu nie będzie konieczności wskazywania drukarki, wydruk od razu trafi na drukarkę domyślna.
Konfiguracja Centrum
Na definicji Centrum w module Administrator, oprócz elementów zdefiniowanych podczas kreacji oddziału i dodawania stanowiska POS można dodać cenniki inne niż domyślne, oraz magazyny inne niż domyślne.
Parametry operatorów (moduł Administrator)
Prawa operatorów można przesyłać do stanowiska POS tylko w kontekście grup operatorów. W związku z tym prawa związane z operatorami należy definiować na wzorcu operatora, do którego jest przypięty. Uprawnienia operatorów zapisywane są na zakładce [POS] na wzorcu operatora.
Wzorzec operatora zakładka POS
Na zakładce tej można też przechowywać Profile POS. Profil POS, czyli własny zdefiniowany wygląd ekranu można wyeksportować z POS a następnie zapisać na liście Profili na wzorcu operatora. Dodane do listy profile wysyłane są do wszystkich operatorów przypisanych do danego wzorca.
Na karcie grupy operatorów, na zakładce POS został dodany domyślny profil o nazwie XL_POS_2019 przygotowany dla instalacji Comarch Retail POS współpracujących z Comarch ERP XL. Zdefiniowany domyślnie profil (motyw interfejsu) został tak przygotowany, aby po jego zsynchronizowaniu do POS dostępne były tylko te opcje, które mogą być realizowane w połączeniu POS z XL.
Użytkownicy, którzy wcześniej zdefiniowali własny profil, nadal pozostaną przy tym ustawieniu. Dla nich nie będzie dodawany domyślny profil XL_POS_2019.
Dostęp do konfiguracji – pozwala na otwarcie okna konfiguracji na stanowisku POS.
Konfiguracja interfejsu – jeżeli operator nie posiada tego uprawnienia to nie może modyfikować widoków okien na stanowisku POS.
Ręczne otwarcie szuflady – Pozwala na otwarcie szuflady specjalnym przyciskiem w dowolnym momencie a nie tylko podczas zatwierdzania dokumentów
Drukowanie raportu fiskalnego dobowego – umożliwia drukowanie raportu fiskalnego dobowego za pomocą przycisku [Raport dobowy], który znajduje się w oknie Raporty fiskalne na stanowisku POS wybraniu Rozliczenia→ Raporty fiskalne.
Drukowanie raportu okresowego – operator nieposiadający tego uprawnienia nie może korzystać z przycisku [Raport okresowy], który widoczny jest po wybraniu Rozliczenia → Raporty fiskalne.
Dodawanie i edycja kontrahenta – jeśli operator nie posiada tego uprawnienia to nie ma możliwości dodawania i edytowania kontrahentów na liście kontrahentów oraz dokumentach na stanowisku POS.
Edycja dokumentów innych operatorów – jeżeli operator nie posiada tego uprawnienia, to nie może edytować dokumentów wystawionych przez innych operatorów, które znajdują się na liście dokumentów niezatwierdzonych (nawet jeśli ma do nich dostęp).
Otwarcie zmiany z różnicą stanu kasy – umożliwia otwarcie zmiany, gdy występuje różnica pomiędzy stanem kasy w systemie, a stanem rzeczywistym podanym przez użytkownika. Jeśli uprawnienie jest nadane, to podczas otwierania zmiany będzie możliwość zatwierdzenia okna otwarcia zmiany bez względu na kwotę różnicy między stanem kasy wyliczonym przez system, a stanem rzeczywistym wprowadzonym przez użytkownika.
Zamknięcie zmiany bez wypłaty – zamknięcie zmiany odbywa się z domyślnie wpisaną kwotą wypłaty równą 0,00.
Przekroczenie limitu stanu kasy – operator ma możliwość przekroczenia limitu stanu kasy, w przypadku uruchomionej obsługi limitu stanu kasy (minimalnego, maksymalnego, ujemnego stanu kasy).
Oznaczenie dokumentów jako zafiskalizowane – funkcja używana do testów albo w przypadku awarii połączenia z drukarką w przypadku gdy paragon się wydrukował a ta informacja o fiskalizacji nie wróciła do POS, istnieje możliwość aby dokument oznaczyć jako zafiskalizowany lub ponownie go wydrukować (zafiskalizować).
Konfigurowanie Usługi synchronizacji POS
Synchronizacja ze stanowiskami POS odbywa się automatycznie za pomocą usługi synchronizacji POS.
Definiowanie usługi należy wykonać wybierając z Panelu głównego w module Administrator Oddziałów opcję Konfiguracja logowania automatu synchronizacji. Po wybraniu opcji j.w. należy wybrać przycisk: Synchronizacja jako usługa, który otworzy listę usług. Na liście należy wybrać opcję z menu rozwijanego przy przycisku plusa: Dodaj usługę synchronizacji POS. Na wyświetlonym oknie należy uzupełnić następujące dane:
Nazwa usługi – dowolna nazwa własna usługi (nie należy stosować polskich znaków, znaków specjalnych oraz spacji).
Konto usługi – należy wpisać nazwę użytkownika domenowego oraz hasło.
Klucz sprzętowy – należy podać nazwę serwera SQL, na którym zainstalowany jest serwis klucza oraz podać numer klucza posiadającego licencje na Comarch Retail POS.
Port – numer portu, na którym będzie pracować usługa- wprowadzony numer portu nie może być używany aktualnie w systemie.
Uwaga
Aby dodać usługę synchronizacji konieczne jest uruchomienie modułu Administrator oddziałów w trybie Administratora
Komunikat przy dodawaniu usługi Comarch Retail POS
Na zakładce [Oddziały] należy przypiąć te oddziały, które mają być synchronizowane za pomocą danej usługi. Możliwe jest dodawanie wielu usług w przypadku instalacji posiadających dużą ilość oddziałów z wieloma stanowiskami.
Okno konfiguracji Usługi synchronizacji POS
Wskazówka
Od wersji Comarch ERP XL 2020.2 po wycięciu sesji usługi synchronizacji Retail POS, co 30 sekund będzie sprawdzała czy bieżąca sesja jest aktywna, jeśli nie jest to nastąpi wylogowanie i ponowne zalogowanie wraz z utworzeniem nowej sesji.
Uruchomienie stanowiska POS
Po zainstalowaniu aplikacji Comarch Retail POS należy uruchomić aplikację. Podczas pierwszego uruchomienia następuje łączenie stanowiska w Comarch Retail POS ze stanowiskiem POS zdefiniowanym w Comarch ERP XL.
Uwaga
Uwaga: Przed uruchomieniem Comarcg Retail POS wymagane jest uruchomienie Usługi w Menadzerze zadań
Na oknie, które zostanie wyświetlone przy pierwszym uruchomieniu należy uzupełnić:
Kod stanowiska POS ustalony w XL (kod można zweryfikować w module Administartor Oddziałów, konfiguracja oddziału, zakładka stanowiska POS)
Adres i numer portu, na którym pracuje usługa synchronizacji.
Okno startowe Comarch Retail POS
Po poprawnym podaniu danych następuje pierwsza synchronizacja z oddziałem zdefiniowanym w XLu a następnie system przechodzi do logowania.
Należy podać login operatora przypisanego do danego stanowiska POS oraz hasło: admin.
Hasło należy zmienić po zalogowaniu do POS. Przy każdym uruchomieniu stanowiska POS odbywa się synchronizacja danych słownikowych i konfiguracyjnych z Comarch ERP XL.
Możliwe jest też wykonywanie ręcznej synchronizacji z poziomu aplikacji Comarch Retail POS po wybraniu opcji: Aktualizacja danych.
Uwaga
Uwaga: Przed uruchomieniem aplikacji należy zweryfikować czy konto domenowe, na którym działa usługa ma uprawnienia do logowania się w trybie usługi.
(Zasady zabezpieczeń lokalnych, folder zasady lokalne – przypisywanie praw użytkownika – logowanie w trybie usługi)
Zalecane jest, żeby użytkownik, na którym działa usługa, miał uprawnienia administracyjne Windows.
Przesyłanie danych do stanowisk POS
Na stanowiska POS wysyłane są następujące informacje:
Operatorzy przypisani do stanowiska
Parametry operatorów zdefiniowane na wzorcu operatora
Profile POS
Magazyny przypisane do stanowiska
Parametry zdefiniowane na stanowisku
Parametry zdefiniowane na oddziale
Waluty zdefiniowanie na oddziale wraz z kursami
Jednostki miary
Stawki VAT
Kontrahenci z grupy wskazanej na oddziale – pod uwagę brana jest grupa domyślna kontrahenta
Osoby kontrahenta
Adresy kontrahenta
Towary z grupy wskazanej na oddziale
Atrybuty i zdjęcia towarów
Cenniki
Stany magazynowe
Partie
Drzewa grup towarów i kontrahentów
Definicje dokumentów wraz z przypisaną serią
Pieczątka firmy
Rejestr kasowy i bankowy
Formy płatności
Wydruki
Odbieranie danych ze stanowisk POS
Stanowiska POS pracują w trybie on-line co oznacza, że dokumenty wystawione w POS bądź też nowo dodany kontrahent trafiają od razu do bazy Comarch ERP XL.
W przypadku braku połączenia informacje zostaną uzupełnione po ponownym nawiązaniu połączenia z XL.
Na POS współpracującym z XL można wystawiać paragony, faktury, korekty do paragonu i faktury, faktury do paragonów oraz dokumenty kasowe.
Do XL importowane są następujące dane:
Nowo dodani kontrahenci lub zmiana danych kontrahenta wraz z osobami i adresami
Zgody kontrahenta
Dokumenty handlowe (faktura, paragon, korekty do faktury i paragonu) – nie są obsługiwane korekty ręczne Dokumenty kasowe
Błędy dodawania zapisów do Comarch ERP XL można zobaczyć w opcji Log automatycznej synchronizacji. (Administrator Oddziałów- Ogólne)
Uwaga
Uwaga:
Dokumenty handlowe – POS można wystawiać tylko faktury i paragony, korekty do nich oraz spinacze do paragonów
Faktury mogą być wystawiane od netto (zależne od definicji dokumentu )
Numeracja dokumentów jest zgodna z ustawieniami w XL i zawsze z serią przypisaną do stanowiska (wspólna numeracja dla dokumentów i korekt!)
Zapisy kasowe – wpłaty i wypłaty ręczne, dokumenty otwarcia i zamknięcia dnia, automatyczne KP/KW do dokumentów tworzone po stronie Xla (ustawienie na stanowisku POS)
Sprzedaż poniżej stanów – możliwa jesli zaznaczony jest paarnetr -automatyczne tworzenie PW
Sprzedaż wg partii – towar widoczny kilka razy na liście towarów.
Przesyłanie podstawowych promocji do oddziałów Retail POS
Rabaty przesyłane do Retail POS
Uwaga
Przesyłanie informacji czy towar podlega rabatowaniu uzależnione jest od ustawienia parametru, który znajduje się na karcie towaru na zakładce Upusty, Nie stosuj żadnych upustów.
Aktualnie możliwe rabaty do przeslania to:
KNT (upusty globalne dla kontrahentów)
KNU (upusty na towary, grupy towarów dla kontrahenta)
PRM (promocje dla towaru), za wyjątkiem promocji pakietowych
WTR (promocje od wartości dokumentu)
Uwaga
Uwaga: Aby przesyłanie rabatów było możliwe konieczne jest współpraca z wersją Comarch Retali POS co najmniej 2019.5.1. W przypadku współpracy ze starszymi wersjami niektóre rabaty mogą nie działać poprawnie.
Ogólne zasady przesyłania promocji (rabatów)
Podstawowym kryterium jest Centrum, do którego przypięta jest promocja
Do oddziału Retail POS mogą zostać przesłane rabaty zdefiniowane dla Centrum powiązanego z oddziałem Retail POS lub dla centrum nadrzędnego w stosunku do Centrum powiązanego z oddziałem POS. W szczególności przesyłane będą rabaty zdefiniowane do Centrum Głównego (tzw. roota w Strukturze firmy). Promocje, które nie są związane z konkretnym Centrum czyli KNT i KNU będą wysyłane zawsze.
Kryterium kontrahentów
Przesyłane będą te rabaty, które zdefiniowane są dla grupy wskazanej na oddziale Retail POS jako grupa do eksportu lub importu kontrahentów lub grup podrzędnych w stosunku do niej.
Ustawienie Grupy kontrahentów dla promocji przeznaczonej dla wszystkich kontrahentów
Uwaga
Uwaga: W Comarch Retail POS rabaty na grupy kontrahentów wyliczane są inaczej niż Comarch ERP XL. Naliczany jest tylko ten rabat, który został zdefiniowany dla grupy ustawionej na karcie kontrahenta jako grupa domyślna, podczas gdy w XLu rabaty pochodzące z różnych grup są sumowane. Należy zwrócić uwagę na ten fakt podczas definiowania promocji, które mają być wysyłane do Comarch Retail POS.
Przesyłane będą również te promocje (rabaty), które zostaną zdefiniowane dla konkretnych kontrahentów tzn. te, które na zakładce [Kontrahenci] mają przypisanego przynajmniej jednego kontrahenta wysyłanego do oddziału Retail POS.
Kryterium towarów
Promocje na grupę towarów: przesyłane będą tylko te rabaty, które zdefiniowane są dla grupy towarów wskazanej w polu Eksport z grupy na oddziale Retail POS lub grup jej podrzędnych.
Uwaga
Uwaga: Jeśli promocja ma być zastosowana dla wszystkich towarów np. jest to promocja na Grupę Główną, natomiast w konfiguracji oddziału Retail POS jest wskazana inna grupa, wówczas konieczne jest dodanie tej grupy do promocji na zakładce [Towary].
Konfiguracja promocji działającej na wszystkie towary w Retail POS
Uwaga
Uwaga: W Comarch Retail POS rabaty na grupy towarów wyliczane są inaczej niż Comarch ERP XL. Naliczany jest tylko ten rabat, który został zdefiniowany dla grupy ustawionej na towarze jako grupa domyślna, podczas gdy w XLu rabaty pochodzące z różnych grup są sumowane. Należy zwrócić uwagę na ten fakt podczas definiowania promocji, które mają być wysyłane do Comarch Retail POS.