Помогите с запросом
15.02.2012
10:06
#1
"День добрый.
Не могу врубиться как правильно сделать. Задача выбрать остатки по товару по заданной группе номенклатуры, пишу -
"ВЫБРАТЬ
| ТоварыНаСкладахОстаткиИОбороты.Номенклатура КАК Номенклатура,
|
| СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток) КАК КоличествоКонечныйОстаток
|
|ИЗ
| РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&Дата1, &Дата2, , , ) КАК ТоварыНаСкладахОстаткиИОбороты
|
|ГДЕ
| ТоварыНаСкладахОстаткиИОбороты.Номенклатура.Родитель.Ссылка = &ВыбГруппа
|
|СГРУППИРОВАТЬ ПО
| ТоварыНаСкладахОстаткиИОбороты.Номенклатура";
Запрос.УстановитьПараметр("Дата1" ,Дата1);
Запрос.УстановитьПараметр("Дата2" ,Дата2);
Запрос.УстановитьПараметр("ВыбГруппа", ВыбГруппа.Ссылка);
Но выборка идет только для тех элементов номенклатуры, для которых "ВыбГруппа" является непоследственным Родителем, а для уровней ниже не получается. Как проблему победить?
ВыбГруппа - это поле в отчете."
Не могу врубиться как правильно сделать. Задача выбрать остатки по товару по заданной группе номенклатуры, пишу -
"ВЫБРАТЬ
| ТоварыНаСкладахОстаткиИОбороты.Номенклатура КАК Номенклатура,
|
| СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток) КАК КоличествоКонечныйОстаток
|
|ИЗ
| РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&Дата1, &Дата2, , , ) КАК ТоварыНаСкладахОстаткиИОбороты
|
|ГДЕ
| ТоварыНаСкладахОстаткиИОбороты.Номенклатура.Родитель.Ссылка = &ВыбГруппа
|
|СГРУППИРОВАТЬ ПО
| ТоварыНаСкладахОстаткиИОбороты.Номенклатура";
Запрос.УстановитьПараметр("Дата1" ,Дата1);
Запрос.УстановитьПараметр("Дата2" ,Дата2);
Запрос.УстановитьПараметр("ВыбГруппа", ВыбГруппа.Ссылка);
Но выборка идет только для тех элементов номенклатуры, для которых "ВыбГруппа" является непоследственным Родителем, а для уровней ниже не получается. Как проблему победить?
ВыбГруппа - это поле в отчете."
15.02.2012
10:36
#2
"1. Не "Родитель.Ссылка=&ВыбГруппа", а "Номенклатура в иерархии(&ВыбГруппа)".
2. Устанвливать такой отбор нужно на параметры виртуальной таблицы "ОстаткиИОбороты" - "РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&Дата1, &Дата2, , , Номенклатура В ИЕРАРХИИ (&ВыбГруппа))".
3. Если нужен только остаток, то использовать нужно виртуальную таблицу "Остатки", а не "ОстаткиИОбороты".
4. Для более корректной выборки данных из регистра накопления периоды лучше задавать границами, т.е.
...
5. Если переменная "ВыбГруппа" имеет тип значение "СправочникСсылка.Номенклатура", то не нужно использовать ".Ссылка", достаточно просто обращаться по имени переменной."
2. Устанвливать такой отбор нужно на параметры виртуальной таблицы "ОстаткиИОбороты" - "РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&Дата1, &Дата2, , , Номенклатура В ИЕРАРХИИ (&ВыбГруппа))".
3. Если нужен только остаток, то использовать нужно виртуальную таблицу "Остатки", а не "ОстаткиИОбороты".
4. Для более корректной выборки данных из регистра накопления периоды лучше задавать границами, т.е.
...
Запрос.УстановитьПараметр("Дата1", Новый Граница(НачалоДня(Дата1), ВидГраницы.Включая));Запрос.УстановитьПараметр("Дата2", Новый Граница(КонецДня(Дата2), ВидГраницы.Включая)); 5. Если переменная "ВыбГруппа" имеет тип значение "СправочникСсылка.Номенклатура", то не нужно использовать ".Ссылка", достаточно просто обращаться по имени переменной."
Проблема с пользователями и доступомНекорректная работа формы Начисление зарплаты работникам... на вкладке Прочие удержания
Читают тему
(гостей: 1)