Рассмотрим частую задачу, с которой мы можем столкнуться при переходе со старых редакций программ 1С на новые. Посмотрим на ситуацию: нам необходимо перенести исторические кадровые документы, такие как «Прием на работу в организацию», из КА 1.1 в КА 2.4. Допустим, мы выгружаем данные через стандартную обработку выгрузки данных и пытаемся загрузить их через универсальный обмен данными в формате XML в пустую базу.
При загрузке мы видим, что система выдает критические ошибки и ничего не загружается. Проанализируем эти ошибки:
Ошибка записи объекта ТипОбъекта = Сотрудник
ОписаниеОшибки = Значение "568 " поля "Таб. номер" не уникально
по причине: Ошибка при выполнении обработчика - 'ПередЗаписью'
И вторая, не менее важная ошибка, связанная с записью в регистр:
КодСообщения = 26
Ошибка в обработчике события ПослеЗагрузкиОбъекта
ИмяПКО = ТекущиеКадровыеДанныеСотрудников
ТипОбъекта = Регистр сведений запись: Текущие кадровые данные сотрудников
ОписаниеОшибки = Запись не верна! Значение поля "Сотрудник" не может быть пустым!: ТекущиеКадровыеДанныеСотрудников: ХХХХ ХХХХХ ХХХХХХ 00000000...
Разберем по шагам, почему возникают эти проблемы, и выясним причину такого поведения системы.
Выясним главную причину сбоев. Служба поддержки 1С подтверждает: типовые правила обмена между КА 1.1 и КА 2.4 не предназначены для пообъектного переноса исторических кадровых документов.
Архитектура кадрового учета в КА 1.1 основана на старой логике ЗУП 2.5, тогда как КА 2.4 базируется на современной ЗУП 3.1. Эти структуры кардинально различаются на уровне хранения данных. Типовой переход, заложенный разработчиками, подразумевает перенос только справочной информации и формирование среза кадровых данных на дату перехода. Попытка выгрузить документы напрямую через «Универсальный обмен данными» всегда будет приводить к сбоям из-за несовпадения структуры регистров и реквизитов.
Ошибка уникальности (например, значение "568 " поля ТабельныйНомер не уникально) связана с ужесточением контроля данных в новой редакции. Рассмотрим подробнее, почему это происходит:
Если мы все же планируем переносить справочник сотрудников, перед выгрузкой данных мы обязательно должны выверить справочник Сотрудники в исходной базе КА 1.1 и устранить все дубли табельных номеров.
Регистр сведений ТекущиеКадровыеДанныеСотрудников в КА 2.4 является служебным. Он предназначен для быстрого получения актуальной кадровой информации и обновляется автоматически при проведении кадровых документов.
Возникающая ошибка Значение поля "Сотрудник" не может быть пустым означает, что при прямом переносе через Универсальный обмен теряется ссылка на элемент справочника сотрудников. Это происходит из-за того, что структура связей между физическими лицами и сотрудниками в КА 2.4 существенно изменилась. Правила обмена просто не знают, как правильно сопоставить эти данные для старых документов.
Кроме того, проверим настройки базы: иногда подобные ошибки с регистрами возникают, если в базе-приемнике (КА 2.4) перед загрузкой не включены все необходимые функциональные опции кадрового учета (например, штатное расписание, совместительство и т.д.).
Рассмотрим несколько способов, как мы можем выйти из этой ситуации и наладить работу в новой базе:
НачальнаяШтатнаяРасстановка. Этот документ зафиксирует всех работающих сотрудников, их актуальные подразделения, должности, оклады, графики работы и остатки отпусков на дату начала ведения учета в КА 2.4. Для дальнейшего корректного расчета зарплаты и кадрового учета этого документа абсолютно достаточно.Сотрудники. Это трудоемкий процесс, требующий высокой квалификации программиста.ТекущиеКадровыеДанныеСотрудников и реализован перенос самого документа. Этот вариант сэкономит время, если перенос истории является критичным требованием бизнеса.Подводя итог, проанализируем потребности компании: если нет жесткой необходимости видеть старые приказы в новой базе, лучше всего довериться типовому механизму ввода начальных остатков (начальной штатной расстановке). Это гарантирует, что внутренние регистры новой конфигурации будут заполнены корректно и без ошибок.