Вобщем такая странная на первый взгляд задача: подсчитать количество продаж менеджера за месяц. Для этого в табличной части Товары дока Отчет о розничных продажах был запилен реквизит Номер, в который в конце рабочей смены записывается номер дока ЧекККМ (который при закрытии смены сворачивается в Отчет о розничных продажах и из базы удалятся). Дальше простым запросом выбираем эти номера, группируем и выводим в отчет. Но есть небольшая засада - номера ЧековККМ каждый день начинаются с 000001, поэтому, если формировать не за день, а за период - они группируются. Запрос вот такой:
ВЫБРАТЬ
НАЧАЛОПЕРИОДА(ОтчетОРозничныхПродажах.Дата, ДЕНЬ) КАК Число,
ОтчетОРозничныхПродажахТовары.Менеджер КАК Менеджер,
КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ОтчетОРозничныхПродажахТовары.Номер) КАК Номер
ИЗ
Документ.ОтчетОРозничныхПродажах.Товары КАК ОтчетОРозничныхПродажахТовары
ЛЕВОЕ СОЕДИНЕНИЕ Документ.ОтчетОРозничныхПродажах КАК ОтчетОРозничныхПродажах
ПО ОтчетОРозничныхПродажахТовары.Ссылка = ОтчетОРозничныхПродажах.Ссылка
СГРУППИРОВАТЬ ПО
ОтчетОРозничныхПродажахТовары.Менеджер,
НАЧАЛОПЕРИОДА(ОтчетОРозничныхПродажах.Дата, ДЕНЬ)
Показать
Как бы сделать чтоб первым делом запрос выбирал чеки за день, а потом за период?
Я думаю, принцип в том, чтобы группировать не по номеру, а по связке номер + НАЧАЛОПЕРИОДА(ОтчетОРозничныхПродажах.Дата, ДЕНЬ).
Для этого вы можете использовать периодичность: Горизонтальная группировка - номер, вертикальная группировка - день. Вот пример (в вашем случае все проше, периодичность всегда день): http://infostart.ru/public/125216/
в запросе походу левое соединение с "Документ.ОтчетОРозничныхПродажах КАК ОтчетОРозничныхПродажах" вообще лишнее т.к. данные о Дате и Номере документа можно вытащить из ТЧ "Товары".
Там будет прописано:
ОтчетОРозничныхПродажахТовары.Ссылка.Дата
"Как бы сделать чтоб первым делом запрос выбирал чеки за день, а потом за период?"
т.е. сначало надо увидеть итоговые данные за каждый день,а потом за месяц ил какие цифры нужны ? я что-то не догнал
(4)Про соединение абсолютно верно, немного поправил запрос. Итоговые данные должны просто показывать цифры за месяц. Вот перепилил немножко запрос и теперь в консоли запросов, при выводе в виде дерева показывает правильно. Но вот как это перевести в код?
ВЫБРАТЬ
ОтчетОРозничныхПродажахТовары.Менеджер КАК Менеджер,
КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ОтчетОРозничныхПродажахТовары.Номер) КАК Чеки,
НАЧАЛОПЕРИОДА(ОтчетОРозничныхПродажахТовары.Ссылка.Дата, ДЕНЬ) КАК Дата
ИЗ
Документ.ОтчетОРозничныхПродажах.Товары КАК ОтчетОРозничныхПродажахТовары
ГДЕ
ОтчетОРозничныхПродажахТовары.Ссылка.Дата МЕЖДУ &Начни И &Кончи
И ОтчетОРозничныхПродажахТовары.Сумма > 0
СГРУППИРОВАТЬ ПО
НАЧАЛОПЕРИОДА(ОтчетОРозничныхПродажахТовары.Ссылка.Дата, ДЕНЬ),
ОтчетОРозничныхПродажахТовары.Менеджер
УПОРЯДОЧИТЬ ПО
ОтчетОРозничныхПродажахТовары.Менеджер.Наименование
ИТОГИ
СУММА(Чеки)
ПО
Менеджер,
Дата
{ИТОГИ ПО
Чеки}
ВЫБРАТЬ
ОтчетОРозничныхПродажахТовары.Менеджер КАК Менеджер,
КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ОтчетОРозничныхПродажахТовары.Номер) КАК Чеки,
НАЧАЛОПЕРИОДА(ОтчетОРозничныхПродажахТовары.Ссылка.Дата, ДЕНЬ) КАК Дата
ПОМЕСТИТЬ ВТ
ИЗ
Документ.ОтчетОРозничныхПродажах.Товары КАК ОтчетОРозничныхПродажахТовары
ГДЕ
ОтчетОРозничныхПродажахТовары.Ссылка.Дата МЕЖДУ &Начни И &Кончи
И ОтчетОРозничныхПродажахТовары.Сумма > 0
И ОтчетОРозничныхПродажахТовары.Ссылка.Склад = &Магаз
СГРУППИРОВАТЬ ПО
ОтчетОРозничныхПродажахТовары.Менеджер,
НАЧАЛОПЕРИОДА(ОтчетОРозничныхПродажахТовары.Ссылка.Дата, ДЕНЬ)
{ИТОГИ ПО
Чеки}
ИНДЕКСИРОВАТЬ ПО
Менеджер
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ВТ.Менеджер КАК Менеджер,
СУММА(ВТ.Чеки) КАК Чеки,
ВТ.Дата
ИЗ
ВТ КАК ВТ
СГРУППИРОВАТЬ ПО
ВТ.Менеджер,
ВТ.Дата
УПОРЯДОЧИТЬ ПО
Менеджер
Извините за ламерский вопрос, но может Вы подскажите?
Ситуация такая - есть запрос, в котором берутся движения с разных регистров, и еще берутся данные из документов (используется дата-реквизит документа, а не дата движения по регистру и даты эти совсем разные по смыслу) всё это собирается в виртуальной таблице и потом универсальный отчет это выводит. Что не пробовал, не получается сделать возможность группировки по неделям, месяцам и так далее.
Наверно нужно как-то отдельно сделать реквизит типа "период"? Но как тогда выводить без периода и с разными периодичностями (ну день, неделя, месяц, год) ?
И всё это хочется именно универсальным отчетом выводить, потому как привычно, что можно всякие хитрые отборы настроить ну и группировки как хочешь...