Не сохраняется стиль макета DOC в двоичных данных
Всем привет!
Делаю ВПФ печати в word из ЗУП 3.1 используя макет с типом "Двоичные данные" в ЗУП 3.1, делаю вордовский документ с красивым оформлением Times New Roman (Основной стиль), запихиваю в макет 1С (тип:Двоичные данные).
Печатаю и получаю свою форму, только Основной стиль меняется на Calibry, места где не было вообще никакого стиля остаются Times New Roman, отступы где-то слетают, где-то нет.
В отладке проверял, создается документ в папке Temp он имеет мое оформление, но итоговый документ создается видимо с оформлением по умолчанию.
В своей обработке использую типовые механизмы:
ВызовКлиентскогоМетода
Получаем макет из двоичных данных
// Получаем печатную форму из макета
Как мне в итоге получить макет с сохранением первоначального оформления, который я "положил" в макет обработки с типом "Двоичные данные"?
Делаю ВПФ печати в word из ЗУП 3.1 используя макет с типом "Двоичные данные" в ЗУП 3.1, делаю вордовский документ с красивым оформлением Times New Roman (Основной стиль), запихиваю в макет 1С (тип:Двоичные данные).
Печатаю и получаю свою форму, только Основной стиль меняется на Calibry, места где не было вообще никакого стиля остаются Times New Roman, отступы где-то слетают, где-то нет.
В отладке проверял, создается документ в папке Temp он имеет мое оформление, но итоговый документ создается видимо с оформлением по умолчанию.
В своей обработке использую типовые механизмы:
ВызовКлиентскогоМетода
&НаКлиенте
Процедура Печать(ИдентификаторКоманды,МассивДокументов) Экспорт
ДвоичныеДанные = ПользовательскийМакет(); // Получаю макет в виде двоичных данных на сервере
МакетОбработки = УправлениеПечатьюКлиент.ИнициализироватьМакетОфисногоДокумента(ДвоичныеДанные, "DOC", "МакетWord"); //
Получаем макет из двоичных данных
ПечатнаяФорма = УправлениеПечатьюКлиент.ИнициализироватьПечатнуюФорму("DOC", МакетОбработки.НастройкиСтраницыМакета);
// Получаем печатную форму из макета
ОписаниеОбластей = ПолучитьОписаниеОбластейМакетаОфисногоДокумента(); // Получаю области макета
ДанныеОбъекта = ПолучитьДанныеОбъекта(МассивДокументов); // Получаем данные по объекту печати
ОбластьМакета = УправлениеПечатьюКлиент.ОбластьМакета(МакетОбработки,ОписаниеОбластей.Тело);
УправлениеПечатьюКлиент.ПрисоединитьОбластьИЗаполнитьПараметры(ПечатнаяФорма,ОбластьМакета,ДанныеОбъекта,Ложь);
УправлениеПечатьюКлиент.ПоказатьДокумент(ПечатнаяФорма);
УправлениеПечатьюКлиент.ОчиститьСсылки(ПечатнаяФорма, Ложь); // Чистим ссылки
УправлениеПечатьюКлиент.ОчиститьСсылки(МакетОбработки); // Чистим ссылки
КонецПроцедуры
ПоказатьКак мне в итоге получить макет с сохранением первоначального оформления, который я "положил" в макет обработки с типом "Двоичные данные"?
По теме из базы знаний
Найденные решения
Решение: в макете .doc перед тем как его загружать в макет 1С с типом "двоичные данные" нужно весь текст привести к единому формату: я создал свой собственный стиль, всему документу присвоил данный стиль, добавил условное форматирование (где жирным курсивом, где по центру, где по ширине и т.п.) и после этого сохранил в макет 1С. Все заработало, проверял на разных ПК с версиями Word старше 2010 г.
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
сегодня весь день этой задачей занимаюсь, удалось только выяснить, что это как то завязано на стилях в Word-е. Есть ВПФ где отрабатывает нормально и форматирование и стили сохраняются, делаю на основе этой же обработке свою, запихиваю свой макет, и бац, не работает. Есть у кого идеи, как побороть?
Решение: в макете .doc перед тем как его загружать в макет 1С с типом "двоичные данные" нужно весь текст привести к единому формату: я создал свой собственный стиль, всему документу присвоил данный стиль, добавил условное форматирование (где жирным курсивом, где по центру, где по ширине и т.п.) и после этого сохранил в макет 1С. Все заработало, проверял на разных ПК с версиями Word старше 2010 г.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот