Konfigurace služby pro generování dat

Z K.A.P.
Skočit na navigaciSkočit na vyhledávání

Na některém serveru musí být definované naplánované úlohy Windows, které zajistí pravidelné spuštění a ukončení skriptů, které se starají o generování dat ze skladové databáze do databáze Maxim.CRM.Data (popř. do jiné odpovídající synchronizační databáze). Naplánované úlohy slouží jen k prvotnímu spuštění zpracování dat. Výpočtový (exportní) skript si poté načte plán úloh definovaný v databázi Maxim.SyncGen a opakování úlohy řídí pomocí nastavení a omezení definovaných v této databázi (nastavení se konfiguruje pomocí webového rozhraní v příslušném modulu webové aplikace Skeleton.

Doporučujeme naplánované úlohy a časy výpočtů v konfiguraci aplikace naplánovat tak, aby se zajistilo spuštění úlohy ve vhodném čase a výpočtový skript mohl provést všechny plánované úkony a stihl se sám ukončit po dokončení zpracování, aby skript nebyl zbytečně často „násilně“ ukončován naplánovanou úlohou Windows.

Výpočtové skripty zaznamenávají většinu činností do protokolu, z nějž pak lze vyčíst detaily o průběhu výpočtu (např. dobu potřebnou k provedení konkrétního výpočtu). Časové plánování je třeba uzpůsobit velikosti databáze, výpočetní době a optimální době pro vytížení serveru. K dispozici je i dohledové centrum, které zobrazuje stav zpracování jednotlivých úloh.

Skripty jsou připravené tak, aby jednotlivé části mohly běžet odděleně v samostatných procesech a mohly tak být provozovány paralelně.

Nasazení skriptu

Výpočtové skripty jsou aplikace definované v rámci prostředí programu Maxim Sklad6. Před podepsáním skriptu je třeba zkontrolovat nastavení proměnné Debug := false, aby skript zbytečně nevypisoval ladící hlášení nebo nezůstal viset v některém z kontrolních zobrazení generovaných paměťových nebo načtených SQL tabulek. Také je vhodné nastavit defaultní hodnotu cLogLevel na $1111111 a případně ji ovlivňovat parametrem LogLevel při spuštění (viz dále).

Podepsané skripty se pak spouští pomocí dávkových souborů operačního systému.


Dávkové soubory pro spuštění výpočtových skriptů

Ovládání exportu je nyní ve dvou adresářích (C:\CRM\Export a Sklad6\ExportCRM)a jako uživatelský adresář je použit Sklad6\UZIVCRM.

Adresář C:\CRM\Export
Je na lokálním disku a batch soubory jsou určeny pro plánovač úloh a řeší mapování síťového disku. Parametry pro připojení síťového disku jsou v souboru cesty.bat. Hlavní jsou dávky:

  • Spust.bat

(společný bod pro spouštění jednotlivých úloh z plánovače – dávky Ciselniky.bat, HlavniData.bat, IndCeny.bat, IndCenyOZ.bat, Karty.bat, Odberatele.bat, OstZasoby.bat, Zasoby.bat).

Poznámka
Dávky Karty.bat, Ciselniky.bat a Odberatele.bat se v běžném režimu nepoužívají, protože se spouští dávka HlavniData.bat, která spouští skupinu Hlavní data a tato obsahu všechny zmíněné úlohy.
  • Stop.bat a VymazStop.bat

slouží k vytvoření a vymazání souboru Sklad6\ExportDoCRM.Stop, který slouží pro korektní nouzové ukončení všech exportů. Existence tohoto souboru je testována v sleep módu, tedy v okamžiku kdy skončí aktuální úloha a je spouštěna buď další úloha podle plánu nebo se čeká na naplánovanou úlohu. Jedná se tedy o zastavení všech dalších plánů (současně běžící úlohy neskončí ihned, ale „doběhnou“).

Poznámky
Obsah souboru Sklad6\ExportDoCRM.Stop je zalogován jako důvod ukončení exportů.
Pokud export skončí a provede se jen jednou, pravděpodobně že existuje tento soubor.


Adresář Sklad6\ExportCRM

obsahuje jednotlivé dávky pro spouštění samostatných úloh a pomocné dávky:

Dávka Popis
ExCRMDate.bat vrací v proměnných CRMDate a CRMTime aktuální datum a čas ve formátu použitelném pro jména souborů.
ExCRMLogVersion.bat přejmenovává logy – rozšíření o „timestamp“
ExCRMRunningTime.bat nastavuje do proměnné RunningTime hodnotu pro tento parametr (ve vteřinách) do půlnoci. Měl by zaručit (stejně jako dávky Stop.bat a VymazStop.bat, že naplánované úlohy skončí do půl noci (pokud právě neběží).
ExCRMVersion.bat určuje verzi (jméno) spouštěného skriptu.
ExportDoCRMCiselniky.bat samostatný export číselníků. V normálním režimu se exportují číselníky v rámci hlavních dat.
ExportDoCRMCiselnikyEdit.bat pomocná ladící dávka
ExportDoCRMHlavniData.bat export hlavních dat (Číselníky, karty, odběratelé)
ExportDoCRMHlavniDataEdit.bat pomocná ladící dávka
ExportDoCRMIndCeny.bat export individuálních cen
ExportDoCRMIndCenyEdit.bat pomocná ladící dávka
ExportDoCRMIndCenyOZ.bat Export individuálních cen obchodních zástupců
ExportDoCRMIndCenyOZEdit.bat pomocná ladící dávka
ExportDoCRMKarty.bat samostatný export skladových karet. V normální režimu se karty exportují v rámci hlavních dat.
ExportDoCRMKartyEdit.bat pomocná ladící dávka
ExportDoCRMOdberatele.bat samostatný export odběratelů včetně zalistovaného zboží. V normálním režimu se odběratelé exportují v rámci hlavních dat.
ExportDoCRMOdberateleBZZ.bat samostatný export odběratelů bez zalistovaného zboží. V normálním režimu se odběratelé včetně zalistovaného zboží exportují v rámci hlavních dat. Dávku je možno použít pro zrychlené přeexportování odběratelů bez zalistovaného zboží.
ExportDoCRMOdberateleBZZEdit.bat pomocná „ladící“ dávka
ExportDoCRMOdberateleEdit.bat pomocná „ladící“ dávka
ExportDoCRMOstZasoby.bat export zásob ze souboru operací (SkladOPE.BTR).
ExportDoCRMOstZasobyEdit.bat pomocná „ladící“ dávka
ExportDoCRMTaskName.bat pro budoucí zjednodušené spouštění úloh. Zatím NEPOUŽÍVAT !!
ExportDoCRMZasoby.bat export aktuálních zásob ze souboru skladových zásob (SkladZAS.BTR)
ExportDoCRMZasobyEdit.bat pomocná „ladící“ dávka S6CRM.BAT – pomocná dávka pro dávky ….Edit – nespouští přímo skript. Je určená pro ladění v editoru skriptů (spustí se sklad s patřičnými parametry pro danou úlohu.
S6CRMEx.BAT hlavní dávka pro spouštění skriptu exportů s danými parametry pro danou úlohu. Parametry jsou uvedeny v konktrétních dávkách – viz. výše
CiselnikyFiltr.txt soubor pro filtrování exportu číselníků. Soubor má tvar:
CisloCiselniku=MaskaProKonkretniCiselnik
CisloCiselniku=MaskaProKonkretniCiselnik …,
kde MaskaProKonkretniCiselnik je předána funkci MatchMasks.
Příklad pro vyfiltrování položek číselníku 161 (INI hodnoty), které obsahují ve jménu (Klic) slova exp a imp (Pozn.: PRVNÍ * je nutná !!):161=*/!*exp*/!*imp*