Разработка и Конфигурация · 10 мин
Как в 1С найти все функции: рабочие способы поиска
Как быстро найти все функции в 1С: поиск по конфигуратору, Ctrl+Shift+F, структура модуля, синтакс-помощник и поиск вызовов процедур. Пошаговые инструкции.
Задача найти все функции в 1С возникает в нескольких типичных ситуациях: разработчик изучает чужую конфигурацию, ищет, где объявлена нужная процедура, проверяет, не дублируется ли код, или составляет список экспортных методов общего модуля. В конфигураторе 1С для этого есть несколько встроенных инструментов — от простого поиска по тексту до полнотекстового поиска по всей конфигурации.
Выбор способа зависит от цели. Если нужно найти одну конкретную функцию по имени — достаточно глобального поиска. Если требуется получить полный перечень функций модуля — удобнее структура модуля. А если нужно понять, откуда вызывается функция и где она используется, потребуется поиск ссылок и вызовов.
Ниже разобраны основные методы: глобальный поиск по конфигурации, навигация по структуре модуля, синтакс-помощник для встроенных функций платформы, поиск вызовов и типичные ошибки при работе с большими конфигурациями.
Глобальный поиск по конфигурации
Основной инструмент — глобальный поиск. Откройте конфигуратор, перейдите в меню Правка → Глобальный поиск или нажмите Ctrl+Shift+F. В поле «Образец» введите слово Функция, установите область поиска «Вся конфигурация» и запустите поиск. В результате вы получите список всех строк, где встречается объявление функций, с указанием объекта метаданных, модуля и номера строки.
Двойной щелчок по строке результата открывает модуль на нужном месте. Это удобно, когда нужно быстро перейти к реализации. Результаты можно отсортировать по объектам, чтобы сгруппировать функции по модулям.
Чтобы не захватывать лишние вхождения (например, слово «Функция» в комментариях или строковых литералах), уточняйте запрос. Практичный вариант — искать Функция с пробелом или использовать поиск по регулярным выражениям, если ваша версия платформы его поддерживает в данном окне. Также полезно искать пару ключевых слов КонецФункции — количество таких строк примерно соответствует количеству функций в конфигурации.
- 1Откройте конфигуратор и меню Правка → Глобальный поиск (Ctrl+Shift+F)
- 2В поле «Образец» введите слово «Функция»
- 3Установите область поиска «Вся конфигурация»
- 4Нажмите «Искать» и дождитесь формирования списка результатов
- 5Двойным щелчком переходите к нужному объявлению функции
Список процедур и функций текущего модуля
Когда нужно увидеть все функции одного конкретного модуля, глобальный поиск избыточен. Откройте модуль и нажмите Ctrl+Alt+P либо кнопку «Список процедур и функций модуля» на панели инструментов (значок со структурой). Появится окно с алфавитным перечнем всех процедур и функций этого модуля.
Выбор строки в списке мгновенно перемещает курсор к объявлению. Это самый быстрый способ навигации в больших модулях общего назначения, где объявлений могут быть сотни. Список показывает и процедуры, и функции вперемешку — ориентируйтесь по имени.
Дополнительно в редакторе модуля работает выпадающий список методов в верхней части окна (в современных версиях платформы), а также контекстное меню «Перейти к определению» (F12), если курсор стоит на вызове функции — конфигуратор откроет место её объявления, даже если оно в другом модуле.
Поиск конкретной функции по имени
Если известно имя функции или его часть, глобальный поиск работает точнее. Введите имя в поле «Образец», включите опцию «Слово целиком», чтобы исключить вхождения внутри других идентификаторов (например, чтобы «Получить» не находил «ПолучитьДанные»). При необходимости снимите флаг «Учитывать регистр» — встроенный язык 1С регистронезависим, и объявление может быть написано в другом регистре.
Результат покажет и объявление функции, и все места её вызова. Чтобы отличить объявление от вызова, смотрите на текст строки: объявление начинается со слова Функция или Процедура. Вызовы обычно содержат имя с круглыми скобками и параметрами.
Для поиска только в определённой части конфигурации ограничьте область: в окне глобального поиска можно указать конкретные объекты метаданных или выбранные модули. Это ускоряет поиск в больших типовых конфигурациях, где полный обход занимает заметное время.
// Пример шаблона для глобального поиска:
// Образец: Функция РассчитатьИтог
// Флаги: [x] Слово целиком [ ] Учитывать регистр
// Область: Вся конфигурацияПолнотекстовый поиск и поиск по всем модулям конфигурации
В конфигураторе есть ещё один уровень — поиск по всем текстам модулей через Правка → Поиск по всем текстам (в ряде версий доступен как расширенный режим глобального поиска). Он позволяет искать строки с учётом контекста модулей и удобен, когда конфигурация большая и нужно собрать полную картину объявлений.
Альтернативный приём для получения полного списка функций общих модулей: откройте в дереве конфигурации ветку Общие → Общие модули, раскройте нужный модуль и просматривайте экспортные функции — они помечены ключевым словом Экспорт после объявления. Именно эти функции доступны для вызова из других модулей.
Для выгрузки полного перечня во внешний файл можно воспользоваться выгрузкой модулей конфигурации в текстовые файлы (Конфигурация → Выгрузить файлы конфигурации или выгрузка модулей через пакетный режим) и затем искать слово «Функция» уже средствами текстового редактора. Это удобно для аудита и документирования.
Сравнение способов поиска
Подходит для поиска по всей конфигурации по имени или шаблону; требует времени на больших базах
Мгновенный обзор одного модуля; не показывает другие объекты
Быстрый переход от вызова к объявлению; работает только от существующего вызова
Единственный полный источник встроенных функций платформы; не показывает функции конфигурации
Где смотреть встроенные функции платформы
Отдельный случай — функции встроенного языка платформы (СтрНайти, Формат, ЗначениеЗаполнено и другие). Их нет в модулях конфигурации, поэтому глобальный поиск их не найдёт. Полный перечень доступен в синтакс-помощнике: меню Справка → Синтакс-помощник или сочетание Ctrl+Shift+F1.
В дереве синтакс-помощника откройте раздел «Общие объекты» или нужную категорию — описание каждой функции содержит синтаксис, параметры, возвращаемое значение и примеры. Если курсор в модуле стоит на имени встроенной функции, нажмите Ctrl+F1 — откроется справка именно по этому методу.
Синтакс-помощник также показывает, в каком контексте доступна функция (тонкий клиент, веб-клиент, сервер) — это важно, потому что часть методов недоступна в отдельных режимах, и код с ними не скомпилируется при проверке модуля.
Как найти места вызова функции
Частая задача — не найти объявление, а понять, где функция используется. Для этого снова подходит глобальный поиск по имени с включённой опцией «Слово целиком»: результат покажет все строки с вызовами. Отфильтруйте строки-объявления визуально — они начинаются с ключевого слова «Функция».
Если функция экспортная и вызывается из многих модулей, ориентируйтесь на колонку с именем объекта метаданных в результатах поиска — так видно, какие подсистемы зависят от этой функции. Это критично перед переименованием или изменением состава параметров: все вызовы придётся обновить, иначе конфигурация не пройдёт проверку.
После изменений обязательно выполните Конфигурация → Проверка конфигурации с включённой проверкой модулей — она выявит обращения к несуществующим методам и несоответствие числа параметров.
Как проверить результат
Двойной щелчок открывает модуль на строке «Функция Имя(...)»
Открывается строка вызова или комментарий — уточните шаблон поиска
Число вхождений «Функция» примерно совпадает с числом «КонецФункции»
Большое расхождение — часть вхождений в комментариях или строковых литералах
Проверка конфигурации проходит без ошибок обращения к методам
Ошибки «Процедура или функция не обнаружена» — остались необновлённые вызовы
Типичные ошибки при поиске функций
Первая ошибка — поиск без флага «Слово целиком». Имя «Получить» вернёт сотни строк с «ПолучитьДанные», «ПолучитьСтатус» и тому подобными идентификаторами, и нужное объявление потеряется. Вторая ошибка — поиск только в открытом модуле, когда функция объявлена в общем модуле: локальный поиск по документу (Ctrl+F) не выходит за пределы текущего текста.
Третья распространённая ситуация — разработчик ищет встроенную функцию платформы в модулях конфигурации и не находит её, делая вывод, что метод «не определён». Встроенные функции нужно смотреть в синтакс-помощнике. Четвёртая ошибка — игнорирование директив компиляции (&НаСервере, &НаКлиенте): функция может существовать, но быть недоступной в нужном контексте вызова.
Что важно запомнить
Все функции конфигурации ищутся глобальным поиском (Ctrl+Shift+F) по слову «Функция», функции одного модуля — через Ctrl+Alt+P, встроенные функции платформы — в синтакс-помощнике (Ctrl+Shift+F1). Перед изменением найденных функций делайте резервную копию и проверяйте конфигурацию после правок.
Частые вопросы
Как найти функцию, если помню только часть имени?
Используйте глобальный поиск (Ctrl+Shift+F) с фрагментом имени без флага «Слово целиком». Поиск подстроки покажет все идентификаторы, содержащие этот фрагмент, после чего останется выбрать нужное объявление по тексту строки.
Как получить список только экспортных функций общего модуля?
Откройте модуль и выполните локальный поиск (Ctrl+F) по слову «Экспорт» — оно стоит в конце объявления каждой экспортной процедуры и функции. Альтернатива — выгрузить модуль в файл и отфильтровать строки внешним редактором.
Почему глобальный поиск не находит функцию, которая точно есть?
Проверьте область поиска — возможно, выбраны не все объекты. Убедитесь, что снят флаг «Слово целиком», если вы вводите часть имени, и что регистр не мешает совпадению. Также функция может находиться в расширении конфигурации — его нужно открыть и искать отдельно.
Можно ли выгрузить полный список всех функций конфигурации в файл?
Да. Выгрузите модули конфигурации в текстовые файлы через меню «Конфигурация → Выгрузить файлы конфигурации» или пакетный режим конфигуратора, затем найдите строки со словом «Функция» средствами текстового редактора или скрипта.
Чем отличается поиск по Ctrl+F от Ctrl+Shift+F?
Ctrl+F ищет только в текущем открытом тексте модуля. Ctrl+Shift+F выполняет поиск по всей конфигурации или выбранной области объектов. Для поиска объявления неизвестной функции всегда используйте глобальный вариант.
Как быстро перейти от вызова функции к её коду?
Поставьте курсор на имя функции в месте вызова и нажмите F12 («Перейти к определению»). Конфигуратор откроет модуль с объявлением, даже если он находится в другом объекте конфигурации.