Имя: Пароль:
1C
 
получитьДанныеИзДругойБазы
0 Dimarik_1
 
26.08.17
17:04
Работаем в УТ. Необходимо найти документы, которые есть в УТ, но нет в БП.
Пробую через com-соединение.
    ЗапросДляТеста = Новый Запрос;
    ЗапросДляТеста.Текст =
        "ВЫБРАТЬ
        |    ТЗ_Идентификаторы.УникальныйИдентификатор
        |ПОМЕСТИТЬ СписокИдентификаторов
        |ИЗ
        |    &ТЗ_Идентификаторы КАК ТЗ_Идентификаторы
        |;
        |
        |////////////////////////////////////////////////////////////////////////////////
        |ВЫБРАТЬ
        |    ПубличныеИдентификаторыСинхронизируемыхОбъектов.Идентификатор,
        |    ПубличныеИдентификаторыСинхронизируемыхОбъектов.Ссылка.СуммаДокумента КАК СуммаДокумента,
        |    ПубличныеИдентификаторыСинхронизируемыхОбъектов.Ссылка.Проведен КАК Проведен
        |ИЗ
        |    РегистрСведений.ПубличныеИдентификаторыСинхронизируемыхОбъектов КАК ПубличныеИдентификаторыСинхронизируемыхОбъектов
        |ГДЕ
        |    ПубличныеИдентификаторыСинхронизируемыхОбъектов.Идентификатор В
        |            (ВЫБРАТЬ
        |                СписокИдентификаторов.УникальныйИдентификатор
        |            ИЗ
        |                СписокИдентификаторов КАК СписокИдентификаторов)";
    
    ЗапросДляТеста.УстановитьПараметр("ТЗ_Идентификаторы", ТЗ_УТ);
    
    
    
    РезультатЗапроса = ЗапросДляТеста.Выполнить();

    
    ЗапросCOM = Коннект.NewObject("Запрос");
    ЗапросCOM.Текст =
        "ВЫБРАТЬ
        |    ТЗ_Идентификаторы.УникальныйИдентификатор
        |ПОМЕСТИТЬ СписокИдентификаторов
        |ИЗ
        |    &ТЗ_Идентификаторы КАК ТЗ_Идентификаторы
        |;
        |
        |////////////////////////////////////////////////////////////////////////////////
        |ВЫБРАТЬ
        |    ПубличныеИдентификаторыСинхронизируемыхОбъектов.Идентификатор,
        |    ПубличныеИдентификаторыСинхронизируемыхОбъектов.Ссылка.СуммаДокумента КАК СуммаДокумента,
        |    ПубличныеИдентификаторыСинхронизируемыхОбъектов.Ссылка.Проведен КАК Проведен
        |ИЗ
        |    РегистрСведений.ПубличныеИдентификаторыСинхронизируемыхОбъектов КАК ПубличныеИдентификаторыСинхронизируемыхОбъектов
        |ГДЕ
        |    ПубличныеИдентификаторыСинхронизируемыхОбъектов.Идентификатор В
        |            (ВЫБРАТЬ
        |                СписокИдентификаторов.УникальныйИдентификатор
        |            ИЗ
        |                СписокИдентификаторов КАК СписокИдентификаторов)";
    
    ЗапросCOM.УстановитьПараметр("ТЗ_Идентификаторы", ТЗ_УТ);

    
    
    
    РезультатЗапроса = ЗапросCOM.Выполнить();


В результате ошибка:
{ВнешняяОбработка.ПолучитьСписокОтсутствующихДокументовВБП.Форма.Форма.Форма(195)}: Ошибка при вызове метода контекста (Выполнить)
    РезультатЗапроса = ЗапросCOM.Выполнить();
по причине:
Произошла исключительная ситуация (1C:Enterprise 8.3.10.2505): {(5, 2)}: Неверные параметры "ТЗ_Идентификаторы"
<<?>>&ТЗ_Идентификаторы КАК ТЗ_Идентификаторы
Ошибка возникает на строчке РезультатЗапроса = ЗапросCOM.Выполнить();
в чем проблема может быть?
1 Dimarik_1
 
26.08.17
17:24
ЗапросCOM = Коннект.NewObject("Запрос");
    ЗапросCOM = Новый Запрос;
    ЗапросCOM.Текст =
        "ВЫБРАТЬ
        |    ПубличныеИдентификаторыСинхронизируемыхОбъектов.Идентификатор,
        |    ПубличныеИдентификаторыСинхронизируемыхОбъектов.Ссылка.СуммаДокумента КАК СуммаДокумента,
        |    ПубличныеИдентификаторыСинхронизируемыхОбъектов.Ссылка.Проведен КАК Проведен
        |ИЗ
        |    РегистрСведений.ПубличныеИдентификаторыСинхронизируемыхОбъектов КАК ПубличныеИдентификаторыСинхронизируемыхОбъектов
        |ГДЕ
        |    ПубличныеИдентификаторыСинхронизируемыхОбъектов.Идентификатор В (&Массив)";
    
    Массив_Коннект = Коннект.NewObject("Массив");
    
    Для Каждого Строка Из ТЗ_УТ Цикл
        Массив_Коннект.Добавить(Строка.УникальныйИдентификатор);
    КонецЦикла;
    
    
    ЗапросCOM.УстановитьПараметр("Массив", Массив_Коннект);

так тоже не отработало
2 craxx
 
26.08.17
18:18
(0) где у тебя создается ТЗИдентификаторы? покажи код
3 craxx
 
26.08.17
18:20
(2) Точнее ТЗ_УТ
4 jsmith82
 
26.08.17
18:43
Чо непонятного-то.
1) В первом случае ты передаёшь ТЗ, а не ком-объект в ком-запрос. Ошибка
2) Во втором - ты передаёшь ком-объект в наш запрос. Ошибка.

ЗапросCOM = Коннект.NewObject("Запрос");
ЗапросCOM = Новый Запрос; (Упс!)