You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
https://partners.v8.1c.ru/forum/t/2202363/m/2202363
Свойство ЭтотОбъект в управляемых формах было добавлено для единообразия с другими клиентскими модулями. Одновременно старое свойство ЭтаФорма с тем же смыслом было скрыто из синтакс-помощника, но осталось в объектной модели, контекстной подсказке и командах рефакторинга. Однако в силу особенностей управляемой формы использование ЭтотОбъект вместо ЭтаФорма имеет ряд недостатков:
В формах объектов в подавляющем большинстве есть основной реквизит с именем "Объект". Соответственно имеем 2 очень похожих по написанию свойства (ЭтотОбъект и Объект) с сильно различающимся смыслом. Это создает путаницу для начинающих программистов.
Нередко код из модуля формы приходится переносить в клиентский общий модуль. При этом все обращения в нем к ЭтотОбъект сохраняют свою корректность для компилятора (проверки кода конфигуратора), хотя меняют смысл. Легко забыть переименовать их или передать одноименный параметр. Если передать одноименный параметр, то становится недоступным одноименное свойство самого модуля.
Эти недостатки повышают риски внесения лишних ошибок в код.
Поэтому предлагаю восстановить свойство ЭтаФорма "в правах":
Вернуть его видимость в синтакс-помощнике.
Убрать рекомендации и проверки (например в EDT), которые считают его устаревшим.
Пример перенесенного из модуля формы в клиентский общий модуль кода
В EDT Вы у себя сами можете исключить это из проверок.
tormozit
changed the title
О недостатках использования свойства ЭтотОбъект в управляемой форме
О недостатках использования свойства ЭтотОбъект вместо ЭтаФорма в управляемой форме
Sep 11, 2024
https://partners.v8.1c.ru/forum/t/2202363/m/2202363
Свойство ЭтотОбъект в управляемых формах было добавлено для единообразия с другими клиентскими модулями. Одновременно старое свойство ЭтаФорма с тем же смыслом было скрыто из синтакс-помощника, но осталось в объектной модели, контекстной подсказке и командах рефакторинга. Однако в силу особенностей управляемой формы использование ЭтотОбъект вместо ЭтаФорма имеет ряд недостатков:
Эти недостатки повышают риски внесения лишних ошибок в код.
Поэтому предлагаю восстановить свойство ЭтаФорма "в правах":
Пример перенесенного из модуля формы в клиентский общий модуль кода
Такой код будет скомпилирован и даже долгое время может работать без ошибки, пока однажды сработает условие и выполнится обращение к ЭтотОбъект.
The text was updated successfully, but these errors were encountered: