Выгрузка из 1с 8.3 в Word Внешняя печатная форма

1. allenatore 30.05.18 13:36 Сейчас в теме
Добрый день, выдает ошибку {ОбщийМодуль.ДополнительныеОтчетыИОбработки.Модуль(250)}: Поле объекта не обнаружено (КоличествоЭкземпляров)
ПечатнаяФорма.ТабличныйДокумент.КоличествоЭкземпляров = ПечатнаяФорма.Экземпляров;




#Область ШаблонВнешнейПечатнойФормы

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


#КонецОбласти




Функция Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
  	
	Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "СозданиеСублицензионногоДоговора") Тогда
		
		ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм,
			"СозданиеСублицензионногоДоговора",
			НСтр("ru='Создание сублицензионного договора'"),
			СформироватьПечатнуюФормуСублицензионногоДоговора(МассивОбъектов, ОбъектыПечати));	
			
	КонецЕсли;
	
	ФормированиеПечатныхФорм.ЗаполнитьПараметрыОтправки(ПараметрыВывода.ПараметрыОтправки, МассивОбъектов, КоллекцияПечатныхФорм);
	
КонецФункции

Функция СформироватьПечатнуюФормуСублицензионногоДоговора(МассивОбъектов, ОбъектыПечати)
			      
	    ТабличныйДокумент = Новый ТабличныйДокумент;
		//ТабличныйДокумент.ЭкземпляровНаСтранице = 2;
		
	    ТабличныйДокумент.КоличествоЭкземпляров = 2;
		//ТабличныйДокумент.КлючПараметровПечати = "ПараметрыПечати_Договор";

      Word = ПолучитьМакет("Договор").Получить();
	 
	  
	  Попытка
		  
		  //открываем и активируем документ
		  СсылкаМакет = Word.Application.Documents(1);
		  СсылкаМакет.Activate();
		  
		  НаименованиеФирмы = "ООО Флексмар";
		  НашДиректор = "Шахов С.В.";
		  Номер = СсылкаНаОбъект.Номер;
		  ДатаДоговора = Формат(СсылкаНаОбъект.Дата, "ДЛФ=DD");
		  Заказчик = СсылкаНаОбъект.Контрагент;
		  ПредставительЗаказчика = СсылкаНаОбъект.КонтактноеЛицо;
		  
		  
		  Замена = СсылкаМакет.Content.Find;
		  Замена.Execute("<Организация>", Ложь, Истина, Ложь, , , Истина, , Ложь, """" + НаименованиеФирмы + """");
		  Замена = СсылкаМакет.Content.Find;
		  Замена.Execute("<Номер>", Ложь, Истина, Ложь, , , Истина, , Ложь, """" + Номер + """");		  
		  Замена = СсылкаМакет.Content.Find;
		  Замена.Execute("<Дата>", Ложь, Истина, Ложь, , , Истина, , Ложь, """" + Формат(ДатаДоговора,"ДЛФ=DD") + """");
		  Замена = СсылкаМакет.Content.Find;
		  Замена.Execute("<Контрагент>", Ложь, Истина, Ложь, , , Истина, , Ложь, """" + Заказчик + """");
		  Замена = СсылкаМакет.Content.Find;
		  Замена.Execute("<ГенДирОрг>", Ложь, Истина, Ложь, , , Истина, , Ложь, """" + НашДиректор + """");		  
		  Замена = СсылкаМакет.Content.Find;
		  Замена.Execute("<ГенДирКонтр>", Ложь, Истина, Ложь, , , Истина, , Ложь, """" + ПредставительЗаказчика + """");
		  
				  
		  //включаем видимость приложения
		  СсылкаМакет.Application.Visible = Истина;
		  
		  
	  Исключение
		  // Если произойдет ошибка, выводятся данные об ошибке, и объект закрывается.
		  Сообщение = Новый СообщениеПользователю();
		  Сообщение.Текст = ОписаниеОшибки();
		  Сообщение.Сообщить();
		 		                     		                  	  
	  КонецПопытки;	 
		  
		  Возврат ТабличныйДокумент
		  
КонецФункции
Показать
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. singlych 30.05.18 13:47 Сейчас в теме
(1)
Возврат СсылкаМакет;


Это зачем?
3. allenatore 30.05.18 14:29 Сейчас в теме
(2) Я думал вернуть данные нужно
4. singlych 30.05.18 14:40 Сейчас в теме
(3) Эта функция должна возвращать табличный документ.
5. allenatore 30.05.18 14:58 Сейчас в теме
(4) Пишет печать недоступна, я так понял из-за того, что я еще не правильно сформировал табличный документ. А подскажите, как сформировать Таб. документ и вывести его, если тип макета Active Document ?
6. singlych 30.05.18 15:14 Сейчас в теме
(5) БСПшная печать работает только с табличными документами.
Пишет печать недоступна, потому что табдок пустой. Можно, к примеру, вывести туда строку типа "Сформирован документ ворд", тогда БСП его покажет. А сам вордовский док у тебя уже сформирован.
7. RustRR 30.05.18 15:24 Сейчас в теме
(6)
БСПшная печать работает только с табличными документами.

БСП умеет работать с макетами MS Word. См. в модуле УправлениеПечатьюКлиент процедуры ИнициализироватьМакетОфисногоДокумента, ПрисоединитьОбластьИЗаполнитьПараметры, ПоказатьДокумент и т.д.
8. singlych 30.05.18 15:33 Сейчас в теме
(7) Я к тому, что в форму печати она его не выведет.
9. singlych 30.05.18 15:38 Сейчас в теме
(6) А вообще, я туплю. Ворд-то на клиенте нужно открывать, соответственно, п/ф тоже надо делать с использованием "ВызовКлиентскогоМетода".
10. allenatore 30.05.18 15:44 Сейчас в теме
(9) Я пишу код для 8.3 КА2 в модуле объекта. То что я копировал из 8.2 не работает, у меня. Как вот код прописать? ((((
11. singlych 30.05.18 16:03 Сейчас в теме
(10) Да вот хотя бы здесь посмотри
infostart.ru/public/799079
12. allenatore 30.05.18 16:18 Сейчас в теме
Просто задача без кнопочек всяких, без формы. Исключительно добавлением Внешней печатной формы. Допустим, "Заказ Клиента", в команде печать цепляет нашу обработку. Нажал и вордовский документ сформировался.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот