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

29.05.19

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

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

Скачать файл

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

Наименование По подписке [?] Купить один файл
Внешняя печатная форма в формате документа Word :
.epf 43,75Kb
485
485 Скачать (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 оформить области и загрузить в макет обработки

INFOSTART PRINTWIZARD: Конструктор печатных форм в 1С: 8.3

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


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

См. также

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

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

29400 руб.

29.06.2023    7036    19    13    

28

Печатные формы Адаптация типовых решений Бухгалтер Пользователь Платформа 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, ТТН), для этого потребуется отредактировать макет и разместить на нём картинки с установленными именами. Редактирование осуществляется через типовой механизм в пользовательском интерфейсе.

3500 руб.

07.02.2023    7757    84    17    

41

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

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

7200 руб.

02.08.2023    4918    19    1    

36

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

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

21.05.2024    27393    dimanich70    83    

149

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

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

12.02.2024    29072    atdonya    25    

58
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
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 692 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 146 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 160 16.09.22 15:49 Сейчас в теме
Ворд формируется довольно медленно. Кто-нибудь пробовал писать аналогичное без использования БСП? Не получится ли без него быстрее?
Вообще, когда использовал шаблоны без БСП мне даже показалось проще и понятнее.
30. fixin 4279 25.03.24 13:11 Сейчас в теме
(29) ну 100 лет назад я писал свой собственный вывод в Word, но не знаю, скорость там не была критичной. Ищите узкие места.
31. fixin 4279 25.03.24 13:12 Сейчас в теме
Спасибо автору, использовал ваши советы в своей статье: https://geniy1s.ru/pechatnye-formy-mxl-word-cherez-rasshirenie/
32. nayd 10 21.05.24 13:08 Сейчас в теме
Процедура или функция с указанным именем не определена (ПолучитьДанныеОбъекта)
ДанныеОбъектаПоМакетам.Вставить(ИмяМакета, <<?>>ПолучитьДанныеОбъекта(ОбъектСсылка)); (Проверка: Сервер)
33. asisdes 8 23.01.25 10:19 Сейчас в теме
приветствую коллеги. Есть 2 вопроса по данной технологии

// Приступаем к заполнению нашего документа. Начинаем с объявления областей.
СтруктураОбластей = Новый Структура;
УправлениеПечатью.ДобавитьОписаниеОбласти(СтруктураОбластей, "ВерхнийКолонтитул", "ВерхнийКолонтитул");
УправлениеПечатью.ДобавитьОписаниеОбласти(СтруктураОбластей, "Шапка", "Общая");
УправлениеПечатью.ДобавитьОписаниеОбласти(СтруктураОбластей, "Данные", "СтрокаТаблицы");
УправлениеПечатью.ДобавитьОписаниеОбласти(СтруктураОбластей, "Приложение", "Общая");
УправлениеПечатью.ДобавитьОписаниеОбласти(СтруктураОбластей, "Подвал", "Общая");

Имеется такой код
ВерхнийКолонтитул - вроде работал, потом перестал работать. Вроде что то связано в макетом Word. Но не могу понять что именно.


2. Момент 2 - Хочу часть макета, которая начинается с "Приложение" выводить на следующую страницу Word. Как сделать
Оставьте свое сообщение