![]() |
![]() |
![]() |
|
Получить среднюю цену продажи и цену последней покупки | ☑ | ||
---|---|---|---|---|
0
John83
10.10.11
✎
17:05
|
Если во вложенном запросе по закупкам поставить "ПЕРВЫЕ", то получим только одну закупочную цену, если убрать, то все поступления. Что-то подзабыл, как подобные задачки решаются...
Подсобите, плз |
|||
1
John83
10.10.11
✎
17:05
|
ВЫБРАТЬ
Продажи.Номенклатура, Продажи.СредЦена, Закупки.ЦенаЗакупки, Закупки.ДокументЗакупки ИЗ (ВЫБРАТЬ ПродажиОбороты.Номенклатура КАК Номенклатура, СРЕДНЕЕ(ВЫБОР КОГДА ПродажиОбороты.КоличествоОборот = 0 ТОГДА 0 ИНАЧЕ ПродажиОбороты.СтоимостьОборот / ПродажиОбороты.КоличествоОборот КОНЕЦ) КАК СредЦена ИЗ РегистрНакопления.Продажи.Обороты(&Дата1, &Дата2, , ) КАК ПродажиОбороты СГРУППИРОВАТЬ ПО ПродажиОбороты.Номенклатура) КАК Продажи ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ Закупки.Номенклатура КАК Номенклатура, Закупки.Количество КАК Количество, Закупки.Стоимость КАК Стоимость, МАКСИМУМ(Закупки.ДокументЗакупки) КАК ДокументЗакупки, ВЫБОР КОГДА Закупки.Количество = 0 ТОГДА 0 ИНАЧЕ Закупки.Стоимость / Закупки.Количество КОНЕЦ КАК ЦенаЗакупки ИЗ РегистрНакопления.Закупки КАК Закупки ГДЕ Закупки.Регистратор ССЫЛКА Документ.ПоступлениеТоваровУслуг СГРУППИРОВАТЬ ПО Закупки.Номенклатура, Закупки.Количество, Закупки.Стоимость, ВЫБОР КОГДА Закупки.Количество = 0 ТОГДА 0 ИНАЧЕ Закупки.Стоимость / Закупки.Количество КОНЕЦ) КАК Закупки ПО Продажи.Номенклатура = Закупки.Номенклатура |
|||
2
Axel2009
10.10.11
✎
17:06
|
нужно выбрать макс дату поступления для начала. а потом уже получить цену.
|
|||
3
John83
10.10.11
✎
17:06
|
PS сейчас не рассматриваются случаи, когда закупка позже даты конца периода - просто понять суть
|
|||
4
shuhard
10.10.11
✎
17:07
|
(2) угу
в подзапросе/ВТ дату и на неё связать, если в одну секунду может быть несколько разных документов, то поставить среднюю по ним |
|||
5
John83
10.10.11
✎
17:21
|
(2)(4) кажись вспомнил
сейчас бум пробовать всем спасибо |
|||
6
John83
11.10.11
✎
11:25
|
(4) хм... а если нужно получить еще и того же контрагента из этого документа?
|
|||
7
John83
11.10.11
✎
11:26
|
пока вот такой вариант
ВЫБРАТЬ ПродажиОбороты.Номенклатура КАК Номенклатура, Закупки.ДокументЗакупки, ПродажиОбороты.КоличествоОборот ИЗ РегистрНакопления.Продажи.Обороты(&ДатаНач, &ДатаКон, , ) КАК ПродажиОбороты ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ ЗакупкиОбороты.Номенклатура КАК Номенклатура, ЗакупкиОбороты.ДокументЗакупки КАК ДокументЗакупки ИЗ РегистрНакопления.Закупки.Обороты(&ДатаНач, &ДатаКон, , ДокументЗакупки ССЫЛКА Документ.ПоступлениеТоваровУслуг) КАК ЗакупкиОбороты ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ ЗакупкиОбороты.Номенклатура КАК Номенклатура, МАКСИМУМ(ЗакупкиОбороты.ДокументЗакупки.Дата) КАК ДатаЗакупки ИЗ РегистрНакопления.Закупки.Обороты(&ДатаНач, &ДатаКон, , ДокументЗакупки ССЫЛКА Документ.ПоступлениеТоваровУслуг) КАК ЗакупкиОбороты СГРУППИРОВАТЬ ПО ЗакупкиОбороты.Номенклатура) КАК ПоследняяЗакупка ПО ЗакупкиОбороты.Номенклатура = ПоследняяЗакупка.Номенклатура И ЗакупкиОбороты.ДокументЗакупки.Дата = ПоследняяЗакупка.ДатаЗакупки) КАК Закупки ПО ПродажиОбороты.Номенклатура = Закупки.Номенклатура УПОРЯДОЧИТЬ ПО Номенклатура АВТОУПОРЯДОЧИВАНИЕ |
|||
8
John83
11.10.11
✎
11:30
|
хотя можно просто использовать МАКСИМУМ/МИНИМУМ в первом вложенном запросе - выберет какой-нить наобум
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |