IE2017

Перенос документов между идентичными конфигурациями для платформы не ниже 8.2.18.82

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

Обработка выполняет перенос документов между идентичными конфигурациями на платформе не ниже 8.2.18.82. Тестирование выполнялось для конфигурации "Бухгалтерия предприятия версия 2.0.49.15"

Синхронизация объектов конфигураций выполняется по уникальным идетификаторам.

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

Наименование Файл Версия Размер
Перенос между идентичными конфигурациями
.epf 31,14Kb
09.08.13
817
.epf 5 31,14Kb 817 Скачать

См. также

Комментарии
1. Павел Питеев (paulpit) 19 30.07.13 00:30 Сейчас в теме
Обработка переносит измененные документы?
А чем не устроила универасльная обработка с ИТС-а?
2. Vyacheslav Khristolyubov (XSlava) 95 30.07.13 07:50 Сейчас в теме
Этой обработке все равно изменен или не изменен документ, т.к. в качестве основного правила обмена используется сама структура конфигурации (метаданные). Почему не с ИТС, искать, затем разбираться и проверять, тоже самое по времени, что и написать. Скорее всего для типовой обработки нужны еще и правила.
Надеюсь, что ответил на ваши вопросы.
3. Анатолий Быков (awbyk) 76 01.08.13 11:14 Сейчас в теме
Попробовал перенос для БГУ из редакции 1.0.14.2 в редакцию 1.0.20.6

Пришлось слегка подправить модуль формы:
- Организации изменил на Учреждения;
- Обошел попыткой, исключением, поскольку в редакции 1.0.14.2 нет константы.ЗаголовокСистемы строку
ЭтаФорма.Заголовок = ЭтаФорма.Заголовок + " " + константы.ЗаголовокСистемы.Получить();
- Список видов документов отсортировал по представлению.

В принципе удобнее, чем универсальный перенос.
4. r r (Жискар) 5 05.08.13 12:39 Сейчас в теме
Запускал в «Зарплата и кадры бюджетного учреждения, редакция 1.0 (1.0.60.3)» ,
«Бухгалтерия предприятия, редакция 2.0 (2.0.49.11)».
Платформа 1С:Предприятие 8.2 (8.2.18.109).
Получал сообщение «Обработка завершена».
Ни одной записи в результат не перенесено.
Может что-то ещё надо установить, чтобы обработка работала?
5. Vyacheslav Khristolyubov (XSlava) 95 05.08.13 14:36 Сейчас в теме
На закладке "Настройки переноса" нужно выбрать вид документа, затем нажать кнопку "Заполнить", за указанный период будет заполнена таблица переносимых документов. Затем переносить.
6. r r (Жискар) 5 05.08.13 15:16 Сейчас в теме
Брал один вид документа "Начисление зарплаты" по одной организации и за период с февраля по апрель.
Вибиралось штук 5. Нажал выполнить. Обработка завершена.
Перенесено 0 документов. Все гладко, только результата нет.
7. Vyacheslav Khristolyubov (XSlava) 95 05.08.13 15:28 Сейчас в теме
Значит при переносе есть ошибки, их можно посмотреть создав файл отладки.
8. r r (Жискар) 5 05.08.13 16:13 Сейчас в теме
Файл отладки не создается вообще, даже пустой. Машина домашняя, доступно всё.
9. Vyacheslav Khristolyubov (XSlava) 95 05.08.13 16:44 Сейчас в теме
Странно. "Начисление зарплаты" говорите. Посмотрю.
10. Александр Журавлев (apostal86) 176 08.08.13 13:45 Сейчас в теме
(2) XSlava, Стандартную ИТС-кую проверять не нужно, с ней все ОК, работает во всех идентичных конфигурациях. Для типовой правила не нужны. То что у Вас выложено практически то же самое, что и в обработке с ИТС. Какое у Вашей обработки принципиальное отличие?
11. Vyacheslav Khristolyubov (XSlava) 95 08.08.13 14:15 Сейчас в теме
Видимо отличается формой.
12. r r (Жискар) 5 08.08.13 15:27 Сейчас в теме
apostal86. Извиняюсь за серость. Стандартная ИТС-кая это ВыгрузкаЗагрузкаДанныхXML82.epf
или что-то другое?
13. Vyacheslav Khristolyubov (XSlava) 95 08.08.13 15:43 Сейчас в теме
Я не знаю, никогда не пользовался. Возникла необходимость, написал свою.
14. Slater_7 (Slater_7) 09.08.13 09:35 Сейчас в теме
Таже ерудна что и у Жискар. Говорит что Завершено, но ничего не переносит и отладка не создаётся. Конфа - Бухгалтерия для Казахстана(2.0.11.8) 1С:Предприятие 8.2 (8.2.18.102). Где копать хотябы - есть идеи?
15. Vyacheslav Khristolyubov (XSlava) 95 09.08.13 13:41 Сейчас в теме
16. r r (Жискар) 5 09.08.13 15:32 Сейчас в теме
(15) XSlava, Все прекрасно работает. Спасибо.
Началась новая жизнь.
17. Vyacheslav Khristolyubov (XSlava) 95 09.08.13 15:35 Сейчас в теме
(16) Жискар, Хорошо. Пишите, если будут идеи по улучшению.
18. Irina (hawl) 12.08.13 13:05 Сейчас в теме
Спасибо большое, всё работает хорошо.
19. Ильсияр Левченко (ilsijar) 63 23.09.13 10:38 Сейчас в теме
Не очень универсален, но доработать для себя можно.Спасибо,сэкономила время.
20. Света Серебряная (silver-747) 17.10.13 19:58 Сейчас в теме
Спасибо. выручила обработка.
21. Владимир Самойлов (Felix1) 10.11.13 21:14 Сейчас в теме
Выдает ошибку "
{ВнешняяОбработка.ПереносМеждуИдентичнымиКонфигурациями.МодульОбъекта(46)}: Ошибка при вызове метода контекста (Записать)
о.Записать();
по причине:
Произошла исключительная ситуация (1C:Enterprise 8.2.16.368): Не удалось записать "Счет на оплату покупателю ДПб00000365 от 23.08.2013 16:23:45"!
"
22. Владимир Самойлов (Felix1) 10.11.13 21:16 Сейчас в теме
не понимаю в чем проблема ? переношу документы за 4 кв 2013 г, в базе приемнике установил дату запрета редактирования по 30.09.2013 ? вопрос причем тут счет от23.08.2013
23. Vyacheslav Khristolyubov (XSlava) 95 11.11.13 08:42 Сейчас в теме
Скорее всего в каком нибудь переносимом документе есть ссылка на данный счет, вот он его и переносит.
24. Владимир Самойлов (Felix1) 11.11.13 08:57 Сейчас в теме
А что с этим делать ???, если я сниму дату запрета редактирования, то у меня поедет прошлый период ?
25. Vyacheslav Khristolyubov (XSlava) 95 11.11.13 10:04 Сейчас в теме
(24) Felix1, Один из вариантов очистить ссылку на данный документ в переносимом документе. Решение данной проблемы зависит от задач которые вы решаете.
26. Владимир Самойлов (Felix1) 11.11.13 11:21 Сейчас в теме
хорошо , а как мне найти тот самый документ,
на который ссылается на счет ???
27. Vyacheslav Khristolyubov (XSlava) 95 11.11.13 11:40 Сейчас в теме
(26) Felix1, Написать запрос, затем обработку.
28. Владимир Самойлов (Felix1) 11.11.13 11:46 Сейчас в теме
(27) XSlava, А для бухгалтера, есть вариант по проще ???
29. Vyacheslav Khristolyubov (XSlava) 95 11.11.13 12:01 Сейчас в теме
30. Владимир Самойлов (Felix1) 11.11.13 12:39 Сейчас в теме
(29) XSlava, Тогда у меня оборотно-сальдовая ведомость не изменится ??? и вообще все показатели ???
31. Vyacheslav Khristolyubov (XSlava) 95 11.11.13 12:50 Сейчас в теме
(30) Felix1, Сделайте резервную копию, проверьте сначала на копии. У вас очень серьезные вопросы, для ответа на которые нужно знать гораздо больше о ваших задачах, чем выпи пишете.
32. Alexander (likan) 27.11.13 08:52 Сейчас в теме
(26)а найти счет и посмотреть подчиненные документы, религия не позволяет?
33. Владимир Самойлов (Felix1) 27.11.13 12:47 Сейчас в теме
(32) likan, 1.Вопрос уже решен стандартной обработкой с ИТС
2. Если есть конкретные предложения, или желаете помочь, пишите по делу, религия тут не причем.
34. imarok imarok (imarok) 30.11.13 15:22 Сейчас в теме
при выполнение обработки в ут 10.3.15.9 ошибка
{Обработка.ПереносМеждуИдентичнымиКонфигурациями.МодульОбъекта(139)}: Ошибка при вызове метода контекста (СоздатьЭлемент)
ОЭлемент = Открытие.Справочники[ВидСпр].СоздатьЭлемент();
по причине:
Произошла исключительная ситуация (1C:Enterprise 8.2.18.109): {Справочник.Номенклатура.МодульОбъекта(122,33)}: Переменная не определена (РаботаСТорговымОборудованием)
35. imarok imarok (imarok) 30.11.13 15:34 Сейчас в теме
Разобрался, прошу прощения
36. Таньзеля Гатаулина (tanselja) 4 30.11.13 16:04 Сейчас в теме
Вроде и стандартная хорошо работает.
37. Yalo (yalo) 03.12.13 09:42 Сейчас в теме
А в чем отличие от стандартной обработки? Использую ее, переносит все необходимые документы и справочники и т.д.
38. Аркадий Фирсов (Natuhai) 3 20.01.14 18:39 Сейчас в теме
Спасибо. Пригодилась обработка. Бухи потерли полтора десятка документов с табличной частью этак в 3000 строк ... Перенес им из бекапа.
39. Alister (Alister) 9 23.01.14 15:33 Сейчас в теме
Спасибо за работу, все что нужно перенесла.
40. if56.ru (if56) 19.02.14 14:52 Сейчас в теме
Есть ошибка.
Если не устанавливать флаг Перезаписывать документы, то таб части документов , перенесенных ранее , задваиваются. Ошибка в функции ПолучитьДокумент(ТекДок)

Кусок кода:

Если ФлПерезаписыватьДоки и не ЭтоНовый тогда
инфа("Документ уже переносился!!! Изменяем документ "+ВидДока+" № "+ТекДок.Номер+" от "+ТекДок.Дата,0);
//Очистим табличные части
Для каждого ТЧ из Открытие.Метаданные.Документы[ВидДока].ТабличныеЧасти цикл
ДокБух[ТЧ.Имя].Очистить();
КонецЦикла;
ИначеЕсли не ФлПерезаписыватьДоки и не ЭтоНовый тогда // Все равно пишем
инфа("Документ уже переносился!!! Пропускаем документ "+ВидДока+" № "+ТекДок.Номер+" от "+ТекДок.Дата,0);
//////////////////////////////////////// надо бы Возврат Неопределено;

Иначе
инфа("Создаем документ "+ВидДока+" № "+ТекДок.Номер+" от "+ТекДок.Дата,0);
КонецЕсли;
Возврат ДокБух;
КонецКуска
41. arjuna (arjuna) 26.03.14 00:43 Сейчас в теме
(40) if56.ru,
Есть ошибка.
Если не устанавливать флаг Перезаписывать документы, то таб части документов , перенесенных ранее , задваиваются. Ошибка в функции ПолучитьДокумент(ТекДок)

У меня упорно задваивает все документы. Уже всю голову сломал, не видет он УникальныйИдентификатор в удаленной базе.
42. Светлана (sps02) 14.08.14 15:21 Сейчас в теме
Извините, если вопрос глупый(( Могу ли я перенести документы из одинаковых конфигураций, но если это разные контрагенты?
Спасибо заранее
43. Светлана (sps02) 14.08.14 17:39 Сейчас в теме
Закачала, но выдает такую ошибку. подскажите как решить: Не смог записать элемент справочника Номенклатура Набор для кофе "Бернадот 0000" 110 мл на 6перс.12пред {ВнешняяОбработка.ПереносМеждуИдентичнымиКонфигурациями.МодульОбъекта(405)}: Ошибка при вызове метода контекста (Записать): Произошла исключительная ситуация (1C:Enterprise 8.2.19.90): Ошибка при выполнении обработчика - 'ПередЗаписью'
Заранее спасибо
44. Светлана (sps02) 15.08.14 11:40 Сейчас в теме
Скажите, пожалуйста почему номенклатура не загружается?
45. Макас (makas) 43 08.10.14 18:15 Сейчас в теме
Обработка в 1С:Предприятие 8.2 (8.2.19.106) "Управление торговлей", редакция 10.3 (10.3.29.1) пишет сообщение "База данных не открыта !!!"

В чем может быть моя ошибка?

46. Vyacheslav Khristolyubov (XSlava) 95 09.10.14 08:01 Сейчас в теме
В чем угодно. Нет доступа к каталогу или еще чего.
47. Светлана Пехотина (SvetlanaP) 27.02.15 12:57 Сейчас в теме
Спасибо за обработку! С ней намного легче работать. Сначала все время появлялось сообщение "База данных не открыта!!!", но потом все получилось. У меня все переносится идеально.
48. Вячеслав Пузанов (Evrey.biysk) 11.03.15 06:33 Сейчас в теме
Одна из причин почему база данных не открыта, пробелы в логине или пароле
Если таковые имеются то
v8=Новый COMОбъект("v8"+Прием+".COMConnector");
Состояние("Подключение к базе");
строкаЗапуска="";
Если ФлБазаНаСервере тогда
строкаЗапуска = "Srvr="""+ СокрЛП(ф.Сервер) + """;"+"Ref="""+СокрЛП(ф.ИмяБазы)+ """;Usr=" + СокрЛП(ф.ИмяПользователя) + ";Pwd=" + СокрЛП(ф.Пароль);
иначе
строкаЗапуска = "File="""+ СокрЛП(ф.Каталог) + """;Usr=" + СокрЛП(ф.ИмяПользователя) + ";Pwd=" + СокрЛП(ф.Пароль);
Если не ЗначениеЗаполнено(ф.ИмяПользователя) тогда
строкаЗапуска = "File="""+ СокрЛП(ф.Каталог) + """";
КонецЕсли;
конецесли;

Сообщить(строкаЗапуска);
Попытка
Открытие = V8.Connect(строкаЗапуска);
Состояние("Подключились");
Исключение
Предупреждение("База данных не открыта!!!");
Возврат Ложь;
КонецПопытки;
Возврат Истина;

Надо заменить следующим:

v8=Новый COMОбъект("v8"+Прием+".COMConnector");
Состояние("Подключение к базе");
строкаЗапуска="";
Если ФлБазаНаСервере тогда
строкаЗапуска = "Srvr="""+ СокрЛП(ф.Сервер) + """;"+"Ref="""+СокрЛП(ф.ИмяБазы)+ """;Usr=""" + СокрЛП(ф.ИмяПользователя) + """;Pwd=""" + СокрЛП(ф.Пароль)+"""";
иначе
строкаЗапуска = "File="""+ СокрЛП(ф.Каталог) + """;Usr=""" + СокрЛП(ф.ИмяПользователя) + """;Pwd=""" + СокрЛП(ф.Пароль)+"""";
Если не ЗначениеЗаполнено(ф.ИмяПользователя) тогда
строкаЗапуска = "File="""+ СокрЛП(ф.Каталог) + """";
КонецЕсли;
конецесли;

Сообщить(строкаЗапуска);
Попытка
Открытие = V8.Connect(строкаЗапуска);
Состояние("Подключились");
Исключение
Предупреждение("База данных не открыта!!!");
Возврат Ложь;
КонецПопытки;
Возврат Истина;
49. Славик Лавин (LavinVadik) 61 22.10.15 23:35 Сейчас в теме
на 8.3 тоже работает
маленько код надо тока поправить

еще момент если не ставить флажок "перезаписывать документы" и в базе приемники такой документ уже есть,
табличные части дублируются.
вот тут надо добавить что то типа "Если ФлПерезаписыватьДоки тогда"
Функция ПеренстиДокумент(ТекДок)
	ВидДокумента 	= Метаданные.НайтиПоТипу(ТипЗнч(ТекДок));
	ТипДокумента	= ВидДокумента.Имя;
	Синоним			= ВидДокумента.Синоним;
	ОДок = ПолучитьДокумент(ТекДок);
	
	Если ФлПерезаписыватьДоки тогда	
		Для каждого Реквизит из Метаданные.Документы[ТипДокумента].Реквизиты цикл
			Если Открытие.Метаданные.Документы[ТипДокумента].Реквизиты.Найти(Реквизит.Имя) = неопределено тогда
				Продолжить;
			КонецЕсли;	
			ОДок[Реквизит.Имя] = ЗаменитьЗначение(ТекДок[Реквизит.Имя]);
		КонецЦикла;	
		
		
		Для каждого ТабличнаяЧасть из Метаданные.Документы[ТипДокумента].ТабличныеЧасти цикл
			Если Открытие.Метаданные.Документы[ТипДокумента].ТабличныеЧасти.Найти(ТабличнаяЧасть.Имя) = неопределено тогда
				Продолжить;
			КонецЕсли;	
			Для каждого Строка из ТекДок[ТабличнаяЧасть.Имя] цикл
				НоваяСтрока = ОДок[ТабличнаяЧасть.Имя].Добавить();
				Для каждого Реквизит из ТабличнаяЧасть.Реквизиты цикл
					Если Открытие.Метаданные.Документы[ТипДокумента].ТабличныеЧасти[ТабличнаяЧасть.Имя].Реквизиты.Найти(Реквизит.Имя) = неопределено тогда
						Продолжить;
					КонецЕсли;	
					НоваяСтрока[Реквизит.Имя] = ЗаменитьЗначение(Строка[Реквизит.Имя]);
				КонецЦикла;	
			КонецЦикла;
		КонецЦикла;	
	КонецЕсли;	
	
	Если не ВидДокумента.КонтрольУникальности тогда
		ОДок.Номер 	= ТекДок.Номер;
	ИначеЕсли не НайтиДокументПоКоду("Документ", ТипДокумента, ТекДок.Номер, ТекДок.Дата, ВидДокумента.ПериодичностьНомера) тогда
		ОДок.Номер 	= ТекДок.Номер;
	КонецЕсли;	
	
	ОДок.Дата 	= ТекДок.Дата;
	
	ЗаписатьДокумент(ОДок,ТекДок,Синоним);
	Возврат ОДок.Ссылка;
КонецФункции
...Показать Скрыть



//v8=Новый COMОбъект("v8"+Прием+".COMConnector");
v8=Новый COMObject("V83.COMConnector");
или добавить в список выбора "Прием"


и не предусмотрено если в базе приемники такой документ уже есть и он помечен на удаление то документ не проводится, вот пример
надо добавить
Если ДокБух.ПометкаУдаления Тогда
ДокБух.УстановитьПометкуУдаления(Ложь);
КонецЕсли;



Функция ПолучитьДокумент(ТекДок)
	ВидДока = Метаданные.НайтиПоТипу(ТипЗНЧ(ТекДок)).Имя;
	УИ = открытие.NewObject("УникальныйИдентификатор",СокрЛП(""+ТекДок.УникальныйИдентификатор()));
	ЭтоНовый = Ложь;
	ЕстьСсылка = Открытие.Документы[ВидДока].ПолучитьСсылку(УИ);
	Если не ПустаяСтрока(ЕстьСсылка.Номер) тогда
		ДокБух=ЕстьСсылка.ПолучитьОбъект();
		Если ДокБух.ПометкаУдаления Тогда
			ДокБух.УстановитьПометкуУдаления(Ложь);
		КонецЕсли;	

	Иначе
		ДокБух = Открытие.Документы[ВидДока].СоздатьДокумент();
		НоваяСсылка = Открытие.Документы[ВидДока].ПолучитьСсылку(УИ);
		ДокБух.УстановитьСсылкуНового(НоваяСсылка);
		ЭтоНовый = Истина;
	КонецЕсли;
	Если ФлПерезаписыватьДоки и не ЭтоНовый тогда	
		инфа("Документ уже переносился!!! Изменяем документ "+ВидДока+" № "+ТекДок.Номер+" от "+ТекДок.Дата,0);
		//Очистим табличные части
		Для каждого ТЧ из Открытие.Метаданные.Документы[ВидДока].ТабличныеЧасти цикл
			ДокБух[ТЧ.Имя].Очистить();
		КонецЦикла;	
	ИначеЕсли не ФлПерезаписыватьДоки и не ЭтоНовый тогда	
		инфа("Документ уже переносился!!! Пропускаем документ "+ВидДока+" № "+ТекДок.Номер+" от "+ТекДок.Дата,0);	
	Иначе	
		инфа("Создаем документ "+ВидДока+" № "+ТекДок.Номер+" от "+ТекДок.Дата,0);
	КонецЕсли;	
	Возврат ДокБух;
КонецФункции
...Показать Скрыть
Светлый ум; +1 Ответить 1
50. Дониэла Иванова (Доня) 266 02.03.17 16:06 Сейчас в теме
(49)
Вы в комментариях написали :
<<< 49. Вадик Лавин (LavinVadik) 57 22.10.15 23:35
на 8.3 тоже работает
маленько код надо тока поправить ...>>>
не могли бы Вы скинуть поправленный на мою почту tathr@mail.ru
Я сделала все Ваши добавки, но не работает на 8.3
51. Vyacheslav Khristolyubov (XSlava) 95 03.03.17 12:08 Сейчас в теме
Пришлите мне файл который вы доработали, я его проверю на 8.3 и поправлю если не будет работать.
Оставьте свое сообщение