Что умеет синтаксис-помощник 1С: поиск, примеры, подсказки в коде
Содержание
Вы пишете запрос в модуле и не помните, какие параметры у метода Найти() и что он возвращает при неудаче. Лезть в интернет не нужно: ответ лежит в самой платформе, в синтаксис-помощнике. Это встроенный справочник по языку 1С, объектной модели и встроенному языку запросов, который открывается прямо из Конфигуратора.
Синтаксис-помощник описывает методы, свойства, типы, события и конструкции языка. Он не зависит от конфигурации: это справка платформы 1С:Предприятия 8.3. Но у него есть ещё одна сторона: он показывает объекты именно вашей конфигурации, то есть справочники, документы и регистры, которые вы в ней создали.
Где открыть синтаксис-помощник и как он устроен
Основной вход один: Конфигуратор, меню Справка → Синтаксис-помощник. Окно можно держать открытым рядом с модулем и переключаться между ними.
Второй способ быстрее. Поставьте курсор на слово в тексте модуля (например, на СтрНайти) и нажмите F1. Откроется справка по этому слову. Если слово встречается в нескольких разделах, платформа предложит выбрать нужный.
Окно состоит из двух частей:
- 📚 слева — дерево разделов и вкладки навигации: содержание, указатель, поиск;
- 📄 справа — страница описания выбранного элемента.
В дереве верхнего уровня лежат описание встроенного языка, глобальный контекст, классы объектов платформы, а также разделы с объектами вашей конфигурации. Последние есть только в Конфигураторе: справочник Контрагенты вы найдёте там как «прикладной» объект, со списком реквизитов и методов менеджера.
Если окно справки открылось не по тому слову, не закрывайте его. Введите нужное слово в поиск прямо внутри окна, а не возвращайтесь в модуль.
Подсказки прямо в редакторе кода
Синтаксис-помощник не только окно справки. Тот же набор данных работает в редакторе модуля как автодополнение и контекстные подсказки.
| Что нужно | Как вызвать |
|---|---|
| Список доступных методов и свойств после точки | Ставите . после имени объекта, список появляется сам |
| Список вручную | Ctrl+Space |
| Подсказка по параметрам метода | Ctrl+Shift+Space внутри скобок вызова |
| Справка по слову под курсором | F1 |
Платформа определяет тип выражения. Если в модуле написано Выборка = Запрос.Выполнить().Выбрать();, то после Выборка. вы увидите методы именно выборки результата запроса: Следующий(), Количество() и другие. Это работает потому, что тип переменной выводится из присваивания.
Контекст важен. В обработчике формы на клиенте и в серверном модуле список доступных методов отличается: серверные объекты в клиентском коде не предлагаются. Если нужного метода в списке нет, проверьте, в каком контексте выполняется процедура (директива &НаКлиенте, &НаСервере и т. п.).
⚠️ Автодополнение подсказывает то, что синтаксически возможно, а не то, что нужно в вашей задаче. Прочтите описание метода в справке, прежде чем вставлять его в рабочий код.
Что показывает страница описания
Структура страницы повторяется для методов, свойств и типов. Она одна из самых полезных частей справки, если знать, на что смотреть.
Для метода:
- 🔹 синтаксис вызова с перечнем параметров;
- 🔹 для каждого параметра — тип значения и признак обязательности;
- 🔹 тип возвращаемого значения;
- 🔹 описание поведения и особенности;
- 🔹 пример использования;
- 🔹 пометка о доступности: на клиенте, на сервере, во внешнем соединении, в мобильном приложении.
Последний пункт часто упускают. Метод может быть доступен только на сервере. Если вы вызовете его в клиентской процедуре, ошибку получите при проверке модуля или при запуске. Строка доступности в описании избавляет от такой догадки.
Для типа значения открывается перечень свойств, методов, конструкторов и событий. Конструкторы показывают, какие параметры можно передать в Новый .... Для перечислений даётся список значений с пояснениями.
Поиск по справке
Поиск — вторая по частоте причина открывать синтаксис-помощник после F1. У него есть два режима, и их стоит различать.
Указатель ищет по именам элементов. Вы вводите начало слова, список прокручивается до подходящих записей. Подходит, когда имя метода известно примерно: «что-то с СтрЗаменить».
Полнотекстовый поиск идёт по тексту страниц. Он нужен, когда имени вы не помните, но знаете задачу: «разделить строку», «получить текущую дату сервера», «записать в журнал регистрации».
Практические приёмы:
- Начните с короткого слова задачи на русском: «подстрока», «массив», «дата».
- Если результатов слишком много, добавьте второе слово. Результаты сузятся.
- В найденных страницах смотрите ссылки «См. также» в нижней части: они ведут на соседние методы и типы.
- Если метод не нашёлся под одним названием, ищите по английскому имени. У многих элементов есть оба варианта, русский и английский.
Ищете, как сделать операцию со строкой? Откройте раздел с функциями работы со строками и просмотрите весь список. Часто рядом с известным методом находится более подходящий.
Примеры кода и вставка в модуль
Большинство страниц содержат пример. Он короткий, и его цель — показать форму вызова, а не решить вашу задачу целиком.
Работайте с примерами так:
- Скопируйте фрагмент из справки в модуль.
- Замените имена переменных и значения на свои.
- Проверьте тип каждого параметра против описания.
- Запустите отладкой на тестовой базе, а не на рабочей.
Пример из справки не учитывает ваш контекст. Если в нём используется переменная, которой нет у вас, её нужно объявить. Если в нём серверный вызов, а вы пишете клиентскую процедуру, его потребуется вынести в отдельную серверную процедуру.
Для запросов тот же принцип. В разделе про язык запросов есть конструкции ВЫБРАТЬ, СОЕДИНЕНИЕ, СГРУППИРОВАТЬ, функции ЕСТЬNULL, ПОДСТРОКА и другие. Синтаксис оттуда можно сверять с текстом, который вы пишете в конструкторе запроса.
⚠️ Примеры в справке иногда сокращены и не обрабатывают ошибки. В боевом коде добавляйте проверку на пустые значения и Попытка ... Исключение, где операция может завершиться сбоем.
Объекты вашей конфигурации в справке
Это отличие синтаксис-помощника в Конфигураторе от обычной справки, которая лежит в интернете. В окне есть раздел с метаданными текущей конфигурации.
Что там видно:
- 📂 справочники, документы, регистры, перечисления, обработки и отчёты;
- 📂 для каждого — реквизиты, табличные части, ресурсы и измерения (для регистров);
- 📂 методы менеджера и объекта, которые доступны для этого вида метаданных.
Вы находите документ РеализацияТоваровУслуг, раскрываете его и видите перечень реквизитов шапки и табличных частей с именами, как они называются в коде. Это экономит время: не нужно открывать конфигуратор объекта в отдельном окне, чтобы вспомнить точное имя реквизита.
Если вы добавили реквизит в справочник, а в справке он не появился, закройте и откройте окно: структура метаданных считывается при открытии.
Для типовых конфигураций (Бухгалтерия предприятия, ЗУП, Управление торговлей) это работает одинаково, если база открыта в Конфигураторе.
Разделы справки, с которых стоит начать
Новичок открывает синтаксис-помощник и теряется в дереве. Ниже — ориентиры, куда смотреть в первую очередь.
Глобальный контекст
Здесь лежат функции и процедуры, которые можно вызвать из любого места модуля без имени объекта: Сообщить, Формат, ТекущаяДата, СтрШаблон, ЗначениеЗаполнено. Раздел большой, поэтому он разбит на подразделы по назначению: работа со строками, числами, датами, файлами, формами.
Если вы не знаете, есть ли в платформе нужная функция, начните именно отсюда. Часть задач, которые разработчики решают собственными процедурами, закрывается одной встроенной функцией.
Описание типов и коллекций
Это основной массив справки. Типы собраны по группам: универсальные коллекции (массив, структура, соответствие, список значений, таблица значений), работа с файлами и потоками, XML и JSON, HTTP-соединения, работа с запросами и построителями.
Для коллекций на странице типа видно, как её создать, как обойти в цикле и какие методы позволяют искать, сортировать и свёртывать данные. Сначала прочтите общую страницу типа, затем страницы отдельных методов.
Язык запросов
Отдельный раздел описывает синтаксис запросов 1С: структуру ВЫБРАТЬ ... ИЗ ... ГДЕ, соединения, объединения, группировку, временные таблицы и виртуальные таблицы регистров. Там же перечислены функции языка запросов.
Если запрос выдаёт неожиданный результат, сверьте поведение соединения и условий со справкой: именно там сказано, как обрабатывается значение NULL и чем левое соединение отличается от внутреннего.
Описание событий и режимов
Для форм, элементов и объектов приведены события, порядок их вызова и параметры обработчиков. Если вы пишете обработчик, который «не срабатывает», сначала проверьте, в какой момент платформа вообще вызывает событие. Порядок вызова описан на страницах объектов.
Режимы запуска и где справка не поможет
Синтаксис-помощник — инструмент разработчика. Он открывается из Конфигуратора, а не из окна обычного пользовательского режима.
| Режим | Что доступно |
|---|---|
| Конфигуратор | Полная справка по языку, метаданным конфигурации и объектной модели |
| Пользовательский режим 1С:Предприятие | Справка пользователя по работе с интерфейсом; справки по языку нет |
| Тонкий и веб-клиент | Справка по встроенному языку не открывается |
Если вам нужно посмотреть описание метода и вы находитесь в обычном режиме, запустите Конфигуратор для этой же информационной базы. Для этого нужна лицензия с правом на Конфигуратор и права пользователя, в состав которых входит режим конфигурирования. Откройте базу в Конфигураторе, но редактировать конфигурацию при этом не обязательно.
Что синтаксис-помощник не заменяет:
- ⛔ описание бизнес-логики типовых конфигураций. Что делает проведение документа, там не написано;
- ⛔ документацию на внешние компоненты и стороннюю разработку;
- ⛔ советы по архитектуре решения.
Для этого нужны сами модули типовой конфигурации, документация разработчика и практика.
Пример: от задачи до рабочего вызова
Задача: из строки с номером документа вида «ПР-000123» нужно взять числовую часть. Вы не помните точное имя функции.
- Откройте синтаксис-помощник и введите в поиск слово «подстрока».
- Просмотрите найденные страницы: в разделе функций работы со строками найдётся несколько кандидатов.
- Откройте страницу подходящей функции и прочтите параметры: исходная строка, начальная позиция, длина.
- Проверьте возвращаемый тип. Результат будет строкой, и для расчётов её нужно привести к числу.
- Скопируйте пример в модуль, подставьте свою переменную и проверьте на трёх-четырёх значениях, включая пустую строку.
Весь путь занимает пару минут. Ту же задачу поиском в интернете решают дольше, а ответ может оказаться написан под старую версию платформы.
Как выжать из справки максимум
Несколько привычек, которые отличают тех, кто использует синтаксис-помощник постоянно, от тех, кто открывает его от случая к случаю.
- Держите окно справки открытым на втором мониторе или в половине экрана. Переключение по
F1удобнее, когда страница уже загружена. - Смотрите возвращаемое значение. Типичная ошибка новичка — использовать результат метода как другой тип. Если метод возвращает «Неопределено» при неудаче, эту ветку нужно обработать.
- Читайте раздел об ограничениях. Часто в нём указано, что метод не работает в определённом режиме или на определённом типе клиента.
- Сравнивайте близкие методы. Например, у строк есть и методы вида
Лев(),Прав(), и более новый набор функций со словомСтрв названии. В справке видно, что первые более ограничены. - Запомните опорные страницы, к которым возвращаетесь чаще всего: описание типов
Запрос,ТаблицаЗначений,Структура.
Заведите привычку: прежде чем писать цикл обработки массива или таблицы, найдите в справке готовый метод. Свёртка таблицы, поиск в массиве, сортировка — для этого есть встроенные средства.