Загрузка данных в 1с из Excel применяется для организации заполнения базы данных 1с информацией. Ниже представлен код обработки позволяющий загрузить в справочник данные с листа Excel. Код рабочий предложен в качестве подсказки всем заинтересованным.
&НаСервере
Процедура ЗагрузитьНоменклатуруНаСервере(ВыбранноеИмяФайла)
Сообщить("ыыыыыыы");
ТабДок = Новый ТабличныйДокумент;
Попытка
ТабДок.Прочитать(ВыбранноеИмяФайла);
Исключение
Сообщить("ОЙ, НЕ ПРОЧИТАЛОСЬ");
Возврат;
КонецПопытки;
ПостроительЗапроса = Новый ПостроительЗапроса;
ПостроительЗапроса.ИсточникДанных = Новый ОписаниеИсточникаДанных(ТабДок.Область("Организация"));
ПостроительЗапроса.Выполнить();
ТаблицаДанных = ПостроительЗапроса.Результат.Выгрузить();
ТаблицаДанных.Количество();
Мой = Справочники.Агенты2;
для каждого Строка из ТаблицаДанных цикл
Если строка.Наименование = "" Тогда
//Сообщить("Создаем Группу");
НоваяГруппа = Мой.СоздатьГруппу();
НоваяГруппа.Наименование = Строка.Код;
// Если Число(Мас[2]) > 1 Тогда
// НоваяГруппа.Родитель = Группы[Число(Мас[2]) - 2];
// КонецЕсли;
НоваяГруппа.Записать();
// Группы[Число(Мас[2]) - 1] = НоваяГруппа.Ссылка;
Иначе
Попытка
НовыйЭлемент = Мой.СоздатьЭлемент();
НовыйЭлемент.Код = строка.Код;
НовыйЭлемент.Наименование = строка.Наименование;
НовыйЭлемент.Организация = строка.Наименование;
Сотрудник=Справочники.Сотрудники.НайтиПоКоду(Строка.Код);
Сообщить(Сотрудник.Имя);
НовыйЭлемент.Имя=Сотрудник;
НовыйЭлемент.ФИО=Сотрудник.Наименование;
//НовыйЭлемент.Родитель = НоваяГруппа.Ссылка;//мой.НайтиПоНаименованию(строка.Группа);
НовыйЭлемент.Записать();
//Сообщить(Мас[0] + " " + Мас[1] + " / " + Группы[Число(Мас[2]) - 2]);
Исключение
Сообщить("Ошибка в строке " + (Строка));
КонецПопытки;
конецесли;
//сообщить(строка.Название);
конеццикла;
КонецПроцедуры
&НаКлиенте
Процедура ЗагрузитьНоменклатуру(Команда)
НачатьПомещениеФайла(Новый ОписаниеОповещения(“ПослеВыбораФайла”, ЭтотОбъект));
КонецПроцедуры
&НаКлиенте
Процедура ПослеВыбораФайла(Результат, Адрес, ВыбранноеИмяФайла, ДопПараметры) Экспорт
Если Не ПустаяСтрока(ВыбранноеИмяФайла) Тогда
ЗагрузитьНоменклатуруНаСервере(ВыбранноеИмяФайла);
КонецЕсли;
КонецПроцедуры