Прошу сделать возврат из ТурбоКонф.Перейти() признака успешности перехода

tormozit Открыто

Прошу сделать возврат из ТурбоКонф.Перейти() признака успешности перехода, т.е. активирован ли запрошенный объект, или он не найден.

Сейчас приходится использовать ненадежную проверку имени текущего элемента. Но например "ФормаСписка" есть у сотен объектов метаданных.

Как идея, после перехода из результатов поиска, проверить изменилась ли позиция в дереве после перехода.

Комментарии

tormozit
#1, ред. 12 мая 2024 11:13

Реализовал эту идею в ИР адаптере. Алгоритм кажется получился достаточно надежный.

		// Активируем дерево конфигурации, чтобы запомнить текущую позицию в нем
		ТурбоКонф.КонтролШифтКлавиша(Клавиши.C);
		ФрагментыИмени = СтрРазделить(СсылкаСтроки, ".");
		НижнееИскомоеИмя = ФрагментыИмени[ФрагментыИмени.ВГраница()]; 
		БылВременныйСдвиг = НижнееИскомоеИмя = ТурбоКонф.ПолучитьИмяЭлемента();
		Если БылВременныйСдвиг Тогда
			// Временно переходим на соседний элемент дерева, чтобы точно отследить успешность перехода, если уже стоим на нужном элементе
			ТурбоКонф.Клавиша(Клавиши.Up); 
		КонецЕсли;
		СтарыйАктивныйЭлементДерева = ТурбоКонф.ПолучитьRuntimeIdСтрокой();
		ТурбоКонф.Перейти(СсылкаСтроки);
		Успех = СтарыйАктивныйЭлементДерева <> ТурбоКонф.ПолучитьRuntimeIdСтрокой();
		Если Не Успех Тогда
			Если БылВременныйСдвиг Тогда
				ТурбоКонф.Клавиша(Клавиши.Down); 
			КонецЕсли;
			ТурбоКонф.ПоказатьВсплывающееУведомление(НазваниеСкрипта(), "Не удалось перейти к """ + СсылкаСтроки + """. Отключите фильтр в дереве метаданных."); 
			Возврат Ложь;
		КонецЕсли;

tormozit изменил статус на Открыто


Для вставки изображения или файла, перетащите его в поле редактора или вставьте файл из буфера