При работе с большими конфигурациями 1С разработчики часто сталкиваются с ситуацией, когда название документа или справочника в пользовательском интерфейсе (синоним) не совпадает с его реальным именем в дереве метаданных. Это затрудняет поиск нужного объекта в Конфигураторе для внесения изменений. Рассмотрим подробнее все доступные способы — от стандартных функций платформы до профессиональных инструментов отладки, которые помогут нам мгновенно идентифицировать любой элемент системы.
Этот метод является наиболее быстрым и штатным для современных версий платформы 8.3. Разберем по шагам, как получить информацию об объекте напрямую из интерфейса:
В появившемся окне мы увидим полное имя объекта метаданных и путь к форме. Проанализируем эти данные: там будет четко указано, например, Документ.РеализацияТоваровУслуг. Это имя можно скопировать и вставить в глобальный поиск Конфигуратора или найти в дереве метаданных.
Проанализируем ситуацию, когда нам нужно быстро узнать имя объекта, не заходя в глубокие настройки. Для этого в платформе предусмотрен механизм навигационных ссылок.
В открытой форме документа в верхней панели (рядом с кнопкой закрытия) найдем значок в виде цепочки — «Получить ссылку». При нажатии на нее система сформирует строку вида:
e1cib/data/Документ.ПеремещениеТоваров?ref=...
Важный момент: текст, идущий после слова data/ и до вопросительного знака, и есть точное внутреннее имя объекта в Конфигураторе. Этот способ работает безотказно, даже если синоним объекта в интерфейсе был изменен до неузнаваемости.
Рассмотрим системный подход, который выручает, если форма объекта открывается программно или имеет сложную структуру. Программа 1С фиксирует практически каждое действие пользователя в специальном логе.
В колонке «Данные» система отобразит тип объекта и его представление. Если мы нажмем на запись, в деталях будет указано полное техническое имя метаданных. Этот метод особенно полезен, когда нужно понять, какой именно объект создается «за кулисами» при выполнении какой-либо обработки.
Выясним причину, почему иногда сложно найти обработчик конкретной кнопки. Существует «хитрый» способ использования конфигуратора, который позволяет «поймать» объект за руку в момент активности.
В Конфигураторе на панели инструментов «Отладка» найдем кнопку «Остановить» (выглядит как знак паузы). Если ее нажать, Конфигуратор перейдет в режим ожидания. Теперь перейдем в клиентское приложение и совершим любое действие в форме (например, нажмем кнопку или изменим реквизит). Платформа немедленно передаст управление в Конфигуратор и откроет модуль именно того объекта, с которым вы сейчас взаимодействуете.
Внимание: этот метод может не сработать корректно, если в конфигурации активно используются «обработчики ожидания», так как отладчик может остановиться на коде этих фоновых процессов.
Если нам нужно найти не просто объект, а конкретную форму или процедуру, которая срабатывает при открытии, воспользуемся Замером производительности:
В открывшемся списке процедур проанализируем колонку «Модуль». В самом верху списка (или по количеству вызовов) будут находиться модули формы или объекта, который мы только что открывали. Это самый надежный способ найти «самописные» или нетиповые формы.
Разберем ситуацию, когда у нас есть доступ к консоли кода или возможность временного изменения конфигурации. Мы можем программно попросить систему «представиться». Рассмотрим пример кода, который можно выполнить в контексте формы:
Сообщить("Полное имя формы: " + ЭтаФорма.ИмяФормы);
Сообщить("Тип объекта: " + ЭтотОбъект.Метаданные().ПолноеИмя());
Если мы добавим такой код (например, в процедуру ПриСозданииНаСервере или через внешнюю консоль кода), система моментально выдаст точный путь к объекту в дереве метаданных. Это исключает любые ошибки ручного поиска.
Для профессиональной разработки часто применяются сторонние инструменты. Одним из самых известных является «Инструментарий разработчика» (авторства Tormozit). В его составе есть функция «Инспектор объектов», которая позволяет буквально «ткнуть» в любое открытое окно 1С и получить полную раскладку по нему: имя метаданных, значения всех реквизитов, структуру формы и даже дерево вызовов.
Также упомянем инструмент Vanessa Automation. В нем присутствует обработка «Исследователь формы». Она предназначена для автоматизированного тестирования, но идеально подходит для нашей задачи, так как показывает технические имена всех элементов управления на форме и путь к самой форме в конфигурации.
Проанализируем ситуацию, когда поиск по основному дереву метаданных не дает результатов. В современных конфигурациях активно используются расширения. Вполне возможно, что форма, которую вы видите, не принадлежит основной конфигурации, а была заимствована в расширение и модифицирована (или даже переименована) там.
Посмотрите список активных расширений в режиме «Предприятие» (через функции для технического специалиста), а затем проверьте в Конфигураторе соответствующие узлы в каждом расширении. Поиск по имени через стандартный Ctrl+Shift+F (Глобальный поиск) также стоит запускать с областью поиска «Везде», включая расширения.
Подводя итог, можно сказать, что самым универсальным и быстрым способом является сочетание режима технического специалиста и анализа навигационной ссылки. Эти методы не требуют внесения изменений в код и работают в любой типовой конфигурации на управляемых формах.