Создание внешней печатной формы в формате документа Word

29.05.19

Задачи пользователя - Адаптация типовых решений

В статье написано, как создать внешнюю печатную форму (для конфигураций с БСП) в формате Word.

Скачать файл

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

Наименование По подписке [?] Купить один файл
Внешняя печатная форма в формате документа Word :
.epf 43,75Kb
473
473 Скачать (1 SM) Купить за 1 850 руб.

    По этой теме есть публикация на ИТС  Разработка печатных форм с использованием макетов в формате офисных документов Office Open XML , есть несколько статей на инфостарте- первая статья, вторая статья .

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

  В моей статье описывается, как это обойти и внести все нужные изменения во внешнюю обработку.

Сама печатная форма создается на клиентской стороне.

Шаг 1. Создание внешней обработки.

Создать внешнюю обработку, в модуле объекта обработки заполнить функцию СведенияОВнешнейОбработке.

Ниже пример из обработки к статье

Функция СведенияОВнешнейОбработке() Экспорт
	
	ПараметрыРегистрации = Новый Структура;
	МассивНазначений = Новый Массив;
	МассивНазначений.Добавить("Справочник.ПодразделенияОрганизаций");
	ПараметрыРегистрации.Вставить("Вид", "ПечатнаяФорма");  
	ПараметрыРегистрации.Вставить("Назначение", МассивНазначений);
	ПараметрыРегистрации.Вставить("Наименование", "Договор коллективной материальной ответственности (в Word)"); 
	ПараметрыРегистрации.Вставить("Версия", "1.1");
	ПараметрыРегистрации.Вставить("БезопасныйРежим", ИСТИНА);
	ПараметрыРегистрации.Вставить("Информация", "Договор коллективной материальной ответственности (в Word). Автор - Петрянкин В.Ф. ");
	ТаблицаКоманд = ПолучитьТаблицуКоманд();
	
	ДобавитьКоманду(ТаблицаКоманд, "Договор коллективной материальной ответственности (в Word)", "Макет", "ВызовКлиентскогоМетода", Истина, "");
	
	ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);
	
	ПараметрыРегистрации.Вставить("БезопасныйРежим",Ложь);
	
	Возврат ПараметрыРегистрации;
	
КонецФункции

 

Также у вас должен быть файл Word, который будет использоваться для формирования печатной формы. Поддерживаются формат как  doc  , так и docx .

Шаг 2. Создание макета.

Во внешней обработке надо создать новый макет . Тип макета- двоичные данные, имя макета- ПФ_DOC_МакетОтчета.

В файле Word , который будет загружен в этот макет обработки, надо выделить области .

Этих областей может быть три типа, про это есть описание на ИТС. Тип Общая- область , используемая один раз, СтрокаТаблицы - область для вывода табличной части.

Области выделяются "тегами": начало области {v8 Область.<Имя области>}, конец области {/v8 Область.<Имя области>}

Пример описания области .

{v8 Область.Заголовок} -     Начало области с именем Заголовок, это обычный текст в файле, в печатной форме он отображаться не будет

... Здесь содержимое области

{/v8 Область.Заголовок}- Окончание этой области 

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

{v8 НаименованиеОрганизации} - описание параметра НаименованиеОрганизации. Т.е. у параметров есть только открывающий тег и нет служебного слова Область.

 

Оформление областей можно посмотреть на ИТС и в обработке к этой статье.

 

После оформления областей этот документ надо загрузить в макет обработки.

 

Шаг 3. Создание функции подготовки данных для печати.

 

На ИТС и в демо-базе БСП эта функция располагается в менеджере объекта, для которого создается печатная форма.

Для внешней печатной формы эту функцию надо разместить в форме обработки - печатная форма создается на стороне клиента.

Ниже текст этой функции

// Подготавливает данные объекта к выводу на печать.
// 
// Параметры:
//  МассивДокументов - Массив - ссылки на объекты, для которых запрашиваются данные для печати;
//  МассивИменМакетов - Массив - имена макетов, в которые подставляются данные для печати.
//
// Возвращаемое значение:
//  Соответствие - коллекция ссылок на объекты и их данные:
//   * Ключ - ЛюбаяСсылка - ссылка на объект информационной базы;
//   * Значение - Структура - макет и данные:
//    ** Ключ - Строка - имя макета,
//    ** Значение - Структура - данные объекта.
&НаСервере
Функция ПолучитьДанныеПечати(Знач МассивДокументов, Знач МассивИменМакетов) Экспорт
	
	ДанныеПоВсемОбъектам = Новый Соответствие;
	
	Для Каждого ОбъектСсылка Из МассивДокументов Цикл
		ДанныеОбъектаПоМакетам = Новый Соответствие;
		Для Каждого ИмяМакета Из МассивИменМакетов Цикл
			ДанныеОбъектаПоМакетам.Вставить(ИмяМакета, ПолучитьДанныеОбъекта(ОбъектСсылка));
		КонецЦикла;
		ДанныеПоВсемОбъектам.Вставить(ОбъектСсылка, ДанныеОбъектаПоМакетам);
	КонецЦикла;
	
	ОписаниеОбластей = Новый Соответствие;
	ДвоичныеДанныеМакетов = Новый Соответствие;
	ТипыМакетов = Новый Соответствие; // Для обратной совместимости.
	
	Для Каждого ИмяМакета Из МассивИменМакетов Цикл
		Если ИмяМакета = "МакетОтчета(Word)" Тогда
			ДвоичныеДанныеМакета = РеквизитФормыВЗначение("Объект").ПолучитьМакет("ПФ_DOC_МакетОтчета");
			ДвоичныеДанныеМакетов.Вставить(ИмяМакета, ДвоичныеДанныеМакета);
			ТипыМакетов.Вставить(ИмяМакета, "DOC");
		КонецЕсли;
		ОписаниеОбластей.Вставить(ИмяМакета, ПолучитьОписаниеОбластейМакетаОфисногоДокумента());
	КонецЦикла;
	
	Макеты = Новый Структура;
	Макеты.Вставить("ОписаниеОбластей", ОписаниеОбластей);
	Макеты.Вставить("ТипыМакетов", ТипыМакетов); // Для обратной совместимости.
	Макеты.Вставить("ДвоичныеДанныеМакетов", ДвоичныеДанныеМакетов);
	
	Результат = Новый Структура;
	
	Результат.Вставить("Данные", ДанныеПоВсемОбъектам);
	Результат.Вставить("Макеты", Макеты);
	
	Возврат Результат;
	
КонецФункции

Шаг 4. Создание служебных функций и процедуры

  1. функция ДанныеЗаполненияОтчета(СсылкаНаОбъект)
  2. функция ПолучитьОписаниеОбластейОфисногоДокумента()
  3. процедура ВыполнитьПечатьвWord(ДокументСсылка, МакетИДанныеОбъекта, ИмяМакета)

Эти две функции и процедура будут уникальными для конкретной печатной формы.

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

Примеры функций

 

&НаСервере
Функция ДанныеЗаполненияОтчета(СсылкаНаСправочник)
		
	ДанныеОбъекта = Новый Структура();
	
	ДатаПечати=ТекущаяДата();
	ДатаДокумента=Формат(ДатаПечати,"ДЛФ=DD");
	ДанныеОбъекта.Вставить("ДатаДокумента",ДатаДокумента);
	
	ОрганизацияПодразделения=СсылкаНаСправочник.Владелец;
	ДанныеОбъекта.Вставить("НаименованиеОрганизации",ОрганизацияПодразделения.НаименованиеПолное);
	
...

	
	
	Возврат ДанныеОбъекта;
	
КонецФункции

Вышеприведенная функция подставляет параметры ДатаДокумента и НаименованиеОрганизации .

В файле Word эти параметры оформлены следующим образом:

 {v8 НаименованиеОрганизации}, в  лице  {v8 ДолжностьПодписанта} {v8 ФИОПодписанта},  действующего на   основании {v8 ДокументПодписанта},  именуемое в дальнейшем “Работодатель”, с одной стороны и гр. {v8 ФИО}, именуемый (ая) в дальнейшем “Работник” с другой стороны, именуемые в дальнейшем “Стороны”, заключили в соответствии с Трудовым кодексом Российской Федерации настоящие дополнения

 

&НаСервере
Функция ПолучитьОписаниеОбластейМакетаОфисногоДокумента()
	
	ОписаниеОбластей = Новый Структура;
	
	УправлениеПечатью.ДобавитьОписаниеОбласти(ОписаниеОбластей, "Заголовок", "Общая");
	УправлениеПечатью.ДобавитьОписаниеОбласти(ОписаниеОбластей, "ШапкаКоллектива", "Общая");

	УправлениеПечатью.ДобавитьОписаниеОбласти(ОписаниеОбластей, "СтрокаТаблицы", "СтрокаТаблицы");

	
	УправлениеПечатью.ДобавитьОписаниеОбласти(ОписаниеОбластей, "ПодвалКоллектива", "Общая");
	
	Возврат ОписаниеОбластей;
	
КонецФункции

В этой функции описаны области в файле Word . Видно, что в этом файле выделено 4 области, три из которых вызываются один раз, а область СтрокаТаблицы отображает данные из табличной части.

Ниже процедура, которая выполняется на стороне клиента и выводит эти области

&НаКлиенте
Процедура ВыполнитьПечатьВWord(ДокументСсылка, МакетИДанныеОбъекта, ИмяМакета)
	
	ТипМакета				= МакетИДанныеОбъекта.Макеты.ТипыМакетов[ИмяМакета];
	ДвоичныеДанныеМакетов	= МакетИДанныеОбъекта.Макеты.ДвоичныеДанныеМакетов;
	Области					= МакетИДанныеОбъекта.Макеты.ОписаниеОбластей;
	ДанныеОбъекта = МакетИДанныеОбъекта.Данные[ДокументСсылка][ИмяМакета];
	
	Макет = УправлениеПечатьюКлиент.ИнициализироватьМакетОфисногоДокумента(ДвоичныеДанныеМакетов[ИмяМакета], ТипМакета, ИмяМакета);
	Если Макет = Неопределено Тогда
		Возврат;
	КонецЕсли;
	
	ЗакрытьОкноПечатнойФормы = Ложь;
	Попытка
		ПечатнаяФорма = УправлениеПечатьюКлиент.ИнициализироватьПечатнуюФорму(ТипМакета, Макет.НастройкиСтраницыМакета, Макет);
		Если ПечатнаяФорма = Неопределено Тогда
			УправлениеПечатьюКлиент.ОчиститьСсылки(Макет);
			Возврат;
		КонецЕсли;
				
		// Вывод заголовка документа.
		Область = УправлениеПечатьюКлиент.ОбластьМакета(Макет, Области[ИмяМакета]["Заголовок"]);
		УправлениеПечатьюКлиент.ПрисоединитьОбластьИЗаполнитьПараметры(ПечатнаяФорма, Область, ДанныеОбъекта, Ложь);
		
		Область = УправлениеПечатьюКлиент.ОбластьМакета(Макет, Области[ИмяМакета]["ШапкаКоллектива"]);
		УправлениеПечатьюКлиент.ПрисоединитьОбластьИЗаполнитьПараметры(ПечатнаяФорма, Область, ДанныеОбъекта, Ложь);
		
		Если ДанныеОбъекта.Свойство("СтрокаТаблицы_1") Тогда
			Область = УправлениеПечатьюКлиент.ОбластьМакета(Макет, Области[ИмяМакета]["СтрокаТаблицы"]);
			УправлениеПечатьюКлиент.ПрисоединитьИЗаполнитьКоллекцию(ПечатнаяФорма, Область, ДанныеОбъекта.СтрокаТаблицы_1, Ложь);
		КонецЕсли;
		
		Область = УправлениеПечатьюКлиент.ОбластьМакета(Макет, Области[ИмяМакета]["ПодвалКоллектива"]);
		УправлениеПечатьюКлиент.ПрисоединитьОбластьИЗаполнитьПараметры(ПечатнаяФорма, Область, ДанныеОбъекта, Ложь);

		
		УправлениеПечатьюКлиент.ПоказатьДокумент(ПечатнаяФорма);
	Исключение
		ОбщегоНазначенияКлиентСервер.СообщитьПользователю(КраткоеПредставлениеОшибки(ИнформацияОбОшибке()));
		ЗакрытьОкноПечатнойФормы = Истина;
		Возврат;
	КонецПопытки;
	
	УправлениеПечатьюКлиент.ОчиститьСсылки(ПечатнаяФорма, ЗакрытьОкноПечатнойФормы);
	УправлениеПечатьюКлиент.ОчиститьСсылки(Макет);
	
КонецПроцедуры

Обработка , прилагаемая к статье используется в конфигурации ЗУП 3.1.8.246 с версией подсистемы БСП 3.0.1.369

Вы можете использовать ее как шаблон для вашей печатной формы.

Для этого:

  • Надо изменить функции и процедуру , которые описаны на шаге 4:  
    • функцию ДанныеЗаполненияОтчета(СсылкаНаОбъект)
    • функцию ПолучитьОписаниеОбластейОфисногоДокумента()
    • процедуру ВыполнитьПечатьвWord(ДокументСсылка, МакетИДанныеОбъекта, ИмяМакета)
  • В вашем файле Word оформить области и загрузить в макет обработки

Готовое решение

Универсальная печать по шаблонам Word в 1С 8.3

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


внешняя печатная форма Word

См. также

Логистика, склад и ТМЦ Адаптация типовых решений Пользователь Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 Россия Управленческий учет Платные (руб)

Чтобы не допустить путаницы с обещаниями клиентам и для четкого контроля исполнения заказов мы используем резервирование товаров. Мы доработали УНФ, чтобы она автоматически отменяла старые резервы и не мешала эффективно продавать.

7200 руб.

02.08.2023    4369    17    1    

35

Адаптация типовых решений Платформа 1С v8.3 1С:Документооборот Россия Платные (руб)

Расширение конфигурации для «1С:Документооборот КОРП», редакция 3.0. позволяет: 1.использовать произвольные табличные части в качестве дополнительных реквизитов к документу; 2 использовать произвольные табличные части в шаблонах в формате docx для автоматического заполнения таблиц.

29400 руб.

29.06.2023    6230    15    5    

24

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

Расширение позволяет вывести в табличном документе факсимиле печати и подписей и/или вывести произвольную картинку из прикреплённых файлов организации для 1С УТ 11.5, КА 2.5, ERP 2.5, УНФ 3, Розница 3. Вывод факсимиле возможен в табличные документы УПД, УКД, Счёт-фактура, ТОРГ-12 и другие. Возможно настроить вывод для любых типовых макетов (Акт сверки, М-15, ТТН), для этого потребуется отредактировать макет и разместить на нём картинки с установленными именами. Редактирование осуществляется через типовой механизм в пользовательском интерфейсе.

3000 руб.

07.02.2023    6936    74    17    

30

Универсальные функции Программист Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Благодаря этим пяти строчкам можно больше не заморачиваться с загрузкой из внешних файлов. Пользуюсь везде, всегда и постоянно.

21.05.2024    21802    dimanich70    81    

146

Универсальные функции Программист Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Задача: вставить картинку из буфера обмена на форму средствами платформы 1С.

1 стартмани

18.03.2024    4222    3    John_d    11    

57

Универсальные функции Программист Стажер Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Пришлось помучиться с GUID-ами немного, решил поделиться опытом, мало ли кому пригодится.

12.02.2024    20516    atdonya    25    

58

Универсальные функции Программист Платформа 1С v8.3 Бесплатно (free)

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

30.11.2023    5691    ke.92@mail.ru    17    

65
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. sytkosa 119 17.05.19 17:26 Сейчас в теме
(0) | А в серверном варианте возможно сделать такую форму ?
3. AndrewKop 20.05.19 17:00 Сейчас в теме
(1) Возможно. Но не очень красиво это всё передаётся на клиента, либо я рукожоп. Идёшь из обработки на сервер, реквизит формы в значение получаешь объект обработки. Оттуда получаешь макет (в моем случае это active document). Потом его сохраняешь во временный файл, потом этот временный файл перегоняешь в двоичные данные, потом уже во временное хранилище. И потом из временного хранилища обратно на клиенте в файл и оттуда уже com-объект. Хз насколько это правильно, но у меня работает.
2. ВикторП 350 17.05.19 18:05 Сейчас в теме
4. leobrn 633 03.07.19 08:53 Сейчас в теме
(2) а как вывести два разных нижних колонтитула? у меня два раздела, в шаблоне колонтитул указал только в одном, но он мне заполняет по всем разделам документа.
5. user1248331 15 05.07.19 11:56 Сейчас в теме
Несколько лет работаем по похожей обработке, но у нас терминальный сервер с установленным Ворд. 1С работает в обычном файловом режиме, платформа 64-bit, конфа отраслевая, поэтому нет смысла её описывать, но вроде на базе обычной бухгалтерии. Все работает нормально, кроме одной проблемы - АЦКИ долго... один договор в ВОРД может печататься около 1,5 минут, в Опен Офисе побыстрее, но он глючить начинает. Эта проблема давняя и известная, но ничего нового для решения найти не могу, можете подсказать?
6. N_s_s 3 07.08.19 00:54 Сейчас в теме
Не понятно с областями:
Этих областей может быть три типа, про это есть описание на ИТС. Тип Общая- область , используемая один раз

и пример в коде:
УправлениеПечатью.ДобавитьОписаниеОбласти(ОписаниеОбластей, "Заголовок", "Общая");
УправлениеПечатью.ДобавитьОписаниеОбласти(ОписаниеОбластей, "ШапкаКоллектива", "Общая");

УправлениеПечатью.ДобавитьОписаниеОбласти(ОписаниеОбластей, "СтрокаТаблицы", "СтрокаТаблицы");


УправлениеПечатью.ДобавитьОписаниеОбласти(ОписаниеОбластей, "ПодвалКоллектива", "Общая");

Так всё же один или нет?
7. ВикторП 350 08.08.19 13:27 Сейчас в теме
Разных областей с типом Общая м.б. сколько угодно.
Каждая такая область выводится в печатную форму один раз.
8. nipil 22.09.19 12:48 Сейчас в теме
Где функция ПолучитьТаблицуКоманд(); ?
titan84clc; +1 Ответить
9. ВикторП 350 23.09.19 11:03 Сейчас в теме
Где положено , там - в модуле объекта
10. elian 137 20.11.19 16:24 Сейчас в теме
Я так и не понял. Эта обработка в итоге работает в безопасном режиме или нет? В функции СведенияОВнешнейОбработке() сначала идёт установка параметра БезопасныйРежим = ИСТИНА, а потом установка этого же параметра в значение Ложь. Так что в итоге? Обработка работает в безопасном режиме или всё-таки нет?
11. SagittariusA 21.12.19 16:34 Сейчас в теме
Каким образом работает через Внешние отчеты и обработки, если там только описание самой обработки и нет процедур печати?
12. SagittariusA 22.12.19 11:10 Сейчас в теме
БСП 3.0.2.314

Данная обработка не актуальна уже, так как там переделали все на серверный модуль "УправлениеПечатью".
Прикрепленные файлы:
17. ВикторП 350 29.03.20 15:13 Сейчас в теме
13. iQWERTY13 02.03.20 17:10 Сейчас в теме
Автор, на кого ты ориентировал эту статью?
На тех кто знает - им это на ... не нужно!
На тех, кто не знает? Тогда откуда они возьмут процедуру "ПолучитьДанныеОбъекта()"?
Почему тогда допускаешь "..." в коде?
Почему пример заполнения в Word без тех параметров, которые фигурируют в коде?
Ты если берешься что-то делать - делай как следует!
Или сразу в теме пиши: "Статья не полная, статья - г..но!"
адуырщдв; user1549775; tugushev98; sandr13; ipzotov; user884698; user1830222; user1835100; FReIM; Demetry2000; titan84clc; DiGanis; user1375266; ogroup; user746566; baracuda; Vasas2007; user832532; niv; rett; exitel; vadim92; andron79; sinto; mazai81; cottonclubru; user955631; ivangrant; +28 2 Ответить
16. ВикторП 350 29.03.20 15:11 Сейчас в теме
(13) Сам ты это слово , в обработке все есть
14. aret99 12 09.03.20 19:18 Сейчас в теме
Обработку надо немного допилить, а то на ЗУП 3.1.13.76 выскакивает ошибка
"Для получения контактной информации, хранящей историю изменений,
требуется указывать дату, с которой действует запись контактной информации.
ВызватьИсключение НСтр("ru = 'Для получения контактной информации, хранящей историю изменений"

Вызов КонтактнаяИнформацияОбъекта требует теперь обязательно дату.

Вот так работает:
УправлениеКонтактнойИнформацией.КонтактнаяИнформацияОбъекта(ФизЛицо,Справочники.ВидыКонтактнойИнформации.АдресПоПропискеФизическиеЛица,ТекущаяДата(),Истина);
AvtoBuhgalter; +1 Ответить
18. ВикторП 350 29.03.20 15:15 Сейчас в теме
(14) делалось то еще для 3.1.8 , а вы говорите что в 3.1.13 по другому. Наверно
15. aret99 12 09.03.20 19:20 Сейчас в теме
Как шаблон для допиливания вполне годится
19. kaps22 20 07.05.20 19:02 Сейчас в теме
Скачал все замечательно получилось, только не пойму, в шаблоне ворда есть нижний колонтитул, но он не выводиться, не поможете как его вывести?
20. kaps22 20 07.05.20 19:36 Сейчас в теме
Приделал, колонтитулы, но почему то, только со второй страницы выводятся.
21. stroki 5 24.09.20 13:27 Сейчас в теме
(20) как вы приделали колонтитулы?
22. stclean 27.01.21 13:03 Сейчас в теме
Я сделал немного иначе.
Делаем обычную печатную форму, как обычно того требует БСП.
В самой процедуре печати работаем с вордовским документом как нам удобно, можно как это делает 1С, можно иначе, я работаю почти как 1С, тоже распаковываю ворд через зип, правлю главный xml документ, и сворачиваю обратно (в этом случае мне не надо иметь ворд на сервере приложения).
Затем помещаем файл в двоичные данные, помещаем в хранилище, и указываем эти данные в переменную "ПечатнаяФорма", вот так.

		
		ДовичныеДаные=Новый ДвоичныеДанные(НовоеИмяФайла);
		АдресВременногоХранилища=ПоместитьВоВременноеХранилище(ДовичныеДаные,Новый УникальныйИдентификатор);
		ФайлКонечногоДокумента=Новый Файл(НовоеИмяФайла);
		ОфисныеДокументы.Вставить(АдресВременногоХранилища, ИмяДокумента);
		ПечатнаяФорма.ТабличныйДокумент = Новый ТабличныйДокумент;
		ПечатнаяФорма.СинонимМакета    = НСтр("ru = 'Трудовой договор'");
		ПечатнаяФорма.ОфисныеДокументы = ОфисныеДокументы;
Показать


Дальше уже 1С сама его обрабатывает и выводит пользователю.
GlukAl; Dali; +2 Ответить
23. пользователь 02.06.21 15:26
Сообщение было скрыто модератором.
...
24. dvk09 2 29.10.21 06:00 Сейчас в теме
Можно подсмотреть, как реализовано в ЗУП
Основная конфигурация Документ.СогласиеНаОбработкуПерсональныхДанных.Модуль менеджера
адуырщдв; Lena272; IvanTerentev; Skyeng; +4 Ответить
25. mariya.mary.00 02.02.22 12:46 Сейчас в теме
Добрый день!

а можно каким-то образом получить путь куда сохраняется файл печатной формы?т.е куда сохраняется сформированный макет word?
Хочу попробовать пересохранить его в пдф.
26. кольщик 26.04.22 12:00 Сейчас в теме
Да, какая та лажа действительно. Делаю всё по данному примеру, теряю время, в итоге оказывается что нужно скачать файл, чтобы посмотреть остальные процедуры и функции типа ПолучитьДанныеОбъекта(). Если стартмани нет, время потрачено зря. Почему нельзя либо сразу оформить нормально статью, либо в самом начале предупредить, что без скаченного файла статья не о чем.
адуырщдв; abasovit; nayd; icompru; Artyom_Potapov; Demetry2000; ZORGE_Tech; DiGanis; gusteleva; kir74; Tatitutu; +11 Ответить
27. Scalli 12.06.22 20:46 Сейчас в теме
Доброго времени суток, а как ваша обработка работает на Web клиенте? Насколко я знаю, com-объекты не создаются на Web-клтиенте.
jmidgard; +1 Ответить
28. user1375266 10.08.22 14:43 Сейчас в теме
Вместо ПолучитьДанныеОбъекта можно использовать Функцию "ДанныеЗаполненияОтчета", ПолучитьДанныеОбъекта промежуточная функиця, которая впринципе не нужна
29. unknown181538 158 16.09.22 15:49 Сейчас в теме
Ворд формируется довольно медленно. Кто-нибудь пробовал писать аналогичное без использования БСП? Не получится ли без него быстрее?
Вообще, когда использовал шаблоны без БСП мне даже показалось проще и понятнее.
30. fixin 4276 25.03.24 13:11 Сейчас в теме
(29) ну 100 лет назад я писал свой собственный вывод в Word, но не знаю, скорость там не была критичной. Ищите узкие места.
31. fixin 4276 25.03.24 13:12 Сейчас в теме
Спасибо автору, использовал ваши советы в своей статье: https://geniy1s.ru/pechatnye-formy-mxl-word-cherez-rasshirenie/
32. nayd 9 21.05.24 13:08 Сейчас в теме
Процедура или функция с указанным именем не определена (ПолучитьДанныеОбъекта)
ДанныеОбъектаПоМакетам.Вставить(ИмяМакета, <<?>>ПолучитьДанныеОбъекта(ОбъектСсылка)); (Проверка: Сервер)
Оставьте свое сообщение