К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

Вопрос про запрос.

Гость
0 - 03.04.2012 - 16:49
Помогите разобраться с запросом, конф. БП, пытаюсь сделать запрос, что бы при выборе номенклатуры выбиралась средняя цена. Отладчиком проверил отборы для запроса подставляются правильно, но само значение (цена) не поставляется.
Счет1 = СчетНом;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ХозрасчетныйОстатки.Счет КАК Счет,
| ХозрасчетныйОстатки.Субконто1 КАК Номенклатура,
| ХозрасчетныйОстатки.КоличествоОстаток КАК КоличествоОстаток,
| ХозрасчетныйОстатки.СуммаОстаток КАК СуммаОстаток,
| ВЫБОР
| КОГДА ХозрасчетныйОстатки.КоличествоОстаток > 0
| ТОГДА ХозрасчетныйОстатки.СуммаОстаток / ХозрасчетныйОстатки.КоличествоОстаток
| ИНАЧЕ 0
| КОНЕЦ КАК Цена
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.Остатки(&Период, , , ) КАК ХозрасчетныйОстатки
|ГДЕ
| ХозрасчетныйОстатки.Счет В ИЕРАРХИИ(&Счет)
| И ХозрасчетныйОстатки.Субконто1 = &Субконто1";
Запрос.УстановитьПараметр("Период",ТекущаяДата());
Запрос.УстановитьПараметр("Субконто1",СтрокаТЧ.Ном енклатура);
Запрос.УстановитьПараметр("Счет",Счет1);
Выборка = Запрос.Выполнить().Выбрать();



Uho
1 - 03.04.2012 - 16:56
ХозрасчетныйОстатки.КоличествоОстаток выведи для начала
ЗЫ. и кто тебя научил условия для виртуальной таблицы писать в секции ГДЕ?
Гость
2 - 03.04.2012 - 19:47
Uho - Можно чуть по подробней? На счет условия понял, что лучше в секции ИЗ указывать, а вот на счет КоличествоОстаток?
Гость
3 - 04.04.2012 - 07:22
Первым запросом (вложенным) собирай остатки, а вторым уже цену рассчитывай.
Гость
4 - 04.04.2012 - 07:26
Что то типа такого:
ВЫБРАТЬ
Остатки.Счет,
Остатки.Номенклатура,
Остатки.КоличествоОстаток,
Остатки.СуммаОстаток,
ВЫБОР
КОГДА Остатки.КоличествоОстаток > 0
ТОГДА Остатки.СуммаОстаток / Остатки.КоличествоОстаток
ИНАЧЕ 0
КОНЕЦ КАК Цена
ИЗ
(ВЫБРАТЬ
ХозрасчетныйОстатки.Счет КАК Счет,
ХозрасчетныйОстатки.Субконто1 КАК Номенклатура,
ХозрасчетныйОстатки.КоличествоОстаток КАК КоличествоОстаток,
ХозрасчетныйОстатки.СуммаОстаток КАК СуммаОстаток
ИЗ
РегистрБухгалтерии.Хозрасчетный.Остатки(&Период, , , ) КАК ХозрасчетныйОстатки
ГДЕ
ХозрасчетныйОстатки.Счет В ИЕРАРХИИ(&Счет)
И ХозрасчетныйОстатки.Субконто1 = &Субконто1) КАК Остатки
Гость
5 - 04.04.2012 - 09:02
Что то все равно не получается. Может что то не правильно делаю не в запросе?

СтрокаТЧ = ЭлементыФормы.Товары.ТекущиеДанные;
Счет1 = СчетНом;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Остатки.Счет,
| Остатки.Номенклатура,
| Остатки.КоличествоОстаток,
| Остатки.СуммаОстаток,
| ВЫБОР
| КОГДА Остатки.КоличествоОстаток > 0
| ТОГДА Остатки.СуммаОстаток / Остатки.КоличествоОстаток
| ИНАЧЕ 0
| КОНЕЦ КАК Цена
|ИЗ
| (ВЫБРАТЬ
| ХозрасчетныйОстатки.Счет КАК Счет,
| ХозрасчетныйОстатки.Субконто1 КАК Номенклатура,
| ХозрасчетныйОстатки.КоличествоОстаток КАК КоличествоОстаток,
| ХозрасчетныйОстатки.СуммаОстаток КАК СуммаОстаток
| ИЗ
| РегистрБухгалтерии.Хозрасчетный.Остатки(&Период, , , ) КАК ХозрасчетныйОстатки
| ГДЕ
| ХозрасчетныйОстатки.Счет В ИЕРАРХИИ(&Счет)
| И ХозрасчетныйОстатки.Субконто1 = &Субконто1) КАК Остатки";
Запрос.УстановитьПараметр("Период",Дата);
Запрос.УстановитьПараметр("Субконто1",СтрокаТЧ.Ном енклатура);
Запрос.УстановитьПараметр("Счет",Счет1);
Выборка = Запрос.Выполнить().Выбрать();




СтрокаТЧ.Цена = Выборка.Цена;
Гость
6 - 04.04.2012 - 09:04
Когда запрос, пропускаешь через консоль, то все выводиться.
Гость
7 - 04.04.2012 - 14:19
Все разобрался.


К списку вопросов






Copyright ©, Все права защищены