|
Запрос на выборку из РС, где будет отражён каждый месяц, даже если его нет в РС |
☑ |
0
Masi4
21.08.17
✎
16:49
|
Есть РС, в нём хранятся изменения по зарплате сотрудникам вида:
Дата - Сотрудник - Начисление - Сумма
01.01.17 - Вася - Оклад - 100
01.05.17 - Вася - Оклад - 150
01.08.17 - Вася - Оклад - 200
Как в одном запросе получить выборку, где будет отражён каждый месяц, даже если его в РС не было?:
Дата - Сотрудник - Начисление - Сумма
01.01.17 - Вася - Оклад - 100
01.02.17 - Вася - Оклад - 100
01.03.17 - Вася - Оклад - 100
01.04.17 - Вася - Оклад - 100
01.05.17 - Вася - Оклад - 150
01.06.17 - Вася - Оклад - 150
01.07.17 - Вася - Оклад - 150
01.08.17 - Вася - Оклад - 200
|
|
1
undertaker
21.08.17
✎
16:51
|
|
|
2
Masi4
21.08.17
✎
16:52
|
Забыл поздороваться, простите: Всем доброго дня!
И забыл платформу упомянуть: 1С 8.3.
|
|
3
Timon1405
21.08.17
✎
16:52
|
Сформировать таблицу дат потом применить (1)
|
|
4
France
21.08.17
✎
16:54
|
в скд есть дополнить период - так кажись.
|
|
5
Masi4
21.08.17
✎
16:54
|
(3) Это я понимаю, но не знаю как сделать, если только где-то не лежит готовый РС.
|
|
6
Timon1405
21.08.17
✎
16:56
|
(5) Видимо это производственный календарь.
|
|
7
undertaker
21.08.17
✎
16:56
|
(5) сгенерировать ТЗ
|
|
8
Timon1405
21.08.17
✎
16:56
|
если нет календаря используйте запрос
ВЫБРАТЬ
1 КАК Цифра
ПОМЕСТИТЬ ТаблицаЦифр
ОБЪЕДИНИТЬ
ВЫБРАТЬ
2
ОБЪЕДИНИТЬ
ВЫБРАТЬ
3
ОБЪЕДИНИТЬ
ВЫБРАТЬ
4
ОБЪЕДИНИТЬ
ВЫБРАТЬ
5
ОБЪЕДИНИТЬ
ВЫБРАТЬ
6
ОБЪЕДИНИТЬ
ВЫБРАТЬ
7
ОБЪЕДИНИТЬ
ВЫБРАТЬ
8
ОБЪЕДИНИТЬ
ВЫБРАТЬ
9
ОБЪЕДИНИТЬ
ВЫБРАТЬ
0
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ДОБАВИТЬКДАТЕ(&НачДата, ДЕНЬ, ТаблицаЦифр.Цифра + ТаблицаЦифр1.Цифра * 10 + ТаблицаЦифр2.Цифра * 100 + ТаблицаЦифр3.Цифра * 1000) КАК Дата
ПОМЕСТИТЬ ТаблицаДат
ИЗ
ТаблицаЦифр КАК ТаблицаЦифр,
ТаблицаЦифр КАК ТаблицаЦифр1,
ТаблицаЦифр КАК ТаблицаЦифр2,
ТаблицаЦифр КАК ТаблицаЦифр3
ГДЕ
ДОБАВИТЬКДАТЕ(&НачДата, ДЕНЬ, ТаблицаЦифр.Цифра + ТаблицаЦифр1.Цифра * 10 + ТаблицаЦифр2.Цифра * 100 + ТаблицаЦифр3.Цифра * 1000) <= &КонДата
;
////////////////////////////////////////////////////////////////////////////////
УНИЧТОЖИТЬ ТаблицаЦифр
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ТаблицаДат.Дата КАК Дата
ИЗ
ТаблицаДат КАК ТаблицаДат
ГДЕ
ДЕНЬ(ТаблицаДат.Дата) = 1
УПОРЯДОЧИТЬ ПО
Дата
|
|
9
Masi4
21.08.17
✎
17:00
|
(8) Чудесно! Спасибо! Я правда ещё не понял как, но чудесно! =)
|
|
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан