УНФ. Проблемы обмена с БП.
Здравствуйте.
Есть 2 конфигурации:
УНФ 1.6.16.219
БП 3.0.77.78
Поправил правила обмена через конвертацию, небольшие изменения по заполнению реквизита табличной части "Услуги", документа "ПТиУ", загрузил правила в базы. Включил отладку через внешнюю обработку, проверил обмен, все работает. Выключил отладку. Проверил обмен - не работает. Включил отладку - работает. Что происходит?
Есть 2 конфигурации:
УНФ 1.6.16.219
БП 3.0.77.78
Поправил правила обмена через конвертацию, небольшие изменения по заполнению реквизита табличной части "Услуги", документа "ПТиУ", загрузил правила в базы. Включил отладку через внешнюю обработку, проверил обмен, все работает. Выключил отладку. Проверил обмен - не работает. Включил отладку - работает. Что происходит?
По теме из базы знаний
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Возможно необходимо перенести свой алгоритм в обработки для обмена. Возможно сделать это в расширении для модулей этих обработок. Возможно это вообще решит проблему, не вникая в тот момент, как именно она образовалась при взятии алгоритмов из файла.
Даже для отсутствия отладки при обмене, можно выполнить отладку:
Находим в каком-нибудь общем модуле экспортную процедуру,
которая делает сразу возврат, если переданный параметр ей не нравится,
пусть, например, парамер 1.
Тогда в алгоритмя можно вставить
И через такое соответствие просматривать необходимые переменные.
Ну то есть точку отладки ставим в процедуре ПриОпределенииОбъектовСРедактируемымиРеквизитами общего модуля Анкетирование, например.
Даже для отсутствия отладки при обмене, можно выполнить отладку:
Находим в каком-нибудь общем модуле экспортную процедуру,
которая делает сразу возврат, если переданный параметр ей не нравится,
пусть, например, парамер 1.
Тогда в алгоритмя можно вставить
ЛовушкаДляОтладчика = Новый Соответствие;
Анкетирование.ПриОпределенииОбъектовСРедактируемымиРеквизитами(ЛовушкаДляОтладчика);
И через такое соответствие просматривать необходимые переменные.
Ну то есть точку отладки ставим в процедуре ПриОпределенииОбъектовСРедактируемымиРеквизитами общего модуля Анкетирование, например.
Вызов моего алгоритма находится в алгоритме "ОбработатьПоступлениеТоваров"
Проставил вызов процедуры общего модуля из алогоритма "ОбработатьПоступлениеТоваров", перед вызовом своего алгоритма - вызов работает, в процедуру заходит. Поставил вызов процедуры в своем алгоритме - не работает вызов!!!
Проставил вызов процедуры общего модуля из алогоритма "ОбработатьПоступлениеТоваров", перед вызовом своего алгоритма - вызов работает, в процедуру заходит. Поставил вызов процедуры в своем алгоритме - не работает вызов!!!
Перенес текст алгоритма в вызываемую процедуру общего модуля, оставив в тексте алгоритма только вызов процедуры общего модуля. Вызов сработал, алгоритм отработал как надо! В чем дело? Что программе может не нравится в тексте алгоритма находящегося внутри правил, но если перенести то же самое в общий модуль - то оно работает?
Если Объект.Услуги.Количество() = 0 Тогда
Возврат;
КонецЕсли;
ПараметрыТЧ = ПараметрыОбъекта.Получить("УслугиТабличнаяЧасть");
Для Каждого СтрокаУслуг Из Объект.Услуги Цикл
Если СтрокаУслуг.СчетЗатрат.Пустая() Тогда
Продолжить;
КонецЕсли;
СтатьяЗатратНаименование = ПараметрыТЧ[СтрокаУслуг.НомерСтроки - 1].СтатьяЗатрат;
Если СтатьяЗатратНаименование = "" Тогда
Продолжить;
КонецЕсли;
Для Каждого СтрокаВидыСубконто Из СтрокаУслуг.СчетЗатрат.ВидыСубконто Цикл
ОписаниеТиповВидаСубконто = СтрокаВидыСубконто.ВидСубконто.ТипЗначения;
Если ОписаниеТиповВидаСубконто.СодержитТип(Тип("СправочникСсылка.СтатьиЗатрат")) Тогда
СтатьяЗатратСсылка = Справочники.СтатьиЗатрат.НайтиПоНаименованию(СтатьяЗатратНаименование);
Если СтатьяЗатратСсылка.Пустая() Тогда
СтатьяЗатратОбъект = Справочники.СтатьиЗатрат.СоздатьЭлемент();
СтатьяЗатратОбъект.Наименование = СтатьяЗатратНаименование;
СтатьяЗатратОбъект.ОбменДанными.Загрузка = Истина;
СтатьяЗатратОбъект.Записать();
СтатьяЗатратСсылка = СтатьяЗатратОбъект.Ссылка;
КонецЕсли;
СтрокаУслуг["Субконто" + СтрокаВидыСубконто.НомерСтроки] = СтатьяЗатратСсылка;
СтрокаУслуг["СубконтоНУ" + СтрокаВидыСубконто.НомерСтроки] = СтатьяЗатратСсылка;
КонецЕсли;
КонецЦикла;
КонецЦикла;
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот