Имя: Пароль:
1C
1С v8
Выдает ошибку в запросе СОМ
0 23th
 
26.09.13
20:12
Выдает следующую ошибку!

{ВнешняяОбработка.ВыгрузкаКА.МодульОбъекта(26)}: Ошибка при вызове метода контекста (Выполнить)
    ВыборкаСчет = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "Счет");
по причине:
Произошла исключительная ситуация (1C:Enterprise 8.2.16.352): {(10, 56)}: Неверные параметры
РегистрБухгалтерии.Хозрасчетный.Остатки(&Дата, Счет В(<<?>>&СписокСчетов), , ) КАК ХозрасчетныйОстатки



    СписокСчетов = База.NewObject("СписокЗначений");
    СписокСчетов.Добавить(База.ПланыСчетов.Хозрасчетный.НайтиПоКоду("10.01"));
    СписокСчетов.Добавить(База.ПланыСчетов.Хозрасчетный.НайтиПоКоду("10.01"));
    
    Запрос = База.NewObject("Запрос");
    Запрос.Текст=
    "ВЫБРАТЬ
    |    ХозрасчетныйОстатки.Счет КАК Счет,
    |    ХозрасчетныйОстатки.Организация,
    |    ХозрасчетныйОстатки.Субконто1 КАК Товар,
    |    ХозрасчетныйОстатки.Субконто2 КАК Склад,
    |    ХозрасчетныйОстатки.Субконто3,
    |    ХозрасчетныйОстатки.КоличествоОстатокДт,
    |    ХозрасчетныйОстатки.СуммаОстатокДт
    |ИЗ
    |    РегистрБухгалтерии.Хозрасчетный.Остатки(&Дата, Счет В(&СписокСчетов), , ) КАК ХозрасчетныйОстатки
    |ИТОГИ ПО
    |    Счет,
    |    Склад";
    Запрос.УстановитьПараметр("Дата", КонецДня(Дата));
    Запрос.УстановитьПараметр("СписокСчетов", СписокСчетов);
    
    ВыборкаСчет = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "Счет");
1 zsergey
 
26.09.13
20:30
что передается в "СписокСчетов"?
2 23th
 
26.09.13
20:39
Передается нужные счета. Например 10.01, 10.02 из базы источника
3 XLife
 
26.09.13
20:46
(2) а если вместо списка значений массив попробовать?
4 23th
 
26.09.13
20:47
уже пробовал, не выходит
5 Лефмихалыч
 
26.09.13
20:47
В (ЗНАЧЕНИЕ(ПланСчетов.Бюстгалтерский.ДеситьАдин),ЗНАЧЕНИЕ(ПланСчетов.Бюстгалтерский.ДеситьДва))
6 23th
 
26.09.13
20:53
так если я хочу удалить некоторые из списка? в режиме диалога?
7 Лефмихалыч
 
26.09.13
20:57
(6) с массивом должно работать, если толкьо у тебя твои НайтиПо не возвратили где Неопределено
8 23th
 
26.09.13
20:59
СписокСчетов = База.NewObject("Массив");
    СписокСчетов.Добавить(База.ПланыСчетов.Хозрасчетный.НайтиПоКоду("10.01").ref);
    СписокСчетов.Добавить(База.ПланыСчетов.Хозрасчетный.НайтиПоКоду("10.02").ref);

возвращает ComObject
9 23th
 
26.09.13
20:59
но не работает
10 Галахад
 
гуру
26.09.13
21:13
СписокСчетов[0].code
СписокСчетов[1].code

Что возвращают?

Может попробовать проще:
Рез = Запрос.Выполнить();
...
11 Лефмихалыч
 
26.09.13
21:15
(8) чудес не бывает. Выйди, хлопнув дверью, и войди обратно. Ребутни чо-нить, выспись
12 Михаил Козлов
 
26.09.13
21:24
Попробуйте вместо Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "Счет")
Выбрать(база.ОбходРезультатаЗапроса.ПоГруппировкам, "Счет");
13 23th
 
27.09.13
08:18
Спасибо!

Выбрать(база.ОбходРезультатаЗапроса.ПоГруппировкам, "Счет");

это было в сточку!
14 XLife
 
27.09.13
08:31
(13) и как это связано с ошибкой из (0)?
15 Михаил Козлов
 
27.09.13
11:53
(14) Не может Запрос.Выполнить().Выбрать(...).
16 wPa
 
27.09.13
12:01
(8) База.String(СписокСчетов[0]) ?
17 wPa
 
27.09.13
12:01
База.String(СписокСчетов.Получить(0)) точнее
18 XLife
 
27.09.13
12:07
(15) в (0) написано: {ВнешняяОбработка.ВыгрузкаКА.МодульОбъекта(26)}: Ошибка при вызове метода контекста (Выполнить)
...
{(10, 56)}: Неверные параметры

ключевое слово "(Выполнить)" и "Неверные параметры"... до Выбрать еще не доходит
19 Михаил Козлов
 
27.09.13
12:16
(18) Попробуйте разделить Выполнить() и Выбрать().