Конвертация реквизитов Проведен и ПометкаУдаления из 8 в 7.7

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

Разработка - Обмен данными 1С - Перенос данных из 1С7.7 в 1C8.X

Конвертация проведен пометкаудаление перенос реквизит данные

6
Все кто сталкивался с переносом данных из 8 в 77 через конвертацию данных, знают что перенести значение реквизитов Проведен и ПометкаУдаления без танцев с бубнами, ни как не получится, При загрузке обработка ругается, что реквизит Проведен или ПометкаУдаления у документа нет. И это правда, вместо этих реквизитов у документов есть аналогичные методы, которые только возвращают значение. Точно такие танцы пришлось выполнить и мне, хотя все оказалось проще...

Предистория

Сначало была семерка, производство, файловый вариант, вся переписанная, куча новых объектов. База росла и у нее стали возникать частые транзакции, из-за которых приходилось перегружать сервер несколько раз на дню. Затем решили перейти на восьмерку, серверный вариант, конфигурация УНФ.  Причина выбора: относительно небольшая конфигурация для добавления новых объектов. Но из-за огромного количество документов и справочников и куча отчетов, решили переходить на восьмерку отделами, т.е. организовать выборочный перенос документов и и справочников туда и обратно.  Создали документ в 7, перенесли в 8, на основании создали в 8 другой документ и его перенесли в 7. И в семерке по этим докуметам пока строить отчеты.


Выполнение 

Использовав конфигурацию Конвертация данных,  версия 2.1.7.1, я стал создавать план обмена для переноса. С конвертацией начал ть впервые, возникали разные трудности, решение которых я с легкостью находил на просторах интернета. и Вот я столкнулся с переносом признака Проведен и ПометкаУдаления из 8 в 7. В конвертации при загрузки структуры семерочной базы, создает эти признаки как реквизиты объекта. И соответсвено из 7 в 8 позволяет переносить эти значения, а обратно нет. Но для начала обратно мне не надо было переносить. Но со временем потребность появилась. Начал все с признака Проведение, перерыл весь интернет и ничего, кроме как создать дополнительный реквизит (например "_Проведен") в семерке и передавать туда значение и при загрузки в семерке проверять, если истина (в семерке это 1), проводить документ. Создал реквизит у документа, написал код проверки после загрузки, все  хорошо ет, документы проводятся.

Потом потребовалось перенести ПометкуУдаления. Создал реквизит, написал код проверки. Переношу помеченные документы, а в семерке они не помечаются. Залезаю в отладчик, код отрабатывает верно, после записи документа, пометка стоит, а потом смотрю в списке документов, он не помечен. Непонятно почему!?. Лезу в отладчик, смотрю какой код выполняется после записи объекта, и вижу что 1с механизм установки этого признака сделала, а доть до рабочего варианта так и не смогла.

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

Напоню, при выгрузки правил из конвертации можно выгрузить и обработчики для семерки, что я постоянно делал. И чтобы не переписывать каждый раз эти обработчики. я решил рабочий код прописать в конвертации. Нашел откуда он берется и заменил его на рабочий вариант.


Доработка обработки загрузки

Код который нужно доть находится в Процедуре ЗагрузитьДокументV8(Объект, Вид, ИмяПравила)

Отрывок кода (Полный код процедуры находится в конце статьи, а полный код обработчиков выгрузки находится в приложенном файле):

Код 1 

//--------- Заполняем реквизиты --------------------------------------------
	
	Реквизиты	=	Объект.ВыбратьУзлы("Свойство");
	Для Сч = 0 По Реквизиты.КоличествоУзлов() - 1 Цикл
		
		Реквизит					=	Реквизиты.ПолучитьУзел(Сч);
		ИдРеквизита					=	Реквизит.ПолучитьАтрибут("Имя");
		НеЗамещатьРеквизит			=	Реквизит.ПолучитьАтрибут("НеЗамещать");
		//РеквизитОперации			=	0;

		ТипОбъектаРеквизита		=	"Документ";
		ВидОбъектаРеквизита		=	Вид;
		
		//Если ПустоеЗначение(РеквизитОперации) = 1 Тогда
		//	ТипОбъектаРеквизита		=	"Документ";
		//	ВидОбъектаРеквизита		=	Вид;
		//Иначе
		//	Если ОбъектБД.СуществуетОперация() = 0 Тогда
		//		ЗаписатьОшибку("У документа вида - " + Вид + " - не существует операции!", "!!");
		//		Продолжить;
		//	КонецЕсли;
		//	ТипОбъектаРеквизита		=	"Операция";
		//	ВидОбъектаРеквизита		=	"";
		//КонецЕсли;
		
		Значение					=	УстановитьРеквизитV8(Реквизит, ТипОбъектаРеквизита, ВидОбъектаРеквизита, ИдРеквизита);
		ТипРеквизита				=	"";
		ПрочитатьИнформациюОТипеРеквизита(ТипОбъектаРеквизита, ВидОбъектаРеквизита, ИдРеквизита, ТипРеквизита);
		
		
		Если Значение = "#НеУстановлен" Тогда
			ЗаписатьОшибку("Не установлен реквизит.  Документ." + Вид + ": " + ОбъектБД + "  Реквизит: " + ИдРеквизита);
			Продолжить;
		КонецЕсли;
		

		
		Если (ПустоеЗначение(ТипРеквизита) = 1) Тогда
			
			ПредставлениеРеквизита		=	ТипОбъектаРеквизита + "." + ВидОбъектаРеквизита + "." + ИдРеквизита;
			ЗаписатьОшибку("Неверное имя реквизита:" + ПредставлениеРеквизита);
			Продолжить;
			
		ИначеЕсли	ТипРеквизита = "Неопределенный" Тогда
 
Здесь, после того как обработка получить имя реквизита (ИдРеквизита), она получает значение и тип реквизита (ТипРеквизита). Т.к у докумета нет такого реквизита, она типу реквизита присваивает пустую строку, и соответсвенно выдает ошибку "Неверное имя реквизита:". При проверке на заполнение типа реквизита добавим условие, чтобы при значении ИдРеквизита равное Проведен и ПометкиУдаления обработка не выдавала ошибку. Заменим в Коде 1
Если (ПустоеЗначение(ТипРеквизита) = 1) Тогда
На 
Если (ПустоеЗначение(ТипРеквизита) = 1) И (ИдРеквизита <> "ПометкаУдаления") И (ИдРеквизита <> "Проведен") Тогда
Теперь ошибку выдавать не будет. Идем дальше...
Код 2
Если СозданНовыйОбъект = 0 Тогда
//Если НеУстанавливатьРеквизит(СпособЗагрузкиПоУмолчанию, СпособЗагрузки, ОбъектБД, ИдРеквизита, Значение, СозданНовыйОбъект) = 1 Тогда Продолжить КонецЕсли;
	Если ПустоеЗначение(НеЗамещатьРеквизит) = 0 Тогда Продолжить КонецЕсли;
	Если НЕ ((ИдРеквизита = "ДатаДок") ИЛИ (ИдРеквизита = "ПометкаУдаления")) Тогда
		Если ОбъектБД.ПолучитьАтрибут(ИдРеквизита) = Значение Тогда Продолжить КонецЕсли;	//	значение не изменилось
	КонецЕсли; 
КонецЕсли;
Дальше получается значение реквизита объекта в базе и если оно равно значению из восьмерки, код дальше не выполняется. А так как у документа нет реквизита Проведен И ПометкаУдаления код
ОбъектБД.ПолучитьАтрибут(ИдРеквизита)
будет вылавать ошибку.
Не помню стояла ли в типовой проверка на пометку удаления или нет, но код 2 надо изменить так:
Если СозданНовыйОбъект = 0 Тогда
//Если НеУстанавливатьРеквизит(СпособЗагрузкиПоУмолчанию, СпособЗагрузки, ОбъектБД, ИдРеквизита, Значение, СозданНовыйОбъект) = 1 Тогда Продолжить КонецЕсли;
	Если ПустоеЗначение(НеЗамещатьРеквизит) = 0 Тогда Продолжить КонецЕсли;
	Если НЕ ((ИдРеквизита = "ДатаДок") ИЛИ (ИдРеквизита = "ПометкаУдаления") ИЛИ (ИдРеквизита = "Проведен")) Тогда //Измененая строка
		Если ОбъектБД.ПолучитьАтрибут(ИдРеквизита) = Значение Тогда Продолжить КонецЕсли;	//	значение не изменилось
	КонецЕсли; 
КонецЕсли;
Добавляем проверку на пометку удаления и проведения.
 
Идем дальше...
Код 3
Если ИдРеквизита = "ПометкаУдаления" Тогда
			
	ПометкаУдаления = Значение;
			
ИначеЕсли	ИдРеквизита = "ДатаДок" Тогда

	ВремяДокумента = "";
	ДатаДокумента  = ДатаИзXML(Реквизит.ВыбратьУзел("Значение").Значение, ВремяДокумента);
		
 
И видим проверку если ИдРеквизита равно ПометкаУдаления, то обработка присваивает реквизиту ПометкаУдаление значение полученое из восьмерки. Но так ка у нас выдавало ошибку, дальнейший код не отрабатывался. Теперь он у нас будет отрабатываться, после того как мы изменили условие в коде 1.
Идем дальше. Смотрим где же у нас встречается реквизит ПометкаУдаления.
Код 4
	ЗаписатьОбъект(ОбъектБД);
	
	Если ПустоеЗначение(ПометкаУдаления) = 1 Тогда
		Если ОбъектБД.ПометкаУдаления() = 1 Тогда	ОбъектБД.СнятьПометкуУдаления();	КонецЕсли;
	Иначе
		Если ОбъектБД.ПометкаУдаления() = 0 Тогда	ОбъектБД.Удалить(0);				КонецЕсли;
	КонецЕсли;	                                  
	
КонецПроцедуры		//	ЗагрузитьДокументV8()
А он встречается в конце процедуры после записи объекта. Помните почему у меня в списке документ оказывался без пометки, потому-что отрабатывался данный код, т.к. реквизит ПометкаУдаления был пустым, то выполнялся код снятии пометки удаления
Если ПустоеЗначение(ПометкаУдаления) = 1 Тогда
		Если ОбъектБД.ПометкаУдаления() = 1 Тогда	ОбъектБД.СнятьПометкуУдаления();	КонецЕсли;
Чтобы исправить это меняем код 4 на 
 
Если ПустоеЗначение(ПометкаУдаления) = 0 Тогда 
	Если ПометкаУдаления = 0 Тогда
		Если ОбъектБД.ПометкаУдаления() = 1 Тогда	ОбъектБД.СнятьПометкуУдаления();	КонецЕсли;
	ИначеЕсли ПометкаУдаления = 1 Тогда
		Если ОбъектБД.ПометкаУдаления() = 0 Тогда	ОбъектБД.Удалить(0);		КонецЕсли;  
	КонецЕсли
КонецЕсли;
 
Теперь у нас пометка удаления ет как надо.
Но чтоже делать с проведение?
Добавим в код 3 условие
 
ИначеЕсли ИдРеквизита = "Проведен " Тогда //bdv
			
	Проведен = Значение;
 Реквизиту Проведен присвоим значение из восьмерки. Теперь код 3 выглядит так:
Если ИдРеквизита = "ПометкаУдаления" Тогда
			
	ПометкаУдаления = Значение;
// Добавленый код
ИначеЕсли ИдРеквизита = "Проведен" Тогда 			
	Проведен = Значение;
// Добавленый код
ИначеЕсли	ИдРеквизита = "ДатаДок" Тогда

	ВремяДокумента = "";
	ДатаДокумента  = ДатаИзXML(Реквизит.ВыбратьУзел("Значение").Значение, ВремяДокумента);
 А в код 4 добавим условие проведение документа или же его распроведения
Если ПустоеЗначение(Проведен) = 0 Тогда
		Если Проведен = 1 Тогда 
			ОбъектБД.Провести();
		ИначеЕсли Проведен = 0 Тогда  
			Если ОбъектБД.Проведен() = 1 Тогда	ОбъектБД.СделатьНеПроведенным();	КонецЕсли;  
		КонецЕсли;
КонецЕсли;
	
  Теперь код 4 выглядит так:
        ЗаписатьОбъект(ОбъектБД);
	// Добавленый код
        Если ПустоеЗначение(Проведен) = 0 Тогда
		Если Проведен = 1 Тогда 
			ОбъектБД.Провести();				
		ИначеЕсли Проведен = 0 Тогда  
			Если ОбъектБД.Проведен() = 1 Тогда	ОбъектБД.СделатьНеПроведенным();	КонецЕсли;  
		КонецЕсли;
	КонецЕсли;
	
	Если ПустоеЗначение(ПометкаУдаления) = 0 Тогда 
		Если ПометкаУдаления = 0 Тогда
			Если ОбъектБД.ПометкаУдаления() = 1 Тогда	ОбъектБД.СнятьПометкуУдаления();	КонецЕсли;
		ИначеЕсли ПометкаУдаления = 1 Тогда
			Если ОбъектБД.ПометкаУдаления() = 0 Тогда	ОбъектБД.Удалить(0);				КонецЕсли;  
		КонецЕсли
	КонецЕсли;
 
	
КонецПроцедуры		//	ЗагрузитьДокументV8()
 
Этот код находится в в Обработке ВыгрузкаКонвертации, макет ПроцедурыИФункцииМодуляЗагрузки
Меняем его там, обновляем конфигурацию и теперь не паримся с проведение и пометкой удаления.
Более простого способа переноса этих признаков я не нашел. Кому нравится пользуйтесь на здоровье, кому не нравится предлагайте свои варианты решения. 
 
 Полный код процедуры ЗагрузитьДокументV8 с доработкой:
Процедура ЗагрузитьДокументV8(Объект, Вид, ИмяПравила)
	          
	Перем	ОбъектМД;
 	
	СозданНовыйОбъект	=	0;
	НовыеНеСоздавать	=	0;
	НеЗамещатьНайденные =	0;

	УзелСсылки = Объект.ВыбратьУзел("Ссылка");


	Если ПустоеЗначение(УзелСсылки) = 0 Тогда
		ТекущийОбъект = УстановитьДокументПоСсылкеV8(УзелСсылки, Вид, СозданНовыйОбъект, НовыеНеСоздавать, ОбъектМД, Объект);
		
		
		Если ТекущийОбъект = "Ошибка" Тогда Возврат КонецЕсли;
		                                           
		ОбъектБД	=	СоздатьОбъект("Документ." + Вид);    
		
		Если ПустоеЗначение(ТекущийОбъект) = 0 Тогда

			НеЗамещатьНайденные = Объект.ПолучитьАтрибут("НеЗамещать");
			
			Если СозданНовыйОбъект = 0 Тогда
				Если ПустоеЗначение(НеЗамещатьНайденные) = 0 Тогда
					Если ТекущийОбъект.ПометкаУдаления() = 0 Тогда	//	этот объект не создан по ссылке из реквизитов других объектов
						Возврат;	//	найденные не замещаем
					КонецЕсли;
				КонецЕсли;
			КонецЕсли;
			
			СтатусПроведения	=	гТабКэшПараметровЗагрузки.СтатусПроведения;
			ОтменитьПроведение	=	Число(Объект.ПолучитьАтрибут("ОтменитьПроведение"));
			
			ОбъектБД.НайтиДокумент(ТекущийОбъект);

		КонецЕсли;
			
	Иначе				//	Ссылки нет
		
		//Если ПустоеЗначение(НовыеНеСоздавать) = 0 Тогда Возврат КонецЕсли;	//	новые не создаем
		ОбъектБД = СоздатьОбъект("Документ." + Вид);    
		
		ОбъектМД = Метаданные.Документ(Вид);
		
		ОбъектБД.Новый();
		СозданНовыйОбъект	=	1;
		
		Если ОбъектМД.БухгалтерскийУчет = 1 Тогда
			Если ОбъектМД.СоздаватьОперацию <> "ТолькоПриПроведении" Тогда
				ОбъектБД.СуществуетОперация(1);
			КонецЕсли;
		КонецЕсли;

		ЗначениеНомераДокумента = "";
		УзелНомераДокумента		= Объект.ВыбратьУзел("Свойство[@Имя=""НомерДок""]");
		Если ПустоеЗначение(УзелНомераДокумента) = 0 Тогда
			//ЗначениеНомераДокумента		=	УзелНомераДокумента.ПолучитьАтрибут("Значение");
			ЗначениеНомераДокумента = УстановитьРеквизитV8(УзелНомераДокумента, "Документ", Вид, "НомерДок");
		КонецЕсли;
		Если ПустоеЗначение(ЗначениеНомераДокумента) = 0 Тогда
			ОбъектБД.НомерДок			=	ЗначениеНомераДокумента;
		Иначе
			ЗначениеДатыДокумента		=	"";
			УзелДатыДокумента			=	Объект.ВыбратьУзел("Свойство[@Имя=""ДатаДок""]");
			Если ПустоеЗначение(УзелДатыДокумента) = 0 Тогда
				//ЗначениеДатыДокумента	=	Дата(УзелДатыДокумента.ПолучитьАтрибут("Значение"));
				ЗначениеДатыДокумента	=	УстановитьРеквизитV8(УзелДатыДокумента, "Документ", Вид, "ДатаДок");
			КонецЕсли;
			Если ПустоеЗначение(ЗначениеДатыДокумента) = 1 Тогда ЗначениеДатыДокумента = ФормДатаКон КонецЕсли;
			ОбъектБД.ДатаДок			=	ЗначениеДатыДокумента;
			ОбъектБД.УстановитьНовыйНомер();
		КонецЕсли;
		
	КонецЕсли;
	
	// Локальный обработчик "ПриЗагрузке"
	НомерСтроки = 0;
	Если ТаблицаПравилКонвертации.НайтиЗначение(ИмяПравила, НомерСтроки, "Код") = 1 Тогда
		ТаблицаПравилКонвертации.ПолучитьСтрокуПоНомеру(НомерСтроки);
		Если ТаблицаПравилКонвертации.ЕстьОбработчикПриЗагрузке = 1 Тогда
			Отказ = Шаблон("[ПКО_ПриЗагрузке_" + ИмяПравила + "(ОбъектБД, ИмяПравила, Объект)]");
			Если (ТипЗначенияСтр(Отказ) = "Строка") И (Отказ <> "0") Тогда
				Сообщить("Функция не обнаружена (" + Отказ + ")");
				Протокол.ДобавитьСтроку("     Функция не обнаружена (" + Отказ + ")");
			КонецЕсли;
			Если Число(Отказ) = 1 Тогда
				Возврат;
			КонецЕсли;
		КонецЕсли;
	КонецЕсли;                          
	
	ЕстьКонтроль				=	ОбъектМД.КонтрольУникальности;
	Уникальность				=	ОбъектМД.ПериодичностьНомера;
	АвтоНумерация				=	ОбъектМД.АвтоНумерация - 1;
	                    

	СпособЗагрузкиПоУмолчанию	=	"ЗамещатьНеПустыми";
	НеУдалятьСтроки				=	0;
	СтатусУдаления				=	"Авто";
	ПометкаУдаления				=	0;
	
	
                                             
	//--------- Заполняем реквизиты --------------------------------------------
	
	Реквизиты	=	Объект.ВыбратьУзлы("Свойство");
	Для Сч = 0 По Реквизиты.КоличествоУзлов() - 1 Цикл
		
		Реквизит					=	Реквизиты.ПолучитьУзел(Сч);
		ИдРеквизита					=	Реквизит.ПолучитьАтрибут("Имя");
		НеЗамещатьРеквизит			=	Реквизит.ПолучитьАтрибут("НеЗамещать");
		//РеквизитОперации			=	0;

		ТипОбъектаРеквизита		=	"Документ";
		ВидОбъектаРеквизита		=	Вид;
		
		//Если ПустоеЗначение(РеквизитОперации) = 1 Тогда
		//	ТипОбъектаРеквизита		=	"Документ";
		//	ВидОбъектаРеквизита		=	Вид;
		//Иначе
		//	Если ОбъектБД.СуществуетОперация() = 0 Тогда
		//		ЗаписатьОшибку("У документа вида - " + Вид + " - не существует операции!", "!!");
		//		Продолжить;
		//	КонецЕсли;
		//	ТипОбъектаРеквизита		=	"Операция";
		//	ВидОбъектаРеквизита		=	"";
		//КонецЕсли;
		
		Значение					=	УстановитьРеквизитV8(Реквизит, ТипОбъектаРеквизита, ВидОбъектаРеквизита, ИдРеквизита);
		ТипРеквизита				=	"";
		ПрочитатьИнформациюОТипеРеквизита(ТипОбъектаРеквизита, ВидОбъектаРеквизита, ИдРеквизита, ТипРеквизита);
		
		
		Если Значение = "#НеУстановлен" Тогда
			ЗаписатьОшибку("Не установлен реквизит.  Документ." + Вид + ": " + ОбъектБД + "  Реквизит: " + ИдРеквизита);
			Продолжить;
		КонецЕсли;
		

		
		Если (ПустоеЗначение(ТипРеквизита) = 1) И (ИдРеквизита <> "ПометкаУдаления") И (ИдРеквизита <> "Проведен") Тогда
			
			ПредставлениеРеквизита		=	ТипОбъектаРеквизита + "." + ВидОбъектаРеквизита + "." + ИдРеквизита;
			ЗаписатьОшибку("Неверное имя реквизита:" + ПредставлениеРеквизита);
			Продолжить;
			
		ИначеЕсли	ТипРеквизита = "Неопределенный" Тогда
			
			//ТипЗнач			=	Реквизит.ПолучитьАтрибут("ТипЗначения");
			//ВидЗнач			=	Реквизит.ПолучитьАтрибут("ВидЗначения");
			//Точность		=	0;
			//Если ТипЗнач = "Число" Тогда
			//	СтрТочность	=	Значение;
			//	Точность	=	СтрДлина(	ОтделитьРазделителем(СтрТочность, ".")	);
			//КонецЕсли;
			//Если	ПустоеЗначение(РеквизитОперации) = 1	Тогда
			//	ОбъектБД.НазначитьТип(ИдРеквизита, ТипЗнач + ?(ПустоеЗначение(ВидЗнач)=1, "", "." + ВидЗнач), СтрДлина(Значение) + 10, Точность);
			//Иначе
			//	ОбъектБД.Операция.НазначитьТип(ИдРеквизита, ТипЗнач + ?(ПустоеЗначение(ВидЗнач)=1, "", "." + ВидЗнач), СтрДлина(Значение) + 10, Точность);
			//КонецЕсли;
			
			ТипЗнач  = ОпределитьСтроковыйТип(Реквизит.ПолучитьАтрибут("Тип"));
			Точность = 0;
			Если ТипЗнач = "Число" Тогда
				СтрТочность	=	Значение;
				Точность	=	СтрДлина(	ОтделитьРазделителем(СтрТочность, ".")	);
			КонецЕсли;
			ОбъектБД.НазначитьТип(ИдРеквизита, ТипЗнач, СтрДлина(Значение) + 10, Точность);
			
		КонецЕсли;


		
		Если СозданНовыйОбъект = 0 Тогда
			//Если НеУстанавливатьРеквизит(СпособЗагрузкиПоУмолчанию, СпособЗагрузки, ОбъектБД, ИдРеквизита, Значение, СозданНовыйОбъект) = 1 Тогда Продолжить КонецЕсли;
			Если ПустоеЗначение(НеЗамещатьРеквизит) = 0 Тогда Продолжить КонецЕсли;
			Если НЕ ((ИдРеквизита = "ДатаДок") ИЛИ (ИдРеквизита = "ПометкаУдаления") ИЛИ (ИдРеквизита = "Проведен")) Тогда   //bdv
				Если ОбъектБД.ПолучитьАтрибут(ИдРеквизита) = Значение Тогда Продолжить КонецЕсли;	//	значение не изменилось
			КонецЕсли; 
		КонецЕсли;

		
		Если ИдРеквизита = "ПометкаУдаления" Тогда
			
			ПометкаУдаления = Значение;
			
		ИначеЕсли ИдРеквизита = "Проведен" Тогда
			
			Проведен = Значение;
			
		ИначеЕсли		ИдРеквизита = "ДатаДок" Тогда

			ВремяДокумента = "";
			ДатаДокумента  = ДатаИзXML(Реквизит.ВыбратьУзел("Значение").Значение, ВремяДокумента);
			

			Если ОбъектБД.Проведен() = 1 Тогда
				Если (ДатаДокумента <> ОбъектБД.ДатаДок) Или (ОбъектБД.ПолучитьВремя() <> ВремяДокумента) Тогда
					ЗаписатьОшибку("Изменены дата или время проведенного документа - " + ОбъектБД + "!
									|Проведение документа отменено.", "!");
					ОбъектБД.СделатьНеПроведенным();
				Иначе
					Продолжить;
				КонецЕсли; 
			КонецЕсли;
			
			
			//Если СозданНовыйОбъект = 0 Тогда	//	Найден
			//	Если ОбъектБД.ПолучитьВремя() = Значение Тогда Продолжить КонецЕсли;	//	значение не изменилось
			//	Если ОбъектБД.Проведен() = 1 Тогда
			//		ЗаписатьОшибку("Изменено время проведенного документа - " + ОбъектБД + "!
			//						|Проведение документа отменено.", "!");
			//		ОбъектБД.СделатьНеПроведенным();
			//	КонецЕсли;
			//КонецЕсли;

			ОбъектБД.ДатаДок = ДатаДокумента;
			ОбъектБД.АвтоВремяОтключить();
		    ОбъектБД.УстановитьВремя(Число(Сред(ВремяДокумента, 1, 2)), Число(Сред(ВремяДокумента, 4, 2)), Число(Сред(ВремяДокумента, 7, 2)));
		
		//ИначеЕсли	ПустоеЗначение(РеквизитОперации) = 1	Тогда
		Иначе
			
			ОбъектБД.УстановитьАтрибут(ИдРеквизита, Значение);
			
		//Иначе
		//			  
		//	Если СозданНовыйОбъект = 0 Тогда	//	Найден
		//		Если ОбъектБД.Операция.ПолучитьАтрибут(ИдРеквизита) = Значение Тогда Продолжить КонецЕсли;	//	значение не изменилось
		//	КонецЕсли;
		//	
		//	ОбъектБД.Операция.УстановитьАтрибут(ИдРеквизита, Значение);
			
		КонецЕсли;
		
	КонецЦикла;


	
	//--------- ТабличнаяЧасть ----------------------------------------------------------

	
	ТЧ = Объект.ВыбратьУзел("ТабличнаяЧасть");

	Если ПустоеЗначение(ТЧ) = 0 Тогда
	
		НеЗамещатьТЧ    = ТЧ.ПолучитьАтрибут("НеЗамещать");

		Строки			=	ТЧ.ВыбратьУзлы("Запись");
		КоличествоСтрок	=	Строки.КоличествоУзлов();
		
		Если ПустоеЗначение(НеЗамещатьТЧ) = 1 Тогда
			Если ПустоеЗначение(КоличествоСтрок) = 0 Тогда ОбъектБД.УдалитьСтроки() КонецЕсли;
		КонецЕсли;
		
		Для СчСтрок = 0 По КоличествоСтрок - 1 Цикл
			СтрокаДокумента	=	Строки.ПолучитьУзел(СчСтрок);

			Реквизиты		=	СтрокаДокумента.ВыбратьУзлы("Свойство");
			КолвоРеквизитов	=	Реквизиты.КоличествоУзлов();
			               
			Если ПустоеЗначение(КолвоРеквизитов) = 0 Тогда
				ОбъектБД.НоваяСтрока();
			Иначе
				Продолжить;
			КонецЕсли;

			
			Для Сч = 0 По КолвоРеквизитов - 1 Цикл
				Реквизит					=	Реквизиты.ПолучитьУзел(Сч);
				ИдРеквизита					=	Реквизит.ПолучитьАтрибут("Имя");
				Значение					=	УстановитьРеквизитV8(Реквизит, "Документ", Вид, ИдРеквизита);
				
				Если Значение = "#НеУстановлен" Тогда
					ЗаписатьОшибку("Не установлен реквизит.  Документ." + Вид + ": " + ОбъектБД + "  Реквизит: " + ИдРеквизита);
					Продолжить;
				КонецЕсли;

				
				ТипРеквизита				=	"";
				ПрочитатьИнформациюОТипеРеквизита("Документ", Вид, ИдРеквизита, ТипРеквизита);
				Если 		ПустоеЗначение(ТипРеквизита) = 1 Тогда
					ПредставлениеРеквизита		=	"Документ." + Вид + "." + ИдРеквизита;
					ЗаписатьОшибку("Неверное имя реквизита:" + ПредставлениеРеквизита);
					Продолжить;
				ИначеЕсли	ТипРеквизита = "Неопределенный" Тогда
					//ТипЗнач			=	Реквизит.ПолучитьАтрибут("ТипЗначения");
					//ВидЗнач			=	Реквизит.ПолучитьАтрибут("ВидЗначения");
					//Точность		=	0;
					//Если ТипЗнач = "Число" Тогда
					//	СтрТочность	=	Значение;
					//	Точность	=	СтрДлина(	ОтделитьРазделителем(СтрТочность, ".")	);
					//КонецЕсли;
					//ОбъектБД.НазначитьТип(ИдРеквизита, ТипЗнач + ?(ПустоеЗначение(ВидЗнач)=1, "", "." + ВидЗнач), СтрДлина(Значение) + 10, Точность);
					ТипЗнач  = ОпределитьСтроковыйТип(Реквизит.ПолучитьАтрибут("Тип"));
					Точность = 0;
					Если ТипЗнач = "Число" Тогда
						СтрТочность	=	Значение;
						Точность	=	СтрДлина(	ОтделитьРазделителем(СтрТочность, ".")	);
					КонецЕсли;
					ОбъектБД.НазначитьТип(ИдРеквизита, ТипЗнач, СтрДлина(Значение) + 10, Точность);
				КонецЕсли;
				ОбъектБД.УстановитьАтрибут(ИдРеквизита, Значение);
			КонецЦикла;
			
		КонецЦикла;

	КонецЕсли; // загрузка табл. части
	
	//--------------------------------------------------------------------------
	
	Если ПроверкаУникальностиДокумента(ОбъектБД, ЕстьКонтроль, Уникальность, АвтоНумерация) = 0 Тогда Возврат КонецЕсли;
	                         
	// Глобальный обработчик "ПослеЗагрузкиОбъекта"
	Если мКонвертацияПослеЗагрузкиОбъекта = 1 Тогда
		Отказ = Шаблон("[Конвертация_ПослеЗагрузкиОбъекта(ОбъектБД, ИмяПравила)]");
		Если Число(Отказ) = 1 Тогда
			Возврат;
		КонецЕсли;
	КонецЕсли;
                                
	// Локальный обработчик "ПослеЗагрузки"
	НомерСтроки = 0;
	Если ТаблицаПравилКонвертации.НайтиЗначение(ИмяПравила, НомерСтроки, "Код") = 1 Тогда
		ТаблицаПравилКонвертации.ПолучитьСтрокуПоНомеру(НомерСтроки);
		Если ТаблицаПравилКонвертации.ЕстьОбработчикПослеЗагрузки = 1 Тогда
			Отказ = Шаблон("[ПКО_ПослеЗагрузки_" + ИмяПравила + "(ОбъектБД, ИмяПравила, Объект)]"); 
			Если (ТипЗначенияСтр(Отказ) = "Строка") И (Отказ <> "0") Тогда
				Сообщить("Функция не обнаружена (" + Отказ + ")");
				Протокол.ДобавитьСтроку("     Функция не обнаружена (" + Отказ + ")");
			КонецЕсли;
			Если Число(Отказ) = 1 Тогда
				Возврат;
			КонецЕсли;
		КонецЕсли;
	КонецЕсли;                          

	ЗаписатьОбъект(ОбъектБД);
        Если ПустоеЗначение(Проведен) = 0 Тогда
		Если Проведен = 1 Тогда 
			ОбъектБД.Провести();
		ИначеЕсли Проведен = 0 Тогда  
			Если ОбъектБД.Проведен() = 1 Тогда	ОбъектБД.СделатьНеПроведенным();	КонецЕсли;  
		КонецЕсли;
	КонецЕсли;
	
	Если ПустоеЗначение(ПометкаУдаления) = 0 Тогда 
		Если ПометкаУдаления = 0 Тогда
			Если ОбъектБД.ПометкаУдаления() = 1 Тогда	ОбъектБД.СнятьПометкуУдаления();	КонецЕсли;
		ИначеЕсли ПометкаУдаления = 1 Тогда
			Если ОбъектБД.ПометкаУдаления() = 0 Тогда	ОбъектБД.Удалить(0);				КонецЕсли;  
		КонецЕсли
	КонецЕсли;
 	                                  
	
КонецПроцедуры		//	ЗагрузитьДокументV8()
 
6

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

Наименование Файл Версия Размер
Полный текст обработчиков
.txt 188,54Kb
03.03.14
7
.txt 188,54Kb 7 Скачать

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

Комментарии
Избранное Подписка Сортировка: Древо
1. bashinsky 125 12.12.13 17:55 Сейчас в теме
Эта статья рассчитана на тех, кто уже немного знаком с конфигурацией Конвертация данных. Если у кого-нибудь есть другое решение расскажите.
4. aves 203 18.12.13 10:52 Сейчас в теме
(1) - Общий реквизит = -1=Удален\0=норм\1=проведен
После загрузки документа - добавляем его в массив для обработки.
После обработки конвертации - обработка всех документов массива
2 года on-line - полет нормальный
5. bashinsky 125 18.12.13 12:47 Сейчас в теме
(4) aves, Общий реквизит - это в документе? Если да, то его нужно добавлять в каждый документ.
6. aves 203 18.12.13 14:46 Сейчас в теме
(5) в 77 есть общие реквизиты документов :-)
10. M_Volkov 2 09.02.19 02:19 Сейчас в теме
2. nick_krsk 16 13.12.13 05:03 Сейчас в теме
А что если производить установку пометки удаления в обработчике "После загрузки"?
3. bashinsky 125 13.12.13 09:24 Сейчас в теме
обработка будет ругается, Неверное имя реквизита: ПометкаУдаления. Потому-что сначала идет проверка на ТипРеквизита, а так как это не реквизит, обработка возвращает пустое значение и пропускает код ниже. После проверки выполнятся обработчик "После загрузки".
8. gep 18 13.02.15 20:37 Сейчас в теме
Здравствуйте!
Во-первых, спасибо за ценную информацию - очень помогло.
Во-вторых, хочу добавить небольшую поправку:
Если документ проведен в базе-приемнике, а в базе-источнике снято проведение, то при обмене не произойдет отмена проведения в приемнике (во всяком случае при обмене м/у 7.7->7.7), т.к. в строках:
    Если ПустоеЗначение(Проведен) = 0 Тогда
        Если Проведен = 1 Тогда 
            ОбъектБД.Провести();
        ИначеЕсли Проведен = 0 Тогда  
            Если ОбъектБД.Проведен() = 1 Тогда    ОбъектБД.СделатьНеПроведенным();    КонецЕсли;  
        КонецЕсли;
    КонецЕсли;

Пустое значение и 0 в 7.7 - одно и тоже (а булево из 8-ки конвертируется в 0/1)
Следовательно если документ не проведен в источнике, и проведен в приемнике - ничего не произойдет, т.к. выражение ПустоеЗначение(Проведен) вернет 1, хотя Проведен не пуст, а равен 0. (7.7 такая 7.7)
Доработка проста. В строках:
ИначеЕсли ИдРеквизита = "Проведен" Тогда             
    Проведен = Значение;

меняем на
ИначеЕсли ИдРеквизита = "Проведен" Тогда             
    Проведен = Значение + 1;

И соответственно:
    Если ПустоеЗначение(Проведен) = 0 Тогда
        Если Проведен = 2 Тогда 
            ОбъектБД.Провести();
        ИначеЕсли Проведен = 1 Тогда  
            Если ОбъектБД.Проведен() = 1 Тогда    ОбъектБД.СделатьНеПроведенным();    КонецЕсли;  
        КонецЕсли;
    КонецЕсли;
9. bashinsky 125 16.02.15 11:56 Сейчас в теме
(8) gep, Спасибо, что нашли ошибку. У себя я ее давно исправил, но сюда внести изменения не было времени.
11. compaud 27.02.19 16:02 Сейчас в теме
На строчке
ОбъектБД.УстановитьВремя(Число(Сред(ВремяДокумента, 1, 2)), Число(Сред(ВремяДокумента, 4, 2)), Число(Сред(ВремяДокумента, 7, 2)));

Возникает ошибка

{путьдообработки(2879)}: Не выбран документ!
Оставьте свое сообщение

См. также

Загрузка адресов произвольного формата (КЛАДР и нестандартных "грязных" адресов) в ФИАС современных конфигураций из 1С 7.7 6

Инструменты и обработки Программист Пользователь Внешняя обработка (ert,epf) v7.7 v8 1cv8.cf 1cv7.md ERP2 Абонемент ($m) Обработка справочников Перенос данных из 1С7.7 в 1C8.X Загрузка и выгрузка в Excel

Описание технологии загрузки любых адресов из 1С 7.7 с разложением по ФИАС в современные конфигурации 1C 8.3 на примере ERP. Предлагаемый способ просто чудо, он гарантирует результат, он очень простой и качественный! Моя обработка является синтаксическим анализатором, который подставляет в строку грязного адреса выражение "Дом №" и "Корпус", благодаря чему грязные адреса 7.7 сами очень хорошо раскладываются по значимым полям ФИАС - заполняется область, город, улица, дом, корпус.. все раскладывается само с помощью встроенного механизма современных конфигураций 1С 8.3, который написали сами сотрудники фирмы 1С!

1 стартмани

16.08.2019    1614    ksnik    12       

Перенос данных 7.7 - 8.3. УТ 11 6

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Россия Абонемент ($m) Перенос данных из 1С7.7 в 1C8.X

OLE Перенос данных 7.7 - 8.3 УТ 11. Для тех, кому нужен простой шаблон обработки для переноса данных.

10 стартмани

08.04.2019    1848    7    korsar2001    2       

Перенос остатков и документов (обмен) из Комплексной конфигурации 7.7, редакция 4.5, в конфигурацию Управление предприятием ERP 2.0 (Комплексная автоматизация 2.0) 9

Инструменты и обработки Программист Архив с данными v7.7 v8 1С7:Комплекс ERP2 КА2 Абонемент ($m) Перенос данных из 1С7.7 в 1C8.X Обмен через XML

Разработка позволяет перенести остатки по всем счетам бух. учета из "1С:Комплексная конфигурация, редакция 4.5 (7.7)" в программу "1С:Управление предприятием ERP 2.0", на выбранную дату начала ведения учета. Также переносятся документы за период и вся необходимая справочная информация. Конфигурация "1С:Управление предприятием ERP 2.0" является полностью типовой.

5 стартмани

11.01.2019    3888    12    sulig    2       

Обмен проводками 1с 7.7 -> 1с 8.3 6

Инструменты и обработки Системный администратор Программист Архив с данными v8 v77::БУ v8::БУ 1С7:Бух БП3.0 Россия БУ Абонемент ($m) Перенос данных из 1С7.7 в 1C8.X

Удобный способ перенести ВСЕ проводки с 1С 7.7 в 1С 8.3 без потери какой либо копейки, не прибегая к штатному обмену.

1 стартмани

25.08.2018    5600    13    maksa2005    9       

Выгрузка из ЗУП 3.1 в Бух 7.7 (4.5) 6

Инструменты и обработки Системный администратор Бухгалтер Архив с данными v7.7 v8 1С7:Бух ЗУП3.x Россия БУ Зарплата Абонемент ($m) Обмен через XML Перенос данных из 1С7.7 в 1C8.X

Комплект обработок для выгрузки данных по зарплате за месяц из конфигурации ЗУП 3.1 (8.3) в конфигурацию Бухгалтерия 4.5 (7.7) через внешний файл xml.

3 стартмани

27.07.2018    9179    72    ааю    20       

Создание в 1С 7.7 XML в формате EnterpriseData (универсальный формат обмена), версия 1.5. Инструкции и примеры переноса данных из устаревшей конфигурации 1С 7.7 в любую современную 1С 8.3, поддерживающую EnterpriseData, через Конвертацию данных 3 31

Инструменты и обработки Программист Внешняя обработка (ert,epf) v7.7 v8 1cv7.md Россия Абонемент ($m) Перенос данных из 1С7.7 в 1C8.X Обмен через XML

Воспользоваться современным средством переноса данных "Конвертация данных 3.0.5.3" можно только выгрузив из системы - источника данных XML в формате обмена данными EnterpriseData. В этой публикации можно скачать приемы выгрузки из 1С 7.7 универсального формата обмена для Конвертации данных 3. Выполняем перенос данных из «1С:Предприятие 7.7» в «1С:Предприятие 8.3». Используем Конвертацию данных КД 3.0 из 1c 7.7 --> 1С 8.3. На первой стадии еще не опубликовано иного способа подложить файл для Конвертации данных 3 кроме как сформировать его вручную, постараемся решить данную проблему.

1 стартмани

26.02.2018    27198    45    ksnik    3       

1С:Конвертация данных 2.0. Анализ состава выгруженных данных из базы источника до загрузки в базу-приемник 30

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 КД БП3.0 ЗУП3.x Россия Windows Абонемент ($m) Перенос данных из 1C8 в 1C8 Перенос данных из 1С7.7 в 1C8.X

Обработка анализирует файл выгрузки данных конвертации и формирует дерево выгруженных объектов по категориям с возможностью просмотра выгруженных реквизитов (свойств). Идеально подходит для анализа выгруженных данных при переходе на ЗУП 3.1 или Бухгалтерия 3.0 с ранних версий.

1 стартмани

16.11.2017    11003    77    leosoft    4       

Исправление среднего заработка для отпусков после переноса данных в конфигурацию ЗКГУ 3.0 12

Статья Системный администратор Программист Бухгалтер Архив с данными v8 1С7:ЗиК ЗКГУ3.0 БУ Зарплата Учет рабочего времени Абонемент ($m) Перенос данных из 1С7.7 в 1C8.X Перенос данных из 1C8 в 1C8

Речь пойдет о том, как после перехода на конфигурацию 1С: Зарплата и кадры государственного учреждения, редакции 3.1 изменить данные о среднем заработке и коэффициенте отработанных дней для расчета отпусков без привлечения помощи программиста.

6 стартмани

08.08.2017    23949    6    RadistkaAn    4       

Конвертация данных 7.7 - 8.3 7

Инструменты и обработки Программист Документ XML v8 Абонемент ($m) Перенос данных из 1С7.7 в 1C8.X

Правила конвертации данных при переходе с конфигураций 7.7 на 8.3

1 стартмани

29.11.2016    26178    65    G.P.    10       

Правила выгрузки из Торговля и Склад 9.2 в Управление Торговлей 11.2 6

Инструменты и обработки Программист Документ XML v8 УТ10 1С7:ТиС Россия УУ Windows Оптовая торговля Розничная торговля Абонемент ($m) Перенос данных из 1С7.7 в 1C8.X

Правила выгрузки из Торговля и Склад 9.2 в Управление Торговлей 11.2. Выгрузка справочников, остатков, документов за период.

5 стартмани

11.02.2016    13711    36    vowg    6       

Набор правил конвертации 16

Инструменты и обработки Системный администратор Программист Архив с данными v7.7 v8 БП2.0 УТ10 УПП1 1С7:ТиС Windows Абонемент ($m) Перенос данных из 1С7.7 в 1C8.X Перенос данных из 1C8 в 1C8

Набор правил обмена между различными конфигурациями ТиС 9.2-УТ11.1 ТиС 9.2-УПП1.3 УТ11.1-УТ11.2 УТ10.3-УТ1.11 УПП1.3-УТ11.2 УТ10.3-БП2.0 УТ10.3-УТ11.2 УТ11.1-БП 3.0 проверены на реальных переходах, работают.

1 стартмани

14.01.2016    25992    216    filipp    23       

Просмотр данных 1С 7.7 из 1С 8.3 9

Инструменты и обработки Системный администратор Программист Пользователь Конфигурация (md, cf) v8 1С7:ТиС Россия Абонемент ($m) Перенос данных из 1С7.7 в 1C8.X

Иногда есть необходимость открыть старую базу 1С 7.7, но у нас есть только установленная платформа 1С 8.3. Поэтому мной была написана конфигурация, которая позволяет просматривать данные 1С версии 7.7

1 стартмани

11.11.2015    11218    15    AlkB    10       

Синхронизация данных программ "1С:Бухгалтерия 7.7" и "1С:Бухгалтерия 8" 8

Инструменты и обработки Системный администратор Бухгалтер Внешний отчет (ert,erf) v8 БП2.0 1С7:Бух Россия БУ НУ Windows Абонемент ($m) Перенос данных из 1С7.7 в 1C8.X Обработка документов Обмен через XML

Не получается перенести данные из программы 1С Бухгалтерия 7.7 в программу 1С Бухгалтерия 8? Возможно, проблема в режиме синхронизации? При переносе данных возможны различные варианты работы. Мы сосредоточим внимание в данной статье на особенностях режима синхронизации.

5 стартмани

06.11.2015    33801    55    bb1962    1       

Перенос справочников и документов из 1С 7.7 "Торговля и склад 9.2" в 1С 8.2 "Бухгалтерия предприятия 2.0". 2

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 БП2.0 1С7:ТиС Россия Windows Абонемент ($m) Перенос данных из 1С7.7 в 1C8.X Обмен через XML

Немного доработанные типовые правила обмена для конфигураций из ТиС 9.2. в БП 2.0 - «ПОД_Перенос_Справочников_ТиС_БП20.xml» и «ОбработкаВыгрузкиСправочников.ert». Добавлены правила выгрузки справочников: Организации, контрагенты и номенклатура. Доработал типовые ПОД для переноса только контрагентов и номенклатуры без документов в новую базу бухгалтерии 2.0, протестировал на типовых конфигурациях ТиС 9.2 рел.984 и БП 2.0.64.23.

1 стартмани

05.06.2015    44208    121    Kuzya_brаtsk    3       

Конвертация Данных 2: «Не создавать новый объект в приемнике, если он НЕ найден» для 7.7 7

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 КД Windows Абонемент ($m) Перенос данных из 1С7.7 в 1C8.X

Не секрет, что конвертация данных 2.0 не универсальна при переносах из 1С 8.x в 1С 7.7. Постараемся устранить один недочет для галочки в ПКО: "Не создавать новый объект в приемнике, если он НЕ найден". Читать далее.

1 стартмани

13.05.2015    17477    20    Xershi    29       

Обработка "Выгрузка конвертации" для КД 2.1.8.2 + GCOMP + исправлена ошибка отсутствия отбора по периоду в ПВД документов со способом выборки "Стандартная обработка" 6

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 КД Абонемент ($m) Перенос данных из 1С7.7 в 1C8.X 1С7.7<->1C7.7 Адаптация типовых решений

В типовой конфигурации "Конвертация данных" 2.1.8.2 при работе с ИБ на платформе 7.7 существует множество недочетов. Один из самых важных - в типовой обработке выгрузки v77Exp.ert не работает отбор по периоду (дата С .. ПО ...), если в ПВД выбран способ отбора "Стандартная обработка". В данной обработке эта ошибка исправлена. Так же, добавлена автоматическая сборка модулей выгрузки\загрузки (для платформы 7.7) с помощью GComp.

1 стартмани

19.12.2014    18211    11    demon_infernal    6       

Универсальная загрузка документов из v7 в v8 7

Инструменты и обработки Программист Архив с данными v8 v8::УФ 1cv8.cf Windows Абонемент ($m) Обмен данными 1С Перенос данных из 1С7.7 в 1C8.X

Еще одна вариация на тему загрузки из v7 в v8 по схеме с возможностью поиска элементов справочников по наименованию, по списку согласования или фиксированного значения с созданием нового элемента в базе получателе.

1 стартмани

10.12.2014    13134    52    LavinVadik    7       

Конвертация данных 2: Проведение документов 7.7 12

Инструменты и обработки Программист Архив с данными v8 КД Windows Абонемент ($m) Перенос данных из 1С7.7 в 1C8.X

Механизм проведения документов из 1С 8.2 в 1С 7.7 с использованием конфигурации Конвертация Данных 2.

1 стартмани

05.12.2014    21623    8    Xershi    12       

Запуск COM-Объекта 1С 7.7 или 1С 8.х в виде "УДАЛЕННОГО COM+" (как Решение проблемы запуска COM 32-бит внутри 64-бит приложения, так и проблем разных версий движка 8.х) 11

Инструменты и обработки Системный администратор Программист Архив с данными v7.7 v8 Windows Абонемент ($m) Перенос данных из 1С7.7 в 1C8.X Перенос данных из 1C8 в 1C8

Проблемы (решенные с помощью COM+): 1) Проблема с "ComConnector" из-за разных версий движка 1С; 2) "Сервер 1с 64-бит отказался работать с COM 1c 7.7(32 бит)"; 3) Как создать удаленный COM+ внутри 1с 7.7 для решения проблемы, как в пункте 1); И вот, наконец-то, при помощи удаленного запуска COM+ забываем обо всех этих проблемах навсегда)))

2 стартмани

29.07.2014    23428    52    sanfoto    3       

Внешняя обработка TRANSFER7782U Версия 2.07 Перенос данных из 1C Предприятие 7.7 в 1С Предприятие 8.2 (8.3) (Обычное и управляемое приложение) 42

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 1cv8.cf Windows Абонемент ($m) Перенос данных из 1С7.7 в 1C8.X

Внешняя обработка предназначена для COM-переноса данных из информационной базы 1С Предприятие 7.7 в 1С Предприятие 8.2 (8.3) (Обычное и управляемое приложение).

1 стартмани

25.04.2014    61157    724    rauf    73       

Загрузка данных из ТиС 7.7 в Бухгалтерию 3.0 через COM-соединение (документы, справочники) 7

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 БП2.0 Россия Windows Абонемент ($m) Перенос данных из 1С7.7 в 1C8.X

Внешняя обработка загрузки документов и справочников в разрезе организаций в конфигурацию "1С:Бухгалтерия предприятия 8, ред. 3.0" из "1С:Торговля и склад 7.7" через COM-соединение для управляемого приложения

3 стартмани

19.02.2014    16861    182    acapulco    9       

Прозрачная интеграция 1С8.2 с 1С7.7 (Внешние источники, OLE) 15

Отчеты и формы Программист Нет файла v8 Windows Абонемент ($m) Перенос данных из 1С7.7 в 1C8.X

Прозрачная интеграция 1С8.2 с 1С7.7 через внешние источники и OLE. Данные из 1С7.7 читаем посредством внешних источников, изменения данных передаем в 1С7.7 по OLE путем отправки xml.

1 стартмани

09.01.2014    18871    28    sdf1979    16       

Перенос данных из Комплексная 7.7 в ЗУП 2013 год 7

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 ЗУП2.5 1С7:Комплекс Россия Windows Зарплата Учет рабочего времени Абонемент ($m) Перенос данных из 1С7.7 в 1C8.X

Выгрузка данных, взятая из публикации: http://infostart.ru/public/85470/. Доработана для выгрузки из комплексной 7.7 версии 7.70.527, выгружать можно в том числе данные 2013 года. Также доработана выгрузка остатков отпусков в соответствии с формой Т2, поправлены небольшие выявленные неточности оригинального переноса(например ФИО сотрудника брались из наименования, а не из поля ПолнНаименование), ну и т.п.

1 стартмани

08.12.2013    13100    119    anime21    3       

Перегрузка документов из ЗиК 7.7 в ЗУП 8.2 через текстовый файл (без конвертации данных) 11

Инструменты и обработки Программист Архив с данными v8 ЗУП2.5 Windows Зарплата Абонемент ($m) Перенос данных из 1С7.7 в 1C8.X

Перегрузка наиболее распространённых документов из ЗиК 7.7 в ЗУП 8.2. Работает через текстовый файл и не использует конвертацию данных. Предназначена для оперативного переброса документов из 7-ки в 8-ку - в случае, когда учёт ведётся параллельно в 2 программах (в 7-ке и в 8-ке) - в первый месяц после перехода. В отличие от конвертации данных, не переносит отсутствующие реквизиты документов (но это малокритично). Рассчитана на программиста 1С, т.к. может требовать программного корректирования обработчиков загрузки (но это на порядок проще, чем работать с конвертацией данных).

1 стартмани

12.11.2013    15282    90    prodines    19       

"Универсальный обмен данными в формате XML" + правила обмена: УПП 1.3 -> 77 АТС; УПП 1.3 -> ЗУП 2.5. 5

Инструменты и обработки Системный администратор Программист Архив с данными v8 ЗУП2.5 УПП1 1С7:ЗиК 1С7:Комплекс Россия БУ УУ Windows Зарплата Абонемент ($m) Перенос данных из 1С7.7 в 1C8.X Обмен через XML

Эта задача наоборот или назад в прошлое. :). Она часть проекта главного переноса из 7.7 АТС в УПП. Надо организовать ежедневный перенос кадровых данных из УПП в 7.7. Этот перенос должен работать, пока не будет завершен весь проект. Для выгрузки из УПП используется обработка "Универсальный обмен данными в формате XML" с доработкой. Для загрузки в 7.7 используется обработка "V77Imp.ert" с доработкой.

1 стартмани

09.10.2013    28184    24    IgorXml    5       

Перенос справочников из 7.7 в 8.1, 8.2 17

Инструменты и обработки no Внешняя обработка (ert,epf) v8 Windows Абонемент ($m) Перенос данных из 1С7.7 в 1C8.X

Обработка позволяет переносить простые и иерархические справочники, по технологии OLE.

1 стартмани

12.09.2013    32090    364    Alex103a    46       

Обмен в 1С Розница 2.0.8.8 по магазину 11

Отчеты и формы Системный администратор Программист Нет файла v8 Розница Windows Абонемент ($m) Перенос данных из 1С7.7 в 1C8.X

Настройка обмена между магазинами в 1С Розница 2.0.8.8 не стандартным методом.

1 стартмани

18.07.2013    37059    119    denchik86    10       

Актуализация правил обмена в КД 2.1 38

Отчеты и формы Программист Нет файла v8 КД Windows Абонемент ($m) Перенос данных из 1С7.7 в 1C8.X

В случае если между базами данных 1с настроен обмен с использованием правил обмена. То в результате доработки конфигураций или обновления на более актуальный релиз возникает задача актуализации правил обмена.

1 стартмани

15.07.2013    46116    34    Дмитрий Рудаков    11       

Перенос регистра бухгалтерии между идентичными базами используя xml-сериализацию 20

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 БП2.0 Россия БУ Абонемент ($m) Обработка документов Перенос данных из 1С7.7 в 1C8.X

Приводится пример использования xml-сериализации для переноса данных (в частности, записей регистра бухгалтерии) между идентичными базами, использование которого позволяет добиться очень компактного и "понятного" кода.

1 стартмани

11.07.2013    18533    66    Mortiferus    11       

Импорт документов из других программ или конфигураций 8

Отчеты и формы Программист Нет файла v8 1cv8.cf Абонемент ($m) Перенос данных из 1С7.7 в 1C8.X

Универсальная функция поиска документа по маске GUID и создание нового документа при неудаче

1 стартмани

11.07.2013    3668    11    inv7    4       

Проверка документов после обмена Управление торговлей - Бухгалтерия 5

Инструменты и обработки no Внешний отчет (ert,erf) v8 УТ10 Россия БУ УУ Windows Абонемент ($m) Перенос данных из 1С7.7 в 1C8.X

Проверка все ли документы выгрузились после обмена УТ - БП. Запускается на стороне УТ. Проверка проводится по совпадению Номеров документов. Помимо этого анализируется различие дат и признака проведения.

1 стартмани

10.07.2013    6836    34    pomestnik    5       

Выгрузка, загрузка товаров из ТиС 9.2 (7.7) в УТ 11.1 (8.2) через XML 8

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 УТ10 1С7:ТиС Россия Windows Абонемент ($m) Перенос данных из 1С7.7 в 1C8.X

Выгрузка каркасная – код, наименование, иерархия. Реализован «прогресс бар» для тонкого клиента.

1 стартмани

09.07.2013    16422    92    Yury1001    9       

Доработанный CommerceML с выгрузкой услуг по счету и заказов покупателей. 5

Инструменты и обработки no Внешняя обработка (ert,epf) v8 КА1 УПП1 Россия Управление взаимоотношениями с клиентами (СRM) Абонемент ($m) Перенос данных из 1С7.7 в 1C8.X

Доработанный CommerceML, выгружает счета с услугами, да еще и заказы покупателей. Если вам надо выгружать счета на оплату покупателю и заказы покупателей товарами и услугами, с последующей загрузкой в систему в качестве счетов на оплату поставщиков и заказов поставщиков, то эта доработанная обработка для вас.

1 стартмани

05.07.2013    7816    87    maratimus    7       

Сравнение документов в разных ИБ 11

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 УТ10 УПП1 Windows Абонемент ($m) Обработка документов Перенос данных из 1С7.7 в 1C8.X

Обработка сравнивает суммы документов в разных информационных базах за период. Полезно при отладке/мониторинге самописных обменов.

1 стартмани

01.07.2013    4153    72    sdx    5       

Перенос данных из ТиС 9.2 [v77] в БП 2.0 [v82] OLE 13

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 БП2.0 Windows Абонемент ($m) Перенос данных из 1С7.7 в 1C8.X

Обработка предназначена для выполнения регулярного переноса документов из торговли на v77 в бухгалтерию на v82.

1 стартмани

02.06.2013    8656    117    goodwill    12       

Выгрузка проводок из 1С:Зарплата и кадры бюджетного учреждения 8.2 в 1С:Бухгалтерия государственного учреждения 8.2 8

Инструменты и обработки Бухгалтер Внешний отчет (ert,erf) v8 ЗКБУ Россия БУ Windows Зарплата Абонемент ($m) Перенос данных из 1С7.7 в 1C8.X Обмен через XML

Внешняя обработка по выгрузке проводок из 1С:Зарплата и кадры бюджетного учреждения 8.2 в 1С:Бухгалтерия государственного учреждения 8.2, по типовому механизму ЗУП.

1 стартмани

14.05.2013    9951    111    bella25    8       

Правила обмена данными ЗиК ЗУП. Документ ВыплатаЗарплаты 6

Инструменты и обработки Системный администратор Программист Бухгалтер Внешняя обработка (ert,epf) v8 ЗУП2.5 1С7:ЗиК Россия Зарплата Абонемент ($m) Перенос данных из 1С7.7 в 1C8.X

Предлагаю обработку выгрузки документа "Выплата зарплаты" из ЗиК стандартным способом - через универсальную выгрузку данных в формате XML. Загрузка происходит в документ ЗарплатаКВыплатеОрганизаций.

1 стартмани

02.05.2013    7991    43    Codimca    3       

Правила обмена Бух7.7 - БП 8 (с документами) 8

Инструменты и обработки Программист Архив с данными v8 БП2.0 Украина БУ Windows Абонемент ($m) Перенос данных из 1С7.7 в 1C8.X

Правила обмена с возможностью переносить данные подокументно из бух77 в БП8.. Архив содержит правила обмена и модуль выгрузки.

1 стартмани

12.04.2013    10570    173    masspi    10       

Обработка "Регистрация изменений для обмена с БП 2.0" для УТ 10.3 9

Инструменты и обработки Системный администратор Внешняя обработка (ert,epf) v8 УТ10 Россия Windows Абонемент ($m) Универсальные обработки Перенос данных из 1С7.7 в 1C8.X

Часто бывает необходимо организовать выгрузку документов из УТ 10.3 в БП 2.0 только за интересующий интервал времени и только некоторые типы документов. Для этого можно использовать стандартный монитор обмена данными и ручную регистрацию изменений с помощью подбора или написания запроса, однако при таком управлении регистрацией изменений это может занять длительное время. Данная обработка позволяет зарегистрировать изменения для обмена за заданный период по указанным типам документов.

1 стартмани

18.03.2013    13145    209    alex15650    12