Konfigurace služby pro generování dat: Porovnání verzí

Z K.A.P.
Skočit na navigaciSkočit na vyhledávání
 
(Nejsou zobrazeny 2 mezilehlé verze od stejného uživatele.)
Řádek 534: Řádek 534:
  
 
Zde je uveden popis parametrů pro jednotlivé úlohy:
 
Zde je uveden popis parametrů pro jednotlivé úlohy:
 +
 +
{| border=1 ; color:black" class = "wikitable"
 +
|-
 +
|'''Jméno úlohy'''||'''Jméno dávky'''||'''Jméno parametru'''||'''Popis'''
 +
|-
 +
|Číselníky||Ciselniky.bat||SeznamCiselniku||Parametr je možno použít jak z příkazového řádku, stejně tak i v parametrech úlohy. V případě obou jsou oba seznamy spojeny.<br/>Formát: <br/>'''[+]‘[‘číslo_číselníku[,číslo_číselníku…‘]‘'''<br/>
 +
- volitelně plus(+) a seznam čísel číselníků oddělených čárkou v hranatých závorkách. Použijete-li v seznamu mezery nebo plus na začátku, musí být celý parametr v uvozovkách. Např.: “+[52,54,57]“. Začíná-li parametr znakem plus je seznam připojen k výchozímu seznamu číselníků.
 +
|-
 +
|rowspan = 4|Doklady||rowspan = 4|Doklady.bat||Sklady||Seznamčísel skladů k exportu (pouze v parametrech úlohy).<br/>Formát: <br>'''MaskaSkladu[/MaskaSkladu…]''', kde MaskaSkladu: [!]čísloSkladu.<br/> Je-li uveden ! (vykřičník), pak jsou tyto sklady vynechány z exportu. Je možno  použít divoké znaky (* a ?).<br/>Výchozí hodnota: 0 = aktuální sklad.
 +
|-
 +
|TypyDokladu||Seznam typů dokladu k exportu (pouze v parametrech úlohy).<br/>Formát: <br/>'''TypyDokladů[/TypyDokladů …]''', kde TypyDokladů: Proměnná|TypDokladu, kde TypDokladu: [!]čísloTypuDokladu<br/>Je-li uveden ! (vykřičník), pak jsou tyto typy dokladů vynechány z exportu. Je možno  použít divoké znaky (* a ?).<br/> Je-li uvedena proměnná (jméno proměnné bez divokých znaků, pak je proměnná načtena ze skladu (INI hodnoty F12). <br/> Výchozí hodnota: '*/!2/!6'
 +
|-
 +
|PocetDni||Určuje jak „staré“ doklady se budou exportovat.<br/> Výchozí hodnota: 100 dní
 +
|-
 +
|DanoveDoklady||Určuje způsob exportu daňových dokladů:<br/> 0 - neexportovat<br/> 1 - exportovat daňové i nedaňové doklady<br/> 2 - exportovat POUZE daňové doklady.<br/>Výchozí hodnota: 1
 +
|-
 +
|Hlavní data||HlavniData.bat|| &nbsp;||Žádné parametry
 +
|-
 +
|Individuální ceny||IndCeny.bat||&nbsp;||Žádné parametry
 +
|-
 +
|Individuální ceny obchodních zástupců||IndCenyOZ.bat||&nbsp;||Žádné parametry
 +
|-
 +
|Karty||Karty.bat||&nbsp;||Žádné parametry
 +
|-
 +
|Nákladové ceny||NakladCeny.bat||&nbsp;||Žádné parametry
 +
|-
 +
|Odběratelé||Odberatele.bat||&nbsp;||Žádné parametry
 +
|-
 +
|Odběratelé bez zalistovaného zboží||OdberateleBZZ.bat||&nbsp;||Žádné parametry
 +
|-
 +
|Ostatní zásoby (z operací)||OstZasoby.bat||Sklady||Seznam čísel skladů k exportu (pouze v parametrech úlohy).<br/>Formát: <br/>'''MaskaSkladu[/MaskaSkladu…]''', kde MaskaSkladu: [!]čísloSkladu.<br/>Je-li uveden ! (vykřičník), pak jsou tyto sklady vynechány z exportu. Je možno  použít divoké znaky (* a ?).<br/>Výchozí hodnota: 0 = aktuální sklad.
 +
|-
 +
|Požadavky||Pozadavky.bat||&nbsp;||Žádné parametry
 +
|-
 +
|Údržba||Udrzba.bat||FileName||Jméno souboru s příkazy pro údržbu (pouze příkazový řádek)
 +
|-
 +
|Zásoby (všechny ze souboru zásob)||Zasoby.bat||Sklady||Čísla skladů k exportu.<br/>Formát: <br/>'''DefiniceSkladu [/DefiniceSkladu …]''', kde DefiniceSkladu: čísloSouboru/číslaSkladů, kde čísloSouboru - pořadové číslo Btrieve souboru ze seznamu souborů ve skladu (zpravidla 0)<br/>číslaSkladů:SkladČíslo [SkladČíslo …], kde SkladČíslo: [*]čísloSkladu.<br/> Čísla skladu s hvězdičkou jsou „relativní“ a musí být v rozmezí 1-9. Skutečné jméno skladu je určeno z INI hodnot F8  (*1 a *2 = Sklad2 a sklad3) ostatní čísla skladů jsou určena z proměnných (INI hodnoty F12) ZasSkladx,0.<br/> Speciální význam má 0:<br/> *0 = aktuální sklad<br/> 0 = všechny sklady ze souboru vyjma aktuálního skladu.
 +
|-
 +
|Zásoby z centrály||ZasobyCentraly.bat||&nbsp;||dtto
 +
|-
 +
|Zásoby z poboček||ZasobyPobocek.bat||&nbsp;||dtto
 +
|}

Aktuální verze z 18. 5. 2021, 17:07

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, Doklady.bat, DokladyVse.bat, HlavniData.bat, HlavniDataVse.bat, IndCeny.bat, IndCenyVse.bat, IndCenyOZ.bat, IndCenyVse.bat, Karty.bat, KartyVse.bat, NakladCeny.bat, NakladCenyVse.bat, Odberatele.bat, OdberateleVse.bat, OdberateleBZZ.bat, OdberateleBZZCse.bat, OstZasoby.bat, OstZasobyVse.bat, Pozadavky.bat, PozadavkyVse.bat, Udrzba.bat, UdrzbaVse.bat, Zasoby.bat, ZasobyVse.bat, ZasobyCentraly.bat ZasobyCentralyVse.bat, ZasobyPobocek.bat, ZasobyPobocekVse.bat).
Poznámka
Dávky Karty.bat, KartyVse.bat, Ciselniky.bat, CiselnikyVse.bat, a Odberatele.bat a OdberateleVse.bat se v běžném režimu nepoužívají, protože se spouští dávka HlavniDataVse.bat popř. HlavniData.bat, která spouští skupinu Hlavní data a tato obsahu všechny zmíněné úlohy.

U firem s více pobočkami existují soubory F<jméno pobočky>.bat. V těchto souborech jsou nastaveny parametry společné pro danou pobočku (např. DB:<jméno skladové databáze> popř. parametry pro připojení k SQL batabázi: SyncComputerName, DataComputerName, DataDBName).

Spouštění se potom provádí následovně: Spust.bat F<jméno pobočky.bat> <jméno úlohy>.bat (např. Spust.bat FPob1.bat HlavniDataVse.bat)

  • 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“). Stop.bat může mít jako parametry PID běžících úloh např. Stop.bat 5158 5125 7958, pak jsou vytvořeny soubory Sklad6\ExportDoCRM_<PID>.stop. Takto lze zastavit konkrétní úlohy (a ne všechny). Způsob zastavení úloh je stejný jako u souboru Sklad6\ExportDoCRM.stop.
Poznámky
Obsah souboru Sklad6\ExportDoCRM[_PID].Stop je zalogován jako důvod ukončení exportů.
Pokud export skončí a provede se jen jednou, pravděpodobně existují tyto 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). Měl by zaručit (stejně jako dávky Stop.bat a VymazStop.bat, že naplánované úlohy skončí (pokud právě neběží).
ExCRMSpustVse.bat je použita v souborech <jméno úlohy>Vse.bat a spouští úlohu pro všechny pobočky definované v ExCRMSeznamFirem.bat
ExCRMVersion.bat určuje verzi (jméno) spouštěného skriptu.
ExCRMSeznamFirem.bat zde jsou definovány všechny pobočky (všechny F<jméno pobočky>.bat pro hromadné spouštění úloh za všechny pobočky celé firmy.
ExportDoCRMCiselniky.bat samostatný export číselníků. V normálním režimu se exportují číselníky v rámci hlavních dat.
ExportDoCRMCiselnikyVse.bat spouští export úlohy pro všechny pobočky
ExportDoCRMCiselnikyEdit.bat pomocná ladící dávka
ExportDoCRMDoklady.bat export dokladů
ExportDoCRMDokladyVse.bat spouští export úlohy pro všechny pobočky
ExportDoCRMDokladyEdit.bat pomocná ladící dávka
ExportDoCRMHlavniData.bat export hlavních dat (Číselníky, karty, odběratelé)
ExportDoCRMHlavniDataVse.bat spouští export úlohy pro všechny pobočky
ExportDoCRMHlavniDataEdit.bat pomocná ladící dávka
ExportDoCRMIndCeny.bat export individuálních cen
ExportDoCRMIndCenyVse.bat spouští export úlohy pro všechny pobočky
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.
ExportDoCRMKartyVse.bat spouští export úlohy pro všechny pobočky
ExportDoCRMKartyEdit.bat pomocná ladící dávka
ExportDoCRMNakladCeny.bat export nákladových cen
ExportDoCRMNakladCenyVse.bat spouští export úlohy pro všechny pobočky
ExportDoCRMNakladCenyEdit.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.
ExportDoCRMOdberateleVse.bat spouští export úlohy pro všechny pobočky
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ží.
ExportDoCRMOdberateleBZZVse.bat spouští export úlohy pro všechny pobočky
ExportDoCRMOdberateleBZZEdit.bat pomocná „ladící“ dávka
ExportDoCRMOdberateleEdit.bat pomocná „ladící“ dávka
ExportDoCRMOstZasoby.bat export zásob ze souboru operací (SkladOPE.BTR).
ExportDoCRMOstZasobyVse.bat spouští export úlohy pro všechny pobočky
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). Export je definován v parametrech úlohy (popis je na konci).
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.
Následující dávky jsou použity pouze v případě používání „centrálního“ ceníku.
ExportDoCRMZasobyCentraly.bat export aktuálních zásob ze souboru skladových zásob centrály (SkladZAS.BTR,x). Export je definován v parametrech úlohy (popis je na konci).
ExportDoCRMZasobyCentralyVse.bat spouští export úlohy pro všechny pobočky
ExportDoCRMZasobyCentralyEdit.bat pomocná „ladící“ dávka
ExportDoCRMZasobyPobocek.bat export aktuálních zásob ze souboru skladových zásob poboček (SkladZAS.BTR,x). Export je definován v parametrech úlohy (popis je na konci).
ExportDoCRMZasobyPobocekVse.bat spouští export úlohy pro všechny pobočky
ExportDoCRMZasobyPobocekEdit.bat pomocná „ladící“ dávka
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*


Parametry skriptu

Parametry jsou ve formátu JmenoParametru:Hodnota. Obsahuje-li hodnota mezeru(y), pak musí být v uvozovkách. Pro logické (Boolean) parametry je možno použít:A,N,Y,N,T,F,0,1 popř. dlouhé varianty Ano, Ne, Yes, No, True, False.

GenMode

dovoluje nastavit rozšířené parametry pro úlohu. Pro hlavní úlohy jsou přednastaveny předdefinované konstanty níže. Lze použít konstanty gmXXX nebo hexadecimální hodnotu (např. $1001). Při tomto způsobu spuštění je spuštěna POUZE úloha odpovídající tomuto parametru JEDNORÁZOVĚ - není aktivováno plánování úloh !

Předdefinované konstanty pro hlavní části exportu

Konstanta Hodnota
gmUpdate 1 (použijte vždy pro update SQL tabulek)
gmCiselniky $10
gmSazbyDPH $20
gmTypyDokladu $40
gmGlobalniTagy $80
gmZalistovaneZbozi $100
gmKarty $1000
gmOdberatele $2000
gmZasoby $4000
gmZasobyOstatni $8000
gmIndCeny $10000
gmIndCenyOZ $20000
gmPozadavky $40000
gmNakladoveCeny $80000
gmZasoby2 $100000
gmDoklady $200000
gmUdrzba $100000000000000


Předdefinované konstanty pro hlavní úlohy

Konstanta Hodnota
gmCiselnikyVse gmUpdate, gmCiselniky, gmSazbyDPH, gmGlobalniTagy,

gmTypyDokladu

gmKartyVse gmUpdate, gmSazbyDPH, gmGlobalniTagy, gmKarty
gmOdberateleVse gmUpdate, gmSazbyDPH, gmGlobalniTagy,

gmTypyDokladu, gmOdberatele, gmZalistovaneZbozi

gmOdberateleBZL gmUpdate, gmSazbyDPH, gmGlobalniTagy,

gmTypyDokladu, gmOdberatele (bez zalistovaného zboží)

gmZasobyVse gmUpdate, gmSazbyDPH, gmZasoby
gmZasobyOstatniVse gmUpdate, gmSazbyDPH, gmZasobyOstatni
gmIndCenyVse gmUpdate, gmIndCeny
gmIndCenyOZVse gmUpdate, gmIndCenyOZ
gmPozadavkyVse gmUpdate, gmPozadavky
gmNakladoveCenyVse gmUpdate, gmNakladoveCeny
gmZasoby2Vse gmUpdate, gmZasoby2
gmDokladyVse gmUpdate, gmDoklady

LogLevel

úroveň logování binární hodnota 0-15.

Význam hodnot:

Hodnota Popis
0 úplné potlačení chybových hlášení (jen ve výjimečných případech – není doporučeno)
1 kritické chyby
2 vyšší úroveň logování (další údaje se logují podle jednotlivých míst logování)
4 vyšší úroveň logování (další údaje se logují podle jednotlivých míst logování)

Místa logování:

ProductOK (test platnosti skladové karty) 0 $F (0 - 3)
UserAllowed(test platnosti odběratele) $10 $F0 (4 - 7)
GetUser(export odběratelů) $100 $F00 (8 - 11)
GetProduct(export karet) $1000 $F000 (12 - 15)
práce s DB(comapre, insert, update, delete) $10000 $F0000 (16 - 19)
práce s ADO(SQL prepare, exec) $100000 $F00000 (20 - 23)
plánovač $1000000 $F000000 (24 - 31)


Poznámka
Vyšší úrovně logování (2 a 4) v místech ProductOK a UserAllowed a plánovač vytvářejí obrovské logy – doporučuje se zapínat jen dočasně!
Defaultní hodnota: $1111111 – všechny kritické chyby

Parametr LogLevel zadejte jako součet výše uvedených hodnot
Defaultní hodnota: $1111111 – všechny kritické chyby
Příklad pokud chcete nejpodrobnější informace o průběhu generování produktů, tak hodnotu změňte na $111111F nebo ve formátu: Log:+$F, kdy se zadaná hodnota „přičte“ k defaultní hodnotě.



Další parametry

Text Popis Poznámka
Ident Rozlišující text do log souboru Odlišuje stejné typy úloh v logu. Vhodné např. při částečných (rozdělených) exportech např. zalistovaného zboží.
DataComputerName Jméno serveru s „datovou“ databází (Maxim.CRM.Data)  
DataDBName Jméno „datové“ databáze (Maxim.CRM.Data)  
DataUserName Jméno datového uživatele  
DataPassword Heslo datového uživatele  
SyncComputerName Jméno serveru se „synchronizační“ databází (Maxim.SyncGen)  
SyncDBName Jméno synchronizační databáze (Maxim.SyncGen)  
SyncUserName Jméno synchronizačního uživatele  
SyncPassword Heslo synchronizačního uživatele  
DateFrom [+]Offset (datum nebo offset). Offset je v počtu dní od aktuálního data. Lze tak reexportovat data např. za určený den(viz. parametr DayCount)  
DayCount Počet dní pro výpočet „časových“ dat  
UserWhiteListAdd Zapíná částečný výpočet časových dat – parametry  
DateFrom [+]Offset (datum nebo offset). Offset je v počtu dní od aktuálního data. Lze tak reexportovat

data např. za určený den(viz. parametr DayCount)|| 

DayCount Počet dní pro výpočet „časových“ dat  
BalanceFromStore Nastavte na true (Boolean hodnota:Y,N,T,F) pro výpočet salda ze skladu (false pro výpočet z účta) připravuje se
DefDateTaxSupplay Nastavte na true (Boolean hodnota:Y,N,T,F) má-li se splatnost počítat od datumu UZP, jinak se bude počítat od data vystavení dokladu – výchozí hodnota.  
Packages Nastavte na true (Boolean hodnota:Y,N,T,F) chcete-li exportovat i vratné obaly, které nejsou u žádného zboží. Default: false  
TaskGUID uveďte GUID úlohy pro plánované spuštění. Lze tak spustit zvlášť i jednotlivou úlohu ze skupiny Není-li uveden žádný z parametrů TaskGUID, TaskGroupGUID, TaskName, bude proveden jednorázový export dle parametru GenMode
TaskGroupGUID uveďte GUID skupiny pro plánované spuštění
TaskName uveďte jméno skupiny nebo úlohy pro plánované spuštění–připravuje se
RunTask interní použití  
RunningTime Maximální doba běhu úlohy. Default: 60 minut. Pokud úloha ještě běží, bude ukončena po svém dokončení (nebude již dále plánována)  
TaskErrorTimeOut Pokud již není žádná vhodná úloha podle plánu ke spuštění, pak bude další test proveden až po této době (v sekundách). Default: 300. Není vhodné nastavovat na dlouhý interval, protože se tím oddálí načtení případné aktualizace plánování z tabulek Max.SyncGen databáze. I v době čekání sklad nezatěžuje processor (je v sleep módu)
ExitAfterGroup ukončení při úspěšném dokončení všech úloh ve skupině. Skupina již nebude znovu naplánována.  
StartNow nastavte true, chcete-li úlohu nebo skupinu spustit ihned (Boolean value:Y,N,T,F), jinak bude spuštěna dle vypočteného plánu.  
CodeList Jméno souboru filtrování číselníků - viz. CiselnikyFiltr.txt výše  
FileName Jméno souboru pro úlohu Údržba  
LogIdent Identifikace do Log souboru. Defaultní hodnota „ExportCRM“ - tato hodnota je použita pro označení běhu základních částí skriptu (např.: spouštění úlohy, plánovač a pod. - mimo běh vlastní úlohy. Při běhu vlastní úlohy je v závorce za ExportCRM uvedena tato hodnota určující běžící úlohu.  
RunGroup Parametr určující, zda-li se má spustit pouze určená úloha (parametrem TaskName nebo TaskGUID) a nemá se spouštět plánování dalších úloh ve skupině: RunGroup:N. Výchozí hodnota je RunGroup:Y a po skončení úlohy bude skript pokračovat v plánování dalších úloh skupiny.  


Batch soubory

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 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).
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, které 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.: obsah souboru Sklad6\ExportDoCRM.Stop je zalogován jako důvod ukončení exportů. Pozn.: 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 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 ind. 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*



Konfigurace ve webově aplikaci Skeleton

Databáze

Nastavení se používá pouze pro potřeby exportu do CRM:

CRM Databaze.png

Záznam obsahuje VZOR připojovacího řetězce (Connection string) k databázi. Vlastní hodnoty lze nastavit přes parametry skriptu:
pro datovou synchronizační databázi (Maxim.CRM.Data):

DataComputerName(localhost\SQLEXPRESS)
DataDBName(Maxim.CRM.Data)
DataUserName(„“)
DataPassword(„“)
(v závorce jsou defaultní hodnoty)

pro systémovou synchronizační databázi (Maxim.SyncGen):

SyncComputerName(localhost\SQLEXPRESS)
SyncDBName(Maxim.SyncGen)
SyncUserName(„“)
SyncPassword(„“).

Defaultní Connection string:

Provider=SQLOLEDB.1;Integrated Security=SSPI;Password=;Persist Security :Info=True;User ID=;Initial Catalog=;Data Source=;Keep connection=True

Pokud obsahuje parametr „Integrated Security=SSPI“, tak jméno a heslo není nutné, protože se přebírá z nastavení uživatele Windows, pod kterým běží úloha.

Od verze skriptu ExportDoCRM_3.fsc byla zavedena práce se „společnou“ databází a bylo rozšířeny parametry pro připojení do databáze. Nyní je možno definovat více databází než jen „Sync“ a „Data“. Přístupové údaje k databázi jsou nyní ve formátu <Symb. jméno databáze><typ parametru>, kde <typ parametru> je ComputerName, DBName, UserName a Password. <Symb. jméno databáze> je symbolické a určuje, ke které databázi parametr patří. Stále jsou tedy platné parametry původní parametry pro určení databáze Data a Sync - např.: DataDBName, DataComputerName nebo SyncComputerName.




Tabulky

CRM Tabulky.png

Obsahuje parametry pro jednotlivé tabulky (určeno pro budoucí použití) a pole CompanySyncId, které obsahuje číslo střediska (je možno použít univerzální hodnotu ze skriptu: _AktualniSklad_. Ta obsahuje číslo střediska (skladu) pod kterým běží skript.

Od verze 3 je zde možno uvést v parametrech speciální parametr DB, který určuje v jaké databázi je tabulka definována. Není-li parametr uveden, pak tabulka musí existovat v databázi „Data“, tj. „Maxim.CRM.Data“ (toto je výchozí jméno - vlastní jméno databáze lze změnit parametrem DataDBName. Zde může mít parametr <jméno databáze>DBName speciální formát (na rozdíl od příkazového řádku, kde musí být uvedeny všechny potřebné parametry pro danou databázi): <jméno databáze>DBName:<skutečné jméno databáze>[/<jméno existující databáze>]. Z parametrů existující databáze se potom přebírají parametry ComputerName, UserName a Password. Lze tedy např. definovat „společnou“ databázi Common podle databáze Data takto: CommonDBName:Maxim.CRM.Common/Data.



Úlohy

CRM Ulohy.png

Tato tabulka obsahuje seznam úloh a je závislá na skriptu. Není třeba ji měnit - pouze pokud nová verze skriptu obsahuje nové úlohy (typy exportu). Popis stávajících hodnoty viz parametr GenMode - tento parametr je ale určen pouze pro jednorázové spuštění úlohy. Při plánovaném spuštění úlohy (parametry TaskGUID, TaskGroupGUID a plánovaný parametr TaskName) je vždy přepsán hodnotou z této tabulky.




Skupiny úloh

CRM Skupina.png

obsahuje ID skupiny úloh a popis skupiny úloh



Plánování úloh

CRM Planovani.png

Popis tabulky – viz níže.



Omezení spouštění

CRM Omezeni.png

Postup zadávání:

  1. Jméno skupiny a její popis – tabulka „Skupiny úloh“
  2. Vlastní úloha – tabulka „Plánování úloh“
    Zde zadáváme skupinu úloh (výběr ze skupin), pořadí ve skupině, vlastní úlohu (kterou chceme spustit – výběr ze seznamu úloh), popis úlohy (stejná úloha může být spuštěna s rozdílnými parametry), Databázi (výběr ze seznamu databází), frekvenci (zadaná jako část dne, tj. 1 = jednou denně, 0,5 = 2x za den. Hodnotu spočteme výrazem 1/ „Počet Opakování“. Pro zjednodušení: 0,00069444444 x počet minut nebo 0,0416666666 x počet hodin), maximální dobu běhu (určeno pro budoucí použití. V tuto chvíli lze nastavit parametrem RunningTime – viz níže), povolení úlohy (hodnota 0-1, 0= zakázaná) a parametry úlohy (jsou závislé na skriptu).
  3. Omezení úlohy – tabulka „Omezení spouštění“
    Zde zadáváme úlohu, kterou chceme omezit (výběr ze seznamu), pořadí omezení, popis omezení, typ omezení (0 – časové údaje, 1 – nespustit pokud běží jiná úloha – pole související úloha, 2 – omezení pomocí funkce (určeno pro budoucí použití)

Parametry úloh:
V tabulce „Plánování úloh“ je možno pro některé typy úloh nastavit „Parametry“ úlohy.

Zápis definice parametrů:

  1. [] - hranaté závorky - volitelná položka. Je-li hranatá závorka součástí parametru, pak je v uvozovkách ‘[‘.
  2. … - opakování poslední položky

Volba (jedna z uvedených položek)

Formát:

  1. [Parametr[;Parametr …]] - seznam parametrů oddělený středníky, kde
    1. Parametr: <jméno parametru>:<hodnota> - jméno a hodnota parametru oddělená dvojtečkou.

Zde je uveden popis parametrů pro jednotlivé úlohy:

Jméno úlohy Jméno dávky Jméno parametru Popis
Číselníky Ciselniky.bat SeznamCiselniku Parametr je možno použít jak z příkazového řádku, stejně tak i v parametrech úlohy. V případě obou jsou oba seznamy spojeny.
Formát:
[+]‘[‘číslo_číselníku[,číslo_číselníku…‘]‘

- volitelně plus(+) a seznam čísel číselníků oddělených čárkou v hranatých závorkách. Použijete-li v seznamu mezery nebo plus na začátku, musí být celý parametr v uvozovkách. Např.: “+[52,54,57]“. Začíná-li parametr znakem plus je seznam připojen k výchozímu seznamu číselníků.

Doklady Doklady.bat Sklady Seznamčísel skladů k exportu (pouze v parametrech úlohy).
Formát:
MaskaSkladu[/MaskaSkladu…], kde MaskaSkladu: [!]čísloSkladu.
Je-li uveden ! (vykřičník), pak jsou tyto sklady vynechány z exportu. Je možno použít divoké znaky (* a ?).
Výchozí hodnota: 0 = aktuální sklad.
TypyDokladu TypDokladu, kde TypDokladu: [!]čísloTypuDokladu
Je-li uveden ! (vykřičník), pak jsou tyto typy dokladů vynechány z exportu. Je možno použít divoké znaky (* a ?).
Je-li uvedena proměnná (jméno proměnné bez divokých znaků, pak je proměnná načtena ze skladu (INI hodnoty F12).
Výchozí hodnota: '*/!2/!6'
PocetDni Určuje jak „staré“ doklady se budou exportovat.
Výchozí hodnota: 100 dní
DanoveDoklady Určuje způsob exportu daňových dokladů:
0 - neexportovat
1 - exportovat daňové i nedaňové doklady
2 - exportovat POUZE daňové doklady.
Výchozí hodnota: 1
Hlavní data HlavniData.bat   Žádné parametry
Individuální ceny IndCeny.bat   Žádné parametry
Individuální ceny obchodních zástupců IndCenyOZ.bat   Žádné parametry
Karty Karty.bat   Žádné parametry
Nákladové ceny NakladCeny.bat   Žádné parametry
Odběratelé Odberatele.bat   Žádné parametry
Odběratelé bez zalistovaného zboží OdberateleBZZ.bat   Žádné parametry
Ostatní zásoby (z operací) OstZasoby.bat Sklady Seznam čísel skladů k exportu (pouze v parametrech úlohy).
Formát:
MaskaSkladu[/MaskaSkladu…], kde MaskaSkladu: [!]čísloSkladu.
Je-li uveden ! (vykřičník), pak jsou tyto sklady vynechány z exportu. Je možno použít divoké znaky (* a ?).
Výchozí hodnota: 0 = aktuální sklad.
Požadavky Pozadavky.bat   Žádné parametry
Údržba Udrzba.bat FileName Jméno souboru s příkazy pro údržbu (pouze příkazový řádek)
Zásoby (všechny ze souboru zásob) Zasoby.bat Sklady Čísla skladů k exportu.
Formát:
DefiniceSkladu [/DefiniceSkladu …], kde DefiniceSkladu: čísloSouboru/číslaSkladů, kde čísloSouboru - pořadové číslo Btrieve souboru ze seznamu souborů ve skladu (zpravidla 0)
číslaSkladů:SkladČíslo [SkladČíslo …], kde SkladČíslo: [*]čísloSkladu.
Čísla skladu s hvězdičkou jsou „relativní“ a musí být v rozmezí 1-9. Skutečné jméno skladu je určeno z INI hodnot F8 (*1 a *2 = Sklad2 a sklad3) ostatní čísla skladů jsou určena z proměnných (INI hodnoty F12) ZasSkladx,0.
Speciální význam má 0:
*0 = aktuální sklad
0 = všechny sklady ze souboru vyjma aktuálního skladu.
Zásoby z centrály ZasobyCentraly.bat   dtto
Zásoby z poboček ZasobyPobocek.bat   dtto