Простые примеры сложных отчетов на СКД
Подписи в отчете.
Особенности соединения наборов: как соединить несоединяемое. Остатки на дату и обороты по месяцам в одном отчете.
Курс валюты на каждую дату без группировок и соединений в запросе. Отчет с произвольными колонками и с произвольной последовательностью. «Неадекватный отчет».
- Описание
- Подробнее
Описание
Особенности соединения наборов, или как соединить несоединяемое.
Есть 2 таблицы:
Таблица 1
| Товар | Количество |
|---|---|
| А | 1 |
| Б | 1 |
| В | 1 |
Таблица 2
| Товар | Свойство |
|---|---|
| А | аа |
| А | аб |
| Б | бв |
| В | вг |
Нам нужно соединить их по товару, разумеется, и вывести корректные итоги. Если соединить их в запросе, то получится такая картина:
Товар | свойство | Количество |
|---|---|---|
А | аа | 1 |
А | аб | 1 |
Б | бв | 1 |
В | вг | 1 |
С группировками и итогами будет так
Товар | Количество | |
|---|---|---|
Свойство | ||
А | 2 | |
аа | 1 | |
аб | 1 | |
Б | 1 | |
бв | 1 | |
В | 1 | |
вг | 1 | |
Итого | 4 |
И видно, что итоги посчитаны неправильно! Товара всего 3 штуки – по одной штуке на товар.
Поместим эти две таблицы в отдельные наборы данных и соединим их средствами СКД:
Товар | Количество | |
|---|---|---|
Свойство | ||
А | 1 | |
аа | 1 | |
аб | 1 | |
Б | 1 | |
бв | 1 | |
В | 1 | |
вг | 1 | |
Итого | 3 |
Итоги посчитаны правильно!
Такая вот особенность СКД — при соединении наборов в соотношении "Один ко многим" итоги всё равно не искажаются и нам не нужно об этом беспокоиться. В следующем кейсе поговорим о том, как это можно использовать.
Обороты по месяцам за период, плюс остатки на дату
Часто пользователю требуется вот такая таблица или некое подобие, то есть сальдо на дату и разворот по периоду за период одновременно:
| |

