Имя: Пароль:
1C
1С v8
Масштабирование картинки в поле табличного документа и выгрузка в Эксель
0 nemoxp
 
01.12.15
13:17
Формирую отчеты, группирую их в документе Эксель на разных страницах. Сперва сохраняю в отдельные файлы, а потом сливаю в один на разных страницах. Отчет содержит картинки, устанавливаю АвтоРазмер, чтобы картинки не были вытянутыми. При добавлении страницы пишет ошибку:

{Форма.ФормаОтчета.Форма(324)}: Ошибка при вызове метода контекста (Add)
                ОбщаяКнига = Эксл.WorkBooks.Add(ВрФайл);
по причине:
Произошла исключительная ситуация (Microsoft Office Excel): Невозможно получить свойство Add класса Workbooks



Это из-за АвтоРазмера. Если законспектировать данную строку кода, то все ОК. Но и без него нельзя. Как решить проблему?


Вот кусок кода добавления картинки в табличный документ:


РисунокТабличногоДокумента = Результат.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка);
РисунокТабличногоДокумента.ЦветЛинии = Новый Цвет(204, 192, 133);
// АвтоРазмер - то из-за чего возникает ошибка при выгрузки в Эксель
РисунокТабличногоДокумента.РазмерКартинки = РазмерКартинки.АвтоРазмер;

Индекс = Результат.Рисунки.Индекс(РисунокТабличногоДокумента);

ИмяФайла = КаталогВременныхФайлов() + "\" + Код + ".jpeg";
ВыборкаКартинки.Хранилище.Получить().Записать(ИмяФайла);
Картинка = Новый Картинка(ИмяФайла);

Результат.Рисунки[Индекс].Картинка = Картинка;


Вот код сохранения в эксель и добавления страницы Эксель (там комментарий строки с ошибкой):


///////    Сохраняем страницу
Результат.Записать(ВрФайл, ТипФайлаТабличногоДокумента.XLS);

Если ОбщаяКнига = Неопределено Тогда    /////    Создаём новую книгу, в которую будем сшивать страницы
    ОбщаяКнига = Эксл.WorkBooks.Add(ВрФайл); // место на что ругается
    ОбщаяКнига.Windows(1).DisplayWorkbookTabs = Истина;
    ОбщаяКнига.Windows(1).TabRatio = 0.35;
Иначе    ////    копируем в новую книгу:
    ТКнига = Эксл.WorkBooks.Add(ВрФайл);
    ТКнига.Sheets(1).Copy(, ОбщаяКнига.Sheets(ОбщаяКнига.Sheets.Count));
    ТКнига.Close();
КонецЕсли;
1 nemoxp
 
01.12.15
15:12
Форум! Люди! Есть кто живой?
2 nemoxp
 
02.12.15
10:04
РЫЖИЙ АПП
3 ЧеловекДуши
 
02.12.15
10:36
(2) Попробуй сохранить файл Ексель средствами 1С :)
4 ЧеловекДуши
 
02.12.15
10:36
Чем твой способ лучше?
5 ЧеловекДуши
 
02.12.15
10:37
А если надо по странично в одном файле, то уже через ОЛЕ (КОМ) соединение лепишь из полученных екселек в один файл :)
6 nemoxp
 
02.12.15
11:23
(5) А у меня не то же самое? Почему авторазмер не работает? Стоит его включить и файл Эксель сохраняется битый.
Закон Брукера: Даже маленькая практика стоит большой теории.