Добрый день!
У меня в запросе есть строки
3.01 - Отпуск
4.01 - Больничный
5.01 - Больничный
6.01 - Больничный
7.01 - Больничный
8.01 - Отпуск
9.01 - Отпуск
Мне нужно получить следующее:
Отпуск 3.01-3.01
Больничный 4.01 - 7.01
Отпуск 8.01 - 9.01
Заранее спасибо за ответ))
Пы.Сы. соответственно получить тоже в запросе )
У меня в запросе есть строки
3.01 - Отпуск
4.01 - Больничный
5.01 - Больничный
6.01 - Больничный
7.01 - Больничный
8.01 - Отпуск
9.01 - Отпуск
Мне нужно получить следующее:
Отпуск 3.01-3.01
Больничный 4.01 - 7.01
Отпуск 8.01 - 9.01
Заранее спасибо за ответ))
Пы.Сы. соответственно получить тоже в запросе )
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
ВЫБРАТЬ РАЗРЕШЕННЫЕ
РегламентированныйПроизводственныйКалендарь.ДатаКалендаря КАК ДатаКалендаря
ПОМЕСТИТЬ ВТ_ДниКалендаря
ИЗ
РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь
ГДЕ
РегламентированныйПроизводственныйКалендарь.ДатаКалендаря МЕЖДУ &ПериодНачало И &ПериодКонец
ИНДЕКСИРОВАТЬ ПО
ДатаКалендаря
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
ОсновныеНачисленияРаботниковОрганизацийФактическийПериодДействия.Сотрудник КАК Сотрудник,
ОсновныеНачисленияРаботниковОрганизацийФактическийПериодДействия.ПериодДействияНачало КАК ПериодДействияНачало,
ОсновныеНачисленияРаботниковОрганизацийФактическийПериодДействия.ПериодДействияКонец КАК ПериодДействияКонец,
ОсновныеНачисленияРаботниковОрганизацийФактическийПериодДействия.ГрафикРаботы,
ВЫБОР
КОГДА ОсновныеНачисленияРаботниковОрганизацийФактическийПериодДействия.Сторно
ТОГДА -1
ИНАЧЕ 1
КОНЕЦ КАК СуммаСторно,
ОсновныеНачисленияРаботниковОрганизацийФактическийПериодДействия.ВидРасчета.ОбозначениеВТабелеУчетаРабочегоВремени
ПОМЕСТИТЬ ВТ_НачисленияБольничные
ИЗ
РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций.ФактическийПериодДействия(
ВидРасчета.ОбозначениеВТабелеУчетаРабочегоВремени В (&ОбозначениеВТабелеУчетаРабочегоВремени)
И ВидРасчета.ВидВремени В (&СписокВидаВремени)) КАК ОсновныеНачисленияРаботниковОрганизацийФактическийПериодДействия
ГДЕ
(ОсновныеНачисленияРаботниковОрганизацийФактическийПериодДействия.ПериодДействияНачало МЕЖДУ &ПериодНачало И &ПериодКонец
ИЛИ ОсновныеНачисленияРаботниковОрганизацийФактическийПериодДействия.ПериодДействияКонец МЕЖДУ &ПериодНачало И &ПериодКонец)
И ОсновныеНачисленияРаботниковОрганизацийФактическийПериодДействия.ВидРасчета <> ЗНАЧЕНИЕ(ПланВидовРасчета.ОсновныеНачисленияОрганизаций.ДниНеоплачиваемыеСогласноТабелю)
И ОсновныеНачисленияРаботниковОрганизацийФактическийПериодДействия.Сотрудник = &Сотрудник
ИНДЕКСИРОВАТЬ ПО
Сотрудник,
ПериодДействияНачало,
ПериодДействияКонец
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ВТ_НачисленияБольничные.Сотрудник,
СУММА(ВТ_НачисленияБольничные.СуммаСторно) КАК СуммаСторно,
ВТ_НачисленияБольничные.ВидРасчетаОбозначениеВТабелеУчетаРабочегоВремени,
ВТ_ДниКалендаря.ДатаКалендаря
ПОМЕСТИТЬ ВТ1
ИЗ
ВТ_НачисленияБольничные КАК ВТ_НачисленияБольничные
ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_ДниКалендаря КАК ВТ_ДниКалендаря
ПО ВТ_НачисленияБольничные.ПериодДействияНачало <= ВТ_ДниКалендаря.ДатаКалендаря
И ВТ_НачисленияБольничные.ПериодДействияКонец >= ВТ_ДниКалендаря.ДатаКалендаря
СГРУППИРОВАТЬ ПО
ВТ_НачисленияБольничные.ВидРасчетаОбозначениеВТабелеУчетаРабочегоВремени,
ВТ_ДниКалендаря.ДатаКалендаря,
ВТ_НачисленияБольничные.Сотрудник
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ВТ1.Сотрудник,
ВТ1.ВидРасчетаОбозначениеВТабелеУчетаРабочегоВремени,
ВТ1.СуммаСторно КАК СуммаСторно,
ВТ1.ДатаКалендаря
ИЗ
ВТ1 КАК ВТ1
ГДЕ
ВТ1.СуммаСторно > 0
РегламентированныйПроизводственныйКалендарь.ДатаКалендаря КАК ДатаКалендаря
ПОМЕСТИТЬ ВТ_ДниКалендаря
ИЗ
РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь
ГДЕ
РегламентированныйПроизводственныйКалендарь.ДатаКалендаря МЕЖДУ &ПериодНачало И &ПериодКонец
ИНДЕКСИРОВАТЬ ПО
ДатаКалендаря
;
////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
ОсновныеНачисленияРаботниковОрганизацийФактическийПериодДейс
ОсновныеНачисленияРаботниковОрганизацийФактическийПериодДейс
ОсновныеНачисленияРаботниковОрганизацийФактическийПериодДейс
ОсновныеНачисленияРаботниковОрганизацийФактическийПериодДейс
ВЫБОР
КОГДА ОсновныеНачисленияРаботниковОрганизацийФактическийПериодДейс
ТОГДА -1
ИНАЧЕ 1
КОНЕЦ КАК СуммаСторно,
ОсновныеНачисленияРаботниковОрганизацийФактическийПериодДейс
ПОМЕСТИТЬ ВТ_НачисленияБольничные
ИЗ
РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций.ФактическийПериодДействия(
ВидРасчета.ОбозначениеВТабелеУчетаРабочегоВремени В (&ОбозначениеВТабелеУчетаРабочегоВремени)
И ВидРасчета.ВидВремени В (&СписокВидаВремени)) КАК ОсновныеНачисленияРаботниковОрганизацийФактическийПериодДейс
ГДЕ
(ОсновныеНачисленияРаботниковОрганизацийФактическийПериодДейс
ИЛИ ОсновныеНачисленияРаботниковОрганизацийФактическийПериодДейс
И ОсновныеНачисленияРаботниковОрганизацийФактическийПериодДейс
И ОсновныеНачисленияРаботниковОрганизацийФактическийПериодДейс
ИНДЕКСИРОВАТЬ ПО
Сотрудник,
ПериодДействияНачало,
ПериодДействияКонец
;
////////////////////////////////////////////////////////////
ВЫБРАТЬ
ВТ_НачисленияБольничные.Сотрудник,
СУММА(ВТ_НачисленияБольничные.СуммаСторно) КАК СуммаСторно,
ВТ_НачисленияБольничные.ВидРасчетаОбозначениеВТабелеУчетаРабочегоВремени,
ВТ_ДниКалендаря.ДатаКалендаря
ПОМЕСТИТЬ ВТ1
ИЗ
ВТ_НачисленияБольничные КАК ВТ_НачисленияБольничные
ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_ДниКалендаря КАК ВТ_ДниКалендаря
ПО ВТ_НачисленияБольничные.ПериодДействияНачало <= ВТ_ДниКалендаря.ДатаКалендаря
И ВТ_НачисленияБольничные.ПериодДействияКонец >= ВТ_ДниКалендаря.ДатаКалендаря
СГРУППИРОВАТЬ ПО
ВТ_НачисленияБольничные.ВидРасчетаОбозначениеВТабелеУчетаРабочегоВремени,
ВТ_ДниКалендаря.ДатаКалендаря,
ВТ_НачисленияБольничные.Сотрудник
;
////////////////////////////////////////////////////////////
ВЫБРАТЬ
ВТ1.Сотрудник,
ВТ1.ВидРасчетаОбозначениеВТабелеУчетаРабочегоВремени,
ВТ1.СуммаСторно КАК СуммаСторно,
ВТ1.ДатаКалендаря
ИЗ
ВТ1 КАК ВТ1
ГДЕ
ВТ1.СуммаСторно > 0
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот