Ошибка при печати ВПФ в комплекте 1С УТ 11

1. vlad636 12 06.06.25 10:21 Сейчас в теме
Доброго времени суток.
После обновления УТ на 11.5.22.63 (ну и соответственно поднял платформу до 27) при печати комплекта из РТиУ перестала выводиться ВПФ. Если в комплекте я её выбираю одну, то вылетает ошибка:
Индекс находится за границами массива
{ОбщийМодуль.ИнтерфейсДокументовЭДО.Модуль(6871)}:	ИдентификаторПечатнойФормы = Форма.НастройкиПечатныхФорм[0].ИмяМакета;
{ОбщийМодуль.ИнтерфейсДокументовЭДО.Модуль(4372)}:		ДополнитьЭлементамиВнешнегоЭДО(Форма, Отказ, СтандартнаяОбработка);
{ОбщийМодуль.ОбменСКонтрагентамиИнтеграцияСобытия.Модуль(97)}:	ИнтерфейсДокументовЭДО.ПечатьДокументовПриСозданииНаСервере(Форма, Отказ, СтандартнаяОбработка);
{ОбщийМодуль.ЭлектронноеВзаимодействие.Модуль(530)}:		МодульОбменСКонтрагентами.ПечатьДокументовПриСозданииНаСервере(Форма, Отказ, СтандартнаяОбработка);
{ОбщийМодуль.УправлениеПечатьюЛокализация.Модуль(236)}:	ЭлектронноеВзаимодействие.ПечатьДокументовПриСозданииНаСервере(Форма, Отказ, СтандартнаяОбработка);
{ОбщийМодуль.УправлениеПечатьюУТСервер.Модуль(309)}:	УправлениеПечатьюЛокализация.ПечатьДокументовПриСозданииНаСервере(Форма, Отказ, СтандартнаяОбработка);
{ОбщийМодуль.УправлениеПечатьюПереопределяемый.Модуль(278)}:	УправлениеПечатьюУТСервер.ПечатьДокументовПриСозданииНаСервере(Форма, Отказ, СтандартнаяОбработка);
{ОбщийМодуль.УправлениеПечатью.Модуль(7715)}:	УправлениеПечатьюПереопределяемый.ПечатьДокументовПриСозданииНаСервере(Форма, Отказ, СтандартнаяОбработка);
{ОбщаяФорма.ПечатьДокументов.Форма(131)}:	УправлениеПечатью.ПечатьДокументовПриСозданииНаСервере(ЭтотОбъект, Отказ, СтандартнаяОбработка);
{ОбщийМодуль.УправлениеПечатьюСлужебныйКлиент.Модуль(345)}:		ОткрытьФорму("ОбщаяФорма.ПечатьДокументов", ПараметрыОткрытия, ВладелецФормы, Строка(Новый УникальныйИдентификатор));
{ОбщийМодуль.УправлениеПечатьюГлобальный.Модуль(13)}:	УправлениеПечатьюСлужебныйКлиент.ПродолжитьВыполнениеКомандыПечати();
Показать

В чём может быть проблема? Раньше всё норм работало.
p/s: Отдельно ВПФ нормально печатается.
По теме из базы знаний
Найденные решения
4. Flashsong 30 25.06.25 13:08 Сейчас в теме
Может кому пригодится в последнем релизе не удалось так же победить комплексную печать. Решил это следующим способом. Взял старый релиз, где все работало. В регистре сведений "НастройкиПечатиОбъектов" на форме "НастройкиПечатиКомплекта" есть процедура "Печать" и "ПечатьНаПринтер" ее нужно заменить на следующий код со старого релиза. Думаю в новом напортачили с вызовом для внешних печаток.

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


и еще нужна будет процедура

&НаСервере
Функция ПоместитьКомплектПечатныхФормВоВременноеХранилищеСервер(УникальныйИдентификаторВладельца)
	
	 Возврат ПоместитьВоВременноеХранилище(КомплектПечатныхФорм.Выгрузить(), УникальныйИдентификаторВладельца);
	
КонецФункции


После все работает. Можно сделать через расширение.
vlad636; pshunailov; +2 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. polax 06.06.25 10:23 Сейчас в теме
Ну так посмотри отладкой, что в Форма.НастройкиПечатныхФорм[0] (спойлер, там пусто) Смотри где формируются НастройкиПечатныхФорм и почему пустые. Скорее всего, задействован какой-то общий модуль который в новой версии отсутствует или процедура в общ модуле, которую переименовали или убрали ее функционал в др процедуру. 1С это любит, не оставляет без работы программистов
3. pshunailov 35 21.06.25 14:23 Сейчас в теме
4. Flashsong 30 25.06.25 13:08 Сейчас в теме
Может кому пригодится в последнем релизе не удалось так же победить комплексную печать. Решил это следующим способом. Взял старый релиз, где все работало. В регистре сведений "НастройкиПечатиОбъектов" на форме "НастройкиПечатиКомплекта" есть процедура "Печать" и "ПечатьНаПринтер" ее нужно заменить на следующий код со старого релиза. Думаю в новом напортачили с вызовом для внешних печаток.

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


и еще нужна будет процедура

&НаСервере
Функция ПоместитьКомплектПечатныхФормВоВременноеХранилищеСервер(УникальныйИдентификаторВладельца)
	
	 Возврат ПоместитьВоВременноеХранилище(КомплектПечатныхФорм.Выгрузить(), УникальныйИдентификаторВладельца);
	
КонецФункции


После все работает. Можно сделать через расширение.
vlad636; pshunailov; +2 Ответить
Оставьте свое сообщение

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