Konfiguracja funkcjonalności

Parametry

Kontrahenci

Kontrahenci

Dla systemu Comarch ERP Optima dodatkowo należy dokonać zmian w procedurze CDN.Mobile_Android_EksportKonfig (Programmability/StoredProcedures/ Mobile_Android_EksportKonfig).
Nazwa
parametru
OpisComarch ERP XLComarch ERP AltumComarch ERP Optima
ArchiveUsed
AddressAfter
Changing

1 – jeżeli nowododany adres kontrahenta został użyty to adres ten zostanie zarchiwizowany w przypadku jego zmiany przed synchronizacją do systemu ERP
0 – jeżeli nowododany adres kontrahenta został użyty to adres ten nie zostanie zarchiwizowany w przypadku jego zmiany (zostanie podmieniony na dokumencie) przed wysłaniem do systemu ERP

CanAddContractor
WithChecking
0 – po wybraniu opcji dodawania nowego kontrahenta, nie nastąpi weryfikacja kontrahenta w bazie systemu ERP (standardowe działanie aplikacji),
1 – po wybraniu opcji dodawania nowego kontrahenta, nastąpi weryfikacja kontrahenta w bazie systemu ERP, jeżeli kontrahent o wskazanym numerze NIP zostanie odnaleziony, dodanie kontrahenta w aplikacji o takim samym numerze NIP nie zostanie zablokowane,
2 – po wybraniu opcji dodawania nowego kontrahenta, nastąpi weryfikacja kontrahenta w bazie systemu ERP, jeżeli kontrahent o wskazanym numerze NIP zostanie odnaleziony, dodanie kontrahenta w aplikacji o takim samym numerze NIP zostanie zablokowane.
CanAddContractor0 – powoduje zablokowanie możliwości dodania kontrahenta w aplikacji
Context
Synchronization
0 – możliwość wywołania synchronizacji stanów dla pojedynczego towaru wyłączona
1 – możliwość wywołania synchronizacji stanów dla pojedynczego towaru włączona
EmailFlag (w pliku contractorstypes)1 – pole jest wymagane
2 – pole będzie dostępne do edycji
4 – zmiana pola wpłynie na zmianę adresu
IsContractorsCredit
LimitsValueVisible
0 - opcja ukrywania kwoty przyznanego i wykorzystanego limitu; ustawienie tej wartości parametru spowoduje ukrycie w aplikacji Comarch Mobile Sprzedaż informacji o kwotach limitów – pozostanie informacja o kwocie pozostającej do wykorzystania oraz przeterminowanej
1 - opcja pełnej prezentacji informacji o przyznanym limicie; dotychczasowe działanie aplikacji w zakresie wyświetlania kwot limitów kontrahenta
IsEditingSettlements
Enabled
0 – zmiana kwoty na raporcie KW – rozliczenie jest możliwa
1 – powoduje zablokowanie zmiany kwoty na raporcie KW – rozliczenie
IsHeadquarter
StocksVisible
0 – opcja podglądu informacji o stanach magazynowych z magazynów lokalnych w aplikacji Comarch Mobile Sprzedaż wyłączona, ukryte są wszelkie informacje dotyczące stanów magazynowych lokalnych firmy
1 – opcja podglądu informacji o stanach magazynowych z magazynów lokalnych (z centrali) w aplikacji Comarch Mobile Sprzedaż włączona; dotychczasowe działanie aplikacji w zakresie wyświetlania informacji o stanach magazynowych z centrali.
IsNewContractor
VatPayer
0– kontrahent synchronizowany do XL jako niepłatnik VAT
1 – kontrahent synchronizowany do XL jako płatnik VAT
IsSystemContractors
EditingEnabled
0 – powoduje zablokowanie możliwości edycji kontrahentów
LengthTIN13 – możliwość wprowadzenia maksymalnie 13 znaków w polu NIP dla kontrahenta (domyślnie)
20 – możliwość wprowadzenia maksymalnie 20 znaków w polu NIP dla kontrahenta
PhoneFlag (w pliku contractorstypes)1– pole jest wymagane
2– pole będzie dostępne do edycji
4 – zmiana pola wpłynie na zmianę adresu
URLFlag (w pliku contractorstypes)1 – pole jest wymagane
2 – pole będzie dostępne do edycji
4 – zmiana pola wpłynie na zmianę adresu

Dokumenty

Dla systemu Comarch ERP Optima dodatkowo należy dokonać zmian w procedurze CDN.Mobile_Android_EksportKonfig.
Nazwa
parametru
OpisComarch ERP XLComarch ERP AltumComarch ERP Optima
BlockAdding
Document

Parametr dostępny w procedurze Mobile_Android_EksportKnt
W zależności od tego jaką wartość przyjmie parametr dla określonego kontrahenta, zablokowane zostanie wystawianie w aplikacji następujących typów dokumentów:

1 – zablokowane wystawianie FS
2 – zablokowane wystawianie PAR
4 – zablokowane wystawianie WZ
8 – zablokowane wystawianie ZS
16 – zablokowane wystawianie OS
32 – zablokowane wystawianie RLS
64 – zablokowane wystawianie ZOS
Możliwe jest także sumowanie wartości parametru, np. jeżeli wartość parametru zostanie ustawiona na 48 wówczas dla kontrahenta zablokowane zostanie wystawianie dokumentów: OS oraz RLS.
CanAddDocument
OnlyOnVisit
1 – wystawianie dokumentów handlowych (WZ, PA, FS) jest niemożliwe
0 – wartość domyślna; wystawianie dokumentów handlowych (PA, FS) możliwe we wszystkich możliwych dostępnych poziomach w aplikacji
CanAddOrder
OnlyOnVisit
1 – wystawianie dokumentów FPF i RO jest niemożliwe
0 – wartość domyślna; wystawianie dokumentów FPF i RO możliwe we wszystkich możliwych dostępnych poziomach w aplikacji
CanChangeStartPrice1 – wartość domyślna; pozwala na edycję ceny początkowej (Jeśli wyłączona została możliwość edycji ceny, to pomimo wartości 1, operator nie będzie mógł zmienić ceny początkowej)
0 – brak praw do edycji ceny początkowej
2 – możliwość zmiany ceny początkowej tylko na nagłówku dokumentu
CanEditComplaint
ProcessingStatus
0 – powoduje zablokowanie możliwości edycji statusu realizacji
1 – powoduje możliwość edycji statusu realizacji
CanSetNon
CalendarIssueDate
0 – wartość domyślna; na nagłówku dokumentu ZS dostępny jest zakres dat tylko z kalendarza dostaw typu "Wysyłka".
1 - do wyboru są dostępne wszystkie terminy realizacji zamówienia.
ChangingContractor
OnDocumentPermission
(w pliku documentsnumerators)
1 – możliwość zmiany edycji płatnika na nagłówku dokumentu wystawianego w Mobile Sprzedaż
0 – brak możliwości zmiany edycji płatnika na nagłówku dokumentu wystawianego w Mobile Sprzedaż
IsBaseUnitVisible1 – (wartość domyślna) na liście towarów wyświetlona cena w jednostce pomocniczej oraz jednostce podstawowej,
0 – ilość wyświetlona tylko w jednostce domyślnej
IsCauseOfComplaint
RequiredField
Przyczyna reklamacji na dokumencie Reklamacji jest:
1 – wymagane,
0 – niewymagane
IsDocumentsFrom
SystemVisible
0 – powoduje zablokowanie widoczność dokumentów z systemu
IsEditing
SettlementsEnabled
1 – umożliwia zmianę kwoty rozliczonej kasy przez przedstawiciela handlowego
0 – wprowadza blokadę zmiany kwoty rozliczanej przez przedstawiciela handlowego
IsOnlyLower
PaymentFormsVisible
1 – opcja zmiany formy płatności na dokumentach w dół włączona;
0 – opcja zmiany formy płatności na dokumentach w dół wyłączona;
IsOrdersResources
ReservationVerified
0 – opcja weryfikacji zasobów dla zamówień zostanie wyłączona
1 – opcja weryfikacji zasobów dla zamówień zostanie włączona- dla potwierdzonych zamówień z aplikacji nastąpi w systemie ERP zakładanie rezerwacji dla pozycji zamówień
IsRealizationOf
ComplaintVisible
0 – widoczność realizacji reklamacji w aplikacji Comarch Mobile Sprzedaż wyłączona,
1 – (wartość domyślna) widoczność realizacji reklamacji włączona
IsTotalRealization
Enabled
1 – ZS będzie miało w systemie Comarch ERP XL zaznaczone pole „Realizuj w całości” i nie będzie możliwości częściowej realizacji,
0 – nie będzie możliwości całościowej realizacji ZS
MaxNumberOf
Descriptions
LinesInCart
Maksymalna ilość linii opisu wyświetlanych na towarze dodanym do koszyka:
0 – opis pozycji nie będzie wyświetlany na liście towarów dodanych do koszyka,
wartość całkowita większa od 0 – ilość linii opisu pozycji wyświetlanych na liście towarów dodanych do koszyka
MaxNumberOf
DescriptionsLines
InDocumentList
Maksymalna ilość linii opisu dokumentu wyświetlanych na liście dokumentów:
0 – opis nagłówka dokumentu nie będzie wyświetlany na liście dokumentów,
wartość całkowita większa od 0 – ilość linii opisu nagłówka dokumentu wyświetlanych na liście dokumentów
SalesInCollective
Package
0– jeżeli na karcie towaru jest wybrana jednostka zbiorcza dopełnia ilości wg np. karton
1– blokuje sprzedaż w niepełnych jednostkach
SurplusOn
BailReturns
1 – wartość domyślna, przy dokonywaniu zwrotu kaucji na korekcie WKK będzie możliwe wskazanie większej ilości towaru kaucjonowanego niż wynika to z korygowanych dokumentów WKA
0 – przy dokonywaniu zwrotu kaucji na korekcie WKK nie będzie możliwe wskazanie większej ilości towaru kaucjonowanego niż wynika to z korygowanych dokumentów WKA.
CanBlockActions
ForNewContractor
BeforeSynchronization
0 – wartość domyślna; dotychczasowe działanie aplikacji w zakresie wystawiania działań handlowych
1 – wystawianie działań handlowych przed synchronizacją nowo utworzonego kontrahenta jest zablokowane we wszystkich dostępnych poziomach w aplikacji
SynchronizationAfterIssuingADocument0 – synchronizacja podczas zatwierdzania dokumentu wyłączona (wartość domyślna)
1 – możliwość wywołania synchronizacji podczas zatwierdzania dokumentu włączona
SynchronizationBeforeIssuingADocument0 – synchronizacja przed wystawieniem dokumentu wyłączona (wartość domyślna)
1 – synchronizacja przed wystawieniem dokumentu włączona

Nagłówek dokumentu

Nazwa
parametru
OpisComarch ERP XLComarch ERP AltumComarch ERP Optima
IsReferenceNumberVisible0 – powoduje zablokowanie obsługi numeru obcego
CanChangePaymentForm0 – powoduje zablokowanie możliwości edycji formy płatności na nagłówkach dokumentów
CanChangePaymentDate0 – powoduje zablokowanie możliwości edycji terminu płatności na nagłówkach dokumentów
CanChangeIssueDate0 – powoduje zablokowanie możliwości edycji daty realizacji na nagłówkach dokumentów
CanChangeCreationDate0 – powoduje zablokowanie możliwości edycji daty wystawienia na nagłówkach dokumentów
ControlMinMarginWith ConstPricePromotionW zależności od wpisanych parametrów dla promocji typu stała cena powoduje:
1 – kontrolę marży minimalnej,
2 – ostrzeżenie, iż marża minimalna nie została osiągnięta,
3 – brak kontroli marży minimalnej
CanChangeCurrency1 – zmiana waluty możliwa, zmiana kursu waluty niemożliwa – wartość domyślna,
2 – zmiana waluty możliwa, zmiana kursu waluty możliwa,
0 – zmiana waluty niemożliwa, zmiana kursu waluty niemożliwa, wystawienie dokumentu możliwe tylko w walucie zdefiniowanej na karcie kontrahenta.

Działania

Nazwa
parametru
OpisComarch ERP XLComarch ERP AltumComarch ERP Optima
BlockDocumentEdit
AfterApproval

BlockCashRecordEdit
AfterApproval
0 – zezwala na edycję dokumentów oraz zapisów kasowych po zatwierdzeniu
1 – powoduje zablokowanie możliwości edycji dokumentów oraz zapisów kasowych po zatwierdzeniu
BlockOrderEdit
AfterApproval
0 – zezwala na edycję dokumentów (możliwość odtwierdzenia dokumentu) ZOS/OS/ZS
1 – powoduje zablokowanie możliwości edycji (odtwierdzania) dokumentów ZOS/OS/ZS
CanConfirmVisitWith
UnconfirmedDocument
Opcja odpowiedzialna za konfigurację tego czy można zatwierdzić wizytę, w ramach której został wystawiony dokument zapisany do bufora. W zależności od wartości parametru:
0 – jeżeli w ramach wizyty został wystawiony dokument o statusie „w buforze” wówczas zatwierdzenie wizyty nie będzie możliwe,
1 – jeżeli w ramach wizyty został wystawiony dokument o statusie „w buforze” wówczas zatwierdzenie wizyty będzie możliwe.
CanCopyVisits0 – powoduje zablokowanie kopiowania WH,
1 – będzie możliwość skopiowania niezrealizowanej WH,
2 – będzie istniała możliwość skopiowania każdej WH
CanCopyVisitsWithout
ActivePattern
0 – powoduje zablokowanie kopiowania WH jeżeli wzorzec jest niedostępny
CanCopyWeekly
VisitPlan
0 – brak możliwości kopiowania tygodniowego planu wizyt
1 – możliwość kopiowania tygodniowego planu wizyt
CanCopyDailyVisitPlan0 – brak możliwości kopiowania tygodniowego planu wizyt
1 – możliwość kopiowania tygodniowego planu wizyt
CanDeleteObject
RelatedTo
ConfirmedVisit
Opcja odpowiedzialna za konfigurację tego czy można usunąć obiekt powiązany z zatwierdzoną wizytą. W zależności od wartości parametru:
0 – jeżeli wizyta została zatwierdzona, usunięcie powiązanego z nią obiektu (dokumentu, zapisu kasowego) będzie niemożliwe,
1 – jeżeli wizyta została zatwierdzona, usunięcie powiązanego z nią obiektu (dokumentu, zapisu kasowego) będzie możliwe. Również usunięcie dokumentu w buforze z poziomu realizowanej/wstrzymanej wizyty będzie możliwe.
CanDelete
PlannedAction
0 – brak możliwości usuwania zaplanowanych działań CRM na urządzeniu mobilnym;
1 – możliwość usuwania zaplanowanych działań CRM na urządzeniu mobilnym; wartość domyślna
CanEdit
Synchronized
Actions
0 – powoduje zablokowanie możliwości przesunięcia działań zsynchronizowanych
CanPause
VisitRealization
0 – brak możliwości wstrzymywania realizacji wizyty
1 – włączona możliwość wstrzymywania realizacji wizyty
CanPlanVisits
WithoutPattern
0 – brak możliwości planowania wizyty bez określonego wzorca
1 – udostępniona możliwość planowania wizyty bez określonego wzorca
CanSend
AfterPlanning
0 – parametr „Wyślij po zaplanowaniu” jest odznaczony bez możliwości jego edycji w aplikacji mobilnej
1 – parametr „Wyślij po zaplanowaniu” jest zaznaczony bez możliwości jego edycji w aplikacji mobilnej
10 – parametr „Wyślij po zaplanowaniu” jest odznaczony z możliwością jego edycji w aplikacji mobilnej
11 – parametr „Wyślij po zaplanowaniu” jest zaznaczony z możliwością jego edycji w aplikacji mobilnej
CanSend
Merchandising
Realization
0 – brak możliwości zrealizowanego elementu typu Merchandising za pomocą opcji e-mail
1 – powoduje możliwość korzystania z funkcjonalności wysyłania zrealizowanego elementu typu Merchandising podczas realizacji wizyty, za pomocą opcji e-mail
CanSend
ReportsByEmail
0 – brak możliwości wysłania raportu html, ukrycie opcji „Odbiorca wysyłanych raportów”
1 – powoduje możliwość wysyłania raportu, dodanie w ustawieniach aplikacji opcji „Odbiorca wysyłanych raportów”
Encrypted0 – baza nie powinna być szyfrowana (zaznaczona domyślnie)
1 – baza powinna być szyfrowana
IsContactKind
ForMeeting
Required
Parametr techniczny różnicujący systemy ERP. Zmiany nie są zalecane.
IsContactsEnabled0 – powoduje zablokowanie widoczności kontaktów
IsContractors
Attribute
VisibleOnVisit
0 – opcja kopiowania atrybutu kontrahenta na element typu „Inny” wizyty wyłączona
1 – opcja kopiowania atrybutu kontrahenta na element wizyty typu „Inny” włączona, włączenie opcji spowoduje wyświetlanie na elemencie wizyty informacji dodatkowej z kartoteki kontrahenta, u którego realizowana jest wizyta
IsHeadquarter
StocksVisible
0 – powoduje wyłączenie możliwości podglądu stanów magazynowych
1 – powoduje włączenie możliwości podglądu stanów magazynowych
IsMeetingsEnabled0 – powoduje zablokowanie dodawania kontaktów
IsPrivateEvents
Enabled
0 – powoduje zablokowanie dodawania wydarzeń prywatnych
IsSettlements
Synchronization
OnVisitEnabled
0 – opcja automatycznej synchronizacji rozliczeń wyłączona, wysyłanie rozliczeń i raportów kasowych dopiero po opuszczeniu okna wizyty i ręcznego uruchomienia synchronizacji
1 – opcja automatycznej synchronizacji rozliczenia z poziomu realizacji elementu wizyty: Należności, włączenie opcji spowoduje, że po zakończeniu zadania, nastąpi automatyczne zamknięcie raportu kasowego i jego synchronizacja do systemu ERP
IsTasksEnabled0 – powoduje zablokowanie dodawania zadań
IsVisitsEnabled
0 – powoduje zablokowanie dodawania WH
RejectPlannedVisit
AfterCopy
0 – powoduje zablokowanie odrzucenia planowanej WH po skopiowaniu
RequireVisit
Confirmation
0 – WH tworzone w aplikacji są potwierdzone,
1 – WH tworzone w aplikacji wymagają potwierdzenia w systemie ERP
MaxNumberOfDescriptionsLinesInActionListMaksymalna ilość linii opisu działań wyświetlanych na liście działań w Terminarzu:
0 – opis działania nie będzie wyświetlany na liście działań,
wartość całkowita większa od 0 – ilość linii opisu działania wyświetlanych na liście działań
SynchronizationAfterEndingAVisit0 – synchronizacja podczas zakończenia wizyty handlowej wyłączona (wartość domyślna)
1 – synchronizacja podczas zakończenia wizyty handlowej włączona

Promocje

Nazwa
parametru
OpisComarch ERP XLComarch ERP AltumComarch ERP Optima
IsDiscounts
Visible
0 – powoduje zablokowanie widoczności wszystkich promocji naliczonych bądź zdefiniowanych w systemie ERP
1 – powoduje widoczność wszystkich promocji naliczonych bądź zdefiniowanych w systemie ERP
CanPreview
DiscountCards
0 – ukrywanie widoczności promocji z poziomu karty towaru/kontrahenta
CanChange
ElementToGratis
0 – powoduje zablokowanie obsługi elastycznego generowania promocji pakietowych
1 – powoduje możliwość skorzystania z obsługi elastycznego generowania promocji pakietowych
MaxDiscount
ControlType
Parametr decydujący o kontroli rabatu maksymalnego:
0 – mniej restrykcyjna
1 – bardziej restrykcyjna kontrola dla użytkownika
StartPrice
IncludesDiscounts
0 – cena początkowa nie zostanie pomniejszona o promocję
1 – cena początkowa zostanie automatycznie pomniejszona o promocję
CanUseMaxDisountForItems0 – oznacza brak obsługi maksymalnego rabatu dla towarów
1 – wartość domyślna, oznacza włączoną obsługę maksymalnego rabatu dla towarów
OnlyKNU
WhenCounting
StartPrice
0 – wyłączona opcja uwzględniająca tylko promocję KNU
1 – włączona opcja uwzględniania tylko promocji KNU - parametr ten działa na cenę początkową oraz rabat na liście
AddRequiredItemsForPackagePromotionToCart0 – opcja wyłączona
1 – Po akceptacji promocji pakietowej pojawi się komunikat „Towary wymagane w ramach zaznaczonej promocji zostaną dodane do koszyka” z przyciskiem OK, a następnie zostanie wyświetlone okno dodawania ilości dla wszystkich wymaganych towarów
2 – Po akceptacji promocji pakietowej pojawi się komunikat „Towary wymagane w ramach zaznaczonej promocji zostaną dodane do koszyka”, a następnie zostanie wyświetlone okno z „Kartą dodawania towarów wymaganych”

Inne

Nazwa
parametru
OpisComarch ERP XLComarch ERP AltumComarch ERP Optima
AccessTo
ConsentsTo
Processing
PersonalData
0 – zgody nie będą wyświetlane na karcie kontrahenta, ani też w sekcji Adresy/Kontakty jeżeli zgoda powiązana z adresem/kontaktem
1 – zgody będą wyświetlane na karcie kontrahenta, ani też w sekcji Adresy/Kontakty jeżeli zgoda powiązana z adresem/kontaktem
2 – możliwość dodawania nowych zgód
3 – możliwość wycofania zgody, na które wcześniej została wyrażona zgoda oraz możliwość dodawania nowych zgód
Attachment
Size Warning
Treshold
Rozmiar załącznika, przy którym ma pojawiać się ostrzeżenie o dużym rozmiarze dodanego załącznika. Domyślny rozmiar: 15MB.
Attachments
Send
Algorithm
Ustawienie dotyczące tego, czy dodany załącznik ma być przesyłany do centrali w postaci jednego pliku czy podzielony na paczki o określonej wielkości. Możliwe ustawienia parametru:
0 – załącznik zostanie przesłany w postaci jednego plik,
1 – załącznik podczas wysyłania zostanie podzielony na paczki o określonej wielkości.
Attachments
SendParcel
MaxSize
Rozmiar paczki podczas wysyłania załącznika. Domyślny rozmiar: 100KB.
ImageAttachmentSizeLimitUstawienie związane z rozmiarem załącznika o typie Zdjęcie. Możliwe ustawienia parametru:
0 - bez limitu
0_X - ograniczone do X megabajtów, gdzie X jest dodatnią liczbą naturalną mniejszą niż 100000
1 - 1MB (wartość domyślna)
2 - 500KB
3 - 3MB
AudioAttachmentSizeLimitUstawienie związane z rozmiarem załącznika o typie Nagranie. Możliwe ustawienia parametru:
0 - bez limitu
0_X - ograniczone do X megabajtów, gdzie X jest dodatnią liczbą naturalną mniejszą niż 100000
1 - 1MB (wartość domyślna)
2 - 3MB
3 - 5MB
FileAttachmentSizeLimitUstawienie związane z rozmiarem załącznika o typie Plik. Możliwe ustawienia parametru:
0 - bez limitu
0_X - ograniczone do X megabajtów, gdzie X jest dodatnią liczbą naturalną mniejszą niż 100000
1 - 5MB (wartość domyślna)
2 - 3MB
3 - 10MB
CanDelete
Synchronized
Attachment
Ustawienie dotyczące możliwości usuwania załączników zsynchronizowanych z systemu ERP lub dodanych w aplikacji, ale już wysłanych do systemu ERP. W zależności od wartości parametru:
0 – edycja załącznika zsynchronizowanego z systemu ERP lub dodanego w aplikacji ze statusem zsynchronizowano lub wysłano niemożliwa
1 – edycja załącznika zsynchronizowanego z systemu ERP lub dodanego w aplikacji ze statusem zsynchronizowano lub wysłano możliwa
CanEdit
Synchronized
Attachment
Ustawienie dotyczące możliwości edycji załączników zsynchronizowanych z systemu ERP lub dodanych w aplikacji, ale już zsynchronizowanych do systemu ERP. W zależności od wartości parametru:
0 – edycja załącznika zsynchronizowanego z systemu ERP lub dodanego w aplikacji ze statusem zsynchronizowano niemożliwa
1 – edycja załącznika zsynchronizowanego z systemu ERP lub dodanego w aplikacji ze statusem zsynchronizowano możliwa
CanSend
Attachment
Parametr dotyczący opcji: „Przesyłaj do centrali” przy dodawaniu załącznika, możliwe wartości parametru:
0 – parametr „Przesyłaj do centrali” jest odznaczony bez możliwości jego edycji w aplikacji mobilnej
1 – parametr „Przesyłaj do centrali” jest zaznaczony bez możliwości jego edycji w aplikacji mobilnej
10 – parametr „Przesyłaj do centrali” jest odznaczony z możliwością jego edycji w aplikacji mobilnej
11 – parametr „Przesyłaj do centrali” jest zaznaczony z możliwością jego edycji w aplikacji mobilnej
Save
Attachments
OnAdditional
Database
0 – wartość domyślna, zdjęcia zapisywane zgodnie z dotychczasowym mechanizmem w pamięci urządzenia lub w pamięci zewnętrznej
1 – zdjęcia zostaną zamieszczone w osobnej bazie danych
Automatic
Veryfication
VatStatus
OnDocument
1 – weryfikacja (podczas zapisu/ zatwierdzenia FS/FSL) kontrahenta czy jest aktywnym płatnikiem VAT
0 – brak weryfikacji czy kontrahent jest aktywnym płatnikiem VAT
BlockDocument
EditAfterPrint
0 – domyślna wartość; możliwość usunięcia/edycji dokumentu lub zapisu kasowego pomimo jego wydrukowania
1 – brak możliwości usunięcia/edycji dokumentu lub zapisu kasowego pomimo jego wydrukowania
BlockSelect
OptionOn
CashRecord
FromHand
Blokada wystawiania KP/KW na Kontrahent/Inny/Ode mnie/Do mnie na kafelku Kasa/Dzień
0 – Przy wyborze typu podmiotu na KP/KW, dostępne są opcje: Kontrahent/Inny/Ode mnie (KP)/Dla mnie (KW)
1 – Dostępne opcje: Inny/Ode mnie (KP)/Dla mnie (KW)
2 – Dostępne opcje: Kontrahent/Ode mnie (KP)/Dla mnie (KW)
3 – Dostępne opcje: Ode mnie (KP)/Dla mnie (KW)
4 – Dostępne opcje: Kontrahent/Inny
5 – Dostępne opcje: Inny
6 – Dostępne opcje: Kontrahent
7 – Całkowita blokada wystawiania KP/KW z ręki
CanAddValues
ToOpenList
1 – Możliwość dodania nowej wartości do listy cech
2 – Brak możliwości dodania nowej wartości (lista zdefiniowana w systemie)
CanChange
Additional
CustomerStatus
1 – obsługa statusu kontrahenta Płatnik VAT
2 – obsługa statusu kontrahenta Rolnik ryczałtowy
3 – obsługa statusu kontrahenta Płatnik VAT i Rolnik ryczałtowy
CanChange
AttribuesOn
Synchronized
Documents
1 – możliwość zmiany wartości atrybutu na nagłówku zsynchronizowanego/wysłanego dokumentu
0 – blokada zmiany wartości atrybutu na nagłówku zsynchronizowanego/wysłanego dokumentu
CanChange
ItemsView
0 – brak możliwości zmiany domyślnego widoku towarów, domyślnie ustawiony widok Katalogowy
1 – brak możliwości zmiany domyślnego widoku towarów, domyślnie ustawiony widok Listy
10 – możliwa zmiana domyślnego widoku towarów, domyślnie ustawiony widok Katalogowy
11 – możliwa zmiana domyślnego widoku towarów, domyślnie ustawiony widok Listy (wartość domyślna parametru)
CanChange
VatStatus
OnContractor
1 – możliwość ręcznej zmiany parametru „Płatnik VAT” na karcie kontrahenta
0 – blokada ręcznej zmiany parametru „Płatnik VAT” na karcie kontrahenta
CarGuard1 – określenia stanu licznika samochodu w Podsumowaniu Dnia wymagane tylko na starcie dnia
2 – określenia stanu licznika samochodu w Podsumowaniu Dnia wymagane tylko na zakończenie dnia
3 – określenia stanu licznika samochodu w Podsumowaniu Dnia wymagane na starcie i na zakończeniu dnia
IsActual
Balance
Required
1 – nie zezwala na zamknięcie/otwarcie dnia bez podania stanu rzeczywistego kasy
0 – zezwala na zamknięcie/otwarcie dnia bez podania stanu rzeczywistego kasy
IsAdditional
CostsEnabled
0 – Obsługa kosztów dodatkowych jest wyłączona, wartość domyślna
1 – Obsługa kosztów dodatkowych jest włączona
IsFeatures
OnComplaint
Enabled
0 – brak możliwości określenia cechy na kalkulacji pozycji dokumentu RLS (Altum)
1 – możliwe określenie cechy towaru na kalkulacji pozycji dokumentu RLS (XL)
IsGenerating
Settlement
WhenClosing
TheCashReport
Enabled
1 – automatyczne generowanie KW/KP na różnicę przy zamknięciu raportu kasowego
0 – brak automatycznego generowania KW/KP na różnicę przy zamknięciu raportu kasowego
IsItemsFeatures
Enabled
0 – Brak obsługi cech
1 – Obsługa cech w aplikacji
IsOdometer
Reading
RequiredField
Ustawienie dotyczące tego, czy podczas rozpoczęcia dnia, zmiany samochodu oraz zakończenia dnia ma zostać wymuszone podanie bieżącego stanu licznika. W zależności od wartości parametru:
0 – podanie bieżącego stanu licznika w sytuacji: rozpoczęcia dnia, zmiany samochodu, zakończenia dnia nie zostanie wymuszone,
1 – podanie bieżącego stanu licznika w sytuacji: rozpoczęcia dnia, zmiany samochodu, zakończenia dnia zostanie wymuszone (przejazd zostanie dodany tylko w momencie zakończenia dnia)
IsStartDay
Required
0 – domyślna wartość; nie wymagane rozpoczęcie dnia
1 – włączone sprawdzanie i wymagalność rozpoczęcia dnia
IsVisible
OnList
Parametr dotyczy widoczności atrybutów na liście towarów/kontrahentów/dokumentów i ustawiany jest na klasie danego atrybutu (procedura AttributesClasses). W zależności od wartości:
1 – atrybut będzie widoczny na liście towarów,
0 – atrybut nie będzie widoczny na liście towarów
Printout
Counter
Option
1 – do licznika wydruków brane są tylko dokumenty, które zostały wydrukowane przez opcję „Wyślij do drukarki” lub „Drukuj”; wartość domyślna
2 – do licznika wydruków brane są tylko dokumenty, które zostały wydrukowane przez opcję „Wyślij jako e-mail”
3 – do licznika wydruków brana są tylko dokumenty zarówno wydrukowane przez opcję „Wyślij do drukarki” lub „Drukuj” oraz opcję „Wyślij jako e-mail”
ShowColumns
OnReports
0 – wyświetla się okno z wszystkimi parametrami raportu w kolejności: kolumny domyślne, kolumny dodatkowe (kolejność wyświetlania kolumn dodatkowych zależy od kolejności atrybutów na karcie raportu w Comarch ERP XL)
1 – wyświetla się okno z wymaganymi parametrami domyślnymi oraz wszystkimi parametrami dodatkowymi
2 – wyświetla się okno tylko z wymaganymi parametrami (domyślnymi i dodatkowymi)
UseShortened
Element
1 – Wyświetla się mała kalkulacja, brak możliwości zmiany ustawień w aplikacji
0 – Wyświetla się od razu duża kalkulacja, brak możliwości zmiany ustawień w aplikacji
11 – Wyświetla się mała kalkulacja, użytkownik ma możliwość zmiany ustawień w aplikacji
10 – Wyświetla się od razu duża kalkulacja, użytkownik ma możliwość zmiany ustawień w aplikacji
PricesOnItemsInvisible0 – standardowe działanie aplikacji,
1 – ukrycie cen na karcie towaru oraz na liście oferowanych towarów
ForceHidingPrices0 – standardowe działanie aplikacji,
1 – ukrycie wartości na liście dokumentów dla dokumentów potwierdzonych dotyczących danego typu dokumentu oraz ukrycie wartości dla dokumentów potwierdzonych z poziomu wizyty elementu Rejestracja dokumentu dla danego typu dokumentu
SynchronizationNotifications (X,Y)0 – powiadomienia o synchronizacji wyłączone (wartość domyślna)
X – liczba całkowita podawana w minutach określająca interwał czasu, po jakim pojawi się powiadomienie o synchronizacji
Y – liczba całkowita podawana w minutach określająca interwał czasu po jakim wyświetli się przypomnienie o odłożonej synchronizacji (w sytuacji, gdy użytkownik wybierze przycisk [Odłóż] w dowolnym miejscu aplikacji)
SynchronizationAfterLoggingIntoApplication0 – synchronizacja w momencie logowania wyłączona (wartość domyślna)
1 – synchronizacja w momencie logowania włączona. Pełna synchronizacja rozpocznie się automatycznie po zalogowaniu użytkownika do aplikacji.

Rozszerzalność aplikacji

Aplikacja Comarch Mobile umożliwia modyfikację standardowego wyglądu oraz działania aplikacji poprzez integrację z zewnętrzną aplikacją. Możliwości, jakie daje funkcjonalność to:
  • rozszerzanie górnego paska aplikacji (ActionBara) w głównym oknie listy kontrahentów o nowe elementy,
  • rozszerzanie ActionBara w oknie dokumentu, pozycji dokumentu, raportu, terminarza, zlecenia serwisowego, czynności serwisowych o nowe elementy,
  • rozszerzanie dużej kalkulacji pozycji na dokumentach (ukrywanie kontrolek, dodawanie nowych, modyfikacja istniejących np. poprzez zmianę tekstu lub koloru),
  • rozszerzanie karty kontrahenta (ukrywanie kontrolek, dodawanie nowych oraz modyfikacja istniejących).
Więcej informacji i rozszerzalności aplikacji znajduje się TUTAJ.

Ukrywanie i zmiana kolejności elementów w aplikacji

Istnieje możliwość ukrywania oraz zmiany kolejności elementów aplikacji. Poszczególne elementy można ukrywać dokonując zmian w pliku ListPositions, znajdującym się w katalogu: C:\Program Files (x86)\Comarch Mobile\Serwer synchronizacji\ViewsConfiguration. Poszczególne sekcje w pliku odpowiadają za ukrywanie:
  • elementów menu głównego aplikacji:
<activity name=”comarch.mobile.vendor.core.activities.MainActivity”>
  • danych na karcie kontrahenta:
<activity name=”com.comarch.mobile.vendor.core.adapters.ContractorAdapter”>
  • danych na karcie dodawania nowego kontrahenta:
<activity name=”com.comarch.mobile.vendor.core.fragments.AddContractorFragment”>
  • danych na dokumencie:
<activity name=”com.comarch.mobile.vendor.documents.adapters.DocumentHeaderAdapter”>
  • danych na pozycji dokumentu:
<activity name=”com.comarch.mobile.vendor.documents.controls.DocumentPositionHeaderLinearLayout”>
  • danych na pozycji dokumentu RLS:
<activity name=”com.comarch.mobile.vendor.documents.controls.ComplaintDocumentPositionHeaderLinearLayout”>
Przykład
Aby ukryć element menu głównego Dzień należy zmienić wpis “VISIBLE” na “INVISIBLE”, np: <position name="DAY" visibility="INVISIBLE" />
Jeżeli natomiast chodzi o zmianę kolejności elementów w aplikacji, to należy zmienić kolejność wierszy w pliku ListPositions. Po wykonaniu synchronizacji elementy w aplikacji powinny wyświetlić się w nowej kolejności. Istnieje także możliwość przypisania konkretnego widoku aplikacji dla konkretnego użytkownika. W tym celu należy w katalogu ViewsConfiguration utworzyć nowy folder o nazwie danego użytkownika i wkleić zmodyfikowany plik ListPositions.xml.
Przykład
Uproszczenie menu głównego do takiego jakie było w pierwszej wersji aplikacji Comarch Mobile Sprzedaż (widoczne elementy: Kontrahenci i Terminarz) Fragment pliku ListPosition po zmianach: <activity name="com.comarch.mobile.vendor.core.activities.MainActivity"> <position name="DAY" visibility="INVISIBLE" /> <position name="CALENDAR" visibility="VISIBLE" /> <position name="CONTRACTORS" visibility="VISIBLE" /> <position name="MESSAGES" visibility="INVISIBLE" /> <position name="SERVICE" visibility="INVISIBLE" /> <position name="DOCUMENTS" visibility="INVISIBLE" /> <position name="ITEMS" visibility="INVISIBLE" /> <position name="CASH" visibility="INVISIBLE" /> <position name="REPORTS" visibility="INVISIBLE" /> <position name="SYNC" visibility="VISIBLE" /> <position name="SYNCSTATE" visibility="VISIBLE" />
Uwaga
Od wersji 2017.1 Comarch Mobile został zmieniony domyślny układ kafli menu głównego aplikacji – zgodnie z przykładem zaprezentowanym powyżej.

Dodawanie niestandardowego filtra do listy

Uwaga
Funkcjonalność dodawania niestandardowego filtra do listy nie jest dostępna dla użytkowników korzystających z systemu Optima w modelu usługowym (ASP).
 

Dodawanie filtra

W celu dodania niestandardowego filtra do listy towarów lub kontrahentów należy przygotować odpowiedni plik xml i umieścić go na serwerze synchronizacji.
Wskazówka
Definicje filtrów znajdują się domyślnie w katalogu: C:\Program Files (x86)\Comarch Mobile\Serwer synchronizacji\CustomFilters.
 

Usuwanie filtra

Aby usunąć dodany filtr należy zmienić jego ID na ujemne, następnie zmienić datę modyfikacji (np. poprzez ponowne zapisanie pliku z filtrem) i wykonać synchronizację.
Nazwa usuwanej definicji filtra
 

Elementy składowe filtra

Każda definicja filtra składa się z klauzuli wstępnej języka xml: <?xml version="1.0" encoding="UTF-8"?>, po której w sekcji customFilter z parametrem objectType o odpowiedniej wartości: contractorsList (filtr pojawi się na liście kontrahentów) lub itemsList (filtr pojawi się na liście towarów) następują wymienione poniżej sekcje:
  • joinClause (np. JOIN Visits ON Contractors.Id = Visits.ContractorId)
  • whereClause (np. Visits.PlannedStartDate &lt; @@CUSTOM_FILTER_VALUE@@)
  • groupByClause (np. Visits.ContractorId)
  • havingClause
  • inputType (możliwe wartości: text, date)
Sekcje te (oprócz inputType) są częścią zapytania wykonywanego przez aplikację mobilną w celu wyświetlenia elementów listy towarów bądź listy kontrahentów (np. SELECT * FROM Contractors [joinClause] [whereClause] [groupByClause] [havingClause]). Wartość parametru inputType podawana przez użytkownika aplikacji po wyborze filtra pobierana jest do zapytania SQL za pomocą parametru @@CUSTOM_FILTER_VALUE@@.
Uwaga
Podczas synchronizacji definicji filtrów na urządzenie brana jest pod uwagę data modyfikacji pliku. W celu wymuszenia synchronizacji filtra należy wykonać dowolną modyfikację i zapisać ponownie plik z definicją.
 

Przykład

Poniższa definicja filtra pozwala na wyświetlanie na liście kontrahentów tylko tych, na których zostały wystawione dokumenty z datą realizacji późniejszą niż wskazana w parametrze filtra.
<?xml version="1.0" encoding="UTF-8"?>

<customFilter objectType="contractorsList">
<joinClause>LEFT JOIN Documents ON Contractors.Id = Documents.MainContractorId</joinClause>
<whereClause>Documents.ExecutionDate &gt; '@@CUSTOM_FILTER_VALUE@@'</whereClause>
<inputType>date</inputType>
</customFilter>    
Tak zdefiniowany filtr zapisany w katalogu CustomFilters pod nazwą 2#Data realizacji po.xml, po synchronizacji w aplikacji mobilnej prezentuje się w następujący sposób:
Widok utworzonego filtra w aplikacji

Obsługa podatku cukrowego z systemem Comarch ERP Optima

W celu poprawnej obsługi opłaty cukrowej w aplikacji Comarch Mobile zintegrowanej z systemem Comarch ERP Optima w wersji 2021.1.1, w systemie ERP w sekcji Konfiguracja/Firma/Magazyn/Opłata cukrowa należy zaznaczyć parametr Opłata cukrowa, natomiast nie należy zaznaczać parametru Powiększaj cenę o kwotę opłaty cukrowej. Dodatkowo należy odpowiednio wypełnić informacje na karcie towaru służące wyliczeniu opłaty cukrowej. Więcej informacji nt. odpowiedniej konfiguracji w systemie Comarch ERP Optima znajduje się TUTAJ .
Konfiguracja opłaty cukrowej przy współpracy z Comarch Mobile.
 
Uwaga
Aby ceny podwyższone o wartość podatku cukrowego były widoczne w Comarch Mobile, należy odpowiednio podwyższyć cennik w systemie Comarch ERP Optima (podatek cukrowy nie doliczy się automatycznie do cenników Comarch Mobile).
Do aplikacji mobilnej zostaną pobrane cenniki powiększone o opłatę cukrową. W momencie wystawiania dokumentów w aplikacji dodatkowa sekcja przedstawiająca wysokość opłaty cukrowej nie będzie widoczna. Do systemu ERP wysyłane będą dokumenty handlowe, gdzie na poszczególnych pozycjach znajduje się sekcja Cukier informująca o wysokości opłaty.
Zakładka "Cukier" przedstawiająca wartość opłaty cukrowej na pozycji.
 

Maksymalny rabat z karty towaru z systemu ERP

Istnieje możliwość ograniczenia wielkości rabatu, jaki operator może nadać pozycji towarowej niezależnie od rabatów wynikających z obowiązujących promocji. Dzięki tej funkcjonalności, firma może zdefiniować wielkość rabatu pozycji towarowej, jaki maksymalnie może pracownik nadać (obniżyć cenę towaru) podczas wystawiania dokumentów. Konfiguracja tej funkcjonalności została opisana TUTAJ. Przy próbie nadania rabatu przekraczającego rabat maksymalny, w przypadku parametru CanUseMaxDisountForItems: „1” (został on opisany TUTAJ) pojawia się komunikat informujący, jaką wartość rabatu może nadać operator. Brany jest pod uwagę rabat z karty towaru oraz rabat nadany w ramach promocji. Jeżeli maksymalny rabat dla towaru wynosi 5%, a rabat z promocji na artykuł 20%, to dozwolonym maksymalnym rabatem będzie rabat o wartości 5%.
Komunikat o przekroczeniu maksymalnego rabatu
W przypadku próby nadania rabatu przekraczającego rabat maksymalny, przy włączonej kontroli w aplikacji: pojawia się komunikat: „Dozwolony maksymalny rabat:…”

Wydruki

Definicje wydruków

W aplikacji zostały przygotowane przykładowe wydruki, które można dowolnie modyfikować i dostosowywać do wymagań Klienta.
Wskazówka
Definicje wydruków dokumentów znajdują się domyślnie w katalogu: C:\Program Files (x86)\Comarch Mobile\Serwer synchronizacji\Printouts.
Wskazówka
Definicje wydruków raportów znajdują się domyślnie w katalogu: C:\Program Files (x86)\Comarch Mobile\Serwer synchronizacji\Printouts i podkatalogu odpowiednim dla systemu ERP, np. xl11.
Każdy wydruk składa się z trzech części:
  • Data – zapytania wyciągające dane wykorzystywane na wydruku,
  • Layout – układ wydruku,
  • Style – styl wydruku (czcionki, kolory itp.).
Uwaga
Podczas synchronizacji definicji wydruków na urządzenie brana jest pod uwagę data modyfikacji pliku. W celu wymuszenia synchronizacji wydruku należy wykonać dowolną modyfikację.
 

Dodanie nowej definicji wydruku dokumentu

Aby dodać nowy wydruk należy utworzyć jego definicję tworząc pliki Data, Layout i Style, następnie zapisać je w formacie xml. Istnieje możliwość dodania kilku definicji dla jednego dokumentu. Przykładowo dla dokumentu Zamówienie Sprzedaży istnieje standardowa definicja składająca się z plików:
  • 1#SalesOrder#data#Wydruk_domyślny.xml
  • 1#SalesOrder#layout#Wydruk_domyślny.xml
  • 1#SalesOrder#style#Wydruk_domyślny.xml
Należy dodać nową zmodyfikowaną definicję zmieniając w nazwie plików liczbę 1 na taką, która wśród definicji nie istnieje oraz frazę Wydruk_domyślny na wybraną przez siebie nazwę definicji, np:
  • 45#SalesOrder#data#Mój_wydruk.xml
  • 45#SalesOrder#layout#Mój_wydruk.xml
  • 45#SalesOrder#style#Mój_wydruk.xml
Po tych czynnościach podczas wydruku dokumentu mamy możliwość wyboru definicji wydruku:
Wybór definicji wydruku
Uwaga
W przypadku zapisu definicji wydruku w Notatniku należy wybrać kodowanie UTF-8.

Dodanie nowej definicji wydruku raportu

W celu dodania definicji wydruku raportu w katalogu Printouts i podkatalogu odpowiednim dla systemu ERP należy utworzyć pliki Data, Layout i Style zawierając w nazwie Id raportu z katalogu Reports serwera synchronizacji. Przykładowo, aby utworzyć definicję wydruku dla raportu Sprzedaż w okresach należy raport ten odszukać w katalogu Reports, nosi on nazwę 3#SalesInPeriods#pol.xml. Kolejno w katalogu Printouts i odpowienim podkatalogu utworzyć jego definicję tworząc pliki data, layout i style zawierając w nazwie jego Id:
  • 46#Report#data#3#Moj_wydruk.xml
  • 46#Report#layout#3#Moj_wydruk.xml
  • 46#Report#style#3#Moj_wydruk.xml
Po tych czynnościach w aplikacji pojawi się możliwość wydruku raportu Sprzedaż w okresach.

Usunięcie definicji wydruku

Aby usunąć istniejący wydruk, należy zmienić ID wszystkich jego elementów na ujemne, następnie zmienić datę modyfikacji i wykonać synchronizację.  
Zmiana ID wydruku na ujemne

Licznik wydruków

Funkcjonalność licznika wydruków PDF umożliwia ewidencjonowanie wydrukowanych dokumentów danego typu. Dzięki niej będzie można sprawdzić na bazie mobilnej, które dokumenty zostały wydrukowane i ewentualnie według potrzeby będzie można zablokować możliwość edycji już wydrukowanych dokumentów. Dla potrzeb funkcjonalności na bazie mobilnej została dodana tabela RealizedPrintout, w której można odszukać dokładną datę i godzinę wydruku, rodzaj obiektu, liczbę kopii itp. Informację o liczbie wydruków będzie można wykorzystać w raportach, np. ilość wydrukowanych dokumentów ZS danego dnia.

Dodatkowe informacje na wydrukach

Na wszystkich wydrukach dostępnych z poziomu aplikacji wprowadzone są dodatkowe informacje, które dotyczą:
  • numeru wydruku,
  • identyfikatora określającego, że wydruk został stworzony w aplikacji mobilnej,
  • liczby kopii wydruku,
  • identyfikatora operatora.
Dodatkowe dane pozwalają na dokładniejszą weryfikację wydruków wykonanych z poziomu aplikacji przez przedstawicieli.

Źródło danych

Wydruk do pdf

Źródło danych dla wydruku musi zostać umieszczone w pliku o nazwie Data.xml. Głównym elementem w pliku jest sekcja data wewnątrz której musi się znaleźć dokładnie jeden element setf. Wewnątrz elementu setf musi się znaleźć jeden lub więcej elementów set. Każdy element set reprezentuje jeden zbiór danych (wynik jednego zapytania SQL). Musi on zawierać dwa elementy podrzędne: name – który określa nazwę zbioru oraz query, które definiuje zapytanie SQL wykonywane na mobilnej bazie danych aplikacji Comarch Mobile.  
Uwaga
Prezentowane zapytania SQL mogą różnić się w zależności od wersji aplikacji Comarch Mobile.
  Przykład standardowego pliku data.xml występującego w definicji wydruku dokumentu Zamówienie Sprzedaży (1#SalesOrder#data#Wydruk_domyślny.xml):
Przykład
<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE data PUBLIC "//UNKNOWN/" "unknown.dtd"> <data> <setf> <set> <name>Header</name> <query> ... </query> </set> <set> <name>DocumentsPositions</name> <query> ... </query> </set> <set> <name>VatAggregation</name> <query> ... </query> </set> <set> <name>Logo</name> <query>SELECT Data FROM PrintoutsImages WHERE Name='logo.png'</query> </set> <set> <name>FooterAppVersionNumber</name> <query> SELECT MajorVersion AS MajorVersion, MinorVersion AS MinorVersion, BuildVersion AS BuildVersion FROM Packages </query> </set> <set> <name>FooterOperatorCode</name> <query> SELECT Name AS OperatorCode FROM Users </query> </set> <set> <name>FooterCopyNumber</name> <query> SELECT CASE WHEN COUNT(Number) = 0 THEN 1 ELSE COUNT(Number) + 1 END AS Numbers FROM Documents INNER JOIN RealizedPrintouts rp ON(Documents.Number = rp.DocumentNumber) WHERE Documents.Id=@Id@ </query> </set> </setf> </data>

 

Wydruk termiczny

Jedyną różnicą w definicji pliku data.xml dla wydruków termicznych względem definicji wydruku do pdf jest brak elementu setfPrzykład takiego wydruku (11#SalesOrder#data#Thermal#Vline112#Wydruk_domyślny.xml) wygląda nastepująco:
Przykład
<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE data PUBLIC "//UNKNOWN/" "unknown.dtd"> <data> <set> <name>Header</name> <query> ... </query> </set> <set> <name>DocumentsPositions</name> <query> ... </query> </set> <set> <name>VatAggregation</name> <query> ... </query> </set> <set> <name>FooterAppVersionNumber</name> <query> SELECT MajorVersion AS MajorVersion, MinorVersion AS MinorVersion, BuildVersion AS BuildVersion FROM Packages </query> </set> <set> <name>FooterOperatorCode</name> <query> SELECT Name AS OperatorCode FROM Users </query> </set> <set> <name>FooterCopyNumber</name> <query> SELECT CASE WHEN COUNT(Number) = 0 THEN 1 ELSE COUNT(Number) + 1 END AS Numbers FROM Documents INNER JOIN RealizedPrintouts rp ON(Documents.Number = rp.DocumentNumber) WHERE Documents.Id=@Id@ </query> </set> </data>

Układ wydruku

Zawartość oraz układ wydruku definiowany jest w pliku Layout.xml. Głównym elementem w pliku jest document. Musi zawierać on element body, który zawiera główną część wydruku. Zawartość elementów body czy też footer może zostać skomponowana z innych elementów opisanych poniżej. Elementy te mogą być zagnieżdżane. Parametr class odwołuje się do klasy stylu zdefiniowanej w pliku Styles.xml dla danego elementu stylującego. Wszystkie dostępne elementy, które mogą zostać zastosowane podczas tworzenia układu wydruku zostały opisane poniżej. Opis każdego elementu zawiera następujące sekcje:
  • Parametry – opisuje wszystkie dostępne atrybuty jakie można dodać do elementu i co oznaczają.
  • Elementy stylujące – zawiera listę selektorów, które dopasowują dany element w pliku Styles.xml
  • Elementy podrzędne – opcjonalna sekcja opisująca elementy, które mogą wystąpić tylko wewnątrz danego elementu. Dla każdego elementu podrzędnego zachowany jest układ opisu taki sam jak dla głównego elementu.
  • Przykład – zawiera fragment kodu z przykładowym wykorzystanie opisywanego elementu.
Wszystkie dostępne elementy, które mogą zostać zastosowane podczas tworzenia układu wydruku zostały opisane poniżej.  

Elementy - wydruk do pdf

 
Nazwa Document
Opis Otwarcie/zamknięcie dokumentu
Parametry Brak
Elementy stylujące Brak
 
Nazwa Body
Opis Główna część wydruku
Parametry Brak
Elementy stylujące
  • Body
 
Nazwa Footer
Opis Stopka wydruku
Parametry Brak
Elementy stylujące
  • Footer
 
Nazwa pageNumber
Opis Numeracja stron
Parametry Brak
Elementy stylujące Brak
Przykład
<footer> Comarch Mobile, v <data set="FooterAppVersionNumber" var="MajorVersion" />.<data set="FooterAppVersionNumber" var="MinorVersion" />.<data set="FooterAppVersionNumber" var="BuildVersion" />, Operator: <data set="FooterOperatorCode" var="OperatorCode" />, nr kopii: <data set="FooterCopyNumber" var="Numbers" /> <br /> Strona <pageNumber/> </footer>
 
Nazwa Horizontal
Opis Podział na sekcje ułożone poziomo
Parametry Brak
Elementy stylujące
  • Horizontal
Elementy podrzędne
  • Section
 
Nazwa Horizontal: Section
Opis Sekcja
Parametry
  • weight – waga szerokości kolumny. Wartość domyślna 1.
Elementy stylujące
  • Section
Przykład
<horizontal> <section class="header"> <p class="header">Nabywca</p> </section> <section weight="0.05"/> <section class="header"> <p class="header">Odbiorca</p> </section> </horizontal>
 
Nazwa Image
Opis Obraz z bazy lub z dysku
Parametry
  • path – ścieżka do pliku względnie do katalogu głównego definicji wydruku. Jeżeli ustawiamy parametr path pozostałe parametry będą ignorowane.
  • set – Nazwa źródła danych
  • var – Nazwa kolumny w źródle danych
  • index – Indeks wiersza w źródle danych
Elementy stylujące
  • Image
Przykład
<image set="Logo" var="Data" />
 
Nazwa P
Opis Paragraf
Parametry Brak
Elementy stylujące
  • P
Przykład
<p class="centered">Uprawniony do odbioru dokumentu</p>
 
Nazwa Data
Opis Element zwracający dane ze źródła danych w postaci tekstowej
Parametry
  • set – nazwa zestawu danych
  • var – nazwa kolumny
  • index – indeks wiersza ze źródła danych (wartość domyślna 0)
  • format – todo
Elementy stylujące Brak
Przykład
<data set="Header" var="CompanyName" />
 
Nazwa Hr
Opis Linia pozioma
Parametry Brak
Elementy stylujące
  • Hr
Przykład
<section> <hr/> <p class="centered">Uprawniony do wystawienia dokumentu</p> </section>
 
Nazwa Br
Opis Złamanie linii w tekście
Parametry Brak
Elementy stylujące Brak
Przykład
<data set="Header" var="CompanyName" /><br/> <data set="Header" var="Street" /><br/>
 
Nazwa Spacer
Opis Separator
Parametry Brak
Elementy stylujące Brak
Przykład
... </horizontal> <spacer/><spacer/> <if> ...
 
Nazwa If
Opis Element testowy pozwalający na układ wydruku zależny od dowolnych warunków
Parametry Brak
Elementy stylujące Brak
Elementy podrzędne
  • Test
  • True
  • False
 
Nazwa If: Test
Opis Element zawierający warunek decydujący o tym czy do wydruku zostaną dodane elementy z sekcji true czy false . Warunek może mieć postać: eq - równy, lt - mniej niż, gt - więcej niż.
Parametry Brak
Elementy stylujące Brak
 
Nazwa If: True
Opis Element zawierający elementy, które zostaną w przypadku kiedy warunek z sekcji test zostanie spełniony.
Parametry Brak
Elementy stylujące Brak
 
Nazwa If: False
Opis Element zawierający elementy, które zostaną w przypadku kiedy warunek z sekcji test nie zostanie spełniony.
Parametry Brak
Elementy stylujące Brak
Przykład
<if> <test><data set="Header" var="ReverseCharge" /> eq 1</test> <true> <p class="right">*) - odwrotne obciążenie</p> </true> <false> <p class="right">Odwrotne obciążenie nie występuje</p> </false> </if>
 
Nazwa Table
Opis Tabela dynamiczna o ustalonej liczbie kolumn.
Zawartość Jeden lub więcej elementów column
Parametry
  • split - określa czy tabela może zostać podzielona na kilka stron. Parametr może przyjmować wartość true lub false.
  • set - nazwa zestawu danych.
Elementy stylujące
  • Table
Elementy podrzędne
  • Column
  • TableData
 
Nazwa Table: Column
Opis Element definiujący kolumnę tabeli.
Zawartość Dowolne elementy tekstowe
Parametry
  • description - nagłówek kolumny.
  • weight - waga szerokości kolumny. Wartość domyślna 1
Elementy stylujące
  • DataCell
  • HeadCell
 
Nazwa Table: TableData
Opis Element zwracający wartość tekstową ze zbioru danych bazującą na zbiorze danych tabeli, kolumnie podanej w parametrze var oraz aktualnym wierszu tabeli.
Zawartość Element nie może zawierać żadnych elementów.
Parametry
  • var - nazwa kolumny ze zbioru danych.
  • format - format danych
Elementy stylujące Brak
Przykład
<table set="DocumentPositions"> <column weight="2" description="Lp." class="number"> <rowNumber /> </column> <column weight="12" description="[Kod] Nazwa towaru"> [<tableData var="Code" />] <tableData var="Name" /> </column> <column weight="4" description="Ilość" class="number"> <tableData var="RealizedQuantity" /> </column> <column weight="4" description="Jm. (podstawowa)"> <tableData var="BasicUnitSymbol" /> </column> <column weight="4" description="Ilość" class="number"> <tableData var="SecondaryQuantityRealized" /> </column> <column weight="4" description="Jm. (pomocnicza)"> <tableData var="SecondaryUnitSymbol" /> </column> </table>
   

Elementy - wydruk termiczny

 
Nazwa Document
Opis Otwarcie/zamknięcie dokumentu
Parametry Brak
 
Nazwa Command
Opis
Parametry
  • comment
  • format 
  • code
Przykład
<command comment="next_line" format="hex" code="0A"/>
 
Nazwa Data
Opis Element zwracający dane ze źródła danych w postaci tekstowej
Parametry
  • query - nazwa zbioru danych z pliku data
  • columnName - nazwa kolumny
  • offset - miejsce (licząc od lewej strony), od której ma być drukowany element
  • length - szerokość elementu
  • align - pozycja elementu, możliwe wartości: left, right, center
  • maxlines - maksymalna ilość linii, którą może zająć element
 
Nazwa Text
Opis Element testowy
Parametry
  • offset - miejsce (licząc od lewej strony), od której ma być drukowany element
  • length - szerokość elementu
  • align - pozycja elementu, możliwe wartości: left, right, center
 
Nazwa Line
Opis Znacznik linii
Parametry Brak
Przykład
<line> <text offset="30" length="35" align="left">Data dostawy/wykonania usługi: </text> <data query="Header" columnName="ExecutionDate" offset="65" length="15" align="left" /> </line>
 
Nazwa Table
Opis Tabela dynamiczna o ustalonej liczbie kolumn.
Parametry
  • query - nazwa zbioru danych z pliku data
  • length - szerokość elementu
Elementy podrzędne
  • Header
  • Row
 
Nazwa Table: Header
Opis Nagłówek tabeli (nazwy kolumn).
Parametry Brak
Elementy podrzędne
  • Column
 
Nazwa Table: Header: Column
Opis Element definiujący kolumnę tabeli.
Parametry
  • offset - miejsce (licząc od lewej strony), od której ma być drukowany element
  • length - szerokość elementu
  • align - pozycja elementu, możliwe wartości: left, right, center
 
Nazwa Table: Row
Opis Element definiujący wiersz tabeli.
Parametry
  • offset - miejsce (licząc od lewej strony), od której ma być drukowany element
  • length - szerokość elementu
  • align - pozycja elementu, możliwe wartości: left, right, center
Elementy podrzędne
  • Row_item
 
Nazwa Table: Row: Row_item
Opis Element definiujący zawartość wiersza tabeli.
Parametry
  • offset - miejsce (licząc od lewej strony), od której ma być drukowany element
  • length - szerokość elementu
  • align - pozycja elementu, możliwe wartości: left, right, center
Przykład
<table query="DocumentsPositions" length="80"> <header> <column offset="0">L.p.</column> <column offset="7">[Kod]Nazwa</column> <column offset="22">Ilość</column> <column offset="32">J.M.</column> <column offset="39"><data query="Header" columnName="PriceType"/></column> <column offset="53">Rabat</column> <column offset="61">Wartość</column> <column offset="77">VAT</column> </header> <row> <line> <row_item name="Ordinal" offset="0" length="7" align="center" /> <row_item name="ItemName" offset="7" length="70" align="left" maxlines="2"/> </line> <line> <row_item name="Quantity" offset="17" length="10" align="right" /> <row_item name="UnitName" offset="28" length="9" align="left" /> <row_item name="Price" format="currency" decimal-places="PriceDecimalPlaces" offset="37" length="10" align="right" /> <row_item name="Discount" format="currency" offset="52" length="7" align="right" /> <row_item name="Value" format="currency" offset="60" length="10" align="right" /> <row_item name="VatRateValue" offset="70" length="10" align="right" /> </line> </row> </table>

Wygląd wydruku

Wydruk do pdf

Poniższy dokument składa się z opisu trzech części składających się na wygląd wydruku:
  • Atrybuty zawężające
  • Selektory
  • Reguły
Dostosowanie wygląd wydruku możliwe jest poprzez pliki #style#.xml, np. standardowym plikiem definiującym wygląd Faktury Sprzedaży jest plik 7#SalesInvoice#style#Wydruk_domyślny.xml. Głównym elementem tego pliku jest style, który zawiera elementy określające wygląd poszczególnych elementów wydruku zdefiniowanych w pliku layout. Jednym z elementów podrzędnych elementu style jest element fonts, który określa wszystkie czcionki, które zostaną wykorzystane w wydruku. Może on zawierać, jeden lub więcej elementów font, który definiuje krój, wielkość, wygląd oraz styl fontu.
Przykład
<font name="title" face="Arial" size="20" color="#9fc54c"/>
Atrybuty elementu font to:
  • name - określa nazwę fontu, przez którą możemy się do niego odwołać
  • face - nazwa kroju fontu
  • size - rozmiar w punktach
  • color - kolor
  • style - style fontu. Może zawierać jedną (lub więcej wartości oddzielonych znakiem spacji) z wartości bold, italic, underline.
Wewnątrz elementu fonts powinien znaleźć się także jeden element font z pominiętym atrybutem name. Font ten będzie stosowany jako font domyślny dla wydruku.
Przykład
<fonts> <font face="Trebuchet MS" size="10"/> <font name="title" face="Arial" size="20" color="#9fc54c"/> <font name="header" face="Tahoma" size="8" color="#999999"/> <font name="summary_value" face="Trebuchet MS" size="15" color="#9fc54c" style="bold"/> </fonts>
  Oprócz elementu fonts w pliku Styles.xml mogą znajdować się elementy w schemacie:
<selektor>
<reguła/>
<reguła/>
[...]
</selektor>
Gdzie selektor decyduje o tym, czy podległe mu reguły zostaną zastosowane dla danego elementu. Większość selektorów ma taką samą nazwę jak element, który stylują. Np. w celu ostylowania paragrafu (element p w pliku Layout.xml ) należy zastosować selektor p.  
Przykład
<p> <margin top="5"/> </p>
Powyższy przykład wszystkim paragrafom wydruku ustawi margines górny na 5 punktów. Selektor może wybrać do ostylowania tylko wybrane elementy danego typu. W tym celu do elementu w pliku Layout.xml oraz selektora w pliku Styles.xml należy dodać atrybut class. Selektor wybierze wtedy tylko te elementy, które mają identyczną wartość atrybutu class.  
Przykład
<p> <text font="normal"/> </p> <p class="title"> <text font="title"/> </p>
Powyższy przykład ustawi font wszystkich paragrafów na normal ale te, których atrybut class to title zostanie ustawiony font title. Dokładny opis innych atrybutów selektorów oraz spis reguł stylujących znajduje się w sekcji Wygląd. Lista selektorów oraz reguł, które można zastosować dla danego elementu znajduje się w opisie poszczególnych elementów w sekcji Układ. Reguły z pliku style stosowane są od góry do dołu tzn. jeżeli dwa selektory dopasują ten sam element i zawierają one takie same reguły z innymi wartościami to zostanie zastosowana wartość występująca później.

 

Atrybuty zawężające

Opis każdego selektora zawiera listę elementów, które styluje oraz listę reguł, jakie można w nim umieścić. Opis każdej reguły zawiera listę atrybutów jakie można w niej zastosować. Każdy selektor może zostać zawężony poprzez atrybut class. Dodatkowo selektory elementów związane z tabelami mogą zostać zawężone poprzez atrybut index, który może zawierać liczbę całkowitą lub wyrażenie postaci An+B, gdzie A oraz B to liczby całkowite. Selektor taki dopasuje element, jeżeli zgadza się on z indeksem wiersza tabeli (wiersze tabeli numerowane są od 0 z góry na dół). Przykłady:
  • index="0" - dopasuje pierwszy wiersz w tabeli
  • index="first" - dopasuje pierwszy wiersz w tabeli
  • index="last" - dopasuje ostatni wiersz w tabeli
  • index="5" - dopasuje szósty wiersz w tabeli
  • index="2n" - dopasuje parzyste wiersze tabeli tzn. z indeksem równym 0,2,4... czyli wiersze pierwszy, trzeci, piąty...
  • index="3n+1" - dopasuje wiersze z indeksem 1, 4, 7...
  • index="3n+2" - dopasuje wiersze z indeksem 2, 5, 8...
 

Selektory

Nazwa Body
Opis Selektor dla głównego elementu wydruku
Elementy stylowane
  • Body
Parametry zawężające
  • class
Reguły
  • page
  • margin
Przykład
<body> <page size="a4" orientation="portrait"/> <margin left="20" right="20" top="27" bottom="27"/> </body>
 
Nazwa Footer
Opis Selektor dla stopki dokumentu
Elementy stylowane
  • Footer
Parametry zawężające
  • class
Reguły
  • margin
  • text
Przykład
<footer> <text align="right"/> </footer>
 
Nazwa DataCell
Opis Selektor dla komórki w tabeli dynamicznej
Elementy stylowane
  • Column
Parametry zawężające
  • class
  • index
Reguły
  • border
  • background
  • text
Przykład
<dataCell class="index"> <background color="#26437E"/> <text font="header" align="right"/> </dataCell>
 
Nazwa HeadCell
Opis Selektor dla komórki nagłówka w tabeli dynamicznej
Elementy stylowane
  • Column
Parametry zawężające
  • class
Reguły
  • border
  • background
  • text
Przykład
<headCell> <background color="#26437E"/> <border left="0.5" right="0.5" top="0.5" bottom="0.5" color="#E4F0F7"/> <text font="header" align="center"/> </headCell>
 
Nazwa Hr
Opis Selektor dla linii poziomej
Elementy stylowane
  • Hr
Parametry zawężające
  • class
Reguły
  • line
Przykład
<hr> <line style="dotted"/> </hr>
 
Nazwa Image
Opis Selektor dla obrazka
Elementy stylowane
  • Image
Parametry zawężające
  • class
Reguły
  • fit
Przykład
<image class="signature"> <fit width="80" height="80" /> </image>
 
Nazwa P
Opis Selektor dla paragrafu
Elementy stylowane
  • P
Parametry zawężające
  • class
Reguły
  • margin
  • text
  • border
  • background
Przykład
<p class="title"> <text font="title"/> </p>
 
Nazwa Section
Opis Selektor dla sekcji
Elementy stylowane
  • Section
Parametry zawężające
  • class
Reguły
  • border
  • background
  • text
Przykład
<section class="header"> <background color="#26437E"/> <border left="0.5" right="0.5" top="0.5" bottom="0.5" color="#E4F0F7"/> </section>
 
Nazwa Table
Opis Selektor dla tabeli dynamicznej
Elementy stylowane
  • Table
Parametry zawężające
  • class
Reguły
  • width
  • border
  • background
  • text
Przykład
<table> <width percentage="100"/> </table>
 

Reguły

 
Nazwa Background
Opis Reguła określająca tło elementu
Atrybuty
  • color - kolor tła elementu. Może on być w formacie #RRGGBB lub 0xRRGGBB lub 0xAARRGGBB
 
Nazwa Border
Opis Reguła określająca obramowanie elementu
Atrybuty
  • left - szerokość lewego obramowania.
  • right - szerokość prawego obramowania.
  • top - szerokość górnego obramowania.
  • bottom - szerokość dolnego obramowania.
  • color - kolor obramowania elementu. Może on być w formacie #RRGGBB lub 0xRRGGBB lub 0xAARRGGBB
  • borderStyle - styl obramowania. Może przyjmować jedną z wartości: o dashdot o dashdotdot o dashlargegap o dashsmallgap o dot o none o single
Uwagi Szerokość obramowania może być podana w różnych jednostkach m.in.: cm, in, mm, pt. Domyślną jednostką są punkty.
 
Nazwa borderLeft, borderRight, borderTop, borderBottom
Opis Reguły określające poszczególne części obramowania elementu
Atrybuty
  • width - szerokość obramowania
  • color - kolor obramowania
  • borderStyle - styl obramowania
 
Nazwa Fit
Opis Reguła określająca rozmiar elementu
Atrybuty
  • width - szerokość elementu
  • height - wysokość elementu
Uwagi Szerokość i wysokość może być podana w różnych jednostkach m.in.: cm, in, mm, pt. Stylowany element zachowa swoje proporcje przyjmując mniejszy z podanych wymiarów.
 
Nazwa Margin
Opis Reguła określająca marginesy elementu
Atrybuty
  • left - lewy margines
  • right - prawy margines
  • top - górny margines
  • bottom - dolny margines
Uwagi Szerokość marginesu może być podana w różnych jednostkach m.in.: cm, in, mm, pt.
 
Nazwa Text
Opis Reguła określająca styl tekstu
Atrybuty
  • align - wyrównanie tekstu. Przyjmuje jedną z wartości: o right - wyrównanie do prawej o left - wyrównanie do lewej o justify - wyjustowanie tekstu o center - wyśrodkowanie tekstu
  • indent - wcięcie pierwszej linii tekstu.
  • leftIndent - wcięcie tekstu z lewej.
  • rightIndent - wcięcie tekstu z prawej.
  • font - nazwa fontu zdefiniowana wcześniej w sekcji fonts .
  • color - kolor tekstu. Może on być w formacie #RRGGBB lub 0xRRGGBB lub 0xAARRGGBB
 
Nazwa Width
Opis Reguła określająca szerokość elementu
Atrybuty
  • percentage - procentowa szerokość elementu bazująca na szerokości elementu-rodzica

Przykłady wydruków fiskalnych

W aplikacji Comarch Mobile Sprzedaż nie ma możliwości modyfikacji wydruków z drukarki fiskalnej. Poniżej prezentowane są przykładowe wydruki paragonu oraz faktury na drukarce fiskalnej. W przypadku faktury drukowana jest również kopia dokumentu.
Przykład wydruku faktury na drukarce fiskalnej
Przykład wydruku paragonu na drukarce fiskalnej

Przykłady wydruków termicznych

W aplikacji Comarch Mobile możliwy jest wydruk dokumentów na drukarce termicznej. Wygląd wydruków można dowolnie modyfikować zgodnie z instrukcją dostępną TUTAJ. Poniżej znajduje się przykład standardowego wydruku termicznego dokumentu Zamówienia Sprzedaży.
Przykład wydruku Zamówienia Sprzedaży na drukarce fiskalnej

Przykłady modyfikacji wydruków do pdf

Dodawanie kolumny

Do omówienia tej modyfikacji, wykorzystany zostanie przykład dodania kolumny zawierającej informację o rabacie. W celu dodania nowej kolumny należy wyedytować plik #data#. Należy odszukać zapytanie wydobywające dane związane z pozycjami dokumentu. Aby wykorzystać te dane w definicji dokumentu konieczne jest stworzenie aliasu tej kolumny np. Discount. Po dokonaniu zmian zapisujemy dokument.
Dodanie aliasu kolumny odpowiedzialnej za wyświetlanie rabatu
Aby dane te pokazywały się na dokumencie, konieczne jest odpowiednie zmodyfikowanie pliku #layout#, w którym w odpowiedniej sekcji należy dodać kolumnę o nazwie „Rabat”. W description należy wpisać nazwę kolumny, class - określenie klasy, w tym przypadku jest to numer, var - odniesienie do aliasu kolumny określonej w pliku data tj. Discount. Aby poza wartością rabatu wyświetlany był również symbol procentów, należy dodać na końcu linii znak „%”. Ponieważ rabat powinien być wyświetlany zarówno na dokumencie tworzonym od wartości brutto jak i netto, należy skopiować definicje kolumny do poniższej sekcji. Na koniec zapisujemy zmiany.
Dodanie kolumny Rabat w pliku layout
 

Zmiana kolorystyki

W celu zmiany kolorystyki wydruku należy wyedytować plik #style#, zmieniając kod koloru dla poszczególnych elementów definicji wydruku w sekcji <fonts>. Kolory podawane są w zapisie heksadecymalnym.
Wskazówka
Zalecanym programem do tej modyfikacji jest Notepad++. Definicje kolorów w zapisie heksadecymalnym dostępne są w Internecie.
Zmiana koloru w pliku style

Dodawanie/usuwanie/zmiana logo

Aby logo było dodane na wydruku, należy wybraną grafikę zapisać pod nazwą logo.png w folderze wydruków Printouts. Zmiana logo na inne możliwa jest poprzez zmianę nazwy poprzedniej grafiki oraz dodanie nowej, jako plik o nazwie logo.png o nowszej dacie modyfikacji od poprzedniego, tak jak zostało to zaprezentowane na poniższym rysunku:
Zmiana logo na wydruku
W celu usunięcia logo z wydruku dokumentu, należy usunąć zapytania zwracające logo tj.
  • W pliku Data: <set> <name>Logo</name> <query>SELECT Data FROM PrintoutsImages WHERE Name='logo.png'</query> </set>
  • W pliku Layout: <image set="Logo" var="Data" />

Dodanie nowych danych na wydruk

Jeżeli istnieje potrzeba pokazania na wydruku niestandardowych danych można to zrealizować w następujący sposób:
  • przesynchronizować potrzebne dane do tabeli Configuration bazy mobilnej
  • umieścić nowe dane na wydruku
Poniżej przedstawiony jest przykład dodania na wydruk dokumentu danych pracownika, który wystawił dokument: Zamówienie Sprzedaży przy współpracy z Comarch ERP XL 2018.2.1. W sposób opisany poniżej można synchronizować dowolne dane z systemu ERP i prezentować je na wydruku.
Uwaga
Zapytania SQL wykorzystywane w tym przykładzie mogą różnić się w zależności od systemu ERP oraz jego wersji.
W pierwszej kolejności należy w odpowiednim dla wersji systemu ERP pliku konfiguracyjnym znajdującym się w katalogu Methods serwera synchronizacji (ścieżka domyślna: C:\Program Files (x86)\Comarch Mobile\Serwer synchronizacji\Methods\configuration) dodać następujące zapytanie:  
UNION ALL
select
1,
0,
'ImieNazwisko',
cast ((Prc_Imie1 +' '+ Prc_Nazwisko) as varchar)
from cdn.opekarty opekar
join cdn.PRCKarty pckar on opekar.Ope_PrcNumer=pckar.Prc_GIDNumer
where Ope_GIDTyp =128 and Ope_GIDNumer=@UserId
UNION ALL
select
1,
0,
'telefon',
cast (Prc_Telefon3 as varchar)
from cdn.opekarty opekar
join cdn.PRCKarty pckar on opekar.Ope_PrcNumer=pckar.Prc_GIDNumer
where Ope_GIDTyp =128 and Ope_GIDNumer=@UserId
UNION ALL
select
1,
0,
'email',
cast (Prc_EMail as varchar)
from cdn.opekarty opekar
join cdn.PRCKarty pckar on opekar.Ope_PrcNumer=pckar.Prc_GIDNumer
where Ope_GIDTyp =128 and Ope_GIDNumer=@UserId
  Powyższe zapytania pobierają z bazy systemu ERP dane dotyczące pracownika: imię i nazwisko, telefon, e-mail. Dodanie zapytań do pliku spowoduje, że konkretne dane zostaną przesynchronizowane do tabeli Configuration na bazie mobilnej. Kolejnym krokiem jest modyfikacja pliku wydruku 1#SalesOrder#data#Wydruk_domyślny.xml znajdującego się w katalogu Printouts serwera synchronizacji. Należy dodać zapytania pobierające zsynchronizowane wcześniej dane do tabeli Configuration. Nowo dodane fragmenty zostały oznaczone kolorem żółtym:  
...
<set>
<name>Logo</name>
<query>SELECT Data FROM PrintoutsImages WHERE Name='logo.png'</query>
</set>
<set>
<name>Wystawil</name>
<query>SELECT Value FROM Configuration WHERE key like 'ImieNazwisko'</query>
</set>
<set>
<name>Wystawiltel</name>
<query>SELECT Value FROM Configuration WHERE key like 'telefon'</query>
</set>
<set>
<name>Wystawilemail</name>
<query>SELECT Value FROM Configuration WHERE key like 'email'</query>
</set>
...
  Ostatnim krokiem jest modyfikacja pliku wydruku 1#SalesOrder#layout#Wydruk_domyślny.xml, która polega na dodaniu wpisów odpowiedzialnych za wyświetlanie danych, które zostały zwrócone w zapytaniach w pliku 1#Order#data#Wydruk_domyślny.xml:  
…
<horizontal split="no">
<section weight="2.4"/>
<section weight="0.8">
<image class="signature" set="Header" var="Signature" />
</section>
</horizontal>
<horizontal split="no">
<section weight="1.5">
<p class="left"><data set="Wystawil" var="Value" /></p>
<p class="left">Telefon: <data set="Wystawiltel" var="Value" /></p>
<p class="left">E-mail: <data set="Wystawilemail" var="Value" /> </p>
<hr/>
<p class="centered">Uprawniony do wystawienia dokumentu</p>
</section>
  Po wykonaniu powyższych modyfikacji należy wykonać synchronizację z urządzenia mobilnego. Po modyfikacji wydruk powinien wglądać następująco:
 
Zamówienie Sprzedaży z danymi osoby wystawiającej
 

Przykłady modyfikacji wydruków termicznych

Usunięcie tabeli i przesunięcie tekstu

Opis modyfikacji będzie dotyczył standardowej definicji wydruku termicznego dokumentu Faktura sprzedaży. Opisane zostanie usunięcie tabeli zawierającej informacje o VAT oraz przesunięcie informacji o zapłacie na prawą stronę wydruku.
Standardowy wydruk termiczny dokumentu Faktura Sprzedaży
  Należy zmodyfikować plik: 17#SalesInvoice#layout#Thermal#Vline112#Wydruk_domyślny.xml. W pliku tym należy usunąć lub zakomentować linijki dotyczące tabeli zawierającej informacje o VAT jak poniżej:
<table query="VatAggregation" length="64">
<header>
<column offset="0">Stawka VAT</column>
<column offset="18">Wartość netto</column>
<column offset="34">Wartość VAT</column>
<column offset="48">Wartość brutto</column>
</header>
<row>
<line>
<row_item name="VatRateName" offset="0" length="18" align="left" />
<row_item name="NetValue" format="currency" offset="18" length="13" align="right" />
<row_item name="VatValue" format="currency" offset="31" length="14" align="right" />
<row_item name="GrossValue" format="currency" offset="45" length="17" align="right" />
</line>
</row>
</table>
oraz dla części zawierającej informacje o zapłacie zmodyfikować wartości offset z 0 na 40 (cały wydruk ma szerokość 80) poszczególnych danych jak w przykładzie poniżej zaznaczono kolorem czerwonym:
...
<line>
<text offset="40" length="21" align="left">Razem do zapłaty:</text>
<data query="Summary" columnName="Value" format="currency" offset="22" length="10" align="right" />
</line>
<line>
<text offset="40" length="21" align="left">Zapłacono:</text>
<data query="Summary" columnName="Paid" format="currency" offset="22" length="10" align="right" />
</line>

<command comment="set_bold_font" format="hex" code="1B47"/> 
<line>
<text offset="40" length="21" align="left">Pozostaje do zapłaty:</text>
<data query="Summary" columnName="ToPay" format="currency" offset="22" length="10" align="right" />
<data query="Header" columnName="Currency" offset="33" length="5" align="left" />
</line>
...
  Po wprowadzeniu tej modyfikacji wydruk termiczny Faktury sprzedaży powinien wyglądać następująco:
Wydruk dokumentu Faktura Sprzedaży po modyfikacji
 

Dodanie nowych danych na wydruk

Jeżeli istnieje potrzeba pokazania na wydruku niestandardowych danych można to zrealizować w następujący sposób:
  • przesynchronizować potrzebne dane do tabeli Configuration bazy mobilnej
  • umieścić nowe dane na wydruku
 
Standardowy wydruk termiczny dokumentu Faktura Sprzedaży
  Poniżej przedstawiony jest przykład dodania na wydruk dokumentu danych pracownika, który wystawił dokument: Faktura Sprzedaży przy współpracy z Comarch ERP XL 2018.2.1. W sposób opisany poniżej można synchronizować dowolne dane z systemu ERP i prezentować je na wydruku.
Uwaga
Zapytania SQL wykorzystywane w tym przykładzie mogą różnić się w zależności od systemu ERP oraz jego wersji.
W pierwszej kolejności należy w odpowiednim dla wersji systemu ERP pliku konfiguracyjnym znajdującym się w katalogu Methods serwera synchronizacji (ścieżka domyślna: C:\Program Files (x86)\Comarch Mobile\Serwer synchronizacji\Methods\configuration) dodać następujące zapytanie:  
UNION ALL
select
1,
0,
'ImieNazwisko',
cast ((Prc_Imie1 +' '+ Prc_Nazwisko) as varchar)
from cdn.opekarty opekar
join cdn.PRCKarty pckar on opekar.Ope_PrcNumer=pckar.Prc_GIDNumer
where Ope_GIDTyp =128 and Ope_GIDNumer=@UserId
UNION ALL
select
1,
0,
'telefon',
cast (Prc_Telefon3 as varchar)
from cdn.opekarty opekar
join cdn.PRCKarty pckar on opekar.Ope_PrcNumer=pckar.Prc_GIDNumer
where Ope_GIDTyp =128 and Ope_GIDNumer=@UserId
UNION ALL
select
1,
0,
'email',
cast (Prc_EMail as varchar)
from cdn.opekarty opekar
join cdn.PRCKarty pckar on opekar.Ope_PrcNumer=pckar.Prc_GIDNumer
where Ope_GIDTyp =128 and Ope_GIDNumer=@UserId
  Powyższe zapytania pobierają z bazy systemu ERP dane dotyczące pracownika: imię i nazwisko, telefon, e-mail. Dodanie zapytań do pliku spowoduje, że konkretne dane zostaną przesynchronizowane do tabeli Configuration na bazie mobilnej. Kolejnym krokiem jest modyfikacja pliku wydruku 11#SalesOrder#data#Thermal#Vline112#Wydruk_domyślny.xml znajdującego się w katalogu Printouts serwera synchronizacji. Należy dodać zapytania pobierające zsynchronizowane wcześniej dane do tabeli Configuration. Nowo dodane fragmenty zostały oznaczone kolorem żółtym:
...
<set>
<name>Logo</name>
<query>SELECT Data FROM PrintoutsImages WHERE Name='logo.png'</query>
</set>
<set>
<name>Wystawil</name>
<query>SELECT Value FROM Configuration WHERE key like 'ImieNazwisko'</query>
</set>
<set>
<name>Wystawiltel</name>
<query>SELECT Value FROM Configuration WHERE key like 'telefon'</query>
</set>
<set>
<name>Wystawilemail</name>
<query>SELECT Value FROM Configuration WHERE key like 'email'</query>
</set>
...
  Ostatnim krokiem jest modyfikacja pliku wydruku 11#SalesOrder#layout#Thermal#Vline112#Wydruk_domyślny.xml, która polega na dodaniu wpisów odpowiedzialnych za wyświetlanie danych, które zostały zwrócone w zapytaniach w pliku 11#SalesOrder#data#Thermal#Vline112#Wydruk_domyślny.xml w miejsce nad linię z informacją o osobach uprawnionych i dacie odbioru:  
<line>
<data query="Wystawil" columnName="Value" format="currency" offset="0" length="30" align="center" />
</line>
<line>
<data query="Wystawiltel" columnName="Value" format="currency" offset="0" length="30" align="center" />
</line>
<line>
<data query="Wystawilemail" columnName="Value" format="currency" offset="0" length="30" align="center" />
</line>

<line>
<text offset="0" length="30" align="center">Uprawniony do wystawienia dok.</text>
<text offset="31" length="18" align="center">Data odbioru</text>
<text offset="50" length="30" align="center">Uprawniony do odbioru dok.</text>
</line>
…
  Po wykonaniu powyższych modyfikacji należy wykonać synchronizację z urządzenia mobilnego. Po modyfikacji wydruk termiczny powinien wglądać następująco:
 
Wydruk dokumentu Faktura Sprzedaży z dodatkowymi danymi
 

Wizyty handlowe

Możliwość zablokowania kopiowania tygodniowego i dziennego planu wizyt

W aplikacji Comarch Mobile istnieje możliwość zablokowania kopiowania tygodniowego i dziennego planu wizyt. Za tę opcje odpowiadają parametry [CanCopyWeeklyVisitPlan] i [CanCopyDailyVisitPlan], znajdujące się w plikach konfiguracyjnych katalogu (domyślnie): C:\Program Files (x86)\Comarch Mobile\Serwer synchronizacji\Methods. Dla systemu Comarch ERP Optima dodatkowo należy dokonać zmian w procedurze CDN.Mobile_Android_EksportKonfig (Programmability/StoredProcedures/ Mobile_Android_EksportKonfig). Parametr ten jest opisany TUTAJ. Więcej informacji na temat wspomnianych funkcjonalności znajduje się TUTAJ.

Możliwość zablokowania planowania wizyty bez podania wzorca

Istnieje możliwość zablokowania planowania wizyt bez określenia wzorca wizyty. Dzięki temu przedstawiciel handlowy, może zaplanować wizytę z wyprzedzeniem, a dopiero będąc na miejscu u Klienta, może określić charakter wizyty handlowej oraz wybrać najlepszy zestaw elementów wizyty do realizacji. W plikach konfiguracyjnych znajdujących się w katalogu: C:\Program Files (x86)\Comarch Mobile\Serwer synchronizacji\Methods znajduje się parametr [CanPlanVisitsWithoutPattern] odpowiedzialny za to, czy podczas planowania wizyty konieczne jest wskazanie wzorca. Dla systemu Comarch ERP Optima dodatkowo należy dokonać zmian w procedurze CDN.Mobile_Android_EksportKonfig (Programmability/StoredProcedures/ Mobile_Android_EksportKonfig). Parametr ten jest opisany TUTAJ.

Wymagalność potwierdzania wizyty w zależności od wybranego wzorca

Funkcjonalność ta umożliwia większą kontrolę działań pracownika. Wszystkie wizyty wymagające potwierdzenia, dopóki nie zostaną potwierdzone, nie będą dostępne do realizacji w Comarch Mobile. W celu skonfigurowania wymagalności potwierdzania wizyt z określonymi wzorcami należy:
  • Na definicji wzorca wizyty ustawić parametr [Wymagaj potwierdzenia] na [Tak]
Ustawienie na definicji wzorca: Wymagaj potwierdzenia.
  • Zmienić parametr RequireVisitConfirmation na ’1′ w plikach konfiguracyjnych znajdujących się w katalogu: C:\Program Files (x86)\Comarch Mobile\Serwer synchronizacji\Methods, który jest odpowiedzialny za to, czy tworzone wizyty w aplikacji wymagają potwierdzenia w centrali. Dla systemu Comarch ERP Optima dodatkowo należy dokonać zmian w procedurze CDN.Mobile_Android_EksportKonfig (Programmability/StoredProcedures/ Mobile_Android_EksportKonfig). Parametr ten jest opisany TUTAJ.
  Po ustawieniu ww. parametru wizyta po zaplanowaniu przez Operatora będzie miała status „niezatwierdzony” i ustawioną automatycznie opcję [Wyślij po zaplanowaniu].
Planowanie WH z wymagających potwierdzenia
Z poziomu listy działań będzie prezentowana kolorem zielonym. Do momentu potwierdzenia wizyty w aplikacji Comarch Mobile Zarządzanie niemożliwa będzie realizacja wizyty.
Zaplanowana WH, która wymaga potwierdzenia przez kierownika
Po synchronizacji, w aplikacji Comarch Mobile Zarządzanie kierownik ma możliwość zatwierdzenia, odrzucenia bądź przeniesienia wizyty na inny termin. Po wykonaniu kolejnej synchronizacji z poziomu urządzenia mobilnego (pobraniu potwierdzenia) przedstawiciel będzie miał możliwość realizacji wizyty.

Automatyczne zamykanie i synchronizacja raportu kasowego podczas realizacji wizyty

Uwaga
Opcja dot. realizacji wizyty handlowej z elementem: Należności.
Dzięki opcji automatycznego zamykania raportu kasowego oraz uruchomienia synchronizacji po rozliczeniu płatności podczas wizyty, przedstawiciel nie będzie zmuszony do przerywania realizacji wizyty, a wyniki rozliczonych należności będą od razu po zatwierdzeniu wysyłane do systemu ERP. W plikach konfiguracyjnych znajdujących się w katalogu: C:\Program Files (x86)\Comarch Mobile\Serwer synchronizacji\Methods znajduje się parametr [IsSettlementsSynchronizationOnVisitEnabled], odpowiedzialny za to czy opcja automatycznego zamykania raportu podczas synchronizacji ma być dostępna. Parametr ten może przyjmować wartości 0 (wartość domyślna) lub 1. Dla systemu Comarch ERP Optima dodatkowo należy dokonać zmian w procedurze CDN.Mobile_Android_EksportKonfig (Programmability/StoredProcedures/ Mobile_Android_EksportKonfig). Parametr ten jest opisany TUTAJ. Jeżeli parametr [IsSettlementsSynchronizationOnVisitEnabled] przyjmuje wartość 1, wówczas w momencie zatwierdzenia wystawionego KP uruchamiana zostaje synchronizacja typu: Tylko wyślij.
Automatyczne zamykanie raportu kasowego i wysyłanie do go systemu ERP
Dodatkowo na elemencie wizyty typu: Należności, w menu kontekstowym dostępna jest opcja Synchro – uruchamiająca z poziomu wizyty synchronizację typu: Wszystko bez załączników.
Uruchamianie na elemencie wizyty typu: Należności synchronizacji typu: Wszystko bez załączników

Określanie towarów wymaganych

Aby towary były wymagane na realizowanym podczas wizyty dokumencie należy w definicji elementu wzorca wizyty w Comarch Mobile Zarządzanie na drugiej zakładce należy dodać towary i określić:
  • Ilość minimalną – ilość towaru w jakiej powinien zostać dodany na dokument;
  • Jednostkę towaru;
  • >Wymagalność – jeśli parametr Wymagaj zostanie zaznaczony nie będzie możliwości zatwierdzenia dokumentu bez dodania tego towaru. Domyślnie parametr Wymagaj jest odznaczony.
Wszystkie towary z tej listy automatycznie dodadzą się do koszyka z ilością równą ilości minimalnej. Towar, który nie jest obowiązkowy (opcja [Wymagaj] nie będzie zaznaczona) można usunąć z koszyka poprzez wpisanie 0 w polu z ilością. W przypadku, gdy towar jest obowiązkowy nie można zmienić jego ilości na mniejszą od ilości minimalnej, ani też całkowicie usunąć go z koszyka.
Element wzorca wizyty w Comarch Mobile Zarządzanie, towary wymagane
   

Możliwość zablokowania kopiowania pojedynczej wizyty

W aplikacji Comarch Mobile istnieje możliwość zablokowania kopiowania wszystkich wizyt lub tylko wizyt zrealizowanych. Za tę opcje odpowiada parametr [CanCopyVisits], znajdujący się w plikach konfiguracyjnych katalogu (domyślnie): C:\Program Files (x86)\Comarch Mobile\Serwer synchronizacji\Methods. Dla systemu Comarch ERP Optima dodatkowo należy dokonać zmian w procedurze CDN.Mobile_Android_EksportKonfig (Programmability/StoredProcedures/ Mobile_Android_EksportKonfig). Parametr może przyjąć następujące wartości:
  • 0 - powoduje zablokowanie kopiowania wszystkich wizyt
  • 1 - powoduje zablokowanie kopiowania zrealizowanych wizyt
  • 2 - umożliwia kopiowanie wszystkich wizyt
Więcej informacji na temat kopiowania wizyt w Comarch Mobile znajduje się TUTAJ.

Promocje i rabaty

Promocje

Definiowanie promocji w Comarch ERP Optima odbywa się z poziomu listy rabatów dostępnego z menu [Ogólne\Rabaty]. Dla każdej promocji istnieje możliwość określenia okresu jej obowiązywania w kolumnach Data rozpoczęcia promocji oraz Data zakończenia promocji.
Okno: Lista rabatów
Definiowanie sposobu łączenia promocji odbywa się w oknie [System \Konfiguracja w sekcji Firma \Handel\Rabaty].

Uwaga
Parametr [IsDiscountVisible] jest parametrem nadrzędnym – jeżeli jest on zablokowany, to rabat nie będzie wyświetlany, niezależnie od wartości parametru [IsDiscountsOnItemListVisible].

Dokumenty

Promocje

Definiowanie promocji w Comarch ERP Optima odbywa się z poziomu listy rabatów dostępnego z menu [Ogólne\Rabaty]. Dla każdej promocji istnieje możliwość określenia okresu jej obowiązywania w kolumnach Data rozpoczęcia promocji oraz Data zakończenia promocji.
Okno: Lista rabatów
Definiowanie sposobu łączenia promocji odbywa się w oknie [System \Konfiguracja w sekcji Firma \Handel\Rabaty].

Uwaga
Parametr [IsDiscountVisible] jest parametrem nadrzędnym – jeżeli jest on zablokowany, to rabat nie będzie wyświetlany, niezależnie od wartości parametru [IsDiscountsOnItemListVisible].

Możliwość ukrywania cen oraz wartości towarów na kaflu Towary i na konkretnych dokumentach

Parametr [PricesOnItemsInvisible] umożliwia ukrycie cen i rabatów na kaflu Towary. Parametr ten został opisany TUTAJ. Przełączenie parametru na wartość 1 powoduje:
  • Ukrycie cen na karcie towaru
Ukryta informacja o cennikach na karcie towaru
  • Ukrycie cen na liście oferowanych towarów
Ukryta informacja o cenach na liście towarów
Uwaga
Wartość parametru należy zmienić w procedurze [Mobile_Android_EksportKonfig] (Programmability/StoredProcedures/Mobile_Android_EksportKonfig)
W celu ukrycia cen na poszczególnych dokumentach należy w procedurze [Mobile_Android_EksportDokDef] odnaleźć fragment: i zmienić warunek dla którego dokumentu chcemy ukryć ceny (poniżej przykład dla dokumentu RO). case when symbol = @SymbolRO then 1 else 0 end as IsPricesInvisible, Edycja funkcji spowoduje:
  • Ukrycie cen i rabatów na kalkulacji dla danego dokumentu
  • Ukrycie cen i rabatów w Koszyku dla danego typu dokumentu
  • Ukrycie informacji o rabacie, marży na Nagłówku dla danego typu dokumentu
  • Ukrycie wartości na transakcjach historycznych dla danego typu dokumentu
  • Ukrycie wartości na liście dokumentów dla dokumentów niepotwierdzonych dotyczących danego typu dokumentu
  • Ukrycie wartości dla dokumentów niepotwierdzonych z poziomu wizyty elementu Rejestracja dokumentu dla danego typu dokumentu
  • Kafel Raporty: ujęcie wartości tylko z potwierdzonych dokumentów (dla konkretnego typu dokumentu)
Wyłączenie widoczności cen i rabatów na dokumencie prezentuje poniższy rysunek, gdzie prezentowana jest lista oferowanych towarów na RO z ukrytymi informacjami:
Ukryta informacja o cenach na dokumencie RO
Ukryte informacje o cenach i rabatach są również na małej i dużej kalkulacji elementu, jak na poniższym rysunku:
Ukryte informacje o cenach na małej i dużej kalkulacji towaru
W aplikacji Comarch Mobile wprowadzono parametr ForceHidingPrices. Parametr został opisany TUTAJ. Zmiana tego parametru na 1 spowoduje dodatkowo:
  • Ukrycie wartości na liście dokumentów dla dokumentów potwierdzonych dotyczących danego typu dokumentu
  • Ukrycie wartości dla dokumentów potwierdzonych z poziomu wizyty elementu Rejestracja dokumentu dla danego typu dokumentu
Uwaga
Wartość parametru należy zmienić w procedurze [Mobile_Android_EksportDokDef] (Programmbility/StoredProcedures/ Mobile_Android_EksportDokDef)
Uwaga
Parametr ForceHidingPrices zadziała prawidłowo, jeżeli będzie skonfigurowany również parametr IsPricesInvisible.

Możliwość zatwierdzania dokumentu bez podpisu

W aplikacji istnieje możliwość pominięcia podpisu podczas wystawienia dokumentu. Funkcjonalność ta wymaga zmodyfikowanie procedury na bazie SQL (nazwa_bazy/Programmability/StoredPocedures/CDN.Mobile_Android_EksportDokDef). Należy dodać warunek dotyczący konkretnego dokumentu na którym chcemy pominąć krok "Podpis”. Poniżej przedstawiono przykład jak skonfigurować funkcjonalność pominięcia kroku z podpisem na dokumentach MM i RO. Przy wystawianiu pozostałych dokumentów podpis będzie wymagany. end as DocumentTypeFlag, case when symbol = @SymbolMM then 0 when symbol = @SymbolRO then 0 else 1 end as IsSignatureRequired,

Wyświetlanie ceny i ilości zarówno w jednostce podstawowej jak i domyślnej jednostce pomocniczej podczas wystawiania dokumentów

W aplikacji istnieje możliwość podejrzenia ilości i ceny w jednostce pomocniczej podczas wystawiania dokumentów już z poziomu listy towarów , bez konieczności podnoszenia kalkulacji dla tej pozycji. Funkcjonalność ta jest dostępna podczas wystawiania dokumentów:
  • Faktura sprzedaży
  • Paragon
  • Oferta sprzedaży (FPF)
  • Zamówienie sprzedaży (RO)
  • Wydanie zewnętrzne
  • Reklamacja sprzedaży (ilość dostępna w przypadku pozycji już dodanych do koszyka)
  • Zapytanie ofertowe sprzedaży (ilość dostępna w przypadku pozycji już dodanych do koszyka)
Za tę funkcjonalność odpowiada parametr [IsBaseUnitVisible], który może przyjmować dwie wartości: 1 – wartość domyślna; oznacza widoczność dodatkowej ceny (w jednostce podstawowej) tylko po dodaniu towarów do Koszyka – jeżeli użytkownik zmieni na pozycji z jednostki domyślnej np. szt. na karton. 0 – ilość wyświetlana jest tylko w jednostce domyślnej na liście pozycji wyświetlana jest ilość na magazynie oraz ilość dodaną na dokument tylko w tej jednej – domyślnej lub wybranej podczas dodawania do Koszyka jednostce. W celu modyfikacji wartości parametru zmiany należy wprowadzić w pliku configuration.optima.xml oraz  w procedurze Mobile_Android_EksportKonfig (nazwaBazy\Programmability\Stored Procedures).  

Wyświetlanie\ukrywanie informacji o stanach magazynowych

W Comarch Mobile Sprzedaż istnieje możliwość wyboru wyświetlenia\ukrycia informacji o stanach magazynowych w centrali w Comarch Mobile Sprzedaż. W folderze [Methods], w pliku konfiguracyjnym [configuration.optima.xml] znajduje się parametr odpowiedzialny za tę funkcjonalność: [IsHeadquarterStocksVisible]. Domyślna wartość parametru to „1”, pozwalająca na podgląd informacji o stanach magazynowych na urządzeniu mobilnym. Żeby ukryć informacje o stanach magazynowych na urządzeniu należy zmienić wartość parametru [IsHeadquarterStocksVisible] na "0" w pliku configuration.optima.xml oraz  w procedurze Mobile_Android_EksportKonfig (nazwaBazy\Programmability\Stored Procedures).

Widoczność atrybutów

Aby atrybut był widoczny w aplikacji należy w systemie Comarch ERP Optima na zakładce [Ogólne] na definicji atrybutu zaznaczyć udostępnianie w aplikacji Comarch Mobile Sprzedaż. Istnieje możliwość przenoszenia atrybutu kontrahenta do sekcji [Informacje dodatkowe] Nagłówka dokumentu poprzez zaznaczenie parametru związanego z przenoszeniem na transakcje.  
Uwaga
Parametr 'dokleić do opisu dokumentu' nie został obsłużony w Comarch Mobile.

Definicje wydruków

W aplikacji zostały przygotowane przykładowe wydruki, które można dowolnie modyfikować i dostosowywać do wymagań Klienta.
Wskazówka
Definicje wydruków dokumentów znajdują się domyślnie w katalogu: C:\Program Files (x86)\Comarch Mobile\Serwer synchronizacji\Printouts.
Wskazówka
Definicje wydruków raportów znajdują się domyślnie w katalogu: C:\Program Files (x86)\Comarch Mobile\Serwer synchronizacji\Printouts i podkatalogu odpowiednim dla systemu ERP, np. xl11.
Każdy wydruk składa się z trzech części:
  • Data – zapytania wyciągające dane wykorzystywane na wydruku,
  • Layout – układ wydruku,
  • Style – styl wydruku (czcionki, kolory itp.).
Uwaga
Podczas synchronizacji definicji wydruków na urządzenie brana jest pod uwagę data modyfikacji pliku. W celu wymuszenia synchronizacji wydruku należy wykonać dowolną modyfikację.
 

Dodanie nowej definicji wydruku dokumentu

Aby dodać nowy wydruk należy utworzyć jego definicję tworząc pliki Data, Layout i Style, następnie zapisać je w formacie xml. Istnieje możliwość dodania kilku definicji dla jednego dokumentu. Przykładowo dla dokumentu Zamówienie Sprzedaży istnieje standardowa definicja składająca się z plików:
  • 1#SalesOrder#data#Wydruk_domyślny.xml
  • 1#SalesOrder#layout#Wydruk_domyślny.xml
  • 1#SalesOrder#style#Wydruk_domyślny.xml
Należy dodać nową zmodyfikowaną definicję zmieniając w nazwie plików liczbę 1 na taką, która wśród definicji nie istnieje oraz frazę Wydruk_domyślny na wybraną przez siebie nazwę definicji, np:
  • 45#SalesOrder#data#Mój_wydruk.xml
  • 45#SalesOrder#layout#Mój_wydruk.xml
  • 45#SalesOrder#style#Mój_wydruk.xml
Po tych czynnościach podczas wydruku dokumentu mamy możliwość wyboru definicji wydruku:
Wybór definicji wydruku
Uwaga
W przypadku zapisu definicji wydruku w Notatniku należy wybrać kodowanie UTF-8.

Dodanie nowej definicji wydruku raportu

W celu dodania definicji wydruku raportu w katalogu Printouts i podkatalogu odpowiednim dla systemu ERP należy utworzyć pliki Data, Layout i Style zawierając w nazwie Id raportu z katalogu Reports serwera synchronizacji. Przykładowo, aby utworzyć definicję wydruku dla raportu Sprzedaż w okresach należy raport ten odszukać w katalogu Reports, nosi on nazwę 3#SalesInPeriods#pol.xml. Kolejno w katalogu Printouts i odpowienim podkatalogu utworzyć jego definicję tworząc pliki data, layout i style zawierając w nazwie jego Id:
  • 46#Report#data#3#Moj_wydruk.xml
  • 46#Report#layout#3#Moj_wydruk.xml
  • 46#Report#style#3#Moj_wydruk.xml
Po tych czynnościach w aplikacji pojawi się możliwość wydruku raportu Sprzedaż w okresach.

Usunięcie definicji wydruku

Aby usunąć istniejący wydruk, należy zmienić ID wszystkich jego elementów na ujemne, następnie zmienić datę modyfikacji i wykonać synchronizację.  
Zmiana ID wydruku na ujemne

Licznik wydruków

Funkcjonalność licznika wydruków PDF umożliwia ewidencjonowanie wydrukowanych dokumentów danego typu. Dzięki niej będzie można sprawdzić na bazie mobilnej, które dokumenty zostały wydrukowane i ewentualnie według potrzeby będzie można zablokować możliwość edycji już wydrukowanych dokumentów. Dla potrzeb funkcjonalności na bazie mobilnej została dodana tabela RealizedPrintout, w której można odszukać dokładną datę i godzinę wydruku, rodzaj obiektu, liczbę kopii itp. Informację o liczbie wydruków będzie można wykorzystać w raportach, np. ilość wydrukowanych dokumentów ZS danego dnia.

Dodatkowe informacje na wydrukach

Na wszystkich wydrukach dostępnych z poziomu aplikacji wprowadzone są dodatkowe informacje, które dotyczą:
  • numeru wydruku,
  • identyfikatora określającego, że wydruk został stworzony w aplikacji mobilnej,
  • liczby kopii wydruku,
  • identyfikatora operatora.
Dodatkowe dane pozwalają na dokładniejszą weryfikację wydruków wykonanych z poziomu aplikacji przez przedstawicieli.

Wyświetlanie procentu rabatu na liście towarów

W aplikacji Comarch Mobile Sprzedaż jest możliwość wyświetlania rabatu na liście towarów podczas wystawiania dokumentu handlowego, zamówienia oraz oferty. Dzięki niej przedstawiciel handlowy będzie miał możliwość wglądu, które towary są aktualnie w promocji i zaproponowania ich kontrahentowi. Funkcjonalność ta jest dostępna dla następujących typów dokumentów:
  • Faktura Sprzedaży
  • Paragon
  • Wydanie zewnętrzne
  • Zamówienie Sprzedaży
  • Oferta Sprzedaży
W ustawieniach aplikacji Comarch Mobile Sprzedaż należy zaznaczyć parametr: Obliczaj hipotetyczny rabat:
Parametr: Obliczaj hipotetyczny rabat
Za opcję wyświetlania procentu rabatu na liście towarów odpowiadają parametry: [IsDiscountVisible] opisane TUTAJ.

Marża minimalna

Aplikacja Comarch Mobile Sprzedaż umożliwia obsługę kontroli marży minimalnej dla danego towaru. W celu zdefiniowania marży minimalnej dla danego towaru należy w systemie Comarch ERP Optima w oknie [Pozycja cennika] na zakładce [Ogólne] określić procentową jej wartość. W polu [Granica ceny] należy wybrać opcję [min marża] i wpisać graniczną jej wartość.
Okno: Pozycja cennika, zakładka Ogólne
Ponadto należy upewnić się, że na [Formularzu operatora] menu: [System /Konfiguracja, sekcja: Program/ Użytkowe/ Operatorzy] jest odznaczona opcja [Sprzedaż poniżej min. marży / maks. Rabatu].
Formularz operatora, zakładka: Parametry
Następnym krokiem jest udostępnienie ceny zakupu w konfiguracji stanowiska mobilnego. W tym celu należy na zakładce [System] wybrać menu: [Konfiguracja/Firma/ Urządzenia mobilne /Stanowiska], przejść do zakładki [Operatorzy, płatności, ceny] i dodać cenę zakupu.
Ceny zakupu na stanowisku Comarch Mobile – zakładka [Operatorzy, płatności, ceny]
Wprowadzone i zapisane zmiany z systemu ERP będą widoczne w aplikacji Comarch Mobile Sprzedaż po wykonaniu synchronizacji z poziomu urządzenia mobilnego.

Korekta dokumentów pochodzących z aplikacji w systemie ERP Optima

Istnieje możliwość tworzenia korekt ilościowych oraz wartościowych do dokumentów wystawionych w aplikacji Comarch Mobile Sprzedaż i przesynchronizowanych do systemu Comarch ERP Optima. Ze względu na fakt, iż korekta ilościowa zwraca na magazyn stany istotne jest, aby po każdej operacji utworzenia korekty ilościowej do dokumentu wystawionego w aplikacji Comarch Mobile Sprzedaż wykonane zostały następujące operacje w systemie Comarch ERP Optima:
  • Utworzenie MM z magazynu mobilnego na magazyn główny
  • Utworzenie MM z magazynu głównego na magazyn mobilny
Po wykonaniu powyższego stany na magazynie mobilnym będą prawidłowe.

Maksymalny rabat

Aplikacja Comarch Mobile Sprzedaż umożliwia obsługę kontroli maksymalnego rabatu dla danego towaru. W celu zdefiniowania rabatu maksymalnego dla danego towaru należy w systemie Comarch ERP Optima w oknie [Pozycja cennika] na zakładce [Ogólne] określić procentową jej wartość. W polu [Granica ceny] należy wybrać opcję [max rabat] i wpisać graniczną jej wartość.
Okno: Pozycja cennika, zakładka Ogólne
Ponadto należy upewnić się, że na [Formularzu operatora] menu: [System /Konfiguracja, sekcja: Program/ Użytkowe/ Operatorzy] jest odznaczona opcja [Sprzedaż poniżej min. marży / maks. Rabatu].
Formularz operatora, zakładka: Parametry
Wprowadzone i zapisane zmiany z systemu ERP będą widoczne w aplikacji Comarch Mobile Sprzedaż po wykonaniu synchronizacji z poziomu urządzenia mobilnego. Więcej informacji znajduje się TUTAJ.  

Prezentacja opisu na liście dokumentów oraz pozycji

W aplikacji umożliwiono konfigurację:
  • opisu na liście dokumentów,
  • opisu na pozycji dokumentu,
  • liczby linii prezentowanych opisów.
Po włączeniu funkcjonalności w aplikacji są prezentowane opisy na dokumentach pobranych z systemu ERP lub dodawanych w aplikacji.
Prezentacja opisu na liście dokumentów oraz pozycji
Za konfigurację tej funkcjonalności odpowiadają parametry MaxNumberOfDescriptionsLinesInCart i MaxNumberOfDescriptionsLinesInDocumentList  znajdujące się w procedurze CDN.Mobile_Android_EksportKonfig (Programmability/StoredProcedures/ Mobile_Android_EksportKonfig). Więcej informacji na temat konfiguracji znajduje się TUTAJ.

Kontrahenci

Weryfikacja kontrahenta w bazach

W aplikacji Comarch Mobile na liście kontrahentów istnieje możliwość zweryfikowania numeru NIP kontrahenta w:
  • Systemie VIES (VAT Information and Exchange System)
  • Systemie GUS
  • Systemie VAT
  • Bazie danych systemu ERP
  • Bazie mobilnej Przedstawiciela
W celu uruchomienia funkcji weryfikacji numeru NIP kontrahenta należy z poziomu listy kontrahentów wybrać przycisk: dostępny w pasku górnym listy kontrahentów. Po wybraniu tej opcji zostanie wyświetlone okno jak na rysunku poniżej:
Weryfikacja, czy kontrahent znajduje się w bazie danych
Istnieje także możliwość weryfikacji numeru NIP kontrahenta w momencie rejestracji karty nowego kontrahenta. Wówczas po wybraniu opcji dodawania nowego kontrahenta (przycisk „+”) zostaje wyświetlone okno do weryfikacji numeru NIP. Po wpisaniu numeru NIP i naciśnięciu przycisku „Sprawdź” aplikacja sprawdza czy kontrahenta o wskazanym numerze NIP znajduje się w :
  • Systemie VIES (VAT Information and Exchange System)
  • Systemie GUS
  • Systemie VAT
  • Bazie danych systemu ERP
  • Bazie mobilnej Przedstawiciela
Uwaga
Funkcjonalność weryfikacji numeru NIP w bazie systemu VIES oraz w bazie systemu ERP wymaga dostępu do Internetu.
Okno wyświetlane w przypadku poprawnej weryfikacji kontrahenta i przy braku połączenia z internetem
Funkcjonalność umożliwia różną konfigurację weryfikacji kontrahenta podczas dodawania:
  • Jeżeli kontrahent o podanym numerze NIP zostanie odnaleziony w bazie danych systemu ERP, opcja „Dodaj” jest aktywna i można dodać kontrahenta o takim samym numerze NIP. Formularz dodawania nowego kontrahenta zostanie automatycznie uzupełniony wcześniej wpisanym numerem NIP.
  • Blokada – jeżeli kontrahent o podanym numerze NIP zostanie odnaleziony w bazie danych, opcja „Dodaj” jest nieaktywna i nie można dodać kontrahenta o takim samym numerze NIP.
  • Jeżeli kontrahent nie został znaleziony w systemie ERP lub Comarch Mobile, opcja „Dodaj” jest aktywna. Po jej wyborze zostanie wyświetlone okno dodawania nowego kontrahenta, w którym to zostanie automatycznie wpisany numer NIP.
Uwaga
Za konfigurację tej funkcjonalności odpowiada parametr CanAddContractorWithChecking. Więcej informacji na temat konfiguracji parametru znajduje się TUTAJ
Okno wyświetlane w przypadku poprawnej weryfikacji numeru NIP jeśli dodanie kontrahenta o takim samym numerze NIP zostało zablokowane
Jeżeli kontrahent zostanie odnaleziony w bazie systemu VIES/GUS i opcja Dodaj jest aktywna, wówczas po jej wybraniu automatycznie wypełnione zostaną pola z:
  • Numerem NIP
  • Nazwą
  • Adresem kontrahenta
Automatyczne wypełnienie pól podczas dodawania nowego kontrahenta
W Ustawieniach aplikacji istnieje także możliwość określenia z jakiego systemu (VIES czy GUS) mają być preferowane dane przy zakładaniu karty kontrahenta z weryfikacją numeru NIP. Domyślnie ustawiana jest opcja: VIES.
Ustawienie w aplikacji, z jakiego systemu mają być preferowane dane przy zakładaniu karty nowego kontrahenta z weryfikacją numeru NIP
Weryfikacja numeru NIP kontrahenta jest możliwa także podczas edycji kontrahenta. Po sprawdzeniu numeru NIP i odnalezieniu kontrahenta w bazie danych, użytkownik może wybrać opcję Aktualizuj celem aktualizacji lub zmiany danych kontrahenta. Zanim użytkownik dokona ostatecznej zmiany danych kontrahenta, zostanie poinformowany odpowiednim komunikatem. Dopiero po potwierdzeniu komunikatu, dane kontrahenta zostaną zmienione.
Weryfikacja numeru NIP podczas edycji karty kontrahenta
Aktualizacja danych kontrahenta
Również dostępna jest weryfikacja po numerze PESEL. Opcję weryfikacji po numerze PESEL jest wywoływana analogicznie jak po NIP.
Weryfikacja kontrahenta po numerze PESEL
 

Lista kontrahentów

W menu głównym aplikacji prezentowana jest informacja na temat łącznej liczby obsługiwanych kontrahentów
Widoku z menu głównego: Kontrahenci
Po naciśnięciu na kafel Kontrahenci zostaje wyświetlone okno składające się z sześciu zakładek:
  • Lista kontrahentów,
  • Ulubieni,
  • Często,
  • Ostatnie transakcje,
  • Dłużnicy,
  • Osoby kontaktowe
Okno: Kontrahenci
Na liście kontrahentów znajdują się również informacje dodatkowe dla danego kontrahenta. Istnieje możliwość ukrycia akronimu kontrahenta na liście kontrahentów W menu: Ustawienia w grupie: Parametry aplikacji: Ustawienia listy kontrahentów, parametr: Pokazuj kody kontrahentów.
Parametr: Pokazuj kody kontrahentów
Na liście Kontrahentów dostępne są opcje zaprezentowane na poniższym zrzucie ekranu, aktywne po naciśnięciu na przycisk .
Opcje menu dostępne dla wybranego Kontrahenta
W przypadku wyboru opcji [Zadzwoń] bądź [Wyślij SMS] jeżeli kontaktów typu telefon jest więcej niż jeden, to po naciśnięciu przycisku zostanie udostępnione dodatkowe menu umożliwiające wybór numeru innego niż domyślny.
Wybór numeru innego niż domyślny
Opcje: Zadzwoń, Wyślij SMS oraz Wyślij e-mail, Przejdź na stronę www są dostępne jeżeli kontrahent posiada zdefiniowane odpowiednie dane kontaktowe: telefon, adres e-mail, URL. Jeżeli kontrahent został oznaczony jako archiwalny w systemie ERP wówczas jego kartoteka nie jest wyświetlana na liście kontrahentów. Ponadto, za pomocą różnokolorowych ikonek prezentowane są dodatkowe informacje dotyczące poszczególnych kontrahentów.   Kontrahent dodany lub zmodyfikowany w aplikacji Comarch Mobile Sprzedaż Operator jest opiekunem czasowym Kontrahenta, brak możliwości edycji w aplikacji Kontrahenci posiadający nierozliczone i przeterminowane płatności są wyróżnieni na liście kolorem czerwonym oraz posiadają ikonę pieniążka Kontrahent mający wstrzymane transakcje Kontrahent mający zablokowane zamówienia Kontrahent jednorazowy Kontrahent edytowany aplikacji mobilnej i wysłany do systemu ERP (kafelek Stan) W widoku poziomym karta kontrahentów jest podzielona na dwie części:
  • z lewej strony znajduje się lista kontrahentów (wraz ze wszystkimi zakładkami),
  • z prawej strony: szczegóły kontrahenta.
Karta kontrahenta - widok poziomy

W górnym pasku okna widoczny jest kod i nazwa kontrahenta. Nawigując po prawym panelu istnieje możliwość otwarcia kolejnych szczegółów wybranej karty, np. listę wystawionych dokumentów. Szczegóły te są wyświetlane w bieżącym widoku za wyjątkiem listy działań , która jest otwierana w nowym oknie.

Limit kredytowy kontrahenta w systemie Comarch ERP Optima

W aplikacji Comarch Mobile Sprzedaż istnieje możliwość ukrywania niektórych informacji dotyczących limitu kredytowego, takich jak:
  • Wartość bieżącego limitu kredytowego,
  • Wykorzystana kwota limitu kredytowego,
  • Dozwolona ilość po przekroczeniu terminu
Informacje na definiowanym limicie kredytowym w systemie Comarch ERP Optima
W konfiguracji aplikacji Comarch Mobile Sprzedaż jest możliwość edycji parametru [IsContractorsCreditLimitsValueVisible] odpowiedzialnego za ukrywanie\odkrywanie powyższych informacji. Funkcjonalność parametru szczegółowo została opisana TUTAJ.

Blokada realizacji działań handlowych dla nowo utworzonego kontrahenta

Aplikacja Comarch Mobile umożliwia blokowanie realizacji działań handlowych dla nowo utworzonego kontrahenta do czasu jego synchronizacji do systemu ERP. Kontrahent dodany w aplikacji Comarch Mobile jest oznaczony ikonką . Zablokowana zostanie możliwość wystawiania dokumentów handlowych, dokumentów ZSR oraz tworzenia działań CRM we wszystkich miejscach w aplikacji. Aby mieć możliwość wystawiania poszczególnych działań handlowych dla nowo utworzonego kontrahenta konieczne jest wykonanie synchronizacji z systemem ERP.
Uwaga
Za konfigurację tej funkcjonalności odpowiada parametr CanBlockActionsForNewContractorBeforeSynchronization. Wartość parametru należy zmienić w procedurze CDN.Mobile_Android_EksportKonfig (Programmability/StoredProcedures/ Mobile_Android_EksportKonfig). Więcej informacji na temat konfiguracji znajduje się TUTAJ.
Po włączeniu parametru CanBlockActionsForNewContractorBeforeSynchronization i utworzeniu nowego kontrahenta w aplikacji Comarch Mobile:
  • po kliknięciu w sekcję Działania, Serwis oraz Handlowe na karcie kontrahenta zostanie wyświetlony komunikat: "Brak możliwości wykonywania działań handlowych. Dokonaj synchronizacji nowego kontrahenta."
Widok okna informującego o konieczności synchronizacji
  • po kliknięciu na liście kontrahentów w menu kontekstowym nowego kontrahenta nie jest widoczna opcja "Dodaj dokument"

  • podczas wystawiania dokumentów w kaflu Dokumenty, Serwis i Kasa lub działania CRM w kaflu Terminarz i Dzień w momencie wyboru kontrahenta, który nie został jeszcze zsynchronizowany z systemem ERP, pojawi się komunikat: "Należy dokonać synchronizacji nowego kontrahenta."

Widok okna informującego o konieczności synchronizacji
  • w przypadku kafla Dokumenty, Dzień, Serwis i Terminarz ukryta jest ikonka odpowiedzialna za dodanie nowego kontrahenta
 

Towary

Możliwość ukrywania cen oraz wartości towarów na kaflu Towary i na konkretnych dokumentach

Parametr [PricesOnItemsInvisible] umożliwia ukrycie cen i rabatów na kaflu Towary. Parametr ten został opisany TUTAJ. Przełączenie parametru na wartość 1 powoduje:
  • Ukrycie cen na karcie towaru
Ukryta informacja o cennikach na karcie towaru
  • Ukrycie cen na liście oferowanych towarów
Ukryta informacja o cenach na liście towarów
Uwaga
Wartość parametru należy zmienić w procedurze [Mobile_Android_EksportKonfig] (Programmability/StoredProcedures/Mobile_Android_EksportKonfig)
W celu ukrycia cen na poszczególnych dokumentach należy w procedurze [Mobile_Android_EksportDokDef] odnaleźć fragment: i zmienić warunek dla którego dokumentu chcemy ukryć ceny (poniżej przykład dla dokumentu RO). case when symbol = @SymbolRO then 1 else 0 end as IsPricesInvisible, Edycja funkcji spowoduje:
  • Ukrycie cen i rabatów na kalkulacji dla danego dokumentu
  • Ukrycie cen i rabatów w Koszyku dla danego typu dokumentu
  • Ukrycie informacji o rabacie, marży na Nagłówku dla danego typu dokumentu
  • Ukrycie wartości na transakcjach historycznych dla danego typu dokumentu
  • Ukrycie wartości na liście dokumentów dla dokumentów niepotwierdzonych dotyczących danego typu dokumentu
  • Ukrycie wartości dla dokumentów niepotwierdzonych z poziomu wizyty elementu Rejestracja dokumentu dla danego typu dokumentu
  • Kafel Raporty: ujęcie wartości tylko z potwierdzonych dokumentów (dla konkretnego typu dokumentu)
Wyłączenie widoczności cen i rabatów na dokumencie prezentuje poniższy rysunek, gdzie prezentowana jest lista oferowanych towarów na RO z ukrytymi informacjami:
Ukryta informacja o cenach na dokumencie RO
Ukryte informacje o cenach i rabatach są również na małej i dużej kalkulacji elementu, jak na poniższym rysunku:
Ukryte informacje o cenach na małej i dużej kalkulacji towaru
W aplikacji Comarch Mobile wprowadzono parametr ForceHidingPrices. Parametr został opisany TUTAJ. Zmiana tego parametru na 1 spowoduje dodatkowo:
  • Ukrycie wartości na liście dokumentów dla dokumentów potwierdzonych dotyczących danego typu dokumentu
  • Ukrycie wartości dla dokumentów potwierdzonych z poziomu wizyty elementu Rejestracja dokumentu dla danego typu dokumentu
Uwaga
Wartość parametru należy zmienić w procedurze [Mobile_Android_EksportDokDef] (Programmbility/StoredProcedures/ Mobile_Android_EksportDokDef)
Uwaga
Parametr ForceHidingPrices zadziała prawidłowo, jeżeli będzie skonfigurowany również parametr IsPricesInvisible.

Widoczność zdjęć w aplikacji i zmiana ich rozmiaru

Aby zdjęcia towarów były widoczne w aplikacji należy na zakładce [Atrybuty] karty towarowej dodać atrybut w formacie binaria.
Widoczność zdjęć
Uwaga
Aby zdjęcia mogły się poprawnie wyświetlać na urządzeniu i nie powodowały przepełnienia pamięci, w czasie synchronizacji są automatycznie zmniejszane do rozmiarów x na 1024 pikseli. Niektóre urządzenia umożliwiają jednak bezproblemową obsługę większych zdjęć. Aby zmienić wielkość synchronizowanych zdjęć należy w katalogu [Methods] w folderze serwera Comarch Mobile Sprzedaż odnaleźć plik [articlesphotos.optima] i go wyedytować w notatniku, podając długość dłuższej krawędzi zdjęcia.
W pliku articlesphotos.configuration znajdującym się w folderze Comarch Mobile\Serwer synchronizacji\Methods\articlesphotos dostępne są parametry umożliwiające ręczne sterowanie takimi parametrami synchronizacji załączników jak automatyczna zmiana rozmiaru zdjęć czy ich kompresja.
  • Size – maksymalny rozmiar boku zdjęcia (w pikselach) w przypadku włączonej opcji automatycznej zmiany rozmiaru załącznika.
  • DoResize – czy ma być wykonana automatyczna zmiana wielkości załączników. Wartość domyślna – True. Wyłączenie opcji w znacznym stopniu przyśpiesza tworzenie pliku wymiany. Jeżeli jednak na bazie systemu ERP znajduje się duża liczba załączników w wysokiej rozdzielczości, zmiana parametru może skutkować znacznym zwiększeniem rozmiaru paczki do pobrania w synchronizacji.
  • DoCompression – czy ma być wykonana automatyczna kompresja załączników. Wartość domyślna –True. Wyłączenie opcji w znacznym stopniu przyśpiesza tworzenie pliku wymiany. Jeżeli jednak na bazie systemu ERP znajduje się duża liczba nieskompresowanych załączników, zmiana parametru może skutkować znacznym zwiększeniem rozmiaru paczki do pobrania w synchronizacji.
  • MultiThreading – wielowątkowe tworzenie pliku wymiany z załącznikami. Wartość domyślna – False. Włączenie opcji w znacznym stopniu przyśpiesza tworzenie pliku wymiany. Użycie trybu może skutkować wzrostem obciążenia CPU, szczególnie w momencie wykonywania pierwszej synchronizacji załączników jednocześnie przez kilku operatorów.
Uwaga
Przed zmianą parametrów synchronizacji na środowisku produkcyjnym zaleca się zbadanie ich wpływu na środowisku testowym, w celu dobrania optymalnych wartości dla danej bazy danych.

Widoczność atrybutów

Aby atrybut był widoczny w aplikacji należy w systemie Comarch ERP Optima na zakładce [Ogólne] na definicji atrybutu zaznaczyć udostępnianie w aplikacji Comarch Mobile Sprzedaż. Istnieje możliwość przenoszenia atrybutu kontrahenta do sekcji [Informacje dodatkowe] Nagłówka dokumentu poprzez zaznaczenie parametru związanego z przenoszeniem na transakcje.  
Uwaga
Parametr 'dokleić do opisu dokumentu' nie został obsłużony w Comarch Mobile.

Wyświetlanie procentu rabatu na liście towarów

W aplikacji Comarch Mobile jest możliwość wyświetlania rabatu na liście towarów podczas wystawiania dokumentu handlowego, zamówienia oraz oferty. Dzięki niej przedstawiciel handlowy będzie miał możliwość wglądu, które towary są aktualnie w promocji i zaproponowania ich kontrahentowi. Funkcjonalność ta jest dostępna dla następujących typów dokumentów:
  • Faktura Sprzedaży,
  • Paragon,
  • Wydanie zewnętrzne,
  • Zamówienie Sprzedaży,
  • Oferta Sprzedaży.
W ustawieniach aplikacji Comarch Mobile należy zaznaczyć parametr: [Obliczaj hipotetyczny rabat].
Parametr: Obliczaj hipotetyczny rabat
Za opcję wyświetlania procentu rabatu na liście towarów odpowiada parametr: [IsDiscountVisible]. Więcej informacji na temat parametrów znajduje się TUTAJ.

Wyświetlanie\ukrywanie informacji o stanach magazynowych

W Comarch Mobile Sprzedaż istnieje możliwość wyboru wyświetlenia\ukrycia informacji o stanach magazynowych w centrali. W folderze [Methods], w pliku konfiguracyjnym [configuration.optima.xl] znajduje się parametr odpowiedzialny za tę funkcjonalność: [IsHeadquarterStocksVisible]. Domyślna wartość parametru to „1”, pozwalająca na podgląd informacji o stanach magazynowych na urządzeniu mobilnym. Więcej informacji nt. tego parametru znajduje się TUTAJ.

Dostępność kartotek towarowych w aplikacji

Aby kartoteki z wybranej grupy towarowej były widoczne w aplikacji Comarch Mobile należy na zakładce Dodatkowe karty towaru zaznaczyć opcję [Dostępny w Mobile]. Towar wysyłany jest na dane stanowisko sprzedaży mobilnej jeżeli spełnia dwa warunki:
  • Ma zaznaczony parametr Dostępny w Mobile
  • Należy do grupy wybranej w konfiguracji danego stanowiska sprzedaży mobilnej (i/lub którejś z jej podgrup) w menu Start/Konfiguracja/ Firma/ Urządzenia mobilne/ Stanowiska)
Po zaznaczeniu pola i wykonaniu synchronizacji towar będzie widoczny na urządzeniu mobilnym.
Formularz towaru – parametr Dostępny w Mobile
Na nowo dodanych pozycjach cennikowych parametr Dostępny w Mobile jest domyślnie zaznaczony. Ponadto w bazach skonwertowanych z wcześniejszych wersji Comarch ERP Optima parametr jest domyślnie zaznaczony na wszystkich pozycjach cennikowych. Z poziomu listy Cennika i listy Zasobów dostępna jest operacja seryjna: Zmiana parametrów Comarch Mobile Sprzedaż. Dzięki tej operacji możliwe jest seryjne zaznaczenie lub odznaczenie parametru Dostępny w Mobile na zaznaczonych pozycjach listy.
Okno operacji seryjnej Zmiana parametrów Comarch Mobile Sprzedaż
Uwaga
Pozycje cennikowe z zaznaczonym parametrem Karta nieaktywna nie są synchronizowane do Comarch Mobile.
Uwaga
Jeżeli na urządzenie nie zostanie wysłana cena, która jest ceną domyślną wybraną na towarze(-ach) wysłanym na urządzenie, to jako cena domyślna dla tego towaru ustawi się pierwsza cena (wg ID w bazie mobilnej) wysłana na urządzenie mobilne.

Raporty

Edycja raportów

W aplikacji umożliwiono usuwanie, dodawanie oraz edycję raportów z poziomu serwera synchronizacji. Definicje raportów znajdują się w katalogu: C:\Program Files (x86)\Comarch Mobile\Serwer synchronizacji/Reports. Aby dodać nowy raport należy utworzyć jego definicję, a następnie zapisać go w formacie xml.
Uwaga
W przypadku zapisu definicji raportu w Notatniku należy wybrać kodowanie UTF-8.
Aby usunąć istniejący raport należy zmienić jego ID na ujemne, następnie zmienić datę modyfikacji (np. wystarczy zapisać ponownie plik z raportem) i wykonać synchronizację.
Uwaga
Podczas synchronizacji definicji raportów na urządzenie brana jest pod uwagę data modyfikacji pliku. W celu wymuszenia synchronizacji raportu należy wykonać dowolną modyfikację.
Zmiana ID raportu na ujemne
Istnieje możliwość zmiany języka raportu.
Przykład
W przypadku, gdy w wersji polskojęzycznej chcemy mieć raport w języku niemieckim, to należy zmodyfikować ostatni człon nazwy z deu na pol, następnie należy zmienić datę modyfikacji.

Elementy składowe

Definicja raportu składa się z danych sekcji xml. Główną sekcją raportu jest sekcja reportW niej zaś zawarte są następujące:
  • reportHeader
  • reportType
  • onListVisibillity
  • arguments
  • elements
W celu opisania elementów składowych raportów jako przykład wykorzystany zostanie standardowy raport dostępny w aplikacji Comarch Mobile - Podsumowanie dnia, którego definicja znajduje się w pliku 2#SummaryOfTheDay#pol.xml.

 

Nagłówek

Nagłówek raportu opisany jest sekcją reportHeader, w niej zaś znajdują się poniższe:
Nazwa name
Opis Nazwa raportu.
Parametry
  • wartość tekstowa
 
Nazwa description
Opis Opis raportu.
Parametry
  • wartość tekstowa
Przykład
<reportHeader> <name>Podsumowanie dnia</name> <description>Podsumowanie wykonanych w dniu operacji. Sprzedaż wg grup. Udział grup w sprzedaży dnia.</description> </reportHeader>
 
Widok raportu w kaflu Raporty
 

Typ raportu

Sekcja oznaczająca typ raportu: reportType. Musi zawierać następującą sekcję:
Nazwa value
Opis Wartość typu raportu. Np. jeżeli użytkownik nie posiada praw do dokumentów zakupowych, to nie wykona raportu o typie 1 oraz 0.
Parametry
  • 0 - wszystkie typy
  • 1 - raport sprzedażowy
  • 2 - raport zakupowy
  • 3 - raport serwisowy
Przykład
<reportType> <value>0</value> </reportType>
 

Widoczność raportu

Sekcja onListVisibillity określa miejsca w aplikacji mobilnej poza kaflem Raporty, z których dostępny jest raport. Musi zawierać następującą sekcję:
Nazwa value
Opis Wartość występowania raportu. Możliwe wartości łączone np. 129 = 128+1 - raport widoczny zarówno na liście kontrahentów jak i karcie kontrahenta.
Parametry
  • 0 - tylko lista raportów
  • - lista kontrahentów
  • - lista towarów
  • - element wizyty "Inny"
  • 8 - listy pozycji dokumentów
  • 16 - duża kalkulacja podczas dodawania pozycji na dokument
  • 32 - pasek po rozpoczęciu wizyty handlowej
  • 64 - karta towaru
  • 128 - karta kontrahenta
  • suma wybranych wartości
Przykład
<onListVisibillity> <value>8</value> </onListVisibillity>
 
Dostępność raportu z poziomu dodawania pozycji na dokumencie
 

Argumenty

Raport może wykorzystywać podane przez użytkownika aplikacji po kliknięciu w ikonę ołówka argumenty (parametry). Argumenty znajdują się w sekcji arguments definicji raportu, zaś poszczególne argumenty opatrzone są sekcją argument według następującego przykładu:
Przykład
<arguments> <argument> ... </argument> </arguments>
 
Parametry raportu Podsumowanie dnia
 
Wskazówka
Aby wstawiane polecenia SQL działały poprawnie należy umieścić je w znaczniku <![CDATA[ polecenieSQL ]>  w celu wyłączenia spod analizy deserializatora XML.
  Argument może zawierać następujące sekcje:
Nazwa id
Opis Identyfikator argumentu.
Parametry
  • wartość liczbowa
 
Nazwa typeId
Opis Typ argumentu.
Parametry
  • 0 - wybór daty
  • 1 - pole tekstowe
  • 2 - lista z parametrami zdefiniowanymi w sekcji posibleSQL
  • 3 - pole liczbowe
  • 4 - wybór kontrahenta
  • 5 - wybór towaru
  • - wybór typu check
Wskazówka
Jeżeli typ argumentu został wybrany jako 0 (wybór daty), to element defaultSQL należy ustawić jako: <![CDATA[select date('now','localtime')]]> zaś posibleSQL zostawić puste wstawiając: <![CDATA[]]>
Przykład
Przykład argumentu wybranego jako typ (typ check) w raporcie Prezentacja partii towaru (45#ItemLots#pol.xml) dostępnym przy współpracy z systemem ERP Altum: <argument> <id>3</id> <typeId>6</typeId> <name>mag</name> <visibleName>Magazyn</visibleName> <defaultSQL><![CDATA[ SELECT '(' || group_concat(id, ',') || ')' AS Conc, 'Wszystkie' AS Value FROM Warehouses WHERE IsActive = 1 AND Id > 0 GROUP BY Value ]]> </defaultSQL> <posibleSQL><![CDATA[ SELECT id || ' [' || code || '] ' , name FROM Warehouses WHERE IsActive = 1 AND Id > 0 ]]> </posibleSQL> </argument>
 
Widok wyboru parametru o typie check
 
Nazwa name
Opis Nazwa argumentu używana w poleceniach SQL.
Parametry
  • wartość tekstowa
 
Nazwa visibleName
Opis Nazwa argumentu widoczna w aplikacji.
Parametry
  • wartość tekstowa
 
Nazwa defaultSQL
Opis Wartość parametru ustawiana domyślnie. Jeżeli wartość pozostanie pusta (ustawiona na <![CDATA[]]>) to wartość parametru w aplikacji ustawi się na 'Wybierz wartość' i konieczny będzie wybór tego parametru przed otwarciem raportu.
Parametry
  • polecenie SQL
 
Nazwa posibleSQL
Opis Wartości parametru możliwe do wyboru.
Parametry
  • polecenie SQL
 
Nazwa isErpSQL
Opis Znacznik decydujący czy polecenie SQL ma być wykonywane na bazie systemu ERP. Używany w raportach online.
Parametry
  • brak sekcji - polecenie wykonywane na bazie mobilnej
  • - polecenie wykonywane na bazie mobilnej
  • - polecenie wykonywane na bazie systemu ERP
 
Nazwa validationRule
Opis Znacznik definiujący sposób walidacji argumentu (tylko dla typu data).
Parametry
  • Trzy cyfry oddzielone kropkami np. 2.0.1:
    • Pierwsza cyfra: 0 - brak walidacji 1 - sprawdzenie, czy data jest przyszła 2 - sprawdzenie, która data jest późniejsza
    • Druga cyfra - określa pary argumentów (np. argument dataOd 2.1.1 a dataDo 2.1.2)
    • Trzecia cyfra - określa która data ma być wcześniejszą (wartość 1), a która późniejszą (wartość 2)
 
Przykład
<argument> <id>2</id> <typeId>2</typeId> <name>grupowanie</name> <visibleName>Sposób grupowania</visibleName> <defaultSQL><![CDATA[select 0,'Brak']]></defaultSQL> <posibleSQL><![CDATA[select 0,'Brak' union all select 1,'Kategoria' union all select 2,'Marka' union all select 3,'Producent' union all select 4,'Grupa']]></posibleSQL> </argument>
  Zdefiniowany w powyższym przykładzie argument widoczny jest w aplikacji w następujący sposób:
Parametr Sposób grupowania
 

Elementy

Elementy raportu składają się na jego wygląd w aplikacji mobilnej. Poszczególne elementy raportu znajdują się w sekcji elements definicji raportu, zaś każda z poniżej opisanych sekcji może znajdować się w sekcji elementktóra jest definicją jednego elementu.
Przykład
<elements> <element> ... </element> </elements>
 
Nazwa id
Opis Identyfikator elementu.
Parametry
  • wartość liczbowa
 
Nazwa typeId
Opis Typ elementu.
Parametry
  • 0 – nagłówek raportu, który w aplikacji widoczny jest w raporcie na zielonej belce.
  • 1 – tabela1
  • 2 – tabela2
  • 3 – wykres słupkowy
  • 4 – wykres kołowy
  • 5 – wykres liniowy
  • 6 – wartość tekstowa
 
Nazwa sql
Opis Polecenie SQL wykonywane na bazie SQL, które tworzy tabelę wynikową. Podanie argumentu odbywa się poprzez umieszczenie jego nazwy w znakach @ np. @grupowanie@.
Parametry
  • polecenie SQL/polecenie wywołujące procedurę
 
Nazwa header
Opis Nagłówek elementu.
Parametry
  • wartość tekstowa/polecenie SQL
 
Nazwa headerType
Opis Typ nagłówka raportu.
Parametry
  • 0 - tekst
  • 1 - polecenie SQL
 
Nazwa isSummary 
Opis Znacznik czy element zawiera podsumowanie zwartości tabeli. W przypadku jego użycia w sekcji sql należy umieścić polecenia sumujące wybrane kolumny tabeli.
Parametry
  • brak sekcji - brak podsumowania
  • 0 - brak podsumowania
  • 1 - podsumowanie
  • polecenie SQL zwracające jedną z powyższych wartości
 
Nazwa isSummaryType
Opis Typ znacznika podsumowania.
Parametry
  • brak sekcji - wartość liczbowa
  • 0 - wartość liczbowa
  • 1 - polecenie SQL
 
Nazwa isErpSQL
Opis Znacznik czy polecenie ma być wykonane na bazie systemu ERP. Używany w raportach online.
Parametry
  • brak sekcji - polecenie wykonywane na bazie mobilnej
  • 0 - polecenie wykonywane na bazie mobilnej
  • 1 - polecenie wykonywane na bazie systemu ERP
 
Nazwa reportTypeVisibility
Opis Widoczność elementu w zależności od rodzaju raportu.
Parametry
  • 0 - wszystkie typy
  • 1 - raport sprzedażowy
  • 2 - raport zakupowy
  • 3 - raport serwisowy
 
Nazwa showNumberOfRows
Opis Wyświetla liczbę zwróconych rekordów w tabeli jako ostatni wiersz tabeli. Używane tylko gdy sekcja isSummary przyjmuje wartość 1.
Parametry
  • brak sekcji - nie wyświetlaj
  • 0 - nie wyświetlaj
  • 1 - wyświetl
 
Nazwa isExecute
Opis Znacznik czy wykonać dany element.
Parametry
  • 0 - brak wykonania
  • 1 - wykonanie
  • polecenie SQL zwracające jedną z powyższych wartości
 
Nazwa isExecuteType
Opis Typ znacznika wykonania elementu.
Parametry
  • brak sekcji - wartość liczbowa
  • - wartość liczbowa
  • 1 - polecenie SQL
Przykład
<element>
<id>8</id>
<typeId>3</typeId>
<sql>
<![CDATA[

select
coalesce(categories.name, 'Brak kategorii') as Kategoria,
sum(DocumentsPositions.GrossValueInSystemCurrency) as NetValue
from documents
join documentspositions
on documentspositions.documentid = documents.id
AND DocumentsPositions.DocumentIsLocal = Documents.DocumentIsLocal
and DocumentsPositions.IsItemsSetVirtualPosition = 0
and DocumentsPositions.RelatedItemsSetOrdinal is null
join items on items.id = documentspositions.itemid
left join categories on items.categoryid = categories.id
where Documents.DocumentIsLocal = 1 AND documents.NumeratorId IN (16,17) AND datetime(DocumentDate/1000, 'unixepoch','localtime') >datetime(date(@data@/1000, 'unixepoch', 'localtime'),'start of day') and  datetime(DocumentDate/1000, 'unixepoch','localtime') <datetime(date(@data@/1000, 'unixepoch','localtime'),'start of day','+1 day', '-1 seconds')  and 1 = @grupowanie@ group by categories.name

union all

select
coalesce(brands.name, 'brak marki') as Marka,
sum(DocumentsPositions.GrossValueInSystemCurrency) as NetValue
from documents
join documentspositions
 on documentspositions.documentid = documents.id
 AND DocumentsPositions.DocumentIsLocal = Documents.DocumentIsLocal
 and DocumentsPositions.IsItemsSetVirtualPosition = 0
 and DocumentsPositions.RelatedItemsSetOrdinal is null
join items on items.id = documentspositions.itemid
left join brands on items.brandid = brands.id
where Documents.DocumentIsLocal = 1 AND documents.NumeratorId IN (16,17) AND datetime(DocumentDate/1000, 'unixepoch','localtime') >datetime(date(@data@/1000, 'unixepoch', 'localtime'),'start of day') and  datetime(DocumentDate/1000, 'unixepoch','localtime') <datetime(date(@data@/1000, 'unixepoch','localtime'),'start of day','+1 day', '-1 seconds')  and 2 = @grupowanie@ group by brands.name

union all

select
coalesce(Producers.name, 'brak producenta') as Grouping,
sum(DocumentsPositions.GrossValueInSystemCurrency) as NetValue
from documents
join documentspositions
 on documentspositions.documentid = documents.id
AND DocumentsPositions.DocumentIsLocal = Documents.DocumentIsLocal
and DocumentsPositions.IsItemsSetVirtualPosition = 0
and DocumentsPositions.RelatedItemsSetOrdinal is null
join items on items.id = documentspositions.itemid
left join Producers on items.producerid = Producers.id
where Documents.DocumentIsLocal = 1 AND documents.NumeratorId IN (16,17) AND datetime(DocumentDate/1000, 'unixepoch','localtime') >datetime(date(@data@/1000, 'unixepoch', 'localtime'),'start of day') and  datetime(DocumentDate/1000, 'unixepoch') <datetime(date(@data@/1000, 'unixepoch','localtime'),'start of day','+1 day', '-1 seconds') and 3 = @grupowanie@ group by Producers.name

union all

select
coalesce(ig.name  , 'brak grupy towaru') as Grupa ,
sum(DocumentsPositions.GrossValueInSystemCurrency) as GrossValue
from documents
join documentspositions
on documentspositions.documentid = documents.id
AND DocumentsPositions.DocumentIsLocal = Documents.DocumentIsLocal
and DocumentsPositions.IsItemsSetVirtualPosition = 0
and DocumentsPositions.RelatedItemsSetOrdinal is null
join items on items.id = documentspositions.itemid
join itemsgroupslinks igl on items.id = igl.itemid
join itemsgroups ig on groupid = ig.id
where Documents.DocumentIsLocal = 1 AND documents.NumeratorId IN (16,17) AND (select count(*) from itemsgroups join itemsgroupslinks on itemsgroupslinks.itemid = igl.itemid and itemsgroups.id = itemsgroupslinks.groupid where parentid = ig.id) = 0 and datetime(DocumentDate/1000, 'unixepoch','localtime') >datetime(date(@data@/1000, 'unixepoch', 'localtime'),'start of day') and  datetime(DocumentDate/1000, 'unixepoch','localtime') <datetime(date(@data@/1000, 'unixepoch','localtime'),'start of day','+1 day', '-1 seconds') and @grupowanie@=4 group by ig.name]]>
</sql>
<header>Wykres zakupu wg grupowania</header>
<isSummary>0</isSummary>
<reportTypeVisibility>2</reportTypeVisibility>
</element>
 
Widok standardowego raportu Podsumowanie dnia

Przykład modyfikacji raportu

W celu opisania przykładowej modyfikacji raportu wykorzystany zostanie Raport dobowy przedstawiciela. Do tegoż raportu zostanie dodany argument za pomocą którego możliwe będzie wybranie dnia, z którego dany raport zostanie zaprezentowany. W tym celu należy wyedytować definicję raportu o nazwie 53#DailyReport#pol.xml znajdującą się w domyślnej lokalizacji C:\Program Files (x86)\Comarch Mobile\Serwer synchronizacji\Reports\ i katalogu odpowiednim dla systemu ERP. W pliku tym należy przed sekcją elements dodać sekcję zawierającą argumenty raportu oraz argument o typie daty (typeId = 0) według następującego przykładu:
Przykład
<arguments> <argument> <id>1</id> <typeId>0</typeId> <name>data</name> <visibleName>Data</visibleName> <defaultSQL><![CDATA[]]></defaultSQL> <posibleSQL><![CDATA[select date('now','localtime')]]></posibleSQL> </argument> </arguments>
  Kolejnym krokiem dla lepszej czytelności raportu będzie usunięcie godziny z nagłówka raportu znajdującego się na zielonej belce. Dla pierwszego elementu raportu (id = 1) należy wyedytować sekcję sql w pozostawiając następujące polecenie:
<![CDATA[select '<b<![CDATA[>Raport dobowy<br/><b/> ', date(@data@/1000, 'unixepoch', 'localtime')]]>
Następnie w całym pliku należy wyszukać wszystkie fragmenty kodu odnoszące się do aktualnej daty i zamienić je na odnoszące się do wcześniej zdefiniowanego argumentu. Wobec tego należy fragmenty:
date('now','localtime')
Zamienić na następujące:
date(@data@/1000, 'unixepoch', 'localtime')
Po wykonaniu tych kroków zmodyfikowany raport będzie wymagał wyboru daty:
Widok okna z wyborem parametru
I będzie prezentował dane o stanach magazynów mobilnych oraz wystawionych dokumentach, zapisach kasowych i obrotu kaucjami z wybranego dnia.
Widok raportu z różnymi danymi

Przykłady modyfikacji raportów

Dodanie argumentu

W celu opisania przykładowej modyfikacji raportu wykorzystany zostanie Raport dobowy przedstawiciela. Do raportu zostanie dodany argument za pomocą którego możliwe będzie wybranie dnia, z którego dany raport zostanie zaprezentowany. W tym celu należy wyedytować definicję raportu o nazwie 53#DailyReport#pol.xml znajdującą się w domyślnej lokalizacji C:\Program Files (x86)\Comarch Mobile\Serwer synchronizacji\Reports\ i katalogu odpowiednim dla systemu ERP. W pliku tym należy przed sekcją elements dodać sekcję zawierającą argumenty raportu oraz argument o typie daty (typeId = 0) według następującego przykładu:
Przykład
<arguments> <argument> <id>1</id> <typeId>0</typeId> <name>data</name> <visibleName>Data</visibleName> <defaultSQL><![CDATA[]]></defaultSQL> <posibleSQL><![CDATA[select date('now','localtime')]]></posibleSQL> </argument> </arguments>
  Kolejnym krokiem dla lepszej czytelności raportu będzie usunięcie godziny z nagłówka raportu znajdującego się na zielonej belce. Dla pierwszego elementu raportu (id = 1) należy wyedytować sekcję sql w pozostawiając następujące polecenie:
<![CDATA[select '<b<![CDATA[>Raport dobowy<br/><b/> ', date(@data@/1000, 'unixepoch', 'localtime')]]>
Następnie w całym pliku należy wyszukać wszystkie fragmenty kodu odnoszące się do aktualnej daty i zamienić je na odnoszące się do wcześniej zdefiniowanego argumentu. Wobec tego należy fragmenty:
date('now','localtime')
Zamienić na następujące:
date(@data@/1000, 'unixepoch', 'localtime')
Po wykonaniu tych kroków zmodyfikowany raport będzie wymagał wyboru daty:
Widok okna z wyborem parametru
I będzie prezentował dane o stanach magazynów mobilnych oraz wystawionych dokumentach, zapisach kasowych i obrotu kaucjami z wybranego dnia.
Widok raportu z różnymi danymi

Dodanie nowej kolumny w tabeli

W celu opisania modyfikacji wykorzystany zostanie raport Sprzedaż SKU. Modyfikacja dotyczyć będzie dodania nowej kolumny z kodem EAN w tabeli Towary.  
Standardowy raport Sprzedaż SKU
  W tym celu należy wyedytować definicję raportu o nazwie 1#SalesSKU#pol.xml znajdującą się w domyślnej lokalizacji C:\Program Files (x86)\Comarch Mobile\Serwer synchronizacji\Reports\.
Wskazówka
Poprawność modyfikowanych zapytań SQL można zweryfikować wykonując je na bazie mobilnej (plik data.db na urządzeniu mobilnym) np. za pomocą narzędzia SQLite Studio.
W pliku należy wyedytować zapytanie SQL dla elementu o id = 3 dodając do niego pole zwracające kod EAN dla danego towaru w poleceniu select wraz z funkcją IFNULL, która w przypadku braku kodu EAN dla towaru zwróci pustą wartość w wierszu tabeli. Następnie należy do zapytania dołączyć tabelę ItemsBarcodes używając polecenia LEFT JOIN oraz odpowiednich aliasów. Dodane linijki zostały oznaczone kolorem żółtym.
<id>3</id>
<typeId>1</typeId>
<sql>
<![CDATA[
	Select
		Items.Name as '[l]Nazwa', 
		IFNULL(bar.Barcode, '') AS EAN,
		(sum(DocumentsPositions.Quantity/DocumentsPositions.Denominator*DocumentsPositions.Nominator))  as '[d4]Ilość', 
		DocumentsPositions.UnitName as JM, 
		cast(ROUND(sum(DocumentsPositions.NetValueInSystemCurrency), 2) as Varchar) || ' ' || c.Symbol as 'Netto', 
		cast(ROUND(sum(DocumentsPositions.GrossValueInSystemCurrency), 2) as varchar) || ' ' || c.Symbol as 'Brutto', 
		sum(DocumentsPositions.Quantity) as '[d4]Ilość(podst.)',
		DocumentsPositions.BaseUnitName as 'JM(podst.)'  
	from Documents d
	join DocumentsPositions
	  on d.Id = DocumentsPositions.DocumentId
	 AND d.DocumentIsLocal = DocumentsPositions.DocumentIsLocal
	 and DocumentsPositions.IsItemsSetVirtualPosition = 0
	 and DocumentsPositions.RelatedItemsSetOrdinal is null
	join Items on Items.Id = DocumentsPositions.ItemId 
	left JOIN ItemsBarcodes bar ON bar.ItemId = DocumentsPositions.ItemId
	join Currencies c ON c.e = 1 AND c.IsSystem = 1
	where d.DocumentIsLocal = 1 AND NumeratorId IN (1,2,3,4,5) AND datetime(d.DocumentDate/1000, 'unixepoch','localtime') >datetime(date(@dataOd@/1000, 'unixepoch','localtime'),'start of day') 
	and  datetime(d.DocumentDate/1000, 'unixepoch','localtime') <datetime(date(@dataDo@/1000, 'unixepoch','localtime'),'start of day','+1 day', '-1 seconds')  
	group by DocumentsPositions.ItemId,unitname order by items.name
	]]>
</sql>
  Zmodyfikowany w ten sposób raport będzie prezentował się następująco:
Raport Sprzedaż SKU z dodatkową kolumną EAN

Usunięcie kolumny z tabeli

W celu opisania modyfikacji wykorzystany zostanie raport Ranking kontrahentów kupujących towar, w którym to usunięte zostaną dwie kolumny z tabeli: Marża (kwotowo) i Marża (procentowo).  
Standardowy raport: Ranking kontrahentów kupujących towar
  W tym celu należy wyedytować definicję raportu o nazwie 38#CustomersPurchasingItems#pol.xml znajdującą się w domyślnej lokalizacji C:\Program Files (x86)\Comarch Mobile\Serwer synchronizacji\Reports\.
Wskazówka
Poprawność modyfikowanych zapytań SQL można zweryfikować wykonując je na bazie mobilnej (plik data.db na urządzeniu mobilnym) np. za pomocą narzędzia SQLite Studio.
  Z pliku należy usunąć część zapytania SQL dla elementu o id = 2, która odpowiada za zwrócenie wartości danych kolumn Marża (kwotowo) i Marża (procentowo). Będzie to poniższy fragment, który dla tego elementu występuje dwa razy:
CASE
  WHEN SUBSTR(ROUND(SUM(Case when d.IsVatFromNetValue == 1 THEN dp.MarginValueInSystemCurrency ELSE dp.MarginValueInSystemCurrency*100/(100+dp.VatRateValue) END), 2), LENGTH(ROUND(SUM(Case when d.IsVatFromNetValue == 1 THEN dp.MarginValueInSystemCurrency ELSE dp.MarginValueInSystemCurrency*100/(100+dp.VatRateValue) END), 2))-1,1) = "."
  THEN ROUND(SUM(Case when d.IsVatFromNetValue == 1 THEN dp.MarginValueInSystemCurrency ELSE dp.MarginValueInSystemCurrency*100/(100+dp.VatRateValue) END), 2) || "0" || "<br/>" || (Select Value From Configuration Where Key == 'Currency')
  ELSE ROUND(SUM(Case when d.IsVatFromNetValue == 1 THEN dp.MarginValueInSystemCurrency ELSE dp.MarginValueInSystemCurrency*100/(100+dp.VatRateValue) END), 2) || "<br/>" || (Select Value From Configuration Where Key == 'Currency')
END AS '[c]Marża<br/>(kwotowo)',
					      					
CASE
  WHEN (Select Value From Configuration Where Key == 'MarginCountType') == 1            
  THEN IFNULL(ROUND(ROUND(SUM(Case when d.IsVatFromNetValue == 1 THEN dp.MarginValueInSystemCurrency ELSE dp.MarginValueInSystemCurrency*100/(100+dp.VatRateValue) END), 2)/SUM(dp.EndNetPriceInSystemCurrency * dp.Quantity)*100, 2), 0.00) || " %"               
  ELSE IFNULL(ROUND(ROUND(SUM(Case when d.IsVatFromNetValue == 1 THEN dp.MarginValueInSystemCurrency ELSE dp.MarginValueInSystemCurrency*100/(100+dp.VatRateValue) END), 2)/SUM(dp.BaseNetPriceInSystemCurrency * dp.Quantity)*100, 2), 0.00) || " %"               
END AS '[c]Marża<br/>(procentowo)'
  Dodatkowo należy usunąć możliwość wyboru sortowania danych po usuniętych kolumnach. W tym celu dla argumentu o id = 4 z sekcji posibleSQL należy usunąć następujące wartości:
UNION ALL
SELECT 3, 'Marża(kwotowo)'
UNION ALL
SELECT 4, 'Marża(procentowo)'
  Po wykonaniu powyższych kroków raport powinien wyglądać następująco:
Raport: Ranking kontrahentów kupujących towar po modyfikacji

Kasa

Automatyczna zapłata

Parametr określa, czy będzie dokonywana automatyczna zapłata oraz dla jakich typów dokumentów handlowych ma być ona dokonywana. Aby ustawienie to było dostępne na urządzeniu, należy z poziomu aplikacji, w [Ustawieniach] odszukać parametr [Automatyczna zapłata] i zmienić domyślną opcję [Nie]. Po kliknięciu tego parametru pojawi się okno z możliwością wyboru, dla jakiego dokumentu automatyczna zapłata ma zostać ustawiona.
Możliwość wyboru dla jakiego dokumentu ma zostać ustawiona automatyczna zapłata
Po zaznaczeniu parametru dla danego typu dokumentu oraz po zatwierdzeniu dokumentu automatycznie podniesie się okno z wygenerowanym dokumentem KP.