Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
31 мая 2024, 15:23

Загрузка данных из Екселя в отчёт

Автор gliokker, 20 янв 2014, 11:41

0 Пользователей и 1 гость просматривают эту тему.

gliokker

Всем привет.
Подскажите возможно ли отобразить данные в отчёте из екселя.
Написал обработку по выгрузке данных их экселя,но незнаю как сделать чтоб они отображались в моём отчёте.

MuI_I_Ika

То есть ты получил данные из экселя, но не знаешь как их вывести в табличный документ 1С?

Если так, то создаешь макет.

А потом кодом получаешь его и пихаешь области в табличный документ;

ТД = Новый ТабличныйДокумент;

Макет = ПолучитьМакет(МойМакет);

ОбластьСтрока = Макет.ПолучитьОбласть("Строка");
ОбластьСтрока.Параметры.Параметр = ЗначениеПараметра;
ТД.Вывести(ОбластьСтрока);

gliokker

Цитата: MuI_I_Ika от 20 янв 2014, 12:25
То есть ты получил данные из экселя, но не знаешь как их вывести в табличный документ 1С?

Если так, то создаешь макет.

А потом кодом получаешь его и пихаешь области в табличный документ;

ТД = Новый ТабличныйДокумент;

Макет = ПолучитьМакет(МойМакет);


ОбластьСтрока = Макет.ПолучитьОбласть("Строка");
ОбластьСтрока.Параметры.Параметр = ЗначениеПараметра;
ТД.Вывести(ОбластьСтрока);


НЕт данные я вывожу,в таблицу значений,я незнаю как потом эти данные передать в отчёт.
Добавлено: 20 янв 2014, 12:58


Вот код обработки которая создаёт таблицу значений
   Если ПустаяСтрока(ИмяФайла) Тогда
Предупреждение("Для запуска обработки необходимо предварительно выбрать файл Microsoft Excel.");
Возврат;
КонецЕсли;
Попытка
Состояние("Загрузка Microsoft Excel...");
ExcelПриложение = Новый COMОбъект("Excel.Application");
Исключение
Сообщить("Ошибка при загрузке Microsoft Excel." + Символы.ПС + ОписаниеОшибки(), СтатусСообщения.Внимание);
Возврат;
КонецПопытки;
Попытка
Состояние("Открытие файла Microsoft Excel...");
ExcelФайл = ExcelПриложение.WorkBooks.Open(ИмяФайла);
Исключение
Сообщить("Ошибка открытия файла Microsoft Excel." + ИмяФайла + Символы.ПС + ОписаниеОшибки(), СтатусСообщения.Внимание);
КонецПопытки;
Попытка
Состояние("Обработка файла Microsoft Excel...");
ExcelЛист = ExcelФайл.Sheets(1);
xlCellTypeLastCell = 11;
ExcelПоследняяСтрока = ExcelЛист.Cells.SpecialCells(xlCellTypeLastCell).Row;
ExcelПоследняяКолонка = ExcelЛист.Cells.SpecialCells(xlCellTypeLastCell).Column;
Исключение
Сообщить("Ошибка открытия листа №1 Microsoft Excel." + Символы.ПС + ОписаниеОшибки(), СтатусСообщения.Внимание);
ExcelПриложение.Quit();
КонецПопытки;
КЧ = Новый КвалификаторыЧисла(15,2);
КС = Новый КвалификаторыСтроки(50);
Массив = Новый Массив;
Массив.Добавить(Тип("Строка"));
ОписаниеТиповС = Новый ОписаниеТипов(Массив, , КС);
Массив.Очистить();
Массив.Добавить(Тип("Число"));
ОписаниеТиповЧ = Новый ОписаниеТипов(Массив, , ,КЧ);
ТаблицаДокумента.Очистить();
ТаблицаДокумента.Колонки.Очистить();
ТаблицаДокумента.Колонки.Добавить("Номер",ОписаниеТиповС,"Номер",5);
ТаблицаДокумента.Колонки.Добавить("Описание",ОписаниеТиповС,"Описание",25);
ТаблицаДокумента.Колонки.Добавить("Количество",ОписаниеТиповЧ,"Количество",6);
Для Строка = 1 По ExcelПоследняяСтрока Цикл
ОбработкаПрерыванияПользователя();
Стр=ТаблицаДокумента.Добавить();
Стр.Номер = Строка;
Попытка
Стр.Номер             = ExcelЛист.Cells(Строка, 1).Value;
Стр.Описание = ExcelЛист.Cells(Строка, 2).Value;
Стр.Количество = ExcelЛист.Cells(Строка, 21).Value;
Исключение
Сообщить("Ошибка чтения строки файла Microsoft Excel." + Строка + Символы.ПС + ОписаниеОшибки(), СтатусСообщения.Внимание);
КонецПопытки;
Состояние("Обработка файла Microsoft Excel : "
+ "строка " + Строка + " из " + ExcelПоследняяСтрока);

КонецЦикла;
ExcelПриложение.Quit();
ЭлементыФормы.ТаблицаДокумента.Значение = ТаблицаДокумента;
ЭлементыФормы.ТаблицаДокумента.СоздатьКолонки();

Вот получается на форме обработки есть таблица значений и она заполняется данными из экселя,не надо эти данные взять и отобразить в отчёте,

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск