Перенос данных из ЗУП 2.5 в ЗУП 3.1

Публикация № 527493

Обмен - Перенос данных из 1C8 в 1C8

Перенос данных ЗУП2.5 ЗУП3.1

38
Данная обработка предназначена для переноса некоторых данных из ЗУП 2.5 в ЗУП 3.1 через COM-соединения. Обработка была написана потому, что типовые правила переноса не предоставляют возможности переносить данные по отдельности, а некоторые данные не переносят вовсе. Тестировалась на версии 3.1.9.159 (8.3.12.1790).

Обращаю внимание, что большинство данных переносится по УИД, в связи с этим при повторном переносе данных будет возникать ошибка "ссылка уже существует". Переносить рекомендуется на чистую базу. (В текущей версии обработки добавлены проверки на существование переносимых по УИД объектов)

Данная обработка позволяет переносить следующую информацию:
1. Организация
2. Подразделения
3. Регистрация в налоговом органе
4. Должности
5. Сотрудники
6. Физ.лица
7. ФИО Физлиц
8. Статусы физ лиц НДФЛ
9. Статусы застрахованных физлиц
10. Контактная информация
11. Гражданство
12. Документы физ.лиц
13. Образование
14. Состав семьи
15. Семейное положение
16. График работы
17. Северная надбавка
18. Параметры исчисления СН
19. Дополнительные сведения по должности и подразделению
20. Пользователи

21. Штатное расписание


Из документов переносятся:
1. Прогул неявка
2. Больничные
3. Работа в выходные
4. Разовые начисления
5. Отпуска и отпуска без оплаты
6. Исполнительные листы
7. Мат.помощь
8. Командировка
9. Входящая и исходящая справки о заработке
10. Натуральные доходы
11. Удержания 
12. Кадровые документы (в тесте)

В тех справочниках, где это имеет смысл, данные переносятся по УИД (Сотрудник, Физик и так далее), поэтому то, что грузится правилами, лучше грузить потом, чтобы подцепило данные по УИД.

Для работы с обработкой требуется:
1. Заполнить данные подключения к базе ЗУП 2.5:
 
2. Поскольку некоторые данные требуют переноса в разрезе видов расчета (Начисления в ЗУП 3), например, разовые начисления, премии, приемы, переводы и так далее, то необходимо настроить таблицу соответствия кодов и наименований видов расчетов из ЗУП 2.5 и начисления из ЗУП 3:
 
3. Для переноса документов Материальная помощь требуется указать коды видов расчетов из 2.5, которые относятся к материальной помощи:
 
4. Для переноса разовых начислений требуется указать коды видов расчетов, которые относятся к разовым начислениям (основные и дополнительные):

5. Для переноса Кадровых документов нужно также настроить соответствие отпусков и статей увольнения:

Соответствие статей увольнения

соответствие отпусков

6. После этого можно отметить галками те данные, которые требуется перенести, выбрать период и нажать кнопку загрузить.
 Окно загрузки

UPD: 
1. Добавлена возможность подключения для платформы 8.2

2. Исправлена ошибка, которая не позволяла использовать в имени пользователя пробел

3. Добавлена возможность проверки подключения к базе до загрузки

4. Добавлена возможность загрузки соответствий и списков из табличного документа (копированием из Excel)

5. Добавлена работа в файловом режиме

6. Добавлена возможность перенести СН как для ЗУП 3.1.3.x, так и для ЗУП 3.1.4.x и новее, поскольку в новых конфигурациях было изменено место хранения информации о северных надбавках. 

7. Добавлены отборы для сотрудников и физиков: не уволенные и устроенные по трудовому договору.

8. Добавлена проверка на существование объекта в базе (только для тех, что переносятся по УИД)

9. Актуализирована процедура записи Контактной информации (Адрес) под новые версии ЗУП.

10. Актуализирована процедура записи сотрудника под новые версии ЗУП.

11. Добавлена возможность загрузки Штатного расписания (в зависимости от настройки программы формируется либо Утверждением штатного расписания, либо переносом в справочник Позиции)

12. Добавлен перенос кадровых приказов (тестовый). Увольнение переносится без начислений, только факт. 

13. Данные регистров сведений больше не перезаписываются, а добавляются. 

14. Исправлена ошибка с записью адресов. 

 

38

Скачать файлы

Наименование Файл Версия Размер
Перенос из ЗУП 2.5 в ЗУП 3.1
.epf 65,04Kb
01.02.18
641
.epf 1.8.4 65,04Kb 641 Скачать

См. также

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. ben_art 13 26.05.16 17:40 Сейчас в теме
У Вас название с описанием не сходятся
3. yojeeg 103 26.05.16 22:28 Сейчас в теме
(1) ben_art, спасибо, исправил
2. Alik_1c 26.05.16 20:36 Сейчас в теме
да уж, не ясно толи из ЗУП 2,5 в ЗУП 3,0 или на оборот :)
4. yojeeg 103 26.05.16 22:30 Сейчас в теме
(2) Alik_1c, ЗУП 3.0 такого качества, что действительно впору писать и такую обработку, которая из 3.0 в 2.5 переносит :)
Gremlin; user614822; Death_eye; +3 Ответить
5. ylyas 25 15.02.17 17:38 Сейчас в теме
Ошибка в коде, молодой человек:
МассивКодов = КодыДопНачислений.Выгрузить().ВыгрузитьКолонку(не указан обязательный параметр);

МассивКодов = КодыОсновныхНачислений.Выгрузить().ВыгрузитьКолонку(не указан обязательный параметр);
7. yojeeg 103 15.03.17 17:45 Сейчас в теме
6. ylyas 25 15.02.17 18:03 Сейчас в теме
Функция СоответствиеВидовРасчета(ВходящийКод, ВходящееНаименование)
	
	Начисление = ПланыВидовРасчета.Начисления.ПустаяСсылка();
	Таблица = СоответствиеВидовРасчета.Выгрузить();
	
	НайденныеСтроки = Таблица.Найти(Новый Структура("Код, Наименование", СокрЛП(ВходящийКод),СокрЛП(ВходящееНаименование)));
	Если НайденныеСтроки.Количество() > 0 Тогда 
		Возврат НайденныеСтроки[0].Начисление;		
	Иначе 
		Возврат Начисление;
	КонецЕсли;
	
КонецФункции
Показать


Простите, у кого нибудь вообще работает перенос документов??
Тут явно должен быть метод "Таблица.НайтиСтроки()", чтобы сработала такая проверка..
Процедура не рабочая...

Или я что то упускаю???
8. yojeeg 103 15.03.17 17:45 Сейчас в теме
(6)Благодарю, исправлено - присылайте e-mail
9. ylyas 25 16.03.17 13:37 Сейчас в теме
(8)
ммм.. а зачем вам мой емэйл??
10. yojeeg 103 22.03.17 16:06 Сейчас в теме
11. sferg007 27.06.18 21:31 Сейчас в теме
У меня вот такое выходит при загрузке

{ВнешняяОбработка.ПереносДанныхИзЗУП2_5вЗУП3.МодульОбъекта(3492)}: Ошибка при вызове метода контекста (Записать): Ошибка при попытке вставки записи с неуникальным значением ссылки.
таблица Reference291.

И таких строк много с разными значениями Reference

Загружаю в пустую базу того же релиза на котором вы тестировали.
12. yojeeg 103 12.07.18 17:13 Сейчас в теме
(11) Слишком мало информации для понимания ошибки. Это ошибка в процедуре записи объекта в базу. Процедура записи одна для всех объектов.

Судя по описанию ошибка возникает у вас при переносе какого-то объекта, которые переносится по УИД. И если ругается, что он уже есть, значит в базе он уже действительно есть. Значит либо база не совсем пустая. Либо при получении данных из ЗУП 2.5 задвоились данные в каком-то месте. Почему задвоились: справочник какой-то доработанный или еще какая причина. Проверьте на чём конкретно обработка падает и на наличие доработок метаданных в этом месте в ЗУП 2.5.
36. Anthon 229 20.02.19 17:02 Сейчас в теме
(12) Всё банально. В обработке нет проверки на то, переносились сотрудники уже или нет. И никакого контроля. Пришлось добавить строчки

ФИО = СокрЛП(СтрПолучитьСтроку(СтрЗаменить(СокрЛП(СтрЗаменить(Выборка.СотрудникиОрганизацийСсылка.Наименование, " ", " ")), "(", "" ""), 1));
Доп = СокрЛП(СтрПолучитьСтроку(СтрЗаменить(СокрЛП(СтрЗаменить(Выборка.СотрудникиОрганизацийСсылка.Наименование, " ", " ")), "(", "" ""), 2));
Если НЕ Справочники.Сотрудники.НайтиПоНаименованию(ФИО).Пустая() Тогда
Сообщить("Сотрудник " + Выборка.СотрудникиОрганизацийСсылка.Наименование + " уже загружен, пропускаем.");
Продолжить;
КонецЕсли;
Если COM_Соединение.ЗначениеЗаполнено(Выборка.СотрудникиОрганизацийСсылка) Тогда

И

Если НЕ ФизическиеЛица.НайтиПоНаименованию(СокрЛП(СтрЗаменить(Выборка.СотрудникиОрганизацийФизлицоСсылка.Наименование, " ", " "))).Пустая() Тогда
Сообщить("Физлицо " + Выборка.СотрудникиОрганизацийФизлицоСсылка.Наименование + " уже загружено, пропускаем.");
Продолжить;
КонецЕсли;

Если COM_Соединение.ЗначениеЗаполнено(Выборка.СотрудникиОрганизацийФизлицоСсылка) Тогда

кроме того, все перенесенные этой обработкой сотрудники становятся "призраками", потому что для работы в программе необходимо заполнение еще как минимум двух регистров, а лучше еще пятнадцать. Хотя бы таким кодом

ЗаписатьОбъект(НовыйСотрудник);


МенеджерЗаписи = РегистрыСведений.ДанныеДляПодбораСотрудников.СоздатьМенеджерЗаписи();
МенеджерЗаписи.Наименование = НовыйСотрудник.Наименование;
МенеджерЗаписи.Сотрудник = НовыйСотрудник.Ссылка;
МенеджерЗаписи.ФизическоеЛицо = НоваяСсылкаФизЛицо;
МенеджерЗаписи.Наименование = НовыйСотрудник.Наименование;
МенеджерЗаписи.ИдентификаторЗаписи = Новый УникальныйИдентификатор;
МенеджерЗаписи.ПоДоговоруГПХ = Найти(Доп, "дог") <> 0;
МенеджерЗаписи.Организация = Справочники.Организации.НайтиПоНаименованию("блаблабла ваша контора");
МенеджерЗаписи.ЭтоГоловнойСотрудник = Истина;
МенеджерЗаписи.ВидЗанятости = Перечисления.ВидыЗанятости.ОсновноеМестоРаботы;
МенеджерЗаписи.ВидДоговора = Перечисления.ВидыДоговоровССотрудниками.ТрудовойДоговор;
МенеджерЗаписи.ВидЗанятости = Перечисления.ВидыЗанятости.ОсновноеМестоРаботы;
МенеджерЗаписи.Начало = Дата("31.12.1899 00:00:00");
МенеджерЗаписи.Окончание = Дата("31.12.3999 00:00:00");
МенеджерЗаписи.Записать();

МенеджерЗаписи = РегистрыСведений.РолиСотрудников.СоздатьМенеджерЗаписи();
МенеджерЗаписи.Сотрудник = НовыйСотрудник.Ссылка;
МенеджерЗаписи.РольСотрудника = ?(Найти(Доп, "дог") = 0, Перечисления.РолиСотрудников.Работник, Перечисления.РолиСотрудников.Договорник);
МенеджерЗаписи.Записать();


кроме того, поправил еще штук тридцать ошибок, чтобы все заработало, но все равно обработка мне сэкономила пару часов.
не хватает переносов приемов на работу/кадровых переводов, так как многие руководители людят устраивать чистки (иногда даже фиктивные) на 01.01.

ах да. на адреса ТС, видимо, забил.

вам, наверное, уже неактуально, а вот следующим хомякам будет полезно.
48. yojeeg 103 14.05.19 15:14 Сейчас в теме
(36) Спасибо за критику - многое уже было исправлено/добавлено, в том числе благодаря Вашему комментарию.
13. ksenym 28.07.18 16:49 Сейчас в теме
У меня такая ошибка: {ВнешняяОбработка.ПереносДанныхИзЗУП2_5вЗУП3.МодульОбъекта(2451)}: Значение не является значением объектного типа (Свернуть)

ТаблицаДокументов.Свернуть("Документ,УИД");
14. yojeeg 103 30.07.18 09:52 Сейчас в теме
15. ksenym 30.07.18 13:20 Сейчас в теме
(14) А как получить исправленную обработку?
16. yojeeg 103 30.07.18 13:39 Сейчас в теме
(15) Пришлите в личку свою почту
17. ksenym 30.07.18 13:45 Сейчас в теме
(16) Напишу здесь. У меня почему то личное сообщение не отправляется. ksenym@inbox.ru
18. svegl 13 06.09.18 14:29 Сейчас в теме
Добрый день! Типовым переносом 1С были перенесены остатки и справочники на начало года. Возможно ли с помощью Вашей обработки дозагрузить документы за текущий год? Не будет задвоений в справочниках? На релизах 3.1.7 будет работать?
19. yojeeg 103 12.09.18 17:19 Сейчас в теме
Обработка тестировалась на релизах 3.1.5. Задвоений быть не должно, поскольку при переносе документов данные не создаются. Элементы справочников ищутся по ГУИдам, для обработки это критично.
20. German_Tagil 6 17.10.18 10:39 Сейчас в теме
21. as7bs 162 28.11.18 08:09 Сейчас в теме
Добрый день. На 3.1.8 не загружаются адреса физических лиц. Может кто-уже сталкивался и решил данную проблему.
22. yojeeg 103 28.11.18 15:50 Сейчас в теме
(21)Добрый день, пока Вы первый, кто заявил о такой проблеме. Я проверю.
23. as7bs 162 30.11.18 07:49 Сейчас в теме
(22) Мне уже это пока не актуально: загрузил адреса другим способом.
Я так думаю, связано с тем, что в 3.1.8 используется новый ФИАС2.
24. user614822 26 30.11.18 10:10 Сейчас в теме
37. yojeeg 103 27.02.19 18:00 Сейчас в теме
25. OkeanObuvi 07.12.18 11:55 Сейчас в теме
Роман, приветствую, скачал Вашу обработку, можете дать комментарии по пунктам 2, 3 и 4
26. yojeeg 103 12.12.18 10:27 Сейчас в теме
(25)Добрый день, а что конкретно интересует?
27. snogl 31.01.19 11:27 Сейчас в теме
Добрый день! Подскажите...
Необходимо выгрузить все из ЗУП (базовая), редакция 2.5 (2.5.130.2) в ЗУП (базовая), редакция 3.1 (3.1.8.246).
Данная обработка для этой цели подойдет ?
28. yojeeg 103 31.01.19 12:47 Сейчас в теме
(27)Добрый день!
Чтобы выгрузить всё - не подойдет. Почитайте описание, там указано, что часть данных выгружается типовыми правилами, а эта обработка только для тех данных, которые на момент ее создания правилами выгружались некорректно.
29. melisavi 1 31.01.19 15:31 Сейчас в теме
Большое спасибо за обработку! Данные перенеслись (кстати, вышеуказанная ошибка ("Значение не является значением объектного типа (Свернуть)" осталась), но вопрос в другом: открываю, например, документы Отпуск, они перенеслись, но все с пустой организацией. Почему? Сам справочник "Организации" заполнен.
30. yojeeg 103 31.01.19 15:51 Сейчас в теме
(29) Про "свернуть" не получится дать больше информации? Например, строчку кода или хотя бы что-то, чтобы было ясно, где смотреть?

Про Организацию при возможности проверю, спасибо за обратную связь.
31. melisavi 1 31.01.19 17:21 Сейчас в теме
Строчку не написал, к сожалению.

Вот что еще выяснили:
1. Организация не заполнена в док-тах "Отпуск", "Больничный лист", возможно, еще где. Странно, что выше никто об этом не написал, может, только у меня такая проблема?
2. Вышеописанные док-ты не проведены (может, так и задумывалось или это просто следствие отсутствия организации?).
3. Кроме того, в "Отпусках" даже месяц начисления не везде стоит.
4. Не перенесся аванс за январь (док-т "Начисление зарплаты на первую половину месяца").
5. Док-ты "Ведомость в банк", "Ведомость в кассу" тоже не перенеслись.

Пп. 4 и 5 у вас нет в списке, видимо, и не должны были перенестись.
Прикрепленные файлы:
34. yojeeg 103 07.02.19 11:33 Сейчас в теме
(31)
1. Проверил, организация заполняется. Ошибка не воспроизводится. Если с самого начала отмечали галку о необходимости переноса Организации, то должно заполнить. Если организаций несколько, берется первая. Обработка не работает с несколькими организациями. На всякий случай из обработки убрал код по типовой процедуре получения Организации по умолчанию и получаю первую организацию самостоятельно.
2. Документы переносятся непроведеными, так задумано.
3. Месяц начисления не стоял там, где не было документа начисления в 2.5. В новой версии обработки исправлено.
4 и 5 действительно не заявлялись к переносу.
35. melisavi 1 07.02.19 15:06 Сейчас в теме
(34) Да, проблема была именно в процедуре получения орг. по умолчанию. А как получить новую версию обработки?
Переносить непроведенными действительно правильно, избегаем задвоений (стандартный перенос плюс обработка).
32. snogl 31.01.19 21:12 Сейчас в теме
Где-то читал, что в ЗУП базовая ограничение на выгрузку/загрузку через com подключение, это так? Или я что-то путаю? На базовой будет работать?
33. yojeeg 103 01.02.19 09:55 Сейчас в теме
(32) не будет работать, там в принципе нет поддержки com
http://it-terminal.ru/infobox/index.php/105/
38. multi 30.04.19 14:01 Сейчас в теме
Спасибо!
Физлица, Сотрудники с данными перенеслись. Пришлось поправить состав Параметров - не хватало параметра ТолькоПоТрудовомуДоговоруФизлица.
Не перенеслись стажи, в том числе северный, пока не разобрались в чем проблема.
40. yojeeg 103 06.05.19 10:13 Сейчас в теме
(38) Спасибо за обратную связь, поправлю параметр.
42. yojeeg 103 06.05.19 11:27 Сейчас в теме
(38) По стажам нужно добавить следующее:
В модуле объекта:
строка 1185 НоваяЗапись.Период = Период.ДатаНачала;
строка 4075 заменить на "| И ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Период <= &КонецПериода"
строка 4091 заменить на "| СведенияОСтажеРаботыНаСевереСрезПоследних.Период <= &КонецПериода";"

Ну или перекачать обработку, там я это уже добавил.
39. ivnik 406 01.05.19 00:06 Сейчас в теме
Добрый день!
Мне нужно перенести только физлиц (более 600 чел.), подключение к базе успешно, а перенос нет. Что можно предпринять? Спасибо!
Прикрепленные файлы:
41. yojeeg 103 06.05.19 10:20 Сейчас в теме
(39) Добрый день! В форму обработки добавьте в строку 641:
СтруктураДанныхДляЗагрузки.Вставить("ТолькоПоТрудовомуДоговоруФизлица", ТолькоПоТрудовомуДоговоруФизлица);
43. ivnik 406 06.05.19 13:10 Сейчас в теме
(41)
Большое Спасибо!!! Теперь работает!
44. ivnik 406 14.05.19 14:19 Сейчас в теме
Добрый день!
SOS!!! Большой "подводный камень"! В рабочей базе ЗУП-3.1 имеется 270 сотрудников, сюда же нужно добавить еще 620 физлиц (не сотрудников) из ЗУП-2.5. Запускаем обработку, физлица подгрузились нормально: с ИНН, паспортными данными и т.п. Вроде бы все красиво, НО... у сотрудников полностью исчезли паспортные данные!!!
Проблема №2: при перегрузке физлиц адрес переноситься, но в 3.1 он не корректный!!! Визуально: индекс разделен пробелом на 2 части. Может это из-за того, что в ЗУП-2.5 Кладр, а в 3.1 уже ФИАС ? Это можно как-то "поправить"?
45. yojeeg 103 14.05.19 14:47 Сейчас в теме
(44)Добрый день!

По 2: заменить строчку 600 на
СтруктураКИ.Индекс = ?(Не ЗначениеЗаполнено(Выборка11.Индекс),0 ,СтрЗаменить(Число(Выборка11.Индекс),Символы.НПП,""));

По 1: надеюсь это не на рабочей базе делалось или есть копия, потому что как указано в описании, переносить данные рекомендуется на чистую базу. Обработка разрабатывалась именно под это, под "догрузки" не затачивалась. Регистры записываются наборами, а значит перезаписываются целиком.
46. ivnik 406 14.05.19 14:49 Сейчас в теме
Во-первых: Спасибо!
Во-вторых: копия есть, но получается, что перенос физлиц не выполнен!.... А именно это и нужно, к сотрудникам добавить физлиц, которых в три раза больше.
47. yojeeg 103 14.05.19 15:09 Сейчас в теме
(46) Это особенность обработки, как я указал выше, она не предназначалась для добавления данных. Но вообще замечание очень хорошее и конструктивное, еще раз благодарю за обратную связь. Затирать данные, конечно, не хорошо.
Если есть возможность протестировать новую версию обработки на предмет добавления новых данных, а не замещения, можете указать почту - я пришлю новую версию. В комментарии просто так не опишешь что на что заменить, проще выложить новую версию.
49. ivnik 406 14.05.19 15:16 Сейчас в теме
Это не "критика", я сам тоже не всегда сразу вижу, где накосячил.
islnik@mail.ru
Спасибо!
50. yojeeg 103 14.05.19 15:18 Сейчас в теме
(49)
islnik@mail.ru
Немного здоровой критики никогда не повредит, особенно когда обработка делалась 5 лет назад) Измененную обработку отправил на почту.
51. user614838_dynnikov 29.05.19 11:08 Сейчас в теме
Роман, возможно ли как-то получить исправленную обработку?
Спасибо)
52. yojeeg 103 29.05.19 11:19 Сейчас в теме
(51) Честно говоря не вижу Вас в списке скачавших обработку. Если не скачивали - то получить можно с инфостарта за стартмани. Если уже скачивали, то пришлите письмо подтверждение загрузки мне на почту, я в ответ вышлю последнюю актуальную версию.
53. nestokay 53 05.06.19 15:44 Сейчас в теме
Добрый день, могу я поинтересоваться, мне нужно выгрузить данные по исчисленному и удержанному НДФЛ, эта информация переносится данными правилами?
54. yojeeg 103 07.06.19 08:02 Сейчас в теме
55. Stim213 359 10.06.19 17:10 Сейчас в теме
"{ВнешняяОбработка.ПереносДанныхИзЗУП2_5вЗУП3.МодульОбъекта(2638)}: Значение не является значением объектного типа (УникальныйИдентификатор)
Возврат ЗначениеИзСтрокиВнутр(COM_Соединение.ЗначениеВСтрокуВнутр(Ссылка.УникальныйИдентификатор()));"

Обидно потратить стартмани за неработающую обработку
Оставьте свое сообщение