К статье
Практический материал

Справочники и Данные · 11 мин

Как в 1С искать номенклатуру по коду

Как в 1С искать номенклатуру по коду: быстрый поиск в справочнике, подбор в документах, поиск по артикулу и штрихкоду, настройка и типичные ошибки.

Поиск номенклатуры по коду — одна из самых частых операций в 1С: коду доверяют больше, чем наименованию, потому что наименования дублируются, сокращаются и меняются, а код остаётся уникальным идентификатором позиции. В типовых конфигурациях (Управление торговлей, ERP, Комплексная автоматизация, Бухгалтерия предприятия) есть несколько способов найти товар по коду: через строку поиска в списке справочника, через подбор в документе и через механизм полнотекстового поиска.

Код номенклатуры может быть числовым или текстовым — это зависит от настроек нумерации справочника в конкретной базе. Во многих базах код формируется автоматически с префиксом (например, «00-000123» или «УТ-00456»), и при поиске префикс можно указывать полностью или опускать — поведение зависит от способа поиска. Кроме внутреннего кода, похожую роль играют артикул и штрихкод, и пользователи часто путают эти три идентификатора.

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

Чем код отличается от артикула и штрихкода

Прежде чем искать, важно понимать, какой именно идентификатор у вас в руках. В 1С у одной позиции номенклатуры одновременно существуют несколько кодовых обозначений, и поиск по неправильному реквизиту — самая частая причина «пустого» результата.

Код — внутренний идентификатор элемента справочника, который 1С присваивает автоматически при создании позиции. Он уникален в пределах базы, но при обмене между базами один и тот же товар может иметь разные коды. Артикул — реквизит, который обычно заполняет пользователь или который приходит от поставщика; он виден в карточке и часто используется в прайсах. Штрихкод хранится в отдельном регистре сведений и к карточке привязан через него, а не через код справочника.

Три идентификатора номенклатуры

Код справочника

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

Артикул

Заполняется вручную или загружается от поставщика. Удобен для поиска по прайсам, но может быть не заполнен или дублироваться.

Штрихкод

Хранится в регистре сведений, ищется сканером или вводом. Один товар может иметь несколько штрихкодов.

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

Поиск по коду в списке справочника «Номенклатура»

Основной способ — поиск прямо в форме списка справочника. Откройте раздел «НСИ и администрирование» (в УТ и ERP) или «Справочники» (в Бухгалтерии) и перейдите к списку «Номенклатура». Дальше есть два варианта в зависимости от того, какая строка поиска отображается в вашей конфигурации.

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

Поиск по коду в списке справочника
  1. 1
    Откройте справочник «Номенклатура» через раздел «НСИ и администрирование» или «Справочники»
  2. 2
    Нажмите на значок настройки у строки поиска и выберите поиск по колонке «Код»
  3. 3
    Введите код полностью или его часть и нажмите Enter
  4. 4
    Дважды щёлкните найденную позицию, чтобы открыть карточку и проверить, что это нужный товар
  5. 5
    Если позиция не найдена — снимите отбор по группе и проверьте, не включён ли фильтр по виду номенклатуры

Классический способ через меню «Ещё» тоже работает: в списке нажмите «Ещё → Найти…» (или сочетание Ctrl+F), в появившемся окне укажите, что искать (код), и где искать — колонка «Код». Этот вариант удобен, когда нужно точное совпадение без учёта частей строки.

Быстрый поиск вводом по строке

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

В формах выбора (например, при заполнении поля «Номенклатура» в документе) можно ввести код прямо в поле ввода и нажать Enter или Tab. Платформа попытается найти позицию по введённой строке среди настроенных полей поиска. Если найдена ровно одна позиция — она подставится автоматически; если несколько — откроется выпадающий список для выбора.

Подбор номенклатуры по коду в документах

При заполнении реализации, поступления или заказа искать каждую позицию через справочник неудобно — для этого существует подбор. В табличной части документа нажмите кнопку «Подбор» (в некоторых конфигурациях — «Добавить → Подбор» или «Заполнить → Подбор»). Откроется форма подбора с собственной строкой поиска.

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

Удобная особенность подбора: если вы работаете со сканером штрихкодов, но у вас список внутренних кодов, ввод кода в поле поиска подбора работает так же быстро, как сканирование. Для потокового ввода десятков позиций это самый производительный сценарий без программных доработок.

Если коды в вашей базе начинаются с нулей или префикса (например, «00-000123»), в форме подбора часто достаточно ввести только значащую часть — «123». Но в строгом поиске через Ctrl+F префикс и ведущие нули могут потребоваться полностью. Проверьте поведение на паре известных кодов, прежде чем массово вводить данные.
ПЗ
Практическое замечание

Поиск по коду через полнотекстовый поиск и в специальных конфигурациях

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

В отраслевых и старых конфигурациях (например, решения на обычных формах) поиск выглядит иначе: используется кнопка с биноклем или пункт меню «Действия → Найти». Логика та же — выбираете реквизит «Код», вводите значение, запускаете поиск. Если конфигурация сильно доработана, уточните у администратора, не переопределён ли механизм поиска.

Для программного поиска (в обработках, обменах, внешних отчётах) используется метод НайтиПоКоду() менеджера справочника. Он возвращает ссылку на элемент или пустую ссылку, если позиция не найдена.

bsl
НайденнаяСсылка = Справочники.Номенклатура.НайтиПоКоду("00-000123");
Если НайденнаяСсылка.Пустая() Тогда
    Сообщить("Номенклатура с таким кодом не найдена");
КонецЕсли;

Почему поиск по коду не находит позицию

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

Первая причина — активный отбор. В списке справочника могут быть включены фильтры по группе, виду номенклатуры или пометке «не показывать архивные», и искомая позиция просто отсечена. Сбросьте все отборы (кнопка «Ещё → Отключить все отборы» или очистка полей отбора) и повторите поиск. Вторая причина — вы ищете артикул или штрихкод в колонке «Код». Это разные реквизиты: переключите поиск на нужную колонку или используйте поиск по всем колонкам.

Третья причина — расхождение форматов кода. Если код числовой, а вы вводите его с ведущими нулями из выгрузки Excel, совпадения может не быть — и наоборот. Четвёртая причина — позиция помечена на удаление: в некоторых режимах списка помеченные объекты скрыты. Включите отображение помеченных на удаление через «Ещё → Изменить форму» или соответствующий режим просмотра.

Типичные ошибки при поиске по коду
01
Поиск артикула в колонке «Код» — результат пустой, хотя товар в базе есть. Переключите колонку поиска.
02
Активный отбор по группе или виду номенклатуры отсекает нужную позицию — сбросьте отборы перед поиском.
03
Ввод кода из Excel с лишними пробелами или ведущими нулями — скопируйте код и проверьте его в карточке.
04
Поиск только что созданной позиции через полнотекстовый поиск до обновления индекса — используйте поиск в списке справочника.
05
Попытка найти товар по коду из другой базы, где нумерация отличается — ищите по артикулу или наименованию.

Как проверить результат и что делать, если кодов много

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

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

Контрольные точки

Как проверить результат поиска

Количество найденных позиций
Норма

Найдена одна позиция, код совпадает полностью

Тревожный признак

Найдено несколько позиций или ни одной при заведомо существующем товаре

Соответствие карточки
Норма

Наименование, артикул и единица измерения совпадают с ожидаемыми

Тревожный признак

Код совпал, но наименование относится к другому товару

Состояние позиции
Норма

Позиция активна, не помечена на удаление

Тревожный признак

Позиция помечена на удаление или находится в архивной группе

Если поиск по коду нужен постоянно и штатных средств не хватает (например, поиск по коду не работает в поле ввода документа), обсудите с администратором или разработчиком включение поля «Код» в состав полей поиска — это небольшая доработка, которая заметно ускоряет ежедневную работу.

Итог

Что важно запомнить

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

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

Можно ли искать номенклатуру по части кода?

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

Почему при вводе кода в поле «Номенклатура» документа ничего не находится?

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

Как найти товар, если известен только штрихкод?

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

Одинаковые коды у разных товаров — это нормально?

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

Как найти номенклатуру по коду программно, в обработке?

Используйте метод менеджера справочника: Справочники.Номенклатура.НайтиПоКоду("значение"). Метод вернёт ссылку на элемент или пустую ссылку. Если код в базе числовой, а в обработку приходит строка, приведите типы: преобразуйте значение через Формат() или Число() в соответствии с типом кода в вашей конфигурации.

Найденная позиция помечена на удаление. Можно ли её использовать в документе?

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