Тогда полный код процедуры:
Код:
Процедура Расчет()
СД=0; СМ=0;
ДнейВГоду=КонГода(ДатаДок)-НачГода(ДатаДок)+1;
ДнейВМесяце=КонМесяца(ДатаДок)-НачМесяца(ДатаДок)+1;
Ит=СоздатьОбъект("БухгалтерскиеИтоги");
Ит.ИспользоватьСубконто(ВидыСубконто.Контрагенты,,1,0);
Ит.ИспользоватьСубконто(ВидыСубконто.Основание,,1,0);
Ит.ВключатьСубсчета(-1,-1);
Ит.ВыполнитьЗапрос(,ДатаДок,"66.03.01,66.04.01,66.06.01",,,,1);
Ит.ВыбратьСубконто(1); Ном=0;
Пока Ит.ПолучитьСубконто(1)=1 Цикл
КО=Ит.Субконто(1);
Ит.ВыбратьСубконто(2);
Пока Ит.ПолучитьСубконто(2)=1 Цикл
ДГ=Ит.Субконто(2);
Ит.ВыбратьСчета();
Пока Ит.ПолучитьСчет() = 1 Цикл
Ном=Ном+1;
СЧ=Ит.Счет;
Сум66=Ит.СКК();
// Сообщить("---"+КО+"---"+ДГ+"---"+СЧ+"---"+Сум66);
НоваяСтрока();
СубСчет=СЧ;
Контра=КО;
Договор=ДГ;
Проц=Договор.ПроцентнаяСтавка;
Если Договор.ДатаК<НачМесяца(ДатаДок) Тогда
Сообщить("Стр №"+Ном+" Срок окончания договора: "+Контра+"/"+Договор+" закончился в предыдущем периоде - "+Договор.ДатаК+" проценты не начисляем!!!");
ИначеЕсли Договор.ДатаК>КонМесяца(ДатаДок) Тогда
// СрокДог=Договор.ДатаК;
СД=Сум66/ДнейВГоду*Проц/100;
СМ=СД*ДнейВМесяце;
СуммаВ=Сум66;
СуммаДень=СД;
СуммаМес=СМ;
ИначеЕсли Договор.ДатаК=НачМесяца(ДатаДок) Тогда
СрокДог=Договор.ДатаК;
СД=Сум66/ДнейВГоду*Проц/100;
СМ=СД*ДнейВМесяце;
СуммаВ=Сум66;
СуммаДень=СД;
СуммаМес=СД;
Сообщить("Стр №"+Ном+" Срок окончания договора: "+Контра+"/"+Договор+" заканчивается в текущем месяце - "+СрокДог+" проценты начисляем за 1 день!");
Иначе
СрокДог=Договор.ДатаК;
СД=Сум66/ДнейВГоду*Проц/100;
ДнДоКД=СрокДог-НачМесяца(ДатаДок)+1;
СМ=СД*ДнДоКД;
СуммаВ=Сум66;
СуммаДень=СД;
СуммаМес=СМ;
Сообщить("Стр №"+Ном+" Срок окончания договора: "+Контра+"/"+Договор+" заканчивается в текущем месяце - "+СрокДог+" проценты начисляем за "+ДнДоКД+" дней!");
КонецЕсли;
СД=0;
СМ=0;
КонецЦикла;
КонецЦикла;
КонецЦикла;
КонецПроцедуры