← На главную
Синхронизация между зарплатной базой (например, 1С:Зарплата и управление персоналом) и бухгалтерской программой (1С:Бухгалтерия предприятия) периодически может завершаться аварийной остановкой процесса. Рассмотрим подробно ситуацию, когда в журнале регистрации фиксируется ошибка записи объекта Документ объект: Отражение зарплаты в бухучете со ссылкой на свойство Объект.НачисленнаяЗарплатаИВзносы.ПФРЗаЗанятыхНаПодземныхИВредныхРаботахБезСпецОценки и исключением «Поле объекта не обнаружено» в модуле обработки КонвертацияОбъектовИнформационныхБаз.
Проанализируем техническую природу сбоя, выясним причину его возникновения и разберем по шагам все способы устранения проблемы.
Почему возникает ошибка при синхронизации?
Во время типового обмена данными обработчик загрузки считывает файл выгрузки и поэлементно заполняет поля создаваемого или перезаписываемого документа в базе-приемнике. Если в правилах конвертации или в источнике данных присутствует реквизит, которого физически нет в метаданных табличной части НачисленнаяЗарплатаИВзносы в целевой базе, платформа 1С выбрасывает системное исключение.
Выделим ключевые причины возникновения данной ситуации:
- Рассинхронизация релизов конфигураций: реквизиты для детализации взносов по вредным условиям труда (с разделением на наличие или отсутствие специальной оценки условий труда) были добавлены разработчиками «1С» в определенном обновлении. Если программа-источник уже обновлена и формирует выгрузку с новым реквизитом, а программа-приемник работает на старом релизе, загрузка завершится ошибкой.
- Пропуск метаданных при обновлении доработанной конфигурации: если база-приемник находится на нетиповой поддержке, программист при обновлении мог случайно снять флажки с новых колонок табличной части документа при объединении конфигураций.
- Попытка выгрузки архивных документов: часто в план обмена случайно попадает документ прошлых лет (например, за 2016 год). Новые правила обмена пытаются сопоставить старые данные по обновленной структуре, вызывая сбой.
- Использование устаревших внешних правил обмена: если обмен выполняется не по типовым встроенным правилам, а по внешнему файлу, загруженному вручную, несоответствие описания свойств приведет к ошибке.
Способ 1. Синхронное обновление конфигурации базы-приемника
Самое правильное и штатное решение при типовой конфигурации — обновить базу, в которую загружаются данные (как отмечено в сообщении участников обсуждения, чаще всего это 1С:Бухгалтерия). Разберем по шагам порядок действий:
- Откроем базу-источник (ЗУП) и перейдем в раздел «О программе», чтобы зафиксировать точный номер текущего релиза.
- В сопроводительной документации к релизу (файле
readme.txt или описании поставки) найдем таблицу совместимости конфигураций и выясним минимально требуемую версию 1С:Бухгалтерии для корректного обмена. - Создадим резервную копию базы-приемника (выгрузка информационной базы в
.dt или бэкап средствами СУБД). - Выполним обновление базы-приемника через режим «Конфигуратор» до актуального релиза.
- Запустим базу в пользовательском режиме, дождемся завершения процедур обновления информационных баз и повторим сеанс синхронизации данных.
Способ 2. Снятие архивного документа с регистрации изменений
Если ошибка возникает на историческом документе давно закрытого периода (например, многолетней давности), и повторная загрузка этого документа в бухгалтерию не требуется, самым быстрым выходом будет очистка очереди отправки. Рассмотрим, как это сделать:
- В базе-источнике перейдем в раздел «Администрирование» — «Синхронизация данных».
- Откроем обработку «Состав отправляемых данных» (или вызовем форму
Регистрация изменений для обмена данными). - В дереве метаданных найдем ветку «Документы» и выберем
Отражение зарплаты в бухучете. - В списке зарегистрированных к отправке объектов найдем проблемный документ по его номеру и дате.
- Нажмем правой кнопкой мыши и выберем пункт «Отменить регистрацию» (или удалим строку из списка выгрузки клавишей
Delete). - Запустим обмен заново. Документ будет пропущен, и синхронизация остальных актуальных данных завершится успешно.
Способ 3. Установка даты запрета загрузки и фильтра выгрузки
Чтобы избежать повторного попадания исторических документов в обмен при случайных перепроведениях прошлых периодов, настроим ограничения по датам:
- В настройках узла синхронизации данных зададим дату начала выгрузки документов (например, начало текущего года). Документы старше указанной даты перестанут регистрироваться и выгружаться в файл обмена.
- В базе-приемнике включим механизм «Дата запрета изменения данных» для раздела
Зарплата и кадры. Это предотвратит перезапись закрытых бухгалтерских периодов со стороны внешних баз.
Способ 4. Восстановление колонок метаданных в нетиповой конфигурации
Если база-приемник доработана и оперативно обновить конфигурацию целиком невозможно, проверим структуру самого документа:
- Откроем Конфигуратор базы-приемника.
- Развернем ветку метаданных:
Документы — ОтражениеЗарплатыВБухучете — ТабличныеЧасти — НачисленнаяЗарплатаИВзносы — Реквизиты. - Проверим наличие реквизита с именем
ПФРЗаЗанятыхНаПодземныхИВредныхРаботахБезСпецОценки. - Если реквизит отсутствует, добавим его вручную или объединим документ с типовой конфигурацией поставщика. Для реквизита установим тип данных
Число, длина 15, точность 2, неотрицательное. - Сохраним конфигурацию базы данных и повторим загрузку данных.
Способ 5. Сброс правил конвертации данных на типовые
Если ранее использовались модифицированные правила, они могли устареть относительно структуры баз. Проанализируем настройки используемых правил:
- Перейдем в форму настроек синхронизации данных конкретного узла.
- Откроем параметры правил конвертации. Если активен переключатель «Использовать правила из файла», переключим его на «Использовать встроенные правила» (правила из макета конфигурации).
- Если обмен настраивался вручную, выгрузим актуальный комплект правил из макетов базы-источника и загрузим его в настройку обмена.