Имя: Пароль:
1C
1С v8
Как в макет вставить эксель файл
0 filipp
 
15.12.15
12:40
На макете создал область макета с именем- ОбластьЛистаЭкселя.
Далее
Таблица - Рисунок - Вставить объект
Создаю объект.  Создать новый и в качестве объект выбираю  - Лист Microsoft Office Excel.
Имя объекта  - Объект

В модуле
хЭксель = "D:\list.xls"; // Состоит из одного листа но в нем картинки, выноски и т.д. Создает пользователь сам и что в нем неясно(т.е. на листе может быть все , что угодно).

ТабличныйДокумент = Новый ТабличныйДокумент;
ТабличныйДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Портрет;
ТабличныйДокумент.АвтоМасштаб = Истина;
ТабличныйДокумент.ПолеСверху = 5;
ТабличныйДокумент.ПолеСнизу = 10;

ОбластьКартинкиСтрока = Макет.ПолучитьОбласть("ОбластьЛистаЭкселя");
                
Рисунок= ОбластьКартинкиСтрока.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Объект);
                            
Эксель = Новый COMОбъект("Excel.Application");
Книга = Эксель.WorkBooks.Open(ПутьДоЛистаЭкселя);
Лист = Книга.WorkSheets(1);
Рисунок.Объект = Лист;
Эксель.Application.Quit();
ТабличныйДокумент.Вывести(ОбластьКартинкиСтрока);

При запуске выдает ошибку "Поле объекта недоступно для записи(Объект)". Что я делаю не так?
1 cw014
 
15.12.15
12:46
В какой строке?
2 cw014
 
15.12.15
12:47
РисунокТабличногоДокумента (SpreadsheetDocumentDrawing)
Объект (Object)
Использование:

Только чтение.
Описание:

Тип: Произвольный.
Содержит объект, содержащийся в рисунке.

Доступность:

Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение(клиент), мобильное приложение(сервер).
Примечание:

Применимо только для рисунков типа Объект, Диаграмма, ДиаграммаГанта, СводнаяДиаграмма, Дендрограмма и ГеографическаяСхема.


Вот что ты делаешь не так
3 filipp
 
15.12.15
12:47
Что то не так
Рисунок.Объект = Лист;
Ошибка "Поле объекта недоступно для записи(Объект)"
4 filipp
 
15.12.15
12:48
Тогда как вставить лист экселя в макет?
5 cw014
 
15.12.15
12:48
(3) в (2) Читай справку внимательней. Используй "Значение"
6 filipp
 
15.12.15
13:23
я совсем тупой.
пробовал так
Рисунок.Значение = Лист;

и так
Рисунок.СодержитЗначение  = Лист;

Ошибка одна и та же
"Поле объекта недоступно для записи"
7 cw014
 
15.12.15
13:25
Что у тебя в "Рисунок.Объект" находится?
8 filipp
 
15.12.15
13:39
Не могу установить точку останов, так как это внешняя печатная форма в 8.3
9 filipp
 
15.12.15
14:02
Смоделировал на 8.2
"Рисунок.Объект" пишет неопределено
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший