Внешне простая задача – перенос данных из нескольких систем «1С:ЗУП» в одну базу.
Пример. На предприятии используются несколько баз «1С:ЗУП 3.1» для различных юридических лиц (не филиалов). Необходимо объединить информацию в одну единую базу. Главным условием задачи является единообразие учёта в единой информационной базе: установление единого метода учета в настройках Расчет зарплаты, т.к. если настройки отличаются это приведет к разнице в расчетах. При этом необходимо перенести информацию в полном объёме за весь период существования системы. Важно, что необходимо произвести перенос не по упрощенной схеме, когда мы переносим «остатки на начало года + средний заработок», а полноценно, т.е. со всеми кадровыми документами, расчётом зарплаты, страховыми взносами и т.д.
Использовать просто универсальную выгрузки и загрузку между идентичными конфигурациями не получается по ряду причин.
- Нам не нужны дублированные данные (универсальный перенос данных осуществляется по ГУИДам).
- Конфигурации «1С:ЗУП» отличаются. В базе Приемник уже сделано достаточно много доработок, которые не должны конфликтовать с переносом.
Для успешного переноса данных важно учесть особенности учёта двух систем и «не затереть» данные базы Приемника. Выделим основные аспекты переноса:
1) Из базы Источник в базу Приемник необходимо перенести данные:
а) Учёт штатного расписания - в полном объёме,
б) Кадровый учёт - в полном объёме,
в) Плановые начисления и удержания - в полном объёме,
г) Расчёт зарплаты - в полном объёме,
д) Налоги и взносы - в полном объёме.
2) Необходимо перенести справочники таким образом, чтобы в системе не появились дубли (более детальное описание в таблице ниже). При этом так же важно «не сломать» заполненные реквизиты справочников.
3) Виды начислений и удержаний переносим ссылками, т.е. в базе при переносе не будут создаваться новые виды начислений и удержаний. До начала этапа переноса необходимо провести предварительную работу по «причесыванию» базы Источника под базу Приемника.
а) Переименовать (код и наименование) виды начислений и удержаний в соответствии с базой Приемника,
б) В базу Приемника внести дополнительные виды начислений и удержаний, которые есть в Источнике.
Данный аспект – один из самых важных: мы управляем видами начислений вручную. Преимущества такого решения в том, что, во-первых, мы избегаем дублирования данных, во-вторых, новые виды начисления добавлены в качестве расчетной базы в другие виды начислений и, в-третьих, мы заполнили приоритеты начислений.
Те, кто уже пытался переносить или «схлопывать» виды начислений, знают, что это не такое простое дело, и перекрёстные ссылки не дают этого сделать.
4) Документы переносим по ГУИДам в полном объёме. Забегая вперёд, отметим, мы столкнулись с проблемой – скрытые реквизиты документов, в частности «Параметры», заполняются не так как в базе Источника. И при расчёте среднего заработка у нас «поплыли» данные, пришлось сделать дополнительные процедуры заполнения.
5) Регистры накопления, регистры расчёта вместе с документами переносятся сразу с движениями! Важно: мы не перепроводим документы, а сразу переносим готовые движения.
6) Выборочно переносим регистры сведений (см. «Таблицу №2»).
После проведенного анализа базы Источника и Приемника у нас появилась таблица правил переноса (см. «Таблица №1» и «Таблица №2»).
В итоге, приняли решение использовать перенос данных в единую ИБ «1С:ЗУП» с использованием правил обмена в формате «Конвертации данных 2.1» и использовать типовую обработку «Универсальный обмен в формате XML (2.1.8)». Проверяли на релизе 3.1.24.308.
1. Особенности переноса данных
1.1. Данные переносятся полностью, без возможности свертки оборотов по зарплатному и кадровому учёту,
1.2. В конвертации участвуют все типовые объекты системы и их реквизиты. Сопоставление и поиск объектов происходит по полям поиска «Наименование» + «Код» или по GUID,
1.3. Правила переноса справочников:
1.4. Правила переноса регистров сведений:
- Все подчинённые регистры сведений переносятся вместе со своим «родителем» по ссылке.
1.5. Правила переноса плановых начислений и удержаний:
- При выгрузке плановые начисления не создаются, а переносятся с сопоставлением по полям поиска «Код» + «Наименование». Начисления/удержания в «Архиве» не переносятся.
1.6. Правила переноса документов:
- Документы переносятся в полном объёме, сопоставление и поиск объектов происходит по GUID, а если он не найден – по «Наименованию».
2. Подготовка данных к переносу
2.1. Для корректного сопоставления данных при загрузке необходимо провести первоначальную подготовку. По необходимости – внести корректировки или создать новые элементы на стороне базы Приемник/Источник.
Проверить:
а) Список видов расчёта «Начисления» и «Удержания», привести в соответствие наименование/код вида расчёта на стороне базы Источник/Приемник (Для корректного сопоставления данных при загрузке необходимо провести первоначальную подготовку. По необходимости внести корректировки или создать новые элементы на стороне базы Приемник/Источник);
б) Справочники на стороне базы Источник/Приемник привести в соответствие наименование/код (например: графики работы, виды отпусков, виды документов физ. лиц, основания увольнения, виды справок);
в) Сопоставить «Настройки расчёта зарплаты» в базе Источник/Приемник (т.к. если настройки отличаются, это приведёт к разнице в расчётах), по необходимости включить в базе Приемник настройки из базы Источник.
Пример подготовки данных в базы Источник:
1. В справочнике «Валюты» сделать основным элементом Российский рубль (RUB), перенести на этот элемент все ссылки;
2. В справочнике «Виды документов физических лиц» заменить наименование «Иностранный паспорт» на «Паспорт иностранного гражданина»;
3. В справочнике "Виды отпусков» заменить наименование «Дополнительный» на «Дополнительный ежегодный отпуск»;
4. В справочнике «Графики работы сотрудников» в базе Источник график работы «Пятидневка» переименовать на «Основной график +», а «График работы «0,25 ставки» переименовать на «10-часовая рабочая неделя +».
5. В справочнике «Виды справок» добавить к наименованию элементов букву «я» в начало строки (сверить со справочником Приемника).
6. В справочнике «Основания увольнения» привести Наименование в соответствие базы Приемник.
7. Заменить наименование/код вида расчета "Удержание подотчетной суммы по заявлению» на «Удержание неизрасходованных подотчетных сумм».
8. Заменить код вида расчёта «Оплата за дни сдачи крови и ее компонентов» в соответствии базы Приемник. Заменить код вида расчета «Оплата за дни сдачи крови и ее компонентов» с КРВ на ДОНОР.
9. Заменить наименование/код вида расчета «свой счёт» на «Отпуск без оплаты по заявлению сотрудника».
10. Заменить наименование вида расчета «Материальная помощь» на «Материальная помощь (частично облагаемая)».
11. Переименовать «Доплата за работу в праздничные дни (ночное время)» на стороне базы Источник в точном соответствии с базой Приемник.
12. Заменить наименование/код вида расчёта «Доплата за переработки при суммированном учёте рабочего времени» на «Доплата за переработки при суммированном учёте рабочего времени за период».
13. Заменить наименование/код вида расчёта «Компенсация отпуска (Дополнительный)» на «Компенсация отпуска (Отпуск дополнительный)».
14. Заменить наименование/код вида расчёта «Отпуск за свой счёт» на «Отпуск без оплаты по заявлению сотрудника».
*Обращаем внимание: данный пример подготовлен под конкрентную базу данных в качестве примера и не может быть применим для тиражного решения. В каждом переносе требуется индивидуальный подход и анализ, проработка данных.
Пример подготовки данных в базе Приемник:
1. В справочнике «Виды отпусков» добавить элемент «Дополнительный по инвалидности», перенести настройки из базы Источник. После загрузки данных в базу Приемник, проверить права на доп. отпуск у сотрудников, которым он положен.
2. В справочнике «Виды отпусков» настройки элемента справочника «Дополнительный ежегодный отпуск» на стороне базы Источник отличаются от на настроек на стороне базы Приемник. После загрузки данных в базу Приемник, проверить права на доп. отпуск у сотрудников, которым положено более 3-х дней доп. отпуска в году.
3. Настройки некоторых элементов справочника «Страны мира» на стороне базы Источник отличаются от настроек базы Приемник. По необходимости, перенести настройки из базы Источник.
4. Включить настройку «Дополнительные перерывы в работе для кормления ребенка» в базе Приемник.
5. После загрузки данных в базу Приемник, необходимо:
3. Порядок выполнения переноса данных
3.1. Для выгрузки/загрузки данных используется типовая обработка «Универсальный Обмен Данными XML (2.1.8)».
3.2. Порядок работы обработки «Универсальный обмен данными в формате XML: Выгрузка» в базе Источник:
• Установить режим работы «На клиенте»;
• Нажатием кнопки «Прочитать правила обмена» загрузить правила обмена между конфигурациями;
• Установить Флаг «Выгрузка в файл обмена»;
• На закладке "Выгружаемы данные" взводим флаг напротив объектов, которые необходимо выгрузить.
Удобнее производить выгрузку поэтапно:
а) 1 этап (файл) – взводим флаг напротив объектов: ПланыВидовРасчета, Справочники, Регистры сведений,
б) 2 этап (файл) – взводим флаг напротив объектов: Документы;
• Период выгрузки оставляем пустым;
• Нажать кнопку «Выгрузить данные»;
• Файл выгрузки сохраняем с расширением xml в отдельную папку.
3.3. Порядок работы обработки «Универсальный обмен данными в формате XML:Загрузка» в базе Приемник:
• На время загрузки данных снять «Дата запрета изменений».
• Установить следующие флажки:
а) «Загружать данные в режиме обмена» = Истина.
б) «Записывать в информационную базу только измененные объекты» = Истина.
в) «Объекты по ссылке загружать без пометки удаления» = Ложь.
г) «Оптимизированная запись объектов» = Истина.
д) «Записывать регистры наборами записей» = Истина.
е) «Обрезать строки справа» = Ложь.
ё) «Настройки автоматической загрузки данных» = «Не использовать автоматическую загрузки при открытии».
• Нажать кнопку «Загрузить данные». Откроется окно выбора файла выгрузки, после выбора которого начнется загрузка. При загрузке файла, кнопку «Загрузить данные» достаточно нажать однократно.
4. Отчёты/обработки для проверки перенесённых данных
Для анализа большого объёма информации из-за трудоёмкости сверки разработали отчёты для сравнения данных: Справочников, Регистров накопления и Регистров расчёта.
Отчёты должны запускаться в базе Источник, через Com-объект подключаться к базе Приемник и выводить информацию о результатах сравнения.
4.1. «Отчет для сверки перенесенных данных: Справочников, Регистров накопления, Регистров расчета»
4.2. «Отчет - сравнение настроек Приоритет, Зависимости в начислениях». Необходим при условии, что настройки отличаются и вносили изменения в «Настройки расчета зарплаты» в базе Приемник.
Также использовались следующие обработки:
4.3. «Отчет для сверки среднего заработка для Командировка, Отпуск, Выходное пособие»,
4.4. «Отчет для сверки среднего заработка для БЛ»,
4.5. Обработка типовая «Объедение личных карточек»,
4.6. Обработка типовая «Обновить данные для расчета среднего заработка»,
4.7. Обработка «Поиск битых ссылок».
5. Порядок проведения тестирования перенесённых данных
Следующий важный этап – это проверка перенесённых данных для возможности рассчитать зарплату, для этого мы определили тестовый месяц (обычно достаточно одного-двух месяцев).
5.1. Перед проверкой данных необходимо произвести следующие действия по перенесённой организации в базе Источник:
- Перепровести (с отменой проведения) документы Индивидуальный график за весь период действия организации;
- Перепровести (с отменой проведения) документы за проверяемый период: Табель, Премия;
- Запустить обработку «Обновить данные для расчёта среднего заработка»;
- После обновления данных для расчёта среднего заработка сверить расчёт среднего заработка на стороне базы Источник и базы Приемник (сверку проводим при помощи отчётов для сверки среднего заработка);
- Проверить настройки начислений на стороне базы Приемник ДО и Приемник, при помощи отчёта «Сравнение настроек Приоритет, Зависимости». При условии, что вносились изменения в «Настройки расчета зарплаты» на стороне базы Приемник.
5.2. Общая проверка перенесённых данных.
Итог:
Перенести данные из одной системы «1С:ЗУП 3.1» в другую систему «1С:ЗУП» (или «1С:КА2», «1С:ERP») с «полным переносом данных» – возможно только с тщательной подготовкой данных, разработки специальных правил обмена «заточенных» под конкретную базу данных.
Мы не рекомендуем использовать какие-либо универсальные механизмы, т.к. высок риск негативных последствий.