Часто при работе с документами, содержащими табличные части, возникает необходимость быстро найти и подставить другой документ по его номеру. Например, в документе "Реализация товаров и услуг" нужно указать документ-основание "Счет на оплату". Стандартный механизм 1С не всегда позволяет находить документ, если вводить неполный номер или его часть. Разберем, почему так происходит и как это исправить.
Проанализируем ситуацию: у вас есть табличная часть, в одной из колонок которой находится реквизит-ссылка на другой документ. Вы начинаете вводить в это поле номер и ожидаете, что система найдет и подставит нужный документ, но ничего не происходит. Выясним причину и рассмотрим несколько способов решения этой задачи.
По умолчанию платформа 1С действительно умеет искать документ по номеру при вводе в поле ссылки. Однако этот механизм имеет свои особенности, из-за которых поиск может не срабатывать.
Причина 1: Поиск по началу строки. Стандартный поиск работает по принципу "Найти по строке". Это означает, что система ищет совпадение с самого начала номера документа. Если вы введете "123", то 1С найдет документы с номерами "123", "123-А", "12345", но не найдет документ с номером "АБ-123". Если вы пытаетесь найти документ по цифрам из середины или конца номера, стандартный поиск вам не поможет.
Причина 2: Периодичность нумерации. Если в системе есть несколько документов с одинаковым номером, но за разные периоды (например, "001" от января и "001" от февраля), то после ввода номера система предложит вам список для выбора нужного документа. Это штатное и корректное поведение.
Причина 3: Составной тип данных. Если поле в табличной части может ссылаться на документы разных видов (например, и на "Счет на оплату", и на "Заказ клиента"), то стандартный поиск по номеру может работать иначе или не работать вовсе, так как системе непонятно, среди документов какого типа искать.
Если ваша проблема заключается в том, что вы хотите находить документ по любой части его номера, то стандартного функционала будет недостаточно. В этом случае на помощь приходит полнотекстовый поиск.
Полнотекстовый поиск — это мощный механизм платформы, который позволяет находить данные не только по полному совпадению или началу строки, но и по любому вхождению слова или числа. Он работает на основе специального индекса, что делает поиск очень быстрым.
Рассмотрим по шагам, как его включить и настроить.
Включение функционала. Запустите 1С в режиме "Предприятие" с правами администратора. Перейдите в раздел "Администрирование" – "Общие настройки".
Активация поиска. Внутри общих настроек найдите подраздел "Поиск данных". Установите основной флажок "Полнотекстовый поиск данных".
Создание и обновление индекса. После установки флажка нажмите на ссылку "Настроить". Откроется окно управления полнотекстовым поиском. Нажмите кнопку "Обновить индекс". Этот процесс может занять значительное время, если у вас большая информационная база. Система проанализирует все текстовые данные и создаст индекс для быстрого поиска.
Настройка регламентных заданий. Для корректной работы поиска важно, чтобы индекс регулярно обновлялся. Это делается с помощью двух регламентных заданий: Обновление индекса ППД и Слияние индекса ППД. Убедитесь, что в настройках (раздел "Администрирование" – "Обслуживание" – "Регламентные и фоновые задания") эти задания включены и выполняются по расписанию (например, каждую ночь).
Важные особенности полнотекстового поиска:
После включения и первоначального обновления индекса поиск в полях ввода должен начать работать по части строки, решая исходную проблему.
Если полнотекстовый поиск по каким-то причинам не подходит (например, создает слишком большую нагрузку или требуется более сложная логика подбора), задачу можно решить программно. Этот способ требует внесения изменений в конфигурацию.
Для поля ввода в табличной части можно создать обработчик события ПриИзменении. В этом обработчике пишется код, который будет выполняться каждый раз, когда пользователь вводит текст в поле.
Логика работы может быть следующей:
ПОДОБНО (например, ГДЕ Документ.Номер ПОДОБНО "%" + ВведенныйТекст + "%").Этот метод дает полный контроль над логикой поиска, позволяя добавлять любые дополнительные фильтры (по дате, контрагенту, организации и т.д.).
Еще один распространенный способ — создание кастомной формы подбора. Вместо прямого ввода в ячейку пользователь нажимает кнопку выбора, и открывается специальная форма. Эта форма может содержать список документов с различными фильтрами и полем для поиска по любой части номера. Пользователь находит нужные документы в этой форме, выбирает их, и они автоматически переносятся в табличную часть исходного документа. Этот подход считается наиболее удобным для пользователя при работе с большими объемами данных.