Не могу попасть в отладку правил конвертации 2.1.8 в БСП

1. ret 64 28.01.19 16:54 Сейчас в теме
Есть обмен между УТ 11.4 и БП 3.0. Обмен идет по правилам конвертации КД 2.1.8.
До меня так сделали, и надо их поправить. Делаю все как описано в https://infostart.ru/public/410529/
но в отладку правил не попадаю никак. Не понимаю, что делаю не так.
По теме из базы знаний
Найденные решения
5. ret 64 30.01.19 18:02 Сейчас в теме
В общем так. Фирма 1С отказывается поддерживать отладку обработок в формате КД 2.1 и поэтому коды отладок не работают.
Таким образом в обработке КонвертацияОбъектовИнформационныхБаз надо поправить процедуру инициализации подключаемых обработок.
Делаем либо в самой процедуре ИнициализироватьОбработки(), либо в расширении. Я в расширении делал.


&Вместо("ИнициализироватьОбработки")
Функция Расш1_ИнициализироватьОбработки()
	
	//{[-](фрагмент УДАЛЕН)
	//Если ОтладкаОбработчиковВыгрузки Или ОтладкаОбработчиковЗагрузки Тогда 
	//	ВызватьИсключение
	//		НСтр("ru = 'Внешняя обработка отладки, загружаемая из файла на диске, не поддерживается.'");
	//КонецЕсли;
	//}
	
	//{[+](фрагмент ДОБАВЛЕН)
	Если ОтладкаОбработчиковВыгрузки Тогда
		Если ЗначениеЗаполнено(ИмяФайлаВнешнейОбработкиОтладкиВыгрузки) Тогда
			ФайлОбработкиВыгрузки = Новый Файл(ИмяФайлаВнешнейОбработкиОтладкиВыгрузки);
			Если ФайлОбработкиВыгрузки.Существует() Тогда
				ОбработкаВыгрузки = ВнешниеОбработки.Создать(ИмяФайлаВнешнейОбработкиОтладкиВыгрузки);
				ОбработкаВыгрузки.ПодключитьОбработкуДляОтладки(ЭтотОбъект);
			КонецЕсли;		
		КонецЕсли;		
	КонецЕсли;
	
	Если ОтладкаОбработчиковЗагрузки Тогда
		
		Если ЗначениеЗаполнено(ИмяФайлаВнешнейОбработкиОтладкиВыгрузки) Тогда
			ФайлОбработкиЗагрузки = Новый Файл(ИмяФайлаВнешнейОбработкиОтладкиВыгрузки);
			Если ФайлОбработкиЗагрузки.Существует() Тогда
				ОбработкаЗагрузки = ВнешниеОбработки.Создать(ИмяФайлаВнешнейОбработкиОтладкиЗагрузки);
				ОбработкаЗагрузки.ПодключитьОбработкуДляОтладки(ЭтотОбъект);
			КонецЕсли;		
		КонецЕсли;
	КонецЕсли;	
	//}
	
	ИмяПланаОбмена = ИмяПланаОбмена();
	ИмяПрофиляБезопасности = ОбменДаннымиПовтИсп.ИмяПрофиляБезопасности(ИмяПланаОбмена);
	Возврат ИмяПрофиляБезопасности;
	
КонецФункции

Показать
exitel; user1218207; narayanan; deaddy64; +4 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. ret 64 28.01.19 17:31 Сейчас в теме
Вроде делаю как описано, не могу попасть в отладку. не понимаю, что я делаю не так.
Мне надо отладить выгрузку из УТ 11.4 в БП 3.0.

Я запускаю базу УТ 11 в режиме толстого клиента, как пишут по ссылке. Отладчик доходит до сом соединения базы БП 3.0 обработки КонвертацияОбъектовИнформационныхБаз и процедуры ВыполнитьВыгрузкуДанных причем в той базе. Получается загрузка в УТ 11 из базы БП 3.0 и выгрузка туда же. А как к тому COM-соединению подключиться, да еще и обработки во внешней обработке выполнить? Что-то жесть какая-то...
3. herfis 513 28.01.19 18:36 Сейчас в теме
Нафига тебе COM? Переключи на время отладки на обмен через каталог обмена. Заодно сможешь раздельно выгрузку и загрузку проверять. И в файл выгрузки можно будет заглянуть. Может и сообщений об ошибках достаточно будет. Мне всегда было лень разбираться с отладкой обработчиков. С обработчиками как-то и так все понятно всегда было.
Но вот этот вот "РежимОтладки" у меня так и не сработал. Все равно в фоне все выполнялось. И отладка фоновых заданий тоже не помогала, ибо типовой код срывал фоновое по таймауту. Поэтому в тех редких случаях когда все-таки нужна была отладка (но без отладки обработчиков), я временно убирал таймаут в коде типовой, чтобы из отладки не выбрасывало. Подозреваю, что есть прямее пути, но навскидку рабочие варианты я не нашел, поэтому выкручивался так.
4. ret 64 28.01.19 19:55 Сейчас в теме
Поэтому в новых конфах я за КД 3.0. ибо гемор стал отлаживать. Тоже думал перключить на каталог. Ок, попробую.
5. ret 64 30.01.19 18:02 Сейчас в теме
В общем так. Фирма 1С отказывается поддерживать отладку обработок в формате КД 2.1 и поэтому коды отладок не работают.
Таким образом в обработке КонвертацияОбъектовИнформационныхБаз надо поправить процедуру инициализации подключаемых обработок.
Делаем либо в самой процедуре ИнициализироватьОбработки(), либо в расширении. Я в расширении делал.


&Вместо("ИнициализироватьОбработки")
Функция Расш1_ИнициализироватьОбработки()
	
	//{[-](фрагмент УДАЛЕН)
	//Если ОтладкаОбработчиковВыгрузки Или ОтладкаОбработчиковЗагрузки Тогда 
	//	ВызватьИсключение
	//		НСтр("ru = 'Внешняя обработка отладки, загружаемая из файла на диске, не поддерживается.'");
	//КонецЕсли;
	//}
	
	//{[+](фрагмент ДОБАВЛЕН)
	Если ОтладкаОбработчиковВыгрузки Тогда
		Если ЗначениеЗаполнено(ИмяФайлаВнешнейОбработкиОтладкиВыгрузки) Тогда
			ФайлОбработкиВыгрузки = Новый Файл(ИмяФайлаВнешнейОбработкиОтладкиВыгрузки);
			Если ФайлОбработкиВыгрузки.Существует() Тогда
				ОбработкаВыгрузки = ВнешниеОбработки.Создать(ИмяФайлаВнешнейОбработкиОтладкиВыгрузки);
				ОбработкаВыгрузки.ПодключитьОбработкуДляОтладки(ЭтотОбъект);
			КонецЕсли;		
		КонецЕсли;		
	КонецЕсли;
	
	Если ОтладкаОбработчиковЗагрузки Тогда
		
		Если ЗначениеЗаполнено(ИмяФайлаВнешнейОбработкиОтладкиВыгрузки) Тогда
			ФайлОбработкиЗагрузки = Новый Файл(ИмяФайлаВнешнейОбработкиОтладкиВыгрузки);
			Если ФайлОбработкиЗагрузки.Существует() Тогда
				ОбработкаЗагрузки = ВнешниеОбработки.Создать(ИмяФайлаВнешнейОбработкиОтладкиЗагрузки);
				ОбработкаЗагрузки.ПодключитьОбработкуДляОтладки(ЭтотОбъект);
			КонецЕсли;		
		КонецЕсли;
	КонецЕсли;	
	//}
	
	ИмяПланаОбмена = ИмяПланаОбмена();
	ИмяПрофиляБезопасности = ОбменДаннымиПовтИсп.ИмяПрофиляБезопасности(ИмяПланаОбмена);
	Возврат ИмяПрофиляБезопасности;
	
КонецФункции

Показать
exitel; user1218207; narayanan; deaddy64; +4 Ответить
6. ret 64 05.02.19 09:28 Сейчас в теме
Маленькое расширение, позволяющее отлаживать, находится здесь
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот