УНФ. Проблемы обмена с БП.

1. Raskad 10 29.05.20 15:04 Сейчас в теме
Здравствуйте.
Есть 2 конфигурации:
УНФ 1.6.16.219
БП 3.0.77.78

Поправил правила обмена через конвертацию, небольшие изменения по заполнению реквизита табличной части "Услуги", документа "ПТиУ", загрузил правила в базы. Включил отладку через внешнюю обработку, проверил обмен, все работает. Выключил отладку. Проверил обмен - не работает. Включил отладку - работает. Что происходит?
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
8. Raskad 10 04.06.20 16:30 Сейчас в теме +0.1 $m
Разобрался. Он не понимает возврата из процедуры.
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Raskad 10 29.05.20 15:44 Сейчас в теме
Опытным путем выяснил, что 1с тупо не заходит в мой добавленный алгоритм. Пока не понимаю почему. Перенес код из своего алогоритма в основной: в отладке - работает, без отладки - нет.
3. Akuji 22 29.05.20 20:18 Сейчас в теме
В настройках обмена стоит "Использовать правила обмена из конфигурации"...
4. Raskad 10 29.05.20 22:29 Сейчас в теме
В настройках стоит использовать правила обмена из файла.
5. vugluscr1991 12 30.05.20 21:29 Сейчас в теме
Возможно необходимо перенести свой алгоритм в обработки для обмена. Возможно сделать это в расширении для модулей этих обработок. Возможно это вообще решит проблему, не вникая в тот момент, как именно она образовалась при взятии алгоритмов из файла.
Даже для отсутствия отладки при обмене, можно выполнить отладку:
Находим в каком-нибудь общем модуле экспортную процедуру,
которая делает сразу возврат, если переданный параметр ей не нравится,
пусть, например, парамер 1.
Тогда в алгоритмя можно вставить
ЛовушкаДляОтладчика = Новый Соответствие;
Анкетирование.ПриОпределенииОбъектовСРедактируемымиРеквизитами(ЛовушкаДляОтладчика);

И через такое соответствие просматривать необходимые переменные.
Ну то есть точку отладки ставим в процедуре ПриОпределенииОбъектовСРедактируемымиРеквизитами общего модуля Анкетирование, например.
6. Raskad 10 04.06.20 15:38 Сейчас в теме
Вызов моего алгоритма находится в алгоритме "ОбработатьПоступлениеТоваров"

Проставил вызов процедуры общего модуля из алогоритма "ОбработатьПоступлениеТоваров", перед вызовом своего алгоритма - вызов работает, в процедуру заходит. Поставил вызов процедуры в своем алгоритме - не работает вызов!!!
7. Raskad 10 04.06.20 16:04 Сейчас в теме
Перенес текст алгоритма в вызываемую процедуру общего модуля, оставив в тексте алгоритма только вызов процедуры общего модуля. Вызов сработал, алгоритм отработал как надо! В чем дело? Что программе может не нравится в тексте алгоритма находящегося внутри правил, но если перенести то же самое в общий модуль - то оно работает?

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

		СтатьяЗатратНаименование = ПараметрыТЧ[СтрокаУслуг.НомерСтроки - 1].СтатьяЗатрат;
		Если СтатьяЗатратНаименование = "" Тогда
			Продолжить;
		КонецЕсли;
		
		Для Каждого СтрокаВидыСубконто Из СтрокаУслуг.СчетЗатрат.ВидыСубконто Цикл
			ОписаниеТиповВидаСубконто = СтрокаВидыСубконто.ВидСубконто.ТипЗначения;
			Если ОписаниеТиповВидаСубконто.СодержитТип(Тип("СправочникСсылка.СтатьиЗатрат")) Тогда		
				СтатьяЗатратСсылка = Справочники.СтатьиЗатрат.НайтиПоНаименованию(СтатьяЗатратНаименование);
				Если СтатьяЗатратСсылка.Пустая() Тогда
					СтатьяЗатратОбъект 						 = Справочники.СтатьиЗатрат.СоздатьЭлемент();
					СтатьяЗатратОбъект.Наименование 		 = СтатьяЗатратНаименование;
					СтатьяЗатратОбъект.ОбменДанными.Загрузка = Истина;
					СтатьяЗатратОбъект.Записать();
					СтатьяЗатратСсылка = СтатьяЗатратОбъект.Ссылка;
				КонецЕсли;	
			
				СтрокаУслуг["Субконто" + СтрокаВидыСубконто.НомерСтроки] = СтатьяЗатратСсылка;
				СтрокаУслуг["СубконтоНУ" + СтрокаВидыСубконто.НомерСтроки] = СтатьяЗатратСсылка;
			КонецЕсли;
		КонецЦикла;
	КонецЦикла;
Показать
8. Raskad 10 04.06.20 16:30 Сейчас в теме +0.1 $m
Разобрался. Он не понимает возврата из процедуры.
Оставьте свое сообщение

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