ActiveDocument

1. Satoshi_Nakamoto 23.08.21 09:28 Сейчас в теме
Доброго времени суток

Есть давний Босс, которого я не могу победить. Хочу вывести на печать шаблон макета с типом ActiveDocument, но никак не получается. Пытаюсь адаптировать этот код на форуме (https://infostart.ru/1c/articles/270277/). Помогите разобраться с темой начинающему программисту. Спасибо за помощь
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. retr0 23.08.21 09:38 Сейчас в теме
(1)
Хочу вывести на печать шаблон макета с типом ActiveDocument, но никак не получается. Пытаюсь адаптировать этот код на форуме

Сделайте пожалуйста в внешнем обработчике код

- Слушай, а ловко ты это придумал, я даже в начале не понял.
3. Satoshi_Nakamoto 23.08.21 09:39 Сейчас в теме
(2)
- Слушай, а ловко ты это придумал, я даже в начале не понял.


Я не заставляю не кого писать код
4. user925427 123 23.08.21 14:04 Сейчас в теме
(1) Что именно не получается?
5. Satoshi_Nakamoto 23.08.21 14:10 Сейчас в теме
(4)Просто обычный макет activedocument вывести на печать(чтобы просто любой простой шаблон вывел) во внешнем обработчике. В идеале: я работаю с 1C:ERP, на расширении поправляю документ, туда нужно добавить макет activedocument (mxl, и с двоичными данными разобрался, т.е. вывел на печать), чтобы на лету редактировать word документ. C Аctivedocument почему-то не получается, неделю мучаюсь
6. Satoshi_Nakamoto 23.08.21 14:18 Сейчас в теме
(4)Забыл еще сказать, что он в файловом режиме работает, а в сервере нет
8. user925427 123 23.08.21 14:28 Сейчас в теме
(6) Вот пример для передачи данных через временное хранилище - для случая, когда файловая система сервера недоступна на клиенте:
&НаСервере
Функция ПолучитьДанныеМакета()
АдресХранилища = Новый УникальныйИдентификатор();
Макет = ПолучитьОбщийМакет(ИмяТвоегоМакета);

ВременныйФайл = ПолучитьИмяВременногоФайла("docx");
Макет.Записать(ВременныйФайл);

Адрес = ПоместитьВоВременноеХранилище(Новый ДвоичныеДанные(ВременныйФайл), АдресХранилища);
УдалитьФайлы(ВременныйФайл);

Возврат Адрес;

КонецФункции
11. Satoshi_Nakamoto 23.08.21 14:35 Сейчас в теме
Вот у меня есть макет "word" в документе, есть команда 'ПечатьWord', команда расположена в форме. Вопрос код расположит в документе 1)модуль объекта, 2) модуль менеджера или у команды 3) открыть модуль команды.
7. user925427 123 23.08.21 14:24 Сейчас в теме
Всё верно. В упомянутой статье и расписано, что нужно сделать - передать имя файла, в который сохранён макет на сервере, с сервера на клиент. Затем, на клиенте, инициализировать COM-объект и делать с ним, что заблагорассудится.
9. Satoshi_Nakamoto 23.08.21 14:29 Сейчас в теме
(7)Я знаю, что все верно. Но я не понимаю куда код писать в модуль менеджера, модуль объекта?
10. user925427 123 23.08.21 14:31 Сейчас в теме
Если это печать документа и конфигурация на БСП, то в модуль менеджера, в процедуру Печать. Если это внешняя обработка, то в модуль объекта.
Satoshi_Nakamoto; +1 Ответить
12. Satoshi_Nakamoto 23.08.21 14:45 Сейчас в теме
Вот пример условно
Прикрепленные файлы:
ВнешнийОбработчикТестWord.epf
13. Satoshi_Nakamoto 23.08.21 14:55 Сейчас в теме
(12) При открытии ошибка выходит:
Прикрепленные файлы:
14. user925427 123 23.08.21 15:46 Сейчас в теме
(13) "ОбщийМодуль" замените на имя того модуля, в котором находится функция "ПолучитьМакет".
15. Satoshi_Nakamoto 24.08.21 06:49 Сейчас в теме
(14) Обратился к объекту, теперь пишет:
Прикрепленные файлы:
ВнешнийОбработчикТестWord.epf
16. user925427 123 24.08.21 09:21 Сейчас в теме
(15) Функция ПолучитьМакет является системной. Она позволяет получить макет по имени для какого-либо объекта конфигурации. Чтобы не возникало этой ошибки свою функцию нужно переименовать.Например, Satoshi_ПолучитьМакет. Вообще говоря, начинайте с вызова клиентской функции по кнопке из формы обработки. Она должна вызвать серверную функцию, которой уже будет доступен макет. Путаница с вызовом макета происходит потому, что Вы не определили место, где у Вас находится макет. <Объект>.ПолучитьМакет(<ИмяМакета/Макет>) получает макет объекта. Но макет может быть и общим. Если макет в обработке, то его нужно получать через Объект.ПолучитьМакет(<ИмяМакета/Макет>).
17. Satoshi_Nakamoto 24.08.21 11:19 Сейчас в теме
(16) Это я все уже перепробовал. Попробуйте это на обработчике написать столкнётесь с аналогичными ошибками.
18. user925427 123 24.08.21 11:50 Сейчас в теме
(17) В чём проблема сейчас? Функцию переименовали?
19. Satoshi_Nakamoto 24.08.21 12:12 Сейчас в теме
(18) 15 номер комментария, Обратился к объекту..., Прикреплен файл и фото.
20. Satoshi_Nakamoto 24.08.21 12:14 Сейчас в теме
(19)Функцию переименовал, но другая ошибка выходит, потом обратно исправил, чтобы много видов ошибок не делать.
22. Satoshi_Nakamoto 24.08.21 13:29 Сейчас в теме
(21)Это все тоже самое. Прямо скажу, вы сможете сами написать в обработчике без ошибок вывод на печать шаблона word-а?(Я вас не заставляю, можете не писать)
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот