Export do CRM
Definice ve Skeletonu
Tabulky bez závislostí (nezávislé)
Databáze (pouze pro potřeby exportu do CRM)
obsahuje VZOR připojovacího řetězce (Connection string) k databázi. Defaultní hodnota je uvedena níže. Vlastní hodnoty jsou nastaveny přes parametry skriptu:
pro „datovou“ databázi (v závorce jsou defaultní hodnoty) |
DataComputerName(localhost\SQLEXPRESS), DataDBName(Maxim.CRM.Data),
DataUserName(„“), DataPassword(„“) |
pro „synchronizační“ databázi |
SyncComputerName(localhost\SQLEXPRESS), SyncDBName(Maxim.SyncGen), SyncUserName(„“), SyncPassword(„“). |
Poznámka - Defaultní Connection string |
Provider=SQLOLEDB.1;Integrated Security=SSPI;Password=;Persist Security Info=True;User ID=;Initial Catalog=;Data Source=;Keep connection=True - obsahuje parametr „Integrated Security=SSPI“, takže jméno a heslo není nutné. |
Tabulky
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.
Úlohy
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
Obsahuje ID skupiny úloh a popis skupiny úloh.
Tabulky se závislostí
(určuje pořadí zadávání – viz postup zadávání)
Plánování úloh
Popis tabulky – viz Postup zadávání
Omezení spouštění
Popis – viz Postup zadávání
Postup zadávání
- Jméno skupiny a její popis – tabulka Skupiny úloh
- 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 * počet minut nebo 0,0416666666 * 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). - 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 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ředdefinované konstanty pro hlavní části exportu
Konstanta | Hodnota |
gmUpdate | 1 (použijte vždy pro update SQL tabulek) |
gmCiselniky | $10 |
$20 | |
gmTypyDokladu | $40 |
gmGlobalniTagy | $80 |
gmZalistovaneZbozi | $100 |
gmKarty | $1000 |
gmOdberatele | $2000 |
gmZasoby | $4000 |
gmZasobyOstatni | $8000 |
gmIndCeny | $10000 |
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 |
gmZasobyOstatniVs | gmUpdate, gmSazbyDPH, gmZasobyOstatni |
gmIndCenyVse | gmUpdate, gmIndCeny |
Logování
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 |
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ží.
Text | Popis | Poznámka | ||
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 | připravuje se | |||
DayCount | připravuje se. | |||
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.|| |
Batch soubory
Nasazení skriptu
Před kompilací 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í).