8.х Получить ссылку по GUID из внешней БД

Тема в разделе "Отчеты и обработки для "1С:Предприятие 8"", создана пользователем Yury, 21 май 2012.

  1. TopicStarter Overlay
    Yury
    Offline

    Yury Опытный в 1С

    Регистрация:
    22 дек 2011
    Сообщения:
    355
    Симпатии:
    4
    Баллы:
    29
    Здравствуйте,

    запускаю обработку в одной БД, нахожу ГУИД объекта, подключаюсь к другой БД, хочу увидеть, что в этой БД с этим ГУИДом. Смотреть хочу там откуда запускаю обработку. Подскажите, как получить ссылку на объект по ГУИД из внешней БД.
  2. Allizar
    Offline

    Allizar Опытный в 1С

    Регистрация:
    24 сен 2006
    Сообщения:
    413
    Симпатии:
    0
    Баллы:
    26
    Что за внешня БД? Если 1С, то в метод "ПолучитьСсылку()" передаете GUID.
  3. TopicStarter Overlay
    Yury
    Offline

    Yury Опытный в 1С

    Регистрация:
    22 дек 2011
    Сообщения:
    355
    Симпатии:
    4
    Баллы:
    29
    Что-то вот так надо:
    Код:
     БД = Новый COMObject("V82.COMConnector");
    СоединениеБД = БД.Connect("File=""D:\Work\CopyTextile"";Usr=""COMUser"";Pwd=""159159159"";");
    
    ГУИД = Элементы.ПолеГУИД.ВыделенныйТекст;
    
    Док = СоединениеБД.Документы.ПоступлениеИзПереработки.ПолучитьСсылку(Новый УникальныйИдентификатор(ГУИД));
    
    Но не работатет.
  4. Dmitriy_76
    Offline

    Dmitriy_76 Опытный в 1С Команда форума

    Регистрация:
    26 мар 2011
    Сообщения:
    2.175
    Симпатии:
    13
    Баллы:
    29
    + перебором всех метаданных..
    ПолучитьСсылку() вызывается напрмер так : Справочники.Номенклатура(ПолучитьСсылку(UUID = Новый УникальныйИдентификатор(СтрокаГуида)));


    соединение убери..ты же уже локально ищешь
    Док = Документы.ПоступлениеИзПереработки.ПолучитьСсылку(Новый УникальныйИдентификатор(ГУИД));

    так ты хочешь найти в которой базе ??? в той к которой подключаешься или в той где запускаешь обработку ?
  5. TopicStarter Overlay
    Yury
    Offline

    Yury Опытный в 1С

    Регистрация:
    22 дек 2011
    Сообщения:
    355
    Симпатии:
    4
    Баллы:
    29
    Нет не локально. В другой БД, к которой продсоединился
  6. Allizar
    Offline

    Allizar Опытный в 1С

    Регистрация:
    24 сен 2006
    Сообщения:
    413
    Симпатии:
    0
    Баллы:
    26
    Если хотите искать во внешней базе, то

    Код:
    ГУИД_БД = СоединениеБД.NewObject(ГУИД);
    Док = СоединениеБД.Документы.ПоступлениеИзПереработки.ПолучитьСсылку(ГУИД_БД);
    
  7. TopicStarter Overlay
    Yury
    Offline

    Yury Опытный в 1С

    Регистрация:
    22 дек 2011
    Сообщения:
    355
    Симпатии:
    4
    Баллы:
    29
    Так не сработало, но так вроде сработало:

    Код:
    ГУИД_ДБ = СоединениеБД.String (Новый УникальныйИдентификатор(Элементы.ПолеГУИД.ВыделенныйТекст));
    Сейчас разбираюсь
  8. TopicStarter Overlay
    Yury
    Offline

    Yury Опытный в 1С

    Регистрация:
    22 дек 2011
    Сообщения:
    355
    Симпатии:
    4
    Баллы:
    29
    Т.е. вот так:
    Код:
     ГУИД_ДБ = СоединениеБД.NewObject("УникальныйИдентификатор", Элементы.ПолеГУИД.ВыделенныйТекст); //
    

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