Гость
Форумы / [игнор отключен] [закрыт для гостей] / Как получить данные за несколько периодов? / 8 сообщений из 8, страница 1 из 1
13.09.2016, 11:16
    #39308227
LittleLoya
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить данные за несколько периодов?
Всем доброго времени суток. Подскажите, пожалуйста, как выбрать продажи за несколько периодов? УТ10.3 1С8.2

Пытаюсь объединением:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
ВЫБРАТЬ
    ПродажиОбороты.Контрагент.ОсновнойМенеджерПокупателя КАК МенеджерПокупателя,
    ПродажиОбороты.Контрагент.Регион КАК Регион,
    ПродажиОбороты.Контрагент КАК Контрагент,
    ПродажиОбороты.СтоимостьРеглОборот КАК Продажи1,
    0 КАК Продажи2
ИЗ
    РегистрНакопления.Продажи.Обороты(&НачалоПериода1, &КонецПериода1, , Контрагент.Регион В ИЕРАРХИИ (&Регион)) КАК ПродажиОбороты
 
ОБЪЕДИНИТЬ ВСЕ
 
ВЫБРАТЬ
    ПродажиОбороты.Контрагент.ОсновнойМенеджерПокупателя,
    ПродажиОбороты.Контрагент.Регион,
    ПродажиОбороты.Контрагент,
    0,
    ПродажиОбороты.СтоимостьРеглОборот
ИЗ
    РегистрНакопления.Продажи.Обороты(&НачалоПериода2, &КонецПериода2, , Контрагент.Регион В ИЕРАРХИИ (&Регион)) КАК ПродажиОбороты
 
УПОРЯДОЧИТЬ ПО
    Регион
ИТОГИ
    СУММА(Продажи1),
    СУММА(Продажи2)
ПО
    ОБЩИЕ,
    МенеджерПокупателя,
    Регион


Но в этом случае задваивает контрагентов, если у них были продажи в обоих периодах. Подскажите, пожалуйста, что не так делаю?
...
Рейтинг: 0 / 0
13.09.2016, 11:31
    #39308250
Zerro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить данные за несколько периодов?
РегистрНакопления.Продажи.Обороты(&НачалоПериода2, &КонецПериода2, День, )

так будет по дням. можно месяц написать.. или сразу в скд делать - период будет измерением
...
Рейтинг: 0 / 0
14.09.2016, 14:49
    #39309065
Владимир Лазурко
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить данные за несколько периодов?
Убери это из запроса
LittleLoya
Код: sql
1.
2.
3.
4.
5.
6.
7.
ИТОГИ
    СУММА(Продажи1),
    СУММА(Продажи2)
ПО
    ОБЩИЕ,
    МенеджерПокупателя,
    Регион


А сам запрос с объединением помести во вложенный или во временную таблицу, потом сверни.

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
ВЫБРАТЬ разрешенные
    ПродажиОбороты.Контрагент.ОсновнойМенеджерПокупателя КАК МенеджерПокупателя,
    ПродажиОбороты.Контрагент.Регион КАК Регион,
    ПродажиОбороты.Контрагент КАК Контрагент,
    ПродажиОбороты.СтоимостьРеглОборот КАК Продажи1,
    0 КАК Продажи2
поместить втПродажи
ИЗ
    РегистрНакопления.Продажи.Обороты(&НачалоПериода1, &КонецПериода1, , Контрагент.Регион В ИЕРАРХИИ (&Регион)) КАК ПродажиОбороты
 
ОБЪЕДИНИТЬ ВСЕ
 
ВЫБРАТЬ
    ПродажиОбороты.Контрагент.ОсновнойМенеджерПокупателя,
    ПродажиОбороты.Контрагент.Регион,
    ПродажиОбороты.Контрагент,
    0,
    ПродажиОбороты.СтоимостьРеглОборот
ИЗ
    РегистрНакопления.Продажи.Обороты(&НачалоПериода2, &КонецПериода2, , Контрагент.Регион В ИЕРАРХИИ (&Регион)) КАК ПродажиОбороты
;
выбрать МенеджерПокупателя, Регион, Контрагент, сумма(Продажи1), сумма(Продажи2) из втПродажи сгруппировать по МенеджерПокупателя, Регион, Контрагент
...
Рейтинг: 0 / 0
14.09.2016, 14:58
    #39309076
Zerro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить данные за несколько периодов?
Владимир Лазурко,

ты знаешь сколько периодов нужно? а если нет? программно мегазапрос делать? бред
есть возможность делать с измерением по периодам -делаем.

ВЫБРАТЬ
ПродажиОбороты.Контрагент.ОсновнойМенеджерПокупателя КАК МенеджерПокупателя,
ПродажиОбороты.Контрагент.Регион КАК Регион,
ПродажиОбороты.Контрагент КАК Контрагент,
ПродажиОбороты.СтоимостьРеглОборот КАК Продажи1,
0 КАК Продажи2
ИЗ
РегистрНакопления.Продажи.Обороты(&НачалоПериода1, &КонецПериода88, Месяц , Контрагент.Регион В ИЕРАРХИИ (&Регион)) КАК ПродажиОбороты


нет - берем начальные остатки и умножаем на движения за период ( их ещё сами с собой - чтобы получился нарастающий итог) и будет полная обработка хоть по документу хоть по периоду.
...
Рейтинг: 0 / 0
14.09.2016, 16:49
    #39309178
Владимир Лазурко
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить данные за несколько периодов?
Zerro, потише на поворотах. Или это твинк ТС?

Мне видно в исходном запросе, что два периода, два запроса в объединении.
Мы ведь не знаем всей задачи, что это берется - сравнить продажи за этот год с предыдущим годом или этот месяц с таким же месяцем в прошлом году или поквартально сравнить этот квартал с таким же кварталом прошлого года.
В условии не сказано, что периодов может быть больше двух, и не указана периодичность МЕСЯЦ.

Если автор уточнит, что периодов может быть множество и они должны быть разбиты по равным интервалам с периодичностью МЕСЯЦ, или наоборот, периоды будут заданы произвольно и каждый период может быть и не привязан к стандартным границам периодов МЕСЯЦ. ДЕКАДА, ДЕНЬ и т.д. то и будем плясать от этого.

В торговле одеждами периоды - сезоны и вовсе не привязаны к календарным кварталам, а условным "временам года" и т.д. и т.п.
...
Рейтинг: 0 / 0
14.09.2016, 16:54
    #39309186
Владимир Лазурко
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить данные за несколько периодов?
LittleLoyaНо в этом случае задваивает контрагентов, если у них были продажи в обоих периодах. Подскажите, пожалуйста, что не так делаю?Задваивает - надо сгруппировать, аналог действия с таблицей значений Свернуть.
В моем запросе это "сгруппировать по" в блоке
Код: sql
1.
2.
3.
4.
;
выбрать МенеджерПокупателя, Регион, Контрагент, сумма(Продажи1), сумма(Продажи2)
из втПродажи
сгруппировать по МенеджерПокупателя, Регион, Контрагент


Да и туда же можно и добавить итоги, получится так:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
ВЫБРАТЬ разрешенные
    ПродажиОбороты.Контрагент.ОсновнойМенеджерПокупателя КАК МенеджерПокупателя,
    ПродажиОбороты.Контрагент.Регион КАК Регион,
    ПродажиОбороты.Контрагент КАК Контрагент,
    ПродажиОбороты.СтоимостьРеглОборот КАК Продажи1,
    0 КАК Продажи2
поместить втПродажи
ИЗ
    РегистрНакопления.Продажи.Обороты(&НачалоПериода1, &КонецПериода1, , Контрагент.Регион В ИЕРАРХИИ (&Регион)) КАК ПродажиОбороты
 
ОБЪЕДИНИТЬ ВСЕ
 
ВЫБРАТЬ
    ПродажиОбороты.Контрагент.ОсновнойМенеджерПокупателя,
    ПродажиОбороты.Контрагент.Регион,
    ПродажиОбороты.Контрагент,
    0,
    ПродажиОбороты.СтоимостьРеглОборот
ИЗ
    РегистрНакопления.Продажи.Обороты(&НачалоПериода2, &КонецПериода2, , Контрагент.Регион В ИЕРАРХИИ (&Регион)) КАК ПродажиОбороты
;
выбрать МенеджерПокупателя, Регион, Контрагент, сумма(Продажи1), сумма(Продажи2)
из втПродажи
сгруппировать по МенеджерПокупателя, Регион, Контрагент
ИТОГИ
    СУММА(Продажи1),
    СУММА(Продажи2)
ПО
    ОБЩИЕ,
    МенеджерПокупателя,
    Регион

Пишу "на коленке", без доступа к 1С, поэтому могут быть неточности.
...
Рейтинг: 0 / 0
14.09.2016, 20:28
    #39309312
Zerro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить данные за несколько периодов?
Владимир ЛазуркоZerro, потише на поворотах. Или это твинк ТС?

Мне видно в исходном запросе, что два периода, два запроса в объединении.
Мы ведь не знаем всей задачи, что это берется - сравнить продажи за этот год с предыдущим годом или этот месяц с таким же месяцем в прошлом году или поквартально сравнить этот квартал с таким же кварталом прошлого года.
В условии не сказано, что периодов может быть больше двух, и не указана периодичность МЕСЯЦ.

Если автор уточнит, что периодов может быть множество и они должны быть разбиты по равным интервалам с периодичностью МЕСЯЦ, или наоборот, периоды будут заданы произвольно и каждый период может быть и не привязан к стандартным границам периодов МЕСЯЦ. ДЕКАДА, ДЕНЬ и т.д. то и будем плясать от этого.

В торговле одеждами периоды - сезоны и вовсе не привязаны к календарным кварталам, а условным "временам года" и т.д. и т.п.
)твинк с 9000 сообщениями?
Если два разных периода то да после сложения надо сгруппировать
...
Рейтинг: 0 / 0
15.09.2016, 09:29
    #39309450
Владимир Лазурко
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить данные за несколько периодов?
ZerroЕсли два разных периода то да после сложения надо сгруппироватьДумаю, это и есть решение проблемы ТС.
...
Рейтинг: 0 / 0
Форумы / [игнор отключен] [закрыт для гостей] / Как получить данные за несколько периодов? / 8 сообщений из 8, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]