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