Имя: Пароль:
1C
 
Ошибка самописного объекта после обновления ИБ
0 AndrK189100
 
27.05.24
11:51
Помогите разобраться.
Есть самописный обмен БП 3 - БП 3
Работал. После обновления ИБ. Правила поправил. Но обмен так и не заработал...
Падает со следующей ошибкой.

==========================================
Ошибка при отправке данных: Значение не является значением объектного типа (ПриоритетОбъектовОбмена)
{Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(2239)}:ПриоритетОбъектовОбмена = Правило.ПриоритетОбъектовОбмена;
{Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(1159)}:ВыгрузитьРегистр(НаборЗаписейДляВыгрузки,
{Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(17853)}:ВыгрузкаРегистра(Данные, ПравилоВыгрузкиДанных, ИсходящиеДанные, НеВыгружатьОбъектыПоСсылкам);
{Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(17511)}:ВыполнитьВыгрузкуЗарегистрированныхДанных(ЗаписьСообщения, СтрокаСообщенияОбОшибке, ТаблицаПравилВыгрузкиИспользуемые);
{Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(2166)}:ВыполнитьВыгрузку();
{ОбщийМодуль.ОбменДаннымиСервер.Модуль(5092)}:ОбработкаОбменаДаннымиXML.ВыполнитьВыгрузкуДанных();
{ОбщийМодуль.ОбменДаннымиСервер.Модуль(9236)}:ЗаписатьСообщениеСИзменениямиДляУзла(СтруктураНастроекОбмена, СтруктураНастроекОбмена.ОбработкаТранспортаСообщенийОбмена.ИмяФайлаСообщенияОбмена());
{ОбщийМодуль.ОбменДаннымиСервер.Модуль(391)}:ВыполнитьОбменДаннымиЧерезФайловыйРесурс(СтруктураНастроекОбмена, ТолькоПараметры);
{ОбщийМодуль.ОбменДаннымиСервер.Модуль(9537)}:ВыполнитьДействиеОбменаДляУзлаИнформационнойБазы(Отказ, УзелИнформационнойБазы,
{Обработка.ВыполнениеОбменаДанными.МодульМенеджера(41)}:ОбменДаннымиСервер.ВыполнитьОбменДаннымиДляУзлаИнформационнойБазы(
==========================================

Подскажите, куда копнуть?

Прошу прощения за отсутствие форматирования. Как тут сделать я не знаю...
1 Волшебник
 
27.05.24
11:52
А что Вы хотели отформатировать? Стек вызовов?!
2 Timon1405
 
27.05.24
11:56
скорее всего в "правило" у вас сидит неопределено, смотрите конвертацию
3 AndrK189100
 
27.05.24
13:24
(2) Вроде бы нет).
Универсальный обмен в формате XML по этим правилам отрабатывает нормально...

Вообще, "ПриоритетОбъектовОбмена", как мне кажется. Относится к online обмену.
4 MaximSh
 
27.05.24
14:30
(3) Поле заполнено? Это ПриоритетОбъектовОбмена
5 AndrK189100
 
27.05.24
22:44
(4)
Короче. Во всем виновата лень...)

Я, когда после обновления конфы ковырял правила обмена, тупо скопировал из старого файла обмена  в новый  - блок "Правила выгрузки". Ну, что бы лишний раз не заморачиваться...
Но получилось на каком-то этапе так, что для правила выгрузки регистра не было правила конвертации. Поле осталось пустое. Я потом конвертацию сделал. А правилах выгрузки не указал. Поле там так пустым и осталось...
В обработке "КонвертацияОбъектовИнформационныхБаз" есть процедура

Процедура ВыгрузитьРегистр(НаборЗаписейДляВыгрузки,
                            Правило = Неопределено,
                            ВходящиеДанные = Неопределено,
                            НеВыгружатьОбъектыПоСсылкам = Ложь,
                            ИмяПКО = "",
                            ПравилоВыгрузкиДанных = Неопределено) Экспорт
                            
    ИсходящиеДанные = Неопределено;                        
                            
    
    ОпределитьПКОПоПараметрам(Правило, НаборЗаписейДляВыгрузки, ИмяПКО);
    
    ПриоритетОбъектовОбмена = Правило.ПриоритетОбъектовОбмена;

и т. д.

А т.к правила нет. Оно и ломалось)