Поиск контрагента по адресу в 1С: от строки поиска до запроса
Содержание
Быстрее всего найти организацию по адресу в 1С через поле поиска в шапке программы (значок лупы): введите улицу или индекс, и программа покажет контрагентов, у которых этот фрагмент есть в адресе. Работает это только при включённом полнотекстовом поиске. Если поиск выключен или нужна точная выборка, например все контрагенты с одной улицы, используйте универсальный отчёт или запрос к табличной части контактной информации.
Строка поиска в списке справочника адрес не видит: она ищет по колонкам списка, а адреса хранятся отдельно. Поэтому способ выбирают по задаче:
| Способ | Когда подходит | Что нужно |
|---|---|---|
| 🔎 Поиск в шапке программы | Нужно быстро найти одну-две карточки по фрагменту адреса | Включённый полнотекстовый поиск |
| 📊 Универсальный отчёт | Нужен список всех, кто на одной улице или в одном городе | Права на отчёты |
| 🏷 Дополнительный реквизит | Регулярно нужен отбор по району, маршруту, зоне доставки | Настройка реквизита один раз |
| 💻 Консоль запросов | Сложное условие, несколько видов адреса, выгрузка | Права администратора, внешняя обработка |
Всё ниже описано для 1С:Бухгалтерии 3.0 на платформе 8.3 с интерфейсом «Такси». В других типовых конфигурациях на БСП (УТ 11, ЗУП 3.1, КА) адреса хранятся так же, отличаются только пути к справочникам.
Почему строка поиска в списке контрагентов не находит адрес
Справочник открывается через Справочники → Покупки и продажи → Контрагенты, а также из разделов Покупки и Продажи. Поле Поиск (Ctrl+F) над списком ищет совпадения по видимым колонкам: наименованию, ИНН, КПП. Адреса в этих колонках нет.
Причина в устройстве справочника. Адреса, телефоны и электронная почта контрагента лежат не в реквизитах шапки, а в табличной части КонтактнаяИнформация. Каждая строка этой таблицы — один вид контакта:
- 🏢 «Юридический адрес»;
- 📦 «Фактический адрес»;
- ✉️ «Почтовый адрес»;
- 📞 телефоны и e-mail.
Для каждой строки программа хранит тип и вид контакта, готовую строку-представление адреса («Представление») и отдельно страну, регион и город. Именно по представлению и ищут все способы ниже.
Что всё-таки можно найти через список:
- Если адрес случайно попал в наименование («ИП Иванов (ТЦ на Садовой)») — обычный поиск найдёт по слову «Садовой».
- Если адрес записан в поле
Комментарийкарточки, его тоже видно не всегда: колонку комментария в списке приходится выводить вручную черезЕщё → Изменить форму, если она там доступна. - По региону можно сузить список косвенно: первые 4 цифры КПП — код налоговой инспекции, где организация стоит на учёте, а первые 2 из них — код региона. Набор
77в поиске по КПП оставит в основном московских контрагентов.
Расширенный поиск по колонке открывается сочетанием Alt+F. В нём можно выбрать, искать по части строки или с начала. Но список колонок там тот же, адреса среди них не будет.
Глобальный поиск по базе: найти организацию по адресу за минуту
Поиск в шапке программы ищет по полнотекстовому индексу. В индекс попадают и строки табличных частей, поэтому адрес из контактной информации находится так же, как наименование.
Как включить полнотекстовый поиск
- Откройте
Администрирование → Общие настройки. - Найдите группу настроек полнотекстового поиска и установите флажок
Полнотекстовый поиск данных. - Откройте настройку поиска по ссылке рядом с флажком и нажмите команду обновления индекса.
На большой базе первое построение индекса занимает от нескольких минут до часа. Дальше индекс обновляется регламентным заданием.
Построение индекса заметно нагружает сервер. В рабочее время на базе с десятками пользователей лучше запускать его в обед или вечером.
Как искать
- Вводите корень названия улицы без типа: не «ул. Садовая», а «Садов». Адрес мог сохраниться как «Садовая ул» или «ул Садовая», и полный вариант не совпадёт.
- Номер дома ищите отдельно вторым словом: «Садов 14». Полнотекстовый поиск найдёт карточки, где есть оба слова.
- Индекс вводите целиком, шесть цифр: «620014».
- Для любых окончаний ставьте звёздочку:
Садов*найдёт «Садовая», «Садовой», «Садово-Кудринская».
В результатах поиска карточки сгруппированы по типам объектов. Контрагенты будут рядом с документами, где встречается тот же адрес: например, в счетах-фактурах и накладных, если адрес попал в их реквизиты.
Универсальный отчёт: список всех организаций по адресу
Когда нужно не найти одну карточку, а получить список — все контрагенты на одной улице, все поставщики из Казани, — удобнее универсальный отчёт. Он есть в типовых конфигурациях на БСП и открывается из раздела Отчеты, в группе стандартных отчётов.
Порядок настройки:
- В поле типа объекта выберите «Справочник», в поле объекта — «Контрагенты».
- В поле таблицы выберите не основные данные, а табличную часть «Контактная информация».
- Откройте настройки отчёта и добавьте отбор: поле «Представление», вид сравнения «Содержит», значение — фрагмент адреса.
- Добавьте второй отбор по полю «Вид», если нужен только юридический или только фактический адрес.
- В полях отчёта оставьте «Ссылка» (это и есть контрагент), «Вид» и «Представление».
- Сформируйте отчёт.
Результат можно сохранить как вариант отчёта и потом открывать одной командой. Двойной щелчок по контрагенту в отчёте открывает его карточку.
Тот же отчёт работает и для своих организаций: выберите справочник «Организации» и его табличную часть контактной информации. Это пригодится, если в базе десятки юрлиц холдинга и нужно понять, какое из них зарегистрировано по конкретному адресу.
Адресный классификатор и составной адрес: почему одна улица записана по-разному
Адрес в 1С вводится через форму с полями: регион, район, город, улица, дом, корпус, квартира. Если загружен адресный классификатор или подключена интернет-поддержка, поля заполняются из справочника ФИАС/ГАР. Если нет — пользователь вписывает адрес вручную, и программа сохраняет его в свободной форме.
Из-за этого в одной базе одна и та же улица встречается в разном виде:
| Как ввели | Что сохранилось в представлении |
|---|---|
| Через классификатор | Тип улицы и номер дома в едином формате |
| Вручную, сокращённо | «ул. Садовая, 14» |
| Вручную, полностью | «улица Садовая, дом 14» |
| Скопировали из выписки | С лишними пробелами, «ё» вместо «е», с кавычками |
Отсюда правило поиска: ищите по самому короткому уникальному фрагменту. Корень названия улицы плюс отдельный номер дома находят почти все варианты записи.
Чтобы новые адреса шли в одном формате, вводите их через классификатор. Для этого:
- 🔗 подключите интернет-поддержку пользователей: тогда адреса проверяются через веб-сервис;
- 📥 или загрузите классификатор по нужным регионам в базу, если сервер без интернета;
- 🧾 при создании контрагента по ИНН юридический адрес подтягивается из ЕГРЮЛ уже в правильном виде.
Старые адреса, введённые вручную, можно привести к формату классификатора: откройте адрес в карточке контрагента, и форма предложит выбрать подходящий вариант из классификатора. Массово это делают только через обработки, поэтому на больших справочниках проще жить с поиском по фрагменту.
Индекс, город и дополнительные реквизиты: поиск без точного адреса
Бывает, что улица неизвестна, а нужно найти всех контрагентов в районе или городе.
По почтовому индексу
Индекс входит в представление адреса, поэтому его находят и глобальным поиском, и отбором «Содержит» в универсальном отчёте. Первые три цифры индекса обозначают город или район, поэтому отбор по «620» соберёт большинство адресов Екатеринбурга. Учтите, что эти же три цифры могут встретиться в номере дома или телефоне, поэтому результат стоит просмотреть глазами.
По городу и региону
В табличной части контактной информации есть отдельные поля «Регион» и «Город». Их заполняет форма ввода адреса, поэтому для адресов из классификатора отбор по городу точнее, чем по фрагменту представления. Для старых адресов, введённых строкой, эти поля бывают пустыми.
Через дополнительный реквизит
Если в работе постоянно нужен отбор по признаку, которого нет в адресе (район доставки, маршрут экспедитора, торговая зона), заведите для контрагентов дополнительный реквизит:
- Включите флажок
Дополнительные реквизиты и сведениявАдминистрирование → Общие настройки. - По ссылке рядом с флажком откройте настройку, выберите набор для справочника «Контрагенты» и добавьте реквизит, например «Район доставки», со своим списком значений.
- Заполните реквизит в карточках.
Дальше по нему отбирают в универсальном отчёте или в настройке списка. Это надёжнее, чем каждый раз угадывать, как записана улица.
Консоль запросов: точный поиск по адресу в базе 1С
Консоль запросов — внешняя обработка для администраторов. В типовые конфигурации она не встроена: файл обработки скачивают отдельно и открывают через Файл → Открыть в главном меню. Нужны права на открытие внешних обработок.
Запрос ниже находит контрагентов, у которых в любом адресе есть фрагмент «садов», без учёта регистра:
ВЫБРАТЬ
КИ.Ссылка КАК Контрагент,
КИ.Ссылка.ИНН КАК ИНН,
КИ.Вид КАК ВидАдреса,
КИ.Представление КАК Адрес
ИЗ
Справочник.Контрагенты.КонтактнаяИнформация КАК КИ
ГДЕ
КИ.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Адрес)
И ВРЕГ(ВЫРАЗИТЬ(КИ.Представление КАК СТРОКА(500))) ПОДОБНО ВРЕГ(&Фрагмент)
И НЕ КИ.Ссылка.ПометкаУдаления
УПОРЯДОЧИТЬ ПО
Адрес
В параметр &Фрагмент передайте строку с символами-заменителями: %садов%. Знак % означает любое количество любых символов, поэтому шаблон %садов%14% найдёт адреса, где после улицы идёт номер 14.
Почему запрос написан именно так:
- 🧩
ВЫРАЗИТЬ(... КАК СТРОКА(500))— представление адреса хранится строкой неограниченной длины, а такие строки в условиях запроса лучше приводить к фиксированной длине; - 🔠
ВРЕГс обеих сторон — чтобы «Садовая» и «садовая» совпадали на любой СУБД; - 🗑 отбор по
ПометкаУдаления— чтобы не тащить в результат карточки, помеченные на удаление.
Чтобы искать только юридические адреса, добавьте условие на вид контактной информации. Проще всего передать нужный вид параметром: выберите его в консоли из справочника «Виды контактной информации».
Для своих организаций замените источник на Справочник.Организации.КонтактнаяИнформация. Для физлиц — на Справочник.ФизическиеЛица.КонтактнаяИнформация.
Консоль запросов только читает данные. Если в той же обработке есть режим изменения или удаления найденных объектов, на рабочей базе им не пользуйтесь без резервной копии.
Результат запроса консоль выгружает в табличный документ, откуда его можно сохранить в Excel и отправить, например, в отдел логистики.
Если 1С не находит организацию по адресу
Адрес точно есть в карточке, а поиск молчит. Проверьте по порядку:
Ещё одна частая причина — адрес записан не в контактной информации, а в комментарии, полном наименовании или во вложенном файле. Глобальный поиск найдёт его в комментарии и наименовании, но не внутри скана договора.