Имя: Пароль:
1C
1С v8
Помощь в написании запроса
0 ikolegov
 
29.09.12
17:14
Прошу помощь в написании оптимального запроса.
Есть периодический регистр сведения о состоянии некоторой позиции справочника. К примеру с 05.09 включен, с 07.09 выключен, с 10.09 опять включен. Есть способ кроме перебора по дням узнать сколько дней в месяце он был включен.
Спасибо.
1 vde69
 
29.09.12
17:20
два запроса
1. находишь первую дату включения

передаешь во второй (через времянку)

2. для каждого включения берешь разницу в днях с датой из запроса 1
для каждого выключения берешь разницу в днях с датой из запроса 1 и умножаешь на -1
суммируешь - и готово
2 Wobland
 
29.09.12
17:23
(1) не взлетит, если будет только два включения
3 Преднаименование
 
29.09.12
17:31
(0) Для примера возьми расчет среднесписочной численности сотрудников из ЗУП, там как раз учитывается кто сколько работал.
4 kumena
 
29.09.12
17:32
Выбрать
Период, Ссылка, РесурсВключенВыключен

Поместить ТаблицаВключений
из регистрСведений.ТакойТо

;

Выбрать
Период КАК ДатаВключен, Ссылка, Минимум(Рег.Период) КАК ДатаВыключен
Из ТаблицаВключений КАК таблицаВключений
Левое Соединение регистрСведений.ТакойТо КАК Рег
По ТаблицаВключений.Ссылка = рег.Ссылка
ТаблицаВключений.Период > Рег.Период
и Рег.РесурсВключенВЫключен = &Выключен
5 Живой Ископаемый
 
29.09.12
17:35
6 kumena
 
29.09.12
17:35
ой ТаблицаВключений.Период > Рег.Период
тут знак в другую сторону, начало д.б. меньше окончания