Ошибка при печати ВПФ в комплекте 1С УТ 11
Доброго времени суток.
После обновления УТ на 11.5.22.63 (ну и соответственно поднял платформу до 27) при печати комплекта из РТиУ перестала выводиться ВПФ. Если в комплекте я её выбираю одну, то вылетает ошибка:
В чём может быть проблема? Раньше всё норм работало.
p/s: Отдельно ВПФ нормально печатается.
После обновления УТ на 11.5.22.63 (ну и соответственно поднял платформу до 27) при печати комплекта из РТиУ перестала выводиться ВПФ. Если в комплекте я её выбираю одну, то вылетает ошибка:
Индекс находится за границами массива
{ОбщийМодуль.ИнтерфейсДокументовЭДО.Модуль(6871)}: ИдентификаторПечатнойФормы = Форма.НастройкиПечатныхФорм[0].ИмяМакета;
{ОбщийМодуль.ИнтерфейсДокументовЭДО.Модуль(4372)}: ДополнитьЭлементамиВнешнегоЭДО(Форма, Отказ, СтандартнаяОбработка);
{ОбщийМодуль.ОбменСКонтрагентамиИнтеграцияСобытия.Модуль(97)}: ИнтерфейсДокументовЭДО.ПечатьДокументовПриСозданииНаСервере(Форма, Отказ, СтандартнаяОбработка);
{ОбщийМодуль.ЭлектронноеВзаимодействие.Модуль(530)}: МодульОбменСКонтрагентами.ПечатьДокументовПриСозданииНаСервере(Форма, Отказ, СтандартнаяОбработка);
{ОбщийМодуль.УправлениеПечатьюЛокализация.Модуль(236)}: ЭлектронноеВзаимодействие.ПечатьДокументовПриСозданииНаСервере(Форма, Отказ, СтандартнаяОбработка);
{ОбщийМодуль.УправлениеПечатьюУТСервер.Модуль(309)}: УправлениеПечатьюЛокализация.ПечатьДокументовПриСозданииНаСервере(Форма, Отказ, СтандартнаяОбработка);
{ОбщийМодуль.УправлениеПечатьюПереопределяемый.Модуль(278)}: УправлениеПечатьюУТСервер.ПечатьДокументовПриСозданииНаСервере(Форма, Отказ, СтандартнаяОбработка);
{ОбщийМодуль.УправлениеПечатью.Модуль(7715)}: УправлениеПечатьюПереопределяемый.ПечатьДокументовПриСозданииНаСервере(Форма, Отказ, СтандартнаяОбработка);
{ОбщаяФорма.ПечатьДокументов.Форма(131)}: УправлениеПечатью.ПечатьДокументовПриСозданииНаСервере(ЭтотОбъект, Отказ, СтандартнаяОбработка);
{ОбщийМодуль.УправлениеПечатьюСлужебныйКлиент.Модуль(345)}: ОткрытьФорму("ОбщаяФорма.ПечатьДокументов", ПараметрыОткрытия, ВладелецФормы, Строка(Новый УникальныйИдентификатор));
{ОбщийМодуль.УправлениеПечатьюГлобальный.Модуль(13)}: УправлениеПечатьюСлужебныйКлиент.ПродолжитьВыполнениеКомандыПечати();
ПоказатьВ чём может быть проблема? Раньше всё норм работало.
p/s: Отдельно ВПФ нормально печатается.
По теме из базы знаний
- [БП 3.0, УТ 11.2][БДРС] Печать пакета документов ТОРГ-12 и Счет-фактура из документа РТиУ с настройкой индивидуального макета для любого контрагента
- ККТ-ОНЛАЙН 54-ФЗ: Обработка для работы онлайн касс АТОЛ, ШТРИХ, VIKI PRINT и т.д. МАРКИРОВКА (Разрешит. режим) + НДС 5% и 7% + ЭКВАЙРИНГ + БЕСПЛАТНЫЙ ДЕМО
- Корректная двусторонняя печать табличных документов + Простой пример создания внешней печатной формы
- Комплект документов (Счет + УПД) для Заказа клиента. УНФ 1.6, УТ 11.4
- Счет - договор (оферта) для БП 3
Найденные решения
Может кому пригодится в последнем релизе не удалось так же победить комплексную печать. Решил это следующим способом. Взял старый релиз, где все работало. В регистре сведений "НастройкиПечатиОбъектов" на форме "НастройкиПечатиКомплекта" есть процедура "Печать" и "ПечатьНаПринтер" ее нужно заменить на следующий код со старого релиза. Думаю в новом напортачили с вызовом для внешних печаток.
и еще нужна будет процедура
После все работает. Можно сделать через расширение.
&НаКлиенте
Процедура Печать(Команда)
ОчиститьСообщения();
Если Не ПроверитьЗаполнение() Тогда
Возврат;
КонецЕсли;
Если КомплектПечатныхФорм.НайтиСтроки(Новый Структура("Печатать", Истина)).Количество() > 0 Тогда
УправлениеПечатьюКлиент.ВыполнитьКомандуПечати(
ТипОбъекта,
"КомплектДокументов",
Объекты.ВыгрузитьЗначения(),
ВладелецФормы,
Новый Структура(
"ПереопределитьПользовательскиеНастройкиКоличества,АдресКомплектаПечатныхФорм,ФиксированныйКомплект",
Истина, ПоместитьКомплектПечатныхФормВоВременноеХранилищеСервер(ВладелецФормы.УникальныйИдентификатор), Истина));
СохранитьПараметры = Истина;
Закрыть();
Иначе
ОчиститьСообщения();
ТекстСообщения = НСтр("ru = 'Выберите хотя бы одну печатную форму для печати.'");
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения, , "КомплектПечатныхФорм");
КонецЕсли;
КонецПроцедуры
Показатьи еще нужна будет процедура
&НаСервере
Функция ПоместитьКомплектПечатныхФормВоВременноеХранилищеСервер(УникальныйИдентификаторВладельца)
Возврат ПоместитьВоВременноеХранилище(КомплектПечатныхФорм.Выгрузить(), УникальныйИдентификаторВладельца);
КонецФункции
После все работает. Можно сделать через расширение.
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Ну так посмотри отладкой, что в Форма.НастройкиПечатныхФорм[0] (спойлер, там пусто) Смотри где формируются НастройкиПечатныхФорм и почему пустые. Скорее всего, задействован какой-то общий модуль который в новой версии отсутствует или процедура в общ модуле, которую переименовали или убрали ее функционал в др процедуру. 1С это любит, не оставляет без работы программистов
Может кому пригодится в последнем релизе не удалось так же победить комплексную печать. Решил это следующим способом. Взял старый релиз, где все работало. В регистре сведений "НастройкиПечатиОбъектов" на форме "НастройкиПечатиКомплекта" есть процедура "Печать" и "ПечатьНаПринтер" ее нужно заменить на следующий код со старого релиза. Думаю в новом напортачили с вызовом для внешних печаток.
и еще нужна будет процедура
После все работает. Можно сделать через расширение.
&НаКлиенте
Процедура Печать(Команда)
ОчиститьСообщения();
Если Не ПроверитьЗаполнение() Тогда
Возврат;
КонецЕсли;
Если КомплектПечатныхФорм.НайтиСтроки(Новый Структура("Печатать", Истина)).Количество() > 0 Тогда
УправлениеПечатьюКлиент.ВыполнитьКомандуПечати(
ТипОбъекта,
"КомплектДокументов",
Объекты.ВыгрузитьЗначения(),
ВладелецФормы,
Новый Структура(
"ПереопределитьПользовательскиеНастройкиКоличества,АдресКомплектаПечатныхФорм,ФиксированныйКомплект",
Истина, ПоместитьКомплектПечатныхФормВоВременноеХранилищеСервер(ВладелецФормы.УникальныйИдентификатор), Истина));
СохранитьПараметры = Истина;
Закрыть();
Иначе
ОчиститьСообщения();
ТекстСообщения = НСтр("ru = 'Выберите хотя бы одну печатную форму для печати.'");
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения, , "КомплектПечатныхФорм");
КонецЕсли;
КонецПроцедуры
Показатьи еще нужна будет процедура
&НаСервере
Функция ПоместитьКомплектПечатныхФормВоВременноеХранилищеСервер(УникальныйИдентификаторВладельца)
Возврат ПоместитьВоВременноеХранилище(КомплектПечатныхФорм.Выгрузить(), УникальныйИдентификаторВладельца);
КонецФункции
После все работает. Можно сделать через расширение.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот