![]() |
![]() |
![]() |
|
СКД: Помогите с отчетом на компоновке | ☑ | ||
---|---|---|---|---|
0
also
25.08.09
✎
12:05
|
Приветствую всех! Вот решил заняться благим делом. Порешать задачки на спеца по платформе. Засел как ни странно на отчете. В общем задание такое: построить отчет по анализу продаж за период. Отчет должен выглядеть так
___________________________________________________________ |Ном-ра|Кол-во|Себестоимость|Продажа|Прибыль|Интервал|Срок| | | | | | | | | | | | | | | | | В общем засел на поле Интервал. Интервал - расчетный показатель. Средний интервал отгрузок (в днях). Рассчитывается как дата первой отгрузки минус дата последний отгрузки поделенное на количество отгрузок. Собственно у меня уже сделан оборотный регистр "Продажи"(Контрагент, Номенклатура|Количество, Сумма). Вобщем-то главная проблема не могу понять как получить табличку |Ном-ра1|ДатаПервойОтгрузки1| |Ном-ра2|ДатаПервойОтгрузки1| ............................. Ну и с последней отгрузкой также. Как их объединить и посчитать я уж соображу, а в получении таких табличек чего-то завис |
|||
1
also
25.08.09
✎
12:05
|
Блин, извиняюсь. Поменяйте тему на v8
|
|||
2
also
25.08.09
✎
12:13
|
Вот таким запросом
ВЫБРАТЬ ПродажиОбороты.Номенклатура, ПродажиОбороты.Регистратор.Дата ИЗ РегистрНакопления.Продажи.Обороты(, , Регистратор, ) КАК ПродажиОбороты я получаю такую таблицу |Ном-ра1|ДатаПервойОтгрузки1| |Ном-ра2|ДатаПервойОтгрузки2| |Ном-ра1|ДатаСледующейОтгрузки1| |Ном-ра2|ДатаСледующейОтгрузки2| ........................ Как условие наложить чтобы получить только |Ном-ра1|ДатаПервойОтгрузки1| |Ном-ра2|ДатаПервойОтгрузки2| |
|||
3
eklmn
гуру
25.08.09
✎
12:19
|
РегистрНакопления.Продажи.Обороты(, , ДЕНЬ, )
+ условие по периоду |
|||
4
also
25.08.09
✎
12:20
|
(3) Мне кажется день не канает. Потому что каждый документ это отгрузка, а их может быть несколько в день
|
|||
5
also
25.08.09
✎
12:35
|
ап
|
|||
6
Vitello
25.08.09
✎
12:36
|
Вложенный запрос с выбрать первые 1 и соеднинением потом с номенклатурой?
|
|||
7
also
25.08.09
✎
12:41
|
(6)Вот я тоже о чем то таком думал. Только получается что нужно не ВЫБРАТЬ ПЕРВЫЕ 1, а ВЫБРАТЬ ПЕРВЫЕ n, где n-количество номенклатуры
|
|||
8
also
25.08.09
✎
12:43
|
+(7) потому как ДатаПервойОтгрузки1 может не равняться ДатаПервойОтгрузки2
|
|||
9
Aprobator
25.08.09
✎
13:11
|
ЛЕВОЕ СОЕДИНЕНИЕ на само себя с условием ДАТА1 > ДАТА2 и МАКС(ДАТА2)
|
|||
10
also
25.08.09
✎
14:22
|
(9) Блин, а не можешь написать. Чего то все не получается (
|
|||
11
also
25.08.09
✎
14:48
|
подниму еще разок
|
|||
12
Aprobator
25.08.09
✎
17:42
|
Лови, код далеко не идеальный. В частности в том плане, что даты предыдущей отгрузки смотреть по виртуальной таблице не есть хорошо (это лучше делать по основной таблице), ну и т.д.. Идею схватишь - сделаешь все красиво. Идеально писать лениво. Да и ковыряясь сам подрастешь.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |