Konfiguracja funkcjonalności

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.

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.

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,9472) 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)

ELSE 0

END AS IsPricesInvisible,
Edycja funkcji spowoduje:
  • ukrycie cen i rabatów na kalkulacji dla danego dokumentu,
  • ukrycie cen i rabatów w Koszyku dla danego typu dokumentu,
  • ukrycie informacji o rabacie, marży na Nagłówku dla danego typu dokumentu,
  • ukrycie wartości na transakcjach historycznych dla danego typu dokumentu,
  • ukrycie wartości na liście dokumentów dla dokumentów niepotwierdzonych dotyczących danego typu dokumentu,
  • ukrycie wartości dla dokumentów niepotwierdzonych z poziomu wizyty elementu Rejestracja dokumentu dla danego typu dokumentu,
  • kafel Raporty: ujęcie wartości tylko z potwierdzonych dokumentów (dla konkretnego typu dokumentu).
Wyłączenie widoczności cen i rabatów na dokumencie prezentuje poniższy rysunek, gdzie prezentowana jest lista oferowanych towarów na ZS z ukrytymi informacjami:
Ukryta informacja o cenach na dokumencie ZS
Ukryte informacje o cenach i rabatach są również na małej i dużej kalkulacji elementu, jak na poniższym rysunku:
Ukryte informacje o cenach na małej i dużej kalkulacji towaru
Dopóki dokument nie zostanie 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
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)

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

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

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
 

Promocje i rabaty

Promocje limitowane

Uwaga
Listę promocji można znaleźć w Comarch ERP XL, w module [Sprzedaż] Zestawienia/ Promocje
W systemie Comarch ERP XL użytkownik może wybrać, czy chce ustawić limit na całej promocji PRM czy na poszczególnych towarach objętych promocją. Należy również wybrać, czy promocja ma zostać naliczana na dokumentach rozchodowych czy przychodowych.
Limit na całej promocji PRM nie-pakietowej dla wszystkich kontrahentów dodanych na promocji
Limit poszczególnych towarach objętych promocją obowiązujący osobno dla każdego kontrahenta przypiętego do promocji
Limit na danej promocji można edytować w Comarch ERP XL po zatwierdzeniu promocji pod warunkiem, że nowa ilość/wartość nie będzie mniejsza niż obowiązująca. Więcej informacji nt. promocji limitowanych znajduje się TUTAJ.

Kontrahenci

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

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.
Uwaga
Istnieje możliwość sparametryzowania funkcjonalności dodawania i edycji kontrahentów przez operatorów. W zaleznoś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.

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

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
 

Konfiguracja limitu kredytowego kontrahenta

W aplikacji obsłużona została kontrola limitu kredytowego. Ustawienia dotyczące limitu brane są z definicji dokumentu FS dla centrum struktury praw (nadrzędnego). Szczegółowe informacje dotyczące ustawień na definicji dokumentów znajdują się TUTAJ. W przypadku zarejestrowania w aplikacji dokumentu Zamówienia Zakupu lub wypłat gotówki (KW) saldo limitu kredytowego pozostającego do wykorzystania zostanie zwiększone. W systemie Comarch ERP XL na karcie kontrahenta 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)
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
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 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 w grupie Handlowe w wierszu Limit kredytowy.
Karty kontrahentów wraz limitem kredytowym wyświetlanym w walucie krajowej i 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 zaznaczone na danym limicie kredytowym w systemie Comarch ERP XL
Dodawanie limitu kredytowego w systemie Comarch ERP XL
  • 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. Więcej informacji na ten temat znajduje się TUTAJhttps://pomoc.comarch.pl/mobile/pl/xl/knowledge-base/wyswietlanie-limitu-kredytowego-do-wykorzystania-przez-kontrahenta-2/.

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

Towary

Wyświetlanie/ukrywanie informacji o stanach magazynowych

Istnieje możliwość wyboru wyświetlenia\ukrycia informacji o stanach magazynowych w centrali.
Uwaga
W folderze [Methods] (domyślna lokalizacja: C:\Program Files (x86)\Comarch Mobile\Serwer synchronizacji\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

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]
Uwaga
Ustawienie parametru [IsDiscountVisible] na 0 spowoduje, że ustawienie [Obliczaj hipotetyczny rabat] nie będzie wyświetlone w ustawieniach aplikacji.

Dostępność kartotek towarowych w aplikacji

Aby kartoteki z wybranej grupy towarowej były widoczne w aplikacji Comarch Mobile Zakupy 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
Ustawianie dostępności kartotek towarowych na wzorcu grupy
Uwaga
Aby karta towaru była dostępna w aplikacji Comarch Mobile Zakupy, 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 Zakupy nie obsługuje zestawów towarowych.

Dostępność jednostek pomocniczych w aplikacji

Istnieje możliwość określenia jednostki domyślnej przy sprzedaży oraz jednostek pomocniczych dostępnych w aplikacji Comarch Mobile. Odpowiednie ustawienie znajduje się na karcie towaru, zakładka: [Jednostki i kody/ definicja jednostki pomocniczej]. Aby dana jednostka pomocnicza była dostępna w aplikacji Comarch Mobile należy zaznaczyć parametr [Dostępność w aplikacji: Mobile Sprzedaż]. Aby dana jednostka pomocnicza była jednostką domyślną przy sprzedaży w aplikacji Comarch Mobile należy zaznaczyć parametr [Dostępność w aplikacji: Domyślna].
Ustawianie jednostki dostępnej w aplikacji i domyślnej do sprzedaży

Widoczność zdjęć towarów w aplikacji

Aby zdjęcia dodane do kartotek towarowych systemu Comarch ERP XL były widoczne w aplikacji Comarch Mobile Zakupy 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] (domyślna lokalizacja: C:\Program Files (x86)\Comarch Mobile\Serwer synchronizacji\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 Zakupy 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: ZZ, OZ
  • Pozycji dokumentów: ZZ, OZ
Szczegółowy opis funkcjonalności znajduje się TUTAJ.

Obsługa cech

Aplikacja Comarch Mobile Zakupy obsługuje cechy towarów. W przypadku prezentacji zasobów z rozbiciem na partie prezentowane są Cechy towaru, Daty ważności, Kody EAN partii. Aplikacja umożliwia obsługę cech na dokumentach ZZ, OZ. Warunkiem jest przypisanie domyślnej cechy na towarze oraz prawidłowe ustawienie wartości parametrów opisanych poniżej. 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
Cechy i ich wartości można definiować z poziomu Comarch ERP XL (Sprzedaż/ Listy/ Cechy).

Kolorowanie towarów w aplikacji

W aplikacji Comarch Mobile, analogicznie jak w systemie Comarch ERP XL, istnieje możliwość kolorowania towarów ze względu na ich rodzaj. Aby dany rodzaj towarów został pokolorowany w Comarch Mobile 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. Co więcej, przed nazwą i kodem każdego pokolorowanego towaru będzie widoczny rodzaj towaru.
Kolorowanie towarów w aplikacji

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.

Wizyty handlowe

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.

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

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

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”
 

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.

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

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 [CanCopyVisits], znajdujące się w plikach konfiguracyjnych katalogu (domyślnie): C:\Program Files (x86)\Comarch Mobile\Serwer synchronizacji\Methods. Parametry te są opisane TUTAJ. Więcej informacji na temat wspomnianych funkcjonalności znajduje się TUTAJ.

Obsługa ankiet z pytaniami wielokrotnego wyboru

Jednym z elementów wizyty handlowej są ankiety. W aplikacji Comarch Mobile Zakupy 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 Zakupy (Administrator Oddziałów/ Oddziały/ Lista oddziałów/ Wizyty) na karcie danego oddziału zawierał element [Ankiety] i zdefiniowaną ankietę z pytaniem wielokrotnego wyboru.

Wyświetlanie dodatkowych parametrów na raportach towarowych

W aplikacji Comarch Mobile Zakupy 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 plikach konfiguracyjnych w katalogu: C:\Program Files (x86)\Comarch Mobile\Serwer synchronizacji\ Methods. 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 Zakupy.
Więcej informacji na temat wspomnianej funkcjonalności w raporcie towarów konkurencji znajduje się TUTAJ, a w raporcie obecności towarów - TUTAJ.

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

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 Listy/ Słowniki kategorii/ Transport, magazyn/ Rodzaje przejazdów w module [Administrator] Comarch ERP XL.
Zdefiniowanie domyślnej wartości dla rodzaju przejazdu w systemie Comarch ERP XL

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

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/ Typ wizyty 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.

Planowanie wizyty cyklicznej wg ustawień cykliczności

Konfiguracja planowania wizyty cyklicznej wg ustawień cykliczności została opisana TUTAJ. Kontrahenci ze zdefiniowaną cyklicznością dla których nie zaplanowano wizyt cyklicznych prezentowani są w terminarzu na zakładce [Cykliczne niezaplanowane].
Prezentowanie niezaplanowanych wizyt cyklicznych w terminarzu
Kliknięcie w kontrahenta powoduje wyświetlenie ekranu planowania wizyty. Pole [Data] i [Godzina od] są automatycznie wypełniane wg ustawień cykliczności. Pole [Data] jest zablokowane do edycji.
Planowanie wizyty cyklicznej
Po zaplanowaniu wizyty jest ona prezentowana w kalendarzu. Po zrealizowaniu wizyty cyklicznej, jeśli ze zdefiniowanych ustawień cykliczności wynika, że należy zaplanować kolejną wizytę, wyświetlane jest okienko planowania.
Planowanie wizyty cyklicznej

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

Eksportowanie realizacji zamówień zakupu

W celu eksportu realizacji zamówień z systemu Comarch ERP XL do aplikacji konieczne jest włączenie parametru: [Eksport realizacji zamówień] na oddziale mobilnym w systemie ERP. W tym celu należy przejść do modułu [Administrator oddziałów/ Oddziały/ Lista oddziałów], a następnie podnieść do edycji wybrany oddział mobilny. Parametr ten znajduje się w zakładce [Parametry], jak na poniższym rysunku:
Parametr na oddziale mobilnym: Eksport realizacji zamówień
Więcej informacji dot. realizacji zamówień znajduje się TUTAJ.

Edycja kontrahenta docelowego na nagłówku dokumentu

Możliwość zmiany kontrahenta docelowego na nagłówku dokumentu została wprowadzona dla dokumentów:
  • Zamówienie Zakupu (ZZ)
  • Oferta Zakupu (OZ)
Uwaga
Po zmianie kontrahenta docelowego na dokumencie, np. z K1 na K2 należy pamiętać, że jeśli nowy kontrahent K2 nie ma przypisanego takiego samego kontrahenta głównego jaki był u K1, wówczas dodany dokument nie będzie widoczny w dokumentach kontrahenta K1.
W systemie Comarch ERP XL należy zdefiniować również sposób naliczania promocji w aplikacji. Parametr [Naliczaj rabaty] dla kontrahenta znajduje się w module Administrator w konfiguracji systemu ERP w zakładce [Rabaty i promocje].
Konfiguracja systemu ERP – wybór dla jakiego kontrahenta (główny/docelowy) powinny być naliczane rabaty
  • Głównego – wówczas rabaty będą naliczane dla kontrahenta głównego, zmiana kontrahenta docelowego na nagłówku nie będzie miała wpływu na naliczanie rabatów;
  • Docelowego – wówczas rabaty będą naliczane dla kontrahenta docelowego;
W celu możliwości przeliczania promocji na dokumencie podczas zmiany kontrahenta docelowego należy w systemie Comarch ERP XL zaznaczyć parametr [Aktualizacji danych po zmianie: Kontrahenta].
Parametryzacja przeliczania promocji na dokumencie

Synchronizacja konfiguracji i ustawień odwrotnego obciążenia z ERP

Do poprawnego działania odwrotnego obciążenia VAT w aplikacji Comarch Mobile wymagane jest ustawienie w Comarch ERP XL następujących elementów:
  • Stawkę VAT wskazaną w polu [Stawka VAT dla odwrotnego obciążenia]Konfiguracja/ Sprzedaż, Zakładka [Stawki VAT]
Comarch ERP XL - konfiguracja stawki VAT dla odwrotnego obciążenia
  • Parametr [Podatnikiem jest nabywca] – karta kontrahenta, zakładka: [Księgowe\Typ kontrahenta]:
Comarch ERP XL - karta kontrahenta
  • Parametr: [Odwrotne obciążenie] – karta towaru, zakładka [Ogólne]
Comarch ERP XL - karta towaru
Opis działania tej funkcjonalności znajduje się TUTAJ.

Pobieranie zamówień w buforze oraz umożliwienie zatwierdzania lub anulowania zamówień „producenta”

W aplikacji Comarch Mobile zostało umożliwione pobieranie z systemu Comarch ERP XL niepotwierdzonych dokumentów zamówień z centrali. Pobieranie zamówień będących w buforze jest uzależnione od tego czy na centrum mobilnym jest zaznaczony parametr [Eksport zamówień w buforze] oraz wymagane jest również zaznaczenie w ustawieniach aplikacji Comarch Mobile parametru [Pobieraj dokumenty z systemu].
Parametr "Eksport zamówień w buforze" w oddziale mobilnym
Uwaga
Anulowanie zamówienia dotyczy tylko dokumentów zamówienia niepotwierdzonych i pobranych z Comarch ERP XL. Po anulowaniu zamówienia można przywrócić dokument do edycji, dopóki nie zostanie zsynchronizowany do systemu ERP.
Do anulowania zamówień wymagane jest pobranie do aplikacji Comarch Mobile listy kodów fiaska zdefiniowanej w systemie Comarch ERP XL w module [Administrator/ Listy/ Słowniki kategorii/ Transakcje/ Kody fiaska].
Comarch ERP XL – Słowniki kategorii, Kody fiaska – sprzedaż

Wystawianie dokumentów ZZ i OZ w innej walucie

W aplikacji Comarch Mobile Zakupy jest możliwe wystawianie zamówień i ofert sprzedaży w walucie obcej. Podczas wystawiania dokumentów OZ i ZZ na nagłówku dokumentu ustawiana jest waluta domyślna z karty kontrahenta.
Wskazówka
W systemie Comarch ERP XL waluty dodawane są z poziomu: Administrator/ Listy/ Waluty
Aby zmienić walutę domyślną na karcie kontrahenta należy przejść do zakładki [Rozliczenia]:
Ustawienie domyślnej waluty na karcie kontrahenta
Dodatkowo operator ma możliwość zmiany waluty oraz jej kursów w zależności od nadanych mu uprawnień. W zależności od wartości parametru [CanChangeCurrency] operator ma możliwość lub blokadę zmiany:
  • samej waluty,
  • samego kursu waluty,
  • zarówno waluty, jak i jej kursu.
Uwaga
Edycję waluty lub kursu waluty można wykonać jedynie wtedy, gdy w koszyku nie ma jeszcze dodanych towarów.
Wskazówka
Zmiany wartości parametru należy dokonać w pliku [configuration.xl2018.statement] dla Comarch ERP XL w wersji 2018.1 (lub [configuration.xl2017.statement] dla Comarch ERP XL w wersji 2017.1) znajdującego się domyślnie w folderze C:\Program Files (x86)\Comarch Mobile\Serwer synchronizacji\Methods. Wartości parametru wraz z ich znaczeniem opisane są TUTAJ.

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 płatnika na nagłówku dokumentu

Możliwość zmiany płatnika na nagłówku dokumentu została wprowadzona dla dokumentów:
  • Zamówienie Zakupu (ZZ)
  • Oferta Zakupu (OZ)
Standardowo w aplikacji wyświetlane są informacje o płatniku ustawione na karcie kontrahenta w systemie ERP XL.
Informacja o płatniku w systemie ERP XL – skąd mają być pobierane warunki handlowe podczas wystawiania dokumentu
Uwaga
Opcja zmiany płatnika na nagłówku dokumentu jest możliwa tylko dla dokumentów wystawionych w aplikacji Comarch Mobile

Modyfikacja niepotwierdzonych zamówień pobranych z centrali

Uwaga
Niniejsza funkcjonalność dotyczy niepotwierdzonych dokumentów ZZ pobranych z systemu Comarch ERP XL.
Modyfikacje pliku konfiguracyjnego należy przeprowadzać w plikach:
  • [configuration.xl2018.statement] dla Comarch ERP XL w wersji 2018.2 lub
  • [configuration.xl20172.statement] dla Comarch ERP XL w wersji 2017.2.
Domyślna lokalizacja tych plików: C:\Program Files (x86)\Comarch Mobile\Serwer synchronizacji\Methods\configuration
Okno Małej kalkulacji podnosi się pod warunkiem, że w ustawieniach aplikacji zaznaczony jest parametr: [Używaj elementu skróconego] - więcej informacji nt. tego parametru znajduje się TUTAJ.

Modyfikacja ilości i/lub jednostki miary w oknie małej kalkulacji

W tym celu konieczne jest zaznaczenie w ustawieniach aplikacji Comarch Mobile parametru [Pokazuj elementy historyczne] (parametr ten został opisany TUTAJ).

Modyfikacja ceny w oknie małej kalkulacji

W tym celu konieczne jest:
  1. zaznaczenie w ustawieniach aplikacji Comarch Mobile Zakupy parametru [Pokazuj elementy historyczne] (parametr ten został opisany TUTAJ),
  2. zmiana w pliku konfiguracyjnym wartości parametru [IsDiscountsVisible] na 1.

Modyfikacja rabatu w oknie małej kalkulacji

W tym celu konieczne jest:
  1. zaznaczenie parametru [Edycja cen i rabatów na pozycjach] na definicji dokumentu ZZ dla centrum mobilnego w Comarch ERP XL,
  2. zmiana w pliku konfiguracyjnym wartości parametru [IsDiscountsVisible] na 1

Modyfikacja marży, ceny końcowej, ceny końcowej za jednostkę podstawową, wartości elementu netto/brutto w oknie dużej kalkulacji

W tym celu konieczne jest:
  1. zaznaczenie parametru [Edycja cen i rabatów na pozycjach] na definicji dokumentu ZZ dla centrum mobilnego w Comarch ERP XL

Modyfikacja marży, rabatu,ceny początkowej, ceny końcowej, ceny końcowej za jednostkę podstawową, wartości elementu netto/brutto w oknie dużej kalkulacji

W tym celu konieczne jest:
  1. zaznaczenie parametru [Edycja cen i rabatów na pozycjach] na definicji dokumentu ZZ dla centrum mobilnego w Comarch ERP XL
Uwaga
W oknie dużej kalkulacji pozycji zamówienia możliwe jest dodanie atrybutu, jeżeli dla pozycji ZZ w systemie Comarch ERP XL zdefiniowano odpowiedni atrybut i nadano uprawnienia do jego edycji w aplikacji Comarch Mobile Zakupy. Możliwa jest również modyfikacja atrybutu i jego usunięcie niezależnie czy dodano go na pozycję w centrali, czy z poziomu aplikacji, ale pod warunkiem, że w systemie Comarch ERP XL nadano dla atrybutu uprawnienia do edycji w aplikacji Comarch Mobile Zakupy.

Obsługa eksportowych stawek VAT

W aplikacji Comarch Mobile Zakupy istnieje możliwość wystawiania dokumentów ZZ i OZ z eksportowymi stawkami VAT. Dane dotyczące eksportowych stawek VAT pobierane są z systemu Comarch ERP XL.
Uwaga
W systemie Comarch ERP XL konfiguracja stawek VAT znajduje się w lokalizacji: System/ Konfiguracja/ Sprzedaż/ Stawki VAT

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)
Obsługa zamienników w aplikacji Comarch Mobile została opisana TUTAJ.

Wyświetlanie informacji o cenie ewidencyjnej towaru

Istnieje możliwość wyświetlania ceny ewidencyjnej towaru, czyli najwyższej aktualnej ceny zakupu towaru, do którego przedstawiciel handlowy 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
Istnieje możliwość nadawania uprawnień do atrybutów per Operator. Na zakładce [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 atrybutu oraz przypięcia klasy, ale bez określania wartości. Aby udostępnić atrybut per Operator w aplikacji Comarch Mobile, 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

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

Możliwość zmiany kontrahenta głównego na nagłówku dokumentu została wprowadzona dla dokumentów:
  • Zamówienie Zakupu (ZZ)
  • Oferta Zakupu (OZ)
  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

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

W aplikacji Comarch Mobile Zakupy 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:
  • Oferta zakupu
  • Zamówienie zakupu
Za tę funkcjonalność odpowiada parametr [IsBaseUnitVisible] - jest on opisany TUTAJ.

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 Oferty Zakupu (OZ). CASE

WHEN mob.Dok_GIDTyp = 8832 THEN 0 /*OZ*/

ELSE 1

END AS IsSignatureRequired

1 AS ConfirmationActions

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

Aktualizacja warunków handlowych na dokumencie jest uzależniona od ustawienia na definicji dokumentu w systemie Comarch ERP XL - Aktualizacja danych po zmianie kontrahenta. Od wersji 2022.2.1 Comarch Mobile, jeżeli na definicji dokumentu pole [Kontrahent] jest:
    • Zaznaczone - to przy zmianie kontrahenta na dokumencie otwiera się okno wyboru komunikat
Widok okna wyboru z możliwością dokonania zmian po wybraniu innego kontrahenta
Użytkownik decyduje, które elementy dokumentu tj. płatnik, kontrahent docelowy, typ transakcji, forma płatności, sposób dostawy 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
  • Odznaczony – po zmianie kontrahenta zmienione zostają tylko dane kontrahenta głównego.
Parametryzacja definicji dokumentu
Uwaga
Zmiana dokonana na nagłówku dokumentu nie wiąże się w żaden sposób z kartą kontrahenta, tzn. jeżeli na nagłówku wybrany zostanie z listy kontrahentów taki, który nie widnieje jako odbiorca/kontrahent główny tego kontrahenta w systemie Comarch ERP XL, nie zostanie on określony jako domyślny kontrahent docelowy/główny dla tego kontrahenta.
Więcej informacji nt. edycji kontrahenta na nagłówku dokumentu znajduje się TUTAJ.

Parametryzacja edycji i widoczności ceny początkowej oraz rabatów

Istnieje możliwość zablokowania edycji cen i rabatów na elementach dokumentów – wartości są widoczne, ale nie można ich zmieniać. W przypadku współpracy z Comarch ERP XL obsłużony został parametry: [Edycja cen i rabatów na pozycjach] z definicji dokumentu.
Zaznaczenie opcji [Edycja cen i rabatów na pozycjach] w systemie Comarch ERP XL
Edycja cen i rabatów w elementach dokumentów
Wskazówka
Dzięki tej zmianie można tak skonfigurować aplikację, że przedstawiciel nie będzie mógł zmieniać warunków handlowych narzuconych z centrali firmy.
Istnieje również możliwość ukrywania cen początkowych i rabatów – Przedstawiciel pracujący w aplikacji może tylko operować ceną końcową (po uwzględnieniu wszystkich rabatów), ale nie ma możliwości wglądu w to, jakie promocje złożyły się na tą cenę oraz jaki rabat otrzymał odbiorca towarów. Więcej informacji znajduje się TUTAJ.
Ukrywanie cen początkowych i rabatów

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.

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