#0
by inetguru
Товарищи, подскажите, как сделать запрос. Есть табель учета рабочего времени, есть регистр, где хранится информация о состоянии работника по табелю на каждый отдельно взятый день. Нужно из последовательности этих дат получить периоды состояний работника. Вот пример исходных данных: Период ВИДИСПОЛЬЗОВАНИЯРАБОЧЕГОВРЕМЕНИ 01.09.2010 0:00:00 Дни явок 02.09.2010 0:00:00 Дни явок 03.09.2010 0:00:00 Дни явок 06.09.2010 0:00:00 Нетрудоспособность 07.09.2010 0:00:00 Нетрудоспособность 08.09.2010 0:00:00 Нетрудоспособность 09.09.2010 0:00:00 Нетрудоспособность 10.09.2010 0:00:00 Нетрудоспособность 11.09.2010 0:00:00 Нетрудоспособность 12.09.2010 0:00:00 Нетрудоспособность 13.09.2010 0:00:00 Нетрудоспособность 14.09.2010 0:00:00 Нетрудоспособность 15.09.2010 0:00:00 Нетрудоспособность 16.09.2010 0:00:00 Нетрудоспособность 17.09.2010 0:00:00 Нетрудоспособность 20.09.2010 0:00:00 Дни явок 21.09.2010 0:00:00 Дни явок 22.09.2010 0:00:00 Дни явок 23.09.2010 0:00:00 Дни явок 24.09.2010 0:00:00 Дни явок 27.09.2010 0:00:00 Дни явок 28.09.2010 0:00:00 Дни явок 29.09.2010 0:00:00 Дни явок 30.09.2010 0:00:00 Дни явок В результате работы запроса нужно получить вот это: НачалоПериода ОкончаниеПериода ВИДИСПОЛЬЗОВАНИЯРАБОЧЕГОВРЕМЕНИ 01.09.2010 0:00:00 03.09.2010 0:00:00 Дни явок 06.09.2010 0:00:00 17.09.2010 0:00:00 Нетрудоспособность 20.09.2010 0:00:00 30.09.2010 0:00:00 Дни явок Т.е. состояние работника меняется если указано другое состояние (это касается разрыва с 25.09.10 по 26.09.10 – тут ничего не меняется, поэтому период не прерывается на 24.09.2011). Мозг на грани кипения.
#3
by inetguru
Ура!!! Спасибо за ссылку. Воспользовался данными темы и вот что получил: И РабочееВремяКон<span style="color: red">.</span>Сотрудник <span style="color: red">=</span> РабочееВремяК<span style="color: red">.</span>Сотрудник И РабочееВремяКон<span style="color: red">.</span>ВидИспользованияРабочегоВремени <span style="color: red">=</span> РабочееВремяК<span style="color: red">.</span>ВидИспользованияРабочегоВремени ПО РабочееВремяНач<span style="color: red">.</span>Период <span style="color: red"><=</span> РабочееВремяКон<span style="color: red">.</span>Период И РабочееВремяНач<span style="color: red">.</span>Сотрудник <span style="color: red">=</span> РабочееВремяКон<span style="color: red">.</span>Сотрудник И РабочееВремяНач<span style="color: red">.</span>ВидИспользованияРабочегоВремени <span style="color: red">=</span> РабочееВремяКон<span style="color: red">.</span>ВидИспользованияРабочегоВремени И РабочееВремяНач<span style="color: red">.</span>Сотрудник <span style="color: red">=</span> РабочееВремяН<span style="color: red">.</span>Сотрудник И РабочееВремяНач<span style="color: red">.</span>ВидИспользованияРабочегоВремени <span style="color: red">=</span> РабочееВремяН<span style="color: red">.</span>ВидИспользованияРабочегоВремени ГДЕ РабочееВремяН<span style="color: red">.</span>Период ЕСТЬ NULL И РабочееВремяК<span style="color: red">.</span>Период ЕСТЬ NULL И РабочееВремяНач<span style="color: red">.</span>Сотрудник <span style="color: red">=</span> <span style="color: brown">&Сотрудник </span> И РабочееВремяНач<span style="color: red">.</span>Период <span style="color: red">>=</span> <span style="color: brown">&НачалоПериода </span> И РабочееВремяНач<span style="color: red">.</span>Период <span style="color: red"><=</span> <span style="color: brown">&КонецПериода </span> И РабочееВремяКон<span style="color: red">.</span>Период <span style="color: red">>=</span> <span style="color: brown">&НачалоПериода ПО <span style="color: red">(</span>РабочееВремя<span style="color: red">.</span>Период МЕЖДУ ВложенныйЗапрос<span style="color: red">.</span>ПериодНач И ВложенныйЗапрос<span style="color: red">.</span>ПериодКон<span style="color: red">)</span> И ВложенныйЗапрос<span style="color: red">.</span>ВидИспользованияРабочегоВремени <span style="color: red">=</span> РабочееВремя<span style="color: red">.</span>ВидИспользованияРабочегоВремени И ВложенныйЗапрос<span style="color: red">.</span>Сотрудник <span style="color: red">=</span> РабочееВремя<span style="color: red">.</span>Сотрудник СГРУППИРОВАТЬ ПО ВложенныйЗапрос<span style="color: red">.</span>ПериодНач<span style="color: red">,</span> ВложенныйЗапрос<span style="color: red">.</span>ПериодКон<span style="color: red">,</span> ИМЕЮЩИЕ КОЛИЧЕСТВО<span style="color: red">(</span>РАЗЛИЧНЫЕ РабочееВремя<span style="color: red">.</span>Период<span style="color: red">)</span> <span style="color: red">=</span> РАЗНОСТЬДАТ<span style="color: red">(</span>ВложенныйЗапрос<span style="color: red">.</span>ПериодНач<span style="color: red">,</span> ВложенныйЗапрос<span style="color: red">.</span>ПериодКон<span style="color: red">,</span> ДЕНЬ<span style="color: red">)</span> <span style="color: red">+</span> <span style="color: black">1
#4
by inetguru
Извинюсь за предыдущий пост.Хотел фот так: РабочееВремяН[COLOR=#FF0000].[/COLOR]Период ЕСТЬ NULL И РабочееВремяК[COLOR=#FF0000].[/COLOR]Период ЕСТЬ NULL
#5
by inetguru
Блин, вот это точно оно: РабочееВремяН.Период ЕСТЬ NULL И РабочееВремяК.Период ЕСТЬ NULL ПО (РабочееВремя.Период МЕЖДУ ВложенныйЗапрос.ПериодНач И ВложенныйЗапрос.ПериодКон)
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Получить id и получить объект по id
- Как программно получить получить пароль пользователя в текущем сеансе работ
- Как получить в запросе список дат из интервала (месяц)
- Как получить разность дат (Нужно получить количество дней)
- Как получить ГУИД элемента по OLE, записать и получить по нему ссылку?
- Как получить список дат в днях между двумя датами запросом?
- Порешаем задачки? Как в запросе разбить год на периоды из списка дат?
В этой группе 1С
- v8: заполнение таблицы значений на форме
- addin_libtelnet.dll
- 8.2 Как обновить открытую форму документа после заполнения внешней обработкой?
- v7: Левый номер при копировании документа
- v8: Изменить отчет "Ведомость по Товарам на складах"
- БП выплата зарплаты. Учет во внешней программе
- Заполнить документ из Внешней Обработки Управляемая форма
- 8.2 Разрешить редактирование реквизитов объекта
- При печати PDF из Acrobat reader полностью виснет комп
- СКД, "Таблица". Разные ресурсы в независимых группировках.
- Запись с такими ключевыми полями существует!
- Необходима книга, где описывается ведение производства. 1С УПП
- Карты формат Wiegand 26 и Touch-Memory
- Гистограмма в СКД
- УТ 11. Доп. расходы не распределяются на себестоимость
- УТ11 Ввод остатков и себестоимость
- СКД Кнопка "Сформировать"
- v7: описание типов данных в xbase
- v7: Запрос в 7.7 по 2-м складам
- договор контрагента без владельца