Обработка печатной формы WORD клиент-сервер УФ

14.03.18

Разработка - Инструментарий разработчика

Это моя первая статья на данном портале, но попытаюсь изложить все понятно и подробно. Долгое время у меня заняло создание такой вот внешней обработки. Есть очень много примеров, как сделать подобное на неуправляемых формах (2.0) и очень мало информации касательно управляемых(3.0), по крайней мере я многого найти не смог в доступе. Создание подобное обработки выглядит вполне несложно, если производить все действия на сервере, как это было с 2.0, но в нашем случае необходимо инициализировать открытие документа на клиенте, чему сильно мешает отсутствие возможности передать макет Active Document с сервера на клиент.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
: Печатная форма WORD 8.3 управляемые формы клиент-сервер
.epf 23,15Kb
116
116 Скачать (2 SM) Купить за 2 150 руб.

Итак, пойдем по порядку. Подобная информация уже есть в сети, но для полноты картины кратко разъясню регистрацию обработки в системе:

1. Открываем модуль объекта обработки и создаем там Функцию СведенияОВнешнейОбработке() (естественно экспортную):

 
  СведенияОВнешнейОбработке()

Как мы видим, использовать будем ВызовКлиентскогоМетода, по скольку открыть файл нужно будет на компьютере пользователя.

Далее понадобится создать еще две процедуры здесь же:

2. Функция добавления команды, которую мы вызываем ранее(просто, чтобы все было визуально разделено и не награмождалось скопом в одной функции):

 
 ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "")

3. И функция по созданию этой самой таблицы команд:

 
 ПолучитьТаблицуКоманд()

(Из комментариев можно подробней понять, для чего используется тот или иной параметр-поле данной таблицы)

На этом настройка регистрации внешней обработки в нужной вам конфигурации закончена.

Далее. Самое интересное: создание, заполнение и вывод макета клиенту.

Первое, что нам необходимо сделать, это создать макет нашего документа(Изображение 3). Макет понадобится двоичный, т.к. обычный мы на клиент не передадим(как я и говорил ранее). Заменяем нужные данные в шаблоне, перед загрузкой в обработку, "Параметрами", у меня они выглядят так, на примере: "{Сотрудник}"(кавычки не учитывать), после чего загружаем в Обработку-Макет.

Теперь в модуле формы создаем процедуру, которая будет вызвана при обращении к печати именно в таком виде(за исключением содержимого, заполнять можете как вам угодно), процедура так же должна быть экспортной и на клиенте, так как вызывается из конфигурации и выполнение назначено на клиентской стороне:

 
 Печать(ИдентификаторКоманды, МассивОбъектов)

Макет я собираю и вызываю в отдельной процедуре, обязательно на клиенте. 

 
 СобратьМакет(СсылкаНаОбъект)

Для сбора макета нам понадобится получить этот самый макет уже с сервера. Передаю я его через временное хранилище:

 
 ПолучитьМакетСервер(ИмяМакета)

Далее нужно получить данные для заполнения макета, естественно на сервере, по скольку может понадобиться обратиться к сторонним регистрам и справочникам, если нет, то можно выполнить и на клиенте, получив ссылку на интересующий нас объект:

 
 ПолучитьДанные(СсылкаНаОбъект)

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

На этом завершается наше создание. Вы можете скачать обработку в готовом виде, в ней также реализован запуск через форму обработки, то есть с помощью открытия обработки без регистрации ее в конфигурации. Надеюсь, моя статья многим поможет и окажется полезной. Спасибо большое за внимание!

Обработка клиент-сервер печатная форма WORD word печатная форма word 8.3 Печатная форма WORD 8.3 управляемые формы клиент-сервер УФ управляемые формы

См. также

Инструментарий разработчика Роли и права Запросы СКД Программист Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Конфигурации 1cv8 Платные (руб)

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

10000 руб.

02.09.2020    151388    833    397    

841

Инструментарий разработчика Программист Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Инструмент для написания и отладки кода в режиме «1С:Предприятие». Представляет собой консоль кода с возможностью пошаговой отладки, просмотра значений переменных любых типов, использования процедур и функций, просмотра стека вызовов, вычисления произвольных выражений на встроенном языке в контексте точки останова, синтаксического контроля и остановки по ошибке. В консоли используется удобный редактор кода с подсветкой, контекстной подсказкой, возможностью вызова конструкторов запроса и форматной строки.

9360 руб.

17.05.2024    20305    58    42    

106

Инструментарий разработчика Программист Платформа 1С v8.3 Платные (руб)

OneRPA - платформа роботизации рутинных операций, в основе которой лежит платформа 1С:Предприятие. Данная платформа позволяет использовать современные технологии роботизации, не теряя при этом наработки, которые были созданы в ходе автоматизации. При этом платформа роботизации сохраняет все преимущества платформы 1С: гибкость, кроссплатформенность, мобильный и Web доступ, простоту расширения. Ну и конечно же роботы создаются и сопровождаются простыми специалистами 1С, при этом не обязательно программистами. Self hosted версия

300000 руб.

03.03.2021    14165    12    27    

36

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Платформа 1С v8.3 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP и т.д.). Поддерживаются управляемые и обычные формы. Может выполнять свертку сразу нескольких баз данных и выполнять их автоматически без непосредственного участия пользователя.

6900 руб.

20.08.2024    3804    22    6    

36

Пакетная печать Печатные формы Инструментарий разработчика Программист Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:Конвертация данных 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

Инструмент, позволяющий абсолютно по-новому взглянуть на процесс разработки печатных форм. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и "прозрачность" разработки, а также навести порядок в многообразии корпоративных печатных форм.

18000 руб.

06.10.2023    13964    35    7    

69

Инструменты администратора БД Инструментарий разработчика Роли и права Программист Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

10000 руб.

10.11.2023    9049    32    10    

56

SALE! %

Инструментарий разработчика Инструменты администратора БД Системный администратор Программист Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

Универсальный инструмент программиста для администрирования конфигураций. Сборник наиболее часто используемых обработок под единым интерфейсом.

4800 3840 руб.

14.01.2013    185287    1126    0    

899

Инструментарий разработчика Программист 8.3.14 1С:Конвертация данных Россия Платные (руб)

Расширение для конфигурации “Конвертация данных 3”. Добавляет подсветку синтаксиса, детальную контекстную подсказку, глобальный поиск по коду.

15000 руб.

07.10.2021    16728    6    29    

42
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. maks_20 168 14.03.18 13:05 Сейчас в теме
Все бы ничего, но за 10 стартмани врядли кто-то захочет скачать, тем более, что почти весь код приведен в статье)))
5. LeoKeyn 53 14.03.18 16:30 Сейчас в теме
(1) Цену я поменял, а на счет все написано в статье, почти да. Но я долговато мучился с этой темой и надеюсь люди, которым статья поможет скачают ее в благодарность :-)
27. akey 5 01.02.19 15:59 Сейчас в теме
Добрый день
Есть некорректный код, см. ниже:

 

//Было
           ДокументЗаполнение = Документ.Application.Documents(1);
            // Получить объект, который будем использовать для поиска и замены.
            Для Каждого ЭлементДанных Из Данные Цикл
            Замена = Документ.Content.Find;//поиск параметра в макете
            Замена.Execute("{" + ЭлементДанных.Ключ + "}", Ложь, Истина, Ложь, Ложь, , Истина, , Ложь, ЭлементДанных.Значение, 2);//замена параметра на значение
            КонецЦикла;


//Стало
          ДокументЗаполнение = Документ.Application.Documents(1);
            // Получить объект, который будем использовать для поиска и замены.
            Для Каждого ЭлементДанных Из Данные Цикл
            Замена = ДокументЗаполнение.Content.Find;//поиск параметра в макете
            Замена.Execute("{" + ЭлементДанных.Ключ + "}", Ложь, Истина, Ложь, Ложь, , Истина, , Ложь, ЭлементДанных.Значение, 2);//замена параметра на значение
            КонецЦикла;

Показать
42. ilnar4888 19.08.20 09:53 Сейчас в теме
День добрый! Почему твоя обработка не работает, когда происходит вызов макета по условию. Вернее она работает, но когда вызываешь печатную форму из следующего документа.Он подставляет ранее открытый макет, а не ту которую необходимо вызвать.
&НаКлиенте
Процедура СобратьМакет(СсылкаНаОбъект)
	
	//Данные = ПолучитьДанные(СсылкаНаОбъект); //получить данные для заполнения макета по параметрам в виде структуры
	ИмяВременногоФайла = ПолучитьИмяВременногоФайла("doc");
	Адрес = ФормированиеДоговораПоШаблону(); // положить макет во временное хранилище на сервере и получить адрес на клиент
	
	Если Адрес = Неопределено Тогда
		Возврат;
	КонецЕсли;
	
	Макет = ПолучитьИзВременногоХранилища(Адрес); //получить макет из временного хранилища
	Макет.Записать(ИмяВременногоФайла); //создать документ на основе макета в TEMP клиента
	УдалитьИзВременногоХранилища(Адрес);
	Word = Новый COMОбъект("Word.Application"); //создаем COMОбъект
	Документ = Word.Documents.Open(ИмяВременногоФайла); //подключаем макет к созданному COMОбъект
	Попытка
		//ДокументЗаполнение = Документ.Application.Documents(1);
		//Получить объект, который будем использовать для поиска и замены.
		//Данные.Вставить("НомерДоговора", "125");
		//ДокументЗаполнение = Документ.Application.Documents(1);
		Выборка = ЗапросВМассиве(СсылкаНаОбъект)[0];
		Документ.Variables.Item("ДоговорНомер").Value= Выборка.ДоговорНомер;
		Документ.Variables.Item("ДоговорДата").Value= Формат(Выборка.ДоговорДата, "ДЛФ=ДД");
		Документ.Variables.Item("ДолжностьРуководителя").Value = Выборка.ДолжностьРуководителя;
		Документ.Variables.Item("Руководитель").Value= Выборка.Руководитель;
		Документ.Variables.Item("ДоверенностьРуководителя").Value= Выборка.ДоверенностьРуководителя;
		Документ.Variables.Item("Сотрудник").Value= Выборка.Сотрудник;  
		Документ.Variables.Item("Подразделение").Value= Выборка.Подразделение;
		//Документ.Variables.Item("ИспытательныйСрок").Value= Выборка.ИспытательныйСрок;
		Документ.Variables.Item("Должность").Value= Выборка.Должность;
		Документ.Variables.Item("ДатаПриема").Value= Формат(Выборка.ДатаПриема, "ДЛФ=ДД");
		Документ.Variables.Item("ВидЗанятости").Value= Выборка.ВидЗанятости;
		Документ.Variables.Item("ГодРожденияСотрудника").Value= Формат(Выборка.ГодРожденияСотрудника, "ДЛФ=ДД");
		Если Выборка.ДаНетНормированный = "Пятидневка" Тогда
			Документ.Variables.Item("ТекстГрафикРаботы1").Value= "4.1. Рабочий день Работника устанавливается:"; 
			Документ.Variables.Item("ТекстГрафикРаботы2").Value= "- нормальный рабочий день с 08.00 часов по 17.00 часов;"; 
			Документ.Variables.Item("ТекстГрафикРаботы3").Value= "- общая продолжительность нормального рабочего дня (смены) 8 часов;";
			Документ.Variables.Item("ТекстГрафикРаботы4").Value= "- количество рабочих дней в неделе 5 дней;"; 
			Документ.Variables.Item("ТекстГрафикРаботы5").Value= "- продолжительность рабочей недели 40 часов;"; 
			Документ.Variables.Item("ТекстГрафикРаботы6").Value= "- льготы по сокращению рабочего времени, если есть____---------____ (согласно ст. 92, 93,94 ТК РФ)."; 
			Документ.Variables.Item("ТекстГрафикРаботы7").Value= "4.2. Рабочий день Работника является: нормированным.";
		Иначе
			Документ.Variables.Item("ТекстГрафикРаботы1").Value= "4.1. Рабочий день Работника устанавливается:"; 
			Документ.Variables.Item("ТекстГрафикРаботы2").Value= "- сменный режим работы и суммированный учет рабочего времени с учетным периодом равным 1 (одному) кварталу;"; 
			Документ.Variables.Item("ТекстГрафикРаботы3").Value= "- продолжительность рабочей недели 40 часов;"; 
			Документ.Variables.Item("ТекстГрафикРаботы4").Value= "- время начала и окончания ежедневной работы устанавливается правилами внутреннего трудового распорядка и графиками сменности, утвержденными Работодателем;"; 
			Документ.Variables.Item("ТекстГрафикРаботы5").Value= "- льготы по сокращению рабочего времени, если есть -------------------- (согласно ст. 92, 93,94 ТК РФ)."; 
			Документ.Variables.Item("ТекстГрафикРаботы6").Value= "4.2. Рабочий день Работника является (указать нормированным, не нормированным, посменным): посменным.";
			Документ.Variables.Item("ТекстГрафикРаботы7").Value= " ";
		КонецЕсли;
		
		//Документ.Variables.Item("ДаНетНормированный").Value= Выборка.ДаНетНормированный;
		//Документ.Variables.Item("ЧасыДеньРабочие").Value= "";
		//Документ.Variables.Item("ЧасыНеделяРабочие").Value= "40";
		//Документ.Variables.Item("ДниРабочие").Value= "";
		//Документ.Variables.Item("СуммированныйУчет").Value= "";
		//Документ.Variables.Item("ДаНетНормированный").Value= "";
		
		Документ.Variables.Item("Оклад").Value= Выборка.Оклад;
		Документ.Variables.Item("ИОФРуководитель").Value= Выборка.ИОФРуководитель;
		Документ.Variables.Item("ГодРожденияСотрудника").Value= Выборка.ГодРожденияСотрудника;
		Документ.Variables.Item("Паспорт").Value= Выборка.Паспорт;
		Документ.Variables.Item("ИНН").Value= Выборка.ИНН;
		Документ.Variables.Item("НомерСтраховогоСвидетельства").Value= Выборка.НомерСтраховогоСвидетельства;
		Документ.Variables.Item("ДомашнийАдрес").Value= Выборка.ДомашнийАдрес;
		Документ.Variables.Item("ДатаРегистрацийДомашнийАдрес").Value= Формат(Выборка.ДатаРегистрацийДомашнийАдрес, "ДЛФ=ДД");
		Документ.Variables.Item("ИОФСотрудник").Value= Выборка.ИОФСотрудник; 
		
		Word.Application.Visible = Истина;//установить видимость документа
		Word.Activate();
		Документ.Fields.UpDate();//открыть документ пользователю
	Исключение
		// Если произойдет ошибка, выводятся данные об ошибке, и объект закрывается.
		Сообщение = Новый СообщениеПользователю();
		Сообщение.Текст = ОписаниеОшибки();
		Сообщение.Сообщить();    
		Word.Application.Quit();
	КонецПопытки;
КонецПроцедуры

&НаСервере
Функция ФормированиеДоговораПоШаблону()
	Если Объект.Документ.Должность.Наименование = "Водитель автомобиля-экспедитор" Тогда
		ИмяМакета = "Водитель";
	Иначе
		Если Объект.Документ.ГрафикРаботы.Наименование = "Пятидневка" Тогда
			ИмяМакета = "График52";
		Иначе
			ИмяМакета = "График22";
		КонецЕсли;
	КонецЕсли;
	//АктивныйДокумент = ПолучитьМакетСервер(ИмяМакета);
	АктивныйДокумент = ПолучитьМакетНаСервере(ИмяМакета);
	УИД = Новый УникальныйИдентификатор();
	Адрес = ПоместитьВоВременноеХранилище(АктивныйДокумент, УИД);
	//Адрес = ПоместитьВоВременноеХранилище(АктивныйДокумент);
	Возврат Адрес;
КонецФункции

&НаСервере
Функция ПолучитьМакетНаСервере(ИмяМакета) 
	ОбработкаОбъект = РеквизитФормыВЗначение("Объект");  // мы получаем именно объект
	Макет = ОбработкаОбъект.ПолучитьМакет(ИмяМакета);       // где "макет" - название вашего макета
	Возврат Макет;
КонецФункции
Показать
2. Lem0n 424 14.03.18 13:08 Сейчас в теме
"Это моя первая статья на данном портале..." и я решил начать свою деятельность здесь попыткой грабежа местных
Lacoste4life; klaus38; CyberCerber; +3 Ответить
3. khabibullin.tu 95 14.03.18 13:43 Сейчас в теме
Автор может быть вы не в курсе, но 10 стартмани это 400 рублей, просить за это 400 рублей ? WTF ?
4. LeoKeyn 53 14.03.18 14:45 Сейчас в теме
(3) Извините, не правильно понял курс) подправлю)
6. sytkosa 119 14.03.18 17:10 Сейчас в теме
(0) Автор как понимаю БСП никогда не смотрел с примерами. Полностью перепечатка оттуда. И самое интересное что в последних релизах БСП 1С отказалась от Word.Application теперь все делается через xml и сборку docx.
triviumfan; wonderboy; +2 Ответить
7. triviumfan 96 14.03.18 22:27 Сейчас в теме
(6)
отказалась от Word.Application, теперь все делается через xml и сборку docx
Спасибо, надо ознакомиться
8. LeoKeyn 53 15.03.18 13:55 Сейчас в теме
(6) Если честно не смотрел, но видимо воссоздал их путь:-) Что тоже считаю не плохо :-)
9. mcgoblin 3 09.07.18 16:26 Сейчас в теме
(8)Должен ли на сервере стоять ms office?
10. LeoKeyn 53 09.07.18 16:59 Сейчас в теме
(9) С этим вопросом изначально и была проблема. Нет не должен, только на машине клиента.
11. mcgoblin 3 09.07.18 20:20 Сейчас в теме
(10)А вот если , допустим на серваке поставят ворд, то будет ли у клиента формироваться документ. Не сталкивались с таким?
13. LeoKeyn 53 10.07.18 08:51 Сейчас в теме
(11) В случае, если у клиента не установлен microsoft office обработка работать не будет, так как документ формируется на стороне клиента при помощи com объекта. Если вам необходимо формировать документ именно на сервере, то можно процедуру
&НаКлиенте
Процедура СобратьМакет(СсылкаНаОбъект)

Перенести на сервер:
&НаСервере
Процедура СобратьМакет(СсылкаНаОбъект) 

и заменить
 Word.Application.Visible = Истина;//установить видимость документа
            Word.Activate();//открыть документ пользователю

НА
Документ.SaveAs(ПутьКСетевойПапкеКоторуюВидитНужныйКлиент)
16. mcgoblin 3 10.07.18 13:51 Сейчас в теме
(13) я имел ввиду, если не по вашей обработке, работать, а через стандартное создание всего на сервере, но в прочем это чисто теоретический вопрос. так как вчера по Вашему образу состряпал свой говнокод, собрал параметры и вставил их в макет и сегодня все заработало.
17. LeoKeyn 53 10.07.18 13:52 Сейчас в теме
(16) Рад, что вам помогло ^_^
18. LeoKeyn 53 10.07.18 13:53 Сейчас в теме
(16) Создать то все можно, а вот с передачей через сервер-клиент много проблем
12. mcgoblin 3 09.07.18 20:31 Сейчас в теме
(10) Выходит ошибка
{ВнешняяОбработка.БН_ПриказОПриёме.Форма.Форма.Форма(21)}: Ошибка при вызове метода контекста (ПолучитьИзВременногоХранилища): Ошибка получения значения из временного хранилища: Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.: Ошибка преобразования данных XDTO:
Запись значения свойства 'response':
форма: Элемент
имя: {http://v8.1c.ru/8.2/mngsrv/ws}response: Ошибка отображения типов:
Отсутствует отображение для типа 'ОболочкаActiveDocument'
14. LeoKeyn 53 10.07.18 08:53 Сейчас в теме
(12) Какого вида у вас макет? Должен быть не ActiveDocument, а двоичный макет
Первое, что нам необходимо сделать, это создать макет нашего документа(Изображение 3). Макет понадобится двоичный, т.к. обычный мы на клиент не передадим(как я и говорил ранее). Заменяем нужные данные в шаблоне, перед загрузкой в обработку, "Параметрами", у меня они выглядят так, на примере: "{Сотрудник}"(кавычки не учитывать), после чего загружаем в Обработку-Макет.
Прикрепленные файлы:
mcgoblin; +1 Ответить
15. mcgoblin 3 10.07.18 13:48 Сейчас в теме
(14)Да, ошибку я вчера заметил, забыл отписаться)
19. an1c 19.12.18 18:10 Сейчас в теме
(10) У меня ругается Процедура или функция с указанным именем не определена (ПолучитьИмяВременногоФайла)
Макет двоичный
Как решить проблему?
20. LeoKeyn 53 19.12.18 19:49 Сейчас в теме
(19) Значит вы не добавили процедуру или функцию "ПолучитьИмяВременногоФайла" =)
21. an1c 20.12.18 16:27 Сейчас в теме
(20) Вместо того, что бы смеяться помогли бы...
22. LeoKeyn 53 21.12.18 11:41 Сейчас в теме
(21) Я и не смеюсь, ошибка означает именно это. В статье все очень подробно описано, и если скопировать код, то обработка уже будет готова
24. an1c 26.12.18 09:19 Сейчас в теме
(22) Я и скопировала весь код... И пробовала разные директивы и &НаКлиенте и &НаСервере. Данная ошибка выходит именно когда на &НаКлиенте, что мне предпочтительнее. Буду разбираться дальше. Если у кого есть решение или варианты пишите.
25. LeoKeyn 53 27.12.18 09:39 Сейчас в теме
(24) Получите имя файла на сервере, и передайте на клиент
23. LeoKeyn 53 21.12.18 11:43 Сейчас в теме
(21) возможно вы выбрали не правильную директиву компиляции (&НаКлиенте, &НаСервере)
34. KidMo 02.07.19 16:19 Сейчас в теме
(6)
И самое интересное что в последних релизах БСП 1С отказалась от Word.Application теперь все делается через xml и сборку docx.


Киньте ссылку на оригинал, пожалуйста. Просмотрел доку и не нашел там подобного. Интересно, что Вы имели в виду.
35. LeoKeyn 53 02.07.19 17:00 Сейчас в теме
26. Elvina 5 25.01.19 23:30 Сейчас в теме
Подскажите, пожалуйста, как вставить картинку в ворд (программно), к каждому договору прикрепляется карта, если точек несколько, то несколько картинок с картой. Картинка находится в каталоге на диске.
В АктивДокумент получается картинку вставить, а вот как это сделать в случае с двоичными данными нигде не могу найти...
30. LeoKeyn 53 16.05.19 09:33 Сейчас в теме
(26) Не пробовал, не было задачи. Но должен работать тот же метод что и с АктивДокумент. Так как двоичный макет нужен для создания "Word = Новый COMОбъект("Word.Application");\\создаем COMОбъект" А с ним дальше делайте все что вам нужно по методам работы с COMОбъект
28. user979442 13.05.19 12:21 Сейчас в теме
На ЗУП корпе ругается:

{ОбщийМодуль.УправлениеПечатью.Модуль(1510)}: Метод объекта не обнаружен (Печать)
ВнешняяОбработкаОбъект.Печать(

Что может быть?
29. LeoKeyn 53 16.05.19 09:31 Сейчас в теме
(28) Скорее всего вы не сделали процедуру экспортной
31. user1199708 22.05.19 11:51 Сейчас в теме
Указал экспортную процедуру, все равно в ЗУП, не работает.
32. r.moschenskiy 23 14.06.19 15:04 Сейчас в теме
Если до этого в параметре команды Использование было указано "ВызовСерверногоМетода", то нужно пометить обработку на удаление и создать её заново. Видимо, тип команды устанавливается один раз при регистрации обработки.
33. LeoKeyn 53 19.06.19 07:21 Сейчас в теме
(32) Не проверял такой возможности, спасибо за подсказку
36. NikeDyu 05.08.19 17:28 Сейчас в теме
Спасибо за статью! Оч помогла.
37. LeoKeyn 53 10.08.19 10:00 Сейчас в теме
38. sveta21 5 14.08.19 18:38 Сейчас в теме
Спасибо за статью. Печатная форма формируется, всё прекрасно.
НО перестали работать стандартные печатные формы в этом документе.
Выдает ошибку при выборе стандартной печатной формы:

{ОбщийМодуль.УправлениеПечатью.Модуль(1510)}: Метод объекта не обнаружен (Печать)
ВнешняяОбработкаОбъект.Печать(


Не подскажите в чем может быть проблема?
39. LeoKeyn 53 16.08.19 07:44 Сейчас в теме
(38) Здравствуйте. Не подскажу, не сталкивался с таким. Посмотрите отладкой.
40. sveta21 5 16.08.19 10:24 Сейчас в теме
(39)
Здравствуйте. Не подскажу, не сталкивался с таким. Посмотрите отладкой.


В том то и дело... В отладке уже в описании команды сразу присутствует обращение к внешней обработке. А она же стандартная!
Пишет:
"ДополнитьКомплектВнешнимиПечатнымиФормами"=Истина

Помогите, пожалуйста!

Причем для Кадрового перевода всё в порядке, а для совмещений, выхода из отпуска за ребенком вот такая проблема!
45. user1890049 25.01.23 15:11 Сейчас в теме
{ВнешняяОбработка.ВнешняяОбработка_ДоговорWord.Форма.Форма.Форма(30)}: Ошибка при вызове метода контекста (Execute): Произошла исключительная ситуация (0x80020005)
как исправить?
41. MaximKor 20 09.09.19 13:43 Сейчас в теме
Отличная статья. Спасибо!
43. ShOlga 29.03.22 08:30 Сейчас в теме
Спасибо большое, очень полезная статья! Все понятно написано. Благодаря Вашей статье получилось быстро решить задачу с выводом печатной формы Word для управляемых форм!
44. cxpp 19 06.10.22 17:01 Сейчас в теме
А не подскажете, как в шаблон макета в Ворде вставить картинку, которая будет передаваться как параметр, например, картинка печати (штампа) организации из документа?
46. user1890049 25.01.23 15:11 Сейчас в теме
{ВнешняяОбработка.ВнешняяОбработка_ДоговорWord.Форма.Форма.Форма(30)}: Ошибка при вызове метода контекста (Execute): Произошла исключительная ситуация (0x80020005)

как исправить?
Оставьте свое сообщение