Форум на Kuban.ru (http://forums.kuban.ru/)
-   Территория 1С (http://forums.kuban.ru/f1040/)
-   -   выборка в запросе оборотов помесячно (http://forums.kuban.ru/f1040/vyborka_v_zaprose_oborotov_pomesyachno-6724946.html)

LivingStar 16.04.2015 08:15

выборка в запросе оборотов помесячно
 
1с 8.3, УТ 11, выборка по документу ОтчетОРозничныхпродажах. Как можно сделать в запросе что бы, при выборе периода скажем за пол года, выводились колонки количество по каждому месяцу участвующем в выборке и количеству по каждому месяцу участвующем в выборке. В приведенном примере выборка количества и суммы, только на установленный период. Как сделать динамически разбивку по месяцам? Можно ли это сделать в одном запросе?
|
ВЫБРАТЬ
ОтчетОРозничныхПродажахТовары.Номенклатура КАК Номенклатура,
ОтчетОРозничныхПродажахТовары.Номенклатура.Артикул КАК Артикул,
ОтчетОРозничныхПродажахТовары.Номенклатура.Родитель КАК Группа_1,
ОтчетОРозничныхПродажахТовары.Номенклатура.Родитель.Родитель КАК Группа_2,
ОтчетОРозничныхПродажахТовары.Номенклатура.Родитель.Родитель.Родитель КАК Группа_3,
ВЫБОР
КОГДА ОтчетОРозничныхПродажахТовары.Номенклатура.Родитель.Родитель.Родитель.Родитель <> ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
ТОГДА ОтчетОРозничныхПродажахТовары.Номенклатура.Родитель.Родитель.Родитель.Родитель
ИНАЧЕ ОтчетОРозничныхПродажахТовары.Номенклатура.Родитель.Родитель.Родитель
КОНЕЦ КАК Группа_4,
СУММА(ОтчетОРозничныхПродажахТовары.Количество) КАК Количество,
СУММА(ОтчетОРозничныхПродажахТовары.Сумма) КАК Сумма
ИЗ
Документ.ОтчетОРозничныхПродажах.Товары КАК ОтчетОРозничныхПродажахТовары
ГДЕ
ОтчетОРозничныхПродажахТовары.Ссылка.Дата МЕЖДУ &НачДата И &КонДата
И ОтчетОРозничныхПродажахТовары.Ссылка.Склад = &Склад

СГРУППИРОВАТЬ ПО
ОтчетОРозничныхПродажахТовары.Номенклатура,
ОтчетОРозничныхПродажахТовары.Номенклатура.Артикул,
ОтчетОРозничныхПродажахТовары.Номенклатура.Родитель,
ОтчетОРозничныхПродажахТовары.Номенклатура.Родитель.Родитель,
ОтчетОРозничныхПродажахТовары.Номенклатура.Родитель.Родитель.Родитель,
ВЫБОР
КОГДА ОтчетОРозничныхПродажахТовары.Номенклатура.Родитель.Родитель.Родитель.Родитель <> ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
ТОГДА ОтчетОРозничныхПродажахТовары.Номенклатура.Родитель.Родитель.Родитель.Родитель
ИНАЧЕ ОтчетОРозничныхПродажахТовары.Номенклатура.Родитель.Родитель.Родитель
КОНЕЦ

roma n 16.04.2015 11:46

Разрешаю...

СГРУППИРОВАТЬ ПО
НачалоПериода(ОтчетОРозничныхПродажахТовары.Ссылка.Дата,МЕСЯЦ)

LivingStar 16.04.2015 12:39

(1) roma n
Вы реально видите решение, я все думаю как это сделать!! Думал даже делать таблицами, заполняя основную для вывода как в 7.7, но думаю не актуально и не целесообразно. Нужно искать правильные и очевидные решения с применением нового функционала. Пробовал делать пакетным запросом, но как динамически менять количество пакетных запросов, на каждый месяц?
|
ВЫБРАТЬ
ОтчетОРозничныхПродажахТовары.Номенклатура КАК Номенклатура,
ОтчетОРозничныхПродажахТовары.Номенклатура.Артикул КАК Артикул,
ОтчетОРозничныхПродажахТовары.Номенклатура.Родитель КАК Группа_1,
ОтчетОРозничныхПродажахТовары.Номенклатура.Родитель.Родитель КАК Группа_2,
ОтчетОРозничныхПродажахТовары.Номенклатура.Родитель.Родитель.Родитель КАК Группа_3,
ВЫБОР
КОГДА ОтчетОРозничныхПродажахТовары.Номенклатура.Родитель.Родитель.Родитель.Родитель <> ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
ТОГДА ОтчетОРозничныхПродажахТовары.Номенклатура.Родитель.Родитель.Родитель.Родитель
ИНАЧЕ ОтчетОРозничныхПродажахТовары.Номенклатура.Родитель.Родитель.Родитель
КОНЕЦ КАК Группа_4
ПОМЕСТИТЬ ВТ_НомГруппы
ИЗ
Документ.ОтчетОРозничныхПродажах.Товары КАК ОтчетОРозничныхПродажахТовары
ГДЕ
ОтчетОРозничныхПродажахТовары.Ссылка.Дата МЕЖДУ &НачДата И &КонДата

СГРУППИРОВАТЬ ПО
ОтчетОРозничныхПродажахТовары.Номенклатура,
ОтчетОРозничныхПродажахТовары.Номенклатура.Артикул,
ОтчетОРозничныхПродажахТовары.Номенклатура.Родитель,
ОтчетОРозничныхПродажахТовары.Номенклатура.Родитель.Родитель,
ОтчетОРозничныхПродажахТовары.Номенклатура.Родитель.Родитель.Родитель,
ВЫБОР
КОГДА ОтчетОРозничныхПродажахТовары.Номенклатура.Родитель.Родитель.Родитель.Родитель <> ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
ТОГДА ОтчетОРозничныхПродажахТовары.Номенклатура.Родитель.Родитель.Родитель.Родитель
ИНАЧЕ ОтчетОРозничныхПродажахТовары.Номенклатура.Родитель.Родитель.Родитель
КОНЕЦ

ИНДЕКСИРОВАТЬ ПО
Номенклатура
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ОтчетОРозничныхПродажахТовары.Номенклатура КАК Номенклатура,
СУММА(ОтчетОРозничныхПродажахТовары.Количество) КАК Количество,
СУММА(ОтчетОРозничныхПродажахТовары.Сумма) КАК Сумма
ПОМЕСТИТЬ ВТ_ДокОбороты
ИЗ
Документ.ОтчетОРозничныхПродажах.Товары КАК ОтчетОРозничныхПродажахТовары
ГДЕ
ОтчетОРозничныхПродажахТовары.Ссылка.Дата МЕЖДУ &НачДата И &КонДата

СГРУППИРОВАТЬ ПО
ОтчетОРозничныхПродажахТовары.Номенклатура

ИНДЕКСИРОВАТЬ ПО
Номенклатура
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ВТ_НомГруппы.Номенклатура,
ВТ_НомГруппы.Артикул,
ВТ_НомГруппы.Группа_1,
ВТ_НомГруппы.Группа_2,
ВТ_НомГруппы.Группа_3,
ВТ_НомГруппы.Группа_4,
ВТ_ДокОбороты.Количество КАК Количество,
ВТ_ДокОбороты.Сумма КАК Сумма
ИЗ
ВТ_ДокОбороты КАК ВТ_ДокОбороты
ЛЕВОЕ СОЕДИНЕНИЕ ВТ_НомГруппы КАК ВТ_НомГруппы
ПО (ВТ_НомГруппы.Номенклатура = ВТ_ДокОбороты.Номенклатура)
|
Как именно применить вашу конструкцию, и поможет ли она реально???? Я ищу вывод правильного решения.

LivingStar 16.04.2015 12:42

(1) подскажите пожалуйста как это можно применить к (0) или (2) ?

LivingStar 16.04.2015 12:47

ВЫБРАТЬ
ОтчетОРозничныхПродажахТовары.Номенклатура КАК Номенклатура,
ОтчетОРозничныхПродажахТовары.Номенклатура.Артикул КАК Артикул,
ОтчетОРозничныхПродажахТовары.Номенклатура.Родитель КАК Группа_1,
ОтчетОРозничныхПродажахТовары.Номенклатура.Родитель.Родитель КАК Группа_2,
ОтчетОРозничныхПродажахТовары.Номенклатура.Родитель.Родитель.Родитель КАК Группа_3,
ВЫБОР
КОГДА ОтчетОРозничныхПродажахТовары.Номенклатура.Родитель.Родитель.Родитель.Родитель <> ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
ТОГДА ОтчетОРозничныхПродажахТовары.Номенклатура.Родитель.Родитель.Родитель.Родитель
ИНАЧЕ ОтчетОРозничныхПродажахТовары.Номенклатура.Родитель.Родитель.Родитель
КОНЕЦ КАК Группа_4,
СУММА(ОтчетОРозничныхПродажахТовары.Количество) КАК Количество,
СУММА(ОтчетОРозничныхПродажахТовары.Сумма) КАК Сумма,
НАЧАЛОПЕРИОДА(ОтчетОРозничныхПродажахТовары.Ссылка.Дата, МЕСЯЦ) КАК Поле1
ИЗ
Документ.ОтчетОРозничныхПродажах.Товары КАК ОтчетОРозничныхПродажахТовары
ГДЕ
ОтчетОРозничныхПродажахТовары.Ссылка.Дата МЕЖДУ &НачДата И &КонДата

СГРУППИРОВАТЬ ПО
ОтчетОРозничныхПродажахТовары.Номенклатура,
ОтчетОРозничныхПродажахТовары.Номенклатура.Артикул,
ОтчетОРозничныхПродажахТовары.Номенклатура.Родитель,
ОтчетОРозничныхПродажахТовары.Номенклатура.Родитель.Родитель,
ОтчетОРозничныхПродажахТовары.Номенклатура.Родитель.Родитель.Родитель,
ВЫБОР
КОГДА ОтчетОРозничныхПродажахТовары.Номенклатура.Родитель.Родитель.Родитель.Родитель <> ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)
ТОГДА ОтчетОРозничныхПродажахТовары.Номенклатура.Родитель.Родитель.Родитель.Родитель
ИНАЧЕ ОтчетОРозничныхПродажахТовары.Номенклатура.Родитель.Родитель.Родитель
КОНЕЦ,
НАЧАЛОПЕРИОДА(ОтчетОРозничныхПродажахТовары.Ссылка.Дата, МЕСЯЦ)

УПОРЯДОЧИТЬ ПО
Номенклатура
|
как дальше это обрабатывать что бы количество и сумма шли динамическими колонками на каждый месяц подскажите?

roma n 16.04.2015 12:58

(2) зачем что-то искать? Учить нужно. Сформулировать задачу нужно и только потом идти в конструктор.
По потоку впечатление, что клепаешь что-то в конструкторе и потом "примеряешь" результат к своему представлению о задаче.
Что значит "шли динамическими колонками"?
ЗЫ
Итоги по Номенклатура.Ссылка Иерархия - конструкция чужеродная для сознания?

LivingStar 16.04.2015 13:19

(5) Задача развернуть продажи документом ОтчетОРозничныхПродажах по горизонтале, то есть если выбран период с 1 января 2015 по 30 апреля 2015, то в отчете, должно быть:
|
Номенклатура
прочие поля (артикул, родительские группы элемента)
количество и сумма за январь
количество и сумма за февраль
количество и сумма за март
количество и сумма за апрель
|
количество и сумма разворачиваются по наличию месяцев в выборке горизонтально в право.

roma n 16.04.2015 13:48

Это задача НЕ для запроса. СКД тебе в помощь

LivingStar 16.04.2015 14:15

(7) так не умею пользоваться СКД. Где бы пример взять, что бы по подобию научиться?
Я думаю делать через виртуальную таблицу, как то в функции запуская запрос на каждый месяц...

LivingStar 16.04.2015 15:22

(7) задача же ясна, примеров по таким темам нет нигде, не встречали???

roma n 16.04.2015 15:28

Таких примеров - пруд пруди.
[url]http://infostart.ru/public/176881/[/url]

LivingStar 16.04.2015 15:44

(10) прям таких что можно понять как разрабатывать подобные отчеты?

LivingStar 16.04.2015 15:48

(10) Да что то подобное, качаю, но можно и самому сделать же

Reaper 16.04.2015 23:56

1-roma n > Тот кто первым найдет его заказчиков - озолотится.

LivingStar 17.04.2015 08:47

(13) может что по теме все же подскажете? Пробую сейчас на СКД что либо делать....

LivingStar 17.04.2015 09:34

(10) этот не работает пример, есть ли пример на УТ 11, что бы можно было бы взять на вооружение?

LivingStar 17.04.2015 10:00

оставляю СКД не потянул, буду сейчас применять технологию 7.7. раз не выходит никак ((((

Климов Сергей 17.04.2015 11:03

Маленький наводящий вопрос: знакомо понятие "регистр накопления"?

LivingStar 17.04.2015 11:54

(17) знакомо, но это 10 е дело же?!!!! Мне нужно вывести данные в нужном виде, по документу или регистру это делается сейчас не суть важно

Reaper 17.04.2015 23:06

[img]http://s.pikabu.ru/images/big_size_comm/2012-11_2/13525712256365.jpg[/img]

LivingStar 18.04.2015 07:02

(19) от вас одни шутки!!! Как будто вы на хохмо форуме, кто сильнее пошутит. Ещу особа тут одна подобная была, все вылазила на ветки мои со своими демотиваторами.

lalex23 18.04.2015 08:06

(20) да как же с тобой не шутить, если с твоих сообщений плакать хочется? сходи к Насипову, скачай халявный курс по СКД - проведи выходные с пользой, потому будешь сам тихо улыбаться перечитав эту ветку
[url]http://курсы-по-1с.рф/free/[/url]

Reaper 18.04.2015 09:14

Какие тут шутки?
[quote=LivingStar;38711828] (17) знакомо, но это 10 е дело же?!!!! Мне нужно вывести данные в нужном виде, по документу или регистру это делается сейчас не суть важно [/quote]

Написать такую чушь можно только серьезно упоровшись добротными веществами, и никак иначе.


Текущее время: 13:20. Часовой пояс GMT +3.