Имя: Пароль:
1C
1С v8
Ошибка при выполнении доп. обработчика обновления ("Комплексная автоматизация")
0 zelenprog
 
12.02.25
16:46
Добрый день!

Продолжаю обновлять давно не обновлявшуюся "Комплексную автоматизацию".
Сейчас делаю переход на новую редакцию с 2.5.8.433 на 2.5.12.270.

Все обновление прошло хорошо, кроме одного дополнительного обработчика.
В списке результатов выполнения обработчиков написано: "№209 Переносит дополнительные сведения в новый набор доп. реквизитов и сведений справочника "Дополнительные отчеты и обработки" - Не выполнено".

В журнале регистрации вот такая ошибка:
Значение не является значением объектного типа (ДополнительныеСведения)
{ОбщийМодуль.УправлениеСвойствамиУТ.Модуль(1549)}:КоличествоСведений   = НовыйНаборОбъект.ДополнительныеСведения.НайтиСтроки(

Подробности
----------
Не удалось обработать набор свойств <> по причине:
Значение не является значением объектного типа (ДополнительныеСведения)
{ОбщийМодуль.УправлениеСвойствамиУТ.Модуль(1549)}:КоличествоСведений   = НовыйНаборОбъект.ДополнительныеСведения.НайтиСтроки(
{(1)}:УправлениеСвойствамиУТ.ОбработатьНаборыСвойствДляПереходаНаНовуюВерсию(Параметры[0])
{ОбщийМодуль.ОбщегоНазначения.Модуль(5962)}:Выполнить ИмяМетода + "(" + ПараметрыСтрока + ")";
{ОбщийМодуль.ОбновлениеИнформационнойБазыСлужебный.Модуль(4925)}:ОбщегоНазначения.ВыполнитьМетодКонфигурации(КонтекстОбработчика.ИмяОбработчика, ПараметрыВызова);
{(1)}:ОбновлениеИнформационнойБазыСлужебный.ВыполнитьОтложенныйОбработчик(Параметры[0],Параметры[1])
{ОбщийМодуль.ОбщегоНазначения.Модуль(5962)}:Выполнить ИмяМетода + "(" + ПараметрыСтрока + ")";
{ОбщийМодуль.ДлительныеОперации.Модуль(1692)}:ОбщегоНазначения.ВыполнитьМетодКонфигурации(ИмяПроцедуры, ПараметрыВызова);
{ОбщийМодуль.ДлительныеОперации.Модуль(670)}:ВызватьПроцедуру(ИмяПроцедуры, ПараметрыЭкспортнойПроцедуры, ПараметрыВыполнения);
{ОбщийМодуль.ОбновлениеИнформационнойБазыСлужебный.Модуль(5357)}:РезультатЗапуска = ДлительныеОперации.ВыполнитьВФоне(ОписаниеПотока.Процедура,
{ОбщийМодуль.ОбновлениеИнформационнойБазыСлужебный.Модуль(3701)}:ВыполнитьПоток(Группы, Поток);
[ОшибкаВоВремяВыполненияВстроенногоЯзыка, ОшибкаИспользованияВстроенногоЯзыка]----------


Отладкой нашел причину ошибки.
В этом обработчике "НовыйНаборОбъект" формируется по жестко прописанной в коде ссылки в модуле "ДополнительныеОтчетыИОбработки":
Процедура ПриПолученииПредопределенныхНаборовСвойств(Наборы) Экспорт
	Набор = Наборы.Строки.Добавить();
	Набор.Имя = "Справочник_ДополнительныеОтчетыИОбработки";
	Набор.Идентификатор = Новый УникальныйИдентификатор("82cbc0a7-224e-48bc-a4a5-a108c3ac3bd0");
КонецПроцедуры


Скорее всего предполагается, что в справочнике "НаборыДополнительныхРеквизитовИСведений" должен быть предопределенный элемент "Справочник_ДополнительныеОтчетыИОбработки" с таким индентификатором.
Однако, у меня такого элемента нету.
Зато есть предопределенный элемент "УдалитьСправочник_ДополнительныеОтчетыИОбработки" с другим идентификатором.

Как это исправлять?
Помогите разобраться.
1 zelenprog
 
12.02.25
16:23
При обновлении все прошло гладко, никаких ошибок не было.
Вот только с этим одним набором засада.
2 DiMel_77
 
12.02.25
17:01
(0) А если в консоли кода на сервере запустить код:
УправлениеСвойствамиСлужебный.СоздатьПредопределенныеНаборыСвойств();
3 zelenprog
 
13.02.25
10:09
(2) А если в консоли кода на сервере запустить код:
УправлениеСвойствамиСлужебный.СоздатьПредопределенныеНаборыСвойств();


Код отработал. Предопределенный элемент с идентификатором появился.
Невыполненный ранее дополнительный обработчик обновления выполнился без ошибок.
Но, что-то в базе нарушилось: при переходе в карточке контрагента на вкладку "Дополнительно" она просто исчезает. Дополнительные реквизиты не отображаются.
Значит, все-таки что-то не так.

Буду пробовать повторно выполнить обновление.
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн