Имя: Пароль:
1C
1С v8
1с 8,,2 Конвертация данных
, ,
0 KonstantinK90
 
21.07.15
10:58
Всем привет! Нужна помощь! Как правильно сделать куда правильно вставить. Настраиваю обмен между 8,2. Пишу вот так в Правило Конвертации Объектов При загрузке - Запрос = Новый запрос;
Запрос.Текст = "ВЫБРАТЬ
    |уатПервоначальныеСведенияТС.ОсновноеСредство  Как ОС
    |ИЗ
    |РегистрСведений.уатПервоначальныеСведенияТС КАК уатПервоначальныеСведенияТС
    |ГДЕ
    |уатПервоначальныеСведенияТС.VIN = &вин";
    Запрос.УстановитьПараметр("Вин",Источник.Автомобиль.Вин);
    
    ВЫборка = Запрос.ВЫполнить().Выбрать();
    
    Пока Выборка.Следующий() Цикл
         ОС = Выборка.ОС;
     КонецЦикла;
    
     Объект.ТС = ОС;
При загрузке в базу приемник выдает ошибку Начало загрузки:   21.07.2015 13:51:19

Ошибка в обработчике события ПриЗагрузкеОбъекта
    ИмяПКО                 =  уатРемонтныйЛист
    ТипОбъекта             =  Ремонтный лист (уат)
    Объект                 =  Ремонтный лист (уат)  от 19.07.2015 8:51:50
    Обработчик             =  ПриЗагрузкеОбъекта
    ОписаниеОшибки         =  Значение не является значением объектного типа (Автомобиль)
    ПозицияМодуля          =  (8)
    КодСообщения           =  20
1 KonstantinK90
 
21.07.15
10:59
в чем дело как паривально сделать поиск по вин(Вин номер)
2 ixijixi
 
21.07.15
11:01
Включай отладку и смотри, какое значение у тебя приходит в обработчик как Источник
3 KonstantinK90
 
21.07.15
11:02
есть вин номера в базе источник и в базе приемник нужно что бы при загрузке он искал в базе приемника необходимый вин
4 KonstantinK90
 
21.07.15
11:03
а как отладку включить?
5 Wirtuozzz
 
21.07.15
11:04
(3) Все понимают какие базы у вас используются и молчат поэтому.
6 ixijixi
 
21.07.15
11:04
Это понятно. Непонятно, что прилетает в обработчик под видом источника. Может там NULL или НЕОПРЕДЕЛЕНО, мы же не знаем, что до этого события происходило. В общем, отладчик в зубы )
7 Wirtuozzz
 
21.07.15
11:05
(4)

Сообщить(Источник.Автомобиль.Вин);
8 ixijixi
 
21.07.15
11:05
(4) Флажок поставить "Использовать отладку..." или как-то так
9 ixijixi
 
21.07.15
11:05
(7) Тоже в ошибку упадет
10 ixijixi
 
21.07.15
11:07
(8)+ Включение режима отладки обработчиков выгрузки производится на закладке "Выгрузка данных" установкой флажка "Режим отладки обработчиков выгрузки". Соответственно, на закладке "Загрузка данных" включение режима отладки загрузки производится установкой флажка "Режим отладки обработчиков загрузки".

Хелп почитай к обработке
11 Wirtuozzz
 
21.07.15
11:07
(9) конечно упадет, можно написать круче:

Попытка

Сообщить(Источник.Автомобиль.Вин);    

Исключение
Сообщить(ОписаниеОшибки());
КонецПопытки;
12 Naumov
 
21.07.15
11:07
При загрузке не Источника.
И делать лучше в ПослеЗагрузке. Использовать Объект, если есть поле в загружаемом объекте. Если нет, то передавать поле для поиска в параметр и читать ПараметрыОбъекта.
13 ixijixi
 
21.07.15
11:09
(11) тогда уж Сообщить(Источник);
14 Wirtuozzz
 
21.07.15
11:11
(13) Да можно вывести и источник и его тип, и т.д. все ведь от фантазии зависит.
15 KonstantinK90
 
21.07.15
11:21
пишу после загрузки Сообщить(Источник.Автомобиль.Вин);
ОписаниеОшибки         =  Значение не является значением объектного типа (Автомобиль)
16 Naumov
 
21.07.15
11:25
(15) Читай (12)
А также читай встроенную в КД информацию по обработчикам. Там написано что и где доступно.
17 программистище
 
21.07.15
11:33
лучше напиши и узнай что у тебя является Сообщить(Источник) и
Сообщить(Источник.Автомобиль)
и там копай
18 программистище
 
21.07.15
11:36
(17) + в при загрузке нет параметра Источник
19 программистище
 
21.07.15
11:41
выгружай вин как параметр и в при загрузке уже его используй
20 KonstantinK90
 
21.07.15
11:51
а как выгрузить как параметр Можно в пару словах?
21 Naumov
 
21.07.15
11:52
(20) Создаешь ПКС в форме указываешь выгрузить в Параметр
22 hhhh
 
21.07.15
11:52
(20) берите вин из приемника
23 KonstantinK90
 
21.07.15
11:59
передал  в параметр а как его потом использовать?
24 KonstantinK90
 
21.07.15
12:00
точнее где именно его потом использовать
25 KonstantinK90
 
21.07.15
12:00
и как?
26 KonstantinK90
 
21.07.15
12:05
подскажите а то я ни разу не пользовался параметрами в кд
27 Night_Wolf
 
21.07.15
12:07
Скорее всего Источник.Автомобиль у вас строка.
Сделайте Сообщить(ТипЗнч(Источник.Автомобиль)).
28 KonstantinK90
 
21.07.15
12:10
Источник.Автомобиль тип зн справочникСсылка.Автомобили
29 KonstantinK90
 
21.07.15
12:11
давай те по пробую сказать другими словами может я не правильно выражаюсь!
30 KonstantinK90
 
21.07.15
12:12
делаю обмен в обоих базах есть автомобили с вин номерами нужно что бы при загрузке он искал авто по вин номеру из источника  и выводил мне госНомер. Вот как это правильно сделать на кокое событие повешать?
31 Naumov
 
21.07.15
17:40
(24) Открой описание обработчиков в КД. Посмотри описание обработчика ПКО ПослеЗагрузки.
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший