новое событие
Информационный поток
Задания вакансии материалы разработки сообщения форума

Простой способ выгрузки в таблицу Excel

  • Добавить свою публикацию
  • для этого требуется регистрация

Стандартная задача

Кладовщику нужно выгрузить список всей номенклатуры, у которой не установлена пометка удаления. Поля для выгрузки:

  1. Наименование.
  2. Артикул.
  3. Вид номенклатуры.
  4. Тип номенклатуры.
Вот так будет выглядеть таблица Excel после выгрузки:
ИзображениеРассмотрим два способа решения: без программирования и с участием программиста.

Программируем

Чтобы выгрузить номенклатуру в XLS-файл сформируем запрос к базе данных для получения номенклатуры и поместим результат в табличную часть обработки выгрузки. Вот форма обработки:

Изображение

По нажатию на кнопку "Заполнить" заполняется табличная часть "ДанныеВыгрузки" обработки, у которой добавлены соответствующие реквизиты. Обработчик этой кнопки имеет следующий программный код:

 Процедура КнопкаВыполнитьНажатие(Кнопка)
	
	Запрос = Новый Запрос;
	Запрос.Текст = 
		"ВЫБРАТЬ
		|	Номенклатура.Ссылка КАК Номенклатура,
		|	Номенклатура.Артикул,
		|	Номенклатура.ВидНоменклатуры,
		|	Номенклатура.ВидНоменклатуры.ТипНоменклатуры КАК ТипНоменклатуры
		|ИЗ
		|	Справочник.Номенклатура КАК Номенклатура
		|ГДЕ
		|	НЕ Номенклатура.ПометкаУдаления
		|	И НЕ Номенклатура.ЭтоГруппа";	ТаблицаДанных = Запрос.Выполнить().Выгрузить();
	ДанныеВыгрузки.Загрузить(ТаблицаДанных);

КонецПроцедуры

 Здесь все должно быть понятно. Самое интересное начинается по нажатию на кнопку "Сохранить". Сначала вызывается диалог выбора пути для сохранения таблицы XLS. Затем, используя данные в табличной части обработки, заполняется табличный документ по созданному ранее макету. Макет, добавленный в обработку, следующий:

Изображение

Полный код обработчика кнопки "Сохранить" представлен на следующем листинге:

 Процедура ОсновныеДействияФормыДействие(Кнопка)
	// Вызываем диалог выбора файла для сохранения XLS-таблицы
	Режим = РежимДиалогаВыбораФайла.Сохранение;
	ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(Режим);
	ДиалогОткрытияФайла.ПолноеИмяФайла = "";
	ДиалогОткрытияФайла.МножественныйВыбор = Ложь;
	Текст = "ru = ""Таблица XLS""; en = ""XLS table""";
	Фильтр = НСтр(Текст)+"(*.xls)|*.xls";
	ДиалогОткрытияФайла.Фильтр = Фильтр;
	ДиалогОткрытияФайла.Заголовок = "Выберите путь для сохранения";
	Если ДиалогОткрытияФайла.Выбрать() Тогда
		ПутьКФайлу = ДиалогОткрытияФайла.ПолноеИмяФайла;
	Иначе
		Текст = "Путь сохранения не выбран!";
		Предупреждение(Текст);
		Возврат;
	КонецЕсли;	
	// Создаем табличный документ
	ТаблицаСохранение = Новый ТабличныйДокумент;
	// Получаем макет заполнения и области макета
	Макет = ЭтотОбъект.ПолучитьМакет("ТаблицаВыгрузки");
	ОбластьШапка = Макет.ПолучитьОбласть("Шапка");
	ОбластьСтрока = Макет.ПолучитьОбласть("Строка");
	// Выводим данные в табличный документ 
	ТаблицаСохранение.Вывести(ОбластьШапка);
	Для Каждого Стр Из ДанныеВыгрузки Цикл
		ЗаполнитьЗначенияСвойств(ОбластьСтрока.Параметры, Стр);
		ТаблицаСохранение.Вывести(ОбластьСтрока);
	КонецЦикла;
	// Сохраняем табличный документ на диск 
	ТаблицаСохранение.Записать(ПутьКФайлу, ТипФайлаТабличногоДокумента.XLS);   	
КонецПроцедуры

 После сохранения, на диске буде файл таблицы Excel со списком выгруженной номенклатуры. Пример файла Вы могли видеть в начале статьи.

Пользователь может сам

На самом деле участи программиста для подобной задачи не нужно. Пользователь все сам может сделать без каких-либо хитростей.

Например, перейдя в список номенклатуры и выполнив команду "Все действия" -> "Вывести список" из списка номенклатуры, пользователь получит список номенклатуры в сформированном табличном документе.

Изображение

После того, как табличный документ будет сформирован, нажав на кнопку "Сохранить" или через меню "Файл->Сохранить" пользователь может записать табличный документ в файл XLS указав его имя и конечный каталог.

Изображение

 Вот и все! Никакой обработки для выгрузки не нужно. Конечно, если у вас достаточно простой случай с выгрузкой данных.

Так все просто?

Действительно все просто, никаких внешних компонент подключать не нужно. К тому же, мы можем выполнить выгрузку таким способом не только в файлы формата таблиц Excel, но и другие форматы, поддерживаемые платформой.

Изображение

Обработку с примером из статьи Вы можете скачать по ссылке.

 
0
Читайте также
КАК загрузить(сохранить) картинки из документа EXCEL или WORD (MS OFFICE.)
Выгрузить картинки из книги EXCEL их нужно сохранить как Web страницу
Как из 1С записать формулу в ячейке MS EXCEL
Записать формулу в ячейке MS EXCEL
Разработки
Обработка заполнение табличных частей документа. Написана для конфигурации УТ 11.0.6.9. Загружает информацию из файла Excel печа
Для конфигурации УТ 11.0.6.9 написана обработка для заполнения документа из файла Excel
Выгрузка прайса в Excel из 1с7 ТиС.
Как выгрузить из 1С 7 прайс в Excel
Загрузка поступления ТМЦ вместе с номенклатурой из Excel файла для УТ 10.3 8.1/8.2
"Обработка для УТ 10.3 позволяет загрузить ТМЦ с номенклатурой из Excel"
Еще от автора
≡ к списку статей