Konfigurácia prenosu Gram CRM a MRP-K/S

V tomto dokumente sú popísané možnosti konfigurácie Gram CRM Connectora pre prepojenie s MRP-K/S.

Po inštalácii Gram CRM Connectoru priečinok obsahuje 2 hlavné súbory. Konfiguračný súbor Mrp.ini (formát INI) a Mrp.bat. Mrp.bat je spustiteľný súbor, ktorý sa používa na spustenie výmeny údajov. V rámci prepojenia je možné z MRP-K/S dáta čítať (import).

Princíp fungovania a stratégia prenosu

Na import údajov z MRP sa používa priamy prístup k databáze. To sprístupňuje rozsiahle možnosti importu a zároveň veľkú rýchlosť a spoľahlivosť vykonávaných operácií.

Pre import údajov budeme potrebovať:

  • Názov databázy (pre každý rok existuje vždy samostatná databáza uložená v inštalačnom adresári DATA a číslom príslušnej firmy napr pre firmu č.3 je databáza so súborom DATA0003.MRP)
  • V prípade užívateľské meno a heslo (MRPDBA resp. SYSDBA)

Pre export údajov je potrebné:

  • pripravujeme…

Import účtovnej jednotky

MRP má jednotlivé roky rozdelené do samostatných databáz. Ak sú vytvárané kopírovaním predchádzajúcich rokov, tak do Gram CRM odporúčame importovať vždy poslednú. Import by mal prebiehať vždy od najstaršieho roku. Naraz je možné importovať len jeden rok.

Všetky parametre prenosu sú určené v konfiguračnom súbore Mrp.ini, pričom po inštalácii už obsahujú vzorové údaje. Je možné mať viacero konfiguračných súborov. Napríklad je možné vytvoriť jednu konfiguráciu pre kompletný import dát a druhú len pre aktualizáciu stavu skladových zásob produktov, ktorá sa bude spúšťať v častejších intervaloch.

UPOZORNENIE: Nikdy nesmie nastať situácia, že beží naraz viac ako jedno prepojenie. V takomto prípade môžu vzniknúť nezvratné následky.

Prechod medzi rokmi – údajová uzavierka

Po vykonaní údajovej uzávierky a vytvorení ročného prevodu v MRP-K/S pribudne nová účtovná jednotka a vytvorí sa nová databáza. Aby bol zabezpečený bezproblémový prechod medzi rokmi je potrebné dodržať odporúčaný postup:

  1. Odstavte pravidelnú synchronizáciu a nespúšťajte žiadny import/export dát ani ručne!
  2. Upravte konfiguračné súbory (štandardne v C:\GramCRM) pre nový rok účtovnej jednotky v parametroch:
    • upravte YEAR (resp. AGENDA),
    • zmeniť databázový súbor (DATAXXXX.MRP) v DATABASE,
  3. Opätovne spustite – povoľte automatickú synchronizáciu údajov

UPOZORNENIE: V prípade nedodržania uvedeného postupu sa vymažú všetky doklady z aktuálneho roku, ktoré boli účtované do nového roku a následne sa znovu naimportujú. Toto môže byť nežiadúce pokiaľ ste na doklady realizovali aktivity alebo pripájali dokumenty.

Príklad konfigurácie, ktorá prenesie agendu adresár, faktúry a objednávky z MRP-K/S:

[GRAMCRM]
ORGANIZATION = crm0661
TOKEN = a952fca7608744c6aad3bfa1775eca2d

[MRP]
YEAR = 2022

SOURCE = firebird
HOST = localhost
USER = SYSDBA
PASSWORD = masterkey
DATABASE = C:\Program Files (x86)\Mrp\Demo\MrpKS\Data\DATA0003.MRP

IMPORT_ACCOUNTS = 1
IMPORT_INVOICES = 1
IMPORT_ORDERS = 1

Konfigurácia pripojenia

Sekcia [GRAMCRM] je povinná a obsahuje údaje k pripojeniu na Gram CRM. Všetky parametre sú povinné.

  • ORGANIZATION – názov organizácie podľa Gram CRM (rovnaký ako pri prihlasovaní do Gram CRM napr. crm0001)
  • TOKEN – Token (možné získať od našej podpory)

Sekcia [MRP] obsahuje parametre samotnej logiky prepojenia. Povinné položky sú nasledovné:

  • YEAR – rok podľa účtovnej jednotky v MRP-K/S, s ktorou chceme pracovať. /Napríklad: 2022, 2023/
  • SOURCE – určuje typ uložených údajov (napr. firebird)
  • HOST – hodnota definujúca umiestnenie databázového servera (localhost resp. IP adresa) . Štandardne detekované pri inštalácii
  • USER – užívateľ s prístupom k databáze (východzí SYSDBA)
  • PASSWORD – heslo užívateľa s prístupom k databáze (východzie masterkey)
  • DATABASE – cesta k databázovému súboru (napr.: C:\Program Files (x86)\Mrp\Demo\MrpKS\Data\DATA0003.MRP).

TIP: Pri inštalácii Connectora sú údaje detekované a doplnené automaticky a zo strany užívateľa stačí údaje len skontrolovať.

Podporované agendy/moduly

V rámci parametrov je potrebné definovať ktoré agendy z MRP-K/S chceme prenášať do Gram CRM (import).

Pre import sú podporované nasledovné parametre:

  • IMPORT_PRICELISTS – import cenníkov
  • IMPORT_ACCOUNTS – import firiem z Adresára
  • IMPORT_PRODUCTS – import produktov
  • IMPORT_PRODUCTS_STOCK_AMOUNT – import stavu skladových zásob produktov
  • IMPORT_INVOICES – import vystavených faktúr (vrátane zálohových a dobropisov)
    • IMPORT_INVOICES_TYPE – definovanie typu faktúry (Proforma, Standard, Credit)
  • IMPORT_INVOICES_PAYMENTS – import platieb vydaných faktúr
  • IMPORT_ORDERS – import prijatých objednávok
  • IMPORT_PURCHASE_ORDERS – import vydaných objednávok
    • IMPORT_PURCHASE_ORDERS_TYPE – definovanie typu objednávok – objednávka, dopyt (order, offer)
  • IMPORT_PURCHASE_PROFORMA_INVOICES – import prijatých zálohových faktúr
  • IMPORT_PURCHASE_STANDARD_INVOICES – import prijatých faktúr
  • IMPORT_PURCHASE_INVOICES_PAYMENTS – import platieb prijatých faktúr
  • IMPORT_PROPOSALS – import ponúk

Príklad importu Adresára, Faktúr a Objednávok:

[MRP]
# ...
IMPORT_ACCOUNTS = 1
IMPORT_INVOICES = 1
IMPORT_INVOICES_PAYMENTS = 1
IMPORT_ORDERS = 1

Podrobná konfigurácia

Prepojenie umožňuje upraviť správanie tak, aby presne vyhovovalo zvolenej stratégii.

Vlastník záznamov

V prípade prenosu dát z MRP-K/S štandardne systém priradí vlastníka v Grame podľa strediska. Takýto užívateľ musí v Grame existovať a musí mať vyplnený „Alias“, ktorý bude zhodný s názvom strediska. Užívateľ nemusí byť aktívny.

TIP: Pred spustením importu záznamov odporúčame vytvoriť – nastaviť užívateľov s ich „Alias“ podľa Strediska resp. podľa poľa Vytvoril v MRP-K/S

Okrem strediska je podporovaná aj možnosť priradenia vlastníka aj na základe pola „Vytvoril“. Platí rovnaká logika ako pri stredisku. Táto logika platí pre import aj export údajov.

Pokiaľ záznam nemá žiadneho vlastníka, systém automaticky nastaví vlastníka užívateľa „Import“. Túto logiku je taktiež možné upraviť pomocou parametra OWNER_NONE.

Príklad konfigurácie:

[MRP]
# ...
# Mozne hodnoty: Vytvoril, Stredisko - východzia hodnota
OWNER = Vytvoril
# Cele meno uzivatela, napr.: Juraj Lackovič
OWNER_NONE = Import

Interval prenosu údajov

V databáze MRP-K/S nie je možné jednotne identifikovať pri viacerých záznamoch poslednú vykonanú zmenu. Preto parameter IMPORT_INTERVAL nie je v prepojení s Gram CRM dostupný a štandardne sa porovnávajú všetky záznamy.

Výška DPH

Prednastavená výška DPH pre importovanú agendu je vždy aktuálne platná 20%, 10% a 5%. Pokiaľ však importujeme agendu, v ktorej bola iná výška DPH alebo sa jedná o zahraničnú agendu. Je možné výšku DPH upraviť pomocou parametrov HIGH_VAT, LOW_VAT, LOWER_VAT.

Príklad nastavenia:

[MRP]
# ...
HIGH_VAT = 21
LOW_VAT = 8
LOWER_VAT = 4

Konflikty

Prepojenie rieši aj vzniknuté konflikty. Takáto situácia môže nastať vtedy, keď medzi poslednou synchronizáciou zmeníte ten istý záznam aj v MRP-K/S aj v Grame a záznam v Grame bol zmenený neskôr ako v MRP-K/S. V štandardnom nastavení prepojenie v tomto prípade zmenu neprepíše (aby nedošlo k strate údajov zapísaných v Grame) a na výstupe vráti ako konflikt pre daný záznam.

Toto správanie je možné upraviť pomocou parametru IGNORE_CONFLICT. Môžete tak dosiahnuť, že dáta uložené v MRP-K/S budú mať vždy prednosť a takúto zmenu Vám „opraví“ v Grame podľa MRP-K/S.

Príklad:

[MRP]
# ...
# zmeny v Gram CRM budu prepisane hodnotami v MRP
IGNORE_CONFLICT = 1

Import iba vybraných záznamov

Pre každú agendu je možné definovať podmienku, aké dáta sa majú importovať. Napríklad ak máme záujem importovať len uhradené faktúry alebo len jednu číselnú radu. Môžeme tak urobiť doplnením filtra pre konkrétnu agendu. Tu je však potrebná aspoň základná znalosť SQL a zároveň štruktúry dát v MRP-K/S.

Príklad importu klientov z agendy Adresár, ktorí majú zaškrtnutú položku „Fyzická osoba“:

[MRP]
# ...
# zmeny v Gram CRM budu prepisane hodnotami v MRP
IMPORT_ACCOUNTS = 1
IMPORT_ACCOUNTS_FILTER = t.FYZOSOB=T

Pracovné postupy

Štandardne sa pri importe do Gram CRM spúšťajú aj pracovné postupy. Teda napríklad informácia o priradení klienta, faktúry, ponuky atď. Ak chceme predísť tomuto správaniu môžeme nastaviť parameter IMPORT_IGNORE_WORKFLOW alebo potom analogicky pre konkrétnu agendu napríklad: IMPORT_ORDERS_IGNORE_WORKFLOW.

Príklad nastavenia nespúšťania pracovných postupov pre žiadnu agendu, ale spúšťanie pre Adresár (Klientov).

[MRP]
# ...
IMPORT_IGNORE_WORKFLOW = 1
IMPORT_ACCOUNTS = 1
IMPORT_ACCOUNTS_IGNORE_WORKFLOW = 0

Prenos bez položiek

Štandardne prepojenie prenáša aj jednotlivé položky (riadky dokladu). Môžeme však obmedziť prenos položiek do Gramu pomocou parametru _SKIP_ITEMS.

Príklad importu prijatých objednávok bez položiek:

[MRP]
# ...
IMPORT_ORDERS = 1
IMPORT_ORDERS_SKIP_ITEMS = 1

Import voliteľných polí

Pri importe sa prenášajú štandardné políčka. V prípade, že sa importujú údaje z MRP-K/S a máte v systéme vytvorené nové vlastné polia je možné tieto importovať do Gram CRM. Pre každú agendu je možné definovať pravidlá pomocou parametru _MAPPING. Pre Klientov to bude IMPORT_ACCOUNTS_MAPPING.

Zápis je Pole_v_MRP->Pole_v_Gram_CRM. Jednotlivé záznamy je možné oddeliť čiarkou. Pokiaľ potrebujeme importovať fixnú hodnotu použijeme zápis: ~Hodnota->Pole_v_Gram_CRM.

Príklad prenos hodnoty „Skupiny“ v Adresári do poľa „Registrácia“ v Gram CRM a nastavenie stavu klienta na „Aktuálny“:

[MRP]
# ...
IMPORT_ACCOUNTS = 1
IMPORT_ACCOUNTS_MAPPING = Skupina->Registration, ~2->Status

Zákaz zmeny údajov

Pomocou parametru _NOT_CHANGE_FIELDS pre jednotlivé agendy môžeme zakázať zmenu hodnôt pri importe údajov do Gram CRM. Znamená to, že pri novo importovaných dátach sa nastaví hodnota podľa MRP-K/S avšak pri zmene údajov v MRP sa táto zmena už neprenesie do Gramu.

V príklade obmedzíme zmenu vlastníka faktúry(Owner) a dátumu splatnosti(DueDate) po importe z MRP-K/S:

[MRP]
# ...
IMPORT_INVOICES = 1
IMPORT_NOT_CHANGE_FIELDS = Owner, DueDate

Príklad konfigurácie

Štandardný príklad úplnej konfigurácie v organizácii môže byť nasledovný.

Požadovaná funkcionalita v príklade:

  • V CRM systéme obchodníci vytvárajú Klientov, Obchodné prípady, Cenové ponuky, Objednávky a Faktúry. V MRP-K/S sú následne riešené úhrady faktúr, zaúčtovanie, prijaté faktúry a skladové zásoby, kompletná cenotvorba. Skladové zásoby sú vedené na viacerých skladov, ale produkty so skladovými zásobami na predaj sú evidované na sklade s číslom „1“. Záznamy v MRP máme rozdelené pre obchodníkov podľa stredísk.
  • Používaná databáza je Firebird
  • Prenos údajov bude každú hodinu v pracovnom čase (PO-PIA, 8:00 – 17:00)
    (Plánované spustenie synchronizácie si vyžaduje vytvorenie úlohy na spustenie spúšťacieho súboru napr. v Task scheduler)
  • Názov našej organizácie je „mrptest“

Kompletná konfigurácia:

[GRAMCRM]
ORGANIZATION = mrptest
TOKEN = a952aca7606744c6ffd2bfa1775cca2d

[MRP]
YEAR = 2023

SOURCE = firebird
HOST = localhost
USER = SYSDBA
PASSWORD = masterkey
DATABASE = C:\Program Files (x86)\Mrp\Demo\MrpKS\Data\DATA0003.MRP

# Vlastnik zaznamov bude podla strediska
OWNER = Stredisko
# Vlastnik zaznamov ktore nemaju priradeneho obchodnika bude uzivatel Import
OWNER_NONE = Import

# ------- IMPORT AGIEND Z MRP-K/S --------

# Import Klientov
IMPORT_ACCOUNTS = 1
# Import Klientov bez toho aby sme menili vlastnika
IMPORT_ACCOUNTS_NOT_CHANGE_FIELDS = Owner

# Importovat objednavky napriek tomu ze sa vytvaraju v Grame, avsak dalej sa pracuje s objednavkou v MRP, tak aby sme mali zabezpecene informacie o vybaveni a podobne...
IMPORT_ORDERS = 1

# Import vsetkych faktur
IMPORT_INVOICES = 1
# Mozeme urcit ktore typy faktur budeme importovat, pokial neuvedieme tento parameter importuju sa vsetky typy faktur
IMPORT_INVOICES_TYPE = Proforma, Standard, Credit
IMPORT_INVOICES_PAYMENTS = 1

# Importujeme produktove karty
IMPORT_PRODUCTS = 1
# Importujeme stav skladovych zasob (pocty kusov na sklade)
IMPORT_PRODUCTS_STOCK_AMOUNT = 1
# Cisla skladov (napr. 1,2,3), z ktorych importujeme skladove zasoby. Ak nie je uvedeny ziadny, pouzijeme vsetky dostupne sklady
IMPORT_PRODUCTS_STOCKS = 1

# Import cennikov Klientov
IMPORT_PRICELISTS = 1
# Import vydanych objednavok
IMPORT_PURCHASE_ORDERS = 1
# Import len ostrych prijatych faktur a dobropisov (bez zalohovych)
IMPORT_PURCHASE_STANDARD_INVOICES = 1
# Import uhrad prijatych faktur
IMPORT_PURCHASE_INVOICES_PAYMENTS = 1

Mohlo by vás ešte zaujímať: