// выбрать рабочие (банковские дни)
ВЫБРАТЬ
РегламентированныйПроизводственныйКалендарь.ДатаКалендаря КАК ДатаКалендаря
ПОМЕСТИТЬ РабочиеДни
ИЗ
РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь
ГДЕ
РегламентированныйПроизводственныйКалендарь.Пятидневка = 1
И РегламентированныйПроизводственныйКалендарь.ДатаКалендаря >= &Период
ИНДЕКСИРОВАТЬ ПО
ДатаКалендаря
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
РабочиеДни0.ДатаКалендаря КАК ДатаКалендаря0,
РабочиеДни1.ДатаКалендаря КАК ДатаКалендаря1
ПОМЕСТИТЬ ДатаПериода
ИЗ
РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РабочиеДни0
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РабочиеДни КАК РабочиеДни1
ПО РабочиеДни0.ДатаКалендаря >= &Период
И РабочиеДни0.ДатаКалендаря <= РабочиеДни1.ДатаКалендаря
И (РабочиеДни1.ДатаКалендаря <= ДОБАВИТЬКДАТЕ(РабочиеДни0.ДатаКалендаря, ДЕНЬ, &КоличествоБанковскиДней*1.5 + 20))
ИНДЕКСИРОВАТЬ ПО
ДатаКалендаря0,
ДатаКалендаря1
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ДатаПериода.ДатаКалендаря0 КАК Период,
ДатаПериода.ДатаКалендаря1 КАК ПериодЧерез_Н_Банковскихдней
ИЗ
ДатаПериода КАК ДатаПериода
ВНУТРЕННЕЕ СОЕДИНЕНИЕ ДатаПериода КАК ДатаПериода1
ПО ДатаПериода.ДатаКалендаря0 = ДатаПериода1.ДатаКалендаря0
И ДатаПериода.ДатаКалендаря1 >= ДатаПериода1.ДатаКалендаря1
СГРУППИРОВАТЬ ПО
ДатаПериода.ДатаКалендаря0,
ДатаПериода.ДатаКалендаря1
ИМЕЮЩИЕ
СУММА(1) = &КоличествоБанковскиДней
УПОРЯДОЧИТЬ ПО Период
////////////////////////////////////////////////////////////////////////////////
пример результата:
1
Период |
ПериодЧерез_Н_Банковскихдней |
||
01.01.2011 |
21.02.2011 |
||
02.01.2011 |
21.02.2011 |
||
03.01.2011 |
21.02.2011 |
||
04.01.2011 |
21.02.2011 |
||
05.01.2011 |
21.02.2011 |
||
06.01.2011 |
21.02.2011 |
||
07.01.2011 |
21.02.2011 |
||
08.01.2011 |
21.02.2011 |
||
09.01.2011 |
21.02.2011 |
||
10.01.2011 |
21.02.2011 |
||
11.01.2011 |
21.02.2011 |
||
12.01.2011 |
22.02.2011 |
||
13.01.2011 |
24.02.2011 |
||
14.01.2011 |
25.02.2011 |
||
15.01.2011 |
28.02.2011 |
||
16.01.2011 |
28.02.2011 |
||
17.01.2011 |
28.02.2011 |
||
18.01.2011 |
01.03.2011 |
||
19.01.2011 |
02.03.2011 |
||
20.01.2011 |
03.03.2011 |
подобные статьи:
ФИФО для любопытных //infostart.ru/public/68225/
ФИФО в Запросе (с пояснениями для начинающих) http://forum.infostart.ru/forum24/topic46871/