Konfigurace synchronizační služby
Konfigurace synchronizační služby se provádí ve webovém rozhraní Skeleton. Po přihlášení si vyberte Maxim systém/Synchronizace a zde jsou k dispozici následující nastavení:
Obsah
Servery
V tomto číselníku můžete určit servery, na kterých běží služba Skeleton a přístupové údaje k těmto serverům. Tento číselník má dvoje hlavní použití:
- Definice serveru umožňuje zjednodušenou úvodní konfiguraci programu těsně po instalaci Maxim CRM na koncovém zařízení. Aby uživatel nemusel po instalaci složitě určovat http adresy a přihlašovací údaje, tak můžete určit zkrácené ID serveru, které po instalaci programu stačí zadat a program si z pevně daného centrálního serveru stáhne odpovídající nastavení. Do zařízení lze stahovat pouze ty servery, které mají zaškrtnutý přepínač „Povolit pro automatické nastavení“. U těchto serverů pak kromě ID serveru stačí definovat jen URL (např. https://mojedomena.cz:7001/SkeletonService), jméno a heslo uživatele služby Skeleton a nějaký vhodný popis. Můžete také zadat jen první část hesla. Ve vstupním dialogu, který se objevuje při prvním spuštění Maxim CRM, program umožňuje po zadání ID serveru a načtení přístupových údajů zadat druhou část hesla. Pokud je tedy heslo uživatele služby Skeleton „MojeHeslo1234“ a v nastavení serveru uvedete jen „MojeHeslo“, tak uživatel při prvním spuštění Maxim CRM musí zadat „1234“, aby program mohl provést registraci zařízení a pokračoval v další synchronizaci.
Uživatele služby Skeleton a jejich hesla definujte pomocí nabídky Administrace/Nastavení přístupu.
- Definice serveru pro odesílání objednávek a dalších údajů. Tyto záznamy nedoporučujeme zveřejňovat pomocí přepínače „Povolit pro automatické nastavení“. ID serveru v tomto případě nehraje důležitou roli. Můžete zadat URL, uživatele a celé heslo ke službě Skeleton (viz Administrace/Nastavení přístupu) a dále je nutné zadat Jméno modulu (z definice číselníku, který je dostupný ve webovém rozhraní Skeleton pod nabídkou Administrace/Nastavení modulů/Nastavení modulu Maxim/Parametry programu), Uživatel modulu (viz Administrace/Nastavení modulů/Nastavení modulu Maxim/Uživatelé programu) a přihlašovací heslo do skladového programu.
Společnosti
Základní číselník popisující společnosti a jejich provozovny poskytující data pro synchronizaci.
Kromě základních identifikačních údajů (IČO, Název, ..) jsou zde i následující systémové údaje:
Název společnosti | interní název společnosti nebo provozovny |
ID společnosti | interní označení společnosti – doporučujeme jen krátký výstižný název nebo kód velkými písmeny bez použití diakritiky, mezer a speciálních znaků; toto ID je pak použito i jako součást jména databáze vytvářené v koncovém zařízení |
ID Synchronizace | identifikátor synchronizace (připraveno pro budoucí použití) |
Číslo skladu | zadejte číslo skladu; číslo by mělo odpovídat údajům ve skladovém programu (např. kvůli zobrazování zůstatků skladu apod.) |
Server | zde můžete určit server z interního číselníku serverů, který se má použít pro odesílání objednávek a dalších informací z koncového zařízení zpět do skladového systému (viz bod Servery). Pokud server není určen, tak se systém ke službě Skeleton přihlašuje se stejnými údaji, jaké používá pro synchronizaci. |
Databáze
Definuje jména databází, která jsou použita pro synchronizaci dat a databázové připojovací řetězce (Connection string) pro zpřístupnění databáze. Připojovací řetězec může mít například následující tvar:
data source=JmenoSQLServeru;initial catalog=Maxim.Sync;integrated
security=True;MultipleActiveResultSets=True;App=EntityFramework
Pokud je nastaven parametr „integrated security=True“, tak se pro přihlášení k databázi použijí údaje uživatele Windows, pod kterým je spuštěna služba Skeleton.
Databáze společnosti
Tento číselník propojuje společnosti s konkrétními databázemi, ze kterých mají být poskytována data pro synchronizaci. Různé firmy tak mohou mít některé synchronizační databáze společné a jiné zase rozdílné. Pokud je v nastavení tohoto číselníku uveden připojovací databázový řetězec, tak má přednost před nastavením uvedeným v číselníku „Databáze“
Skupiny tabulek
Základní číselník, který ovlivňuje četnost synchronizace v koncovém zařízení, kde běží Maxim CRM. Údaje poskytované do zařízení (datové tabulky) mohou být seskupeny pomocí tohoto číselníku.
V definici skupiny pak lze určit následující údaje:
Popis skupiny | údaj lze libovolně měnit a měl by zjednodušeně vyjadřovat, které tabulky patří do dané skupiny |
Aplikace | zde zadejte Maxim.CRM (synchronizační služba je připravena i na práci s jinými aplikacemi) |
Synchronizační frekvence | určuje, jak často se má koncové zařízení dotazovat, zda jsou k dispozici na serveru nová data; jednotkou frekvence je 1 den; pokud zde tedy uvedete hodnotu 0.25, tak program po uplynutí 6 hodin (čili 0,25 x 24) od poslední úspěšné synchronizace provede synchronizaci dané skupiny. Pokud bude neustále k dispozici připojení k synchronizační službě, tak program provede synchronizaci přibližně 4x denně. Reálně ale bude synchronizace méně častá, protože uživatel nebude k synchronizační službě připojen trvale a v době, kdy by měla přijít na řadu synchronizace dané skupiny, mohou být synchronizovány jiné skupiny, které nebyly synchronizovány delší čas. Frekvenci je nutné plánovat i s ohledem na předpokládanou velikost dat a očekávaný počet změněných záznamů v rámci dne. Pokud se větší množství skupin tabulek s častými a rozsáhlými změnami naplánuje s krátkými časy mezi synchronizacemi, tak může dojít k zahlcení synchronizace a koncová aplikace i synchronizační server budou nadměrně zatěžovány. |
Maximální synchronizační doba | při spuštění programu Maxim CRM se kontroluje, zda doba od poslední úspěšné synchronizace nepřekročila stanovený časový interval. Údaj se uvádí ve dnech. Pokud je doba překročena, tak program nedovolí další použití do té doby, než je provedena synchronizace u všech skupin s překročeným časovým intervalem. |
Systémová skupina | tento přepínač smí být zapnutí jen u jedné skupiny, která obsahuje nastavení, jež se synchronizuje automaticky ještě před přihlášením uživatele na koncové zařízení |
Tabulky
Tabulky jsou základním prvkem synchronizace. Údaje, které jsou uložené v libovolné databázi, která je dostupná v rámci definice databází, mohou být synchronizovány do koncového zařízení, kde běží aplikace Maxim CRM. Zdrojová data pro synchronizaci jsou připravena za pomocí databázového dotazu (SQL) a výsledná datová množina je formou změnového protokolu odeslána do zařízení.
Definice tabulky obsahuje následující údaje:
Skupina | můžete určit odpovídající skupinu tabulek; všechny tabulky, které jsou v jedné skupině, jsou pak synchronizovány společně | ||||||
Popis | můžete změnit interní popis tabulky | ||||||
Pořadí | pořadí ve skupině tabulek | ||||||
Databáze | vyberte databázi, ve které má být spuštěn SQL dotaz; systémové tabulky používají databázi Maxim.Sync, běžné datové tabulky jsou obvykle umístěny v Maxim.CRM.Data | ||||||
Min.app.verze | minimální číslo verze aplikace, pro kterou je dotaz povolen; lze tak omezit, aby se synchronizace tabulky neprováděla, pokud je spuštěna starší verze Maxim CRM | ||||||
Max.app.verze | maximální číslo verze aplikace, pro kterou je dotaz povolen; lze tak omezit, aby se synchronizace tabulky neprováděla, pokud je spuštěna novější verze Maxim CRM (např. z důvodu, že se již tabulka v nové verzi nepoužívá) | ||||||
Typ příkazu | v aktuální verzi je podporován jen typ příkazu 0, který znamená běžný SQL dotaz typu SELECT | ||||||
Text příkazu | zde se zadává SQL příkaz, který má vybrat data ze zvolené tabulky. Z výsledné datové množiny pak synchronizační server připraví strukturu tabulky vytvářené na klientském zařízení. Struktura (čili názvy datových polí a jejich typ) musí odpovídat údajům, které očekává aplikace Maxim CRM. Mohou zde ale být některá pole navíc. Ty pak program pří zpracování obvykle ignoruje. Příkaz (SQL dotaz) může využívat tyto parametry:
| ||||||
Název db. klienta | název databáze v koncovém zařízení. Ve jméně databáze lze použít následující zástupné znaky:
| ||||||
Název tbl. Klienta | název tabulky v databázi uložené v koncovém zařízení – tabulky musí odpovídat názvům, které aplikace Maxim CRM očekává. | ||||||
Id.pole | pole z výsledného SQL dotazu, které má program použít jako jednoznačný identifikátor záznamu; každá tabulka musí mít takovéto jednoznačné pole (obvykle označované jako GUID, i když nemusí mít standardizovaný formát pro UUID) | ||||||
Indexy klienta | seznam jmen databázových indexů a polí, které mají být v daném indexu použity. Indexy zadejte v následujícím formátu: Jmeno_indexu1=Pole11[,Pole12[,..]];Jmeno_indexu2=Pole21[,Pole22[,..]][;..] V definici indexu nepoužívejte mezery, odřádkování ani jiné nepovolené odddělovače | ||||||
Min. počet filtrů | dotaz se provede, jen pokud je pro danou tabulku definován určený minimální počet filtrů. Můžete tak například omezit, aby nešlo synchronizovat odběratele, pokud nebude určený filtr omezující synchronizovaná data (např. musí být určen nejméně 1 dealer) | ||||||
Max. počet záznamů v dávce | maximální počet záznamů, které jsou odeslány v rámci jedné synchronizační dávky; pokud je v dotazu použit parametr :QT, tak do tohoto parametru použito zadané číslo max. počtu záznamů; pokud parametr :QT není součástí dotazu, tak SQL server musí zpracovat všechny záznamy dle SQL dotazu, ale pošle se stejně jen určený maximální počet záznamů.
Příliš velká hodnota tohoto údaje povede k přenosu velkých bloků dat přes síť (při překročení určité hranice tak může dojít i k nefunkčnosti synchronizace). Malá hodnota zase vede k tomu, že synchronizační dotazy jsou příliš rozdrobeny a synchronizace bude pomalejší kvůli velké režii spojené s komunikací. Doporučujeme tedy doby zpracování dotazů sledovat v protokolu událostí a odpovídajícím způsobem optimalizovat tento parametr. |
Filtry pro tabulky
V seznamu tabulek je v nástrojové liště tlačítko Spravovat filtry, které umožňuje určit, které tabulky mají používat jaké filtry (viz dále číselník filtrů)
K jedné tabulce může být definováno více filtrů. Pokud jsou při výběru dat v rámci synchronizačního dotazu použity filtry stejného typu (např. údaj Dealer obsahuje 1 + Dealer obsahuje 2), tak se tyto podmínky spojí pomocí „OR“ (čili uživatel dostane data za dealera 1 i 2); Pokud jsou použity filtry různého typu (např. Dealer obsahuje 1 + skupina odběratelů ABC), tak se podmínky spojí pomocí AND (čili uživatel dostane odběratele dealera 1, kteří mají ve skupině údaj ABC).
Více tabulek může použít stejné filtry. V definici SQL dotazu je pak vhodné se pomocí spojení více tabulek odkázat na hlavní tabulku a filtrovací podmínku uplatnit na ni; např. pomocí WHERE EXISTS(Select…). Můžete tak například dosáhnout toho, že na zařízení jsou synchronizována jen data související s vybranými odběrateli nebo skladovými kartami.
Filtry
V tomto číselníku můžete definovat základní filtry, které se mají použít v definici tabulek pro omezení synchronizovaných dat. V poli Formát pak uveďte SQL podmínku, která se pak stane součástí SQL dotazu (obvykle v části Where). Ve formátu použijte %s na místě, kde má být vložena hodnota, která platí pro daného uživatele koncového zařízení (viz číselník uživatelů)
Příkazy
Tabulka obsahuje seznam příkazů (obvykle SQL příkazů), které mají být prováděny na straně aplikace koncového uživatele. Příkazy mohou být vytvářeny službou pro generování dat a typicky jsou určené na provádění údržby databází. V aktuální verzi není takto funkčnost využívána.
Parametry
V tomto seznamu můžete definovat jména parametrů. Jednotlivé parametry se identifikují podle jména parametru a varianty (obdoba proměnné ve skladovém programu ukládané do číselníku 161). Parametr může platit jen pro jednu vybranou společnost (pokud ponecháte hodnotu n/a, tak platí pro všechny společnosti), pro jednoho vybraného uživatele (pokud ponecháte hodnotu n/a, tak platí pro všechny uživatele) a pro jeden uživatelský profil (pokud ponecháte hodnotu n/a, tak platí pro všechny profily). V případě, že proměnnou definujete vícekrát (např. pro různé společnosti či uživatele), tak jsou preferovány konkrétnější hodnoty před těmi obecnými (s hodnotou n/a).
Do popisu můžete dát libovolný text. Program využívá údaj z pole „Hodnota parametru“. Aktuálně program Maxim CRM zpracovává následující parametry:
Jméno parametru | Varianta | Výchozí hodnota | Popis |
HomeCurrency | 0 | CZK | Domácí měna |
DefaultWarehouseId | 0 | 1 | Pokud není určeno, tak se přebírá se z pole Číslo skladu v číselníku společností |
DefaultDocType | 0 | 0 | Výchozí číslo typu dokladu; pokud není určeno, použijete se číslo zjištěné z proměnné SSLDefTypD (dle skladového číselníku) |
SyncAppRelaxTime | 0 | 500 | Čas v milisekundách mezi jednotlivými synchronizačními dotazy v případě, že synchronizace běží na pozadí |
SyncMaxQueryLength | 0 | 25000 | Maximální počet znaků pro jeden synchronizační příkaz, který zpracovává data přijatá ze synchronizačního serveru. Pokud jsou zpracovávaná data větší, tak se rozdělí na více samostatných příkazů. Větší číslo znamená rychlejší synchronizaci, ale může to pak mít vliv na odezvu programu při běžné práci uživatele. |
SyncMaxDataValues | 0 | 200000 | Maximální počet znaků pro přenášená data, která připravuje synchronizační služba. Větší číslo znamená rychlejší synchronizaci, ale může to pak mít vliv na odezvu programu při běžné práci uživatele. |
SyncUserPswdParams | 0 | 1 | Minimální délka hesla použitá ve funkci pro změnu hesla uživatele; tento parametr je kontrolován i službou Skeleton při spuštění funkce na změnu hesla |
AppUserType | 0 | 1 | Typ uživatele pro funkce, které vychází ze skladového systému a potřebují typ uživatele (např. při testování některých proměnných) |
UsePackages | 0 | 1 | Hodnota 0 zakazuje používání práce s balením |
ProductPriceLevels | 0 | 1/2/../37 | Určuje, která cenová pásma mají být zobrazená ve skladové kartě. Pokud se před číslo cenového pásma přidá písmeno T, tak se číslo považuje za typ ceny dle definice cenových pásem skladového programu (např. T7 znamená cenové pásmo pro nákupní ceny). Jinak číslo znamená cenové pásmo pro prodejní ceny. |
ProductPriceLevelNames | 0 | PC 1/.. /PC37 | Určuje názvy cenových pásem; parametr musí být definován ve shodě s parametrem ProductPriceLevels |
OrdersDatabaseName | 0 | MaximCRM_Orders_{C}_{U} | Určuje jméno databáze, do které jsou ukládány vytvořené objednávky a položky objednávek; symboly {C} a {U} jsou nahrazeny identifikátory společnosti a uživatele |
Práva
Tento číselník určuje, která práva mají být zobrazena v definici profilu uživatele a jak mají být tyto práva stromově uspořádána a jaké jsou povolené hodnoty při definici oprávnění. Touto funkcí tedy nenastavujeme práva pro konkrétní profily nebo konkrétní uživatele, ale pouze říkáme, že tato práva existují. Identifikátor práva musí být definován v souladu s tím, jak je očekává program Maxim CRM (to neplatí pro označení kořenových záznamů, které slouží jen pro zařazení do stromu práv – zde je možné použít i vlastní identifikátory).
Aktuálně program Maxim CRM zpracovává následující oprávnění: Označení oprávnění Povolené hodnoty Výchozí hodnota Popis CRM.Partner.New 0/1 Právo založit záznam odběratele. Aktuálně není implementováno CRM.Partner.Edit 0/1 Právo editovat záznam odběratele. Aktuálně není implementováno CRM.Order.New 0/1 1 Právo založit novou objednávku CRM.Order.Price.ShowCostPrice 0/1 1 Právo vidět nákladové ceny CRM.Order.Price.ShowPurchasePrice 0/1 0 Právo vidět nákupní ceny a zisk CRM.Order.Price.Change 0/1 0 Právo měnit prodejní ceny v objednávce (může být ovlivněno také dalším nastavením CRM.Order.UseHiddenProduct 0/1 1 Právo použít skrytou kartu v objednávce (pokud jsou skryté karty dostupné v aplikaci)
Profily Pomocí nastavení profilů lze definovat typy uživatelů (čili uživatelské role) a jeden nebo více těchto uživatelských profilů lze pak přiřadit konkrétnímu uživateli (v Detailu v číselníku uživatelů). Profil obsahuje seznam oprávnění s možností nastavit povolení (zelená ikona) nebo zákaz pro danou funkci (červená ikona) nebo může být určeno, že se má použít výchozí nastavení (černá ikona).
Zařízení V tomto seznamu jsou udržována koncová zařízení (notebooky, tablety nebo telefony s aplikací Maxim CRM), která jsou aktuálně aktivní (tj. mají povolenou synchronizaci dat) a zařízení, která čekají na schválení nebo byla deaktivována.
Nové záznamy je sice možné v tomto seznamu vytvářet ručně, většina záznamů bude ale vznikat automaticky v rámci procesu registrace nového zařízení. Při prvním spuštění programu Maxim CRM v koncovém zařízení uživatele program vyžaduje připojovací údaje k serveru Skeleton. Na tento server je pak poslána žádost o registraci nového zařízení. Tím se založí neaktivní (nepovolený) záznam zařízení, který příslušný administrátor musí odsouhlasit a zařízení přiřadit konkrétnímu uživateli. V rámci registrace zařízení je na straně koncového zařízení vygenerován identifikátor zařízení. V zařízeních s OS Android tento identifikátor interně vychází z IMEI nebo Android ID. Na zařízeních s OS Windows se identifikátor určuje z připojeného hardware a jména PC. Doporučujeme před aktivací zařízení nejdříve podle identifikátoru zařízení vyhledat záznam zařízení v seznamu, zkontrolovat a případně upravit informace ze zařízení a hlavně doplnit údaj Popis zařízení. V popisu by měla být informace, která identifikuje zařízení a jeho uživatele (např. Tablet, Jan Novotný, Praha). To pak může usnadnit práci se zařízením v procesu administrace. Povolení zařízení je možné provést i později, doporučujeme ho provést až jako poslední krok při přiřazení zařízení konkrétnímu uživateli.
V případě, že zařízení se později stane z nějakého důvodu neaktivní (ztráta, ukončení práce, přechod na jiné zařízení…), tak by mělo být zařízení deaktivováno vypnutím přepínače „Zařízení povoleno“. Při pokusu o synchronizaci takového zařízení, budou v zařízení odstraněna data. Pokud v zařízení dojde k reinstalaci aplikace nebo k odstranění systémové synchronizační databáze, tak při dalším spuštění aplikace Maxim CRM dojde k opětovnému procesu registrace. Pokud je již ale zařízení aktivní (má zapnutý přepínač Zařízení povoleno), tak není registrace povolena. Pokud chcete, aby zařízení mohlo pokračovat v synchronizaci dat, tak zařízení dočasně zakažte. Když je zařízení zakázané, tak je možné provést jeho opětovnou registraci (záznam zařízení se aktualizuje podle přijatých údajů o zařízení). Poté je možné zkontrolovat nastavení uživatele a zařízení znovu povolit, což umožní zahájení úvodní synchronizace (stejně jako v případě nových zařízení). V nástrojové liště pro práci se seznamem zařízení je k dispozici funkce „LOG“, která zobrazí základní protokol o komunikaci daného zařízení.
Pro každý den, kdy zařízení komunikovalo se synchronizačním serverem a pro každého uživatele, který zařízení používá a společnost je zobrazen záznam shrnující základní informace o komunikaci (např. počet synchronizačních dotazů nebo čas zahájení a ukončení komunikace v daném dni). Uživatelé V tomto seznamu můžete spravovat koncové uživatele, kteří mají instalovanou aplikaci Maxim CRM. Můžete uživateli přidělit společnosti, které mají v aplikaci vidět, pomocí filtrů omezit zobrazená data, pomocí uživatelských profilů omezit přístupová práv a definovat zařízení, na kterých může uživatel pracovat.
V záznamu uživatele je několik důležitých údajů:
Id. uživatele – interní identifikátor uživatele - identifikátor se používá i pro určení jména databází, doporučujeme zde zadávat jen základní znaky bez diakritiky, mezer a speciálních znaků.
Jméno uživatele – plné jméno uživatele
E-mail – může být použit jako e-mail odesílatele v případě odchozí pošty
Heslo - při založení uživatele můžete zadat výchozí heslo nebo změnit heslo uživatelům, kteří ho zapomněli; heslo se v zařízení synchronizuje v rámci běžných intervalů pro synchronizaci systémové databáze (změna se tedy nemusí projevit ihned).
Povolen – pokud není uživatel povolen, tak se nemůže přihlásit do aplikace Maxim CRM
Id. uživatele-Sklad6 – pro zjišťování proměnných skladového programu, které jsou závislé na jménu uživatele, můžete určit jméno uživatele, pro kterého se má proměnná testovat (více uživatelů může použít stejné označení). Pokud není hodnota nastavena, tak se jako jméno uživatele pro proměnné používá prvních 10 znaků z Id. uživatele.
Většina údajů souvisejících s uživatelem se nastavuje pomocí tlačítka Detail z nástrojové lišty.
Můžete přidat společnost (ikona +), kterou může uživatel vidět nebo společnost změnit (ikona pro opravu) či odstranit (ikona „Koš“). Pro jednotlivé společnosti pak můžete definovat jeden nebo více profilů uživatele a tím určit přístupová práva uživatele pro danou společnost. Pomocí filtrů pak lze omezit data, která může uživatel vidět. Použití filtrů je popsáno v oddílu „Filtry“, kde je také popsáno použití práce s více filtry současně. Jako poslední krok při vytváření uživatele doporučujeme přidat zařízení uživatele. V tomto kroku můžete také zařízení povolit.
Poté, co je zařízení povoleno, tak v zařízení může proběhnout úvodní synchronizace, přihlášení uživatele následované kompletní synchronizací dat. Poté už je možné aplikaci Maxim CRM používat a běžná synchronizace probíhá na pozadí. V nástrojové liště pro práci se seznamem uživatelů je k dispozici funkce „LOG“, která zobrazí základní protokol o komunikaci daného uživatele. Obsah protokolu uživatele je stejný jako u protokolu pro zařízení, jen jsou zobrazené záznamy, které souvisí s daným uživatelem.