Переименовались кнопки формы после смены режима совместимости

1. Vortigaunt 97 16.02.23 13:25 Сейчас в теме
Поднял режим совместимости конфигурации с 8.3.6 до 8.3.12. Поборол серверные вызовы при завершении работы расширением. И наткнулся на непредвиденные грабли.
Был типовой код который обращался к элементам формы и менял их доступность. Например "Элементы.ВыбратьПользователя.Видимость = Ложь". Теперь любое такое обращение вызывает ошибку "Поле объекта не обнаружено". В отладчике теперь нет элемента "ВыбратьПользователя", а вместо него "ВыбратьПользователяКоманда".
Это из-за режима совместимости? Или в другую сторону надо копать? И можно ли это обойти?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Vortigaunt 97 16.02.23 13:54 Сейчас в теме
Поклацал иные режимы совместимости. Максимальный - 8.3.10 - при котором нет этой ошибки. Буду пока на нем. Если есть предложения, как обойти эту ошибку, пишите.
3. user1816391 17.02.23 09:25 Сейчас в теме
Да, это связано с изменением внутренней реализации формы в версии 8.3.12. В данной версии были внесены изменения в формат хранения элементов формы, и теперь элементы формы могут иметь другие имена, чем в предыдущих версиях.

Чтобы обойти данную проблему, вам нужно найти новое имя элемента формы, на который вы хотите обратиться, и использовать его вместо старого имени. Вы можете использовать отладчик 1С, чтобы найти новое имя элемента формы. Для этого откройте форму, на которой находится элемент, нажмите правой кнопкой мыши на элементе и выберите пункт меню "Свойства элемента". В диалоговом окне свойств элемента вы можете найти новое имя элемента в поле "Имя".

Например, если вместо элемента "ВыбратьПользователя" вы видите элемент "ВыбратьПользователяКоманда", то замените в коде строку "Элементы.ВыбратьПользователя.Видимость = Ложь" на "Элементы.ВыбратьПользователяКоманда.Видимость = Ложь".
4. Vortigaunt 97 17.02.23 10:28 Сейчас в теме
(3)
Например, если вместо элемента "ВыбратьПользователя" вы видите элемент "ВыбратьПользователяКоманда", то замените в коде строку "Элементы.ВыбратьПользователя.Видимость = Ложь" на "Элементы.ВыбратьПользователяКоманда.Видимость = Ложь".

Это понятно. Но код то типовой, на замке. Режим совместимости то и поднимался исключительно для того, чтобы была возможность подключать расширения конфигурации. Понятно, что все эти места можно исправить через расширение, но:
1. Конфигурация очень большая. Аналог КА. Как отыскать все такие места в коде, когда ошибка возникает только в рантайме?
2. Нет гарантии, что поставщик потом в обновлении не подкинет новых правок аналогичных указанным выше.
Не. Я лучше на 8.3.10 откачусь.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот