Что умеет синтаксис-помощник 1С: поиск, примеры, подсказки в коде

· 9 мин

Содержание

Вы пишете запрос в модуле и не помните, какие параметры у метода Найти() и что он возвращает при неудаче. Лезть в интернет не нужно: ответ лежит в самой платформе, в синтаксис-помощнике. Это встроенный справочник по языку 1С, объектной модели и встроенному языку запросов, который открывается прямо из Конфигуратора.

Синтаксис-помощник описывает методы, свойства, типы, события и конструкции языка. Он не зависит от конфигурации: это справка платформы 1С:Предприятия 8.3. Но у него есть ещё одна сторона: он показывает объекты именно вашей конфигурации, то есть справочники, документы и регистры, которые вы в ней создали.

Где открыть синтаксис-помощник и как он устроен

Основной вход один: Конфигуратор, меню Справка → Синтаксис-помощник. Окно можно держать открытым рядом с модулем и переключаться между ними.

Второй способ быстрее. Поставьте курсор на слово в тексте модуля (например, на СтрНайти) и нажмите F1. Откроется справка по этому слову. Если слово встречается в нескольких разделах, платформа предложит выбрать нужный.

Окно состоит из двух частей:

  • 📚 слева — дерево разделов и вкладки навигации: содержание, указатель, поиск;
  • 📄 справа — страница описания выбранного элемента.

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

Если окно справки открылось не по тому слову, не закрывайте его. Введите нужное слово в поиск прямо внутри окна, а не возвращайтесь в модуль.

Подсказки прямо в редакторе кода

Синтаксис-помощник не только окно справки. Тот же набор данных работает в редакторе модуля как автодополнение и контекстные подсказки.

Что нужноКак вызвать
Список доступных методов и свойств после точкиСтавите . после имени объекта, список появляется сам
Список вручнуюCtrl+Space
Подсказка по параметрам методаCtrl+Shift+Space внутри скобок вызова
Справка по слову под курсоромF1

Платформа определяет тип выражения. Если в модуле написано Выборка = Запрос.Выполнить().Выбрать();, то после Выборка. вы увидите методы именно выборки результата запроса: Следующий(), Количество() и другие. Это работает потому, что тип переменной выводится из присваивания.

Контекст важен. В обработчике формы на клиенте и в серверном модуле список доступных методов отличается: серверные объекты в клиентском коде не предлагаются. Если нужного метода в списке нет, проверьте, в каком контексте выполняется процедура (директива &НаКлиенте, &НаСервере и т. п.).

⚠️ Автодополнение подсказывает то, что синтаксически возможно, а не то, что нужно в вашей задаче. Прочтите описание метода в справке, прежде чем вставлять его в рабочий код.

Что показывает страница описания

Структура страницы повторяется для методов, свойств и типов. Она одна из самых полезных частей справки, если знать, на что смотреть.

Для метода:

  • 🔹 синтаксис вызова с перечнем параметров;
  • 🔹 для каждого параметра — тип значения и признак обязательности;
  • 🔹 тип возвращаемого значения;
  • 🔹 описание поведения и особенности;
  • 🔹 пример использования;
  • 🔹 пометка о доступности: на клиенте, на сервере, во внешнем соединении, в мобильном приложении.

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

Для типа значения открывается перечень свойств, методов, конструкторов и событий. Конструкторы показывают, какие параметры можно передать в Новый .... Для перечислений даётся список значений с пояснениями.

Поиск по справке

Поиск — вторая по частоте причина открывать синтаксис-помощник после F1. У него есть два режима, и их стоит различать.

Указатель ищет по именам элементов. Вы вводите начало слова, список прокручивается до подходящих записей. Подходит, когда имя метода известно примерно: «что-то с СтрЗаменить».

Полнотекстовый поиск идёт по тексту страниц. Он нужен, когда имени вы не помните, но знаете задачу: «разделить строку», «получить текущую дату сервера», «записать в журнал регистрации».

Практические приёмы:

  1. Начните с короткого слова задачи на русском: «подстрока», «массив», «дата».
  2. Если результатов слишком много, добавьте второе слово. Результаты сузятся.
  3. В найденных страницах смотрите ссылки «См. также» в нижней части: они ведут на соседние методы и типы.
  4. Если метод не нашёлся под одним названием, ищите по английскому имени. У многих элементов есть оба варианта, русский и английский.

Ищете, как сделать операцию со строкой? Откройте раздел с функциями работы со строками и просмотрите весь список. Часто рядом с известным методом находится более подходящий.

Примеры кода и вставка в модуль

Большинство страниц содержат пример. Он короткий, и его цель — показать форму вызова, а не решить вашу задачу целиком.

Работайте с примерами так:

  1. Скопируйте фрагмент из справки в модуль.
  2. Замените имена переменных и значения на свои.
  3. Проверьте тип каждого параметра против описания.
  4. Запустите отладкой на тестовой базе, а не на рабочей.

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

Для запросов тот же принцип. В разделе про язык запросов есть конструкции ВЫБРАТЬ, СОЕДИНЕНИЕ, СГРУППИРОВАТЬ, функции ЕСТЬNULL, ПОДСТРОКА и другие. Синтаксис оттуда можно сверять с текстом, который вы пишете в конструкторе запроса.

⚠️ Примеры в справке иногда сокращены и не обрабатывают ошибки. В боевом коде добавляйте проверку на пустые значения и Попытка ... Исключение, где операция может завершиться сбоем.

Объекты вашей конфигурации в справке

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

Что там видно:

  • 📂 справочники, документы, регистры, перечисления, обработки и отчёты;
  • 📂 для каждого — реквизиты, табличные части, ресурсы и измерения (для регистров);
  • 📂 методы менеджера и объекта, которые доступны для этого вида метаданных.

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

Если вы добавили реквизит в справочник, а в справке он не появился, закройте и откройте окно: структура метаданных считывается при открытии.

Для типовых конфигураций (Бухгалтерия предприятия, ЗУП, Управление торговлей) это работает одинаково, если база открыта в Конфигураторе.

Разделы справки, с которых стоит начать

Новичок открывает синтаксис-помощник и теряется в дереве. Ниже — ориентиры, куда смотреть в первую очередь.

Глобальный контекст

Здесь лежат функции и процедуры, которые можно вызвать из любого места модуля без имени объекта: Сообщить, Формат, ТекущаяДата, СтрШаблон, ЗначениеЗаполнено. Раздел большой, поэтому он разбит на подразделы по назначению: работа со строками, числами, датами, файлами, формами.

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

Описание типов и коллекций

Это основной массив справки. Типы собраны по группам: универсальные коллекции (массив, структура, соответствие, список значений, таблица значений), работа с файлами и потоками, XML и JSON, HTTP-соединения, работа с запросами и построителями.

Для коллекций на странице типа видно, как её создать, как обойти в цикле и какие методы позволяют искать, сортировать и свёртывать данные. Сначала прочтите общую страницу типа, затем страницы отдельных методов.

Язык запросов

Отдельный раздел описывает синтаксис запросов 1С: структуру ВЫБРАТЬ ... ИЗ ... ГДЕ, соединения, объединения, группировку, временные таблицы и виртуальные таблицы регистров. Там же перечислены функции языка запросов.

Если запрос выдаёт неожиданный результат, сверьте поведение соединения и условий со справкой: именно там сказано, как обрабатывается значение NULL и чем левое соединение отличается от внутреннего.

Описание событий и режимов

Для форм, элементов и объектов приведены события, порядок их вызова и параметры обработчиков. Если вы пишете обработчик, который «не срабатывает», сначала проверьте, в какой момент платформа вообще вызывает событие. Порядок вызова описан на страницах объектов.

Режимы запуска и где справка не поможет

Синтаксис-помощник — инструмент разработчика. Он открывается из Конфигуратора, а не из окна обычного пользовательского режима.

РежимЧто доступно
КонфигураторПолная справка по языку, метаданным конфигурации и объектной модели
Пользовательский режим 1С:ПредприятиеСправка пользователя по работе с интерфейсом; справки по языку нет
Тонкий и веб-клиентСправка по встроенному языку не открывается

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

Что синтаксис-помощник не заменяет:

  • ⛔ описание бизнес-логики типовых конфигураций. Что делает проведение документа, там не написано;
  • ⛔ документацию на внешние компоненты и стороннюю разработку;
  • ⛔ советы по архитектуре решения.

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

Пример: от задачи до рабочего вызова

Задача: из строки с номером документа вида «ПР-000123» нужно взять числовую часть. Вы не помните точное имя функции.

  1. Откройте синтаксис-помощник и введите в поиск слово «подстрока».
  2. Просмотрите найденные страницы: в разделе функций работы со строками найдётся несколько кандидатов.
  3. Откройте страницу подходящей функции и прочтите параметры: исходная строка, начальная позиция, длина.
  4. Проверьте возвращаемый тип. Результат будет строкой, и для расчётов её нужно привести к числу.
  5. Скопируйте пример в модуль, подставьте свою переменную и проверьте на трёх-четырёх значениях, включая пустую строку.

Весь путь занимает пару минут. Ту же задачу поиском в интернете решают дольше, а ответ может оказаться написан под старую версию платформы.

Как выжать из справки максимум

Несколько привычек, которые отличают тех, кто использует синтаксис-помощник постоянно, от тех, кто открывает его от случая к случаю.

  1. Держите окно справки открытым на втором мониторе или в половине экрана. Переключение по F1 удобнее, когда страница уже загружена.
  2. Смотрите возвращаемое значение. Типичная ошибка новичка — использовать результат метода как другой тип. Если метод возвращает «Неопределено» при неудаче, эту ветку нужно обработать.
  3. Читайте раздел об ограничениях. Часто в нём указано, что метод не работает в определённом режиме или на определённом типе клиента.
  4. Сравнивайте близкие методы. Например, у строк есть и методы вида Лев(), Прав(), и более новый набор функций со словом Стр в названии. В справке видно, что первые более ограничены.
  5. Запомните опорные страницы, к которым возвращаетесь чаще всего: описание типов Запрос, ТаблицаЗначений, Структура.

Заведите привычку: прежде чем писать цикл обработки массива или таблицы, найдите в справке готовый метод. Свёртка таблицы, поиск в массиве, сортировка — для этого есть встроенные средства.

Частые вопросы

Можно ли открыть синтаксис-помощник без Конфигуратора?
Для справки по встроенному языку нужен Конфигуратор. В пользовательском режиме доступна только справка по работе с программой.
Почему F1 в модуле открывает не ту страницу?
Платформа ищет описание по слову под курсором. Если курсор стоит на имени вашей процедуры или переменной, справки по нему нет, и открывается общий раздел. Переместите курсор на встроенное слово.
В справке нет моего нового реквизита. Это ошибка?
Нет. Структура метаданных читается при открытии окна. Закройте синтаксис-помощник и откройте снова.
Чем отличается указатель от поиска?
Указатель ищет по названиям элементов справки, поиск идёт по тексту страниц. Если помните имя метода, берите указатель, если знаете только задачу — поиск.
Справка показывает метод, а в коде он подчёркивается как ошибка. Почему?
Скорее всего, метод недоступен в текущем контексте: например, серверный вызов написан в клиентской процедуре. Проверьте пометку о доступности на странице метода.