При настроенной синхронизации между конфигурациями «Зарплата и управление персоналом» (ЗУП 3.1) и «Бухгалтерия предприятия» (БП 3.0) пользователи часто сталкиваются с неприятной ситуацией. После очередного обмена в документе Отражение зарплаты в бухучете на стороне БП в колонке «Статья расходов» вместо привычного значения «ОТ» отображается битая ссылка: «<Объект не найден>...». При этом на стороне ЗУП все заполнено корректно и никаких ошибок программа не выдает.
В этой статье мы подробно разберем, почему возникает данная проблема, к каким скрытым последствиям в учете она может привести, а также рассмотрим четыре эффективных способа ее решения — от простых административных настроек до программного восстановления битых ссылок.
---
Начиная с версии ЗУП 3.1.9, разработчики 1С внедрили жесткую аналитику для отражения расчетов с персоналом. Были введены предопределенные статьи расходов:
Эти сокращения — не просто названия. Они определяют алгоритмы распределения НДФЛ, страховых взносов и проведение сумм по счетам бухучета.
Главная сложность заключается в том, что в «1С:Бухгалтерии» справочник, в котором хранятся эти элементы, называется «Статьи расходов (зарплата)», и он скрыт от глаз обычного пользователя. Его нельзя найти в стандартном меню разделов «Справочники» или «Зарплата и кадры».
Чтобы увидеть этот справочник в БП 3.0 напрямую, выполним следующие действия:
Shift + F11).e1cib/list/Справочник.СтатьиРасходовЗарплата и нажмем «Перейти».В современных релизах БП разработчики заблокировали возможность ручного добавления или редактирования элементов в этом списке, чтобы пользователи случайно не нарушили логику программы. Если элемент «ОТ» был удален, восстановить его простым нажатием кнопки «Создать» не получится.
---
Появление надписи «Объект не найден» означает, что документ в БП ссылается на конкретный уникальный идентификатор (UUID/GUID) в базе данных, которого физически в этой базе больше нет. Проанализируем основные причины, почему это происходит:
Критически важно: Ошибка «Объект не найден» на месте статьи «ОТ» — это не просто визуальный дефект. Из-за отсутствия правильной аналитики при проведении документа «Отражение зарплаты в бухучете» программа БП начинает задваивать НДФЛ, некорректно распределять налоги по регистрам и отправлять проводки на счета 73 или 76 вместо 70 счета.
---
Если элемент «ОТ» исправно существует в ЗУП, но пропал в БП, мы можем принудительно заставить систему синхронизации передать этот элемент вместе с его исходным GUID из ЗУП в БП.
Разберем этот процесс по шагам:
Администрирование — Синхронизация данных — Настройки синхронизации.Статьи расходов (зарплата).При обмене ЗУП передаст информацию о статье «ОТ» в БП, и система автоматически создаст элемент с правильным идентификатором GUID. После завершения обмена битая ссылка в документах отражения зарплаты должна исчезнуть.
---
Если первый способ не помог или синхронизация упорно игнорирует создание элемента, мы можем восстановить его вручную с помощью небольшого программного кода. Преимущество этого метода в том, что нам не нужно перепроводить старые документы или искать, где именно закралась ошибка обмена — мы просто создадим элемент с тем самым GUID, который ожидает увидеть система.
Сначала нам нужно выяснить утерянный GUID. В документе «Отражение зарплаты в бухучете» скопируем или перепишем представление битой ссылки. Оно выглядит примерно так: <Объект не найден> (83:af82005056bf011111e6fae1cc38b056). Набор символов после двоеточия — это и есть зашифрованный идентификатор.
Для создания элемента напишем и выполним во внешней обработке следующий код (в контексте «1С:Бухгалтерии»):
// Сформируем валидный GUID из строки битой ссылки
// Строка GUID должна иметь вид "f9d80462-056c-11e7-855c-005056a46a7a"
ИскомыйGUID = "005056bf-0111-11e6-fae1-cc38b056af82"; // Соберите GUID согласно структуре вашей битой ссылки
НовыйИдентификатор = Новый УникальныйИдентификатор(ИскомыйGUID);
СсылкаНаОбъект = Справочники.СтатьиРасходовЗарплата.ПолучитьСсылку(НовыйИдентификатор);
// Проверим, действительно ли объект отсутствует в базе
Если СсылкаНаОбъект.ПолучитьОбъект() = Неопределено Тогда
ОбъектСправочника = Справочники.СтатьиРасходовЗарплата.СоздатьЭлемент();
ОбъектСправочника.УстановитьСсылкуНового(СсылкаНаОбъект);
// Заполняем обязательные реквизиты
ОбъектСправочника.Код = "ОТ";
ОбъектСправочника.Наименование = "Оплата труда";
// Включаем режим загрузки, чтобы обойти платформенные проверки и запреты на редактирование
ОбъектСправочника.ОбменДанными.Загрузка = Истина;
Попытка
ОбъектСправочника.Записать();
Сообщить("Элемент справочника 'Статьи расходов (зарплата)' успешно восстановлен!");
Исключение
Сообщить("Ошибка при записи объекта: " + ОписаниеОшибки());
КонецПопытки;
Иначе
Сообщить("Объект с данным GUID уже существует в базе данных!");
КонецЕсли;
После выполнения данного кода пустая ссылка мгновенно заполнится восстановленным элементом «Оплата труда» во всех исторических документах.
---
Если в БП элемент «ОТ» фактически существует (например, был создан заново вручную), но имеет другой GUID, мы можем связать его с элементом из ЗУП напрямую в правилах обмена.
Для этого выполним сопоставление через регистр сведений:
СправочникСсылка.СтатьиРасходовЗарплата.---
Если вы успешно восстановили или пересоздали статью расходов «ОТ» в справочнике БП одним из вышеперечисленных методов, но в ранее проведенных документах за прошлые периоды ссылки по-прежнему отображаются некорректно или требуют обновления движений по регистрам, выполним групповое перепроведение:
Администрирование — Обслуживание — Корректировка данных — «Групповое изменение реквизитов».Отражение зарплаты в бухучете.После группового изменения обязательно перепроведем измененные документы, чтобы исправить движения по счетам бухгалтерского учета и скорректировать записи в регистрах НДФЛ.