При переходе на раздельный учет зарплаты и кадров в программе «1С:Зарплата и управление персоналом 3.1» (ЗУП) пользователи часто сталкиваются с техническими сложностями, если базовая версия ЗУП приобретается для ведения учета по одной организации, а исходная база «1С:Бухгалтерия предприятия 3.0» (БП) является версией ПРОФ и содержит несколько юридических лиц.
Главная трудность заключается в жестком ограничении базовой версии ЗУП: в одной информационной базе может быть зарегистрирована только одна организация. Стандартный «Помощник перехода» при выгрузке данных из БП 3.0 не имеет гибких настроек фильтрации и пытается перенести справочник Организации целиком. В результате при загрузке в базовую ЗУП система выдает ошибку о нарушении лицензионного ограничения, даже если в БП лишние организации помечены на удаление. Выясним причину этой проблемы и подробно разберем четыре надежных способа ее решения.
Проанализируем ситуацию: простая пометка на удаление не очищает базу физически. В справочнике Организации остаются записи, на которые ссылаются проведенные или непроведенные документы прошлых периодов. При выгрузке стандартная обработка анализирует ссылочную целостность и включает эти объекты в файл обмена. Рассмотрим по шагам, как обойти это ограничение штатными и программными методами.
Способ 1. Создание распределенной информационной базы (РИБ) по организации в БП
Этот метод считается наиболее надежным и чистым с точки зрения сохранения целостности данных. Мы создадим временную подчиненную базу БП, в которую с помощью штатных механизмов синхронизации выгрузятся данные только по одной нужной организации. Физически в этой базе других организаций существовать не будет, поэтому и выгрузка для ЗУП пройдет без ошибок.
Разберем по шагам процесс создания РИБ:
В исходной рабочей базе БП 3.0 ПРОФ перейдем в раздел Администрирование — Синхронизация данных.
Включим флажок Синхронизация данных, если он не был включен ранее, и перейдем по ссылке Настройки синхронизации данных.
Нажмем кнопку Новая синхронизация данных и выберем пункт Распределенная информационная база (РИБ) с фильтром по организации.
На первом шаге помощника укажем префикс информационной базы и настроим параметры отбора. В правилах отправки данных обязательно укажем состав отправляемых данных: выберем только ту одну организацию, которую планируется переносить в ЗУП. По остальным фирмам передачу документов и справочников отключим.
Завершим настройку и создадим начальный образ подчиненного узла. Система предложит сохранить файл базы данных (формат 1cv8.1cd). Сохраним его в отдельный каталог на диске.
Запустим созданную периферийную базу БП через стартер 1С. Мы увидим, что в справочнике Организации присутствует только наше целевое юридическое лицо, а документы по остальным фирмам отсутствуют.
В этой новой «чистой» базе БП запустим стандартный Помощник перехода в ЗУП. Выгрузка сформирует файл обмена, содержащий сведения только об одной организации.
Выполним загрузку файла в пустую ЗУП 3.1 Базовую. Импорт данных пройдет успешно и без ошибок ограничений лицензии.
Способ 2. Промежуточная загрузка в ЗУП ПРОФ с последующей сверткой в Базовую
Если у вас есть доступ к конфигурации ЗУП версии ПРОФ (например, временная демо-версия, учебная версия или база на ключе партнера/программиста), можно использовать метод временного обхода ограничений через конвертацию конфигурации.
Рассмотрим подробнее этот алгоритм:
Создадим пустую базу данных и развернем в ней конфигурацию ЗУП 3.1 ПРОФ. Крайне важно, чтобы релиз этой временной базы ПРОФ в точности совпадал с релизом имеющегося у вас дистрибутива ЗУП Базовая, в которой вы планируете работать в дальнейшем.
Выполним стандартный перенос данных из рабочей многофирменной БП 3.0 ПРОФ во временную базу ЗУП 3.1 ПРОФ. Загрузка завершится без ошибок, так как версия ПРОФ поддерживает неограниченное количество организаций.
Поскольку кадровые и расчетные документы переносились только по одной нужной организации (так как физически в БП зарплата по другим фирмам не велась), карточки лишних организаций в ЗУП окажутся не связанными с кадровыми данными.
В базе ЗУП ПРОФ зайдем в раздел Администрирование — Обслуживание — Удаление помеченных объектов. Пометим на удаление и физически удалим все лишние организации. В базе должна остаться строго одна организация.
Теперь нам необходимо «понизить» версию конфигурации с ПРОФ до Базовой. Для этого откроем базу ЗУП ПРОФ в режиме Конфигуратор.
Перед проведением операции обязательно сделаем резервную копию базы данных (меню Администрирование — Выгрузить информационную базу...).
В меню Конфигурация выберем пункт Открыть конфигурацию (если она закрыта). Затем перейдем в меню Конфигурация — Поддержка — Настройка поддержки. Нажмем кнопку Выключить возможность изменения и подтвердим действие. Конфигурация должна полностью вернуться на стандартную поддержку.
Далее перейдем в меню Конфигурация — Загрузить конфигурацию из файла.... В открывшемся окне выберем файл шаблона базовой версии 1cv8.cf (его можно взять из папки шаблонов установленной базовой ЗУП того же релиза).
На предупреждение системы о несоответствии типов конфигураций и возможной потере данных соглашаемся. Выполняем обновление конфигурации базы данных, нажав клавишу F7 (или синюю бочку на панели инструментов).
После завершения процесса база данных станет официально Базовой. Ее можно запускать под лицензией базовой версии и продолжать ведение учета.
Способ 3. Очистка копии базы БП перед выгрузкой
Если варианты с РИБ или временной установкой ПРОФ-версии ЗУП по каким-то причинам не подходят, можно пойти путем жесткой очистки копии исходной бухгалтерии. Данный метод требует аккуратности и запаса времени на удаление связанных объектов.
Проанализируем шаги реализации этого метода:
Создадим резервную копию (резервный файловый вариант) рабочей базы БП 3.0 ПРОФ и запустим именно эту копию. Ни в коем случае не проводите эти операции в рабочей базе!
В созданной копии базы нам нужно физически удалить документы по всем организациям, кроме целевой. Для этого воспользуемся встроенной обработкой Групповое изменение реквизитов (раздел Администрирование — Обслуживание — Корректировка данных).
В обработке выберем типы объектов (например, все документы) и настроим отбор по реквизиту Организация (не равно нашей целевой организации). Установим пометку на удаление для всех найденных документов.
Запустим стандартную процедуру Удаление помеченных объектов в режиме удаления с очисткой ссылок. Повторим процедуру несколько раз, пока база полностью не очистится от документов сторонних организаций.
Когда в базе не останется ни одного документа и движения по сторонним фирмам, мы сможем безболезненно пометить на удаление и физически удалить сами карточки ненужных организаций из справочника Организации.
Из полученной «ободранной» копии БП, где осталась всего одна организация, запустим выгрузку данных в ЗУП 3.1 Базовая. Перенос пройдет штатно.
Способ 4. Программная модификация правил выгрузки данных
Для специалистов, владеющих навыками работы с правилами обмена, эффективным решением будет точечная настройка выгрузки XML с помощью конфигурации «1С:Конвертация данных 2.1» или модификация обработки выгрузки.
Если мы заглянем внутрь обработки выгрузки, то увидим, что данные собираются по определенным правилам обмена (ПКО и ПВД). Чтобы ограничить выгрузку справочника Организации конкретным элементом, мы можем программно вмешаться в событие выгрузки.
Рассмотрим пример кода, который можно прописать в правилах конвертации объектов (ПКО) для справочника Организации в обработчике события ПередВыгрузкой:
// Ограничиваем выгрузку организаций только одной целевой фирмой
Если Источник.ИНН <> "7701020304" Тогда // Укажите ИНН вашей целевой организации
Отказ = Истина;
КонецЕсли;
Этот код заблокирует запись в файл выгрузки любых карточек организаций, ИНН которых не соответствует заданному значению. Однако помните, что при таком подходе в документах, где фигурировали другие организации, ссылки на них могут стать битыми или незаполненными, поэтому данный способ требует детальной проверки кадровых документов и справочника физических лиц в принимающей ЗУП после завершения импорта.