Имя: Пароль:
1C
1С v8
Запрос по Ole
0 AlexKhab
 
06.05.13
08:09
Запрос = v8.NewObject("Запрос");
   Запрос.Текст =
   "ВЫБРАТЬ РАЗРЕШЕННЫЕ
       |    ХозрасчетныйОстатки.Организация КАК Организация,
       |    ВЫРАЗИТЬ(ХозрасчетныйОстатки.Субконто2 КАК Справочник.Склады) КАК Склад,
       |    ВЫРАЗИТЬ(ХозрасчетныйОстатки.Субконто1 КАК Справочник.Номенклатура) КАК Номенклатура,
       |    ХозрасчетныйОстатки.КоличествоОстаток КАК Количество,
       |    ХозрасчетныйОстатки.СуммаОстаток КАК Сумма,
       |    ХозрасчетныйОстатки.Счет КАК Счет
       |{ВЫБРАТЬ
       |    Организация.*,
       |    Склад.*,
       |    Номенклатура.*,
       |    Количество,
       |    Сумма,
       |    Счет}
       |ИЗ
       |    РегистрБухгалтерии.Хозрасчетный.Остатки(&Дата, Счет В (&СчетаУчетаНС), &ВидыСубконтоНС, ) КАК ХозрасчетныйОстатки
       |{ГДЕ
       |    ХозрасчетныйОстатки.Организация.*,
       |    (ВЫРАЗИТЬ(ХозрасчетныйОстатки.Субконто2 КАК Справочник.Склады)).* КАК Склад,
       |    (ВЫРАЗИТЬ(ХозрасчетныйОстатки.Субконто1 КАК Справочник.Номенклатура)).* КАК Номенклатура}
       |
       |ОБЪЕДИНИТЬ ВСЕ
       |
       |ВЫБРАТЬ
       |    ХозрасчетныйОстатки.Организация,
       |    ВЫРАЗИТЬ(&ПустойСклад КАК Справочник.Склады),
       |    ВЫРАЗИТЬ(ХозрасчетныйОстатки.Субконто1 КАК Справочник.Номенклатура),
       |    ХозрасчетныйОстатки.КоличествоОстаток,
       |    ХозрасчетныйОстатки.СуммаОстаток,
       |    ХозрасчетныйОстатки.Счет
       |{ВЫБРАТЬ
       |    Организация.*,
       |    Склад.*,
       |    Номенклатура.*,
       |    Количество,
       |    Сумма,
       |    Счет}
       |ИЗ
       |    РегистрБухгалтерии.Хозрасчетный.Остатки(&Дата, Счет В (&СчетаУчетаН), &ВидыСубконтоН, ) КАК ХозрасчетныйОстатки
       |{ГДЕ
       |    (ВЫРАЗИТЬ(ХозрасчетныйОстатки.Субконто1 КАК Справочник.Номенклатура)).* КАК Номенклатура,
       |    ХозрасчетныйОстатки.Организация.*,
       |    (&ПустойСклад) КАК Склад}
       |{УПОРЯДОЧИТЬ ПО
       |    Организация.*,
       |    Склад.*,
       |    Номенклатура.*,
       |    Количество,
       |    Сумма,
       |    Счет}
       |ИТОГИ
       |    СУММА(Количество),
       |    СУММА(Сумма)
       |ПО
       |    ОБЩИЕ,
       |    Номенклатура,
       |    Счет,
       |    Организация,
       |    Склад
       |{ИТОГИ ПО
       |    Организация,
       |    Склад,
       |    Номенклатура,
       |    Счет}";
   
   ВидСубконтоНоменклатура = v8.ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Номенклатура;
   ВидСубконтоСклады       = v8.ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Склады;
   
   ВидыСубконтоН = Новый Массив;
   ВидысубконтоН.Добавить(ВидСубконтоНоменклатура);
       
   ВидыСубконтоНС = Новый Массив;
   ВидысубконтоНС.Добавить(ВидСубконтоНоменклатура);
   ВидысубконтоНС.Добавить(ВидСубконтоСклады);
   
   
   СчетОтбора = v8.ПланыСчетов.Хозрасчетный.НайтиПоКоду("10.01");
   Запрос.УстановитьПараметр("Дата", ТекущаяДата());
   Запрос.УстановитьПараметр("ВидыСубконтоН", ВидыСубконтоН);
   Запрос.УстановитьПараметр("ВидыСубконтоНС", ВидыСубконтоНС);
   Запрос.УстановитьПараметр("СчетаУчетаНС", СчетОтбора);
   Запрос.УстановитьПараметр("СчетаУчетаН", СчетОтбора);
   Запрос.УстановитьПараметр("ПустойСклад", v8.Справочники.Склады.ПустаяСсылка());

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

выдает ошибку "Ошибка обработки представления "РегистрБухгалтерии.Хозрасчетный.Остатки:Недопустимое значение параметра виды субконто"

В чем может быть проблема?

Под отладчикм видно, что субконто заполнено

ВидСубконтоНоменклатура.Code    "00001"    Строка
ВидСубконтоНоменклатура.Description    "Номенклатура"    Строка
1 Wobland
 
06.05.13
08:10
в недопустимости его значения. следующий!
2 cw014
 
06.05.13
08:11
Ты пытаешься массив отправить в COM. Для ком - это кракозябры
3 AlexKhab
 
06.05.13
08:17
(2) переделал на    
ВидыСубконтоН = v8.NewObject("Массив");
   ВидысубконтоН.Добавить(ВидСубконтоНоменклатура);
       
   ВидыСубконтоНС = v8.NewObject("Массив");
   ВидысубконтоНС.Добавить(ВидСубконтоНоменклатура);
   ВидысубконтоНС.Добавить(ВидСубконтоСклады);

Все та же ошибка
4 cw014
 
06.05.13
08:18
Попробуй через COMSafeArray
5 kosts
 
06.05.13
08:38
(0) Попробуй значения которые передаешь через параметр получать непосредственно в самом запросе.
Типа вот так:

ЗадачаИсполнителя.Исполнитель <> ЗНАЧЕНИЕ(Справочник.Пользователи.ПустаяСсылка)

ОбъектыАдресацииЗадач.Ссылка = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ОбъектыАдресацииЗадач.ВсеОбъектыАдресации)
Программист всегда исправляет последнюю ошибку.