Почему не все документы «Зарплата к выплате» переносятся в 1С:Бухгалтерию при синхронизации с ЗУП?

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

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

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

Причины сбоя при загрузке документов выплаты зарплаты

Проанализируем основные факторы, из-за которых документ присутствует в файле выгрузки, но отсекается на этапе загрузки в 1С:Бухгалтерию:

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

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

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

  1. Проверка содержимого файла выгрузки: откроем сформированный XML-файл в текстовом редакторе и найдем блок проблемного документа по его номеру или сумме. Убедимся, что реквизиты ПериодРегистрации, Организация и табличная часть заполнены корректно.
  2. Загрузка через обработку с протоколированием: воспользуемся внешней обработкой «Универсальный обмен данными в формате XML» в базе 1С:Бухгалтерия. Запустим загрузку файла обмена с включенным флагом вывода информационных сообщений в протокол. Это позволит точно увидеть, на каком обработчике ПКО устанавливается отказ.
  3. Проверка регистра соответствий: через меню «Функции для технического специалиста» откроем регистр сведений Соответствия объектов информационных баз и выполним поиск по GUID проблемного документа.

Способы устранения проблемы

Рассмотрим варианты решения задачи в зависимости от выявленного источника ошибки.

Способ 1. Корректировка даты запрета и периода в узле обмена

Если смена месяца начисления на более поздний позволяет документу успешно загрузиться, проблема заключается в контроле периодов:

  1. Перейдем в раздел Администрирование → Настройки пользователей и прав → Даты запрета изменения. Проверим, не закрыт ли месяц, к которому относится начисление в документе (включая настройки для пользователя, от имени которого выполняется синхронизация).
  2. Перейдем в раздел Администрирование → Синхронизация данных и проверим настройку Даты запрета загрузки данных.
  3. Откроем свойства узла синхронизации и проверим реквизит Дата начала использования настроек (или дату начала выгрузки документов). При необходимости установим дату на начало года или более ранний период.

Способ 2. Очистка некорректных соответствий объектов

Если в регистре соответствий обнаружена ссылка на несуществующий или помеченный на удаление документ, выполним очистку:

  1. Найдем запись с GUID нужного документа в регистре СоответствияОбъектовИнформационныхБаз.
  2. Удалим данную строку из регистра.
  3. В исходной базе (ЗУП) с помощью обработки Регистрация изменений для обмена зарегистрируем документ «Зарплата к выплате» к повторной выгрузке.
  4. Выполним сеанс синхронизации заново.

Способ 3. Временный обход через изменение месяца начисления

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

  1. В исходном документе в ЗУП временно изменим месяц начисления на открытый (например, следующий месяц) и проведем документ.
  2. Выполним синхронизацию — документ будет успешно создан в 1С:Бухгалтерии.
  3. В базе ЗУП вернем корректный месяц начисления и перепроведем документ.
  4. В базе 1С:Бухгалтерия вручную скорректируем месяц в загруженной ведомости.
← На главную