&НаКлиенте
Процедура ПутьКФайлуНачалоВыбора(Элемент, ДанныеВыбора, ВыборДобавлением, СтандартнаяОбработка)
Попытка
Оповещение = Новый ОписаниеОповещения("ОбработкаФайла", ЭтотОбъект);
НачатьПомещениеФайлаНаСервер(Оповещение,,,,,УникальныйИдентификатор);
Исключение
ПутьКФайлу = "";
КонецПопытки;
КонецПроцедуры
&НаКлиенте
Процедура ОбработкаФайла(ОписаниеПомещенногоФайла, ДополнительныеПараметры) Экспорт
Если ОписаниеПомещенногоФайла = Неопределено Тогда
КонецЕсли;
ПутьКФайлу = ОписаниеПомещенногоФайла.СсылкаНаФайл.Файл.ПолноеИмя;
КонецПроцедуры
&НаСервере
Процедура ЗагрузкаНаСервере(ТабДок, ПутьКФайлу)
ТабДок.Прочитать(ПутьКФайлу, СпособЧтенияЗначенийТабличногоДокумента.Значение);
ПостроительЗапроса = Новый ПостроительЗапроса;
ПостроительЗапроса.ИсточникДанных = Новый ОписаниеИсточникаДанных(ТабДок.Область("Лист1"));
ТаблицаТоваров = ПостроительЗапроса.Результат.Выгрузить();
ПостроительЗапроса.Выполнить();
Для каждого СтрокаТовар Из ТаблицаТоваров Цикл
Если не ПустаяСтрока(СтрокаТовар.Артикул) Тогда
НовыйТовар = Справочники.Товары.СоздатьЭлемент();
НовыйТовар.Код = СтрокаТовар.Артикул;
ТипТовара = Справочники.ТипТовара.НайтиПоНаименованию(СтрокаТовар[1]);
Если ТипТовара = Справочники.ТипТовара.ПустаяСсылка() Тогда
НовыйТипТовара = Справочники.ТипТовара.СоздатьЭлемент();
НовыйТипТовара.Наименование = СтрокаТовар[1];
НовыйТипТовара.Записать();
КонецЕсли;
НовыйТовар.ТипТовара = Справочники.ТипТовара.НайтиПоНаименованию(СтрокаТовар[1]);
Попытка
НовыйТовар.Записать();
Сообщить ("Элм"+СтрокаТовар.Артикул+"будет добавлен")
Исключение
Сообщить ("Элм"+СтрокаТовар.Артикул+"не будет добавлен")
КонецПопытки;
НовыйТовар.Записать();
КонецЕсли;
КонецЦикла;
КонецПроцедуры
&НаКлиенте
Процедура Загрузка(Команда)
ТабДок = Новый ТабличныйДокумент;
ЗагрузкаНаСервере(ТабДок, ПутьКФайлу);
КонецПроцедуры