Метод объекта не обнаружен (ПодготовитьКоллекциюПечатныхФорм)
Добрый день! После обновления на ЗУП 3.1.10 функция "ПодготовитьКоллекциюПечатныхФорм" перестала быть экспортной, поэтому стало выдавать ошибку: "Метод объекта не обнаружен (ПодготовитьКоллекциюПечатныхФорм)".
В модуль формы ВПФ добавили функцию:
Заменили
на
Но выходит теперь сообщение об ошибке:
Значение не является значением объектного типа (Экземпляров)
ПечатнаяФорма.Экземпляров = ПечатнаяФорма.Экземпляров + 1;
Как это исправить?
КоллекцияФорм = УправлениеПечатью.ПодготовитьКоллекциюПечатныхФорм(ПечатнаяФорма);
В модуль формы ВПФ добавили функцию:
Функция ПодготовитьКоллекциюПечатныхФорм(Знач Идентификаторы)
Результат = Новый ТаблицаЗначений;
Для Каждого ИмяКолонки Из УправлениеПечатьюКлиентСервер.ИменаПолейКоллекцииПечатныхФорм() Цикл
Результат.Колонки.Добавить(ИмяКолонки);
КонецЦикла;
Если ТипЗнч(Идентификаторы) = Тип("Строка") Тогда
Идентификаторы = СтрРазделить(Идентификаторы, ",");
КонецЕсли;
Для Каждого Идентификатор Из Идентификаторы Цикл
ПечатнаяФорма = Результат.Найти(Идентификатор, "ИмяМакета");
Если ПечатнаяФорма = Неопределено Тогда
ПечатнаяФорма = Результат.Добавить();
ПечатнаяФорма.ИмяМакета = Идентификатор;
ПечатнаяФорма.ИмяВРЕГ = ВРег(Идентификатор);
ПечатнаяФорма.Экземпляров = 1;
Иначе
ПечатнаяФорма.Экземпляров = ПечатнаяФорма.Экземпляров + 1;
КонецЕсли;
КонецЦикла;
Результат.Индексы.Добавить("ИмяВРЕГ");
Возврат Результат;
КонецФункции
ПоказатьЗаменили
КоллекцияФорм = УправлениеПечатью.ПодготовитьКоллекциюПечатныхФорм(ПечатнаяФорма);
на
КоллекцияФорм = ПодготовитьКоллекциюПечатныхФорм(ПечатнаяФорма);
Но выходит теперь сообщение об ошибке:
Значение не является значением объектного типа (Экземпляров)
ПечатнаяФорма.Экземпляров = ПечатнаяФорма.Экземпляров + 1;
Как это исправить?
По теме из базы знаний
Найденные решения
Решение здесь: https://forum.infostart.ru/forum9/topic220334/#message2285052
Функция ПодготовитьКоллекциюПечатныхФорм(Знач ИменаМакетов)
Макеты = Новый ТаблицаЗначений;
Макеты.Колонки.Добавить("ИмяМакета");
Макеты.Колонки.Добавить("ИмяВРЕГ");
Макеты.Колонки.Добавить("СинонимМакета");
Макеты.Колонки.Добавить("ТабличныйДокумент");
Макеты.Колонки.Добавить("Экземпляров");
Макеты.Колонки.Добавить("Картинка");
Макеты.Колонки.Добавить("ПолныйПутьКМакету");
Макеты.Колонки.Добавить("ИмяФайлаПечатнойФормы");
Макеты.Колонки.Добавить("ОфисныеДокументы");
Если ТипЗнч(ИменаМакетов) = Тип("Строка") Тогда
ИменаМакетов = СтрРазделить(ИменаМакетов, ",");
КонецЕсли;
Для Каждого ИмяМакета Из ИменаМакетов Цикл
Макет = Макеты.Найти(ИмяМакета, "ИмяМакета");
Если Макет = Неопределено Тогда
Макет = Макеты.Добавить();
Макет.ИмяМакета = ИмяМакета;
Макет.ИмяВРЕГ = ВРег(ИмяМакета);
Макет.Экземпляров = 1;
Иначе
Макет.Экземпляров = Макет.Экземпляров + 1;
КонецЕсли;
КонецЦикла;
Возврат Макеты;
КонецФункции
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(7)
Процедура ВыполнитьПечать()
Если ТипЗнч(Объект.СсылкаНаОбъект) = Тип("СправочникСсылка.Сотрудники") Тогда
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ ПЕРВЫЕ 1
| ПриемНаРаботу.Ссылка КАК Ссылка
|ИЗ
| Документ.ПриемНаРаботу КАК ПриемНаРаботу
|ГДЕ
| ПриемНаРаботу.Сотрудник = &Сотрудник
| И ПриемНаРаботу.Проведен
|
|УПОРЯДОЧИТЬ ПО
| ПриемНаРаботу.Дата УБЫВ";
Запрос.Параметры.Вставить("Сотрудник",Объект.СсылкаНаОбъект);
Результат = Запрос.Выполнить().Выбрать();
Если Результат.Следующий() Тогда
МассивОбъектовНазначения = Новый Массив;
МассивОбъектовНазначения.Добавить(Результат.Ссылка);
КонецЕсли;
Иначе
МассивОбъектовНазначения = Новый Массив;
МассивОбъектовНазначения.Добавить(Объект.СсылкаНаОбъект);
КонецЕсли;
ПараметрыВывода = ПодготовитьСтруктуруПараметровВывода();
ОбъектыПечати = Новый СписокЗначений;
КоллекцияФорм = ПодготовитьКоллекциюПечатныхФорм(ПечатнаяФорма);
ЭтотОбъект().Печать(МассивОбъектовНазначения, КоллекцияФорм, ОбъектыПечати, ПараметрыВывода);
ТабличноеПоле.Очистить();
Для каждого СтрокаТаблицы Из КоллекцияФорм Цикл
Если СтрокаТаблицы.ТабличныйДокумент <> Неопределено Тогда
ТабличноеПоле = СтрокаТаблицы.ТабличныйДокумент;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Показать
Решение здесь: https://forum.infostart.ru/forum9/topic220334/#message2285052
Функция ПодготовитьКоллекциюПечатныхФорм(Знач ИменаМакетов)
Макеты = Новый ТаблицаЗначений;
Макеты.Колонки.Добавить("ИмяМакета");
Макеты.Колонки.Добавить("ИмяВРЕГ");
Макеты.Колонки.Добавить("СинонимМакета");
Макеты.Колонки.Добавить("ТабличныйДокумент");
Макеты.Колонки.Добавить("Экземпляров");
Макеты.Колонки.Добавить("Картинка");
Макеты.Колонки.Добавить("ПолныйПутьКМакету");
Макеты.Колонки.Добавить("ИмяФайлаПечатнойФормы");
Макеты.Колонки.Добавить("ОфисныеДокументы");
Если ТипЗнч(ИменаМакетов) = Тип("Строка") Тогда
ИменаМакетов = СтрРазделить(ИменаМакетов, ",");
КонецЕсли;
Для Каждого ИмяМакета Из ИменаМакетов Цикл
Макет = Макеты.Найти(ИмяМакета, "ИмяМакета");
Если Макет = Неопределено Тогда
Макет = Макеты.Добавить();
Макет.ИмяМакета = ИмяМакета;
Макет.ИмяВРЕГ = ВРег(ИмяМакета);
Макет.Экземпляров = 1;
Иначе
Макет.Экземпляров = Макет.Экземпляров + 1;
КонецЕсли;
КонецЦикла;
Возврат Макеты;
КонецФункции
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот