Поиск контрагента по адресу в 1С: от строки поиска до запроса

· 10 мин

Содержание

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

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

СпособКогда подходитЧто нужно
🔎 Поиск в шапке программыНужно быстро найти одну-две карточки по фрагменту адресаВключённый полнотекстовый поиск
📊 Универсальный отчётНужен список всех, кто на одной улице или в одном городеПрава на отчёты
🏷 Дополнительный реквизитРегулярно нужен отбор по району, маршруту, зоне доставкиНастройка реквизита один раз
💻 Консоль запросовСложное условие, несколько видов адреса, выгрузкаПрава администратора, внешняя обработка

Всё ниже описано для 1С:Бухгалтерии 3.0 на платформе 8.3 с интерфейсом «Такси». В других типовых конфигурациях на БСП (УТ 11, ЗУП 3.1, КА) адреса хранятся так же, отличаются только пути к справочникам.

Почему строка поиска в списке контрагентов не находит адрес

Справочник открывается через Справочники → Покупки и продажи → Контрагенты, а также из разделов Покупки и Продажи. Поле Поиск (Ctrl+F) над списком ищет совпадения по видимым колонкам: наименованию, ИНН, КПП. Адреса в этих колонках нет.

Причина в устройстве справочника. Адреса, телефоны и электронная почта контрагента лежат не в реквизитах шапки, а в табличной части КонтактнаяИнформация. Каждая строка этой таблицы — один вид контакта:

  • 🏢 «Юридический адрес»;
  • 📦 «Фактический адрес»;
  • ✉️ «Почтовый адрес»;
  • 📞 телефоны и e-mail.

Для каждой строки программа хранит тип и вид контакта, готовую строку-представление адреса («Представление») и отдельно страну, регион и город. Именно по представлению и ищут все способы ниже.

Что всё-таки можно найти через список:

  1. Если адрес случайно попал в наименование («ИП Иванов (ТЦ на Садовой)») — обычный поиск найдёт по слову «Садовой».
  2. Если адрес записан в поле Комментарий карточки, его тоже видно не всегда: колонку комментария в списке приходится выводить вручную через Ещё → Изменить форму, если она там доступна.
  3. По региону можно сузить список косвенно: первые 4 цифры КПП — код налоговой инспекции, где организация стоит на учёте, а первые 2 из них — код региона. Набор 77 в поиске по КПП оставит в основном московских контрагентов.

Расширенный поиск по колонке открывается сочетанием Alt+F. В нём можно выбрать, искать по части строки или с начала. Но список колонок там тот же, адреса среди них не будет.

Глобальный поиск по базе: найти организацию по адресу за минуту

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

Как включить полнотекстовый поиск

  1. Откройте Администрирование → Общие настройки.
  2. Найдите группу настроек полнотекстового поиска и установите флажок Полнотекстовый поиск данных.
  3. Откройте настройку поиска по ссылке рядом с флажком и нажмите команду обновления индекса.

На большой базе первое построение индекса занимает от нескольких минут до часа. Дальше индекс обновляется регламентным заданием.

Построение индекса заметно нагружает сервер. В рабочее время на базе с десятками пользователей лучше запускать его в обед или вечером.

Как искать

  • Вводите корень названия улицы без типа: не «ул. Садовая», а «Садов». Адрес мог сохраниться как «Садовая ул» или «ул Садовая», и полный вариант не совпадёт.
  • Номер дома ищите отдельно вторым словом: «Садов 14». Полнотекстовый поиск найдёт карточки, где есть оба слова.
  • Индекс вводите целиком, шесть цифр: «620014».
  • Для любых окончаний ставьте звёздочку: Садов* найдёт «Садовая», «Садовой», «Садово-Кудринская».

В результатах поиска карточки сгруппированы по типам объектов. Контрагенты будут рядом с документами, где встречается тот же адрес: например, в счетах-фактурах и накладных, если адрес попал в их реквизиты.

Универсальный отчёт: список всех организаций по адресу

Когда нужно не найти одну карточку, а получить список — все контрагенты на одной улице, все поставщики из Казани, — удобнее универсальный отчёт. Он есть в типовых конфигурациях на БСП и открывается из раздела Отчеты, в группе стандартных отчётов.

Порядок настройки:

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

Результат можно сохранить как вариант отчёта и потом открывать одной командой. Двойной щелчок по контрагенту в отчёте открывает его карточку.

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

Адресный классификатор и составной адрес: почему одна улица записана по-разному

Адрес в 1С вводится через форму с полями: регион, район, город, улица, дом, корпус, квартира. Если загружен адресный классификатор или подключена интернет-поддержка, поля заполняются из справочника ФИАС/ГАР. Если нет — пользователь вписывает адрес вручную, и программа сохраняет его в свободной форме.

Из-за этого в одной базе одна и та же улица встречается в разном виде:

Как ввелиЧто сохранилось в представлении
Через классификаторТип улицы и номер дома в едином формате
Вручную, сокращённо«ул. Садовая, 14»
Вручную, полностью«улица Садовая, дом 14»
Скопировали из выпискиС лишними пробелами, «ё» вместо «е», с кавычками

Отсюда правило поиска: ищите по самому короткому уникальному фрагменту. Корень названия улицы плюс отдельный номер дома находят почти все варианты записи.

Чтобы новые адреса шли в одном формате, вводите их через классификатор. Для этого:

  • 🔗 подключите интернет-поддержку пользователей: тогда адреса проверяются через веб-сервис;
  • 📥 или загрузите классификатор по нужным регионам в базу, если сервер без интернета;
  • 🧾 при создании контрагента по ИНН юридический адрес подтягивается из ЕГРЮЛ уже в правильном виде.

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

Индекс, город и дополнительные реквизиты: поиск без точного адреса

Бывает, что улица неизвестна, а нужно найти всех контрагентов в районе или городе.

По почтовому индексу

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

По городу и региону

В табличной части контактной информации есть отдельные поля «Регион» и «Город». Их заполняет форма ввода адреса, поэтому для адресов из классификатора отбор по городу точнее, чем по фрагменту представления. Для старых адресов, введённых строкой, эти поля бывают пустыми.

Через дополнительный реквизит

Если в работе постоянно нужен отбор по признаку, которого нет в адресе (район доставки, маршрут экспедитора, торговая зона), заведите для контрагентов дополнительный реквизит:

  1. Включите флажок Дополнительные реквизиты и сведения в Администрирование → Общие настройки.
  2. По ссылке рядом с флажком откройте настройку, выберите набор для справочника «Контрагенты» и добавьте реквизит, например «Район доставки», со своим списком значений.
  3. Заполните реквизит в карточках.

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

Что именно нужно найти?

Консоль запросов: точный поиск по адресу в базе 1С

Консоль запросов — внешняя обработка для администраторов. В типовые конфигурации она не встроена: файл обработки скачивают отдельно и открывают через Файл → Открыть в главном меню. Нужны права на открытие внешних обработок.

Запрос ниже находит контрагентов, у которых в любом адресе есть фрагмент «садов», без учёта регистра:

ВЫБРАТЬ
    КИ.Ссылка КАК Контрагент,
    КИ.Ссылка.ИНН КАК ИНН,
    КИ.Вид КАК ВидАдреса,
    КИ.Представление КАК Адрес
ИЗ
    Справочник.Контрагенты.КонтактнаяИнформация КАК КИ
ГДЕ
    КИ.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Адрес)
    И ВРЕГ(ВЫРАЗИТЬ(КИ.Представление КАК СТРОКА(500))) ПОДОБНО ВРЕГ(&Фрагмент)
    И НЕ КИ.Ссылка.ПометкаУдаления
УПОРЯДОЧИТЬ ПО
    Адрес

В параметр &Фрагмент передайте строку с символами-заменителями: %садов%. Знак % означает любое количество любых символов, поэтому шаблон %садов%14% найдёт адреса, где после улицы идёт номер 14.

Почему запрос написан именно так:

  • 🧩 ВЫРАЗИТЬ(... КАК СТРОКА(500)) — представление адреса хранится строкой неограниченной длины, а такие строки в условиях запроса лучше приводить к фиксированной длине;
  • 🔠 ВРЕГ с обеих сторон — чтобы «Садовая» и «садовая» совпадали на любой СУБД;
  • 🗑 отбор по ПометкаУдаления — чтобы не тащить в результат карточки, помеченные на удаление.

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

Для своих организаций замените источник на Справочник.Организации.КонтактнаяИнформация. Для физлиц — на Справочник.ФизическиеЛица.КонтактнаяИнформация.

Консоль запросов только читает данные. Если в той же обработке есть режим изменения или удаления найденных объектов, на рабочей базе им не пользуйтесь без резервной копии.

Результат запроса консоль выгружает в табличный документ, откуда его можно сохранить в Excel и отправить, например, в отдел логистики.

Если 1С не находит организацию по адресу

Адрес точно есть в карточке, а поиск молчит. Проверьте по порядку:

Диагностика: выберите симптом

Ещё одна частая причина — адрес записан не в контактной информации, а в комментарии, полном наименовании или во вложенном файле. Глобальный поиск найдёт его в комментарии и наименовании, но не внутри скана договора.

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

Можно ли найти организацию по адресу, если её ещё нет в базе?
Нет. Создание контрагента по ИНН работает в одну сторону: по ИНН программа подтягивает адрес, а по адресу организацию не ищет. Сначала узнайте ИНН, затем создайте карточку.
Почему у одного контрагента три одинаковых адреса?
Юридический, фактический и почтовый адреса хранятся отдельными строками. Если они совпадают, поиск вернёт контрагента трижды. В запросе добавьте РАЗЛИЧНЫЕ или отбор по виду адреса.
Как выгрузить контрагентов с адресами в Excel?
Сформируйте универсальный отчёт по контактной информации или выполните запрос в консоли, затем сохраните табличный документ в формате xlsx через команду сохранения в шапке отчёта.
Ищет ли глобальный поиск по адресам в документах?
Да, если адрес записан в строковый реквизит документа и документ включён в полнотекстовый индекс. Тогда в результатах рядом с контрагентом появятся документы с тем же адресом.
Можно ли найти по адресу сотрудника?
Можно тем же запросом, но по табличной части контактной информации справочника «Физические лица». В ЗУП адреса сотрудников хранятся именно у физических лиц.