Переход с обычного версии 1С:ЗУП 3.1 на КОРП-версию для одной организации выполняется стандартным обновлением конфигурации через файл .cf. Однако при объединении нескольких филиалов, каждый из которых ранее велся в собственной информационной базе, возникают сложности. В штатном функционале программы отсутствует готовый универсальный инструмент переноса из ЗУП 3.1 в ЗУП 3.1. Рассмотрим, как правильно спланировать и реализовать процесс объединения баз, избежав дублирования данных и ошибок в расчете заработной платы.
Главная цель перехода на 1С:ЗУП КОРП при наличии филиальной структуры — сбор всех данных в единую базу данных с головной организацией и обособленными подразделениями. Проанализируем основные риски и подводные камни, с которыми можно столкнуться при объединении:
ФизическиеЛица. Если не сопоставить их перед загрузкой, исказится отчетность по НДФЛ и страховым взносам (РСВ, ЕФС-1).Переносить всю историю документов за предыдущие годы из всех баз в одну не рекомендуется из-за высокой трудоемкости и риска испортить учет. Оптимальным решением является перенос данных на дату среза (например, на 1 января нового года).
При переходе на дату среза прошлые базы сохраняются для просмотра исторической первички, а в новую единую базу КОРП переносится минимально необходимый набор сведений:
ФизическиеЛица, Сотрудники, Организации, Подразделения, Должности, ГрафикиРаботыСотрудников.НачальнаяШтатнаяРасстановка на 1 января, который фиксирует действующие плановые начисления, стажи, подразделения и графики работы.ВводОстатковОтпусков.ВводНачальнойЗадолженностиПоЗарплате и документы ПереносДанных для отражения накопительной части оценочных обязательств и резервов отпусков.Выясним, как настроить правила обмена для корректного переноса сведений. Так как конфигурации источника и приемника имеют одинаковые структуры данных, большую часть правил в Конвертации Данных 2.0 можно сгенерировать автоматически, после чего внести необходимые корректировки.
Главное правило при настройке правил конвертации объектов (ПКО) — отключить поиск по уникальному идентификатору (GUID) и наладить поиск по уникальным бизнес-ключам:
СтраховойНомерПФР (СНИЛС) и ИНН. При отсутствии СНИЛС сопоставлять по связке ФИО + ДатаРождения.ИНН + КПП + Код.Альтернативный вариант переноса — написание внешней обработки, которая подключается к базам филиалов через COM-соединение (объект V83.COMConnector) и программно заполняет специализированные документы в целевой базе 1С:ЗУП КОРП.
Посмотрим на пример кода подключения и выборки физических лиц из базы-источника с последующим созданием или обновлением физического лица в целевой базе:
// Подключение к базе-источнику филиала
v83_Connector = Новый COMОбъект("V83.COMConnector");
СтрокаПодключения = "Srvr=""ServerName"";Ref=""ZUP_Filial1"";Usr=""Admin"";Pwd=""Password"";";
Попытка
БазаИсточник = v83_Connector.Connect(СтрокаПодключения);
Исключение
Сообщить("Ошибка подключения к базе филиала: " + ОписаниеОшибки());
Возврат;
КонецПопытки;
// Запрос к базе-источнику для получения физлиц
ЗапросИсточник = БазаИсточник.NewObject("Запрос");
ЗапросИсточник.Текст =
"ВЫБРАТЬ
| ФизЛица.Наименование КАК ФИО,
| ФизЛица.ДатаРождения КАК ДатаРождения,
| ФизЛица.СтраховойНомерПФР КАК СНИЛС,
| ФизЛица.ИНН КАК ИНН
|ИЗ
| Справочник.ФизическиеЛица КАК ФизЛица";
Выборка = ЗапросИсточник.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
// Поиск существующего физлица в базе КОРП по СНИЛС
НайденноеФизЛицо = Справочники.ФизическиеЛица.НайтиПоРеквизиту("СтраховойНомерПФР", Выборка.СНИЛС);
Если НЕ ЗначениеЗаполнено(НайденноеФизЛицо) И ЗначениеЗаполнено(Выборка.ИНН) Тогда
НайденноеФизЛицо = Справочники.ФизическиеЛица.НайтиПоРеквизиту("ИНН", Выборка.ИНН);
КонецЕсли;
Если НЕ ЗначениеЗаполнено(НайденноеФизЛицо) Тогда
ОбъектФизЛицо = Справочники.ФизическиеЛица.СоздатьЭлемент();
ОбъектФизЛицо.Наименование = Выборка.ФИО;
ОбъектФизЛицо.ДатаРождения = Выборка.ДатаРождения;
ОбъектФизЛицо.СтраховойНомерПФР = Выборка.СНИЛС;
ОбъектФизЛицо.ИНН = Выборка.ИНН;
ОбъектФизЛицо.Записать();
КонецЕсли;
КонецЦикла;
Аналогично через COM-соединение или обработку выгрузки создаются документы НачальнаяШтатнаяРасстановка и документы ПереносДанных для заполнения регистров расчета среднего заработка:
ДанныеОЗаработкеДляРасчетаПособий (МЦКО) — для расчета больничных;УчетДоходовДляИсчисленияНДФЛ — при необходимости выверки налога;ДанныеОЗаработкеДляРасчетаПенсийПособийИОтпусков — для расчета отпускных и командировочных расходов.Перед загрузкой подготовленных данных в целевую базу 1С:ЗУП 3.1 КОРП обязательно выполним следующие настройки:
ПроизводственныеКалендари, если филиалы расположены в регионах с местными праздничными днями.