Имя: Пароль:
1C
1С v8
Ошибка в обработчике события ПередВыгрузкойДанных (конвертация)
,
0 SoftIce
 
27.01.12
12:55
При начале выгрузке получаю ошибку

Начало выгрузки:   27.01.2012 12:53:45

Ошибка в обработчике события ПередВыгрузкойДанных (конвертация)
   Обработчик             =  ПередВыгрузкойДанных (конвертация)
   ОписаниеОшибки         =  Ошибка компиляции при вычислении выражения или выполнении фрагмента кода
   ПозицияМодуля          =  Обработка.УниверсальныйОбменДаннымиXML(12588)
   КодСообщения           =  62

Когда включаю режим отладки обработчиков выгрузки и указываю соответ. обработку выгрузка проходит нормально.
Что за прикол?
1 SoftIce
 
27.01.12
15:05
ап
никто?
2 nazi
 
27.01.12
15:11
код кривой
3 GenV
 
27.01.12
15:26
2+ или не обновил правила или обработку для отладки.
4 SoftIce
 
27.01.12
17:41
(2) Код чего?

(3) Сохраняю правила обмена, подключаю их к обработке УниверсальныйОбменЧерезXML, нажимаю выгрузить выдает вышеуказанную ошибку.

Тут же ставлю отметку Использовать режим отладки обработчиков, Выгружаю код обработчиков, копирую его в модуль созданной обработки, сохраняю ее, подключаю обработку, нажимаю выгрузить - выгрузка доходит до конца без ошибок.

Что я не так делаю?
5 DmitryPavlik
 
27.01.12
17:53
УниверсальныйОбменДаннымиXML(12588)

что там?
6 SoftIce
 
27.01.12
18:04
Попытка
           
   Если ФлагРежимОтладкиОбработчиков Тогда
           
       Если Не ПустаяСтрока(Конвертация.ПередВыгрузкойДанных) Тогда
               
{12583}            Выполнить(ПолучитьСтрокуВызоваОбработчика(Конвертация, "ПередВыгрузкойДанных"));
                   
       КонецЕсли;
               
   Иначе
               
{12588}        Выполнить(Конвертация.ПередВыгрузкойДанных);
               
   КонецЕсли;

Исключение
   ЗаписатьИнформациюОбОшибкеОбработчикиКонвертации(62, ОписаниеОшибки(), "ПередВыгрузкойДанных (конвертация)");
   Отказ = Истина;        
КонецПопытки;

Получается строка 12583 проходит без ошибки, а строка 12588 выдает ошибку?
Хотя обе они выполняют один и тот же код :(
7 Stim
 
27.01.12
18:05
ставь "останавливаться по ошибке"
8 SoftIce
 
27.01.12
18:07
Код обработчика ПередВыгрузкойДанных (Конвертация)

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

УзелОбменаОбъект = Параметры.УзелОбмена.ПолучитьОбъект();
УзелОбменаСсылка = Параметры.УзелОбмена;

Параметры.Вставить("УзелДляОбменаОбъект", УзелОбменаОбъект);

Параметры.Вставить("СоответствияХарактеристик", Новый Соответствие);
Параметры.Вставить("СоответствияПроизводителей", Новый Соответствие);
9 SoftIce
 
27.01.12
18:08
(7) Сейчас попробую ...
10 DmitryPavlik
 
27.01.12
18:09
Возврат, вроде не надо
11 DmitryPavlik
 
27.01.12
18:09
Параметры.Вставить("УзелДляОбменаОбъект", УзелОбменаОбъект.Ссылка);

я думаю так надо)
12 DmitryPavlik
 
27.01.12
18:13
(11) или там именно объект надо предать?
13 Stim
 
27.01.12
18:13
(10) не надо ничего трогать в обработке. ошибка в правилах.
зы. можно поставить галочку "выводить доп инфу при выгрузке" и посмотреть, на чем валится
14 SoftIce
 
27.01.12
18:30
(12) Нужен именно объект
(13) флаг установлен. Эта ошибка - все что он выдает.
15 SoftIce
 
27.01.12
18:31
попробую возврат убрать
16 SoftIce
 
27.01.12
18:32
(10) сработало.

После Отказ=Истина; Возврат - не нужен.

Спасибо огромное!
17 SoftIce
 
27.01.12
18:35
Кстати вопрос до кучи (если можно)

Подскажите пожалуйста, как в результат запроса вывести вложенную таблицу.
Т.е. чио бы в результате запроса шли строки (к примеру выборка из РС СрезПоследних), и сразу за ними вложеная таблица с результатами запроса к другому РС
18 DmitryPavlik
 
28.01.12
10:47
Пример?

С запросом не знаю как, я через ТЗ делал)
19 Рэйв
 
28.01.12
11:07
(17)
Выбрать..// основной запрос
Объединить
Выбрать (из ВТ)

тлько надо чтобы по полям совпадало.