Как настроить поиск товара по нескольким артикулам или полному наименованию в 1С:Розница (РМК)?

Программист 1С v8.3 (Управляемые формы) 1С:Розница Управленческий учет Торговля и дистрибуция
← На главную

При работе в интерфейсе РМК (Рабочее место кассира) часто возникает задача поиска номенклатуры не только по стандартному полю Наименование, но и по другим реквизитам, таким как Артикул, Код или Полное наименование. Рассмотрим, как реализовать этот функционал и почему стандартные настройки иногда перестают работать.

Понимание механизма «Ввод по строке»

В платформе 1С существует встроенный механизм, который называется Ввод по строке. Именно он определяет, в каких именно полях справочника будет искать система, когда вы вводите текст в поисковую строку. Если поле не указано в настройках данного механизма для конкретного объекта метаданных (например, для справочника Номенклатура), поиск по этому полю осуществляться не будет.

Для того чтобы настроить поиск, нам необходимо выполнить следующие действия:

  1. Откройте конфигурацию в режиме Конфигуратор.
  2. Найдите в дереве конфигурации справочник Номенклатура.
  3. Перейдите на вкладку Поиск и ввод по строке.
  4. В списке Поля ввода по строке отметьте галочками те реквизиты, по которым вы хотите осуществлять поиск (например, Артикул, ПолноеНаименование и другие).

Важные замечания по индексации полей

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

Почему настройки могли сбиться после обновления?

Часто после перехода с очень старых версий конфигурации (например, 2021 года) на актуальные релизы 1С:Розница, стандартные настройки поиска могут конфликтовать с новыми механизмами (например, с интеграцией Честный ЗНАК). Если при нажатии на лупу в РМК открывается устаревшая форма, это свидетельствует о том, что настройки интерфейса или параметры РМК требуют актуализации.

Рекомендуем проверить состояние регистра сведений, отвечающего за настройки РМК, и убедиться, что пользователь использует актуальную версию формы подбора товаров.

Альтернативный подход: Расширение конфигурации

Если вы не хотите вносить изменения непосредственно в основную конфигурацию, чтобы не усложнять процесс последующих обновлений, используйте механизм Расширения конфигурации. Это профессиональный подход, позволяющий «навесить» дополнительный функционал на типовую систему.

В рамках расширения вы можете:

Пример логики для поиска через запрос в расширении может выглядеть примерно так:


// Пример программного поиска номенклатуры
Запрос = Новый Запрос;
Запрос.Текст = 
    "ВЫБРАТЬ
    |	Номенклатура.Ссылка КАК Ссылка
    |ИЗ
    |	Справочник.Номенклатура КАК Номенклатура
    |ГДЕ
    |	(Номенклатура.Артикул ПОДОБНО &СтрокаПоиска
    |	ИЛИ Номенклатура.ПолноеНаименование ПОДОБНО &СтрокаПоиска)";
Запрос.УстановитьПараметр("СтрокаПоиска", "%" + ИскомаяСтрока + "%");
Результат = Запрос.Выполнить();

Заключение

Итак, мы выяснили, что для решения проблемы необходимо либо включить нужные поля в настройку Ввод по строке через конфигуратор, либо реализовать поиск через расширение. Помните, что каждый новый индекс в СУБД увеличивает нагрузку, поэтому подходите к выбору полей для индексации осознанно. Если после обновления система ведет себя некорректно, обязательно проверьте актуальность настроек в Регистрах сведений, так как именно там хранятся параметры, управляющие отображением форм в РМК.

← На главную