{#INFO 'Export sklad. karet do souboru CSV pro DPH 2024'} var popis, s: string; csv : TStrings; data : TPOSQuery; i : integer; function DestCarka(const Value : string) : string; var x : integer; begin Result := Value; x := pos('.', Result); if x>0 then Result[x] := ','; end; function DestTecka(const Value : string) : string; var x : integer; begin Result := Value; x := pos(',', Result); if x>0 then Result[x] := '.'; Result := Trim(Result); end; begin csv := TStringList.Create; try csv.Add(Format('%s;%s;%s;%s;%s;%s;%s;%s',['ID','CISLO','PLU','NAZEV','SKUP_CISLO','SKUP_NAZEV','DPH','CENA'])); data := TPOSQuery.Create; try data.SQL.Add('select A.ID,A.CPOL,A.NAME,A.PRICE,A.DPH,A.MNOZSTVI,A.SCENA,A.MJ,A.SKUPINA,B.CISLO AS SKUPINACISLO,B.NAME AS SKUPINANAME,A.POZN1,A.POZN2 from tpplu A LEFT JOIN TPSKUP B ON A.SKUPINA=B.ID ORDER BY B.NAME,A.NAME'); data.Open; i := 0; while not data.Eof do begin s := Format('Procházení sklad. karet %d%%',[Trunc(((i+1)/data.RecordCount)*100)]); ShowInfo(s,'Import',Trunc(((i+1)/data.RecordCount)*100)); csv.Add(Format('%s;"%s";%s;"%s";"%s";"%s";%s;%s',[data.FindField('ID').DisplayText, data.FindField('CPOL').DisplayText,data.FindField('PLU').DisplayText,data.FindField('NAME').DisplayText,data.FindField('SKUPINACISLO').DisplayText,data.FindField('SKUPINANAME').DisplayText,data.FindField('DPH').DisplayText, DestTecka(Format('%10.2f',[data.FindField('PRICE').AsFloat]))])); data.next; i := i + 1; end; finally data.Free; CloseInfo; end; with TSaveDialog.Create(nil) do try Title := 'Uložit export do'; DefaultExt := 'csv'; Filter := 'csv|*.csv'; Options := Options + ofNoChangeDir; FileName := 'exportdph2024.csv'; if Execute then begin csv.SaveToFile(FileName); MessageBox(0, 'Operace dokončena ok.', 'Informace', $40); end; finally Free; end; finally csv.Free; end; end.