Всем доброй ночи. Кто нить подключал внешнюю печатную форму с

макетом ворде? Все сделал а как подключить чёт застрял. До этого подключал на простом табличной доке. Так не работает.

8 ответов

32 просмотра

Ворд надо загрузить в макет ActiveDocument

Мне кажется тут проблема не в ворде

tyttui- Автор вопроса
Ilya
Мне кажется тут проблема не в ворде

Как правильно выводится вордовский макет? На печать.

у меня все договоры подключены так на зуп-ах. Там правда есть момент где формировать и где выводить на печать. (наКлиенте и наСервере)

tyttui- Автор вопроса
Эндыч, Андрей
у меня все договоры подключены так на зуп-ах. Там...

У тебя ворд макет и внешняя ПФ? Сможешь скинуть?

tyttui
У тебя ворд макет и внешняя ПФ? Сможешь скинуть?

1. описание ДобавитьКоманду(ТаблицаКоманд, "Трудовой договор срочный ", "Макет", "ВызовКлиентскогоМетода", Истина, ""); 2. Макет - шаблон word 3. в модуле формы обработки &НаСервере Функция ПолучитьМакетСервер() Возврат РеквизитФормыВЗначение("Объект").ПолучитьМакет("Макет"); КонецФункции &НаКлиенте Процедура Печать(ИдентификаторКоманды, МассивОбъектов) Экспорт Для Каждого договор Из МассивОбъектов Цикл Данные = ПолучитьДанные(договор); //получает данные по сотруднику Если данные <> Неопределено Тогда Word = Новый COMОбъект("Word.Application"); Макет = ПолучитьМакетСервер(); временныйПуть = КаталогВременныхФайлов(); имяВременногоФайла = временныйПуть + "gph.doc"; Макет.Записать(имяВременногоФайла); ТекДок = Word.Documents.ADD(имяВременногоФайла); ТекДок.Variables("НомерТД").Value=Данные.НомерТД; ТекДок.Variables("ДатаТД").Value=Данные.ДатаТД; ТекДок.Fields.Update(); Word.ActiveWindow.View.ShowFieldCodes = False; Word.Visible=Истина; ПередатьФокусВводаВWord(Word);// КонецЕсли; КонецЦикла; КонецПроцедуры &НаКлиенте Процедура ПередатьФокусВводаВWord(word) Перем wdWindowStateNormal; Перем wdWindowStateMinimize; Перем wdWindowStateMaximize; wdWindowStateNormal = 0; wdWindowStateMaximize = 1; wdWindowStateMinimize = 2; Попытка word.Visible = Истина; //Сворачиваем окно, затем разворачиваем, что приводит к его активизации Если word.WindowState = wdWindowStateNormal Тогда word.WindowState = wdWindowStateMinimize; word.WindowState = wdWindowStateNormal; Иначе word.WindowState = wdWindowStateMinimize; word.WindowState = wdWindowStateMaximize; КонецЕсли; Исключение КонецПопытки; КонецПроцедуры

tyttui- Автор вопроса
Эндыч, Андрей
1. описание ДобавитьКоманду(ТаблицаКоманд, "Трудов...

я вот так делал Данные = ПолучитьДанные(СсылкаНаОбъект.Сотрудники.Найти(Сотрудник,"Сотрудник")); Договор=ПолучитьМакет("ДоговорСрочный"); // Получить объект из макета. MSWord = Договор.Получить(); Попытка Документ = MSWord.Application.Documents(1); Документ.Activate(); Для Каждого Элемент ИЗ Данные Цикл Если СтрДлина(Строка(Элемент.Значение)) > 180 Тогда СтрокаВставки = Строка(Элемент.Значение); Пока СтрДлина(СтрокаВставки)>180 Цикл Строка = Лев(СтрокаВставки, 180); СтрокаВставки = СтрЗаменить(СтрокаВставки, Строка, ""); Строка = Строка + "<" + Элемент.Ключ + ">"; Замена = Документ.Content.Find; Замена.Execute("<" + Элемент.Ключ + ">", Истина, Истина, Ложь, Ложь, Ложь, Истина, , , СтрокаВставки, 2); КонецЦикла; Продолжить; КонецЕсли; Замена = Документ.Content.Find; Замена.Execute("<" + Элемент.Ключ + ">", Истина, Истина, Ложь, Ложь, Ложь, Истина, , , Строка(Элемент.Значение), 2); КонецЦикла; MSWord.Application.Visible = Истина; MSWord.Activate(); Исключение // Если произойдет ошибка, выводятся данные об ошибке, и объект закрывается. Сообщение = Новый СообщениеПользователю(); Сообщение.Текст = ОписаниеОшибки(); Сообщение.Сообщить(); MSWord.Application.Quit(); КонецПопытки;

Похожие вопросы

Обсуждают сегодня

Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
сделал сайт, прикрутил в боте сайт, и виджет логина. как автоматически логинить пользователя в аккаунт(телеграм), при входе с бота?
Александра Чернивецкая
5
Объясните, пожалуйста, почему компилятор ругается на использование в условии неинициализированной переменной: int x; Task.Run(async () => { x = await somefunc(); }).Wait...
Александр
5
Ребят, подскажите, пожалуйста, почему в префиксе к ассетам, которые генерируются через фильтр | theme в шаблоне, стал вдруг появляться index.php? Вот так выглядит ссылка на а...
Виталий
1
Всем привет. Ребята, подскажите, пожалуйста. у ботов есть ограничение на отправку сообщений - 30 сообщений в секунду, эти ограничения накладываются на все сообщения? или на со...
Artem Stormageddon
4
Блин, ребята, сори за тупые вопросы. А можно ли как-то открыть вебапку по нажатию на кнопку в меню(которое появляется слева, команды)?
Artem Stormageddon
3
а плаксы из-под питона умеют только в комфортных условиях что-то выдавить из себя?)
Lencore
9
Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
13
Это может быть все-таки не флудвейт? у меня ботфазер принимает изменения и отображает даже что они изменились, на видео видно что он прислал якобы уже измененное описание, н...
OVERLINK
13
Коллеги, может знает кто, можно ли цвет бейджа счётчика в BackendMenu менять без бубнов?
Alex Blaze
3
Карта сайта