// скрипт генерирует пакеты обмена фиксированными скидками со всеми складами с указанными альтернативными кодами
// пакет имеет стандартное имя arcsklad.zip

//const ExportDir = '\\ms2\mail\out\';
const ExportDir = 'c:\temp\mail\out\';

var
  cds :Tclientdataset;
  Query :TQuery;
  TMPDir :string;
  REsultFile :string;
  ResultFile1 :string;
  ExportDir1 :string;
begin

  tmpdir := '';
  cds := TClientdataset.create(Nil);
  with TMyWait.create('Идет генерация данных') do
  try

    rebuilddiscountpercents;
    
    repeat
      tmpdir := includetrailingpathdelimiter(gettempdir+inttostr(randomrange(1,100000)));
    until not directoryexists(tmpdir);

    forcedirectories(tmpdir);


    Query := TQuery.create(cds);
    Query.databasename := 'dbkassa';
    Query.sql.text := 'select id,code,name '+
      ' from agents '+
      ' where issklad = 1 and code>'''' '+
    ' order by id';

    Query.open;
    readdataset(CDs,Query);
    Query.close;

    cds.first;
    progressbarmax := cds.recordcount;
    progressbarpos := 0;

    while not cds.eof do
    begin
      incprogress;
      advancedtext := cds.fieldbyname('name').asstring;

      ResultFile :=  GenFixedDiscountsPackage(cds.fieldbyname('id').asinteger, TMPdir);

      ExportDir1 := includetrailingpathdelimiter( includetrailingpathdelimiter(ExportDir)+CDS.fieldbyname('CODE').asstring);
      ForceDirectories(ExportDir1);

      ResultFile1 :=ExportDir1+extractfilename(Resultfile);
      if fileexists(ResultFile1) then
      begin
        ResultFile1 := GetUniqueFileName(ExportDir1, extractfilename(Resultfile));
      end;
      CopyFile(ResultFile, ResultFile1,    false);

      //CopyFile(ResultFile, ExportDir1+extractfilename(Resultfile),    false);
      //createhint(resultFile+#13+ExportDir1+extractfilename(Resultfile));

      deletefile(ResultFile);

      cds.next;
    end;


    deletedir(tmpdir);

    CreateHint('Генерация пакетов с фикс. скидками закончена');
  finally
    free;
    cds.free;

  end;
end.
