Восстановление / перенос движений документов

18.05.23

Интеграция - Перенос данных 1C

Как быстро и выборочно восстановить движения из копии базы до изменений и не получить леща от Марьи Петровны?

В копии базы до изменений:

  1. Создаём внешнюю обработку и собираем в табличную часть нужные документы. Пусть в этой ТЧ будет одна колонка "Документ" с типом "ДокументСсылка". Как собрать документы - статья не об этом.
  2. Добавим кнопку "Выгрузить", напишем обработчик:
  3. &НаСервере
    Процедура ВыгрузитьДокиНаСервере() 
    	
    	Данные = Новый ТаблицаЗначений;
    	Данные.Колонки.Добавить("УИД");  
    	Данные.Колонки.Добавить("ИмяОбъекта");
    	Данные.Колонки.Добавить("Движения");
    	
    	Для каждого Стр из Объект.Документы Цикл 
    					
    		ДокОбъект = Стр.Документ.ПолучитьОбъект();    
    		
    		СтрДанные = Данные.Добавить();
    		СтрДанные.УИД = Стр.Документ.УникальныйИдентификатор(); 
    		СтрДанные.ИмяОбъекта = ДокОбъект.Метаданные().Имя;
    		
    		ДвиженияДанные = Новый Структура();
    		
    		Для каждого Движ из ДокОбъект.Движения Цикл     
    			
    			ИмяРегистра = Движ.Метаданные().Имя;
    			
    			//Если ИмяРегистра = "ОборотыПлановыхОпераций" Тогда //Если нужно выгрузить движения по определенным регистрам				
    				Движ.Прочитать();
    				ДвижТЗ = Движ.Выгрузить();   
    				ДвиженияДанные.Вставить(ИмяРегистра, ЗначениеВСтрокуВнутр(ДвижТЗ));    
    			//КонецЕсли;
    			
    		КонецЦикла;
    				
    	КонецЦикла;  
    	
    	СтрДанные.Движения = ДвиженияДанные;
    	
    	СериализацияДанных = ЗначениеВСтрокуВнутр(Данные);    
    	
    	Файл = Новый ЗаписьТекста("C:\Выгрузка.txt");
    	Файл.Записать(СериализацияДанных);
    	Файл.Закрыть();
    	
    КонецПроцедуры

     

  4. Движения выгрузили. Теперь перейдем в рабочую базу и создадим в нашей обработке новую кнопку "Загрузить", напишем обработчик:
&НаСервере
Процедура ЗагрузитьДокиНаСервере()
	
	Текст = Новый ЧтениеТекста;
	Текст.Открыть("C:\Выгрузка.txt");   
	СериализацияДанных = Текст.Прочитать();  
	Текст.Закрыть();         
	
	Данные = ЗначениеИзСтрокиВнутр(СериализацияДанных);
	
	Для каждого Стр из Данные Цикл  
		
		ДокОбъект = Документы[Стр.ИмяОбъекта].ПолучитьСсылку(Стр.УИД).ПолучитьОбъект();  
				
		Для каждого Движ из ДокОбъект.Движения Цикл     
			
			ИмяРегистра = Движ.Метаданные().Имя;
			
			Если Стр.Движения.Свойство(ИмяРегистра) Тогда				 
				ИмпортированныеДвиженияТЗ = ЗначениеИзСтрокиВнутр(Стр.Движения[ИмяРегистра]);
				Движ.Загрузить(ИмпортированныеДвиженияТЗ);     
				Движ.ОбменДанными.Загрузка = Истина;   
				//ЗаменитьДоговорВПроводках(Движ, ДокОбъект.ДоговорКонтрагента); //Здесь можем подменить в движениях нужные значения
				Движ.Записать();
			КонецЕсли;
			
		КонецЦикла;	
		
	КонецЦикла;
	
КонецПроцедуры 

P.S. Если нужно подменить при загрузке движений некоторые значения, то напишем процедуру "ЗаменитьДоговорВПроводках". В моем случае я подменял договор на тот, который указан в документе. При этом процедура сама ищет, где указан договор, к определенным реквизитам не привязываюсь:

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

 

восстановление обмен документы проводки движения обработка выгрузка загрузка перенос импорт экспорт правка

См. также

SALE! 20%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист Платформа 1С v8.3 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Россия Платные (руб)

Правила в универсальном формате обмена для ERP 2.5, КА 2.5, УТ 11.5, БП 3.0, Розница, УНФ, для последних версий конфигураций. Ссылки на другие конфигурации в описании публикации. Правила совместимы со всеми другими версиями конфигураций новыми и старыми, поддерживающими обмен и синхронизацию в формате EnterpriseData. Не требуется синхронного обновления правил после обновления другой конфигурации, участвующей в обмене. Типовой обмен через планы обмена кнопкой Синхронизация вручную или автоматически по расписанию, или вручную обработкой.

26280 22338 руб.

12.06.2017    141458    798    297    

419

SALE! 10%

Перенос данных 1C Программист Платформа 1С v8.3 1С:Управление производственным предприятием 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Перенос документов, начальных остатков и справочной информации из УПП 1.3 в ERP 2 | из УПП 1.3 в УТ 11 | из УПП в КА 2 | Правила конвертации (КД 2) | Более 360 предприятий выполнили переход с использованием этого продукта! | Сэкономьте время - используйте готовое решение для перехода! | Позволяет перенести из УПП 1.3 в ERP / УТ 11 / КА 2 всю возможную информацию | В переносе есть фильтр по организации и множество других опциональных параметров выгрузки | Есть несколько алгоритмов выгрузки остатков на выбор

55778 50200 руб.

04.08.2015    166418    332    277    

373

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист Платформа 1С v8.3 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Управленческий учет Платные (руб)

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:Бухгалтерия предприятия 3.0 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УПП 1.3 (1.3.234.x) и БП 3.0 (3.0.161.x). Правила подходят для версии ПРОФ и КОРП.

35000 31500 руб.

15.12.2021    23984    169    51    

127

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист Платформа 1С v8.3 Оперативный учет 1С:Управление торговлей 10 Россия Управленческий учет Платные (руб)

Перенос данных из 1С:Управление торговлей 10.3 в 1С:Управление торговлей 11.5 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УТ 10.3 (10.3.88.x) и УТ 11.5 (11.5.19.x).

35000 31500 руб.

23.07.2020    51175    228    69    

185

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Программист Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Управленческий учет Платные (руб)

Перенос данных из ERP в ЗУП 3 | из КА 2 в ЗУП | Готовые правила конвертации данных (КД 2) для переноса остатков, документов с движениями и справочной информации 3 | Есть перенос начальной задолженности по зарплате и начальной штатной расстановки на выбранную дату | Обороты за прошлые годы (данные для расчета среднего) переносятся свернуто в документ "Перенос данных" | Есть фильтр по организациям | Документы за текущий период переносятся сразу с движениями, поэтому не потребуется делать перерасчеты | Перенос можно проверить перед покупкой, обращайтесь!

53111 47800 руб.

03.12.2020    36568    94    66    

89

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:Бухгалтерия предприятия 3.0 с помощью правил обмена | Можно выполнить переход с УПП на БП 3 или запускать выгрузку данных за выбранный период времени | Переносятся документы, начальные остатки и вся справочная информация | Есть фильтр по организации и множество других параметров выгрузки | Поддерживается несколько сценариев работы: как первичный полный перенос, так и перенос только новых документов | Перенос данных возможен в "1С: Бухгалтерия 3.0" версии ПРОФ, КОРП или базовую | Переход с "1С: УПП1.3" / "1С:КА 1.1" на "1С:БП3.0" с помощью правил конвертации будет максимально комфортным! | Можно бесплатно проверить перенос на вашем сервере!

48278 43450 руб.

25.02.2015    171154    303    257    

378

SALE! 15%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист Платформа 1С v8.3 Платформа 1C v8.2 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Управление производственным предприятием Россия Платные (руб)

Регулярный обмен, выгрузка, перенос из КА 1.1, УПП 1.3, УТ 10.3 для обмена с любыми конфигурациями, поддерживающими обмен в формате EnterpriseData (КД3) - БП 3.0, ERP, КА 2, УТ 11, Розница 2, УНФ 1.6 и другими. Правила для старых и доработанных конфигураций не требуют синхронного обновления и совместимы с новыми и будущими конфигурациями. Обмен по расписанию, через папку, FTP, почту.

15300 13005 руб.

18.02.2016    186854    589    509    

526

Перенос данных 1C Программист Бухгалтер Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет НДФЛ ФОМС, ЕФС Платные (руб)

Обработки для быстрого перехода с конфигураций «КАМИН:Расчет заработной платы 3.0», «КАМИН:Зарплата для бизнеса 4.0» и «КАМИН:Зарплата 5.0» на конфигурацию «Зарплата и управление персоналом» версии 3.1.

12000 руб.

25.09.2016    80629    312    250    

264
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. leosoft 166 18.05.23 10:29 Сейчас в теме
Интересная информация! Только договор менять в проводках таким образом
я бы не стал - при проведении документов идет анализ на предмет поступления
аванса, в зависимости от этого будут разные проводки. Так что потребуется
перепроводить документы, но тогда и состав проводок может поменяться.
2. yukoz 64 18.05.23 11:11 Сейчас в теме
(1) Согласен. Нужно точно понимать, что и зачем ты делаешь.
3. user1740389 23.05.23 11:43 Сейчас в теме
Много лет использую для этих целей универсальный обмен данными с помощью обработки ВыгрузкаЗагрузкаДанныхXML8х из комплекта КД 2.0.
Можно выбрать конкретный документ.
Работает быстро, уверенно, всегда. Если, конечно, метаданные одинаковые.
Плюсом можно выгрузить связанные объекты.
4. yukoz 64 23.05.23 17:23 Сейчас в теме
(3) хорошая тема, когда 1 в 1 нужно перегрузить. В моем случае нужно было по определённым регистрам + подмена договора (в приемнике)
Оставьте свое сообщение