Получить период в запросе

1. Ганс 18.01.13 16:46 Сейчас в теме
Добрый день!
У меня в запросе есть строки
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
Заранее спасибо за ответ))
Пы.Сы. соответственно получить тоже в запросе )
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Irek-kazan 18.01.13 16:53 Сейчас в теме
а какой результат должен быть если:
3.01 - Отпуск
4.01 - Больничный
5.01 - Больничный
6.01 - Больничный
7.01 - Больничный
8.01 - Отпуск
9.01 - Отпуск
10.01 - Больничный
3. Ганс 18.01.13 16:56 Сейчас в теме
Отпуск 3.01-3.01
Больничный 4.01 - 7.01
Отпуск 8.01 - 9.01
Больничный 10.01 - 10.01
4. Ганс 18.01.13 16:57 Сейчас в теме
В общем мне нужно из дат сформировать период, только как!? ((
5. deniseek77 86 18.01.13 17:06 Сейчас в теме
как сам запрос выглядит?
6. Hany 18.01.13 17:07 Сейчас в теме
Вычислять МАКСИМУМ и МИНИМУМ в запросе, выводить их в вычисляемое поле в СКД (если у вас СКД ессно), как вам угодно.
8. Ганс 18.01.13 17:08 Сейчас в теме
(6) Hany, Не подходить, тогда схлопываются не нужные строки и получается 3-9 Отпуск
9. Hany 18.01.13 17:16 Сейчас в теме
(8) Ганс, ну конечно, Максимум и Минимум надо интеллектуальнее брать:) Не в пределах всего периода запроса, а по подпериодам как-то.
7. Ганс 18.01.13 17:07 Сейчас в теме
ВЫБРАТЬ РАЗРЕШЕННЫЕ
РегламентированныйПроизводственныйКалендарь.ДатаКалендаря КАК ДатаКалендаря
ПОМЕСТИТЬ ВТ_ДниКалендаря
ИЗ
РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь
ГДЕ
РегламентированныйПроизводственныйКалендарь.ДатаКалендаря МЕЖДУ &ПериодНачало И &ПериодКонец

ИНДЕКСИРОВАТЬ ПО
ДатаКалендаря
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
ОсновныеНачисленияРаботниковОрганизацийФактическийПериодДейс­твия.Сотрудник КАК Сотрудник,
ОсновныеНачисленияРаботниковОрганизацийФактическийПериодДейс­твия.ПериодДействияНачало КАК ПериодДействияНачало,
ОсновныеНачисленияРаботниковОрганизацийФактическийПериодДейс­твия.ПериодДействияКонец КАК ПериодДействияКонец,
ОсновныеНачисленияРаботниковОрганизацийФактическийПериодДейс­твия.ГрафикРаботы,
ВЫБОР
КОГДА ОсновныеНачисленияРаботниковОрганизацийФактическийПериодДейс­твия.Сторно
ТОГДА -1
ИНАЧЕ 1
КОНЕЦ КАК СуммаСторно,
ОсновныеНачисленияРаботниковОрганизацийФактическийПериодДейс­твия.ВидРасчета.ОбозначениеВТабелеУчетаРабочегоВремени
ПОМЕСТИТЬ ВТ_НачисленияБольничные
ИЗ
РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций.ФактическийПериодДействия(
ВидРасчета.ОбозначениеВТабелеУчетаРабочегоВремени В (&ОбозначениеВТабелеУчетаРабочегоВремени)
И ВидРасчета.ВидВремени В (&СписокВидаВремени)) КАК ОсновныеНачисленияРаботниковОрганизацийФактическийПериодДейс­твия
ГДЕ
(ОсновныеНачисленияРаботниковОрганизацийФактическийПериодДейс­твия.ПериодДействияНачало МЕЖДУ &ПериодНачало И &ПериодКонец
ИЛИ ОсновныеНачисленияРаботниковОрганизацийФактическийПериодДейс­твия.ПериодДействияКонец МЕЖДУ &ПериодНачало И &ПериодКонец)
И ОсновныеНачисленияРаботниковОрганизацийФактическийПериодДейс­твия.ВидРасчета <> ЗНАЧЕНИЕ(ПланВидовРасчета.ОсновныеНачисленияОрганизаций.ДниНеоплачиваемыеСогласноТабелю)
И ОсновныеНачисленияРаботниковОрганизацийФактическийПериодДейс­твия.Сотрудник = &Сотрудник

ИНДЕКСИРОВАТЬ ПО
Сотрудник,
ПериодДействияНачало,
ПериодДействияКонец
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
ВТ_НачисленияБольничные.Сотрудник,
СУММА(ВТ_НачисленияБольничные.СуммаСторно) КАК СуммаСторно,
ВТ_НачисленияБольничные.ВидРасчетаОбозначениеВТабелеУчетаРабочегоВремени,
ВТ_ДниКалендаря.ДатаКалендаря
ПОМЕСТИТЬ ВТ1
ИЗ
ВТ_НачисленияБольничные КАК ВТ_НачисленияБольничные
ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_ДниКалендаря КАК ВТ_ДниКалендаря
ПО ВТ_НачисленияБольничные.ПериодДействияНачало <= ВТ_ДниКалендаря.ДатаКалендаря
И ВТ_НачисленияБольничные.ПериодДействияКонец >= ВТ_ДниКалендаря.ДатаКалендаря

СГРУППИРОВАТЬ ПО
ВТ_НачисленияБольничные.ВидРасчетаОбозначениеВТабелеУчетаРабочегоВремени,
ВТ_ДниКалендаря.ДатаКалендаря,
ВТ_НачисленияБольничные.Сотрудник
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
ВТ1.Сотрудник,
ВТ1.ВидРасчетаОбозначениеВТабелеУчетаРабочегоВремени,
ВТ1.СуммаСторно КАК СуммаСторно,
ВТ1.ДатаКалендаря
ИЗ
ВТ1 КАК ВТ1
ГДЕ
ВТ1.СуммаСторно > 0
10. deniseek77 86 18.01.13 17:22 Сейчас в теме
Может попробовать, выбор когда активность, как то с этим помучить?
11. Ганс 18.01.13 17:29 Сейчас в теме
Да вот уже как только не пробовал, либо схлопывается криво, либо даты совсем не те, короче ломаю мозг уже второй час ((
12. Hany 18.01.13 17:51 Сейчас в теме
(11) Ганс, запрос из разряда модуля по ЗП...там такие есть запросы, которые склеивать в один из кусков ТекстЗапроса можно два часа (включая проставление сотни параметров в консоли)...
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот