Как исправить ошибку «Адрес должен содержать 9 или 12 запятых» при отправке отчетности из 1С:Бухгалтерия 2.0?

Программист 1С v8.3 (Обычные формы) Бухгалтерский учет
← На главную

При работе в устаревших конфигурациях, таких как 1С:Бухгалтерия предприятия 2.0, пользователи часто сталкиваются с жесткими требованиями контролирующих органов к формату выгрузки данных. Одной из самых неприятных проблем является ошибка при отправке отчетов через 1С-Отчетность: «Адрес организации (индивидуального предпринимателя) должен содержать в себе 9 или 12 запятых!». Рассмотрим подробнее, почему возникает эта ситуация и как её эффективно решить, не прибегая к немедленному переходу на версию 3.0.

Выясним причину возникновения ошибки

Корень проблемы кроется в разнице между тем, как мы видим адрес в интерфейсе программы, и тем, как он должен выглядеть в электронном XML-файле, передаваемом в ФНС. Формат выгрузки строго регламентирован. Согласно требованиям налоговой службы, адрес должен быть разделен на определенное количество полей (индекс, регион, район, город, улица и так далее), разделенных запятыми.

Проанализируем ситуацию: даже если в адресе отсутствуют некоторые элементы (например, у города федерального значения нет района), запятые-разделители для этих пустых полей всё равно должны присутствовать. В конфигурации 2.0, которая изначально ориентирована на классификатор КЛАДР, механизмы формирования этой строки могут давать сбой, если адрес введен некорректно или "в произвольной форме". Система проверки ожидает увидеть 10 позиций (разделенных 9 запятыми) для стандартного российского адреса.

Разберем структуру «правильного» адреса

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

643,111111,Москва г,,,,Глазовский пер,99,,,дом,,

В этой строке:

  1. Первое поле — код страны (643 для России).
  2. Второе — почтовый индекс.
  3. Третье — регион.
  4. Далее идут пустые поля для района, города, населенного пункта (отмечены запятыми ,,,,).
  5. Затем улица, номер дома и тип строения.

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

Шаг 1: Перезаполнение адреса через классификатор

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

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

Шаг 2: Проверка кода страны

Часто ошибка с количеством запятых возникает из-за отсутствия кода страны в начале строки. В некоторых релизах БП 2.0 при выборе страны "РОССИЯ" её числовой код (643) может не подставляться в структуру автоматически. Проверьте, чтобы в настройках контактной информации классификатор стран мира был актуален, а у России стоял корректный код 643.

Шаг 3: Анализ программного формирования адреса

Если перезаполнение не помогает, проанализируем ситуацию с точки зрения кода. За формирование представления адреса в БП 2.0 отвечает общий модуль УправлениеКонтактнойИнформации. Посмотрим на пример функции, которая собирает эту строку:


Функция ПолучитьПредставлениеАдреса(Запись) Экспорт
    ТекПредставление = "";
    // Сборка полей с 1 по 6 (Регион, Район, Город и т.д.)
    Если СокрЛП(Запись.Поле1) <> "" Тогда
        ТекПредставление = ТекПредставление + ", " + СокрЛП(Запись.Поле1);
    КонецЕсли;
    Если СокрЛП(Запись.Поле2) <> "" Тогда
        ТекПредставление = ТекПредставление + ", " + СокрЛП(Запись.Поле2);
    КонецЕсли;
    // ... логика продолжается для всех полей ...
    
    // Обработка специфических полей дома и квартиры
    Если СокрЛП(Запись.Поле7) <> "" Тогда
        ТекПредставление = ТекПредставление + ", " + ?(ЗначениеЗаполнено(ТипДома), ТипДома, "дом") + " № " + СокрЛП(Запись.Поле7);
    КонецЕсли;
    
    // Очистка первой запятой
    Если СтрДлина(ТекПредставление) > 2 Тогда
        ТекПредставление = Сред(ТекПредставление, 3);
    КонецЕсли;
    
    Возврат ТекПредставление;
КонецФункции

Как мы видим из кода, если поля Поле1, Поле2 и другие пусты, программа просто пропускает их и не добавляет запятые. Однако для выгрузки в 1С-Отчетность требуется иная логика — сохранение разделителей. Если вы обладаете навыками программирования, можно воспользоваться отладчиком, чтобы посмотреть, в какой момент адрес передается в модуль электронного документооборота и почему там теряются пустые позиции.

Шаг 4: Ручное исправление в регистре сведений

В 1С:Бухгалтерии 2.0 данные о адресах хранятся в регистре сведений КонтактнаяИнформация. Иногда визуальная форма скрывает ошибки в структуре данных.

  1. Откроем через "Операции" — "Регистры сведений" — Контактная информация.
  2. Найдем запись по нашей организации и виду адреса (например, Юридический адрес).
  3. Обратим внимание на ресурс Поля. Это длинная строка, где данные разделены разделителями.
  4. Если вы видите, что структура явно нарушена (например, вместо 9 запятых их всего 3), попробуйте удалить эту запись и создать её заново через карточку организации, как описано в Шаге 1.

Шаг 5: Обновление данных в самой отчетности

Это критически важный момент. Даже если вы исправили адрес в карточке организации, в уже созданном отчете (или сообщении 1С-Отчетности) адрес мог остаться старым. Рассмотрим, как принудительно обновить данные:

  1. Откройте форму отчета, который не отправляется.
  2. Нажмите кнопку «Обновить» на панели инструментов (не путать с "Заполнить", которая перезаполняет показатели отчета).
  3. Если кнопка "Обновить" не помогает, попробуйте перевыбрать организацию в шапке отчета или временно выбрать другую, а затем вернуть нужную.
  4. В сервисе 1С-Отчетность (исходящие сообщения) также есть механизм обновления реквизитов отправителя. Убедитесь, что программа подтянула обновленную строку адреса.

Дополнительные рекомендации

Если адрес содержит нестандартные элементы, такие как «этаж», «помещение» или «офис», помните, что в старом КЛАДР для них не всегда есть отдельные поля. Попробуйте внести эти данные в поле Квартира, указав тип (например, "офис 10"). Избегайте написания этих данных в поле Дом, так как это гарантированно ломает парсер адреса при проверке в ФНС.

Также рекомендуем проверить, не включена ли в настройках программы опция «Адрес по муниципальному делению». БП 2.0 плохо справляется с этим форматом. Для корректной работы со старыми формами лучше придерживаться классического административно-территориального деления.

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

← На главную