|
получить среднюю цену | ☑ | ||
---|---|---|---|---|
0
denis_solyanko
22.01.15
✎
14:12
|
добрый день, задача в том что в запросе получаем все поступления которые были на номенклатуру, нужно расчитать среднюю цену, то есть нужно сложить все суммы по поступлениям и разделить на из количество как в цикле сложить, цены.
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ПоступлениеТоваровУслугТовары.Номенклатура, | ПоступлениеТоваровУслугТовары.Цена, | ПоступлениеТоваровУслугТовары.СуммаНДС, | ПоступлениеТоваровУслугТовары.Цена - ПоступлениеТоваровУслугТовары.СуммаНДС КАК СуммаБезНДС, | ПоступлениеТоваровУслугТовары.Цена КАК Цена1 |ИЗ | Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары |ГДЕ | ПоступлениеТоваровУслугТовары.Номенклатура = &Номенклатура"; Счетчик = 0; Для каждого Строка из Товары цикл Запрос.УстановитьПараметр("Номенклатура",Строка.Номенклатура); Результат = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = Результат.Выбрать(); Себестоимость=0; СтароеЗначение = 0; Пока ВыборкаДетальныеЗаписи.Следующий() Цикл Себестоимость = ВыборкаДетальныеЗаписи.СуммаБезНДС +СтароеЗначение/ВыборкаДетальныеЗаписи.Количество(); СтароеЗначение=ВыборкаДетальныеЗаписи.СуммаБезНДС; КонецЦикла; Строка.Себестоимость = Себестоимость; КонецЦикла; |
|||
1
elCust
22.01.15
✎
14:14
|
Согласовано. Можете выполнять.
|
|||
2
Дмитрий
22.01.15
✎
14:17
|
А в поступлении товаров и услуг только цена поступает, количество не поступает?
Или строго по одному приходят товары? |
|||
3
Maniac
22.01.15
✎
14:20
|
Праивльно сделать запрос по регистру Закупки.
Прибавит в 1000 раз скорость. И там просто поделить в запросе |
|||
4
Maniac
22.01.15
✎
14:24
|
ВЫБРАТЬ
ЗакупкиОбороты.Номенклатура, ЗакупкиОбороты.ХарактеристикаНоменклатуры, СУММА(ЗакупкиОбороты.КоличествоОборот) КАК КоличествоОборот, ВЫБОР КОГДА СУММА(ЗакупкиОбороты.КоличествоОборот) > 0 ТОГДА СУММА(ЗакупкиОбороты.СтоимостьОборот) / СУММА(ЗакупкиОбороты.КоличествоОборот) ИНАЧЕ 0 КОНЕЦ КАК СредняяЦена, СУММА(ЗакупкиОбороты.СтоимостьОборот) КАК СтоимостьОборот ИЗ РегистрНакопления.Закупки.Обороты(&НачалоПериода, &КонецПериода, , ) КАК ЗакупкиОбороты СГРУППИРОВАТЬ ПО ЗакупкиОбороты.Номенклатура, ЗакупкиОбороты.ХарактеристикаНоменклатуры |
|||
5
denis_solyanko
22.01.15
✎
14:30
|
(4) у меня нету такого регистра бухгалтерия
|
|||
6
Maniac
22.01.15
✎
14:32
|
Ок. С тебя пузырь.
ВЫБРАТЬ ПоступлениеТоваровУслугТовары.Номенклатура, ПоступлениеТоваровУслугТовары.ХарактеристикаНоменклатуры, СУММА(ПоступлениеТоваровУслугТовары.Количество) КАК Количество, ВЫБОР КОГДА СУММА(ПоступлениеТоваровУслугТовары.Количество) > 0 ТОГДА СУММА(ПоступлениеТоваровУслугТовары.Сумма) / СУММА(ПоступлениеТоваровУслугТовары.Количество) ИНАЧЕ 0 КОНЕЦ КАК СредняяЦена, СУММА(ПоступлениеТоваровУслугТовары.Сумма) КАК Сумма ИЗ Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары ГДЕ ПоступлениеТоваровУслугТовары.Ссылка.Дата МЕЖДУ &НачалоПериода И &КонецПериода СГРУППИРОВАТЬ ПО ПоступлениеТоваровУслугТовары.Номенклатура, ПоступлениеТоваровУслугТовары.ХарактеристикаНоменклатуры |
|||
7
denis_solyanko
22.01.15
✎
14:35
|
в общем суть такова допусти было 2 поступления, по две номенклатуры
поступление 1 карандаш 2шт цена 10 ручка 2шт цена 5 Поступление 2 карандаш 1шт цена 9 ручка 1шт цена 6 средняя по строке карандаш = (20+9)/3(Это количество общее со всех поступленй по данной номенклатуре 2+1) средняя по строке ручка = (10+6)/3 |
|||
8
Maniac
22.01.15
✎
14:36
|
Глаза разбуй.
|
|||
9
denis_solyanko
22.01.15
✎
14:53
|
(8) интернет подвис просто))))
спасибо выручил)) чего пузырь то)) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |