====== Route Master ======
Proizvođač: SonoIT (Hrvatska) Klijenti: MgMivela, Leburić
Sistem se sastoji od dva glavna dela: a) Back-office, upravljačka .Net aplikacija b) Xamarin mobilna aplikacija (namenjena telefonima). \\
Postavke integratora se nalaze u okviru [[https://help.melany.rs/sr/home/modules/additional_modules/module_33_main|postavki dodatnih modula Balansa]].
===== Integrator =====
Integrator je izveden kroz ActiveX COM komponentu **BLCRouteMaster.dll** koju pokreće servis koji periodično poziva metode iz dll-a za uvoz/izvoz podataka.\\
Uvoz/izvoz podataka se vrši kroz posredničku bazu (npr. SQL server) kojoj mogu da pristupaju ActiveX komponenta i Route Master.\\
Ako Balans koristi JET bazu podataka potrebno je napraviti linkove na tabele iz SQL servera, a ako Balans koristi PGS bazu potrebno je SQL server linkovati sa PGS bazom.\\
\\
Instalacija RouteMaster servisa je opisana na [[https://rd.melany.rs/install/extras/RouteMaster/service/Readme.txt|https://rd.melany.rs/install/extras/RouteMaster/service/Readme.txt]]
Skladišta koja učestvuju u RouteMaster razmeni moraju imati kolonu **RMPriceRef** setovanu na True.
===== Ciklusi =====
Uvoz porudžbina i izvoz šifarnika i lagera se periodično odrađuju prema postavkama u registry grani
HKEY_LOCAL_MACHINE\SOFTWARE\MelanySoft\Balans\RouteMaster
^Ključ^Tip^Opis|
|Uvoz|DWORD|Interval (sekundi) u kom se okida procedura sakupljanja podataka iz Route Mastera.|
|IzvozLagera|DWORD|Interval (sekundi) u kom se okida procedura slanja stanja lagara u Route Master.|
|IzvozStartTime|DWORD|Vreme u koje se izvoze matični podaci iz Balansa (reset Route Master tabela).|
|IzvozInterval|DWORD|Interval u kom se ponavlja izvoz matičnih podataka (reset Route Master tabela).|
|IzvozOnNextCycle|DWORD|Postavka ovog parametra u 1 inicira započinjanje potpunog Reseta Route Master tabela pri prvom sledećem okidanju "IzvozLagera" događaja|
\\
===== Postavke integratora =====
==== Konfiguracioni fajl ====
Konfiguracioni fajl **confrm.txt** sadrži postavke kojima se utiče na rad ActiveX modula za uvoz/izvoz podataka.\\
Lokacija konfiguracionog fajla je proizvoljna i zadaje se u registry ključu **ConfigPath** grane
HKEY_LOCAL_MACHINE\SOFTWARE\MelanySoft\Balans\RouteMaster
Konfiguracioni fajl sadrži sledeće parametre:
Linija1 - DEBUG MODE ("DEBUGON" | "DEBUGOFF")\\
Linija2 - Definicija RM_Izvoz_OpenItems upita\\
Linija3 - Prezentacija u koju porudžbine ubacujemo ("" | "LAST" što znači automatska pretraga)\\
Linija4 - Za povezivanje se koristi TRUSTED ODBC DSN ("TRUE" | "FALSE")\\
Linija5 - DSN servera (npr. "RMDSN")\\
Linija6 - Ime baze podataka za razmenu (npr. "MelanyRouteMaster")\\
Linija7 - Prefix koji se stavlja ispred naziva tabele baze za razmenu podataka (npr. "TmpRM)\\
Linija8 - Indikator provere linkova pre poziva upita za obradu ("TRUE" | "FALSE")\\
Linija9 - Indikator upotrebe DCOM-a ("USEDCOM" | "NODCOM")\\
Linija10 - Definicija TmpRM_SalesRep upita zaduženog za izveštaj o prodaji\\
Linija11 - Definicija SQL upita za dobijanje rezultata prodaje (poručeno/prodato)\\
Linija12 - Definicija SQL upita za dobijanje registrovanih isporučnih mesta iz RM baze - koristi se za upit pri punjenju tabele SalesHistory, a ne za popunjavanje tabele Customers\\
Linija13 - Definicija SQL upita za dobijanje registrovanih artikala u RM bazi\\
Linija14 - Definicija RM_Izvoz_CustomerDiscountsByProductGroups upita za popunjavanje šeme popusta po kupcima i grupama proizvoda\\
Linija15 - Izbor ProductGroups (KAT,PKT,CAT,CSI,CPR)\\
Linija16 - Izbor ProductSubGroups (KAT,PKT,CAT,CSI,CPR)\\
Linija17 - Cenovnik i cenovna kolona koja se koristi umesto podrazumevane SkladKol.MCena cene (" " | "Cenovnik::Kolona", npr. "VP::CenaB")\\
Linija18 - Putanja do proxy aplikacije za vezu PGS i MSSQL baza\\
Linija19 - Indikator test režima rada ("TESTINGON" | "TESTINGOFF") - broj napravljenog dokumenta i ID za upis u bazu su hardkodovani na "TEST TEST" i -999999 ako je TESTINGON
==== Registry ključ ====
Za podešavanje Route Master servisa koristi se sledeći ključevi registry grane
HKEY_LOCAL_MACHINE\SOFTWARE\MelanySoft\Balans\RouteMaster
^Ključ^Vrsta^Opis|
|ConfigPath|STRING|Apsolutna putanja do konfiguracionog fajla \\ Primer: "d:\BALANS 20\BLNSPROGRAMS\PRG\CUS\ExportJamnica\files\confrm.txt"|
|FirID|DWORD|Identifikacioni broj firme \\ Primer:00000004|
|Uvoz|DWORD|Interval (sekundi) u kom se okida procedura sakupljanja podataka iz Route Mastera \\ Primer:00000080 (120s)|
|IzvozLagera|DWORD|Interval (sekundi) i kom se okida procedura slanja stanja lagara u Route Master \\ Primer:0000012C (300s)|
|IzvozStartTime|DWORD|Vreme u koje se izvoze svi podaci iz Balansa (reset Route Master tabela). Broj odgovara funkciji Delphi: \\ **IzvozStartTime** = Frac(<željeno vreme izraženo kao decimalni broj>)*86400 \\ Primer1:00000000(0) znači u ponoć \\ Primer2:00014370(82800) znači u 23:00. \\ Decimalni izraz vremena se može dobiti upitom SELECT CDBL(TIMESERIAL(hh,mm,ss))|
|IzvozInterval|DWORD|Interval u kom se ponavlja izvoz svih šifarnika (reset Route Master tabela). Nula znači da se radi samo jednom, u "IzvozStartTime" trenutku. \\ Primer: 00000000 (Izvoz se radi samo jednom, u IzvozStartTime trenutku)|
|DebugOn|DWORD|Indikator (0|1) koji uključuje intenzivno logovanje svih operacija u cilju debagovanja \\ Primer: 00000000 (isključeno)|
|IzvozOnNextCycle|DWORD|Postavka ovog parametra u 1 inicira započinjanje potpunog reseta Route Master tabela pri prvom sledećem okidanju "IzvozLagera" događaja. \\ Primer: 1 (uključeno). Prvi put kada servis ovo pročita, postaviće vrednost u 0 kako bi zahtev obuhvatio samo jedan ciklus. \\ \\ Sigurniji način za reset Route Master tabela je da se u folderu sa fajlom confrm.txt napravi prazan fajl **reset** (bez ekstenzije) koji će automatski biti obrisan nakon reseta Route Master tabela. Sačekati jedno 20-ak minuta dok se izvrši razmena podataka.|
==== Parametri u bazi podataka ====
Nalaze se u koloni Parametri upita FN_DodatniModuli za vrednost kolone Funkcija=33. Parametri su parovi **Key=Value** odvojeni sa tačkazarezom.\\
Za **napredne popuste** koriste se parametri sa ključevima: **discount, seconddiscount, paymentdiscount, promotiondiscount** čije vrednosti moraju biti iz kolone **CusID** tabele **defCustData**.
Za potrebe Stevan Still uvoza porudžbina iz Route Master-a koriste se i parametri unifycustomers, unifyitems, expitems, expstocks, expcustomers, a njihovi opisi i funkcije su\\
opisani na https://help.melany.rs/sr/home/modules/additional_modules/module_33_main
==== Dnevnik događaja ====
Tokom uvoza/izvoza podataka upisuju se info/debug poruke u fajl dnevnika događaja. Fajl se zove **BalansRMImpEx.log** i nalazi se u direktorijumu zajedničkom za sve korisnike, u podfolderu Balans npr.
C:\ProgramData\Balans\BalansRMImpEx.log