Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 12:45

Группировка даты в запросе

Автор Gennadiyy, 15 июн 2016, 07:41

0 Пользователей и 1 гость просматривают эту тему.

Gennadiyy

Здравствуйте! Можно ли в запросе сгруппировать дату, что бы на выходе получился период? Пример: 01.02.2016, 24.03.2016, 30.05.2016, и в результате запроса должно быть: 01.02.2016-30.05.2016

ls600

группируйте что Вам мешает. только нужно будет учесть то что дата со временем. придется использовать функцию НАЧАЛОПЕРИОДА(<Дата>, <Период>)

vitasw

Да, можно. покажите что есть

Gennadiyy

Цитата: vitasw от 15 июн 2016, 09:22
Да, можно. покажите что есть

Есть такой запрос:

ВЫБРАТЬ
Суммы.Сумма КАК Сумма,
Суммы.Дата КАК Дата,
Суммы.СуммаНДС КАК СуммаНДС,
Суммы.СтавкаНДС КАК СтавкаНДС
ИЗ
Справочник.ДоговорыКонтрагентов КАК ДоговорКонтр
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
ПоступлениеТоваровУслуг.СуммаДокумента КАК Сумма,
ПоступлениеТоваровУслуг.Дата КАК Дата,
ПоступлениеТоваровУслуг.ДоговорКонтрагента КАК ДоговорКонтрагента,
ВложенныйЗапрос.СуммаНДС КАК СуммаНДС,
ВложенныйЗапрос.СтавкаНДС КАК СтавкаНДС
ИЗ
Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
ПоступлениеТоваровУслугОборудование.СуммаНДС КАК СуммаНДС,
ПоступлениеТоваровУслугОборудование.СтавкаНДС КАК СтавкаНДС,
ПоступлениеТоваровУслугОборудование.Ссылка КАК Ссылка
ИЗ
Документ.ПоступлениеТоваровУслуг.Оборудование КАК ПоступлениеТоваровУслугОборудование

ОБЪЕДИНИТЬ

ВЫБРАТЬ
ПоступлениеТоваровУслугОбъектыСтроительства.СуммаНДС,
ПоступлениеТоваровУслугОбъектыСтроительства.СтавкаНДС,
ПоступлениеТоваровУслугОбъектыСтроительства.Ссылка
ИЗ
Документ.ПоступлениеТоваровУслуг.ОбъектыСтроительства КАК ПоступлениеТоваровУслугОбъектыСтроительства

ОБЪЕДИНИТЬ

ВЫБРАТЬ
ПоступлениеТоваровУслугТовары.СуммаНДС,
ПоступлениеТоваровУслугТовары.СтавкаНДС,
ПоступлениеТоваровУслугТовары.Ссылка
ИЗ
Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары

ОБЪЕДИНИТЬ

ВЫБРАТЬ
ПоступлениеТоваровУслугУслуги.СуммаНДС,
ПоступлениеТоваровУслугУслуги.СтавкаНДС,
ПоступлениеТоваровУслугУслуги.Ссылка
ИЗ
Документ.ПоступлениеТоваровУслуг.Услуги КАК ПоступлениеТоваровУслугУслуги

ОБЪЕДИНИТЬ

ВЫБРАТЬ
ПоступлениеТоваровУслугАгентскиеУслуги.СуммаНДС,
ПоступлениеТоваровУслугАгентскиеУслуги.СтавкаНДС,
ПоступлениеТоваровУслугАгентскиеУслуги.Ссылка
ИЗ
Документ.ПоступлениеТоваровУслуг.АгентскиеУслуги КАК ПоступлениеТоваровУслугАгентскиеУслуги) КАК ВложенныйЗапрос
ПО ПоступлениеТоваровУслуг.Ссылка = ВложенныйЗапрос.Ссылка) КАК Суммы
ПО ДоговорКонтр.Ссылка = Суммы.ДоговорКонтрагента
ГДЕ
ДоговорКонтр.Ссылка = &Ссылка


в результате получается примерно такая таблица:

СуммаДатаСуммаНДССтавкаНДС
9 00030.04.2016 23:59:590Без НДС
9 00031.05.2016 23:59:590Без НДС
9 00030.06.2016 23:59:590Без НДС
9 00031.07.2016 23:59:590Без НДС
16 00031.08.2016 23:59:590Без НДС
9 00030.09.2016 23:59:590Без НДС
9 00031.10.2016 23:59:590Без НДС

а мне нужно получить таблицу такого вида:
СуммаДатаСуммаНДССтавкаНДС
9 0001.04.2016-31.07.20160Без НДС
9 0001.08.2016-31.08.20160Без НДС
9 0001.09.2016-31.10.20160Без НДС

Добавлено: 15 июн 2016, 12:51


Цитата: ls600 от 15 июн 2016, 08:07
группируйте что Вам мешает. только нужно будет учесть то что дата со временем. придется использовать функцию НАЧАЛОПЕРИОДА(<Дата>, <Период>)
Это не совсем то, что нужно, всё равно не сгруппируется, т.к. в каждой строке дата разная, и общий период может начинаться с любого месяца, скорей всего то, что мне нужно реализовать с помощью запроса не получится(

ls600

почему запрос не формируете не из регистров?

Gennadiyy

Цитата: ls600 от 15 июн 2016, 12:58
почему запрос не формируете не из регистров?
Т.к. он по разным регистрам делает движения по товарам, услугам и т.д. и некоторые движения он делает в регистр накопления, а некоторые только в регистр бухгалтерии (прим. услуги), поэтому, что бы не брать из разных источников я решил сделать так, а с помощью регистров как такое можно было бы реализовать? 

vitasw

Цитата: Gennadiyy от 15 июн 2016, 12:43
Цитата: ls600 от Сегодня в 08:07
группируйте что Вам мешает. только нужно будет учесть то что дата со временем. придется использовать функцию НАЧАЛОПЕРИОДА(<Дата>, <Период>)
Это не совсем то, что нужно, всё равно не сгруппируется, т.к. в каждой строке дата разная, и общий период может начинаться с любого месяца, скорей всего то, что мне нужно реализовать с помощью запроса не получится(

Не очень понятно чем вам не подходит?
НАЧАЛОПЕРИОДА(<Дата>, Месяц) - решит все ваши вопросы

Летящий в даль

вы непонятно как группируете период , то за 3 месяца то за 2 , то за 1:dfbbdrfb: вас я так поняла интересует именно НДС и сумма , так   и берите из регистров НДС Типа " НДС предъявленный" или НДС расчеты с поставщиками , и ваще отчеты типа вашего грех делать по документам :xfbnsdfb:

Gennadiyy

Потому что он может быть любым)Я ошибся в примере, во второй таблице, во второй строке вместо 9000 я хотел вписать 16000, т.е. если в следующем месяце сумма отличается, то значит это следующая строка

Летящий в даль

ну сделай поле настройки периода год, месяц , неделя, декада , день и тд . база реальная или курсовая?
Добавлено: 15 июн 2016, 14:41


Объясните смысл отчета, что пользователь должен понять из него???

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск