Имя: Пароль:
1C
1С v8
Чудеса в обмене: магия правил конвертации данных
,
0 retributor
 
19.06.15
13:16
УТ 11.1.2.10
БП 2.0.64.26
Выгружаем из торговли в бухгалтерию.
Правила конвертации свои (переделанные). Загруженные в настройках.
Вываливается ошибка, что в валютах есть кусок кода после загрузки типа "Если ЗначениеЗаполнено(Объект.СпособУстановкиКурса) Тогда" и так далее, что реквизита "СпособУстановкиКурса" нет. Его в общем-то и правда нет в бухгалтерии. Проблема в том, что самого куска кода этого нет нигде. Я посмотрел, прогружаются совершенно таинственные правила обмена, которые и не типовые (я нашел типовой макет, перерыл - нету!), хоть и похожи в начале текста на типовые, и не те, что я загружал в базу как пользовательские. Причем, валюты вообще и совсем не имеют никакого кода на перегрузке ни в типовых ни в загруженных мной.
Откуда вообще может браться тот текст xml, который становится правилами?
Если поможет, отладчик влетает в процедуру загрузки правил (которая и получает таинственный текст xml) из ниоткуда. Мне вообще не удалось отследить этот момент. Загрузка пытается что-то выцепить через внешнее соединение (точнее, он говорит, что будет делать обмен через внешнее соединение). Я либо вообще не понимаю, что происходит, либо откуда-то прилетает левый текст правил обмена. Вопрос, откуда он может даже в теории прилететь?
1 Azverin
 
19.06.15
13:22
(0) пятнично! ничего левого не прилетает. внимательно каждый шаг
2 retributor
 
19.06.15
13:23
(1) Еще как прилетает. У меня на руках как типовые правила, так и доработанные. А используются в деле вообще левые. Я сравнивал.
3 retributor
 
19.06.15
13:24
(1) Что до шагов, проходил отладчиком. Перескакивает совершенно внезапно. Такое ощущение, что откуда-то из внешней обработки или даже подписки на события...
4 Naumov
 
19.06.15
13:48
Открой XML-файл правил как текста и поищи "СпособУстановкиКурса", увидишь в каком месте код прописан.
5 olegves
 
19.06.15
13:58
(0) посмотри на макет "Правилаконвертации" узла обмена в УТ
6 retributor
 
19.06.15
14:06
(4) уже сделал. Ни в типовых ни в моих правилах такой реквизит не упоминается
(5) Макет называется "ПравилаОбмена". И там такого тоже нет.
7 Рэйв
 
19.06.15
14:08
>>Проблема в том, что самого куска кода этого нет нигде

Врешь ты все.
Смотр в ПослеЗагрузки в ПКО
8 Naumov
 
19.06.15
14:13
(6) а в правилах в БП правил корреспондента нет?
9 Stim
 
19.06.15
14:14
в некоторых конфах правила обмена тупо заменяются прямо в коде.
10 Naumov
 
19.06.15
14:14
(9) Если только не в типовых от 1С.
11 MrStomak
 
19.06.15
14:18
1) Отладчик все говорит, откуда и чего, чудес никаких.
2) Для того, чтобы выполнить обработчики, которые на стороне приёмника выполняются, приёмник читает правила. Эти правила могут быть прочитаны как из файла обмена, так и из регистра сведений локально, в зависимости от версии БСП. В твоём случае, очевидно, второй вариант.
12 Stim
 
19.06.15
14:19
(10) именно в типовых
13 Stim
 
19.06.15
14:20
+ обмен между ЗУП и БП 2.0
там разработчики подстраховались и в приемнике тупо во входящем файле обмена меняли правила обмена
14 retributor
 
19.06.15
14:23
(7) Обижаешь, чувак. Если бы все было НАСТОЛЬКО очевидно - не стал бы я на форум писать.
(8) В смысле, правила из бухглатерии для другой программы? Если это они подтягиваются из целевой конфы, то типовики явно редисы, раз удалили сам реквизит, но оставили его в правилах обмена.
(9) Как это искать, если в процедуру получения правил отладчик прилетает из неоткуда? Конфа ут допускает редактирование по месту, вполне могли такое запихать.
(11) До приемника дело не доходит. Вернее, ошибка происходит уже на стороне приемника, но важен сам факт, правила берутся из ниоткуда. Отладчиком невозможно отловить точку входа в процедуру чтения правил. Но вход в процедуру происходит как раз с левыми правилами. Ну и далее по списку.
15 Stim
 
19.06.15
14:24
(14) смотри правила в приемнике
16 retributor
 
19.06.15
14:25
(9) Да, еще. Я искал сам кусок кода по конфе. Его там нет. Опять же, было бы очевидно просто найти кусок кода, который вставляется в правила и начинаются проблемы. Но поиск по всем точкам имени реквизита СпособУстановкиКурса ничего не дал.
17 MrStomak
 
19.06.15
14:26
(14)
"До приемника дело не доходит. Вернее, ошибка происходит уже на стороне приемника"

Мда...

Перечитай еще раз - я тебе написал. Правила.Хранятся.В.Приемнике.
18 retributor
 
19.06.15
14:33
(17) Пардон. Был невнимателен, признаю.
(15) Посмотрел. Спасибо! Там-то проблема и была. Единственное, вопрос теперь такой, есть ли способ из текущих правил получить корреспондирующие автоматически?