Konfigurace služby pro generování dat
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* |