// скрипт для импорта прайс-листа. используется процедурой Loader.LoadFromFileWithScript
// на вход подается открытый Dataset, который нужно заполнить в соответствии с полями:


// если вернуть закрытый датасет, то операция не будет продолжена, и предполагается, что скрипт самостоятельно разобрался с прайсом.
// для самостоятельности скрипту передается ID - идентификатор прайса, который сейчас заливается.
// но в целом задача скрипта - транспортировать данные из файла Filename в Dataset


var // предопределенные скриптом переменные
    Filename :string; // Файл импорта
    SelfLoader :TPriceLoader; // вызывающий объект

    // собственные объекты
var tmpDir :string;
    tmpfile :string;
    Mappings :string;
begin
  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_Name_Producer := 'Производитель';
      SelfLoader.Field_code_Producer := 'Код произв_';
      SelfLoader.Field_seria := 'Серия';
      SelfLoader.Field_Shelf_life := 'Срок годности';
      SElfLoader.Field_place_cap := 'Зав_ упак_';
      SElfLoader.Field_units := 'Ед_ изм';
      selfloader.field_price := 'Цена с НДС';
      selfloader.field_nds := 'Ставка НДС';
      SElfLoader.Field_quantity := 'Остаток';
      selfloader.field_price_registry := 'ГРЦ';


      readxls(selfloader.importcds, tmpfile,false,true,4);
      
      with selfloader.importcds do
      begin
        first;
        while not eof do
        begin
          if (fieldbyname('Цена с НДС').asstring = '') // это не строка прайса
          then 
            delete
          else 
            next;
        end;
      end;
      
      //selfloader.importcds.savetofile('c:\temp\1.cds');

    finally
      cleardir(tmpdir);
      deletedir(tmpdir);
    end;

  finally
  end;


end.
