Как правильно выгрузить информацию о контрагентах и сотрудниках в 1С:Бухгалтерия 3.0 через КД 2.0

Программист 1C:Бухгалтерия IT и автоматизация бизнеса
← На главную

Перенос данных между идентичными конфигурациями 1С:Бухгалтерия предприятия 3.0 (БП 3.0) часто кажется тривиальной задачей, пока специалист не сталкивается с особенностями архитектуры Библиотеки стандартных подсистем (БСП). Основные сложности возникают при попытке перенести справочники Контрагенты, Сотрудники и ФизическиеЛица. Проблемы проявляются в "пустых" карточках, отсутствии записей в списках (хотя данные в базе есть) или критических ошибках при открытии форм. Рассмотрим детально, почему это происходит и как правильно настроить перенос в "Конвертации данных 2.0" (КД 2.0).

Особенности хранения контактной информации

Проанализируем ситуацию с контактной информацией (адреса, телефоны, email). В старых версиях конфигураций все данные хранились исключительно в регистре сведений КонтактнаяИнформация. В современных редакциях БП 3.0 (начиная с 3.0.70+) архитектура изменилась. Теперь основным местом хранения является табличная часть КонтактнаяИнформация внутри самих объектов (справочников).

Разберем по шагам, на что обратить внимание при настройке правил обмена (ПКО):

  1. Табличные части: Убедимся, что в правилах выгрузки для справочников Контрагенты и ФизическиеЛица включена выгрузка табличной части КонтактнаяИнформация.
  2. Виды контактной информации: Это критически важный момент. Данные в табличной части ссылаются на справочник ВидыКонтактнойИнформации. Если в целевой базе идентификаторы (GUID) этих видов отличаются, 1С не "поймет", какой адрес к чему относится, и карточка будет выглядеть пустой. При переносе обязательно настроим поиск для ВидыКонтактнойИнформации по внутреннему идентификатору.
  3. Значения полей: В табличной части есть реквизит ЗначенияПолей. Там хранится XML-строка с разобранным адресом (индекс, город, улица). Если перенести только Представление, адрес будет виден в списке, но вы не сможете его отредактировать через стандартный диалог 1С, так как поля не будут заполнены.

Почему сотрудники "исчезают" после переноса

Выясним причину ситуации, когда справочник Сотрудники кажется пустым в интерфейсе, хотя Универсальный отчет показывает наличие записей. Дело в том, что динамический список в форме справочника использует сложное соединение (JOIN) с вспомогательным регистром сведений ТекущиеКадровыеДанныеСотрудников.

Рассмотрим алгоритм решения этой проблемы:

Если этот регистр пуст, система считает, что данных для отображения в списке нет. В типовой конфигурации этот регистр заполняется автоматически при проведении документов ПриемНаРаботу. Однако при программной загрузке через КД 2.0 механизмы проведения могут не отработать полностью. Чтобы "проявить" сотрудников в списке, необходимо принудительно обновить этот регистр в целевой базе.

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

КадровыйУчет.РассчитатьТекущиеКадровыеДанныеСотрудников();

Этот метод пересчитает данные для всех сотрудников и заполнит регистр, после чего они появятся в стандартных списках. Также не забудем проверить регистр ОсновныеСотрудникиФизическихЛиц, который отвечает за связь физлица и его "основного" места работы.

Устранение ошибки "Преобразование значения к типу Булево не может быть выполнено"

Эта ошибка часто возникает при попытке открыть карточку загруженного сотрудника. Проанализируем ситуацию: форма ожидает получить значение Истина или Ложь, а получает Null или неопределенное значение. Чаще всего виновником является реквизит ВАрхиве.

Разберем, как этого избежать:

  1. При настройке ПКО для справочника Сотрудники убедимся, что реквизит ВАрхиве (или ПометкаУдаления) заполняется корректно.
  2. Проверим наличие связанных данных в справочнике ФизическиеЛица. Карточка сотрудника — это, по сути, "оболочка" над физлицом. Если связь нарушена или физлицо не загрузилось, форма выдаст ошибку инициализации.
  3. Уделим внимание регистру сведений ФИОФизическихЛиц. Если он не заполнен, то даже при наличии заполненного реквизита Наименование в справочнике, форма может вести себя некорректно, так как многие механизмы БСП берут ФИО именно из регистра на текущую дату.

Рекомендации по настройке КД 2.0 для идентичных баз

Посмотрим на практические советы, которые помогут избежать дублей и потерь данных при обмене между одинаковыми конфигурациями:

Поиск по идентификатору: Всегда устанавливайте флаг "Продолжить поиск по полям поиска, если по идентификатору объект не найден" только в крайнем случае. Для Контрагентов, Сотрудников и особенно ФизическихЛиц первичным должен быть GUID (внутренний идентификатор). Это гарантирует, что связи между объектами (например, Сотрудник -> Физлицо) сохранятся в первозданном виде.

Перенос движений документов: Если вы переносите кадровые документы, рекомендуется выгружать и их движения (регистры сведений и накопления). В КД 2.0 это настраивается через правила выгрузки данных для соответствующих наборов записей. Это избавит вас от необходимости перепроводить документы вручную в целевой базе, что особенно важно, если периоды уже закрыты для редактирования.

Синхронизация предопределенных данных: Убедитесь, что предопределенные элементы (например, группы справочников или специфические виды КИ) сопоставляются корректно. В КД 2.0 для этого используется настройка "Поиск по имени предопределенного элемента".

Таким образом, мы выяснили, что ключ к успешному переносу данных в БП 3.0 лежит не только в переносе самих справочников, но и в корректном заполнении сопутствующих регистров сведений и правильной настройке поиска ссылочных типов (Виды КИ, Физлица).

← На главную