Универсальная проце...
 
Уведомления
Очистить все

Универсальная процедура передачи таблицы значений в Excel в 1С

1 Записи
1 Пользователи
0 Likes
351 Просмотры
10-150 Okolokompa Форум
 dom
(@dom)
Honorable Member
Присоединился: 5 лет назад
Записи: 200
Создатель темы  

Как передать таблицу значений в Excel

//Параметры Таблица значений - ТЗ которую надо передать в Excel
//НазОтч - Название отчета - текст просто заголовок книги Excel
//Вычет не актуален убрать руки не доходят ставить на его месте 0
Процедура ГлКопироватьВExcel(ТЗ,НазвОтч,Вычет) Экспорт
Если ТЗ.КоличествоСтрок() > 0 Тогда
Excel = СоздатьОбъект("Excel.Application");
Excel.Caption = НазвОтч;
NewWorkBook = Excel.Workbooks;
WorkBook = NewWorkBook.Add();
Для Н = 1 По ТЗ.КоличествоКолонок() Цикл
Если ТЗ.ВидимостьКолонки(Н) = 1 Тогда
Т ="";
ТЗ.ПолучитьПараметрыКолонки(Н,,,,Т,,,);
Excel.Cells(1,Н).Value = Строка(Т);
КонецЕсли;
КонецЦикла;
ТЗ.ВыбратьСтроки();
Пока ТЗ.ПолучитьСтроку() = 1 Цикл
Процент = (Цел(ТЗ.НомерСтроки) / Цел(ТЗ.КоличествоСтрок()) * 100);
Для Н = 1 По ТЗ.КоличествоКолонок() - Вычет Цикл
Если ТЗ.ВидимостьКолонки(Н) = 1 Тогда
Зн = ТЗ.ПолучитьЗначение(ТЗ.НомерСтроки,Н);
Если ТипЗначения(Зн) = 1 Тогда
Excel.Cells(ТЗ.НомерСтроки+1,Н).Value = Строка(Формат(Зн,"Ч15.2"));
ИначеЕсли ТипЗначения(Зн) = 3 Тогда
Если ЗН = Дата(0) Тогда
ЗН = "";
Иначе
ЗН = Строка(Зн);
КонецЕсли;
Excel.Cells(ТЗ.НомерСтроки+1,Н).Value = Зн;
Иначе
Excel.Cells(ТЗ.НомерСтроки+1,Н).Value = Строка(Зн);
КонецЕсли;
КонецЕсли;
КонецЦикла;
Состояние ("Подготавливаю данные для передачи в Excel."+Цел(Процент)+"%");
КонецЦикла;
Excel.Visible = 1;
Иначе
Предупреждение ("Нет данных для передачи в Excel");
КонецЕсли;
КонецПроцедуры

   
Цитата
Поделиться: