Перестали работать все печатные формы

1. dvm3 02.06.21 08:11 Сейчас в теме
Добрый день
После обновления ЗУП до 3.1.18.46 перестали работать все внешние печатные формы.
Пишет: "Макет не существует. Операция прервана".
Ошибка в модуле "УправлениеПечатьюМультиязычность". Путь к макету не устраивает. Как поправить?
prosto_username; +1 Ответить
По теме из базы знаний
Найденные решения
5. dvm3 02.06.21 09:23 Сейчас в теме
Полный путь к макету должен быть в формате "Документ.ИмяДокумента.ИмяМакетаПФ". Было просто "ИмяМакетаПФ". Раньше, похоже, система этого не секла, сейчас выдает ошибку.
Fedor1970; Светлый ум; prosto_username; user647083_kev_78_78; ammorf; ea_len; Hoppius; VAAngelov; Swetlana; +9 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
28. diso 294 07.06.21 09:44 Сейчас в теме
(1) Можно написать что угодно и достаточно одной точки, например, "Фигня.ТрудовойДоговор" прекрасно работает. А все изза того что производится поиск в РегистрСведений.ПользовательскиеМакетыПечати, в котором измерениями являются : Объект = Фигня, ИмяМакета = ТрудовойДоговор. После того как программа не нашла аналогов вашей Фигне в этом регистре, она открывает ваш макет ТрудовойДоговор.

Считаю что это должны исправить, т.к. для ВПФ нечего указать в качестве пути. А вы считаете что это должны исправить?
user981535; +1 Ответить
2. XAKEP 02.06.21 08:32 Сейчас в теме
После обновления
-----------

Как поправить

позвать того , кто обновлял

______

если в вашем внешнем макете ( печатной форме) таблица называлась Общая
но после обновления разрботчики ее назвали Общие

как думаете ? - подхватит печатную форму ?
3. dvm3 02.06.21 08:45 Сейчас в теме
(2) По делу есть что то? Обновления типовые, никто ничего не менял. Путь к макету берется из ВПФ. Видимо изменились требования к нему.
4. FatPanzer 02.06.21 09:11 Сейчас в теме
Изменились общие модули в БСП. В 18-й версии внедрена новая БСП 3.1.4.
5. dvm3 02.06.21 09:23 Сейчас в теме
Полный путь к макету должен быть в формате "Документ.ИмяДокумента.ИмяМакетаПФ". Было просто "ИмяМакетаПФ". Раньше, похоже, система этого не секла, сейчас выдает ошибку.
Fedor1970; Светлый ум; prosto_username; user647083_kev_78_78; ammorf; ea_len; Hoppius; VAAngelov; Swetlana; +9 Ответить
6. Val300 25 02.06.21 10:54 Сейчас в теме
https://infostart.ru/1c/articles/1411756/
раздел Печать

В передаваемых параметрах (шестой) к процедуре ВывестиТабличныйДокументВКоллекцию нужен полный путь до печатной формы.

УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, ИмяМакета, СинонимМакета, ТабличныйДокумент, Картинка, ПолныйПутьКМакету, ИмяФайлаПечатнойФормы)

// Модуль менеджера документа
Процедура Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
    
    Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "Накладная") Тогда
        УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(
            КоллекцияПечатныхФорм,
            "Накладная",
            НСтр("ru = 'Реализация товаров'"),
            СформироватьПечатнуюФормуНакладная(МассивОбъектов, ОбъектыПечати, ПараметрыПечати),
            ,
            "Документ.РеализацияТоваровУслуг.ПФ_MXL_РеализацияТоваров");
    КонецЕсли;
    
КонецПроцедуры
Показать
8. Craig 275 02.06.21 17:17 Сейчас в теме
(6) не совсем понял, внешняя печатная форма расположена в этойже самой внешней обработки, что нужно сдлать чтобы система не ругалась. В приведенном выше примере сылается на нахождение формы в документе.

Так же вопрос, если одна печатная форма (новая, расположена в самой обработке) используется на два документа? то данную функцию нельзя универсально использовать? нужно вместо одной обработки сделать две?
11. Val300 25 02.06.21 21:01 Сейчас в теме
(8)
Полный путь указывается именно к документу, для которого создается внешняя печатная форма.
А если ВПФ создается для нескольких типов документов, то достаточно в полном пути прописать один из них. Все равно будет работать, я проверял.
39. user703847_shangina 08.01.22 16:05 Сейчас в теме
7. пользователь 02.06.21 13:15
Сообщение было скрыто модератором.
...
9. dovolsky 02.06.21 17:35 Сейчас в теме
я сделал так, сослался на первый попавшийся общий макет в конфе, потом подменил из внешней обработки
Процедура Печать(МассивОбъектов,  КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
	
	Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "ОбщиеМакеты.ПФ_MXL_Т1") Тогда
		
		ИмяМакета = "ОбщиеМакеты.ПФ_MXL_Т1";
		Представление = НСтр("ru='Договор ОМ'");
		
		УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(
		КоллекцияПечатныхФорм,
		ИмяМакета, Представление,
		ТабличныйДокументТрудовойДоговор(
		ИмяМакета,
		МассивОбъектов,
		ОбъектыПечати),
		,
		"ОбщиеМакеты.ПФ_MXL_Т1");
	КонецЕсли;
	
КонецПроцедуры

Функция ТабличныйДокументТрудовойДоговор(ИмяМакета, МассивОбъектов, ОбъектыПечати)
	
	Макет = ПолучитьМакет("ПФ_MXL_ДоговорМО");
	ДокументРезультат = Новый ТабличныйДокумент;
//бла бла бла 

Возврат ДокументРезультат;
	
КонецФункции

Показать
15. XelOla 19 04.06.21 09:29 Сейчас в теме
(9)
ПолучитьМакет("ПФ_MXL_ДоговорМО");

не помогло, сделала по аналогии
10. Craig 275 02.06.21 20:08 Сейчас в теме
Я поступил следующим образом.
Добавил в расширение УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию с функцией Перед

&Перед("ВывестиТабличныйДокументВКоллекцию")
Процедура Расширение_ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, ИмяМакета, СинонимМакета, ТабличныйДокумент, Картинка, ПолныйПутьКМакету, ИмяФайлаПечатнойФормы)
	Если СтрНайти(ПолныйПутьКМакету,".") = 0 Тогда 
		 ПолныйПутьКМакету = "ОбщиеМакеты.ПФ_MXL_Т1";
	КонецЕсли;
КонецПроцедуры



Теперь печатные формы переделывать не потребуется.
12. driveboy 03.06.21 10:37 Сейчас в теме
Добавьте в расширение процедуру общего модуля УправлениеПечатьюМультиязычность &Вместо("ЯзыкиМакета").

Попытка
		Результат = ПродолжитьВызов(ПутьКМакету);
Исключение	
		Возврат Новhttps://infostart.ru/profile/edit/ый Массив;
КонецПопытки;



//и будет вам счастье:) не надо будет трогать ни одну форму
14. XelOla 19 04.06.21 09:01 Сейчас в теме
(12)
Попытка
Результат = ПродолжитьВызов(ПутьКМакету);
Исключение
Возврат Новый Массив;
КонецПопытки;

Это не помогло
23. NikishovNikolai95 04.06.21 13:26 Сейчас в теме
Твоим способом заработает, НО ПРИ ЭТОМ СТАНДАРТНЫЕ ПФ перестанут работать.
НУЖНО ПРОСТО В ОБРАБОТКУ ПРОПИСАТЬ полный муть на макет, например :

Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт


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


КонецЕсли;

КонецПроцедуры
Светлый ум; ea_len; XelOla; +3 Ответить
25. furman2000 16 04.06.21 14:07 Сейчас в теме
(23) Документ.ДоговорРаботыУслуги.ПФ_MXL_ДыговорПодряда
Как это будет выглядеть для внешней ПФ???
29. XelOla 19 07.06.21 11:00 Сейчас в теме
(23)
цедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт


Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "ДоговорПодрядаСБК") Тогда
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм,"ДоговорПодрядаСБК", "ДоговорПодрядаСБК",

Спасибо!
самый рабочий способ оказался)
35. Светлый ум 454 05.07.21 12:21 Сейчас в теме
(23)
мИмяМакета = УказатьНаименованиеКомандыПечати();
	мИмяПечатнойФормы = "Документ.ДанныеДляРасчетаЗарплаты.СдельныйНаряд";//УказатьНаименованиеВнешнейПечатнойФормы();
	Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, мИмяМакета) Тогда
		УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(
			КоллекцияПечатныхФорм,
			мИмяМакета,
			мИмяПечатнойФормы,
			ПечатьСдельногоНаряда(МассивОбъектов,
			ОбъектыПечати), ,
		мИмяПечатнойФормы);
	КонецЕсли;
Показать


Помогло - спасибо
13. XelOla 19 04.06.21 09:00 Сейчас в теме
Я не много не поняла.
если мой макет не в общих и не в Документе
он мною разработанный,
каким тогда должен быть Путь вызова?
это ВПФ макет зовется "обходнойЛист"
16. user856012 14 04.06.21 09:36 Сейчас в теме
(13)
каким тогда должен быть Путь вызова?
Кто за вас должен читать уже написанное:
Полный путь к макету должен быть в формате "Документ.ИмяДокумента.ИмяМакетаПФ".

это ВПФ макет зовется "обходнойЛист"
Вот к какому документу вы приклеили свой "обходнойЛист" - такой путь и должен быть.
17. XelOla 19 04.06.21 09:42 Сейчас в теме
(16)
Документ.ИмяДокумента

{ВнешняяОбработка.ОбходнойЛистПриУвольнении.МодульОбъекта(117)}: Ошибка при вызове метода контекста (ПолучитьМакет)
Макет = ПолучитьМакет("Документ.Увольнение.ОбходнойЛист");
по причине:
Недопустимое значение параметра (параметр номер '1')
Недопустимое значение параметра (параметр номер '1')
18. XelOla 19 04.06.21 09:44 Сейчас в теме
(16)
ПараметрыВывода.ДоступнаПечатьПоКомплектно = Истина;
	Макет = ПолучитьМакет("Документ.Увольнение.ОбходнойЛист");
	
	Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "ОбходнойЛист") Тогда
		УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(
						КоллекцияПечатныхФорм,
						"ОбходнойЛист", 
						НСтр("ru='Обходной лист'"),
						ПолучитьТабличныйДокументПриказаТ8(Макет, МассивОбъектов, ОбъектыПечати), ,
						"Документ.Увольнение.ОбходнойЛист");
	КонецЕсли;
Показать
ea_len; mmv_82; +2 Ответить
19. furman2000 16 04.06.21 12:04 Сейчас в теме
Так как теперь правильно внешнюю печ.ф. делать????
20. kida1 150 04.06.21 12:32 Сейчас в теме
(19) уже выше ответили:
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "СдельныйНаряд",
		НСтр("ru = 'Сдельный наряд'"), ПечатьСдельныйНаряд(МассивОбъектов[0], ОбъектыПечати), ,
		"Документ.ДанныеДляРасчетаЗарплаты.ИМЯ_своего_макета_ВПФ");
21. furman2000 16 04.06.21 12:43 Сейчас в теме
(20)
Чето туплю.
Документ.ДанныеДляРасчетаЗарплаты.ИМЯ_своего_макета_ВПФ
Там ведь его нету. Макет во внешней форме.
22. kida1 150 04.06.21 12:50 Сейчас в теме
(21) ХЗ, у меня заработало
24. furman2000 16 04.06.21 14:06 Сейчас в теме
(22)Хорошо вам. А у меня не взлетело.
27. mmv_82 2 06.06.21 17:26 Сейчас в теме
(21)
окумент.ДанныеДляРасчетаЗарплаты.ИМЯ_своего_макета_ВПФ
Там ведь его нету. Макет во внешней форме.

Макет во внешней форме, но он же к какому-то документу, вот его и пропишите. У меня сработало.
26. user773664 04.06.21 15:24 Сейчас в теме
Я в УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию убрала 6 параметр совсем.

А в функции печати оставила
Макет = ПолучитьМакет("Реестр"); Было Макет = ЭтотОбъект.ПолучитьМакет("Реестр");


Заработало. Была такая же проблема.
Kordyukov; Anhenyan; +2 Ответить
30. user1153462 07.06.21 11:53 Сейчас в теме
(17) Такая же ошибка в итоге. Удалось как-то её устранить?
31. XelOla 19 07.06.21 14:38 Сейчас в теме
32. user1153462 07.06.21 15:11 Сейчас в теме
33. zharkin 6 08.06.21 12:59 Сейчас в теме
В ВПФ в УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию() добавить запятую. Пример:
Было
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "УведомлениеОНачалеОтпуска", "Уведомление о начале отпуска", 
			ПечатьДокумента(ТаблицаСведенийДокумента, ОбъектыПечати),,"Макет");

Стало
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "УведомлениеОНачалеОтпуска", "Уведомление о начале отпуска", 
			ПечатьДокумента(ТаблицаСведенийДокумента, ОбъектыПечати),,,"Макет");
shiga; Roman_Go; dfr13; Login54321; allianceservice; nshinina; Andrekaa; user647767_kvi_vrn; alenka1c; kida1; urves; +11 Ответить
36. flou 07.07.21 06:53 Сейчас в теме
37. Login54321 11.07.21 19:40 Сейчас в теме
Помогло, а можете объяснить кто-нибудь почему ?
38. Roman_Go 2 14.07.21 15:08 Сейчас в теме
(33)
ВывестиТабличныйДокументВКоллекцию


спасибо тебе добрый ты наш человек.

120 внешних печатных форм. Пойду поплачу.
34. urves 10.06.21 10:44 Сейчас в теме
(33) "...добавить запятую..." - помогло. Спасибо!
Оставьте свое сообщение

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