// скрипт для импорта прайс-листа ОльГор. используется процедурой Loader.LoadFromFileWithScript
// нужно заполнить ImportDataset в соответствии с полями:


var
    Filename :string; // Файл импорта
    SelfLoader :TPriceLoader; // вызывающий скрипт лодер

var
    MissStrings :integer = 14;

var Table :Tclientdataset;
    tmpDir :string;
    tmpfile :string;
    Mappings :string;
    strval :string;
begin
  table := tclientdataset.create(selfscript);
  //mappings := tstringlist.create;
  try
    tmpdir := includetrailingpathdelimiter(gettempdir+'tmpscriptimport-'+formatdatetime('dd-mm-yyyy-hh-nn-ss',now));
    forcedirectories(tmpdir);

    tmpfile := tmpdir+extractfilename(filename);

    copyfile(filename,tmpfile);
    try


      selfloader.Field_Name_Goods := 'Наименование';
      SelfLoader.Field_Code_Goods := 'Код';
      //SelfLoader.Field_IsLiveNeed := 'Жизненно важный';
      SelfLoader.Field_Name_Producer := 'Производитель';
      //SElfLoader.Field_place_cap := 'Упак_';
      SelfLoader.field_quantity := 'Кол_во';
      //selfloader.field_price_registry := 'Цена госреестра_руб_';
      //selfloader.field_price_first := 'Цена производителя';
      selfloader.field_price := 'цена с НДС';
      //selfloader.field_barcode := 'Штрих_код';
      selfloader.field_shelf_life := 'Срок годн_';



      // считаем, сколько строк пропустить

      missstrings := 0;
      readxls(selfloader.importcds, tmpfile,false,false,-1); // если сделать 0, то автопропуск пустых сработает

      selfloader.importcds.first;
      while not selfloader.importcds.eof
           and (selfloader.importcds.fields[0].asstring<>selfloader.field_code_goods)
      do begin
        inc(MissStrings);
        selfloader.importcds.next;
      end;

      // принимаем файл

      //createhint(inttostr(missstrings));

      readxls(selfloader.importcds,tmpfile,false,true,missstrings);
      //selfloader.importcds.savetofile('c:\temp\1.cds');
      //selfloader.LoadFromXLS(tmpfile,false,true,MissStrings);



    finally
      cleardir(tmpdir);
      deletedir(tmpdir);
    end;

  finally
    //mappings.free;
    table.free
  end;


end.
