Есть регистр сведений типа
Период| Сотрудник| Статус(булево)
Нужно запросом получить данные по количеству действующих (статус=истина) и недействующих (статус=ложь) на конец каждого месяца из з...
Подробнее>>
ВЫБРАТЬ РАЗЛИЧНЫЕ
ДОБАВИТЬКДАТЕ(КОНЕЦПЕРИОДА(&НачалоПериода, МЕСЯЦ), МЕСЯЦ, ВЗ_1.Поле1 + ВЗ_10.Поле1 * 10 + ВЗ_100.Поле1 * 100 + ВЗ_1000.Поле1 * 1000) КАК Период
ИЗ
(ВЫБРАТЬ
0 КАК Поле1
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
1
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
2
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
3
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
4
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
5
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
6
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
7
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
8
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
9) КАК ВЗ_1
ПОЛНОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
0 КАК Поле1
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
1
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
2
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
3
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
4
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
5
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
6
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
7
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
8
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
9) КАК ВЗ_10
ПО (ИСТИНА)
ПОЛНОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
0 КАК Поле1
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
1
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
2
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
3
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
4
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
5
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
6
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
7
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
8
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
9) КАК ВЗ_100
ПО (ИСТИНА)
ПОЛНОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
0 КАК Поле1
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
1
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
2
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
3
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
4
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
5
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
6
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
7
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
8
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
9) КАК ВЗ_1000
ПО (ИСТИНА)
ГДЕ
РАЗНОСТЬДАТ(&НачалоПериода, &КонецПериода, МЕСЯЦ) >= ВЗ_1.Поле1 + ВЗ_10.Поле1 * 10 + ВЗ_100.Поле1 * 100 + ВЗ_1000.Поле1 * 1000
Попробуй так эт более универсально
ВЫБРАТЬ
РегистрСведений1.Период КАК Период,
РегистрСведений1.Сотрудник КАК Сотрудник,
РегистрСведений1.Статус КАК Статус,
КОНЕЦПЕРИОДА(РегистрСведений1.Период, ДЕНЬ) КАК КонецДня,
ВЫБОР
КОГДА РегистрСведений1.Статус
ТОГДА 1
ИНАЧЕ 0
КОНЕЦ КАК Был,
ВЫБОР
КОГДА РегистрСведений1.Статус
ТОГДА 0
ИНАЧЕ 1
КОНЕЦ КАК НеБыл
ПОМЕСТИТЬ ВременнаяТаблица
ИЗ
РегистрСведений.РегистрСведений1 КАК РегистрСведений1
ГДЕ
РегистрСведений1.Период МЕЖДУ &ПериодС И &ПериодПо
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ВременнаяТаблица.Сотрудник КАК Сотрудник,
ВременнаяТаблица.КонецДня КАК КонецДня,
МАКСИМУМ(ВременнаяТаблица.Период) КАК Период
ПОМЕСТИТЬ ВременнаяТаблица1
ИЗ
ВременнаяТаблица КАК ВременнаяТаблица
СГРУППИРОВАТЬ ПО
ВременнаяТаблица.Сотрудник,
ВременнаяТаблица.КонецДня
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
КОНЕЦПЕРИОДА(ВременнаяТаблица.Период, МЕСЯЦ) КАК Период,
ВременнаяТаблица.Сотрудник КАК Сотрудник,
СУММА(ВременнаяТаблица.Был) КАК Был,
СУММА(ВременнаяТаблица.НеБыл) КАК НеБыл
ИЗ
ВременнаяТаблица1 КАК ВременнаяТаблица1
ЛЕВОЕ СОЕДИНЕНИЕ ВременнаяТаблица КАК ВременнаяТаблица
ПО (ВременнаяТаблица.Период = ВременнаяТаблица1.Период)
И (ВременнаяТаблица.Сотрудник = ВременнаяТаблица1.Сотрудник)
СГРУППИРОВАТЬ ПО
КОНЕЦПЕРИОДА(ВременнаяТаблица.Период, МЕСЯЦ),
ВременнаяТаблица.Сотрудник