// скрипт для импорта прайс-листа. используется процедурой 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 := 'Штрих_код'; // считаем, сколько строк пропустить 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_name_goods) do begin inc(MissStrings); selfloader.importcds.next; end; // принимаем файл 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.