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