Разработка в среде «1С:Предприятие 8» немыслима без постоянного обращения к справочной системе. Однако многие программисты, особенно после обновления платформы до версий 8.3.25, 8.3.26 или 8.3.27, сталкиваются с ситуацией, когда Синтакс-помощник (СП) отказывается находить хорошо знакомые методы или выдает пустые результаты. В этой статье мы подробно разберем, как устроены механизмы поиска в конфигураторе, почему вкладка «Поиск» может вас подвести и как использовать альтернативные инструменты для нахождения нужных функций.
Для начала проанализируем, почему выбор вкладки в окне СП имеет решающее значение. Рассмотрим стандартное окно помощи, которое содержит три основные закладки. Понимание их внутреннего устройства поможет нам сэкономить массу времени при поиске.
ПрерыванияПользователя, индекс не найдет ОбработкаПрерыванияПользователя.Проанализируем пример, приведенный опытными разработчиками. При поиске встроенной функции ОбработкаПрерыванияПользователя результаты могут кардинально различаться в зависимости от запроса:
ОбработкаПрерыванияПользователя — находит точное совпадение.ПрерыванияПользователя — во вкладке «Поиск» может выдать пустоту, если слово не выделено как отдельный токен в индексе справки.Прерывания — внезапно выдает результат.Это происходит потому, что механизм «Поиска» (в отличие от «Индекса») сильно зависит от настроек полнотекстового поиска (ПП). Выясним причину: платформа разбивает текст описания на слова. Если вы ищете часть слова, которая не является его корнем или не входит в словарь словоформ, поиск может провалиться. Поэтому золотое правило: всегда начинайте поиск с вкладки «Индекс».
Рассмотрим самый быстрый способ вызова справки, который позволяет избежать ручного ввода имен методов. Если в тексте модуля вы видите процедуру или свойство, назначение которого неясно, выполним следующие действия:
ЗагрузитьДанныеИзТСД или УстановитьПривилегированныйРежим).Наименование), система предложит список выбора. Разберем этот момент: в появившемся окне «Выбор темы» нужно внимательно смотреть на колонку «Контекст», чтобы выбрать справку именно для того объекта, с которым вы сейчас работаете (Справочник, Документ или План видов характеристик).В современных версиях платформы (особенно в ветке 8.3.27) разработчики заметили странное поведение: поиск из текста конфигуратора может не срабатывать или открывать пустое окно. Рассмотрим причины этой ситуации:
Во-первых, фирма «1С» обновила внутренний движок отображения HTML-контента. Это иногда приводит к конфликтам с кэшем операционной системы. Если поиск перестал работать, попробуем очистить локальный кэш конфигуратора. Удалим содержимое папок в каталоге %LOCALAPPDATA%\1C\1cv8\. Это заставит систему пересобрать индекс справки.
Во-вторых, в последних релизах наблюдается тренд на перенос части документации в онлайн-справку (ИТС). Если у вас отключен доступ к интернету в настройках конфигуратора, часть ссылок может вести «в никуда».
Часто программисты пытаются найти в СП функции типа ОбщегоНазначения.ЗначениеРеквизитаОбъекта() или методы кадрового учета из ЗУП. Посмотрим на ситуацию глазами системы: Синтакс-помощник содержит информацию только по встроенному языку платформы. Процедуры общих модулей конфигурации (БСП или типовых решений) там отсутствуют.
Для поиска таких процедур разберем следующие шаги:
ДниПериода или аналоги. Однако будьте осторожны: как мы видели в обсуждении, ИИ иногда выдает «бухгалтерские» ответы вместо программных. Уточняйте запрос, добавляя фразу «найди функцию в конфигураторе».Проанализируем настройки самого конфигуратора. Перейдем в меню Сервис — Параметры, выберем вкладку Справка. Здесь важно проверить два момента:
Предположим, нам нужно найти метод для работы с прерыванием выполнения кода. Выполним алгоритм:
// Неправильно: Искать "прерывание" в закладке "Поиск" (получим 100 лишних результатов)
// Правильно:
// 1. Открыть Синтакс-помощник
// 2. Перейти в "Индекс"
// 3. Набрать "ОбработкаП..."
// 4. Увидеть в списке "ОбработкаПрерыванияПользователя"
Посмотрим на пример кода, который часто ищут в контексте этой темы:
Пока Истина Цикл
// Проверяем, не нажал ли пользователь Ctrl+Break
ОбработкаПрерыванияПользователя();
// Выполняем полезную нагрузку
// ...
КонецЦикла;
Если вы помните только слово Прерывание, но не помните точное название процедуры, и «Индекс» не помогает — только тогда переходим к вкладке «Поиск», но будьте готовы к тому, что придется пролистать множество страниц справки, где это слово встречается в тексте.
Таким образом, мы выяснили, что Синтакс-помощник — это строгий инструмент, требующий понимания разницы между индексным и полнотекстовым поиском. Используйте Индекс для поиска платформенных методов и Глобальный поиск для функций конфигурации, и ваша работа станет значительно эффективнее.