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

Невыгружаются даныые в Excel

Автор Абылайхан, 12 мар 2015, 07:55

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

Абылайхан

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

Процедура ВыгрузитьВЭксельНажатие(Элемент)
Если ТЗ.Колонки.Количество() = 0 Тогда
Предупреждение("Нет данных для выгрузки.");
Возврат;
КонецЕсли;


Эксель  = Новый  COMОбъект("Excel.Application") ;
Книга = Эксель.WorkBooks.Add();
Пока  Книга.Sheets.Count > 1 Цикл
Книга.Sheets(1).Delete();
КонецЦикла;
Лист = Книга.WorkSheets(1);
Лист.Name = "ВыгрузкаДанныхВНАКПолная";

i = 0;

Для Каждого Стр Из ТЗ Цикл
i = i + 1;
//Val_2 = Формат(Стр.Год,"ЧГ=0;ЧЦ=10")+"."+Мц;
Лист.Cells(i,1).NumberFormat = "@";
Лист.Cells(i,1).Value = Стр.Период;
Лист.Cells(i,2).NumberFormat = "@";
Лист.Cells(i,2).Value = Стр.КодОрганизации;
Лист.Cells(i,3).NumberFormat = "@";
Лист.Cells(i,3).Value = Стр.НомерСчета;
Лист.Cells(i,4).NumberFormat = "@";
Лист.Cells(i,4).Value = Стр.А1;
Лист.Cells(i,5).NumberFormat = "@";
Лист.Cells(i,5).Value = Стр.А2;
Лист.Cells(i,6).NumberFormat = "@";
Лист.Cells(i,6).Value = Стр.А3;
Лист.Cells(i,7).NumberFormat = "@";
Лист.Cells(i,7).Value = Стр.А4;
Лист.Cells(i,8).NumberFormat = "@";
Лист.Cells(i,8).Value = Стр.А5;
Лист.Cells(i,9).NumberFormat = "@";
Лист.Cells(i,9).Value = Стр.А6;
Лист.Cells(i,10).NumberFormat = "@";
Лист.Cells(i,10).Value = Стр.А7;
Лист.Cells(i,11).NumberFormat = "@";
Лист.Cells(i,11).Value = Стр.А8;
Лист.Cells(i,12).NumberFormat = "@";
Лист.Cells(i,12).Value = Стр.А9;
Лист.Cells(i,13).NumberFormat = "@";
Лист.Cells(i,13).Value = Стр.А10;
Лист.Cells(i,14).NumberFormat = "@";
Лист.Cells(i,14).Value = Стр.А11;
Лист.Cells(i,15).NumberFormat = "@";
Лист.Cells(i,15).Value = Стр.KZT;
Лист.Cells(i,16).NumberFormat = "############0,00";
Лист.Cells(i,16).Value = Стр.Сумма;
Лист.Cells(i,17).NumberFormat = "@";
Лист.Cells(i,17).Value = Стр.ДатаВремя;
Лист.Cells(i,18).NumberFormat = "@";
Лист.Cells(i,18).Value = Стр.СчетУС;
Лист.Cells(i,19).NumberFormat = "@";
Лист.Cells(i,19).Value = Стр.КорСчетУС;
Лист.Cells(i,20).NumberFormat = "@";
Лист.Cells(i,20).Value = Стр.ТипДанных;
КонецЦикла;
Эксель.Visible = true;
Лист = 0;
Книга = 0;
Эксель = 0;
КонецПроцедуры


Выгрузка в строке

Лист.Cells(i,15).NumberFormat = "@";
Лист.Cells(i,15).Value = Стр.KZT;

LexaK

Стр.KZT; - это что? Валюта?
попробуйте явно передать в Ексель наименование, примерно так

Лист.Cells(i,15).NumberFormat = "@";
Лист.Cells(i,15).Value = Стр.KZT.Наименование;

если помогло нажмите: Спасибо!

Абылайхан

Цитата: LexaK от 12 мар 2015, 10:09
Стр.KZT; - это что? Валюта?
попробуйте явно передать в Ексель наименование, примерно так

Лист.Cells(i,15).NumberFormat = "@";
Лист.Cells(i,15).Value = Стр.KZT.Наименование;


Да это валюта, попробовал выдает ошибку

{Обработка.ВыгрузкаДанных.Форма.Форма.Форма(1672)}: Значение не является значением объектного типа (Наименование)
Лист.Cells(i,15).Value = Стр.KZT.Наименование;

LexaK

посмотрите у себя в базе, в конфигураторе как называется Реквизит в котором хранится имя вашей валюты,
вы же не пишете какая у вас конфигурация...

и/или смотрите запрос который вашу ТЗ формирует, что это за поле KZT (валюта Казахстана?), его тип.

тогда сразу так пишите


Лист.Cells(i,15).NumberFormat = "@";
Лист.Cells(i,15).Value = "Тенге";

если помогло нажмите: Спасибо!

Теги:

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

Рейтинг@Mail.ru

Поиск