Имя: Пароль:
1C
1С v8
Помогите с запросом
0 Garikus
 
19.05.15
11:01
Есть запрос через COM соединение
    
Запрос = Base1С.NewObject("Запрос",
    //Запрос.Текст =
        "ВЫБРАТЬ
        |    ПоступлениеНаРасчетныйСчет.Номер КАК Номер,
        |    ПоступлениеНаРасчетныйСчет.Дата КАК Дата
        |ИЗ
        |    Документ.ПоступлениеНаРасчетныйСчет КАК ПоступлениеНаРасчетныйСчет
        |ГДЕ
        |    ПоступлениеНаРасчетныйСчет.Дата МЕЖДУ &ДатаН И &ДатаО
        |    И ПоступлениеНаРасчетныйСчет.Контрагент.ИНН В(&ИНН)");
  
    Запрос.УстановитьПараметр("ДатаН", ДатаН);
    Запрос.УстановитьПараметр("ДатаО", ДатаО);
        Запрос.УстановитьПараметр("ИНН",СписокИНН);
    
    Результат = Запрос.Выполнить().Выгрузить();

Запрос.УстановитьПараметр("ИНН",СписокИНН); Ругается что тут не верный параметр, СписокИНН - это таблица значений в которой 1 поле ИНН, когда подставляю просто строку ИНН все работает.
Подскажите что не так?
1 Господин ПЖ
 
19.05.15
11:03
>Подскажите что не так?

в ком совать напрямую можно только примитивные типы
2 Garikus
 
19.05.15
11:04
(1) Т.Е. ТЗ туда не как не запихаешь?(
3 Fish
 
19.05.15
11:05
(2) Создавай ТЗ на стороне кома, и там заполняй.
4 Loki Evil
 
19.05.15
11:05
(2) скорее всего можно также по ком - как создаете объект запрос - создать объект массив или тз, заполнить его и потом передать уже в запрос
5 Господин ПЖ
 
19.05.15
11:05
(3) +1
6 Garikus
 
19.05.15
11:06
(3) А это мысль. Спасибо
7 zippygrill
 
19.05.15
11:06
комСписок = Соединение.NewObject("СписокЗначений");
комСписок.Добавить(Соединение.Справочники.ЗначенияСвойствОбъектов.НайтиПоНаименованию(Элемент.Наименование));
8 Bolik1979
 
19.05.15
11:07
В СписокИНН нужно передавать либо массив, либо СЗ )

Запрос.УстановитьПараметр("ИНН",СписокИНН.ВыгрузитьКолоноку("ИНН"));
9 Demetres
 
19.05.15
11:09
(8) +1
10 Garikus
 
19.05.15
11:26
Сделал через
СписокИНН = Base1С.NewObject("списокЗначений");
все работает, спасибо за помощь
11 User_Agronom
 
19.05.15
11:28
Массив строк, по моему можно передать.
Независимо от того, куда вы едете — это в гору и против ветра!