8.х Проверка на пустую ссылку в запросе

Тема в разделе "Общие вопросы "1С:Предприятие 8"", создана пользователем LizaVETTA, 19 фев 2016.

  1. TopicStarter Overlay
    LizaVETTA
    Offline

    LizaVETTA Опытный в 1С

    Регистрация:
    14 окт 2015
    Сообщения:
    50
    Симпатии:
    0
    Баллы:
    26
    Я делаю ком-соединение к др.базе, где справочник Корреспонденты.
    Пробовала получить ссылку на объект справочника корреспонденты,
    СсылкаНаОб=V8.Справочники.Корреспонденты.НайтиПоКоду(Результат.Код).Ссылка; но пока ничего не выходит, потому что тип так и дает COMОбъект(((
    --- Объединение сообщений, 19 фев 2016 ---
    беру данные из одной базы из справочника нсиКонтрагенты и делаю ком-соедининение к др.базе к справочнику Корреспонденты, где ищу контрагентов по коду из справочника нсиКонтрагенты.
  2. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.548
    Симпатии:
    716
    Баллы:
    204
    Создавайте и выполняйте запрос в удаленной БД, с ее контекстом данных, либо используйте код, в виде параметра.

    Где Ссылка.Код = &КодКорреспондента.
    Последнее редактирование: 19 фев 2016
  3. TopicStarter Overlay
    LizaVETTA
    Offline

    LizaVETTA Опытный в 1С

    Регистрация:
    14 окт 2015
    Сообщения:
    50
    Симпатии:
    0
    Баллы:
    26
    Спасибо, сейчас попробую Ссылка.Код = &КодКорреспондента))
    --- Объединение сообщений, 19 фев 2016 ---
    Что то не так наверно делаю, потому что не получилось(((

    Запрос1=V8.newObject("Запрос");
    Запрос1.Текст="Выбрать Количество(*) КАК Представление
    |ИЗ
    |Справочник.Корреспонденты.КонтактнаяИнформация
    |где Ссылка.Код = &Корреспондент и Вид = &Вид";
    Запрос1.УстановитьПараметр("Корреспондент",Результат.Код);
    Запрос1.УстановитьПараметр("Вид",ВидКИ);
  4. TopicStarter Overlay
    LizaVETTA
    Offline

    LizaVETTA Опытный в 1С

    Регистрация:
    14 окт 2015
    Сообщения:
    50
    Симпатии:
    0
    Баллы:
    26
    Самое интересное, что запрос идет на консоли, а в контексте программы, не хочет((( неужели никак нельзя? я же получаю объект, могу его редактировать, так почему же ссылку не получаю?
    результат запроса всегда - 0((
  5. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.735
    Симпатии:
    508
    Баллы:
    204
    где Ссылка.Код = &Корреспондент и Вид = &Вид" - эти параметры у вас строковые типы имеют ?
  6. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.548
    Симпатии:
    716
    Баллы:
    204
    У вас параметры ссылочного типа запроса удаленной БД должны быть в виде COM-объектов, с кодом элемента справочника можно не заморачиваться.

    Запрос.УстановитьПараметр("Корреспондент", УдаленнаяБД.Справочники.Корреспонденты.НайтиПоКоду(Результат.Код));
    Запрос.УстановитьПараметр("Вид", УдаленнаяБД.Справочники.ВидыКонтактнойИнформации.Предопределнный_Элемент_Справочника));
    или
    Запрос.УстановитьПараметр("Вид", УдаленнаяБД.Справочники.ВидыКонтактнойИнформации.НайтиПоКоду("КодЭлементаУдаленнойБД")));

    p.s. гонять запросы в цикле по COM - ваще тормоза....
  7. TopicStarter Overlay
    LizaVETTA
    Offline

    LizaVETTA Опытный в 1С

    Регистрация:
    14 окт 2015
    Сообщения:
    50
    Симпатии:
    0
    Баллы:
    26
    Запрос1.УстановитьПараметр("Корреспондент",Результат.Код); - строковый тип
    Запрос1.УстановитьПараметр("Вид",ВидКИ); - строковый тип
    --- Объединение сообщений, 19 фев 2016 ---
    Запрос.УстановитьПараметр("Корреспондент", УдаленнаяБД.Справочники.Корреспонденты.НайтиПоКоду(Результат.Код)); - если прописываю по этому принципу дает: "Ошибка при получении значения атрибута контекста (НаитиПоКоду)"

Поделиться этой страницей