Прошу добавить параметр "Локализованный" в метод ПолучитьНазваниеТипаТекущегоЭлемента()

tormozit Открыто Высокий

С апреля (ИР адаптер 2.07) я перешел на собственную функцию https://turboconf.ru/Tasks/10190 получения перечислимого типа элемента интерфейса, которая опирается на ПолучитьНазваниеТипаТекущегоЭлемента(), которая возвращает локализованное имя. Но из-за этого она некорректно работает на нерусских локалях ОС.

Вот пример https://turboconf.ru/Tasks/10305 - там вместо "документ" возвращает "document". В результате у пользователя адаптер практически вообще не работает.

Поэтому прошу добавить параметр "Локализованный" в метод ПолучитьНазваниеТипаТекущегоЭлемента(), чтобы получать ControlType вместо LocalizedControlType. Тогда я буду проверять всегда английское имя и не будет зависимости от локали ОС.


Функция ПолучитьТипТекущегоЭлемента()
	//ТипЭлементаИнтерфейса = ТурбоКонф.ПолучитьТипТекущегоЭлемента(); // Вероятно ошибка OScript https://turboconf.ru/Tasks/8430, https://turboconf.ru/Tasks/10190
	ТипЭлементаИнтерфейса = ТурбоКонф.ПолучитьНазваниеТипаТекущегоЭлемента(); 
	Если ТипЭлементаИнтерфейса = "документ" Тогда
		ТипЭлементаИнтерфейса = ЗначенияТипЭлемента.Документ;
	ИначеЕсли ТипЭлементаИнтерфейса = "кнопка" Тогда
		ТипЭлементаИнтерфейса = ЗначенияТипЭлемента.Кнопка;
	ИначеЕсли ТипЭлементаИнтерфейса = "меню" Тогда
		ТипЭлементаИнтерфейса = ЗначенияТипЭлемента.Меню;
	ИначеЕсли ТипЭлементаИнтерфейса = "неизвестный" Тогда
		ТипЭлементаИнтерфейса = ЗначенияТипЭлемента.Неизвестный;
	ИначеЕсли ТипЭлементаИнтерфейса = "панель" Тогда
		ТипЭлементаИнтерфейса = ЗначенияТипЭлемента.Панель;
	ИначеЕсли ТипЭлементаИнтерфейса = "поле" Тогда
		ТипЭлементаИнтерфейса = ЗначенияТипЭлемента.Поле;
	ИначеЕсли ТипЭлементаИнтерфейса = "поле со списком" Тогда
		ТипЭлементаИнтерфейса = ЗначенияТипЭлемента.ПолеСоСписком;
	ИначеЕсли ТипЭлементаИнтерфейса = "список" Тогда
		ТипЭлементаИнтерфейса = ЗначенияТипЭлемента.Список;
	ИначеЕсли ТипЭлементаИнтерфейса = "таблицу" Тогда
		ТипЭлементаИнтерфейса = ЗначенияТипЭлемента.Таблица;
	ИначеЕсли ТипЭлементаИнтерфейса = "флажок" Тогда
		ТипЭлементаИнтерфейса = ЗначенияТипЭлемента.Флажок;
	ИначеЕсли ТипЭлементаИнтерфейса = "элемент меню" Тогда
		ТипЭлементаИнтерфейса = ЗначенияТипЭлемента.ЭлементМеню;
	ИначеЕсли ТипЭлементаИнтерфейса = "элемент списка" Тогда
		ТипЭлементаИнтерфейса = ЗначенияТипЭлемента.ЭлементСписка;
	Иначе
		ТипЭлементаИнтерфейса = ЗначенияТипЭлемента.Неизвестный;
	КонецЕсли;
	Возврат ТипЭлементаИнтерфейса;
КонецФункции

Комментарии

tormozit
#1, 04 июня 2025 07:40

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


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