![]() |
|
выгрузка в ексель дает ошибку Произошла исключительная ситуация (0x800a03ec) | ☑ | ||
---|---|---|---|---|
0
koketka
21.01.13
✎
13:47
|
Произошла исключительная ситуация (0x800a03ec)
|
|||
1
koketka
21.01.13
✎
13:47
|
Процедура Отчет(ТабДок, ДатаВыгрузки, СчетВыгрузки) Экспорт
// Попытка Попытка // Загрузка объекта Microsoft Excel Состояние("Выгрузка данных из 1С в Microsoft Excel..."); ExcelПриложение = Новый COMОбъект("Excel.Application"); Исключение Сообщить("Ошибка при запуске Microsoft Excel." + Символы.ПС + ОписаниеОшибки(), СтатусСообщения.Внимание); Возврат; КонецПопытки; // Создадим книгу, по умолчанию в ней уже есть листы Книга = ExcelПриложение.WorkBooks.Add(); // Используем первый лист книги Excel ТекЛист = Книга.WorkSheets(1); Макет = ВнешняяОбработкаОбъект.ПолучитьМакет("Отчет"); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ХозрасчетныйОстатки.Счет, | ХозрасчетныйОстатки.Организация, | ХозрасчетныйОстатки.Валюта, | ХозрасчетныйОстатки.Подразделение, | ХозрасчетныйОстатки.Номенклатура, | ХозрасчетныйОстатки.Склад, | ХозрасчетныйОстатки.СуммаОстатокДт, | ХозрасчетныйОстатки.СуммаОстатокКт, | ХозрасчетныйОстатки.ВалютнаяСуммаОстатокДт, | ХозрасчетныйОстатки.ВалютнаяСуммаОстатокКт, | ХозрасчетныйОстатки.КоличествоОстатокДт, | ХозрасчетныйОстатки.КоличествоОстатокКт, | ХозрасчетныйОстатки.Субконто1.Ссылка КАК Субконто1, | ХозрасчетныйОстатки.Субконто2.Ссылка КАК Субконто2, | ХозрасчетныйОстатки.Субконто3.Ссылка КАК Субконто3, | ХозрасчетныйОстатки.Субконто4.Ссылка КАК Субконто4 |ИЗ | РегистрБухгалтерии.Хозрасчетный.Остатки(&ДатаВыгрузки, Счет = &СчетВыгрузки, , ) КАК ХозрасчетныйОстатки |ГДЕ | ХозрасчетныйОстатки.Организация = &Организация"; Запрос.УстановитьПараметр("ДатаВыгрузки", КонецДня(ДатаВыгрузки)); Запрос.УстановитьПараметр("СчетВыгрузки", СчетВыгрузки); Запрос.УстановитьПараметр("Организация", Справочники.Организации.НайтиПоКоду("00001")); Результат = Запрос.Выполнить(); ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок"); ОбластьПодвал = Макет.ПолучитьОбласть("Подвал"); ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы"); ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы"); ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали"); ТабДок.Очистить(); ТабДок.Вывести(ОбластьЗаголовок); ТабДок.Вывести(ОбластьШапкаТаблицы); ВыборкаДетали = Результат.Выбрать(); а = 0; Пока ВыборкаДетали.Следующий() Цикл а = а+1; ТекЛист.Cells(а, 2).Value = ВыборкаДетали.Счет; ТекЛист.Cells(а, 7).Value = ВыборкаДетали.Организация; ТекЛист.Cells(а, 8).Value = ВыборкаДетали.Валюта; ТекЛист.Cells(а, 9).Value = ВыборкаДетали.Подразделение; ТекЛист.Cells(а, 10).Value = ВыборкаДетали.СуммаОстатокДт; ТекЛист.Cells(а, 11).Value = ВыборкаДетали.СуммаОстатокКт; ТекЛист.Cells(а, 12).Value = ВыборкаДетали.ВалютнаяСуммаОстатокДт; ТекЛист.Cells(а, 13).Value = ВыборкаДетали.ВалютнаяСуммаОстатокКт; ТекЛист.Cells(а, 14).Value = ВыборкаДетали.КоличествоОстатокДт; ТекЛист.Cells(а, 15).Value = ВыборкаДетали.КоличествоОстатокКт; ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетали); Если Справочники.ТипВсеСсылки().СодержитТип(ТипЗнч(ВыборкаДетали.Субконто1)) = Истина Тогда ОбластьДетальныхЗаписей.Параметры.Субконто_1 = ВыборкаДетали.Субконто1.Код; ТекЛист.Cells(а, 3).Value = ВыборкаДетали.Субконто1.Код; ИначеЕсли Перечисления.ТипВсеСсылки().СодержитТип(ТипЗнч(ВыборкаДетали.Субконто1)) = Истина Тогда ОбластьДетальныхЗаписей.Параметры.Субконто_1 = ВыборкаДетали.Субконто1; ТекЛист.Cells(а, 3).Value = ВыборкаДетали.Субконто1; КонецЕсли; Если Справочники.ТипВсеСсылки().СодержитТип(ТипЗнч(ВыборкаДетали.Субконто2)) = Истина Тогда ОбластьДетальныхЗаписей.Параметры.Субконто_2 = ВыборкаДетали.Субконто2.Код; ТекЛист.Cells(а, 4).Value = ВыборкаДетали.Субконто2.Код; ИначеЕсли Перечисления.ТипВсеСсылки().СодержитТип(ТипЗнч(ВыборкаДетали.Субконто2)) = Истина Тогда ОбластьДетальныхЗаписей.Параметры.Субконто_2 = ВыборкаДетали.Субконто2; ТекЛист.Cells(а, 4).Value = ВыборкаДетали.Субконто2; КонецЕсли; Если Справочники.ТипВсеСсылки().СодержитТип(ТипЗнч(ВыборкаДетали.Субконто3)) = Истина Тогда ОбластьДетальныхЗаписей.Параметры.Субконто_3 = ВыборкаДетали.Субконто3.Код; ТекЛист.Cells(а, 5).Value = ВыборкаДетали.Субконто3.Код; ИначеЕсли Перечисления.ТипВсеСсылки().СодержитТип(ТипЗнч(ВыборкаДетали.Субконто3)) = Истина Тогда ОбластьДетальныхЗаписей.Параметры.Субконто_3 = ВыборкаДетали.Субконто3; ТекЛист.Cells(а, 5).Value = ВыборкаДетали.Субконто3; КонецЕсли; Если Справочники.ТипВсеСсылки().СодержитТип(ТипЗнч(ВыборкаДетали.Субконто4)) = Истина Тогда ОбластьДетальныхЗаписей.Параметры.Субконто_4 = ВыборкаДетали.Субконто4.Код; ТекЛист.Cells(а, 6).Value = ВыборкаДетали.Субконто4.Код; ИначеЕсли Перечисления.ТипВсеСсылки().СодержитТип(ТипЗнч(ВыборкаДетали.Субконто4)) = Истина Тогда ОбластьДетальныхЗаписей.Параметры.Субконто_4 = ВыборкаДетали.Субконто4 ; ТекЛист.Cells(а, 6).Value = ВыборкаДетали.Субконто4; КонецЕсли; ТабДок.Вывести(ОбластьДетальныхЗаписей); КонецЦикла; ТабДок.Вывести(ОбластьПодвалТаблицы); ТабДок.Вывести(ОбластьПодвал); Попытка Книга.SaveAs("d:\vo.xls"); Сообщить("d:\vo.xls Файл сохранен!"); Исключение Сообщить("d:\vo.xls Файл не сохранен!"); КонецПопытки; ExcelПриложение.Application.Quit(); КомандаСистемы("taskkill /F /IM excel.exe"); //КонецПопытки; // КонецПопытки; КонецПроцедуры |
|||
2
koketka
21.01.13
✎
14:44
|
неужели не у кого не было?
|
|||
3
koketka
21.01.13
✎
15:19
|
все дошло!
ТекЛист.Cells(а, 2).Value = Строка(ВыборкаДетали.Счет); и заработало |
|||
4
vmv
21.01.13
✎
15:33
|
только хотел написать
ТекЛист.Cells(а, 2).Value = ВыборкаДетали.Счет; и что ексель уже такой умный, что на лету конвертирует чужеродные типы данных?) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |