Как исправить ошибку проверки данных XDTO в реестре прямых выплат ФСС в 1С: ЗУП 3.0?

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

При формировании и отправке реестра прямых выплат в Фонд социального страхования (ФСС) из программы 1С: Зарплата и управление персоналом (ЗУП) версии 3.0 или 3.1, пользователи нередко сталкиваются с ошибкой проверки данных XDTO. Эта ошибка сигнализирует о том, что сформированный XML-файл не соответствует утвержденной схеме данных ФСС, что препятствует успешной отправке документа. Давайте подробно разберем, что означает данная ошибка и как мы можем ее устранить.

Типичное сообщение об ошибке выглядит следующим образом:

"Ошибка проверки данных XDTO: Значение: '' не соответствует простому типу: {http://pilot.fss.ru/1.7}IdType. Значение не соответствует значениям фасета перечисления {Документ.РеестрСведенийНеобходимыхДляНазначенияИВыплатыПособий.МодульМенеджера(417)}: ROW.ID_TYPE = СтруктураДанных.УдостоверениеЛичностиКодМВД; {Документ.РеестрСведенийНеобходимыхДляНазначенияИВыплатыПособий.МодульМенеджера(379)}: ЗаполнитьСтрокуРеестра(ROW, ВыборкаСтрок); ..."

Это сообщение указывает на проблему с полем ID_TYPE, которое, судя по контексту УдостоверениеЛичностиКодМВД, относится к типу документа, удостоверяющего личность сотрудника. Фраза "Значение: '' не соответствует простому типу" говорит о том, что либо поле пустое, либо его значение не входит в список допустимых (фасет перечисления) согласно XDTO-схеме ФСС. Мы рассмотрим несколько распространенных причин этой ошибки и предложим пошаговые решения.

1. Проверка и корректировка данных физического лица: коды видов документов ФНС

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

  1. Открываем карточку сотрудника. Первым делом нам необходимо открыть карточку того сотрудника, по которому возникает ошибка при формировании реестра. Для этого перейдем в раздел Кадры, выберем пункт Сотрудники и найдем нужного человека в списке.
  2. Переходим к личным данным. В карточке сотрудника нам нужна ссылка Личные данные. Щелкнем по ней, чтобы открыть окно с более детальной информацией о физическом лице.
  3. Анализируем раздел "Документ, удостоверяющий личность". В открывшемся окне найдем блок Документ, удостоверяющий личность. Здесь мы должны внимательно проверить несколько ключевых моментов:
    • Убедимся, что все поля документа (серия, номер, кем выдан, дата выдачи, код подразделения) заполнены полностью и корректно. Часто пропуск даже одного поля, например, кода подразделения, может привести к ошибкам.
    • Особое внимание уделим полю Вид документа. Это поле определяет тип документа, например, "Паспорт гражданина РФ", "Паспорт иностранного гражданина", "Удостоверение личности военнослужащего" и так далее.
  4. Проверяем код ФНС для вида документа. Теперь мы должны убедиться, что для выбранного Вида документа установлен корректный Код ФНС.
    1. Чтобы это сделать, щелкнем по кнопке выбора (обычно в виде многоточия или стрелки) рядом с полем Вид документа. Откроется справочник Виды документов физических лиц.
    2. Найдем в этом справочнике тот вид документа, который указан у нашего сотрудника (например, "Паспорт гражданина РФ").
    3. Откроем элемент справочника Вид документа. В форме элемента найдем поле Код ФНС. Это критически важное поле, которое часто бывает пустым или содержит некорректное значение, вызывая ошибку XDTO.
    4. Корректные коды ФНС:
      • Для "Паспорта гражданина РФ", как правило, должен стоять код "21". Некоторые системы могут также использовать код "01". Мы рекомендуем проверить оба варианта, если ошибка сохраняется.
      • Для "Паспорта иностранного гражданина" чаще всего используется код "10" или "09".
      • Для "Свидетельства о рождении" – "03".
      • Для "Удостоверения беженца" – "12".
      • Для "Вида на жительство" – "08".

      Важно помнить, что перечень кодов видов документов, удостоверяющих личность, устанавливается Федеральной налоговой службой. В случае сомнений всегда лучше сверяться с актуальными официальными источниками ФНС или информационно-технологическим сопровождением 1С (ИТС).

    5. Если код отсутствует или неверен: Мы должны ввести или исправить Код ФНС в соответствии с видом документа. После ввода кода обязательно запишем изменения в элементе справочника Виды документов физических лиц.
  5. Перезаполняем или пересоздаем реестр. После внесения изменений в данные физического лица и справочник видов документов, необходимо либо перезаполнить существующий документ Реестр сведений, необходимых для назначения и выплаты пособий, либо создать его заново. Затем мы можем повторить попытку отправки в ФСС.

Почему это так важно? Строка ошибки Значение не соответствует значениям фасета перечисления прямо указывает на то, что система ожидает одно из предопределенных значений из определенного списка, но получает либо пустоту, либо значение, которое в этот список не входит. Код ФНС как раз и является таким предопределенным значением, которое валидатор XDTO проверяет на соответствие. Если он отсутствует или некорректен, валидация не пройдет.

2. Проблемы с дублированием или некорректной синхронизацией справочников ФЛ

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

  1. Проверяем справочник "Физические лица" на дубликаты.
    • Перейдем в раздел Кадры -> Физические лица.
    • Внимательно просмотрим список на наличие нескольких элементов с одинаковыми ФИО или похожими данными для того сотрудника, по которому возникает ошибка.
    • Дублирование может произойти, например, если данные о сотруднике были введены вручную, а затем он был загружен через синхронизацию, или если правила синхронизации были настроены некорректно.
  2. Удаляем дубликаты или объединяем данные.
    • Если мы обнаружили дубликаты, воспользуемся стандартной обработкой Поиск и удаление дублей. Ее можно найти в разделе Администрирование -> Обслуживание -> Корректировка данных.
    • Запустим обработку, выберем объект Физические лица и выполним поиск.
    • Система предложит варианты для объединения или удаления дубликатов. Мы должны очень осторожно подойти к этому шагу, чтобы не удалить важные данные. Обычно выбирается один "правильный" элемент, а остальные помечаются на удаление или объединяются с основным.
  3. Анализируем синхронизацию данных.
    • Если проблема возникла после или во время синхронизации с другой программой 1С (например, 1С:БП), нам необходимо проанализировать настройки обмена. Возможно, правила выгрузки/загрузки данных о физических лицах настроены некорректно или произошел сбой при обмене.
    • В некоторых случаях может потребоваться временное отключение синхронизации для ручной корректировки данных, а затем тщательная перенастройка правил.
    • После устранения дубликатов или некорректных данных, перезаполним реестр прямых выплат и попробуем отправить его снова.

3. Проверка дополнительного кода ФСС

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

  1. Открываем документ "Реестр сведений, необходимых для назначения и выплаты пособий". Перейдем в раздел Кадры -> Пособия за счет ФСС -> Реестр сведений, необходимых для назначения и выплаты пособий и откроем проблемный документ.
  2. Проверяем поле "Доп. код ФСС".
    • Мы должны внимательно проверить это поле в шапке документа или в данных, относящихся к головной организации.
    • Критически важный момент: Если реестр подается от головной организации, то поле Доп. код ФСС должно быть пустым.
    • Часто пользователи, не зная этого нюанса, вводят в него "0" или "000". Это является ошибкой, так как "0" не является допустимым пустым значением для поля, которое ожидает конкретный код для обособленного подразделения.
    • Если в поле стоит "0" или любое другое некорректное значение, мы должны очистить его.
  3. Перезаписываем и отправляем реестр. После корректировки поля Доп. код ФСС сохраним документ и повторим попытку отправки в ФСС.

4. Диагностика XDTO-пакета (для продвинутых пользователей и программистов)

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

  1. Изучаем сообщение об ошибке. Внимательно посмотрим на сообщение об ошибке еще раз: ROW.ID_TYPE = СтруктураДанных.УдостоверениеЛичностиКодМВД; и указание на модуль менеджера документа {Документ.РеестрСведенийНеобходимыхДляНазначенияИВыплатыПособий.МодульМенеджера(417)}. Это дает нам точное место в коде, где формируется значение, вызывающее проблему.
  2. Открываем Конфигуратор и находим XDTO-пакеты.
    • Запустим 1С в режиме Конфигуратор.
    • В дереве конфигурации найдем ветку XDTO-пакеты.
    • Развернем эту ветку и постараемся найти пакет, связанный с обменом с ФСС. Часто они имеют имена, включающие ссылки на пространства имен, такие как http://pilot.fss.ru/1.7 или похожие.
  3. Экспортируем XML-схему данных.
    • Выделим соответствующий XDTO-пакет (или всю ветку XDTO-пакеты, если не уверены, какой именно).
    • В контекстном меню (правая кнопка мыши) выберем команду Экспорт XML-схемы данных конфигурации (или аналогичную, если экспортируем отдельный пакет).
    • Сохраним полученный XSD-файл на диск. Этот файл содержит описание структуры и правил валидации XML-документа, который мы пытаемся сформировать.
  4. Анализируем XSD-файл.
    • Откроем XSD-файл в любом текстовом редакторе или специализированном XML-редакторе.
    • Используя поиск (Ctrl+F), найдем описание типа IdType (из сообщения об ошибке).
    • В этом описании мы увидим тег xs:restriction с фасетами xs:enumeration value="...". Эти значения и являются списком всех допустимых кодов для поля ID_TYPE. Например, мы можем увидеть что-то вроде:
      
      <xs:simpleType name="IdType">
          <xs:restriction base="xs:string">
              <xs:enumeration value="01"/>
              <xs:enumeration value="03"/>
              <xs:enumeration value="08"/>
              <xs:enumeration value="09"/>
              <xs:enumeration value="10"/>
              <xs:enumeration value="12"/>
              <xs:enumeration value="21"/>
              <!-- и другие допустимые значения -->
          </xs:restriction>
      </xs:simpleType>
      
    • Мы сравним этот список с кодом ФНС, который мы вводили для вида документа сотрудника. Это поможет нам точно понять, какое значение ожидается системой.
  5. Отладка в модуле менеджера.
    • В Конфигураторе откроем модуль менеджера документа РеестрСведенийНеобходимыхДляНазначенияИВыплатыПособий.
    • Перейдем к строке, указанной в ошибке (например, 417), или к месту, где происходит присвоение значения ROW.ID_TYPE.
    • Установим в этом месте точку останова (F9).
    • Запустим 1С:Предприятие в режиме отладки (F5) и попробуем сформировать реестр.
    • Когда выполнение остановится на точке останова, мы сможем проанализировать значение переменной СтруктураДанных.УдостоверениеЛичностиКодМВД или непосредственно ROW.ID_TYPE в окне выражений или табло. Это позволит нам точно увидеть, какое значение система пытается присвоить и передать валидатору.

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

Общие рекомендации для предотвращения ошибок XDTO

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

  1. Регулярное обновление программы. Фирма "1С" постоянно выпускает обновления (релизы) и исправления (патчи) для своих конфигураций. Эти обновления часто содержат исправления известных ошибок, в том числе ошибок XDTO, которые могут быть вызваны изменениями в форматах обмена с государственными органами. Мы всегда должны стремиться поддерживать нашу 1С:ЗУП в актуальном состоянии.
  2. Использование сервиса "1С-Отчетность". Если это возможно, мы рекомендуем использовать встроенный сервис "1С-Отчетность" для отправки реестров и другой отчетности. Этот сервис интегрирован непосредственно в программу 1С и обеспечивает максимальную совместимость с форматами данных, что значительно снижает вероятность возникновения ошибок при формировании и отправке файлов.
  3. Проверка заполнения всех обязательных полей. Даже если сообщение об ошибке указывает на конкретное поле, мы всегда должны убеждаться, что все обязательные поля в карточках сотрудников, документах и справочниках заполнены. Часто ошибка в одном месте может "проявиться" в другом.
  4. Внимание к мелочам. Пустые пробелы, некорректные символы, неверный регистр букв – все это может вызвать проблемы при проверке XDTO. Система очень чувствительна к формату данных.
  5. Проверка настроек обработки ошибок. В редких случаях, особенно после обновлений, могут сбиться некоторые внутренние настройки обработки ошибок. Мы можем проверить их через раздел Администрирование -> Настройки пользователей и прав -> Настройки пользователей -> найти своего пользователя и проверить его персональные настройки. Также можно использовать "Функции тех. специалиста" (доступны через меню Сервис и настройки -> Функции для технического специалиста), чтобы углубиться в настройки, но это требует осторожности.

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

← На главную