Вывод Итога через запрос

Новая тема
Показывать по 10 20 40 сообщений
"Тут такой смысл: Купили 3 печеньки по 20 руб и 4 печеньки по 16 руб. Нужно посчитать среднюю цену копленных печенек. Для этого считаем общее кол-во печенек, общую сумму печенек и в итоге делем Общую Цену на кол-во.

Тут как раз нужен только отбор по номенклатуре и складу.

Пока функция выглядит так:

&НаСервереБезКонтекста
Функция ПолучитьЗакупочнуюЦенуТовара(СкладКомпании, Номенклатура)

Запрос = Новый Запрос;
Запрос.Текст =
  "ВЫБРАТЬ
  | СУММА(ОстаткиТоваровОстатки.СуммаОстаток) / СУММА(ОстаткиТоваровОстатки.ОстатокОстаток) КАК ИТОГ
  |ИЗ
  | РегистрНакопления.ОстаткиТоваров.Остатки КАК ОстаткиТоваровОстатки
  |ГДЕ
  | ОстаткиТоваровОстатки.СкладКомпании = &СкладКомпании
  | И ОстаткиТоваровОстатки.Номенклатура = &Номенклатура";
Запрос.УстановитьПараметр("СкладКомпании", СкладКомпании);
Запрос.УстановитьПараметр("Номенклатура", Номенклатура);
Результат = Запрос.Выполнить().Выбрать();
Возврат Результат.ИТОГ;
КонецФункции


Но в итоге возвращается 0, а не нужное число"
Во-первых, как писал Bloodwiser:
> Условие ГДЕ, в данном случае, лучше поместить в параметры виртуальной таблицы остатки:
>  ИЗ  РегистрНакопления.ОстаткиТоваров.Остатки(, Номенклатура = &Номенклатура И СкладКомпании = &Склад) КАК ОстаткиТоваровОстатки
только убрать Период, если он не нужен,
а во-вторых нужен Результат.Следующий()
При таком способе всё равно возвращается 0 значение. (регистр заполненный и значения "0" быть не может)
Всё, разобрался в чем была проблема. Бонально нужно было ещё раз всем товарам в регистре присвоить теже самые имена. (видемо что-то менял в типах)
А Вы пытаетесь через форум экзамен какой-то сдать? Или может на работу устраиваетесь и тестовое задание решаете?
Читают тему
(гостей: 1)

Быстрый переход