// скрипт выгрузки прайс-листа для СоюзФарма.

// Пока только производится генерация файла в каталог DirName, который нужно определить согласно собственным требованиям

const DirName = 'c:\SojuzPharma\';
      FileName = 'spravka.sst';


// предопределены переменные:

VAR
 VariantName :string; // имя варианта в программе
 VariantFile :string; // файл-скрипт
 Dataset :tdataset; // файл с прайс-листом

var

  List :TStringList;


  WF :TMyWait;
begin
  wf := TmyWait.create('Идет экспорт прайс-листа');
  try


    List := tstringlist.create;
    try

      List.add('[Header]');
      List.add(formatdatetime('dd.mm.yyy hh:nn:ss', now())+Stringofchar(';',4));
      List.add('[Body]');

      dataset.disablecontrols;
      try

        wf.progressbarmax := dataset.recordcount;
        dataset.first;
        while not dataset.eof do
        begin
          wf.incprogress;

          List.add(Stringofchar(';',11)+ansiuppercase(dataset.fieldbyname('name').asstring) +';' +
             ansiuppercase(dataset.fieldbyname('producername').asstring)+';'+
             ansiuppercase(dataset.fieldbyname('countryname').asstring)+';'+
             bvCurrToStrF(dataset.fieldbyname('rs_cena').ascurrency,'.','','',2)+';'+
             ';'+ // в инструкции зарезервировано (может цена производителя? тогда это
                 //     bvCurrToStrF(dataset.fieldbyname('firstcena').ascurrency,'.','','',2)+';'+
             dataset.fieldbyname('ostat').asstring+';'+
             ';'+ // количество дней. судя по примеру, можно опустить
             ';'+ // дата выпуска. судя по примеру, можно опустить
             dataset.fieldbyname('srokkart').asstring+';' // дата выпуска. судя по примеру, можно опустить
          );

          dataset.next;
        end;
     finally
       dataset.enablecontrols;
     end;

     forcedirectories(DirName);
     List.savetofile(includetrailingpathdelimiter(DirName)+FileName);

    finally
      List.free;
    end;
  finally
    wf.free
  end;

  CreateHintI('Операция завершена, файл находится в каталоге '+DirName);


end.
