Konfiguracja funkcjonalności

Ukrywanie cen oraz wartości towarów w kafelku towary i na konkretnych dokumentach

W aplikacji została wprowadzona możliwość ukrywania cen i rabatów w kafelku Towary, za który odpowiada parametr [PricesOnItemsInvisible] (jest on opisany TUTAJ). Jeżeli opcja ta zostanie włączona, wówczas w aplikacji zostaną ukryte następujące informacje:
  • Na karcie towaru ukryta informacja na temat cen towaru, jak na poniższym rysunku:
Ukryta informacja o cennikach na karcie towaru
  • Na liście oferowanych towarów ukryta informacja o cenach poszczególnych towarów, jak na poniższym rysunku:
    Ukryta informacja o cenach na liście towarów
W celu ukrycia cen na poszczególnych dokumentach należy w funkcji SyncFramework.GetNumerators (nazwa_bazy -> Programmability -> Functions -> Table-valued Functions -> SyncFramework.GetNumerators) odnaleźć poniższy fragment i w nawiasie umieścić mob.Dok_GIDTyp dokumentu, na którym mają zostać ukryte ceny.
Przykład
CASE WHEN mob.Dok_GIDTyp IN (9344, 8832) THEN (SELECT CONVERT(NVARCHAR(100),RTRIM(CASE WHEN Ope_WidziCenyZakupu = 1 THEN  0 ELSE 1 END)) FROM CDN.FrmStruktura JOIN CDN.FrmLinki ON FrL_GrOTyp=FrS_GIDTyp AND FrL_GrONumer=FrS_Id AND FrL_GIDTyp=128 JOIN CDN.OpeKarty ON FrL_GIDNumer = Ope_GIDNUmer WHERE FRS_ID = @UserCenterId) WHEN mob.Dok_GIDTyp IN (4700) /*ZSR*/ 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 składników dodawanych do ZSR z ukrytymi informacjami:
Ukryta informacja o cenach składników na dokumencie ZSR
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 składnika
Dopóki dokument nie zostanie przekazany do realizacji albo zatwierdzony informacja o jego wartości nie będzie widoczna. Do momentu zatwierdzenia ukryta zostanie także informacja o cenach i wartościach w widoku towarów dodanych do koszyka, jak na poniższym rysunku:
Ukryta informacja o wartościach i cenach na niezatwierdzonym dokumencie ZSR
Informacja wyświetlana na kaflu Raporty, dotycząca wartości wystawionych w aplikacji dokumentów, także nie będzie uwzględniała niezatwierdzonych dokumentów. Po wywołaniu filtra: Dokumenty kontrahenta lub Wszystkie dokumenty, na wyświetlonej liście dokumentów historycznych informacja na temat wartości tych dokumentów zostanie ukryta. W aplikacji Comarch Mobile wprowadzono nowy parametr ForceHidingPrices (jest on 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 pliku documentsnumerators.xl.statement (Comarch Mobile\Serwer synchronizacji\Methods\documentsnumerators)

Zmiana klawiatury systemowej Androida na klawiaturę wbudowaną

Aplikacja Comarch Mobile Serwis posiada własną, dedykowaną klawiaturę instalowaną automatycznie z aplikacją. Podczas korzystania z aplikacji zalecane jest używanie dedykowanej klawiatury.

  • Aby uruchomić dedykowaną klawiaturę na telefonach ze starszą wersją systemu Android należy wejść do ustawień urządzenia, a następnie wybrać opcję [Język i klawiatura] lub [Język i wprowadzanie].
Opcja: Język i klawiatura
Wybór klawiatury: Comarch- Instalator
  • Na urządzeniach z nowszą wersją systemu Android, dedykowaną klawiaturę wybieramy wchodząc w [Ustawienia], a następnie w [Język i wprowadzanie].
Następnie należy zaznaczyć w sekcji Klawiatura i metody wprowadzania [Comarch Instalator], a następnie wybrać klawiaturę [Comarch Instalator] jako domyślną.
Ustawienia telefonu, język i wprowadzanie
Od tego momentu dostępna będzie dedykowana klawiatura dla aplikacji.
Dedykowana klawiatura - numeryczna i tekstowa
 

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 synchronizacjiViewsConfiguration. 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”>
  • danych na nagłówku dokumentu ZSR:
<activity name=”com.comarch.mobile.vendor.service.adapters.ServiceOrderHeaderAdapter”>
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.
 

Podgląd historycznych zapisów kasowych

Historyczne zapisy kasowe, można podejrzeć z poziomu listy Wpłaty/Wypłaty na Karcie kontrahenta. Wszystkie zapisy kasowe wyświetlone z tego poziomu będą dotyczyć tylko tego konkretnego kontrahenta. Zapisy kasowe pobrane z systemu oznaczane są ikoną:  analogicznie jak w przypadku dokumentów oraz działań pobranych z systemu. Po wybraniu danego dokumentu KP/KW z listy zostaną wyświetlone jego szczegóły. Historyczne zapisy kasowe można wyświetlić także z poziomu kafla: Kasa. W tym widoku została dodana druga zakładka: Historyczne zapisy kasowe, z poziomu której wyświetlane są wszystkie historyczne zapisy kasowe – dotyczące wszystkich kontrahentów dostępnych w aplikacji.
Podgląd historycznych zapisów kasowych możliwy z poziomu karty kontrahenta oraz kafla: Kasa

Dodawanie niestandardowego filtra do listy

Dodawanie filtra

W celu dodania niestandardowego filtra do listy towarów, kontrahentów lub na liście czynności i zleceń serwisowych,  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), itemsList (filtr pojawi się na liście towarów), serviceOrdersDocumentsList(filtr pojawi się na liście zleceń serwisowych) lub serviceOrdersActionsList (filtr pojawi się na liście czynności serwisowych)  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, boolean)
Sekcje te (oprócz inputType) są częścią zapytania wykonywanego przez aplikację mobilną w celu wyświetlenia elementów listy towarów, listy kontrahentów, listy zleceń serwisowych bądź listy czynności serwisowych (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

Towary

Cena ewidencyjna towaru

W aplikacji Comarch Mobile Serwis została wprowadzona funkcjonalność dotycząca wyświetlania ceny ewidencyjnej towaru, czyli najwyższej aktualnej ceny zakupu towaru, do którego Serwisant ma dostęp. Aby cena ewidencyjna towaru była wyświetlana w aplikacji, należy odpowiednio skonfigurować  klasę atrybutu w systemie Comarch ERP XL.
Tworzenie klasy atrybutu
Dodanie obiektów do klasy atrybutu
Od wersji 2017.1 ERP XL jest możliwość nadawania uprawnień do atrybutów per Operator. Na zakladce  Dostępność, można przypiąć operatorów, którzy powinni mieć dostęp do danej klasy atrybutu. Każdemu operatorowi można nadać dwa uprawnienia:
  • Wprowadzenie – możliwość przypisania wartości do atrybutu,
  • Zmiana – możliwość edycji wartości atrybutu,
lub nie zaznaczać żadnej z nich – wówczas taki operator będzie miał tylko możliwość podglądu takiego atrybutu oraz przypięcia klasy ale bez określania wartości. Żeby udostępnić atrybut per operator, wymagane jest określenie dostępności takiego atrybutu na zakładce Ogólne. Jeśli na zakładce Dostępność zostanie określony operator, ale atrybut nie będzie udostępniony w Comarch Mobile (zakładka Ogólne) nie będzie on widoczny w aplikacji.
Dodanie Operatora do klasy atrybutu
Dodany atrybut na danym operatorze

Kolorowanie towarów w aplikacji

W aplikacji, analogicznie jak w systemie Comarch ERP XL istnieje możliwość kolorowania towarów. Aby dany rodzaj towarów został pokolorowany w aplikacji należy w systemie Comarch ERP XL, w module [Administrator] wybrać z menu pozycję: Listy\Słowniki kategorii\ Inne\Rodzaje towarów i przypisać odpowiedni kolor do danego rodzaju towaru.
Przypisywanie koloru do rodzaju towaru w systemie Comarch ERP XL
Karta towaru z oznaczonym rodzajem towaru
Po wykonaniu synchronizacji towary dostępne w aplikacji zostaną oznaczone na liście towarów odpowiednim kolorem. Przed nazwą i kodem każdego pokolorowanego towaru będzie widoczny rodzaj towaru.
Kolorowanie towarów w aplikacji

Dostępność jednostek pomocniczych w aplikacji

W aplikacji Comarch Mobile Serwis 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:
  • RW (Rozchód wewnętrzny)
  • ZSR (Zlecenie serwisowe)
Za tę funkcjonalność odpowiada parametr [IsBaseUnitVisible], który może przyjmować dwie wartości: 1 – wartość domyślna, jeżeli na towarze domyślną jednostką lub jednostką wybraną podczas dodawania do Koszyka jest jednostka pomocnicza, wówczas na liście towarów wyświetlana jest cena w jednostce pomocniczej oraz jednostce podstawowej, 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

Wyświetlanie/ukrywanie informacji o stanach magazynowych

Istnieje możliwość wyboru wyświetlenia\ukrycia informacji o stanach magazynowych w centrali.
Uwaga
W folderze [Methods], w pliku konfiguracyjnym [configuration.xl.statement] 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. Zmiana tego parametru w pliku konfiguracyjnym odnosić będzie się do wszystkich operatorów mobilnych. Więcej informacji nt. tego parametru znajduje się TUTAJ
W przypadku chęci ukrycia stanów magazynowych konkretnemu operatorowi należy w systemie Comarch ERP XL na karcie operatora w zakładce Atrybuty utworzyć atrybut: ‘Czy widzi stany magazynowe’ o Typie: Flaga i ustawić jego wartość na 'NIE'.
Atrybut: ‘Czy widzi stany magazynowe’ do ukrywania widoczności stanów magazynowych konkretnym operatorom
Uzupełniony atrybut 'Czy widzi stany magazynowe' na karcie operatora

Widoczność zdjęć towarów w aplikacji

Aby zdjęcia dodane do kartotek towarowych systemu Comarch ERP XL były widoczne w aplikacji Comarch Mobile Serwis należy na zakładce [Załączniki] zaznaczyć poniższą opcję.
Ustawienie widoczności 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 synchronizacji Comarch Mobile odnaleźć plik articlesphotos.configuration i go wyedytować w notatniku, podając długość dłuższej krawędzi zdjęcia.
W pliku articlesphotos.configuration znajdującym się domyślnie w folderze: C:\Program Files (x86)\Comarch Mobile\Serwer synchronizacji\Methods\articlesphotos dostępne są następujące parametry:
  • 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.
W aplikacji Comarch Mobile Serwis istnieje możliwość dodawania załączników z poziomu aplikacji. Opcja ta dotyczy następujących obiektów:
  • Karty kontrahenta
  • Karty towaru
  • Nagłówka dokumentów
  • Pozycji dokumentów niektórych dokumentów. Więcej informacji znajduje się TUTAJ.

Obsługa cech

Aplikacja Comarch Mobile Serwis obsługuje cechy towarów na dokumencie RW. W przypadku prezentacji zasobów z rozbiciem na partie prezentowane są Cechy towaru, Daty ważności, Kody EAN partii. Do obsługi tej funkcjonalności wymagane są następujące parametry:
  • [IsItemsFeaturesEnabled] – parametr działa globalnie, domyślnie przyjmuje wartość 1, odpowiada za obsługę cech na wszystkich towarach. Dodatkowo w Comarch ERP XL na zakładce [Aplikacje] należy zaznaczyć znacznik [Wysyłanie partii], w innym przypadku pomimo, że parametr [IsItemsFeaturesEnabled] będzie włączony cechy na towarze nie będą obsługiwane. Więcej informacji nt. tego parametru znajduje się TUTAJ.
Parametr na karcie towaru – czy partie towaru mają być wyświetlane w aplikacji
Informacja o zasobach danego towaru w Comarch ERP XL dostępna jest na karcie towaru, po przejściu na zakładkę: Zasoby/Wg położenia. Jeśli nie jest zaznaczona [Data ważności] na towarze, to nie ma możliwości określenia jej na dużej kalkulacji, pomimo posiadania zasobów z datą.
Informacja o zasobach danego towaru z rozbiciem na partie
W aplikacji mobilnej na karcie towaru po wejściu w sekcję Stany/W centrali, następnie w magazyn jest wyświetlany z rozbiciem na poszczególne partie. Jeżeli partie towaru opatrzone są Datą ważności i/lub kodem EAN, to takie informacje także będą prezentowane. Ilość danego zasobu (danej partii) wyświetlana jest w jednostce domyślnej towaru.
  • [CanAddValuesToOpenList] – parametr odpowiedzialny za to, czy użytkownicy powinni mieć możliwość dodawania wartości do listy otwartej. Na liście cech, na ostatniej pozycji pojawia się opcja , po wprowadzeniu wartości zostaje ona dodana do listy. Więcej informacji nt. tego parametru znajduje się TUTAJ.
Definiowanie cech i ich wartości w module Sprzedaż, z poziomu menu: Listy/Cechy

Obsługa zamienników

Dodawanie zamiennika w systemie ERP

W celu prawidłowej konfiguracji zamiennika należy określić w systemie ERP:
  • Kod zamiennika,
  • Rodzaj zamiennika (Jednostronny, Obustronny, Równoważny wszystkim),
  • Ile zamiennika (np. T2) przysługuje danej ilości towaru podstawowego (np. T1) (wyrażone w jednostkach podstawowych obydwu towarów),
  • Na jakich dokumentach ma być dostępny zamiennik (Rozchodowe, Przychodowe).
  • Miejsce w strukturze firmy – wskazać należy odpowiedni Oddział mobilny, jeśli zamiennik ma być dostępny w aplikacji.
Konfiguracja zamiennika w Comarch ERP XL
W konfiguracji oddziału mobilnego w Comarch ERP XL należy zaznaczyć check: „Wysyłaj informacje o zamiennikach towarów”.
Check: „Wysyłaj informacje o zamiennikach towarów” w konfiguracji oddziału mobilnego.
Pobranie zamienników do Comarch Mobile wymaga:
  • Włączenia pobierania zamienników dla oddziału mobilnego
  • Udostępnienia w Comarch Mobile towaru będącego zamiennikiem
  • Wskazanie na karcie zamiennika, na zakładce: Miejsca w strukturze firmy, centrum mobilnego do którego należy operator zalogowany w aplikacji

Rodzaje zamienników

  1. Zamiennik Jednostronny – jeśli dla towaru T1 został określony zamiennik T2 będzie to oznaczało, że:
    • Na karcie towaru T1 będzie widoczny zamiennik T2
    • Na karcie towaru T2 nie będzie widoczny zamiennik T1
    • Jeżeli na dokumencie zostanie wybrany towar T1, będzie można zamienić go na T2
    • Jeżeli na dokumencie zostanie wybrany towar T2, nie będzie można zamienić go na T1
  2. Zamiennik Obustronny – jeżeli dla towaru T1 został określony zamiennik obustronny T2 i do towaru T2 zdefiniowany zamiennik obustronny T3, będzie to oznaczało, że:
    • Na karcie towaru T1 będzie widoczny zamiennik T2, ale nie będzie widać zamiennika T3
    • Na karcie towaru T2 będą widoczne zamienniki: T1 i T3
    • Na karcie towaru T3 będzie widoczny zamiennik T2, ale nie będzie widoczny zamiennik T1
    • Jeżeli na dokumencie zostanie wybrany towar T1, będzie można zamienić go na T2, ale nie na T3
    • Jeżeli na dokumencie zostanie wybrany towar T2, będzie można zamienić go na T1 lub T3
    • Jeżeli na dokumencie zostanie wybrany towar T3, będzie można zamienić go na T2, ale nie na T1
  3. Równoważny wszystkim – jeżeli dla towaru T1 zostanie określony zamiennik równoważny T2 i do towaru T2 zostanie zdefiniowany zamiennik równoważny T3, będzie to oznaczało, że:
    • Na karcie towaru T1 będą widoczne zamienniki: T2 i T3
    • Na karcie towaru T2 będą widoczne zamienniki: T1 i T3
    • Na karcie towaru T3 będą widoczne zamienniki: T1 i T2
    • Jeżeli na dokumencie zostanie wybrany towar T1, będzie można zamienić go na T2 lub na T3
    • Jeżeli na dokumencie zostanie wybrany towar T2, będzie można zamienić go na T1 lub na T3
    • Jeżeli na dokumencie zostanie wybrany towar T3, będzie można zamienić go na T1 lub na T2
Typy dokumentów, dla których obsłużono zamienniki:
  • Zamówienie Sprzedaży (ZS),
  • Oferta Sprzedaży (OS)
  • Faktura Sprzedaży (FS)
  • Paragon (PA)
  • Wydanie Zewnętrzne (WZ)
  • Wydanie Magazynowe (WM)
  • Rozchód Wewnętrzny (RW)
  • Przesunięcie Międzymagazynowe (MMW)
  • Wydanie Kaucji (WKA)
  • Korekta Wydania Kaucji (WKK)

Przypisanie grupy towarów oraz magazynów do kontrahenta

W systemie Comarch ERP XL istnieje możliwość przypisania grupy towarów oraz magazynów, z których pobierane będą towary dla danego kontrahenta. Dostępne towary oraz magazyny dla danego kontrahenta należy wskazać na Karcie kontrahenta, zakładka [Aplikacje].
  • Grupa towarów – można wybrać grupę towarów, która będzie dostępna w aplikacji dla danego kontrahenta
  • Magazyny – można wybrać magazyny, które będą dostępne dla danego Kontrahenta. Dodatkowo, można określić magazyn domyślny
Przypisanie grupy towarów oraz magazynów do kontrahenta

W przypadku wyboru Magazynów istnieje możliwość określenia, który magazyn będzie domyślny i dostępny w aplikacji Comarch Mobile Serwis.

Przypisanie magazynów do kontrahenta, określenie magazynu domyślnego i dostępnego w aplikacji

Wiele cen sprzedaży

Wprowadzono możliwość definiowania dla towaru wielu cen tego samego rodzaju, określania dat i godzin obowiązywania cenników oraz różnych statusów cenników (niepotwierdzonych, zatwierdzonych oraz anulowanych). Możliwość zmiany ceny początkowej na pozycji wystawianego dokumentu ZSR jest  dostępna w aplikacji mobilnej dla operatorów, którzy na oddziale mobilnym w systemie Comarch ERP XL, na definicji dokumentu ZSR, mają zaznaczony parametr [Edycja cen i rabatów na pozycjach] oraz dodatkowo jeżeli na serwerze synchronizacji jest włączona opcja zmiany ceny początkowej – parametr [CanChangeStartPrice] w pliku konfiguracyjnym. W przypadku zmiany daty wystawienia dokumentu na nagłówku, zmiany będą aktualizowane, jeżeli na definicji wystawianego dokumentu dla centrum mobilnego przedstawiciela będzie zaznaczony parametr [Aktualizacja danych po zmianie: Daty].

Obsługa atrybutów

Istnieje możliwość pobierania i wypełniania atrybutów. Atrybuty w aplikacji Comarch Mobile prezentowane są w sekcji: [Informacje dodatkowe]. Atrybuty można wyświetlać jako klasy lub klasy w grupach. Obsługa atrybutów przy współpracy z systemem Comarch ERP XL
Typy obiektów Funkcjonalność
Kontrahenci Podgląd i edycja
Towary Podgląd
Samochody Podgląd
Nagłówki dokumentów Podgląd i edycja
Pozycje dokumentów Podgląd i edycja
Aby klasa atrybutu była widoczna w aplikacji mobilnej należy w definicji atrybutu wskazać obiekty na zakładce [Obiekty] oraz zaznaczyć parametr [Podgląd] w grupie [Comarch Mobile] na zakładce [Ogólne]. Zaznaczenie parametru [Edycja] umożliwi dodatkowo edycję atrybutów na niektórych typach obiektów.
Przykładowa definicja klasy atrybutu w systemie Comarch ERP XL
W aplikacji mobilnej obsługiwane są również flagi [Wymagany] oraz [Automat]. Jeżeli dany atrybut jest oznaczony jako Wymagany w systemie ERP, to w aplikacji Comarch Mobile jest oznaczony znakiem . W aplikacji obsługiwane są następujące typy atrybutów:
  • Flaga
  • Tekst
  • Liczba
  • Lista
  • Adres URL – w przypadku wskazania adresu strony internetowej, po naciśnięciu przycisku strona zostanie otwarta w domyślnej przeglądarce na urządzeniu mobilnym
W aplikacji obsłużone zostały następujące formaty atrybutów:
  • Tekst
  • Data
  • 1234
  • 1234.56
  • 1234.5678
  • Zaawansowany
Aby była możliwość wyświetlania atrybutów w grupach należy w systemie Comarch ERP XL na liście Atrybutów z poziomu zakładki [Grupy klas atrybutów] stworzyć odpowiednie grupy atrybutów:
Definicja grupy klasy atrybutu
oraz przypisać do stworzonej grupy obiekt, z którego poziomu ma być dostępna grupa atrybutów.
Przypisanie obiektu
Następnie należy przypisać odpowiednie klasy atrybutów. Jedna klasa może być przypięta do kilku grup jednocześnie.

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

Za opcję wyświetlania procentu rabatu na liście towarów odpowiada parametr [IsDiscountVisible]. Więcej informacji nt. tego parametru znajduje się TUTAJ.
Ustawienia aplikacji – dodatkowy parametr [Obliczaj hipotetyczny rabat]

Dostępność kartotek towarowych w aplikacji

Aby kartoteki z wybranej grupy towarowej były widoczne w aplikacji Comarch Mobile Serwis należy na zakładce Aplikacje karty towaru zaznaczyć opcję [Dostępny w: Comarch Mobile]. Po zaznaczeniu pola i wykonaniu synchronizacji towar będzie widoczny na urządzeniu mobilnym.
Dostępność kartoteki towarowej w aplikacji
Dostępność można oznaczyć również dla wszystkich kart towarowych znajdujących się w grupie. Odbywa się to poprzez edycje wzorca grupy i zaznaczenie opcji [Dostępny w: Comarch Mobile] na zakładce [Aplikacje]. W pierwszej kolejności należy zaznaczyć pole: dostępny w: Comarch Mobile. Aby nowododane do grupy lub jej podgrup towary miały automatycznie zaznaczoną dostępność w Mobile Sprzedaż trzeba również zaznaczyć opcję [Aktualizacja wzorców] i wybrać [Zmienione pola].
Ustawianie dostępności kartotek towarowych na wzorcu grupy
Uwaga
Aby karta towaru była dostępna w aplikacji Comarch Mobile Serwis, oprócz zaznaczenia opcji dostępności kartoteki w Comarch Mobile w systemie Comarch ERP XL należy również przypiąć odpowiednią grupę towarową w konfiguracji centrum mobilnego.
Uwaga
Aplikacja Comarch Mobile Serwis nie obsługuje zestawów towarowych.

Precyzja cen w aplikacji mobilnej

W aplikacji Comarch Mobile istnieje możliwość wyboru precyzji ceny na typie ceny oraz na definicji dokumentu, tak aby można było wykorzystywać ceny towarów określane z czterema miejscami po przecinku oraz sprzedawać je w dużych ilościach, np. (100szt. x 1,3333zł = 133,33zł, a 100szt. x 1,33zł= 133,00zł). Aby w aplikacji Comarch Mobile istniała możliwość prezentacji towaru na karcie towaru z precyzją do dwóch lub do czterech miejsc po przecinku. W systemie Comarch ERP XL w Administratorze należy zaznaczyć precyzję na typie ceny.
Przypisanie precyzji cen wyświetlanych w aplikacji Comarch Mobile na kartotece towaru
Zaznaczenie opcji [Cena z dokładnością do groszy] spowoduje wyświetlanie cen z dokładnością do dwóch miejsc po przecinku (standardowe działanie aplikacji), natomiast odznaczenie parametru spowoduje wyświetlanie cen z dokładnością do czterech miejsc po przecinku.
Prezentacja ceny na karcie towary z precyzją a) do dwóch miejsc po przecinku, b) do czterech miejsc po przecinku
Dodatkowo istnieje możliwość ustawienia precyzji ceny na definicji dokumentu na centrum operatora.
Przypisanie precyzji cen wyświetlanych w aplikacji Comarch Mobile Sppodczas wystawiania dokumentów
  Zaznaczenie opcji [Cena z dokładnością do groszy] spowoduje wyświetlanie cen z dokładnością do dwóch miejsc po przecinku (standardowe działanie aplikacji), natomiast odznaczenie parametru spowoduje wyświetlanie cen z dokładnością do czterech miejsc po przecinku.
Prezentacja ceny podczas wystawiania dokumentu z precyzją a) do dwóch miejsc po przecinku, b) do czterech miejsc po przecinku
Cena z wybraną precyzją widoczna jest na liście towaru podczas wystawiania dokumentu, na małej kalkulacji oraz w zakładce Koszyk.

Definiowania wielu cen tego samego rodzaju, określania dat i godzin obowiązywania cenników oraz różnych statusów cenników

Istnieje możliwość definiowania dla towaru wielu cen tego samego rodzaju, określania dat i godzin obowiązywania cenników oraz różnych statusów cenników (niepotwierdzonych, zatwierdzonych oraz anulowanych).
Lista cenników w Comarch ERP XL
Na karcie i liście towarów prezentowana jest cena wybrana, jako domyślna w konfiguracji centrum mobilnym.
Dostępne rodzaje cen i domyślna cena na centrum mobilnym przedstawiciela
Prezentacja cen sprzedaży na karcie towaru

Widoczność cen zakupu

Na karcie operatora można określić, czy będzie on widział ceny zakupu towarów oraz wysokość marży na elemencie/dokumencie. Decyduje o tym opcja [Widzi ceny zakupu], znajdująca się na karcie operatora, na zakładce [Parametry/Handlowe].
Widoczność cen zakupu i marży

Wiele cen sprzedaży

Wprowadzono możliwość definiowania dla towaru wielu cen tego samego rodzaju, określania dat i godzin obowiązywania cenników oraz różnych statusów cenników (niepotwierdzonych, zatwierdzonych oraz anulowanych). Możliwość zmiany ceny początkowej na pozycji wystawianego dokumentu ZSR jest  dostępna w aplikacji mobilnej dla operatorów, którzy na oddziale mobilnym w systemie Comarch ERP XL, na definicji dokumentu ZSR, mają zaznaczony parametr [Edycja cen i rabatów na pozycjach] oraz dodatkowo jeżeli na serwerze synchronizacji jest włączona opcja zmiany ceny początkowej – parametr [CanChangeStartPrice] w pliku konfiguracyjnym. W przypadku zmiany daty wystawienia dokumentu na nagłówku, zmiany będą aktualizowane, jeżeli na definicji wystawianego dokumentu dla centrum mobilnego przedstawiciela będzie zaznaczony parametr [Aktualizacja danych po zmianie: Daty].

Zlecenia serwisowe

Parametry list w aplikacji

Ustawienia listy towarów

Ta opcja jest tożsama z opcją „Ustawienia listy” dostępną na kaflu Towary w menu kontekstowym. Jej wybranie spowoduje, że zostanie otwarte nowe okno z ustawieniami listy towarów.
Konfiguracja aplikacji, ustawienia listy towarów.

Ustawienia

W tej sekcji istnieje możliwość określenia:
  • czy na listach będą prezentowane kody towarów,
  • jaki widok towarów ma być domyślny w aplikacji (lista czy katalogowy). Po naciśnięciu na domyślną opcję [Lista] będzie możliwość zmiany domyślnego widoku na katalogowy,
  • ilości zdjęć prezentowanych w widoku katalogowym: wybór od 1 do 4,
  • co w przypadku długiej nazwy towaru ma zostać ucięte.
Na rysunku poniżej przedstawiono prezentację towarów w widoku katalogowym, gdy wybrano wyświetlanie jednego towaru w jednej linii:
Prezentacja widoku katalogowego.
W przypadku długiej nazwy towaru jest możliwość ucięcia części nazwy: początek, środek – wartość domyślna lub koniec. Rysunek poniżej przedstawia przykładowy widok z aplikacji mobilnej po zmodyfikowaniu parametru dotyczącego ucięcia części nazwy.
Parametr w ustawieniach listy towarów: W przypadku długiej nazwy towaru ucinaj.
 

Wyszukiwanie

W tej sekcji istnieje możliwość:
  • Wybrania kryterium, po jakim będą wyszukiwane towary. Domyślna opcja [Wszystkie] powoduje, że towary są wyszukiwanie po nazwie i kodzie. Po naciśnięciu na przycisk [Wszystkie] istnieje możliwość wyboru, aby wyszukiwanie odbywało się tylko po kodzie lub tylko po nazwie,
  • Określenia, po ilu znakach ma się rozpoczynać wyszukiwanie towarów. Dotyczy pola wyszukiwania, w którym możliwe jest wpisanie kodu towaru, nazwy towaru, kodu EAN towaru.
 

Ustawienia listy dokumentów

Ta opcja jest tożsama z opcją Ustawienia dostępną z poziomu kafla: Dokumenty. Wybranie tej opcji spowoduje, że zostanie otwarte nowe okno z ustawieniami listy dokumentów. Aktualnie na liście dokumentów umożliwiono wyświetlanie dodatkowych informacji o:
  • statusie realizacji zamówień
  • kodzie kontrahenta głównego
  • nazwie kontrahenta głównego
  • numerze NIP
  • kontrahencie docelowym
  • adresie kontrahenta docelowego
  • płatniku
  • statusie KSeF dla faktur sprzedaży.
To, czy informacje mają być widoczne na liście zależy od użytkownika aplikacji. Po wejściu w Ustawienia listy dokumentów użytkownik ma możliwość włączenia lub wyłączenia wyświetlania poszczególnych elementów na liście dokumentów.
Ustawienia listy dokumentów
Przykładowy widok listy dokumentów

Ustawienia listy kontrahentów

Ta opcja jest tożsama z opcja Ustawienia dostępną z poziomu:
  • listy prezentowanej z poziomu kafla: Kontrahenci,
  • listy wyświetlanej przy wystawianiu dokumentu z poziomu kafla: Dokumenty,
  • listy kontrahentów prezentowanej podczas planowania działania,
  • listy wyświetlanej przy zmianie kontrahenta na nagłówku dokumenty.
Wybranie tej opcji spowoduje, że zostanie otwarte nowe okno z ustawieniami listy kontrahentów.
Konfiguracja aplikacji, ustawienia listy kontrahentów

Zakładki

Użytkownik może określić zakładki, które będą dostępne z poziomu menu kontrahentów. Domyślnie wszystkie zakładki są dostępne. Ponadto istnieje także możliwość zmiany kolejności ich wyświetlania.

Na listach kontrahentów pokazuj

Istnieje możliwość określenia, które pola odnośnie kontrahentów będą dostępne na liście kontrahentów. W tej sekcji można m. in. ukryć kody na liście kontrahentów.

Na karcie kontrahenta pokazuj

Istnieje możliwość określenia, które atrybuty lub grupy atrybutów mają być widoczne na karcie kontrahenta.

Wyszukiwanie

Istnieje możliwość określenia kryterium, po jakim będą wyszukiwani kontrahenci. Domyślna opcja [Wszystkie] powoduje, że kontrahenci są wyszukiwani po nazwach i kodach. Po naciśnięciu na przycisk [Wszystkie] istnieje możliwość określenia, czy wyszukiwanie będzie odbywało się tylko po kodach czy tylko po nazwach. Dodatkowo, ze względów wydajnościowych, został wprowadzony parametr określający, po ilu znakach ma się rozpoczynać wyszukiwanie. Domyślnie wyszukiwanie wpisanej frazy w nazwie lub kodzie kontrahenta rozpoczyna się już po wpisaniu pierwszego znaku, więc wedle potrzeby istnieje możliwość zwiększenia wartości tego parametru.  

Ustawienia listy zleceń, czynności i urządzeń serwisowych

Ta opcja umożliwia określenie jakie informacje mają być prezentowane na liście zleceń, czynności i urządzeń serwisowych.
Uwaga
Opcja dostępna dla użytkowników posiadających licencję na aplikację Comarch Mobile Serwis.
Konfiguracja aplikacji, ustawienia listy zleceń, czynności i urządzeń serwisowych

Na listach zleceń pokazuj

W tej sekcji istnieje możliwość określenia jakie informacje dotyczące zleceń serwisowych będą widoczne na liście zleceń. Możliwe jest wyświetlenie takich informacji jak: kod kontrahenta, adres, kontrahent docelowy, płatnik, serwisant, urządzenia, planowany termin realizacji, atrybuty oraz określenie liczby wyświetlanych wierszy dla opisu zlecenia.
Przykładowy widok listy zleceń serwisowych

Na listach czynności pokazuj

W tej sekcji istnieje możliwość określenia jakie informacje dotyczące czynności serwisowych będą widoczne na liście czynności. Możliwe jest wyświetlenie takich informacji jak: kod kontrahenta, adres, kontrahent docelowy, płatnik, serwisant, urządzenia, planowany termin realizacji, zasoby, atrybuty oraz określenie liczby wyświetlanych wierszy dla opisu czynności.
Przykładowy widok listy czynności serwisowych

Na czynnościach serwisowych w terminarzu pokazuj

W tej sekcji istnieje możliwość określenia jakie informacje dotyczące czynności serwisowych będą widoczne na danej czynności serwisowej. Możliwe jest wyświetlenie takich informacji jak kod kontrahenta, adres, numer zlecenia serwisowego oraz atrybuty.
Przykładowy widok czynności serwisowych w terminarzu

Na listach urządzeń pokazuj

W tej sekcji istnieje możliwość określenia jakie informacje dotyczące urządzeń serwisowych będą widoczne na liście urządzeń. Możliwe jest wyświetlenie takich informacji jak parametry urządzenia i ich wartości oraz określenie liczby wyświetlanych wierszy dla opisu urządzenia.
Przykładowy widok listy urządzeń serwisowych
 

Kolorowanie czynności serwisowych

W aplikacji Comarch Mobile istnieje możliwość kolorowania czynności serwisowych. Kolorowanie czynności odbywa się poprzez przypisanie koloru do odpowiedniej wartości klasy atrybutu.

Dodanie klasy atrybutu

Klasę atrybutu należy dodać w systemie ERP XL. Musi ona mieć typ Lista oraz musi być udostępniona dla aplikacji Comarch Mobile.
Klasa atrybutu o nazwie Priorytet_czynności
Do klasy atrybutu należy również przypisać obiekt [Serwis].[Czynność serwisowa]:
Obiekty atrybutu Priorytet_czynności
oraz odpowiednie wartości:
Lista wartości klasy atrybutu

Przypisanie koloru

Przypisanie koloru do odpowiedniej wartości klasy atrybutu odbywa się w pliku *.xml umieszczonym w katalogu ..\Serwer synchronizacji\AttributesColors. Plik ten musi mieć taką samą nazwę jak klasa atrybutu np. Priorytet_czynności.xml. W pliku należy umieścić sekcję colors, a w niej sekcje color z parametrem attributeValueName o wartości równej nazwie wartości klasy atrybutu. Sekcja color ma natomiast posiadać wartość heksadecymalną przypisywanego koloru jak w poniższym przykładzie.
Przykład
<colors> <color attributeValueName = "Awarie">#ffe100</color> <color attributeValueName = "Konserwacje">#00ff2a</color> <color attributeValueName = "Montaże">#0008ff</color> <color attributeValueName = "Pilne awarie">#ff0000</color> </colors>
Uwaga
Każda wartość musi mieć unikalny kolor.
Wskazówka
Brak przypisanego koloru w pliku xml skutkuje przypisaniem domyślnego koloru w aplikacji.
  Po wykonaniu synchronizacji, czynności widoczne na liście w zakładce czynności oraz na zleceniach oznaczone będą odpowiednim kolorem w zależności od ustawionej wartości atrybutu.
Kolorowanie czynności w aplikacji
 

Usunięcie koloru

Usunięcie koloru odbywa się poprzez dopisanie parametru delete="true" do sekcji color.
Przykład
<colors> <color attributeValueName = "Awarie" delete="true">#dd6560</color> <color attributeValueName = "Konserwacje">#008040</color> <color attributeValueName = "Montaże">#fd6500</color> <color attributeValueName = "Pilne awarie">#ff6f00</color> </colors>
Po zapisaniu pliku i wykonaniu synchronizacji przypisanie koloru zostanie usunięte z aplikacji, a dane czynności wyświetlane będą na liście w domyślnym kolorze. Po wykonaniu synchronizacji możliwe jest usunięcie z pliku xml sekcji color z danym kolorem, który oznaczony został wcześniej parametrem delete="true".

Kolorowanie zleceń serwisowych

W aplikacji Comarch Mobile istnieje możliwość kolorowania zleceń serwisowych. Kolorowanie zleceń odbywa się poprzez przypisanie koloru do odpowiedniej wartości klasy atrybutu.

Dodanie klasy atrybutu

Klasę atrybutu należy dodać w systemie ERP XL. Musi ona mieć typ Lista oraz musi być udostępniona dla aplikacji Comarch Mobile.
Klasa atrybutu o nazwie Priorytet_zlecenia
Do klasy atrybutu należy również przypisać obiekt [Serwis].[Zlecenie serwisowe]:
Obiekty atrybutu Priorytet_zlecenia
oraz odpowiednie wartości:
Lista wartości klasy atrybutu

Przypisanie koloru

Przypisanie koloru do odpowiedniej wartości klasy atrybutu odbywa się w pliku *.xml umieszczonym w katalogu ..\Serwer synchronizacji\AttributesColors. Plik ten musi mieć taką samą nazwę jak klasa atrybutu np. Priorytet_zlecenia.xml. W pliku należy umieścić sekcję colors, a w niej sekcje color z parametrem attributeValueName o wartości równej nazwie wartości klasy atrybutu. Sekcja color ma natomiast posiadać wartość heksadecymalną przypisywanego koloru jak w poniższym przykładzie.
Przykład
<colors> <color attributeValueName = "Niski">#00ff2a</color> <color attributeValueName = "Średni">#ffe100</color> <color attributeValueName = "Wysoki">#ff0000</color> </colors>
Uwaga
Każda wartość musi mieć unikalny kolor.
Wskazówka
Brak przypisanego koloru w pliku xml skutkuje przypisaniem domyślnego koloru w aplikacji.
  Po wykonaniu synchronizacji, zlecenia serwisowe widoczne na liście oznaczone będą odpowiednim kolorem w zależności od wartości atrybutu Priorytet_zlecenia.
Kolorowanie zleceń serwisowych w aplikacji
 

Usunięcie koloru

Usunięcie koloru odbywa się poprzez dopisanie parametru delete="true" do sekcji color.
Przykład
<colors> <color attributeValueName = "Awarie" delete="true">#dd6560</color> <color attributeValueName = "Konserwacje">#008040</color> <color attributeValueName = "Montaże">#fd6500</color> <color attributeValueName = "Pilne awarie">#ff6f00</color> </colors>
Po zapisaniu pliku i wykonaniu synchronizacji przypisanie koloru zostanie usunięte z aplikacji, a dane zlecenia wyświetlane będą na liście w domyślnym kolorze. Po wykonaniu synchronizacji możliwe jest usunięcie z pliku xml sekcji color z danym kolorem, który oznaczony został wcześniej parametrem delete="true".

Parametry historyczności zleceń serwisowych

Usuwanie zleceń serwisowych

[Usuwaj zlecenia serwisowe] - parametr wprowadza możliwość usunięcia zleceń serwisowych, które zostały zamknięte, odrzucone lub anulowane. W ustawieniach aplikacji użytkownik może wybrać, po jakim okresie zlecenia mają być usuwane z aplikacji.
Usuwaj zlecenia serwisowe
Usuwaj zlecenia serwisowe - dostępne opcje
Uwaga
Usunięcie zlecenia spowoduje usunięcie nagłówka, powiązanych ze zleceniem czynności oraz załączników, a co za tym idzie historii na urządzeniach.
 

Pobieranie usuniętych zleceń serwisowych

[Pobieraj zlecenia z systemu] - parametr wprowadza możliwość pobrania usuniętych zleceń z urządzenia z powrotem do aplikacji. Opcja działa analogicznie, jak dla dokumentów historycznych.
Pobieraj zlecenia z systemu
Pobieraj zlecenia z systemu - dostępne opcje

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 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. 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
 

Rozszerzalność aplikacji

Rozszerzalność aplikacji

Istnieje możliwość modyfikacji standardowego wyglądu oraz działania aplikacji poprzez integracje 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).
Przykład
Za pomocą przycisku umożliwiono przełączanie się pomiędzy domyślną stawką VAT dla towaru, a alternatywną stawką VAT ustawioną na kontrahencie.
Przykład zastosowania rozszerzalności aplikacji – możliwość przełączania się pomiędzy domyślną stawką VAT zdefiniowaną dla kontrahenta
Oprócz zmiana interfejsowych możliwe jest także rozszerzanie procesu synchronizacji o nowe elementy, w celu prze synchronizowania dodatkowych tabel/obiektów z systemu ERP. Więcej informacji i rozszerzalności aplikacji znajduje się TUTAJ.

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.

Konfiguracja raportów prowizji

Do odpowiedniego wyliczenia raportu prowizji konieczne jest założenie następującego atrybutu na karcie towaru, gdzie:
  • Klasa Atrybutów: „Prowizja”
  • Typ:  Liczba
Po zdefiniowaniu na kartach produktu w systemie Comarch ERP XL odpowiedniego atrybutu, w aplikacji można porównywać sprzedaż pod względem wartości prowizji.
Ustawienie atrybutu na karcie towaru (Prowizja) w systemie Comarch ERP XL

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
  • orderOnList
  • 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 2.
Parametry
  • 0 - wszystkie typy
  • 1 - raport sprzedażowy
  • 2 - raport zakupowy
  • 3 - raport serwisowy
Przykład
<reportType> <value>0</value> </reportType>
 

Kolejność raportów

Sekcja oznaczająca priorytet raportu: orderOnList. Musi zawierać następującą sekcję:
Nazwa value
Opis Priorytet wyświetlania raportu na liście raportów w kaflu Stan.
Parametry
  • brak sekcji - raport wyświetlany pod elementami zawierającymi tą sekcję
  • wartość liczbowa
Przykład
<orderOnList> <value>1</value> </orderOnList>
 

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ł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

Kontrahenci

Określenie rodzajów kontrahentów na wzorcu wizyty

Istnieje możliwość planowania wizyt z uwzględnieniem rodzaju kontrahenta. Funkcjonalność ta jest zależna od określenia rodzajów kontrahentów na wzorcu wizyty w systemie ERP XL:
Określenie rodzajów kontrahenta na wzorcu wizyty
Zaznaczenie powyższego parametru spowoduje, że operator będzie mógł zaplanować wizytę z danym wzorcem tylko dla znajdujących się na liście rodzajów kontrahentów. Jeśli opcja ta zostanie odznaczona, będzie istniała możliwość dodania lub usunięcia danego rodzaju kontrahentów z listy.

Obsługa programów lojalnościowych

W aplikacji Comarch Mobile jest możliwość obsługi programów lojalnościowych. Umożliwiono pobieranie z systemu ERP punktów lojalnościowych zgromadzonych na kontach określonych kontrahentów za zakup poszczególnych towarów. Zebrane punkty mogą zostać wykorzystane w aplikacji mobilnej do nadania rabatów. Aby umożliwić rozliczanie punktów lojalnościowych z poziomu aplikacji Comarch Mobile, należy:
  • stworzyć definicję programu lojalnościowego zgodnego ze swoimi założeniami oraz wymaganiami opisanymi w dalszej części dokumentu,
  • obsłużyć synchronizację punktów lojalnościowych kontrahentów,
  • włączyć obsługę programu lojalnościowego w pliku configuration.*.statement (Domyślna lokalizacja pliku to C:\Program Files (x86)\Comarch Mobile\Serwer synchronizacji\Methods\configuration), poprzez zmianę wartości klucza [IsLoyaltyEnabled] na 1.

Struktura definicji programu lojalnościowego

Przygotowane definicje programów lojalnościowych należy umieścić w pliku z rozszerzeniem XML w katalogu [LoyaltyProgramsDefinitions] katalogu głównego serwera synchronizacji Mobile. Nazwa pliku musi składać się z <IdProgramuLojalnosciowego>#<NazwaProgramuLojalnosciowego>.xml
Przykład
12#NaszaLojalnosc.xml
Synchronizacja definicji do urządzeń mobilnych odbywa się po każdej modyfikacji w plikach definicji. Aby usunąć już zsynchronizowaną definicję z urządzeń mobilnych należy zmienić id programu na wartość ujemną. Taka definicja zostanie usunięta przy następnej synchronizacji.
Przykład
-12#NaszaLojalnosc.xml
<?xml version=”1.0″ encoding=”UTF-8″?> <LoyaltyProgram>

<Name>…</Name>

<SettleDocumentsValue>…</SettleDocumentsValue>

<CheckContractorStatusQuery>

</CheckContractorStatusQuery>

<CheckArticleStatusQuery>

</CheckArticleStatusQuery>

<InitialMessageQuery>

</InitialMessageQuery>

<AfterRemovePositionLoyaltyProgramQuery>

</AfterRemovePositionLoyaltyProgramQuery>

<AfterAddPositionLoyaltyProgramQuery>

</AfterAddPositionLoyaltyProgramQuery>

<AfterRemoveDocumentLoyaltyProgramQuery>

</AfterRemoveDocumentLoyaltyProgramQuery>

<AfterAddDocumentLoyaltyProgramQuery>

</AfterAddDocumentLoyaltyProgramQuery>

</LoyaltyProgram>

Elementy w definicji program lojalnościowego

  • Name – Nazwa program lojalnościowego
  • SettleDocumentsValue – flaga bitowa określająca, na jakich dokumentach bierze udział program lojalnościowy. Poszczególne typy dokumentów będą miały przyporządkowane wartości:

1 – OS

2 – ZS

4 – FS

8 – PA

16 – WZ

32 – WM

Wskazówka
Wartość pola 5 oznaczać będzie, że rozliczenie punktów dostępne będzie na dokumentach OS i FS (1+4).
  • CheckContractorStatusQuery – Zapytanie sprawdzające czy dany kontrahent bierze udział w programie lojalnościowym oraz zwraca liczbę punktów dostępnych dla kontrahenta. Zwrócenie wiersza oznacza, że kontrahent bierze udział w programie lojalnościowym.
    • Parametry wejściowe:
      • @DocumentType – typ dokumentu. Wartość zgodna z wartościami z punktu drugiego.
      • @ContractorId – identyfikator kontrahenta
      • @LoyaltyProgramId – identyfikator programu lojalnościowego
      • @EditedDocumentId – identyfikator dokumentu, który jest teraz aktualnie reedytowany (został tylko zapisany wcześniej, został cofnięty do bufora)
    • Kolumny wyjściowe:
      • Liczba punktów dostępnych do zużycia przez kontrahenta
  • CheckArticleStatusQuery – Zapytanie sprawdzające czy dany towar jest dostępny w danym programie lojalnościowym oraz zwraca liczbę punktów do rozliczenia na pozycji.
    • Parametry wejściowe
      • @ArticleId – identyfikator towaru na który wystawiana jest pozycja
      • @StartGrossPrice – początkowa cena brutto
      • @StartNetPrice – początkowa cena netto
      • @Quantity – ilość w jednostce bazowej
      • @AvailablePoints – liczba dostępnych punktów kontrahenta
      • @EditedDocumentId – identyfikator edytowanego dokumentu
      • @VatRate – stawka VAT (np. dla 23% – parametr ten będzie miał wartość 23)
      • @VatDirection – kierunek VAT (0 – Netto, 1 – Brutto)
    • Kolumny wyjściowe
      • MaxPointsToSettleValue – maksymalna liczba punktów możliwa do rozliczenia na pozycji
      • EndGrossPrice – końcowa cena brutto na pozycji po rozliczeniu punktów MaxPointsToSettleValue
  • InitialMessageQuery – Zapytanie tworzące komunikat powitalny.
    • Parametry wejściowe
      • @DocumentType – typ dokumentu. Wartość zgodna z wartościami z punktu drugiego.
      • @ContractorId – identyfikator kontrahenta
      • @LoyaltyProgramId – identyfikator programu lojalnościowego
      • @EditedDocumentId – identyfikator dokumentu, który jest teraz aktualnie reedytowany (został tylko zapisany wcześniej, został cofnięty do bufora)
    • Kolumny wyjściowe
      • InitialMessageText – komunikat powitalny. Może zawierać proste tagi html’owe w celu sformatowania tekstu. (np. Dodanie nowej linii <br />, Zmiana koloru fragmentu tekstu <font color=”#FF0000″></font>, itd.)
  • AfterRemovePositionLoyaltyProgramQuery – Zapytanie wykonywane po usunięciu rozliczenia programu lojalnościowego na pozycji. Służy do wycofania zmian wykonanych w AfterAddPositionLoyaltyProgramQuery.
    • Parametry wejściowe
      • @LoyaltyProgramId – identyfikator programu lojalnościowego
      • @ProgramName – nazwa programu lojalnościowego
      • @AttributeObjectType – typ atrybutów dla pozycji
      • @ObjectId – identyfikator dokumentu
      • @ObjectIsLocal – identyfikator dokumentu
      • @ObjectSubId – identyfikator pozycji
      • @ObjectSubIsLocal – identyfikator pozycji
    • Obsługiwane jest wiele zapytań w ramach tej samej definicji. Separator skryptów „;GO;
  • AfterAddPositionLoyaltyProgramQuery – Zapytanie wykonywane po zapisie dokumentu – dla każdej pozycji, która zostaje rozliczona za pomocą programu lojalnościowego.
    • Parametry wejściowe
      • @LoyaltyProgramId
      • @ProgramName
      • @SettledPoints
      • @AttributeObjectType
      • @ObjectId
      • @ObjectIsLocal
      • @ObjectSubId
      • @ObjectSubIsLocal
      • @StartGrossPrice – cena początkowa brutto
      • @StartNetPrice – cena początkowa netto
      • @StartGrossValue – wartość brutto
      • @StartNetValue – wartość netto
    • Obsługiwane jest wiele zapytań w ramach tej samej definicji. Separator skryptów „;GO;
  • AfterRemoveDocumentLoyaltyProgramQuery – Zapytanie wykonywane po usunięciu rozliczenia programu lojalnościowego z dokumentu. Służy do wycofywania zmian wykonanych w
    • Parametry wejściowe
      • @LoyaltyProgramId
      • @ProgramName
      • @SettledPoints
      • @AttributeObjectType
      • @ObjectId
      • @ObjectIsLocal
      • @ObjectSubId
      • @ObjectSubIsLocal
    • Obsługiwane jest wiele zapytań w ramach tej samej definicji. Separator skryptów „;GO;
  • AfterAddDocumentLoyaltyProgramQuery – Zapytanie wykonywane po zapisie dokumentu z rozliczeniem programu lojalnościowego.
    • Parametry wejściowe
      • LoyaltyProgramId
      • ProgramName
      • SettledPoints
      • AttributeObjectType
      • ObjectId
      • ObjectIsLocal
      • ObjectSubId
      • ObjectSubIsLocal
    • Obsługiwane jest wiele zapytań w ramach tej samej definicji. Separator skryptów „;GO;

Synchronizacja punktów lojalnościowych kontrahentów

Aby umożliwić synchronizację punktów lojalnościowych kontrahentów należy zaimplementować metody synchronizacji obiektu [contractorsloyaltypoints]:
  • *.statement – zapytanie pobierające aktualne stany punktów kontrahentów. Zwracane kolumny:
    • OperationType – typ operacji (dodawanie, usuwanie, edycja),
    • OperationTS – timestamp synchronizacji,
    • LoyaltyProgramId – identyfikator programu lojalnościowego,
    • ContractorId – identyfikator kontrahenta,
    • Points – liczba dostępnych punktów do rozliczenia przez kontrahenta,
    • LockedPoints – liczba punktów dostępnych lecz zablokowanych do rozliczenia. Obecnie parametr ten nie jest jeszcze obsługiwany, dlatego zawsze kolumna ta powinna zwracać wartość 0.
  • contractorsloyaltypoints*.xml – definicja metody synchronizacji, triggery aktualizujące timestampy wierszy

Rozliczanie punktów w systemie Comarch ERP XL

Rozliczanie punktów należy obsłużyć po stronie systemu Comarch ERP XL za pomocą triggera wdrożeniowego aktywowanego np. potwierdzeniem dokumentu. Dokładny sposób rozliczenia jest zależny od  mechanizmów zaimplementowanych w programie lojalnościowym po stronie systemu Comarch ERP XL. Program lojalnościowy może zostać oparty poprzez atrybuty zdefiniowane w systemie Comarch ERP XL. W takiej obsłudze będą brani pod uwagę Kontrahenci, którzy posiadają zdefiniowany atrybut ze wskazaniem programu lojalnościowego (np. Nasza Lojalność), a przedstawiciel będzie mógł nadać rabat tylko na pozycjach towarów oznaczonych też odpowiednim atrybutem.
Dodanie atrybutu na karcie towaru
Dodanie atrybutu na karcie kontrahenta
Obecne implementacje do przesyłania informacji o liczbie rozliczonych punktów, korzystają z atrybutów (klasa atrybutu tylko do odczytu) ustawianych na pozycjach dokumentów (za pomocą AfterAddPositionLoyaltyProgramQuery) z wartością rozliczonych na pozycji punktów. Podczas synchronizacji do systemu ERP dokumentów, w momencie ich potwierdzenia, w triggerze sprawdzone powinno zostać istnienie atrybutu rozliczającego punkty na pozycjach. Wartość rozliczonych punktów powinna zostać odjęta z puli punktowej kontrahenta. Dodatkowo rozliczenie takie powinno spowodować podbicie odpowiednich timestampów w [contractorsloyaltypoints] w celu wymuszenia synchronizacji aktualnego stanu punktów kontrahenta.

Wyświetlanie limitu kredytowego do wykorzystania przez kontrahenta

Istnieje możliwość ukrywania informacji o przyznanej oraz wykorzystanej kwocie limitu. Dzięki tej funkcjonalności przedstawiciel handlowy będzie miał dostęp tylko do kwoty limitu pozostającej do wykorzystania przez kontrahenta oraz kwot dozwolonych po terminie i przeterminowanych. W plikach konfiguracyjnych znajdujących się w katalogu (domyślnie): C:\Program Files (x86)\Comarch Mobile\Serwer synchronizacji\Methods znajduje się parametr [IsContractorsCreditLimitsValueVisible], odpowiedzialny za ukrywanie/odkrywanie powyższych informacji. Domyślna wartość tego parametru to „1”. Więcej informacji nt. tego parametru znajduje się TUTAJ.

Przypisanie grupy towarów oraz magazynów do kontrahenta

W systemie Comarch ERP XL istnieje możliwość przypisania grupy towarów oraz magazynów, z których pobierane będą towary dla danego kontrahenta. Dostępne towary oraz magazyny dla danego kontrahenta należy wskazać na Karcie kontrahenta, zakładka [Aplikacje].
Wskazówka
Można:
  • wybrać grupę towarów, która będzie dostępna w aplikacji dla danego Kontrahenta,
  • wybrać magazyny, które będą dostępne dla danego Kontrahenta,
  • określić magazyn domyślny.
Przypisanie grupy towarów oraz magazynów do kontrahenta
W przypadku wyboru Magazynów istnieje możliwość określenia, który magazyn będzie domyślny i dostępny w aplikacji Comarch Mobile.
Przypisanie magazynów do kontrahenta, określenie magazynu domyślnego i dostępnego w aplikacji

Wyświetlanie waluty na karcie kontrahenta

W aplikacji Comarch Mobile istnieje możliwość ustawienia domyślnej waluty, która będzie wyświetlana na karcie kontrahenta. Walutę ustawia się w zakładce [Rozliczenia] na karcie kontrahenta.
Informacja o domyślnej walucie na karcie kontrahenta w systemie Comarch ERP XL
Operator, który ma uprawnienia do edycji karty kontrahenta może również zmieniać rodzaj waluty na tej karcie. Uprawnienie to nadaje się w systemie Comarch ERP XL w konfiguracji oddziału mobilnego w zakładce kontrahenci [Edycja kontrahenta].

Kolorowanie kontrahentów

Istnieje możliwość kolorowania kontrahentów. Aby dany rodzaj kontrahentów został pokolorowany w aplikacji należy w systemie Comarch ERP XL, w module: Administrator wybrać z menu pozycję: Listy\Słowniki kategorii\CRM\Rodzaje kontrahentów i przypisać odpowiedni kolor do danego rodzaju kontrahenta.
Przypisywanie koloru do rodzaju kontrahenta w systemie Comarch ERP XL
Po wykonaniu synchronizacji kontrahenci dostępni w aplikacji zostaną oznaczeni na liście odpowiednim kolorem. Przed nazwą i akronimem każdego pokolorowanego kontrahenta będzie wpisany rodzaj kontrahenta.
Kolorowanie kontrahentów w aplikacji

Konfiguracja limitu kredytowego kontrahenta

W aplikacji obsłużona została kontrola limitu kredytowego. Do wyliczenia salda porównywanego z limitem uwzględniane są zobowiązania wobec kontrahenta oraz nierozliczone wpłaty. W przypadku, gdy saldo należności od kontrahenta przekroczy ustalony limit, wówczas przy próbie zarejestrowania transakcji sprzedaży (potwierdzenia dokumentu sprzedaży) aplikacja zareaguje stosownie do uprawnień użytkownika, a ściślej do ustawień w definicji dokumentu: uniemożliwi zarejestrowanie transakcji lub wyświetli ostrzeżenie (w systemie Comarch ERP XL, okno: [Definicja dokumentu], zakładka: [Ogólne]). Uwzględniane są przy tym ustawienia w definicji dokumentu dla centrum struktury praw, do którego należy zalogowany do aplikacji operator. Szczegółowe informacje dotyczące ustawień na definicji dokumentu znajdują się TUTAJ. W systemie Comarch ERP XL istnieje możliwość ustalenia limitu kredytowego:
  • Nieograniczonego (w tym przypadku informacja na temat listy limitów kredytowych nie jest pobierana do aplikacji Comarch Mobile)
  • Ograniczonego kwotowo z konkretną datą zakończenia
  • Ograniczonego kwotowo, bezterminowego (bez określonej daty zakończenia)
(Należy pamiętać aby strefa czasowa na urządzeniu mobilnym była zgodna ze strefa czasową na serwerze.) Dla danego kontrahenta można zdefiniować obecnie kilka limitów kredytowych. Każdy limit jest rejestrowany dla określonego okresu, w którym ma obowiązywać, a poszczególne okresy dodanych limitów nie mogą się pokrywać.
Karta kontrahenta w systemie Comarch ERP XL, zakładka: [Limity kredytowe]
Do aplikacji Comarch Mobile pobierane są informacje na temat obecnych i przyszłych limitów kredytowych wraz z dozwoloną kwotą przeterminowania. W przypadku, gdy limit kredytowy w systemie Comarch ERP XL został wyrażony w walucie obcej, wówczas przy pobieraniu go do aplikacji Comarch Mobile zostanie on przeliczony na walutę systemową wg wybranego kryterium:
  • Daty Od – kursu z dnia rozpoczynającego okres limitu kredytowego;
  • Daty bieżącej – bieżący kurs;
  • Dnia poprzedniego – kurs z dnia poprzedniego;
  • Ustalony – zdefiniowany na limicie.
Dodawanie limitu kredytowego w systemie Comarch ERP XL
Ze względu na możliwą do zdefiniowania strukturę wielooddziałową kontrahentów w systemie Comarch ERP XL, wprowadzona została kontrola centralnego limitu kredytowego, który ustalany jest na centrali i dotyczy wszystkich kontrahentów, którzy są jej oddziałami. Jeśli dla centrali ustawiony zostanie limit kredytowy, to dany oddział nie będzie mógł go przekroczyć. W przypadku struktury oddziałowej kontrola limitu kredytowego przebiega dwuetapowo:
  • sprawdzany jest limit kredytowy danego kontrahenta i jeśli dany kontrahent jest oddziałem następuje przejście do drugiego etapu
  • jeśli limit kredytowy oddziału nie został przekroczony lub został przekroczony, ale w definicji dokumentu zaznaczona jest opcja dotycząca zatwierdzania: Zezwalaj lub Ostrzegaj, następuje sprawdzenie limitu kredytowego centrali.
Jeśli dany kontrahent jest centralą, zawsze sprawdzany jest tylko jego limit. Dodatkowo, jeśli kontrolowany jest limit centrali, sprawdzane jest wykorzystanie limitu centrali oraz wszystkich kontrahentów, którzy są jej oddziałami. Aktualny limit kredytowy dla danego kontrahenta prezentowany jest na karcie kontrahenta, w sekcji [Handlowe]. Możliwe jest również prezentowanie limitu kredytowego w walucie obcej, jeśli zdefiniowano to wcześniej w systemie Comarch ERP XL. W przypadku, gdy kontrahent:
  • nie posiada limitu kredytowego, wówczas w aplikacji prezentowany jest: Brak bieżącego limitu kredytowego
  • posiada nieograniczony limit kredytowy, wówczas w aplikacji prezentowany jest: Nieograniczony.
Okno prezentowane jest po wybraniu przycisku grupie Handlowe w wierszu Limit kredytowy.
Karta kontrahenta wraz limitem kredytowym wyświetlanym w walucie obcej
Poniżej zostało zaprezentowane okno, w którym wyświetlane są informacje na temat limitów kredytowych danego kontrahenta.
Limity kredytowe zdefiniowane dla danego kontrahenta
Okno jest podzielone na trzy sekcje: Sekcja: Bieżący limit kredytowy:
  • Okres obowiązywania – zakres dat, w którym obowiązuje dany limit kredytowy
  • Parametry – parametry zaznaczone na definicji dokumentu FS w danym centrum głównym, zakładka Ogólne (Sekcja: W limicie kredytowym uwzględniaj)
Definicja dokumentu FS w systemie Comarch ERP XL
  • Limit z kontrahenta – informacja na temat tego, czy limit kredytowy jest pobierany z karty kontrahenta, czy karty płatnika. Ustawienia, odnośnie pobierania limitu kredytowego z kontrahenta znajdują się w systemie Comarch ERP XL na Karcie kontrahenta\zakładka: [Handlowe]\ Forma i termin płatności oraz limit kredytowy z kart.
Karta kontrahenta w systemie Comarch ERP XL
Karta kontrahenta w systemie Comarch ERP XL w zakładce Limity kredytowe pokazuje wykorzystanie limitu kredytowego. Zawiera następujące informacje:
  • Limitu kredytowego – kwota udzielonego limitu kredytowego
  • Wykorzystana – odzwierciedla wykorzystaną kwotę kredytu.
  • Pozostaje do wykorzystania – odzwierciedla kwotę kredytu możliwą do wykorzystania. Jeżeli kwota będzie ujemna, to zostanie wyświetlona w aplikacji w kolorze czerwonym
  • Dozwolona po terminie – odzwierciedla kwotę dozwoloną po terminie obowiązywania limitu
  • Przeterminowana – odzwierciedla kwotę przeterminowanych płatności. Jeżeli kwota przeterminowana będzie większa od kwoty dozwolonej po terminie, kwota ta zostanie wyświetlona w aplikacji w kolorze czerwonym
Limit kredytowy w systemie Comarch ERP XL
Limit kredytowy w aplikacji
Sekcja: Następny limit kredytowy Prezentowana jest w przypadku, gdy kontrahent posiada zdefiniowane kolejne limity kredytowe. Po naciśnięciu na przycisk zostanie wyświetlone okno w którym zaprezentowane są wszystkie limity kredytowe określone dla danego kontrahenta. Składa się z prezentowanych chronologicznie kolejnych limitów kredytowych zaplanowanych dla danego kontrahenta. W sekcji widoczne są następujące informacje:
Lista limitów kredytowych w aplikacji Comarch Mobile
W aplikacji Comarch Mobile istnieje możliwość ukrywania informacji o przyznanej oraz wykorzystanej kwocie limitu. Dzięki tej funkcjonalności przedstawiciel handlowy będzie miał dostęp tylko do kwoty limitu pozostającej do wykorzystania przez kontrahenta oraz kwot dozwolonych po terminie i przeterminowanych.

Konfiguracja koncesji

W aplikacji Comarch Mobile istnieje możliwość sprzedawania artykułów objętych koncesją oraz posiadają informację o dacie ważności danej koncesji. W celu korzystania z funkcjonalności w systemie Comarch ERP XL konieczne jest, aby na karcie towaru określony był rodzaj koncesji niezbędny do jego sprzedaży jak na rysunku.
Wybór koncesji niezbędnej do sprzedaży towaru
Dodatkowo w systemie XL konieczne jest zdefiniowanie daty ważności danej koncesji na karcie kontrahenta jak na rysunku poniżej.
Definicja koncesji na karcie kontrahenta
Dzięki wprowadzeniu funkcjonalności kontroli koncesji przedstawiciel handlowy otrzyma informację, gdy będzie chciał sprzedać towar objęty koncesją dla kontrahenta, u którego koncesja jest przeterminowana.
Komunikat pojawiający się, gdy brak aktualnej koncesji dla kontrahenta

Określenie wymaganych pól podczas rejestracji kontrahenta

W systemie Comarch ERP XL istnieje możliwość określenia pól, które będą wymagane podczas dodawania nowego kontrahenta w aplikacji. Pola wymagane definiowane są w module Administrator Comarch ERP XL: Słowniki kategorii/CRM/ Rodzaje kontrahentów. Po wybraniu danego rodzaju kontrahenta należy określić, które informacje będą wymagane podczas rejestrowania karty kontrahenta.
Określenie pól wymaganych podczas rejestracji kontrahenta dla danego rodzaju kontrahenta w systemie Comarch ERP XL
Uwaga
Na chwilę obecną, w aplikacji Comarch Mobile nie jest obsłużony parametr "Przy zapisie [Ostrzegaj/Zablokuj]". W przypadku niewypełnienia wymaganych pól zapis karty kontrahenta zostanie uniemożliwiony.
W momencie, gdy podczas rejestracji nowego kontrahenta w aplikacji, wymagane dane nie zostaną uzupełnione, nie będzie możliwe zapisanie tworzonej karty i wyświetlony zostanie odpowiedni komunikat informujący.
Uwaga
Istnieje możliwość sparametryzowania funkcjonalności dodawania i edycji kontrahentów przez operatorów. W zależności od konfiguracji oddziału mobilnego w systemie Comarch ERP XL operator będzie mógł dodawać/edytować kontrahentów tylko o określonym rodzaju. Więcej informacji na ten temat znajduje się TUTAJ.

Prawo do edycji kontrahenta

W systemie Comarch ERP XL istnieje możliwość przypisania operatorowi prawa do edycji kontrahenta na urządzeniu mobilnym.
Przypisanie operatorowi prawa do edycji kontrahentów
Nowo dodani kontrahenci mogą być modyfikowani do momentu wysłania ich kart do systemu Comarch ERP XL. Aby edytować kartę kontrahenta pobranego z systemu Comarch ERP XL konieczne jest odpowiednie skonfigurowanie stanowiska mobilnego - więcej informacji znajduje się TUTAJ.

Wystawianie zamówień sprzedaży pomimo wstrzymanych transakcji dla kontrahenta

W aplikacji Comarch Mobile istnieje możliwość wystawiania dokumentu ZS (Zamówienie Sprzedaży) dla kontrahenta, który jednocześnie ma zablokowane wystawianie pozostałych dokumentów (FS, PA, WZ i WM).
Konfiguracja systemu Comarch ERP XL, aby możliwe było wystawienie dokumentów ZS, podczas gdy transakcje są zablokowane
Kartoteka kontrahenta – zablokowane transakcje, możliwość wystawienia dokumentu ZS, OS, RLS
Gdy w systemie Comarch ERP XL zaznaczony zostanie znacznik zarówno „Wstrzymano transakcje” jak i „Wstrzymano zamówienia” wówczas Przedstawiciel handlowy nie będzie miał możliwości wystawiania żadnych dokumentów na danego kontrahenta (nie dotyczy Oferty Sprzedaży oraz Reklamacji).

Możliwość ukrywania/udostępniania kart kontrahentów dla poszczególnych oddziałów mobilnych

W najnowszej wersji systemu została udostępniona opcja ukrywania/udostępniania pojedynczych kontrahentów dla poszczególnych oddziałów mobilnych.
Opcja dostępność w Oddziałach Mobile Sprzedaż
Po wywołaniu opcji "Dostępność w Oddziałach Mobile Sprzedaż" podnosi się nowe okno, w którym za pomocą "+" można dodać oddział mobilny, w którym kontrahent ma zostać udostępniony lub ukryty.
Lista oddziałów, dla których ma być udostępniony/ukryty kontrahent
Jeżeli kontrahent ma trafić do danego oddziału mobilnego wystarczy przypisać oddział do listy nie zaznaczając żadnej opcji. Jeżeli kontrahent ma zostać ukryty w danym oddziale należy zaznaczyć opcję „Nie wysyłaj” dla tego oddziału. Jeżeli karta kontrahenta ma być ukryta jednocześnie dla wszystkich oddziałów Comarch Mobile należy zaznaczyć opcję „Wszystkie”.

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 pliku contractors.xl.statement w lokalizacji C:\Program Files (x86)\Comarch Mobile\Serwer synchronizacji\Methods\configuration. 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
 

Obsługa atrybutów

Istnieje możliwość pobierania i wypełniania atrybutów. Atrybuty w aplikacji Comarch Mobile prezentowane są w sekcji: [Informacje dodatkowe]. Atrybuty można wyświetlać jako klasy lub klasy w grupach. Obsługa atrybutów przy współpracy z systemem Comarch ERP XL
Typy obiektów Funkcjonalność
Kontrahenci Podgląd i edycja
Towary Podgląd
Samochody Podgląd
Nagłówki dokumentów Podgląd i edycja
Pozycje dokumentów Podgląd i edycja
Aby klasa atrybutu była widoczna w aplikacji mobilnej należy w definicji atrybutu wskazać obiekty na zakładce [Obiekty] oraz zaznaczyć parametr [Podgląd] w grupie [Comarch Mobile] na zakładce [Ogólne]. Zaznaczenie parametru [Edycja] umożliwi dodatkowo edycję atrybutów na niektórych typach obiektów.
Przykładowa definicja klasy atrybutu w systemie Comarch ERP XL
W aplikacji mobilnej obsługiwane są również flagi [Wymagany] oraz [Automat]. Jeżeli dany atrybut jest oznaczony jako Wymagany w systemie ERP, to w aplikacji Comarch Mobile jest oznaczony znakiem . W aplikacji obsługiwane są następujące typy atrybutów:
  • Flaga
  • Tekst
  • Liczba
  • Lista
  • Adres URL – w przypadku wskazania adresu strony internetowej, po naciśnięciu przycisku strona zostanie otwarta w domyślnej przeglądarce na urządzeniu mobilnym
W aplikacji obsłużone zostały następujące formaty atrybutów:
  • Tekst
  • Data
  • 1234
  • 1234.56
  • 1234.5678
  • Zaawansowany
Aby była możliwość wyświetlania atrybutów w grupach należy w systemie Comarch ERP XL na liście Atrybutów z poziomu zakładki [Grupy klas atrybutów] stworzyć odpowiednie grupy atrybutów:
Definicja grupy klasy atrybutu
oraz przypisać do stworzonej grupy obiekt, z którego poziomu ma być dostępna grupa atrybutów.
Przypisanie obiektu
Następnie należy przypisać odpowiednie klasy atrybutów. Jedna klasa może być przypięta do kilku grup jednocześnie.

Atrybut okresowy

Istnieje możliwość skonfigurowania atrybutu o parametrze [Okresowy]. Zaznaczając ten parametr możliwe będzie określenie wartości atrybutu oraz okresu jego obowiązywania.
Okno dodawania wartości atrybutu oraz edycja okresu obowiązywania
Możliwe jest utworzenie wielu wartości dla atrybutu w różnych okresach obowiązywania. Okresy obowiązywania nie mogą się pokrywać, w innym przypadku system nie pozwoli na zapisanie takich wartości.
Utworzone wartości atrybutu okresowego
Atrybut okresowy w Comarch Mobile

Wizyty handlowe

Konfiguracja elementu wizyty: Zrób zdjęcie punktu

Podczas realizacji elementu wizyty typu: Merchandising (wykonanie zdjęcia) z ustawionym kodem elementu: [ZRÓB ZDJĘCIE PUNKTU] jest zapisywany punkt GPS, który następnie jest ustawiany jako punkt wzorcowy dla danego kontrahenta. W takim przypadku, do wyświetlania trasy wzorcowej (zaplanowanej) nie będzie brany adres kontrahenta, tylko zarejestrowany punkt wzorcowy.
Konfiguracja elementu wizyty: Zrób zdjęcie punktu
Uwaga
W przypadku korzystania z elementu wizyty Merchandising, w tym rejestracji pozycji GPS, wymagana jest licencja na Moduł Monitorowanie.

Kolorowanie wizyt handlowych

W celu wyróżnienia w aplikacji Comarch Mobile wizyt według ich typów, w systemie Comarch ERP XL istnieje możliwość konfiguracji ich kolorowania. Aby dany typ wizyty handlowej został wyróżniony w aplikacji należy w systemie Comarch ERP XL, w module [Administrator] wybrać z menu pozycję: Listy\Słowniki kategorii\CRM\Typy wizyt oraz przypisać odpowiedni kolor do danego typu wizyty.
Przypisywanie koloru do wizyty w systemie Comarch ERP XL
Aby odpowiednie typy wizyty zostały w aplikacji widoczne w określonym kolorze należy wykonać synchronizację. Po utworzeniu w aplikacji Comarch Mobile wizyty w określonym typie jest ona widoczna zgodnie ze skonfigurowanym wcześniej w systemie Comarch ERP XL ustawieniem kolorów.
Kolorowanie wizyt w aplikacji wg typów

Potwierdzenie przez kierownika wizyt planowanych w aplikacji

Istnieje możliwość ustawienia, aby WH zaplanowane przez Przedstawiciela Handlowego wymagały potwierdzenia przez Kierownika. Opcja dostępna jest po zaznaczeniu parametru dostępnego w systemie Comarch ERP XL na konfiguracji danego oddziału (zakładka: Wizyty) [Wymagaj potwierdzenia]
Opcja: Wymagaj potwierdzenia
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 podczas, gdy w systemie Comarch ERP XL została zaznaczona opcja: [Wymagaj potwierdzenia]
Z poziomu listy działań będzie prezentowana kolorem zielonym. Do momentu potwierdzenia wizyty w systemie Comarch ERP XL niemożliwa będzie realizacja wizyty.
Zaplanowana WH, która wymaga potwierdzenia przez kierownika
Po synchronizacji, w systemie Comarch ERP XL lub 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.

Określanie towarów wymaganych

Aby towary były wymagane na takim dokumencie należy dodać je w systemie Comarch ERP XL w definicji elementu wzorca wizyty w oknie [Towary] wymagane. Dla każdego towaru można określić minimalną ilość, jaka jest wymagana oraz czy towar jest obowiązkowy (pole [Wymagaj] ustawione na Tak). 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 ([Wymagaj]: Nie) można usunąć z koszyka poprzez wpisanie 0 w polu z ilością. W przypadku, gdy towar jest obowiązkowy ([Wymagaj]: Tak) 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 systemie Comarch ERP XL, towary wymagany

Zdefiniowanie domyślnego rodzaju przejazdu

Istnieje możliwość zdefiniowania domyślnego rodzaju przejazdu. Wówczas podczas rejestracji przejazdu w pole [Rodzaj] automatycznie ustawiana jest domyślna wartość zdefiniowana w systemie Comarch ERP XL. Domyślną wartość dla rodzaju przejazdu należy ustawić w [Słownikach kategorii] w Administratorze Comarch ERP XL.
Zdefiniowanie domyślnej wartości dla rodzaju przejazdu w systemie Comarch ERP XL

Określenie rodzajów kontrahentów na wzorcu wizyty

Istnieje możliwość planowania wizyt z uwzględnieniem rodzaju kontrahenta. Funkcjonalność ta jest zależna od określenia rodzajów kontrahentów na wzorcu wizyty w systemie ERP XL:
Określenie rodzajów kontrahenta na wzorcu wizyty
Zaznaczenie powyższego parametru spowoduje, że operator będzie mógł zaplanować wizytę z danym wzorcem tylko dla znajdujących się na liście rodzajów kontrahentów. Jeśli opcja ta zostanie odznaczona, będzie istniała możliwość dodania lub usunięcia danego rodzaju kontrahentów z listy.

Udostępnianie załączników

W aplikacji obsłużona jest funkcjonalność pobierania załączników z systemu Comarch ERP XL przypisanych do nagłówka, elementu wizyty handlowej lub wzorca wizyty. Aby załącznik został pobrany przy imporcie wizyty handlowej z Comarch ERP XL należy zaznaczyć na liście załączników opcję [Dostępność w Mobile Sprzedaż].
Udostępnianie załącznika w aplikacji Comarch Mobile
Aplikacja umożliwia pobieranie załączników w formatach typu:
  • Obraz
  • MSExcel
  • MSWord
  • Plik PDF
  • Inny
Uwaga
Do prawidłowego wyświetlenia załącznika niezbędne jest posiadanie na urządzeniu mobilnym aplikacji, które obsługują dany rodzaj pliku.

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 celu skonfigurowania wymagalności potwierdzania wizyt z określonymi wzorcami należy:
  • Na definicji oddziału mobilnego, na zakładce: Wizyty musi zostać zaznaczony check: [Wymagaj potwierdzenia].
Ustawienie na definicji oddziału mobilnego: Wymagaj potwierdzenia.
  • Dodać atrybut o Nazwie: Wymagaj potwierdzenia, Typie: Flaga, Obiekty: [CRM].[Wzorzec wizyty].
Konfiguracja atrybutu: Wymagaj potwierdzenia
  • Skonfigurowany atrybut dodać na definicji wzorca wizyt oraz ustawić jego wartość na TAK lub <Brak>, jeśli potwierdzenie wizyty z takim wzorcem powinno być wymagane i NIE, jeśli potwierdzenie nie jest wymagane.
Dodanie atrybutu do definicji danego wzorca wizyty

Wyświetlanie dodatkowych parametrów na raportach towarowych

W aplikacji Comarch Mobile Sprzedaż istnieje możliwość wyświetlania na raporcie towarów konkurencji i raporcie obecności towarów dodatkowych kolumn zdefiniowanych w systemie Comarch ERP XL.
Dodatkowe kolumny na karcie raportu

Za tę opcję odpowiada parametr [ShowColumnsOnReports], znajdujący się w pliku konfiguracyjnym configuration.xl2024.statement w katalogu: C:\Program Files (x86)\Comarch Mobile\Serwer synchronizacji\ Methods\configuration. Możliwe wartości parametru to 0 (wartość domyślna), 1 lub 2. Dodatkowe informacje nt. konfiguracji tego parametru znajdują się TUTAJ.

Uwaga
Aby dodatkowa kolumna raportu była widoczna w aplikacji mobilnej, atrybut musi być udostępniony w aplikacji Comarch Mobile Sprzedaż.
Więcej informacji na temat wspomnianej funkcjonalności w raporcie towarów konkurencji znajduje się TUTAJ, a w raporcie obecności towarów - TUTAJ.

Obsługa ankiet z pytaniami wielokrotnego wyboru

Jednym z elementów wizyty handlowej są ankiety. W aplikacji Comarch Mobile Serwis oprócz pytań otwartych i pytań jednokrotnego wyboru umożliwiono korzystanie z ankiet, gdzie konieczne jest wybranie kilku odpowiedzi na raz. W tym celu w pierwszej kolejności należy zdefiniować nowe pytanie i odpowiedzi w systemie Comarch ERP XL: Administrator Oddziałów/Narzędzia /Ankiety/Pytania. Za pomocą ikony plusa:  należy dodać nowe pytanie.
Definicja pytania wielokrotnego wyboru
Wcześniej należy też zdefiniować odpowiedzi dla tych pytań. W przypadku pytań zamkniętych (w tym wielokrotnego wyboru) odpowiedzi mogą zostać wskazane jedynie spośród słownikowych wartości (zdefiniowanej listy wartości). Po naciśnięciu na przycisk [Rodzaj odpowiedzi] powinny podnieść się wszystkie zdefiniowane w systemie ERP słownikowe wartości dla rodzajów odpowiedzi Słowniki kategorii /Inne /Rodzaje odpowiedzi.
Rodzaje odpowiedzi
Kolejnym krokiem jest przypięcie pytania do ankiety. Z poziomu Administratora Oddziałów należy przejść na zakładkę [Narzędzia/Ankiety/Definicje ankiet], a następnie w definicji danej ankiety, w zakładce [Pytania], należy podpiąć pytanie wielokrotnego wyboru. Ostatnią rzeczą o jakiej należy pamiętać jest to, aby wzorzec wizyty udostępniony w Comarch Mobile Serwis [Administrator Oddziałów/Oddziały/Lista oddziałów/Wizyty] na karcie danego oddziału zawierał element Ankiety i zdefiniowaną ankietę z pytaniem wielokrotnego wyboru.

Możliwość kopiowania tygodniowego i dziennego planu wizyt

W aplikacji Comarch Mobile istnieje możliwość 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. Parametr ten jest opisany TUTAJ. Więcej informacji na temat wspomnianej funkcjonalności znajduje się TUTAJ.

Możliwość wysyłania realizacji elementu: Merchandising wiadomością e-mail

Uwaga
Opcja dot. realizacji wizyty handlowej z elementem: Merchandising.
W Comarch Mobile istnieje możliwość ustawienia, aby podczas wizyty (bezpośrednio z zadania typu: Merchandising) możliwe było wysłanie wiadomości e-mail z załączonym zdjęciem, wykonanym podczas realizacji tego zadania. Wykonywanie zdjęć podczas elementu wizyty: Merchandising może być wykorzystywane nie tylko do sprawdzenia ekspozycji towarów, ale również do udokumentowania pewnych operacji czy przekazanych dokumentów.
Przykład
Podczas wizyty handlowej Klient może przedstawić dokumenty umowy, czy potwierdzenia przelewu rozliczającego zaległe płatności, które jeszcze nie zostały zaksięgowane. Przedstawiciel wykonując zdjęcie może w ten sposób potwierdzić przekazanie lub podgląd danych dokumentów.
Uwaga
Możliwość wysłania wiadomości e-mail z załączoną realizacją elementu wizyty Merchandising jest dostępna tylko w przypadku, gdy na urządzeniu mobilnym zainstalowana jest aplikacja do obsługi poczty (np. Gmail) oraz odpowiednio skonfigurowany jest klient poczty.
W plikach konfiguracyjnych znajdujących się domyślnie w katalogu: C:\Program Files (x86)\Comarch Mobile\Serwer synchronizacji\Methods znajduje się parametr [CanSendMerchandisingRealization] - opis konfiguracji tego parametru znajduje się TUTAJ. Jeżeli parametr [CanSendMerchandisingRealization] przyjmuje wartość 1, wówczas w Ustawieniach aplikacji w sekcji Parametry działań pojawi się dodatkowe pole Odbiorca wysyłanych zdjęć. Naciśnięcie parametru spowoduje podniesienie okna z polem tekstowym, w którym umożliwione zostanie wprowadzenie adresu e-mail odpowiedniej osoby (np. odpowiedzialnej za odblokowywanie transakcji kontrahentom).
Ustawienia aplikacji Comarch Mobile – parametr: [Odbiorca wysyłanych zdjęć]
Jeżeli do zadania typu Merchandising dodano realizację (wykonano zdjęcie), wówczas naciśnięcie opcji: [Zatwierdź] w pasku górnym spowoduje rozwinięcie menu z dwoma opcjami:
  • Zakończ – powoduje zatwierdzenie realizacji
  • Zakończ i wyślij – powoduje zatwierdzenie realizacji i następnie przejście do akcji wysyłania wiadomości e-mail
Dwie opcje możliwe do wyboru, kiedy w aplikacji została udostępniona możliwość wysyłania zdjęć podczas realizacji elementu wizyty typu Merchandising
Jeżeli zdjęcie zostało wcześniej tylko zapisane, możliwość jego wysłania za pomocą opcji e-mail istnieje także z poziomu menu kontekstowego.
Menu kontekstowe dla zrealizowanego działania typu Merchandising

Planowanie wizyty bez podania wzorca

Istnieje możliwość planowania wizyt bez konieczności określania wzorca wizyty. Dzięki temu przedstawiciel handlowy, będąc na miejscu u Klienta, może określić charakter wizyty handlowej oraz wybrać najlepszy zestaw elementów wizyty do realizacji. Jeżeli podczas planowania wizyty nie zostanie wskazany jej wzorzec, konieczne będzie podanie nazwy wizyty. 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. Domyślna wartość tego parametru wynosi 0. Dodatkowe informacje nt. konfiguracji tego parametru znajdują się TUTAJ. Jeśli wartość parametru została ustawiona na 1, wówczas:
  • Jeśli w definicji oddziału został dodany więcej niż jeden wzorzec podczas planowania wizyty pole z nazwą wzorca jest puste. Po podaniu nazwy wizytę można zapisać.
Planowanie wizyty bez podania wzorca
  • Jeśli w definicji oddziału został dodany tylko jeden wzorzec, podczas planowania wizyty ten wzorzec się podpowiada. Po dłuższym przytrzymaniu pola z nazwą wzorca zostanie on usunięty.

Kopiowanie atrybutów kontrahenta na element typu „inny”

Istnieje możliwość kopiowania atrybutu kontrahenta na element typu „Inny”. W plikach konfiguracyjnych znajdujących się w katalogu (domyślnie): C:\Program Files (x86)\Comarch Mobile\Serwer synchronizacji\Methods znajduje się parametr [IsContractorsAttributeVisibleOnVisit] odpowiedzialny za to, czy atrybut z karty kontrahenta ma być widoczny na elemencie typu „Inny” czy też nie. Jeżeli parametr ten przyjmuje wartość 1, wówczas opcja kopiowania atrybutu na element wizyty typu „Inny” zostanie włączona. Dodatkowe informacje nt. tego parametru znajdują się TUTAJ. Funkcjonalność kopiowania atrybutu na element wizyty w Comarch Mobile dotyczy:
  • Klasy atrybutu typu: Tekst
  • Atrybutu widocznego w aplikacji Comarch Mobile
  • Klasy atrybutu przypiętej do obiektu: [Grupa kontrahenta].[Kontrahent]
Comarch ERP XL – definicja klasy atrybutu kontrahenta
Atrybut zdefiniowany w systemie Comarch ERP XL jak powyżej, wyświetlany jest na kartotece kontrahenta w Comarch Mobile jako informacja dodatkowa
Comarch Mobile - atrybut kontrahenta
Informacja dodatkowa z kartoteki kontrahenta zostanie skopiowana na element wizyty jeżeli:
  • parametr IsContractorsAttributeVisibleOnVisit = 1
  • na wzorcu wizyty dodany jest element wizyty o Rodzaju: Inny
Comarch ERP XL - definicja elementu wizyty
Jeżeli spełnione są określone powyżej warunki kopiowania atrybutu kontrahenta, wówczas w oknie wizyty, na liście Zadania do wykonania dla elementu wizyty o rodzaju Inny prezentowane są informacje jak poniżej
Zadania do wykonania dla Wizyty - kopiowanie atrybutu na element „Inny”
 

Wymagalność elementu wizyty

Istnieje możliwość definiowania własnych zapytań SQLite określających, czy element wizyty ma być wymagany. W tym celu w lokalizacji C:\Program Files (x86)\Comarch Mobile\Serwer synchronizacji\VisitsElementsRequiredQueries (domyślna lokalizacja) należy utworzyć plik o nazwie <id>#<NazwaPliku>.xml, w którym należy umieścić definicje zapytania.
Wskazówka
Przykład takiego zapytania znajduje się w pliku readme.txt w folderze C:\Program Files (x86)\Comarch Mobile\Serwer synchronizacji\VisitsElementsRequiredQueries

Cykliczność wizyt handlowych

W systemie Comarch ERP XL na Karcie kontrahenta istnieje możliwość ustawienia opcji odbywania wizyt z określoną częstotliwością. W tym celu na Karcie kontrahenta należy wybrać zakładkę [Aplikacje], a następnie przycisk [Cykliczność wizyt].
Karta kontrahenta – wybór cykliczności wizyt
Po wybraniu przycisku [Cykliczność wizyt] możliwe jest zdefiniowanie warunków i parametrów związanych z realizowaniem danej wizyty.
Definicja cykliczności wizyt handlowych
Uwaga
Na chwilę obecną parametr [Koniec po X wystąpieniach] nie jest obsługiwany.

Obsługa raportu obecności z przypisanymi urządzeniami

W aplikacji Comarch Mobile Serwis istnieje możliwość sprawdzenia obecności urządzeń u kontrahenta. Jest to możliwe za pomocą wizyty handlowej posiadającej następujące elementy:
  • Ankieta – zawierająca pytania odnośnie numeru seryjnego posiadanych urządzeń
  • Inny – lista urządzeń, których właścicielem jest kontrahent wybrany na wizycie handlowej

Wymagane jest aby ankieta zawierała pytania otwarte dotyczące numerów seryjnych urządzeń. Jako odpowiedź Przedstawiciel handlowy będzie sczytywał lub wpisywał numer seryjny danego urządzenia.

Wizyta zdefiniowana w Comarch ERP XL zawierająca Ankietę obecności urządzeń
Element wizyty Inny o nazwie: „Urządzenia” jest to element pomocniczy, wyświetlający Przedstawicielowi informacje o urządzeniach, które wg systemu dany kontrahent powinien mieć na stanie.
Wizyta zdefiniowana w Comarch ERP XL zawierająca element Inny - listę urządzeń
Aby w elemencie wizyty handlowej Inny był zwracany kod, nazwa i konkretna wartość parametru dla urządzenia, należy dodać zapytanie SQL jako wartość parametru [CanCopyValueOnVisitElement] (Serwer synchronizacji\Methods\Configuration.xl2017). Przykładowe zapytanie: select sd.Code, sd.Name, sdv.Value from ServiceDevices sd LEFT JOIN ServiceDevicesOwners sdo ON sd.Id = sdo.DeviceId join ServiceDevicesParametersValues sdv on sd.Id=sdv.DeviceId WHERE sdo.OwnerId = @ContractorId and sdv.ParameterDefinitionId=1
Wizyta handlowa z obsługą raportu obecności z przypisanymi urządzeniami

Możliwość kopiowania pojedynczej wizyty

W aplikacji Comarch Mobile istnieje możliwość kopiowania pojedynczej niezrealizowanej wizyty. Za tę opcje odpowiada parametr [CanCopyVisits], znajdujący się w plikach konfiguracyjnych katalogu (domyślnie): C:\Program Files (x86)\Comarch Mobile\Serwer synchronizacji\Methods. Parametr ten jest opisany TUTAJ. Więcej informacji na temat wspomnianej funkcjonalności znajduje się TUTAJ.

Dokumenty

Obsługa atrybutów

Istnieje możliwość pobierania i wypełniania atrybutów. Atrybuty w aplikacji Comarch Mobile prezentowane są w sekcji: [Informacje dodatkowe]. Atrybuty można wyświetlać jako klasy lub klasy w grupach. Obsługa atrybutów przy współpracy z systemem Comarch ERP XL
Typy obiektów Funkcjonalność
Kontrahenci Podgląd i edycja
Towary Podgląd
Samochody Podgląd
Nagłówki dokumentów Podgląd i edycja
Pozycje dokumentów Podgląd i edycja
Aby klasa atrybutu była widoczna w aplikacji mobilnej należy w definicji atrybutu wskazać obiekty na zakładce [Obiekty] oraz zaznaczyć parametr [Podgląd] w grupie [Comarch Mobile] na zakładce [Ogólne]. Zaznaczenie parametru [Edycja] umożliwi dodatkowo edycję atrybutów na niektórych typach obiektów.
Przykładowa definicja klasy atrybutu w systemie Comarch ERP XL
W aplikacji mobilnej obsługiwane są również flagi [Wymagany] oraz [Automat]. Jeżeli dany atrybut jest oznaczony jako Wymagany w systemie ERP, to w aplikacji Comarch Mobile jest oznaczony znakiem . W aplikacji obsługiwane są następujące typy atrybutów:
  • Flaga
  • Tekst
  • Liczba
  • Lista
  • Adres URL – w przypadku wskazania adresu strony internetowej, po naciśnięciu przycisku strona zostanie otwarta w domyślnej przeglądarce na urządzeniu mobilnym
W aplikacji obsłużone zostały następujące formaty atrybutów:
  • Tekst
  • Data
  • 1234
  • 1234.56
  • 1234.5678
  • Zaawansowany
Aby była możliwość wyświetlania atrybutów w grupach należy w systemie Comarch ERP XL na liście Atrybutów z poziomu zakładki [Grupy klas atrybutów] stworzyć odpowiednie grupy atrybutów:
Definicja grupy klasy atrybutu
oraz przypisać do stworzonej grupy obiekt, z którego poziomu ma być dostępna grupa atrybutów.
Przypisanie obiektu
Następnie należy przypisać odpowiednie klasy atrybutów. Jedna klasa może być przypięta do kilku grup jednocześnie.

Pobieranie dokumentów historycznych

Aby możliwe było pobranie dokumentów historycznych z systemu Comarch ERP XL należy:
  • na karcie operatora w systemie Comarch ERP XL na zakładce Parametry/Uprawnienia w grupie opcji: Podgląd dokumentów wybrać opcję [Wszystkich],
  • po synchronizacji na urządzeniu ustawić parametry historyczności w aplikacji Comarch Mobile – opis tych ustawień znajduje się TUTAJ.
Comarch ERP XL, karta operatora, parametr [Podgląd dokumentów]

Zatwierdzanie dokumentu bez podpisu

W aplikacji istnieje możliwość pominięcia podpisu podczas wystawienia dokumentu. Funkcjonalność ta wymaga zmodyfikowania funkcji SyncFramework.GetNumerators (nazwa_bazy -> Programmability -> Functions-> Table-valued Functions -> SyncFramework.GetNumerators). Należy dodać warunek dotyczący konkretnego dokumentu, na którym ma być pominięty krok "Podpis". Przy wystawianiu pozostałych dokumentów podpis będzie wymagany.
Przykład
Konfiguracja funkcjonalności pominięcia kroku z podpisem na dokumencie Zamówienia Sprzedaży (ZS). CASE

WHEN mob.Dok_GIDTyp = 9472 THEN 0 /*ZS*/

ELSE 1

END AS IsSignatureRequired

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

W aplikacji Comarch Mobile Serwis 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:
  • RW (Rozchód wewnętrzny)
  • ZSR (Zlecenie serwisowe)
  Za tę funkcjonalność odpowiada parametr [IsBaseUnitVisible], który może przyjmować dwie wartości: 1 – wartość domyślna, jeżeli na towarze domyślną jednostką lub jednostką wybraną podczas dodawania do Koszyka jest jednostka pomocnicza, wówczas na liście towarów wyświetlana jest cena w jednostce pomocniczej oraz jednostce podstawowej, 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

Możliwość zmiany formy płatności na dokumentach „w dół”

W systemie Comarch ERP XL istnieje możliwość zmiany formy płatności na dokumentach „w dół”, to znaczy w sposób ograniczony przez kolejność form płatności ustaloną w Konfiguracji systemu.
Przykładowe zdefiniowane formy płatności w systemie Comarch ERP XL
Aby funkcjonalność można było zastosować dla przedstawiciela handlowego należy w domyślnym katalogu C:\Program Files (x86)\Comarch Mobile\Serwer synchronizacji\Methods zmienić wartość parametru [IsOnlyLowerPaymentFormsVisible] na wartość 1. Więcej informacji nt. tego parametru znajduje się TUTAJ. Dla prawidłowego działania funkcjonalności konieczne jest:
  • Zaznaczenie dostępnych form płatności dla konkretnego oddziału, do którego przypięty jest operator, jak na rysunku poniżej:
Zaznaczenie dostępnych form płatności na centrum mobilnym przypiętym do Operatora w systemie Comarch ERP XL
  • Zaznaczenie checku [Dostępny dla oddziału] po podniesieniu konkretnej formy płatności:
Zaznaczenie opcji „Dostępna w oddziale” form płatności dostępnych dla Operatora
Więcej informacji nt. zmian formy płatności znajduje się TUTAJ.

Edycja kontrahenta docelowego i głównego na nagłówku dokumentu

Możliwość zmiany kontrahenta głównego na nagłówku dokumentu została wprowadzona dla dokumentów:
  • Rozchód wewnętrzny (RW)
W systemie Comarch ERP XL należy zdefiniować również sposób naliczania promocji w aplikacji. Parametr [Naliczaj rabaty dla kontrahenta] dla kontrahenta znajduje się w module Administrator w konfiguracji systemu ERP w zakładce [Rabaty i promocje]. Jeżeli zostanie wybrana opcja:
  • Głównego – po zmianie kontrahenta głównego przeliczone zostaną wszystkie promocje.
  • Docelowego – wówczas rabaty naliczane będą dla kontrahenta docelowego i zmiana kontrahenta głównego nie ma wpływu na przeliczanie rabatów.
Konfiguracja systemu ERP – wybór dla jakiego kontrahenta (główny/docelowy) powinny być naliczane rabaty

Powielanie pozycji

W przypadku, gdy na definicji danego dokumentu w systemie Comarch ERP XL będzie zaznaczony parametr [Powielanie pozycji]: Zablokuj nie będzie możliwości odznaczenia parametru: [Pomiń towary będące w koszyku].
Definicja dokumentu FS z systemu Comarch ERP XL

Konfiguracja jednostki zbiorczej towaru

W systemie Comarch ERP XL na karcie towaru istnieje możliwość wskazania, która jednostka ma być jednostką zbiorczą.
Opcja wskazania w systemie ERP jednostki zbiorczej towaru
Informacje nt. działania tego ustawienia w aplikacji Comarch Mobile znajdują się TUTAJ.

Aktualizacja warunków handlowych przy zmianie kontrahenta głównego na nagłówku dokumentu

Edycja kontrahenta głównego na nagłówku dokumentu

Edycja kontrahenta głównego na nagłówku dokumentu
Od wersji 2022.2.1 aplikacji Comarch Mobile została wprowadzona funkcjonalność, dzięki której użytkownik będzie mógł zdecydować, czy podczas zmiany kontrahenta na nagłówku dokumentu, ma również nastąpić zmiana innych elementów tj. płatnik, kontrahent docelowy, typ transakcji, forma płatności, sposób dostawy.
Widok okna wyboru z możliwością dokonania zmian po wybraniu innego kontrahenta
Użytkownik decyduje, które elementy dokumentu mają ulec zmianie. Po wskazaniu odpowiednich opcji i wybraniu Zapisz, pojawi się poniższy komunikat:
Komunikat wyświetlany w aplikacji przy próbie zmiany kontrahenta głównego na nagłówku dokumentu
    • Nie – pozostawienie aktualnych ustawień na dokumencie – brak zmiany.
    • Tak – aktualizacja wskazanych danych na dokumencie
Uwaga
Wybrane elementy zostają zapamiętane dla danego kontrahenta do momentu ich ponownej zmiany
Więcej informacji o konfiguracji dotyczącej zmiany kontrahenta na nagłówku dokumentu można znaleźć TUTAJ.

Aktualizacja nagłówka dokumentu po zmianie daty

W przypadku zmiany daty wystawienia dokumentu na nagłówku, zmiany będą aktualizowane, jeżeli na definicji wystawianego dokumentu dla centrum mobilnego przedstawiciela będzie zaznaczony parametr [Aktualizacja danych po zmianie: Daty].

Możliwość zmiany ceny początkowej na pozycji

Możliwość zmiany ceny początkowej na pozycji wystawianego dokumentu jest  dostępna w aplikacji mobilnej dla operatorów, którzy na oddziale mobilnym w systemie Comarch ERP XL, na definicji dokumentu, mają zaznaczony parametr [Edycja cen i rabatów na pozycjach] oraz dodatkowo jeżeli na serwerze synchronizacji jest włączona opcja zmiany ceny początkowej – parametr [CanChangeStartPrice] w pliku konfiguracyjnym. Więcej informacji nt. tego parametru znajduje się TUTAJ.

Wydruk dokumentu

Poniżej został zaprezentowany standardowy wygląd wydruku PDF. Wygląd wydruków dla poszczególnych typów dokumentów i/lub operatorów można modyfikować – np. dodając własne logo firmy na wydruku. Więcej informacji oraz przykłady takich modyfikacji można znaleźć TUTAJ.
Podgląd wydruku PDF wystawionego w aplikacji dokumentu

Podpis osoby uprawnionej do wystawienia dokumentu

W aplikacji istnieje możliwość złożenia dwóch osobnych podpisów na dokumencie zlecenia serwisowego (ZSR) - jeden osoby uprawnionej do wystawienia dokumentu (serwisanta), drugi osoby uprawnionej do odbioru dokumentu (kontrahenta). Domyślnie podpis serwisanta jest wyłączony. W celu jego włączenia należy wartość parametru CanAddTwoSignaturesOnServiceOrder ustawić na 1. Szczegółowy opis parametrów aplikacji znajduje się [TUTAJ]. Po włączeniu podpisu w momencie zakończenia zlecenia serwisowego poprzez opcję "Zakończ zlecenie" pojawi się okno z podpisem osoby uprawnionej do odbioru dokumentu:
Ekran podpisu osoby uprawnionej do odbioru dokumentu
W przypadku pomyłki, możliwe jest użycie przycisku "Wyczyść", które wyczyści ekran i pozwoli na ponowne złożenie podpisu. Po kliknięciu przycisku "Zatwierdź podpis" pojawi się okno z podpisem serwisanta:
Ekran podpisu osoby uprawnionej do wystawienia dokumentu

Blokada możliwości zatwierdzenia zlecenia serwisowego przez serwisantów

W aplikacji istnieje możliwość zablokowania zatwierdzenia zlecenia serwisowego. Funkcjonalność wprowadzona po to, aby użytkownik mobilny nieumyślnie nie zatwierdził zlecenia, czym zamyka sobie możliwość dalszej edycji zlecenia poprzez np. dodanie serwisanta, składników itd. W celu zablokowania zatwierdzenia należy wartość parametru CanConfirmServiceOrders ustawić na 0. Szczegółowy opis parametrów aplikacji znajduje się [TUTAJ]. W momencie, gdy parametr CanConfirmServiceOrders zostanie wyłączony (wartość parametru - 0), wówczas przy wyjściu ze zlecenia serwisowego będą widnieć opcje:
Opcje przy wychodzeniu ze zlecenia serwisowego - z lewej bez blokady, z prawej z włączoną blokadą