0. yojeeg 100 26.05.16 14:44 Сейчас в теме

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

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

Перейти к публикации

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

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


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

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

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

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

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

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

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

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

Пп. 4 и 5 у вас нет в списке, видимо, и не должны были перенестись.
Прикрепленные файлы:
34. yojeeg 100 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 100 01.02.19 09:55 Сейчас в теме
(32) не будет работать, там в принципе нет поддержки com
http://it-terminal.ru/infobox/index.php/105/
38. multi 30.04.19 14:01 Сейчас в теме
Спасибо!
Физлица, Сотрудники с данными перенеслись. Пришлось поправить состав Параметров - не хватало параметра ТолькоПоТрудовомуДоговоруФизлица.
Не перенеслись стажи, в том числе северный, пока не разобрались в чем проблема.
40. yojeeg 100 06.05.19 10:13 Сейчас в теме
(38) Спасибо за обратную связь, поправлю параметр.
42. yojeeg 100 06.05.19 11:27 Сейчас в теме
(38) По стажам нужно добавить следующее:
В модуле объекта:
строка 1185 НоваяЗапись.Период = Период.ДатаНачала;
строка 4075 заменить на "| И ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Период <= &КонецПериода"
строка 4091 заменить на "| СведенияОСтажеРаботыНаСевереСрезПоследних.Период <= &КонецПериода";"

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

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

По 1: надеюсь это не на рабочей базе делалось или есть копия, потому что как указано в описании, переносить данные рекомендуется на чистую базу. Обработка разрабатывалась именно под это, под "догрузки" не затачивалась. Регистры записываются наборами, а значит перезаписываются целиком.
46. ivnik 402 14.05.19 14:49 Сейчас в теме
Во-первых: Спасибо!
Во-вторых: копия есть, но получается, что перенос физлиц не выполнен!.... А именно это и нужно, к сотрудникам добавить физлиц, которых в три раза больше.
47. yojeeg 100 14.05.19 15:09 Сейчас в теме
(46) Это особенность обработки, как я указал выше, она не предназначалась для добавления данных. Но вообще замечание очень хорошее и конструктивное, еще раз благодарю за обратную связь. Затирать данные, конечно, не хорошо.
Если есть возможность протестировать новую версию обработки на предмет добавления новых данных, а не замещения, можете указать почту - я пришлю новую версию. В комментарии просто так не опишешь что на что заменить, проще выложить новую версию.
49. ivnik 402 14.05.19 15:16 Сейчас в теме
Это не "критика", я сам тоже не всегда сразу вижу, где накосячил.
islnik@mail.ru
Спасибо!
50. yojeeg 100 14.05.19 15:18 Сейчас в теме
(49)
islnik@mail.ru
Немного здоровой критики никогда не повредит, особенно когда обработка делалась 5 лет назад) Измененную обработку отправил на почту.
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Автор новостных обзоров на тему 1С и бухучета
Санкт-Петербург
По совместительству

Программист 1С
Санкт-Петербург
зарплата до 120 000 руб.
Полный день

Работа от Инфостарт
Санкт-Петербург
Временный (на проект)

Программист 1С
Новосибирск
зарплата от 80 000 руб.
Полный день

Руководитель отдела внедрения 1С
Новосибирск
зарплата от 60 000 руб. до 160 000 руб.
Полный день