Добрый день!
У меня в запросе есть строки
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
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот