![]() |
![]() |
![]() |
|
Оптимальное решение | ☑ | ||
---|---|---|---|---|
0
cool
27.02.13
✎
09:36
|
РН Продажи
"дата", "Ном-ра" "Кол-во" РС Цены (период "день") "дата", "Ном-ра" "Цена" Отчет дата Ном-ра Кол-во Сумма в розничных ценах ценах Предполагаемое ниже решение подразумевает "запрос в цикле", что нельзя Запрос к регистру продаж (сгруппировав по номенклатуре в пределах периодичности регистра сведений, так как в ином случае цена будет неактуальной) и использовать из полученных записей реквизиты, номенклатура и период, в качестве параметров к срезу последних регистра сведений полученную цену перемножать на количество и писать например в таблицу значений, потом эту таблицу выводить в качестве этого отчета, сворачивать и что-то еще с ней делать не нужно, так как у нас детализация по дате нужна Вопрос, как избавиться от запроса в цикле, как сделать с помощью одного запроса? Замена запроса на объектное обращение к РС использовав структура в качестве отбора считается таким же запросом, так нельзя |
|||
1
butterbean
27.02.13
✎
09:39
|
нифига не понял, но вот это поможет Книга знаний: Срез последних на каждую дату в запросе
|
|||
2
Shurjk
27.02.13
✎
09:39
|
В поиск этой теме уже лет 5 не меньше.
|
|||
3
Alex S D
27.02.13
✎
09:39
|
что мешает соединить по дате и по номенклатуре?
|
|||
4
cool
27.02.13
✎
09:58
|
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ | ПродажиОбороты.Период, | ПродажиОбороты.Номенклатура, | ПродажиОбороты.КоличествоОборот |ПОМЕСТИТЬ ВремТаб |ИЗ | РегистрНакопления.Продажи.Обороты(&ДатаНачала, &ДатаОкончания, День, ) КАК ПродажиОбороты |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ВремТаб.Период, | ВремТаб.Номенклатура, | ВремТаб.КоличествоОборот, | ВремТаб.КоличествоОборот * ЦеныНоменклатуры.Сумма КАК Сумма |ИЗ | ВремТаб КАК ВремТаб | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры | ПО ВремТаб.Период = ЦеныНоменклатуры.Период | И ВремТаб.Номенклатура = ЦеныНоменклатуры.Номенклатура"; |
|||
5
cool
27.02.13
✎
09:59
|
Интересует, это классическая задача, и есть ли красивое решение?
|
|||
6
andreymongol82
27.02.13
✎
10:01
|
(5) Это классическая
|
|||
7
cool
27.02.13
✎
10:04
|
На РС мы можем в качестве параметра отбор по номенклатуре из ВремТаб передать? Нужно ли это делать? Просто до соединения мы получаем весь регистр сведений, это нехорошо.
|
|||
8
cool
04.03.13
✎
11:40
|
| И ВремТаб.Номенклатура = ЦеныНоменклатуры.Номенклатура";
Тут надо >= вместо = ,но работать не будет, вернее будет, но будут выбираться записи и за прошлые даты изменения цен. Кто подскажет как надо? |
|||
9
Fragster
гуру
04.03.13
✎
11:40
|
Оптимально запилить в Продажи ресурс/реквизит СуммаБезСкидок
|
|||
10
cool
04.03.13
✎
11:43
|
не-не-не, структуру регистров менять нельзя, ресурсы добавлять нельзя
|
|||
11
Fragster
гуру
04.03.13
✎
11:50
|
(10) риальне, летать будет на любом количестве данных. а всякие костыли со срезом последних на каждую дату тебя вынуждают делать выборку по дням даже если у тебя отчет помесячный
|
|||
12
cool
04.03.13
✎
12:01
|
(11) А если несколько типов цен, тогда добавлять измерение еще, это понятно, но как решить задачу из того, что есть?
|
|||
13
Fragster
гуру
04.03.13
✎
12:10
|
(12) не, ну хотелки маркетологов убьют любую базу, да.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |