Каталог решений - БП КОРП МСФО. После обновления на 3.2.3.33 ошибка «Поле объекта не обнаружено (КлючВариантаПредопределенный)» при формировании ОСВ МСФО

БП КОРП МСФО. После обновления на 3.2.3.33 ошибка «Поле объекта не обнаружено (КлючВариантаПредопределенный)» при формировании ОСВ МСФО

БП КОРП МСФО. После обновления на 3.2.3.33 ошибка «Поле объекта не обнаружено (КлючВариантаПредопределенный)» при формировании ОСВ МСФО

В наличии

Описание исправления ошибки формирования ОСВ МСФО в конфигурации БП КОРП МСФО 3.2.3.33.

Категория:

Описание

Всем привет.

Раз в пару лет после обновления БП КОРП МСФО натыкаюсь на такую ошибку, не хочет формироваться ОСВ МСФО. Ошибка плавающая, бывает вылетает даже на демо конфигурации, а бывает так, что обновляют две БП базы с похожими конфигурациями, в одной сломалось, а в другой нет.

После N часов поисков наткнулся на регистр, который хранит в себе варианты отчетов. Как оказалось, нашей ОСВ МСФО там просто нет.

Ошибка случается в момент открытия формы отчета, вот тут, когда не получается найти отчет и не формируются настройки, ну а далее следует непредсказуемое поведение:
 

 

Поиск отчета осуществляется в РС.ПараметрыРаботыПрограммы, модуль менеджера, процедура ХранимыеДанныеПараметраРаботыПрограммы:

 

 

Для исправления проблемы принял решение не лезть в регистр, а просто добавить этот отчет в массив отчетов, вот так:

 

&ИзменениеИКонтроль("ХранимыеДанныеПараметраРаботыПрограммы")
Функция лнт_ХранимыеДанныеПараметраРаботыПрограммы(ИмяПараметра)

	Запрос = Новый Запрос;
	Запрос.УстановитьПараметр("ИмяПараметра", ИмяПараметра);
	Запрос.Текст =
	"ВЫБРАТЬ
	|	ПараметрыРаботыПрограммы.ХранилищеПараметра
	|ИЗ
	|	РегистрСведений.ПараметрыРаботыПрограммы КАК ПараметрыРаботыПрограммы
	|ГДЕ
	|	ПараметрыРаботыПрограммы.ИмяПараметра = &ИмяПараметра";

	УстановитьОтключениеБезопасногоРежима(Истина);
	УстановитьПривилегированныйРежим(Истина);
	Выборка = Запрос.Выполнить().Выбрать();
	Если Выборка.Следующий() Тогда
		#Удаление
		Возврат Выборка.ХранилищеПараметра.Получить();
		#КонецУдаления
		#Вставка
		//++ Консист Гурин С.А. 02.02.2023 бт.24174
		Если ИмяПараметра = "СтандартныеПодсистемы.ВариантыОтчетов" Тогда
			лнт_Данные = Выборка.ХранилищеПараметра.Получить();
			лнт_ОтчетОСВ = Справочники.ИдентификаторыОбъектовМетаданных.НайтиПоРеквизиту("Имя","ОСВМСФО");
			Если ТипЗнч(лнт_Данные.Значение) = Тип("Структура") 
		  	  И лнт_Данные.Значение.Свойство("ОтчетыСНастройками") 			
		  	  И лнт_Данные.Значение.ОтчетыСНастройками.Найти(лнт_ОтчетОСВ) = Неопределено Тогда
		  	
				лнт_Данные.Значение.ОтчетыСНастройками.Добавить(лнт_ОтчетОСВ);
				Возврат лнт_Данные;
			КонецЕсли;
		КонецЕсли;
		
		Возврат Выборка.ХранилищеПараметра.Получить();	
		//-- Консист Гурин С.А. 02.02.2023 бт.24174
		#КонецВставки
	КонецЕсли;
	УстановитьПривилегированныйРежим(Ложь);
	УстановитьОтключениеБезопасногоРежима(Ложь);

	Возврат Неопределено;

КонецФункции

Надеюсь, писал не зря и хоть кому-то, да помог.

has been added to your cart:
Оформление заказа