запрос через com объект #648301


#0 by lamme
Есть база1 (УФ) В ней делаю подключение к базе2 (БП) чтобы получить инфо потом идет запрос ЗапросТекст = Вопросы 1 как правильно передать параметры в запрос? Запрос.УстановитьПараметр("Тип",ОбъектИБ.перечисления.ТипыКонтактнойИнформации.Адрес); так не работает однако что не так делаю? 2 как результат запроса увидет в таблице ? РезультатЗапросаКонтр = Запрос.Выполнить.выгрузить; РезультатЗапросаКонтр.выбратьстроку; // в отладичке в РезультатЗапросаКонтр- видно что что-то в результате запроса есть.
#1 by vmv
продолжай рассуждения, авось придет решение
#2 by lamme
2 - то что оно не покажет на экране через ВыбратьСтроку - это понятно там объект - Com идет чего с ним дальше то делать? )
#3 by vmv
Запрос.УстановитьПараметр("Тип",ОбъектИБ.перечисления.ТипыКонтактнойИнформации.Адрес); мне не нравиться эта строка - скажи почему
#4 by ЧашкаЧая
.... Новый COMObject("V82.COMConnector"); ... РезультатЗапросаКонтр.выбратьстроку Разве такое сработает? Разве Ком-коннектор специально не запускает всего клиента чтобы побыстрее было? Попробуй Сообщить(РезультатЗапросаКонтр.Количество);
#5 by lamme
мне она тоже не нравится. без нее работает ) но вот чем не нравится ...
#6 by lamme
- смотри я это и сам уже догадался
#7 by vmv
пока ты не дашь правильный ответ - будешь получать бред в результате, напряги извилины - я жду!)
#8 by lamme
там или несоответсвие типов идет или не ?
#9 by vmv
я не признаюсь - убирай утюг, это нужно понять самому
#10 by lamme
согласен. пошел читать чего нибудь
#11 by Maxus43
дак запрос выполняется в другой базе, и параметры соответственно нужны из той базы
#12 by Reset
Так он "из той базы" и передает. Или я не вижу какой-то косяк? ОбъектИБ - это com-соединение у него
#13 by lamme
ну . это параметры из второй базы. а не из основной.
#14 by vmv
ОбъектИБ.перечисления.ТипыКонтактнойИнформации.Адрес они из той базы по логике, но нужно понить, что сом-объект -это матрешка, т.е. все что из него получают по вложениям это тоже Сомы)
#15 by Reset
"так не работает однако" А что не работает? При выбратьСтроку - ясно, но РезультатЗапросаКонтр.Количество должно >0 быть если записи по отбору есть
#16 by Maxus43
дак там не ссылка на объект другой базы, там ком
#17 by lamme
оно работает. не знаю как результат отобразить на экране или в таблицу значений или в таблицу т.е. из com данных получить данные в тз
#18 by Reset
я про это и написал "ОбъектИБ - это com-соединение у него"
#19 by lamme
мысль не понял
#20 by Reset
Но ты же написал "не работает". Не сбива с толку и не заставляй искать ошибку где ее нет ;)
#21 by lamme
так не работает - это к параметрам, передаваемым в запрос - относится
#22 by Reset
Напиши цикл по перегрузке из COM-ТЗ в обычную. Но понимай, что ссылку ты не перенесь никак, только наименование и ИНН. Ну, от силы строковой представлние уникального идентификаторы из ссылки.
#23 by John83
#24 by Reset
это противоречит
#25 by Maxus43
дак не сслыку в запрос пихает а ком объект, потому и не сравнивает. в ты ж нормально написал, чтоб автор понял)
#26 by lamme
а одной какой-то штукой такого сделать нельзя? т.е. только перебор результата и перегрузка ее в обычную вручную?
#27 by Reset
Вы меня запутали :) Я НЕ вижу ошибки в Запрос.УстановитьПараметр("Тип",ОбъектИБ.перечисления.ТипыКонтактнойИнформации.Адрес); т.к. Запрос - тоже ком-объект
#28 by Reset
только перебор
#29 by vmv
по строковому представлению ссылки уже можно получить и саму ссылку сом-базы, погугли бы мисту на соммы шоли
#30 by lamme
я тож не понимаю. но если это услвоие убрать - то результат выдает 4200 записей если запрос с этим условием - то выдает 0
#31 by Reset
НЕ понял. ЧТО я должен гуглить. Мне ВСЕ понятно.
#32 by lamme
искал по мисте
#33 by Reset
Это значит что записи такой нет
#34 by vmv
можно, но для этого нужно владеть методами COMSafeArray ты точно уверен, что тебе все понятно, я слышу нотки отчаянья?
#35 by Reset
Ты слышишь нотки раздражения, скорее
#36 by vmv
если ты не в илах понять , то может пойдешь в певцы?
#37 by lamme
и чего то вы там эта .. можно мне показать - как правильно передать в запрос параметры ?
#38 by Reset
У тебя они правильно передаются
#39 by Reset
+ Ну кроме разве конкретные значения перепутаны. Но метод - правильный.
#40 by lamme
что значит- конкртеные значения перепутаны? в конфиг - тип = перечисления.ТипыКонтактнойИнформации.Адрес
#41 by lamme
пардон тип = перечисления.ТипыКонтактнойИнформации.
#42 by prog0101
попросил бы лучше в итернетах работающий пример чем тут холивар разводить
#43 by Reset
"возможно перепутаны" я хотел написать. Код для поиска "вида" к примеру там неверный или еще что-то
#44 by Reset
Протестируй запрос сначала без COM/
#45 by lamme
вот так вот можно без перебора получить данные из comзапроса в тз
#46 by Reset
Типа уел? :) Ок, так можно, если в колонках тз только примитивные типы
#47 by lamme
46 нет- не уел. при чем тут .. просто делюсь. нашел в инете
#48 by Reset
Ок, спасибо тогда :)
#49 by vmv
ну чо там с результатом - видишь фигу?
#50 by lamme
как это не странно фига тут в ОбъектИБ.справочники.ВидыКонтактнойИнформации.НайтиПоКоду("00008") потому что в спраочнике ВидыКонтактнойИнформации - код это не уникальное поле. почему то.
#51 by Reset
Не могу удержаться от "а я что говорил" :D ()
#52 by lamme
спрашивается - какого х**ра оно не уникальное ...
#53 by Domanoff26
может еще есть одно
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С