Имя: Пароль:
1C
1С v8
Помогите пожалуйста с запросом!
0 mua thu
 
13.09.13
15:33
Запрос.Текст =
    "ВЫБРАТЬ
    |    ХозрасчетныйОстатки.Счет,
    |    ХозрасчетныйОстатки.Субконто1,
    |    ХозрасчетныйОстатки.Субконто2,
    |    ХозрасчетныйОстатки.Субконто3,
    |    ХозрасчетныйОстатки.Организация,
    |    ХозрасчетныйОстатки.КоличествоОстаток
    |ИЗ
    |    РегистрБухгалтерии.Хозрасчетный.Остатки(
    |            &Период,
    |            ,
    |            ,
    |            Субконто2 В (&Номенклатура)
    |                И Организация В (&Организации)) КАК ХозрасчетныйОстатки
    |ГДЕ
    |    ХозрасчетныйОстатки.Счет = &Счет
    |    И ХозрасчетныйОстатки.КоличествоОстаток > &Ноль";
    
    Запрос.УстановитьПараметр("Номенклатура", Номенклатура);
    Запрос.УстановитьПараметр("Организации", ЭтотОбъект.Организация);
    Запрос.УстановитьПараметр("Период", ЭтотОбъект.МоментВремени());
    Запрос.УстановитьПараметр("Ноль", ноль);
    Запрос.УстановитьПараметр("Счет", Счет);
    
    Результат = Запрос.Выполнить();
    
    ТаблицаАналогов = Результат.Выгрузить();

Конфиггурация БУ Украины 1.2. Счет = 206, ноль =0. Если параметр  Номенклатура = список номенклатуры - не работает запрос, если Номенклатура = элемент номенклатуры - все работает... Подскажите пожалуйста!
1 ДенисЧ
 
13.09.13
15:35
Для начала сделай ВЫРАЗИТЬ для субконто2
А потом вместо списка используй массив.
2 mua thu
 
13.09.13
15:37
Пробую спасибо!
3 mua thu
 
13.09.13
16:10
ТаблицаАналоговПоПартиях(ЭтотОбъект,Счет,Номенклатура) Экспорт
    ноль = 0;
    мНоменклатура = Новый Массив;
    Для каждого элт Из Номенклатура Цикл
        мНоменклатура.Добавить(элт.Значение);
    КонецЦикла;     
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |    ХозрасчетныйОстатки.Счет,
    |    ХозрасчетныйОстатки.Субконто1,
    |    ВЫРАЗИТЬ(ХозрасчетныйОстатки.Субконто2 КАК Справочник.Номенклатура) КАК Субконто2,
    |    ХозрасчетныйОстатки.Субконто3,
    |    ХозрасчетныйОстатки.Организация,
    |    ХозрасчетныйОстатки.КоличествоОстаток
    |ИЗ
    |    РегистрБухгалтерии.Хозрасчетный.Остатки(
    |            &Период,
    |            ,
    |            ,
    |            Субконто2 В (&Ном)
    |                И Организация В (&Организации)) КАК ХозрасчетныйОстатки
    |ГДЕ
    |    ХозрасчетныйОстатки.Счет = &Счет
    |    И ХозрасчетныйОстатки.КоличествоОстаток > &Ноль";
    
    Запрос.УстановитьПараметр("Ном", мНоменклатура);
    Запрос.УстановитьПараметр("Организации", ЭтотОбъект.Организация);
    Запрос.УстановитьПараметр("Период", ЭтотОбъект.МоментВремени());
    Запрос.УстановитьПараметр("Ноль", ноль);
    Запрос.УстановитьПараметр("Счет", Счет);
    
    Результат = Запрос.Выполнить();
    
    ТаблицаАналогов = Результат.Выгрузить();

Пробую так - не работает все равно..
4 Apokalipsec
 
13.09.13
16:15
ноль = 0 - это пять
Про произвольное условие в запросе не слышали?)
Где передача параметров в запрос?
5 KuAl
 
13.09.13
16:16
прикольно ты "ХозрасчетныйОстатки.КоличествоОстаток > &Ноль"))))

отладчиком посмотри что у тебя в мНоменклатура при установке параметра
6 mua thu
 
13.09.13
16:19
(4) не я так написал - мне лень изменять...=))
7 mua thu
 
13.09.13
16:20
В мНоменклатура - массив значений номенклатуры
8 Apokalipsec
 
13.09.13
16:24
(7) Тип какой? может там строковые наименования а не ссылки у тебя.
9 mua thu
 
13.09.13
16:27
там ссылки не строка
10 hhhh
 
13.09.13
16:32
не группы?
11 mua thu
 
13.09.13
16:51
(10) та нет. Ок спасибо!
12 mua thu
 
13.09.13
17:07
Все получилось! В самом запросе все ОК - дело было в параметре Счет - вместо ссылки передавалась строка. Код не я писал! =))))