Выгрузка справочника в ExcelОбразец самого простого кода для выгрузки справочника в файл Excel.
Перед выполнением примера необходимо открыть пустой документ Excel. | | Автор статьи: romix | Редакторы: Последняя редакция №5 от 22.11.06 | История URL: http://kb.mista.ru/article.php?id=410 | |
//*******************************************+
Процедура Выгрузить_в_Excel()
xl=СоздатьОбъект("Excel.Application");
row=1; //первая строка
спр=СоздатьОбъект("Справочник.Контрагенты");
спр.ВыбратьЭлементы();
Пока спр.ПолучитьЭлемент() = 1 Цикл
xl.Cells(row,1).Value=спр.Код;
xl.Cells(row,2).Value=спр.Наименование;
row=row+1;//переходим на следующую строку
КонецЦикла;
КонецПроцедуры
Ниже "для комплекта" приведен код загрузки справочника из Excel. Справочник - без групп и подчинений, синхронизация производится по наименованию элемента.
//*******************************************+
Процедура Загрузить_из_Excel()
//для скорости пишем все элементы в одной транзакции
НачатьТранзакцию();
xl=СоздатьОбъект("Excel.Application");
//число строк на листе Excel
rows=xl.ActiveSheet.UsedRange.Rows.Count;
спр=СоздатьОбъект("Справочник.Контрагенты");
//цикл по строкам
Для row = 1 По rows Цикл
//читаем строку из ячейки Excel (значения должны располагаться в первой колонке)
имя=СокрЛП(xl.Cells(row,1).Value);
//показываем пользователю прогресс в строке состояния
Состояние(""+row+"/"+rows+" "+имя);
Если имя="" Тогда
Продолжить; //пустые значения не создаем
КонецЕсли;
Если спр.НайтиПоНаименованию(имя, 0, 1)=0 Тогда
//если элемент с таким наименованием не найден, то создаем его
спр.Новый();
спр.Наименование=имя;
спр.Записать();
КонецЕсли;
КонецЦикла;
ЗафиксироватьТранзакцию();
КонецПроцедуры
|