Как найти объект в Конфигураторе на основе открытого окна в клиенте 1С?

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

При работе с большими конфигурациями 1С разработчики часто сталкиваются с ситуацией, когда название документа или справочника в пользовательском интерфейсе (синоним) не совпадает с его реальным именем в дереве метаданных. Это затрудняет поиск нужного объекта в Конфигураторе для внесения изменений. Рассмотрим подробнее все доступные способы — от стандартных функций платформы до профессиональных инструментов отладки, которые помогут нам мгновенно идентифицировать любой элемент системы.

Способ 1. Использование режима технического специалиста

Этот метод является наиболее быстрым и штатным для современных версий платформы 8.3. Разберем по шагам, как получить информацию об объекте напрямую из интерфейса:

  1. Для начала нам необходимо убедиться, что включен соответствующий режим. Перейдем в главное меню (три полоски или кнопка «Сервис»), выберем «Настройки» — «Параметры».
  2. В открывшемся окне установим галочку «Режим технического специалиста» и нажмем «ОК».
  3. Теперь откроем интересующий нас документ или справочник. В правом верхнем углу формы нажмем на кнопку с тремя точками (или «Еще») и выберем пункт «Информация для технического специалиста».

В появившемся окне мы увидим полное имя объекта метаданных и путь к форме. Проанализируем эти данные: там будет четко указано, например, Документ.РеализацияТоваровУслуг. Это имя можно скопировать и вставить в глобальный поиск Конфигуратора или найти в дереве метаданных.

Способ 2. Анализ навигационной ссылки

Проанализируем ситуацию, когда нам нужно быстро узнать имя объекта, не заходя в глубокие настройки. Для этого в платформе предусмотрен механизм навигационных ссылок.

В открытой форме документа в верхней панели (рядом с кнопкой закрытия) найдем значок в виде цепочки — «Получить ссылку». При нажатии на нее система сформирует строку вида:

e1cib/data/Документ.ПеремещениеТоваров?ref=...

Важный момент: текст, идущий после слова data/ и до вопросительного знака, и есть точное внутреннее имя объекта в Конфигураторе. Этот способ работает безотказно, даже если синоним объекта в интерфейсе был изменен до неузнаваемости.

Способ 3. Поиск через «Журнал регистрации»

Рассмотрим системный подход, который выручает, если форма объекта открывается программно или имеет сложную структуру. Программа 1С фиксирует практически каждое действие пользователя в специальном логе.

  1. Откроем или изменим нужный нам объект в режиме «Предприятие».
  2. Перейдем в «Журнал регистрации» (обычно находится в разделе «Настройки» или «Обслуживание» — «Сервис»).
  3. Отфильтруем события по текущему моменту времени и своему пользователю.

В колонке «Данные» система отобразит тип объекта и его представление. Если мы нажмем на запись, в деталях будет указано полное техническое имя метаданных. Этот метод особенно полезен, когда нужно понять, какой именно объект создается «за кулисами» при выполнении какой-либо обработки.

Способ 4. Остановка отладки «по требованию»

Выясним причину, почему иногда сложно найти обработчик конкретной кнопки. Существует «хитрый» способ использования конфигуратора, который позволяет «поймать» объект за руку в момент активности.

В Конфигураторе на панели инструментов «Отладка» найдем кнопку «Остановить» (выглядит как знак паузы). Если ее нажать, Конфигуратор перейдет в режим ожидания. Теперь перейдем в клиентское приложение и совершим любое действие в форме (например, нажмем кнопку или изменим реквизит). Платформа немедленно передаст управление в Конфигуратор и откроет модуль именно того объекта, с которым вы сейчас взаимодействуете.

Внимание: этот метод может не сработать корректно, если в конфигурации активно используются «обработчики ожидания», так как отладчик может остановиться на коде этих фоновых процессов.

Способ 5. Использование замера производительности

Если нам нужно найти не просто объект, а конкретную форму или процедуру, которая срабатывает при открытии, воспользуемся Замером производительности:

  1. В Конфигураторе включим замер (Отладка — Замер производительности).
  2. В клиенте откроем нужный документ.
  3. Вернемся в Конфигуратор и выключим замер.

В открывшемся списке процедур проанализируем колонку «Модуль». В самом верху списка (или по количеству вызовов) будут находиться модули формы или объекта, который мы только что открывали. Это самый надежный способ найти «самописные» или нетиповые формы.

Способ 6. Программный вывод имени формы

Разберем ситуацию, когда у нас есть доступ к консоли кода или возможность временного изменения конфигурации. Мы можем программно попросить систему «представиться». Рассмотрим пример кода, который можно выполнить в контексте формы:


Сообщить("Полное имя формы: " + ЭтаФорма.ИмяФормы);
Сообщить("Тип объекта: " + ЭтотОбъект.Метаданные().ПолноеИмя());

Если мы добавим такой код (например, в процедуру ПриСозданииНаСервере или через внешнюю консоль кода), система моментально выдаст точный путь к объекту в дереве метаданных. Это исключает любые ошибки ручного поиска.

Способ 7. Внешние инструменты и расширения

Для профессиональной разработки часто применяются сторонние инструменты. Одним из самых известных является «Инструментарий разработчика» (авторства Tormozit). В его составе есть функция «Инспектор объектов», которая позволяет буквально «ткнуть» в любое открытое окно 1С и получить полную раскладку по нему: имя метаданных, значения всех реквизитов, структуру формы и даже дерево вызовов.

Также упомянем инструмент Vanessa Automation. В нем присутствует обработка «Исследователь формы». Она предназначена для автоматизированного тестирования, но идеально подходит для нашей задачи, так как показывает технические имена всех элементов управления на форме и путь к самой форме в конфигурации.

Способ 8. Проверка состава расширений

Проанализируем ситуацию, когда поиск по основному дереву метаданных не дает результатов. В современных конфигурациях активно используются расширения. Вполне возможно, что форма, которую вы видите, не принадлежит основной конфигурации, а была заимствована в расширение и модифицирована (или даже переименована) там.

Посмотрите список активных расширений в режиме «Предприятие» (через функции для технического специалиста), а затем проверьте в Конфигураторе соответствующие узлы в каждом расширении. Поиск по имени через стандартный Ctrl+Shift+F (Глобальный поиск) также стоит запускать с областью поиска «Везде», включая расширения.

Подводя итог, можно сказать, что самым универсальным и быстрым способом является сочетание режима технического специалиста и анализа навигационной ссылки. Эти методы не требуют внесения изменений в код и работают в любой типовой конфигурации на управляемых формах.

← На главную