public object ОпределитьПроцентКомпенсации(/*ДатаДокумента, ДнейНеВыплаты*/)
{
if(true/*ДнейНеВыплаты = 0*/)
{
}
//Запрос = Новый Запрос;
/*ТекстЗапроса =
"ВЫБРАТЬ
| ЕСТЬNULL(СУММА((РАЗНОСТЬДАТ(ПериодыИзмененияСтавки.ДатаC, ПериодыИзмененияСтавки.ДатаПо, ДЕНЬ) + 1) * ПериодыИзмененияСтавки.Размер / 300 / 100), 0) КАК ПроцентКомпенсации
|ИЗ
| (ВЫБРАТЬ
| ВЫБОР
| КОГДА СтавкаРефинансированияЦБ.Период >= &ПервыйДеньЗадержки
| ТОГДА СтавкаРефинансированияЦБ.Период
| ИНАЧЕ &ПервыйДеньЗадержки
| КОНЕЦ КАК ДатаC,
| ЕСТЬNULL(ВЫБОР
| КОГДА МИНИМУМ(СледующаяДата.Период) > &ДеньВыплаты
| ТОГДА &ДеньВыплаты
| ИНАЧЕ МИНИМУМ(ДОБАВИТЬКДАТЕ(СледующаяДата.Период, ДЕНЬ, -1))
| КОНЕЦ, &ДеньВыплаты) КАК ДатаПо,
| СтавкаРефинансированияЦБ.Размер КАК Размер
| ИЗ
| РегистрСведений.СтавкаРефинансированияЦБ КАК СтавкаРефинансированияЦБ
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СтавкаРефинансированияЦБ КАК СледующаяДата
| ПО СтавкаРефинансированияЦБ.Период < СледующаяДата.Период
| ГДЕ
| СтавкаРефинансированияЦБ.Период <= &ДеньВыплаты
|
| СГРУППИРОВАТЬ ПО
| СтавкаРефинансированияЦБ.Размер,
| СтавкаРефинансированияЦБ.Период
|
| ИМЕЮЩИЕ
| ЕСТЬNULL(ВЫБОР
| КОГДА МИНИМУМ(СледующаяДата.Период) > &ДеньВыплаты
| ТОГДА &ДеньВыплаты
| ИНАЧЕ МИНИМУМ(ДОБАВИТЬКДАТЕ(СледующаяДата.Период, ДЕНЬ, -1))
| КОНЕЦ, &ДеньВыплаты) >= &ПервыйДеньЗадержки) КАК ПериодыИзмененияСтавки";*/
//Запрос.УстановитьПараметр("ДеньВыплаты", ДатаДокумента);
//Запрос.УстановитьПараметр("ПервыйДеньЗадержки", ДатаДокумента - 86400 * (ДнейНеВыплаты - 1));
//Запрос.Текст = ТекстЗапроса;
return null;
}