КА, расширение. Клиент-сервер. Создал кнопку, при нажатии по ней, должен появляться просто вордовский документ без всяких изменений. Подводный камень - на сервере нет ворда. Собрал макет на сервере, поместил во временное хранилище и открыл его на клиенте. В толстом клиенте это все хорошо работает, а в тонком клиенте и в веб-клиенте, не открывается - вылетает ошибка - Отсутствует отображение для типа 'ОболочкаActiveDocument'. Подскажите пожалуйста, как решить? Ниже код и текст ошибки из конфигуратора

&НаКлиенте
Процедура Расш1_СправкаСотрудникуПосле(Команда)

 МакетДок = ПолучитьСтруктуруДанных();
 МакетФайла = ПолучитьИзВременногоХранилища(МакетДок);

 Попытка

  Word = МакетФайла.Получить();
  Word.Application.Visible = Ложь;
  Doc = Word.Application.Documents(1);
  Doc.Activate();
  Word.Application.Visible = Истина;

 Исключение

  Сообщить("Ошибка при получении макета Word, установите приложение Microsoft Word");

 КонецПопытки;

КонецПроцедуры

&НаСервере
Функция ПолучитьСтруктуруДанных() Экспорт

 Макет = Документы.эсЗаданиеСотруднику.ПолучитьМакет("Расш1_МакетWord");
 Возврат ПоместитьВоВременноеХранилище(Макет);

КонецФункции

Текст ошибки:
Ошибка при вызове метода контекста (ПолучитьИзВременногоХранилища)
{КнопкаСотруднику Документ.эсЗаданиеСотруднику.Форма.ФормаДокумента.Форма(43)}: МакетФайла = ПолучитьИзВременногоХранилища(МакетДок);
по причине:
Ошибка получения значения из временного хранилища
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства 'response':
 форма: Элемент
 имя: {http://v8.1c.ru/8.2/mngsrv/ws}response
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа 'ОболочкаActiveDocument'
Ошибка получения значения из временного хранилища
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства 'response':
 форма: Элемент
 имя: {http://v8.1c.ru/8.2/mngsrv/ws}response
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа 'ОболочкаActiveDocument'
---
Файл = МакетФайла.Записать() - это сохранили, а как его еще запустить?
при записи нужно указать полный путь с именем файла. И уже по имени запускать.

См. пример во вложении.
---
создать макет не как ActiveDocument, а как ДвоичныеДанные. Передать на клиент, сохранить и открывать через COM. Это для тонкого клиента.
Для web клиента не знаю, там word не открыть через COM.

PS. Если нужно только открыть(показать) файл, то и подключение по COM не требуется, достаточно сохраненный файл запустить.
---
(2)Т.е. вместо ActiveDocument просто Выбираю Двоичные данные, но сам файл выбираю тот же docx, правильно понимаю? И на клиенте тогда так нужно сделать?

&НаКлиенте
Процедура Расш1_СправкаСотрудникуПосле(Команда)

МакетДок = ПолучитьСтруктуруДанных();
МакетФайла = ПолучитьИзВременногоХранилища(МакетДок);
Файл = МакетФайла.Записать() - это сохранили, а как его еще запустить?
---
Файл = МакетФайла.Записать() - это сохранили, а как его еще запустить?
при записи нужно указать полный путь с именем файла. И уже по имени запускать.

См. пример во вложении.
---
(4)Скажите пожалуйста, если я файл сохраню на сервер, то соответственно и путь указывать полностью к файлу на сервере, правильно понимаю? Т.е. если на клиенте он у меня сохранен в C:\Users\Desktop\Инструкция.docx то указываю этот путь, а если его сохраню на сервере, чтобы можно было открыть с любой другой машины, то тогда указывать - \\Server\Share_doc\Инструкция.docx?
---
если я файл сохраню на сервер, то соответственно и путь указывать полностью к файлу на сервере, правильно понимаю?
Нет. Двоичные данные передаются на клиент и сохраняются в файл на клиенте. Указывать расположение файла относительно клиента.

а если его сохраню на сервере, чтобы можно было открыть с любой другой машины, то тогда указывать - \\Server\Share_doc\Инструкция.docx?
А вот это каким боком к теме? Ну в принципе можете сохранять и по сети, если прав хватит.
---
Понял, благодарю Вас!) Извините за глупый вопрос, где-то можно что-то подобное подсмотреть в типовых или где-то почитать как это правильно делать, чтобы в дальнейшем подобные глупые вопросы не задавать. Перерыл много тем тут и ворд без com и ворд с com и на наглийском тут на форме и на русском и везде целые портянки кода, а Вы это сделали очень коротко, вот и вопрос - где что посмотреть, может в каких общих модулях в конфигурациях с БСП, потому что там смотрел если не ошибаюсь ОМ УправлениниеПечатью.ИнициализироватьПечатнуюФорму() и не увидел подобного решения
(6)
---
"опыт сын ошибок трудных" (с) А.С.Пушкин
запоминайте что получилось, смотрите тематическую литературу, смотрите код в тех же типовых и пробуйте сами разобраться. Если что-то не получается спрашивайте на форуме, но с конкретикой, что не получается.
Со временем количество перейдет в качество.
Весь код в обработке я составил по памяти и используя СП.
Вот, рекомендую почаще обращаться к СП (синтакс-помощник)
---
(8)Уррра!) Спасибо Вам огромное, на тонком все работает! сейчас будем на живой базе пробовать на вебе!) Но в СП, прочитал, что нужно будет еще добавить "НачатьУстановкуРасширенияРаботыСФайлами()" и "НачатьПодключениеРасширенияРаботыСФайлами(Оповещение)" там уже посмотрим!)
---
Если не затруднит, можете посмотреть тему ВЕБ-клиент,Ошибка при вызове метода контекста (КаталогВременныхФайловАсинх) вчера весь день с ней воевал, вроде бы все делаю по СП, но все равно ошибки.Если будет время, посмотрите пожалуйста, буду очень благодарен!
(8)