Выбрать в запросе все обороты за период включая пустые периоды
Имеется регистр накопления ОстаткиТМЦ, необходимо построить таблицу в скд где по горизонтали были бы все даты заданного периода (включая те в которых небыло оборота), а по вертикали все товары по которым были движения, включая даты за которые не было оборотов.
Пока то что наваял не совсем адекватно работает
Пробовал сформировать таблицу со всеми периодами и к ней привязать движения с оборотами, но проблема в том что движения подвязываются только в дни когда они действительно были а мне нужны движения и за пустые даты
Пока то что наваял не совсем адекватно работает
Выбрать 0 КАК Ч Поместить Десятка
Объединить Выбрать 1
Объединить Выбрать 2
Объединить Выбрать 3
Объединить Выбрать 4
Объединить Выбрать 5
Объединить Выбрать 6
Объединить Выбрать 7
Объединить Выбрать 8
Объединить Выбрать 9
;
Выбрать
ДобавитьКДате(&НачДата,ДЕНЬ,Е.Ч+Д.Ч*10+С.Ч*100) КАК ТекДата
ПОМЕСТИТЬ ДатыПериода
Из Десятка КАК С, Десятка КАК Д, Десятка КАК Е
ГДЕ ДобавитьКДате(&НачДата,ДЕНЬ,Е.Ч+Д.Ч*10+С.Ч*100) <= &КонДата
;
Выбрать
Д.ТекДата КАК ТекДата,
Р.ТМЦ КАК ТМЦ,
СУММА(Р.КолвоРасход)
ИЗ
ДатыПериода КАК Д
Левое Соединение (
Выбрать
РР.ТМЦ,
РР.Период,
СУММА(РР.КолвоРасход) КАК КолвоРасход
ИЗ РегистрНакопления.ОстаткиТМЦ.Обороты(&НачДата,&КонДата,ДЕНЬ,) КАК РР
Сгруппировать ПО РР.Период, РР.ТМЦ) КАК Р
ПО Д.ТекДата = Р.Период
Сгруппировать ПО ТМЦ,ТекДата
Упорядочить ПО ТМЦ,ТекДата
ПоказатьПробовал сформировать таблицу со всеми периодами и к ней привязать движения с оборотами, но проблема в том что движения подвязываются только в дни когда они действительно были а мне нужны движения и за пустые даты
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Прилетит вдруг волшебник
В голубом вертолете,
И бесплатно покажет кино...
В голубом вертолете,
И бесплатно покажет кино...
Как запросом получить остаток товара на каждый день выбранного периода?
Запрос остатков по дням
СКД не выводит остатки по периодам где нет оборотов.
Получить обороты на каждую дату периода
Нужна помощь по получению данных на каждый день(даже пустых) из регистра накопл.
Сравнение способов получения среза последних на каждую дату в запросе
Срез последних на каждую дату в запросе
...
Отчет по оборачиваемости товаров
Я свою беду оформил примерно вот так, только с поправкой на скд, спс всем кто откликнулся
Выбрать 0 КАК Ч Поместить Десятка
Объединить Выбрать 1
Объединить Выбрать 2
Объединить Выбрать 3
Объединить Выбрать 4
Объединить Выбрать 5
Объединить Выбрать 6
Объединить Выбрать 7
Объединить Выбрать 8
Объединить Выбрать 9
;
Выбрать
ДобавитьКДате(&НачДата,ДЕНЬ,Е.Ч+Д.Ч*10+С.Ч*100) КАК ТекДата
ПОМЕСТИТЬ ДатыПериода
Из Десятка КАК С, Десятка КАК Д, Десятка КАК Е
ГДЕ ДобавитьКДате(&НачДата,ДЕНЬ,Е.Ч+Д.Ч*10+С.Ч*100) <= &КонДата
;
Выбрать
Д.ТекДата КАК ТекДата,
Р.ТМЦ КАК ТМЦ
ПОМЕСТИТЬ Шаблон
ИЗ
ДатыПериода КАК Д,
(Выбрать
РР.ТМЦ,
РР.Период
ИЗ РегистрНакопления.ОстаткиТМЦ.Обороты(&НачДата,&КонДата,ДЕНЬ,) КАК РР) КАК Р
СГРУППИРОВАТЬ ПО Д.ТекДата, Р.ТМЦ
;
ВЫБРАТЬ
Ш.ТекДата, Ш.ТМЦ,
СУММА(Р.КолвоРасход)
ИЗ Шаблон КАК Ш
ЛЕВОЕ СОЕДИНЕНИЕ
РегистрНакопления.ОстаткиТМЦ.Обороты(&НачДата,&КонДата,ДЕНЬ,) КАК Р
ПО
Ш.ТекДата = Р.Период И Ш.ТМЦ = Р.ТМЦ
СГРУППИРОВАТЬ ПО Ш.ТекДата, Ш.ТМЦ
УПОРЯДОЧИТЬ ПО ТекДата, Ш.ТМЦ
Показать
Я обычно пользуюсь вот таким шаблоном:
ВЫБРАТЬ
0 КАК val
ПОМЕСТИТЬ tt1
ОБЪЕДИНИТЬ
ВЫБРАТЬ
1
ОБЪЕДИНИТЬ
ВЫБРАТЬ
2
ОБЪЕДИНИТЬ
ВЫБРАТЬ
3
ОБЪЕДИНИТЬ
ВЫБРАТЬ
4
ОБЪЕДИНИТЬ
ВЫБРАТЬ
5
ОБЪЕДИНИТЬ
ВЫБРАТЬ
6
ОБЪЕДИНИТЬ
ВЫБРАТЬ
7
ОБЪЕДИНИТЬ
ВЫБРАТЬ
8
ОБЪЕДИНИТЬ
ВЫБРАТЬ
9
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ДОБАВИТЬКДАТЕ(&парамНачПериода, ДЕНЬ, tab1.val + 10 * tab2.val + 100 * tab3.val + 1000 * tab4.val) КАК Период,
ПОМЕСТИТЬ ДНИ
ИЗ
tt1 КАК tab1,
tt1 КАК tab2,
tt1 КАК tab3,
tt1 КАК tab4
ГДЕ
ДОБАВИТЬКДАТЕ(&парамНачПериода, ДЕНЬ, tab1.val + 10 * tab2.val + 100 * tab3.val + 1000 * tab4.val) <= &парамКонПериода
ИНДЕКСИРОВАТЬ ПО
Период
;
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот