Как перенести присоединенные файлы из БП 3.0 в ERP и почему сбивается штатное расписание после обмена с ЗУП?

Программист 1С v8.3 (Управляемые формы) Управленческий учет IT и автоматизация бизнеса
← На главную

Переход с конфигурации «1С:Бухгалтерия предприятия 3.0» (БП) на «1С:ERP Управление предприятием» (ERP) — это сложный процесс, который редко ограничивается простым запуском типовой обработки выгрузки-загрузки данных. Даже при использовании штатных правил обмена возникают ситуации, когда часть информации (например, присоединенные файлы) теряется, а данные, полученные из «1С:Зарплата и управление персоналом» (ЗУП), начинают вести себя непредсказуемо. Разберем подробно причины этих проблем и способы их решения.

Проблема 1: Почему не перенеслись присоединенные файлы по договорам?

Рассмотрим техническую сторону вопроса. В современных конфигурациях на базе Библиотеки стандартных подсистем (БСП) механизм хранения файлов реализован через отдельные справочники (например, Справочник.ДоговорыКонтрагентовПрисоединенныеФайлы). Проанализируем основные причины, по которым файлы могут не появиться в целевой базе ERP.

1. Особенности структуры хранения в БСП
В новых версиях 1С содержимое файла (двоичные данные) часто хранится отдельно от его карточки. Карточка файла находится в справочнике ПрисоединенныеФайлы, а сами данные — в регистре сведений ДанныеФайлов или в томах на диске. Если в правилах обмена (XML), фрагмент которых мы видели, прописан только справочник, то перенесутся лишь заголовки (имена файлов, расширения, авторы), но не само «тело» документа. Проверим наличие записей в регистре ДанныеФайлов в ERP после загрузки. Если они пусты, значит, правила обмена не учитывают этот регистр.

2. Разрыв связи с владельцем
Каждый файл жестко привязан к владельцу через реквизит ВладелецФайла. Если при переносе справочника ДоговорыКонтрагентов их уникальные идентификаторы (UUID) изменились, файлы «осиротеют». Они физически могут присутствовать в базе ERP, но не будут отображаться в карточке договора, так как ссылка на владельца стала битой.

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

  1. Проверим настройки в ERP: раздел НСИ и администрирование — Настройка параметров системы — Работа с файлами. Выясним, установлен ли флаг «Хранить файлы в томах на диске».
  2. Если используется хранение в томах, необходимо убедиться, что папки томов доступны серверу 1С и пути к ним прописаны корректно.

4. Ограничения формата XML
Выгрузка больших объемов бинарных данных через универсальный обмен (УниверсальныйОбменДаннымиXML) часто приводит к ошибкам нехватки памяти (Out of memory). Проанализируем объем папки с файлами. Если он превышает несколько гигабайт, рекомендуем использовать специализированные обработки для переноса файлов через COM-соединение или HTTP-сервисы, которые передают данные порциями.

Пример кода для проверки наличия данных файлов

Для диагностики проблемы можно запустить в консоли запросов ERP следующий текст, чтобы понять, загрузились ли сами данные:


ВЫБРАТЬ
    ДоговорыПрисоединенныеФайлы.Наименование КАК ИмяФайла,
    ДоговорыПрисоединенныеФайлы.ВладелецФайла КАК Договор,
    ДанныеФайлов.ХранимыйФайл КАК БинарныеДанные
ИЗ
    Справочник.ДоговорыКонтрагентовПрисоединенныеФайлы КАК ДоговорыПрисоединенныеФайлы
    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДанныеФайлов КАК ДанныеФайлов
    ПО ДоговорыПрисоединенныеФайлы.Ссылка = ДанныеФайлов.ВладелецФайла
ГДЕ
    ДанныеФайлов.ХранимыйФайл ЕСТЬ NULL

Если запрос возвращает строки, значит, карточки файлов созданы, а содержимое не перенеслось. В этом случае потребуется доработка правил обмена или использование внешней обработки для подкачки данных.

Проблема 2: Самопроизвольное изменение штатного расписания в ERP

Ситуация, когда сотрудники меняют штатное расписание (ШР) в ERP, а затем данные «откатываются», чаще всего связана с работой механизма Синхронизации данных между ЗУП 3.1 и ERP. Разберем, как работает эта связка.

1. Концепция Master-системы
При интеграции ЗУП и ERP по протоколу EnterpriseData (Синхронизация данных), системой-источником (мастером) для кадровых данных почти всегда выступает ЗУП. Это логично: кадровик работает в специализированной базе. Когда срабатывает регламентное задание Синхронизация данных, ERP получает пакет изменений из ЗУП. Если в ЗУП позиция штатного расписания не менялась, а в ERP её отредактировали вручную, синхронизация увидит несоответствие и перезапишет данные ERP данными из ЗУП.

2. Настройка ведения штатного расписания в ERP
Проанализируем настройки ERP. Перейдем в НСИ и администрирование — Кадры — Штатное расписание. Здесь возможны два варианта:

Если в ЗУП ведется история изменений, а в ERP — нет (или наоборот), при синхронизации возникнет конфликт объектов. Выясним, какой режим установлен в обеих базах — они должны совпадать для корректного обмена.

3. Регламентное задание
«Самостоятельное» изменение данных — это признак работы регламентного задания. Посмотрим список активных заданий через Обслуживание — Регламентные операции. Найдем задание Синхронизация данных с (Название вашей базы ЗУП). Если оно выполняется каждые 15 минут, то именно оно возвращает штатное расписание к тому виду, который зафиксирован в ЗУП.

Как правильно организовать работу со штатным расписанием?

Рассмотрим два пути решения конфликта:

  1. Централизованное ведение в ЗУП (Рекомендуемый путь):

    Запретим пользователям редактировать штатное расписание в ERP. Все изменения (новые позиции, ставки, оклады) вносятся только в ЗУП. После синхронизации они автоматически появятся в ERP. Это гарантирует единство кадрового и финансового учета.

  2. Отключение синхронизации ШР:

    Если бизнес-процесс требует, чтобы штатное расписание в ERP жило своей жизнью (например, для целей бюджетирования), необходимо зайти в Настройки синхронизации данных, нажать Состав отправляемых данных и убрать регистрацию для объектов Штатное расписание и связанных с ним справочников. Однако помните: это приведет к тому, что при приеме на работу новых сотрудников в ERP (через обмен из ЗУП) система может не найти нужную позицию ШР и выдаст ошибку.

Важный момент: Проанализируем также соответствие подразделений. Если в ЗУП и ERP настроена разная иерархия подразделений, позиции штатного расписания могут «схлопываться» при переносе, так как система не может однозначно определить, к какому подразделению относится ставка в ERP.

Таким образом, для решения возникших проблем необходимо: во-первых, проверить состав правил обмена на предмет регистра ДанныеФайлов; во-вторых, синхронизировать настройки ведения штатного расписания в ЗУП и ERP и установить четкий регламент — в какой базе данные являются первичными.

← На главную