|
Мистика с COM connection | ☑ | ||
|---|---|---|---|---|
|
0
patapum
21.07.14
✎
14:50
|
Разработал обработку, которая подключается из бухгалтерской базы в оперативную, она должна находить контрагента по ссылке (ссылка в бухгалтерии есть), и потом из контрагента-COM-объекта считать его реквизиты.
Обработка работает весьма странным образом, у некоторых контрагентов она реквизиты читает, а у некоторых не видит (хотя они есть, зайдя в базу напрямую, я их вижу). Есть у кого-то идеи, с чем может быть связано и как это можно побороть? Картинки: читаются реквизиты http://savepic.org/5827249.png не читаются реквизиты http://savepic.org/5817009.png Кусок кода (отрабатывает на активизации строки): УИД = ЭлементыФормы.дрСоответствиеКонтрагентамУТ.ТекущиеДанные.УникальныйИдентификаторУТ; Если ЭлементыФормы.дрСоответствиеКонтрагентамУТ.ТекущиеДанные <> Неопределено И СокрЛП(УИД) <> "" Тогда УТ_Контрагент = УТ.Справочники.Контрагенты.ПолучитьСсылку(УТ.NewObject("УникальныйИдентификатор",УИД)); //Наименование = УТ_Контрагент.Наименование; ИНН = УТ_Контрагент.ИНН; КПП = УТ_Контрагент.КПП; Код77 = УТ_Контрагент.дрКод77; Иначе //Наименование = ""; ИНН = ""; КПП = ""; Код77 = ""; КонецЕсли; |
|||
|
1
ObjectRelation Model
21.07.14
✎
14:52
|
что говорит отладчик?
|
|||
|
2
patapum
21.07.14
✎
14:56
|
(1) отладчик говорит, что в обоих случаях получаем COM-объект (причем, попадаем в основную ветку, не в "иначе"), но для первого контрагента читает ИНН, КПП, и все прочее, а для другого нет.
|
|||
|
3
le_
21.07.14
✎
15:00
|
Может, по UID'у получается не то, что должно получаться? Т.е., UID некорректный.
|
|||
|
4
exchang
21.07.14
✎
15:01
|
Если УТ_Контрагент.ПолучитьОбъект() = неопределено Тогда
// ошибка КонецЕсли; |
|||
|
5
patapum
21.07.14
✎
15:11
|
(3) ага, УИД не тот. спасибо! буду копать, как он туда попал
|
|||
|
6
Defender aka LINN
21.07.14
✎
15:12
|
(4) В коленку за такую проверку на существование ссылки расстреливать надо.
|
| Форум | Правила | Описание | Секции | Поиск |