Итератор для значения не определен при загрузке внешней обработки

1. arsarofficial 11.06.24 01:17 Сейчас в теме
С другой УТ базы выгрузили обработку , там всё работает , конфигурация та же , полностью та же база , только обновленная . При загрузки обработки вылезает ошибка
итератор для значения не определен при загрузке внешней обработки
..... Подскажите что нужно исправить?)
Прикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. arsarofficial 11.06.24 01:26 Сейчас в теме
Почему то думаю что тут ошибка
Прикрепленные файлы:
3. arsarofficial 11.06.24 01:30 Сейчас в теме
Удалил строку ПараметрыРегистрации.Вставить("Назначение");
Теперь загружается спокойно. Кто обьяснит ?
4. Vadim-SH 11.06.24 06:43 Сейчас в теме
(3) Нужно примерно так:
ПараметрыРегистрации.Вставить("Назначение", Новый Массив);

Посмотри функцию ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке(ВерсияБСП = ""),
тогда сам сможешь объяснить.

// Формирует шаблон сведений о внешнем отчете или обработке для последующего заполнения.
//
// Параметры:
//   ВерсияБСП - см. СтандартныеПодсистемыСервер.ВерсияБиблиотеки.
//
// Возвращаемое значение:
//   Структура - параметры внешнего отчета или обработки:
//       * Вид - ПеречислениеСсылка.ВидыДополнительныхОтчетовИОбработок 
//             - Строка - вид внешнего отчета или обработки. Для указания вида рекомендуется использовать функции
//           ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработки<ИмяВида>.
//           Также вид можно указать явно:
//           "ПечатнаяФорма",
//           "ЗаполнениеОбъекта",
//           "СозданиеСвязанныхОбъектов",
//           "Отчет",
//           "ШаблонСообщения",
//           "ДополнительнаяОбработка",
//           "ДополнительныйОтчет".
//       
//       * Версия - Строка - версия отчета или обработки (далее - обработки).
//           Задается в формате: "<Старший номер>.<Младший номер>".
//       
//       * Назначение - Массив - полные имена объектов конфигурации (Строка), для которых предназначен эта обработка.
//                               Необязательное свойство.
//       
//       * Наименование - Строка - представление для администратора (наименование элемента справочника).
//                                 Если не заполнено, то берется представление объекта метаданных внешней обработки.
//                                 Необязательное свойство. 
//       
//       * БезопасныйРежим - Булево - признак подключения внешней обработки в безопасном режиме.
//                                    Значение по умолчанию Истина (обработка будет выполняться безопасно).
//                                    В безопасном режиме:
//                                     Игнорируется привилегированный режим.
//                                     Запрещены внешние по отношению к платформе 1С:Предприятия действия:
//                                      COM;
//                                      загрузка внешних компонент;
//                                      запуск внешних приложений и команд операционной системы;
//                                      доступ к файловой системе, кроме временных файлов;
//                                      доступ к Интернету.
//                                    Необязательное свойство.
//       
//       * Разрешения - Массив из ОбъектXDTO - дополнительные разрешения, необходимые внешней обработке при работе в
//                               безопасном режиме. Элемент массива - ОбъектXDTO - разрешение типа
//                               {http://www.1c.ru/1cFresh/ApplicationExtensions/Permissions/a.b.c.d}PermissionBase.
//                               Для формирования описания разрешения рекомендуется использовать функции
//                               РаботаВБезопасномРежиме.Разрешение<ВидРазрешения>(<ПараметрыРазрешения>).
//                               Необязательное свойство.
//       
//       * Информация - Строка - краткая информация о внешней обработке.
//                               В этом параметре для администратора рекомендуется дать описание ее возможностей.
//                               Если не заполнено, то берется комментарий объекта метаданных внешней обработки.
//       
//       * ВерсияБСП - см. СтандартныеПодсистемыСервер.ВерсияБиблиотеки.
//       
//       * ОпределитьНастройкиФормы - Булево - только для дополнительных отчетов, подключенных к общей форме ФормаОтчета.
//                                             Позволяет переопределять некоторые настройки общей формы отчета и 
//                                             подписываться на ее события.
//                                             Если Истина, то в модуле объекта отчета следует определить процедуру по шаблону:
//       
//       * НазначениеВариантаОтчета - ПеречислениеСсылка.НазначенияВариантовОтчетов - назначение варианта отчета
//										(ДляКомпьютеровИПланшетов, ДляСмартфонов, ДляЛюбыхУстройств).
//           
//           // Задать настройки формы отчета.
//           //
//           // Параметры:
//           //   Форма - ФормаКлиентскогоПриложения, Неопределено
//           //   КлючВарианта - Строка, Неопределено
//           //   Настройки - см. ОтчетыКлиентСервер.НастройкиОтчетаПоУмолчанию
//           //
//           Процедура ОпределитьНастройкиФормы(Форма, КлючВарианта, Настройки) Экспорт
//           	// Код процедуры.
//           КонецПроцедуры
//           
//           Подробнее см. в документации к подсистемам "Дополнительные отчеты и обработки" и "Варианты отчетов".
//           Необязательное свойство.
//       
//       * Команды - ТаблицаЗначений - настройки команд, поставляемых внешней обработкой (необязательно для отчетов):
//           ** Идентификатор - Строка - внутреннее имя команды. Для внешних печатных форм (когда Вид = "ПечатнаяФорма"):
//                 Идентификатор может содержать имена одной или нескольких команд печати,
//                 разделенные запятыми. Подробнее см. описание колонки Идентификатор
//                 в функции УправлениеПечатью.СоздатьКоллекциюКомандПечати.
//           ** Представление - Строка - пользовательское представление команды.
//           ** Использование - Строка - тип команды:
//               "ВызовКлиентскогоМетода",
//               "ВызовСерверногоМетода",
//               "ЗаполнениеФормы",
//               "ОткрытиеФормы" или
//               "СценарийВБезопасномРежиме".
//               Для получения типов команд рекомендуется использовать функции
//               ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКоманды<ИмяТипа>.
//               В комментариях к этим функциям также даны шаблоны процедур-обработчиков команд.
//           ** ПоказыватьОповещение - Булево - если Истина, то при запуске команды выводится оповещение "Команда выполняется...".
//              Действует для всех типов команд, кроме команд по открытию формы (Использование = "ОткрытиеФормы").
//           ** Модификатор - Строка - дополнительная классификация команды.
//               Для внешних печатных форм (когда Вид = "ПечатнаяФорма"):
//                 "ПечатьMXL" - для печатных форм на основе табличных макетов.
//               Для загрузки данных из файла (когда Вид = "ПечатнаяФорма" и Использование = "ЗагрузкаДанныхИзФайла"):
//                 Модификатор является обязательным для заполнения
//                 и должен содержать полное имя объекта метаданных (справочника),
//                 для которого выполняется загрузка данных.
//           ** Скрыть - Булево - необязательный. Признак того, что это служебная команда.
//               Если установить в значение Истина, то команда скрывается в карточке дополнительного объекта.
//
Функция СведенияОВнешнейОбработке(ВерсияБСП = "") Экспорт
	ПараметрыРегистрации = Новый Структура;
	
	ПараметрыРегистрации.Вставить("Вид", "");
	ПараметрыРегистрации.Вставить("Версия", "0.0");
	ПараметрыРегистрации.Вставить("Назначение", Новый Массив);
	ПараметрыРегистрации.Вставить("Наименование", Неопределено);
	ПараметрыРегистрации.Вставить("БезопасныйРежим", Истина);
	ПараметрыРегистрации.Вставить("Информация", Неопределено);
	ПараметрыРегистрации.Вставить("ВерсияБСП", ВерсияБСП);
	ПараметрыРегистрации.Вставить("ОпределитьНастройкиФормы", Ложь);
	Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ВариантыОтчетов") Тогда
		МодульВариантыОтчетовСлужебный = ОбщегоНазначения.ОбщийМодуль("ВариантыОтчетовСлужебный");
		ПараметрыРегистрации.Вставить("НазначениеВариантаОтчета",
			МодульВариантыОтчетовСлужебный.ПустоеНазначениеВариантаОтчета());
	КонецЕсли;
	
	РеквизитыТабличнойЧасти = Метаданные.Справочники.ДополнительныеОтчетыИОбработки.ТабличныеЧасти.Команды.Реквизиты;
	
	ТаблицаКоманд = Новый ТаблицаЗначений;
	ТаблицаКоманд.Колонки.Добавить("Представление", РеквизитыТабличнойЧасти.Представление.Тип);
	ТаблицаКоманд.Колонки.Добавить("Идентификатор", РеквизитыТабличнойЧасти.Идентификатор.Тип);
	ТаблицаКоманд.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка"));
	ТаблицаКоманд.Колонки.Добавить("ПоказыватьОповещение", РеквизитыТабличнойЧасти.ПоказыватьОповещение.Тип);
	ТаблицаКоманд.Колонки.Добавить("Модификатор", РеквизитыТабличнойЧасти.Модификатор.Тип);
	ТаблицаКоманд.Колонки.Добавить("Скрыть",      РеквизитыТабличнойЧасти.Скрыть.Тип);
	ТаблицаКоманд.Колонки.Добавить("ЗаменяемыеКоманды", РеквизитыТабличнойЧасти.ЗаменяемыеКоманды.Тип);
	
	ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);
	ПараметрыРегистрации.Вставить("Разрешения", Новый Массив);
	
	Возврат ПараметрыРегистрации;
КонецФункции

Показать
6. arsarofficial 11.06.24 11:28 Сейчас в теме
(4) а без этого параметра сильно страшно работать? :)
7. Vadim-SH 11.06.24 14:53 Сейчас в теме
(6) Если не знаешь для чего он нужен, то очень страшно:)

// * Назначение - Массив - полные имена объектов конфигурации (Строка), для которых предназначен эта обработка.
// Необязательное свойство.

Нужен для регистрации печатных форм и обработок заполнения.

По умолчанию он такой
ПараметрыРегистрации.Вставить("Назначение", Новый Массив);
А твоя обработка может его переопределить
5. nomad_irk 76 11.06.24 08:07 Сейчас в теме
(3)
С другой УТ базы выгрузили обработку , там всё работает , конфигурация та же , полностью та же база , только обновленная

Вы уж определитесь для начала: конфигурация та же, либо обновленнная.

Версия БСП либо сильно древняя, либо наоборот сильно новая.
8. Anton_new01 11.06.24 15:05 Сейчас в теме
(3)
у вас ошибка Итератор неопределен!!! на строке:
Для каждого ... Из РегистрационныеДанные.Назначение Цикл...
т.е. в этой конструкции система ожидает некую коллекцию(например массив или еще что-то), а у вас неопределено. Система не знает как перебирать в цикле неопределено - поэтому и падает с сообщением :

"Итератор для значения не определен".
Оставьте свое сообщение

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