; verze z 15.9.2014 Name('Export dat do XML'); Designed('WinDUO'); Author('Milan Slíva','EMail: sliva@fi.cz','http://www.infinion.cz') Descr('Exportuje soubory do formátu XML') DeclareRec('Program'); WNSType(-1); LocStr:String LocBo:Boolean LocL:LongInt; LocW:Word; Veta:LongInt; Procedure ExportKnihovny(Databaze:String,Klic:String) DeclareRec(Databaze); DeclareRec(Klic); Databaze=UpCase(Databaze); Celkem:LongInt=UsedKeys(@Klic); InitStatus(Celkem,'Exportuji: '+Databaze,'Načítám strukturu'); ArrayFromStruct('Struktura',@Databaze); BeginS:Word=GetFirstIndex(Struktura); EndS:Word=GetLastIndex(Struktura); TXT:TextFile; Rewrite(TXT,DestDir+DataName(@DataBaze)+'.XML'); WriteLn(TXT,'') WriteLn(TXT,'<',DataBaze,' count="'+StrToUTF8(Celkem)+'">') SetStatusRemark(''); LocL=0; ClearKey(@Klic); LocBo=NextKey(@Klic,Veta) While(LocBo) begin Inc(LocL); ReadRec(@Databaze,Veta); LocW=BeginS; WriteLn(TXT,'') While(LocW<=EndS) begin LocStr=Databaze+'.'+Struktura[LocW]; Write(TXT,'<',Struktura[LocW],'>') Write(TXT,StrItem(@LocStr,,True,True)) WriteLn(TXT,'') Inc(LocW); end; WriteLn(TXT,'') SetStatus(LocL) SetStatusRemark(LocL) LocBo=NextKey(@Klic,Veta) end; WriteLn(TXT,'') Close(TXT); if(LocL<>Celkem) begin Message('Pozor !!!\rPři exportu zjištěn rozdíl v počtu exportovaných vět.\r\r'+Str(LocL)+'<>'+Str(Celkem),mb_IconExclamation); end; end; ;####### ####### ####### ####### ####### ####### ####### DestDir:String=GetIni('EXPORTY','XMLExprt.DDT'); DestDir=GetPathName(DestDir); if(Length(DestDir)=0) Exit; SetIni('EXPORTY','XMLExprt.DDT',DestDir); ExportKnihovny('Denik','KeyDenik1'); ExportKnihovny('UcetniUdalost','KeyUcetniUdalost1') ExportKnihovny('Pohledavka','KeyPohledavka2') ExportKnihovny('Faktura','KeyFaktura1') ExportKnihovny('Zavazek','KeyZavazek2') ExportKnihovny('Pokladna','KeyPokladna1') ExportKnihovny('Banka','KeyBanka1') ExportKnihovny('OstatniUhrady','KeyOstatniUhrady1') ExportKnihovny('Adresar','KeyAdresar1'); ExportKnihovny('DalsiAdresy','KeyDalsiAdresy1'); ExportKnihovny('UcetniRozvrh','KeyUcetniRozvrh1') ExportKnihovny('CiselnikDani','KeyCiselnikDani1') ExportKnihovny('Ciselnik','KeyCiselnik1') ExportKnihovny('CiselnikRetezcu','KeyCiselnikRetezcu1') ExportKnihovny('BankovniUcet','KeyBankovniUcet1') ExportKnihovny('BalikovaRada','KeyBalikovaRada1') ExportKnihovny('Balik','KeyBalik1') if(Program.Majetky) begin ExportKnihovny('Majetek','KeyMajetek1') ExportKnihovny('MajetekHistorie','KeyMajetekHistorie1') ExportKnihovny('DKP','KeyDKP1') end; if(Program.Sklady) begin ExportKnihovny('Sklad','KeySklad1') ExportKnihovny('Pohyb','KeyPohyb1') ExportKnihovny('SkupinovaOperace','KeySkupinovaOperace5') ExportKnihovny('Objednavka','KeyObjednavka1') ExportKnihovny('ObjednavkaPrijata','KeyObjednavkaPrijata1') ExportKnihovny('ObjednavkaVydana','KeyObjednavkaVydana1') if(Program.Strediska) begin ExportKnihovny('Vyrobek','KeyVyrobek1') ExportKnihovny('SerioveCislo','KeySerioveCislo2') ExportKnihovny('PohybSeriovehoCisla','KeyPohybSeriovehoCisla1') end; end; END