Как исправить ошибку «Город может быть не указан только в регионе - городе федерального значения» при вводе адреса в 1С

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

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

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

Почему возникает эта ошибка: технический анализ

Разберем причину возникновения сбоя. В основе системы адресного ввода 1С лежит программная проверка, которая жестко определяет статус региона. Для городов федерального значения (Москва, Санкт-Петербург, Севастополь, Байконур) в коде типовых конфигураций прописано условие: если это город федерального значения, то поля «Район» или «Город» внутри него могут оставаться пустыми (так как сам субъект РФ и является городом).

Идентификация этих городов происходит по краткому наименованию типа объекта. В коде 1С заложено сравнение со строкой г (без точки). Однако в середине 2024 года ФНС обновила классификатор ГАР (Государственный адресный реестр), и для Санкт-Петербурга, Севастополя и Байконура тип объекта начал приходить с точкой — г.. Из-за этого символа точки встроенная проверка 1С перестает «узнавать» город федерального значения и начинает требовать заполнения всех уровней иерархии, как для обычной области или края.

Способ 1. Ручная корректировка регистра сведений

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

Рассмотрим пошагово процесс исправления:

  1. Перейдем в меню «Функции для технического специалиста» (или «Все функции» — поможет инструментарий для массового редактирования данных).
  2. Найдем в списке регистров сведений АдресныеОбъекты.
  3. В открывшемся списке записей будет огромное количество данных. Чтобы найти нужную строку, воспользуемся фильтрами. Нам нужен столбец Уровень. Установим отбор по значению 1 (это уровень субъектов федерации).
  4. Найдем в списке ваш город (например, Санкт-Петербург).
  5. Обратим внимание на колонку Тип. Скорее всего, там указано значение г. (с точкой).
  6. Отредактируем запись, удалив точку, чтобы осталось просто г (удобно через универсальный редактор записей регистров сведений).
  7. Сохраним изменения.

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

Способ 2. Установка официального исправления (патча)

Фирма «1С» выпустила автоматические исправления для большинства типовых конфигураций (ЗУП, БП 3.0, ERP, Университет Проф). Эти патчи корректируют логику работы общего модуля АдресныйКлассификатор, заставляя систему игнорировать наличие точки при проверке статуса города.

Для решения проблемы выполним следующие действия:

  1. Зайдем в раздел Администрирование — Обслуживание.
  2. Перейдем по ссылке Обновление программы — Установленные исправления (патчи).
  3. Нажмем кнопку Поиск и установка исправлений (требуется доступ к интернет-поддержке).
  4. Система должна найти патч с кодом вида EF_00163353 (номер может варьироваться). Установим его и перезапустим программу.

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

Способ 3. Отключение автоматического обновления классификатора

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

Выполним настройку:

  1. Перейдем в Администрирование — Обслуживание — Регламентные и фоновые задания.
  2. Найдем задание Загрузка классификатора адресов.
  3. Снимем флажок Включено.

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

Особенности работы с кэшем платформы

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

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

Рекомендация для разработчиков (изменение кода)

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

Пример логики, которую необходимо скорректировать, может выглядеть так:


// Было:
Если ТипОбъекта = "г" Тогда
    // Логика для городов федерального значения
КонецЕсли;

// Стало (рекомендуемый вариант):
Если СокрЛП(СтрЗаменить(ТипОбъекта, ".", "")) = "г" Тогда
    // Логика теперь корректно отрабатывает и "г", и "г."
КонецЕсли;

Такой подход делает систему устойчивой к изменениям в написании сокращений в справочниках ФНС.

Влияние на отчетность

Важно помнить, что некорректная идентификация адреса — это не только неудобство при вводе. Это может повлечь за собой неверное формирование кодов ОКТМО в регламентированной отчетности (например, в формах 6-НДФЛ или ЕФС-1) — поможет обработка автоматического исправления ошибок в 6-НДФЛ. Поэтому после внесения исправлений обязательно перевыберите адрес в карточках организаций или сотрудников, чтобы система заново пересчитала связанные идентификаторы ГАР.

Подведем итог: проблема вызвана несоответствием жестких проверок в коде 1С и новых данных в государственном реестре. Оптимальным решением является установка патча EF_00163353, а в качестве временной меры — ручное удаление точки из типа объекта в регистре АдресныеОбъекты для нужного региона. Для этой задачи есть расширенная экспресс-проверка учета на ошибки.

← На главную