// скрипт для импорта прайс-листа. используется процедурой Loader.LoadFromFileWithScript
// на вход подается открытый Dataset, который нужно заполнить в соответствии с полями:

{
          add('code',ftstring,50);
          add('code_goods',ftstring,50);
          add('name_goods',ftstring,300);
          add('code_producer',ftstring,50);
          add('name_producer',ftstring,300);
          add('code_country',ftstring,50);
          add('name_country',ftstring,300);
          add('price',ftstring,50);
          add('price_without_nds',ftstring,50);
          add('price_first',ftstring,50);
          add('price_first_with_nds',ftstring,50);
          add('nds',ftstring,50);
          add('shelf_life',ftstring,50);
          add('ex_rate',ftstring,50);
          add('price_rtl',ftstring,50);
          add('amount',ftstring,50);
          add('id_valuta',ftstring,50);
          add('min_amount',ftstring,50);
          add('units',ftstring,50);
          add('place_cap',ftstring,50);
          add('isliveneed',ftstring,50);
          add('price_registry',ftstring,50);
          add('barcode',ftstring,50);
}

// если вернуть закрытый датасет, то операция не будет продолжена, и предполагается, что скрипт самостоятельно разобрался с прайсом.
// для самостоятельности скрипту передается ID - идентификатор прайса, который сейчас заливается.
// но в целом задача скрипта - транспортировать данные из файла Filename в Dataset

const MissStrings = 0;


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_Shelf_Life := 'Годен до';
      SelfLoader.Field_Name_Producer := 'Производитель';
      SElfLoader.Field_place_cap := 'Упаковка';
      selfloader.field_price := 'Цена';
      SElfLoader.Field_nds := 'НДС';
      SElfLoader.Field_price_registry := 'Реестр_ цена';
      SElfLoader.Field_isliveneed := 'ЖНВЛС';
      SElfLoader.Field_quantity := 'Остаток';


      readxls(selfloader.importcds, tmpfile,true,true,MissStrings);

      //selfloader.importcds.savetofile('c:\temp\1.cds');

    finally
      cleardir(tmpdir);
      deletedir(tmpdir);
    end;

  finally
  end;


end.
