Друзья, помогите пожалуйста:
Начисляю проценты, проводки по БУ в норме, а по НУ и ПР ерунда какая то. Смотрю в отладчике суммы - такие как нужно, но в проводке ерунда полнейшая.
Привожу фрагмент кода. В проводке ОДИНАКОВАЯ сумма в бу, пр и ну
Запрос=Новый Запрос;
Запрос.Текст=
"ВЫБРАТЬ
| КурсыВалютСрезПоследних.Курс,
| КурсыВалютСрезПоследних.Кратность,
| ПоступлениеДС.СчетКт.Валютный,
| СУММА(ВЫБОР
| КОГДА ПоступлениеДС.СчетКт.Валютный
| ТОГДА ЕСТЬNULL(ПоступлениеДС.ВалютнаяСуммаОборотКт, 0)
| ИНАЧЕ ЕСТЬNULL(ПоступлениеДС.СуммаОборот, 0)
| КОНЕЦ * ВЫБОР
| КОГДА РАЗНОСТЬДАТ(&ДатаДокумента, &СрокДоговора, ДЕНЬ) > 0
| ТОГДА &Процент * (РАЗНОСТЬДАТ(ПоступлениеДС.Период, &ДатаДокумента, ДЕНЬ) + 1) / 365 / 100
| ИНАЧЕ &Процент * (РАЗНОСТЬДАТ(ПоступлениеДС.Период, &СрокДоговора, ДЕНЬ) + 1) / 365 / 100
| КОНЕЦ) КАК СуммаБУ,
| СУММА(ВЫБОР
| КОГДА ПоступлениеДС.СчетКт.Валютный
| ТОГДА ЕСТЬNULL(ПоступлениеДС.ВалютнаяСуммаОборотКт, 0)
| ИНАЧЕ ЕСТЬNULL(ПоступлениеДС.СуммаОборот, 0)
| КОНЕЦ * ВЫБОР
| КОГДА 15 >= &Процент
| ТОГДА ВЫБОР
| КОГДА РАЗНОСТЬДАТ(&ДатаДокумента, &СрокДоговора, ДЕНЬ) > 0
| ТОГДА &Процент * (РАЗНОСТЬДАТ(ПоступлениеДС.Период, &ДатаДокумента, ДЕНЬ) + 1) / 365 / 100
| ИНАЧЕ &Процент * (РАЗНОСТЬДАТ(ПоступлениеДС.Период, &СрокДоговора, ДЕНЬ) + 1) / 365 / 100
| КОНЕЦ
| ИНАЧЕ ВЫБОР
| КОГДА РАЗНОСТЬДАТ(&ДатаДокумента, &СрокДоговора, ДЕНЬ) > 0
| ТОГДА 15 * (РАЗНОСТЬДАТ(ПоступлениеДС.Период, &ДатаДокумента, ДЕНЬ) + 1) / 365 / 100
| ИНАЧЕ 15 * (РАЗНОСТЬДАТ(ПоступлениеДС.Период, &СрокДоговора, ДЕНЬ) + 1) / 365 / 100
| КОНЕЦ
| КОНЕЦ) КАК СуммаНУ,
| ВЫБОР
| КОГДА РАЗНОСТЬДАТ(&СрокДоговора, &ДатаДокумента, ДЕНЬ) >= 0
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК ДоговорОкончен,
| СУММА(ВЫБОР
| КОГДА ПоступлениеДС.СчетКт.Валютный
| ТОГДА ЕСТЬNULL(РанееНачисленныеПроценты.ВалютнаяСуммаОборотКт, 0)
| ИНАЧЕ ЕСТЬNULL(РанееНачисленныеПроценты.СуммаОборот, 0)
| КОНЕЦ) КАК РанееНачисленныеПроцентыБУ,
| СУММА(ВЫБОР
| КОГДА ПоступлениеДС.СчетКт.Валютный
| ТОГДА ЕСТЬNULL(РанееНачисленныеПроценты.ВалютнаяСуммаОборотКт, 0)
| ИНАЧЕ ЕСТЬNULL(РанееНачисленныеПроценты.СуммаОборот, 0)
| КОНЕЦ * ВЫБОР
| КОГДА 15 >= &Процент
| ТОГДА &Процент
| ИНАЧЕ 15
| КОНЕЦ) КАК РанееНачисленныеПроцентыНУ
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(
| ,
| &ДатаДокумента,
| День,
| СчетДт В (&СчетаДС),
| ,
| СчетКт В (&СчетаЗаймов),
| ,
| Организация = &Организация
| И СубконтоКт1 = &Кредитор
| И СубконтоКт2 = &Договор) КАК ПоступлениеДС
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних(&ДатаДокумента, ) КАК КурсыВалютСрезПоследних
| ПО ПоступлениеДС.ВалютаКт = КурсыВалютСрезПоследних.Валюта
| ПОЛНОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(
| ,
| &ДатаДокумента,
| ,
| СчетДт В (&Счет9102),
| ,
| СчетКт В (&СчетаПроцентов),
| ,
| Организация = &Организация
| И СубконтоКт1 = &Кредитор
| И СубконтоКт2 = &Договор) КАК РанееНачисленныеПроценты
| ПО ПоступлениеДС.СубконтоКт1 = РанееНачисленныеПроценты.СубконтоКт1
| И ПоступлениеДС.СубконтоКт2 = РанееНачисленныеПроценты.СубконтоКт2
|
|СГРУППИРОВАТЬ ПО
| ПоступлениеДС.СчетКт.Валютный,
| КурсыВалютСрезПоследних.Курс,
| КурсыВалютСрезПоследних.Кратность";
Запрос.УстановитьПараметр("ДатаДокумента", Дата);
Запрос.УстановитьПараметр("ДатаДоговора", Дата);
Запрос.УстановитьПараметр("Кредитор", Кредитор);
Запрос.УстановитьПараметр("Договор", Договор);
Запрос.УстановитьПараметр("Организация", Организация);
Запрос.УстановитьПараметр("Процент", Договор.Процент);
Запрос.УстановитьПараметр("СрокДоговора", Договор.СрокДоговора);
Запрос.УстановитьПараметр("Счет9102", ПланыСчетов.Хозрасчетный.ПрочиеДоходыИРасходы);
СчетаДС=Новый Массив();
СчетаДС.Добавить(ПланыСчетов.Хозрасчетный.РасчетныеСчета);
СчетаДС.Добавить(ПланыСчетов.Хозрасчетный.ВалютныеСчета);
Запрос.УстановитьПараметр("СчетаДС", СчетаДС);
СчетаЗаймов=Новый Массив();
СчетаЗаймов.Добавить(ПланыСчетов.Хозрасчетный.КраткосрочныеЗаймы);
СчетаЗаймов.Добавить(ПланыСчетов.Хозрасчетный.КраткосрочныеЗаймыВал);
Запрос.УстановитьПараметр("СчетаЗаймов", СчетаЗаймов);
СчетаПроцентов=Новый Массив();
СчетаПроцентов.Добавить(ПланыСчетов.Хозрасчетный.ПроцентыПоКраткосрочнымЗаймам);
СчетаПроцентов.Добавить(ПланыСчетов.Хозрасчетный.ПроцентыПоКраткосрочнымЗаймамВал);
Запрос.УстановитьПараметр("СчетаПроцентов", СчетаПроцентов);
Результат=Запрос.Выполнить();
Выборка=Результат.Выбрать();
Если Выборка.Следующий() Тогда
// Начисление процента
Движения.Хозрасчетный.Записывать = Истина;
Движения.Хозрасчетный.Очистить();
Движение = Движения.Хозрасчетный.Добавить();
Движение.СчетДт = ПланыСчетов.Хозрасчетный.ПрочиеРасходы;
Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.ПрочиеДоходыИРасходы] = РасходПоПроцентам;
Движение.Период = Дата;
Движение.Организация = Организация;
Если Выборка.СчетКтВалютный Тогда
Движение.ВалютаКт = Договор.ВалютаВзаиморасчетов;
Движение.СчетКт = ПланыСчетов.Хозрасчетный.ПроцентыПоКраткосрочнымЗаймамВал;
Движение.Сумма = (Выборка.СуммаБУ-Выборка.РанееНачисленныеПроцентыБУ)*Выборка.Курс / Выборка.Кратность;
//Движение.ВалютаКт = Валюта;
Движение.ВалютнаяСуммаКт=Выборка.СуммаБУ-Выборка.РанееНачисленныеПроцентыБУ;
Движение.СуммаНУДт = (Выборка.СуммаНУ-Выборка.РанееНачисленныеПроцентыНУ)*Выборка.Курс/Выборка.Кратность;
Движение.СуммаПРДт=((Выборка.СуммаБУ-Выборка.РанееНачисленныеПроцентыБУ)-(Выборка.СуммаНУ-Выборка.РанееНачисленныеПроцентыНУ)*Выборка.Курс/ Выборка.Кратность);
Иначе
Движение.СчетКт = ПланыСчетов.Хозрасчетный.ПроцентыПоКраткосрочнымЗаймам;
Движение.Сумма = Выборка.СуммаБУ-Выборка.РанееНачисленныеПроцентыБУ;
Движение.СуммаНУДт = Выборка.СуммаНУ-Выборка.РанееНачисленныеПроцентыНУ ;
Движение.СуммаПРДт=(Выборка.СуммаБУ-Выборка.РанееНачисленныеПроцентыБУ)-(Выборка.СуммаНУ-Выборка.РанееНачисленныеПроцентыНУ);
КонецЕсли;
Движение.Содержание = "Начисление процента";
Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.РеализуемыеАктивы] = Кредитор;
Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты] = Кредитор;
Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Договоры] = Договор;
Добавлено (17.04.2012, 21:09)
---------------------------------------------
Нашла еще решение:
1. новый документ «договор займа док».
Попыталась просто добавить нужные поля в справочник «договоры», получается плохо, потому что если делать все типовыми, нужно именно два вида договоров – с типом «прочее» - на сумму займа, чтобы вводить и «с поставщиком».
Заемщик Организации
Заимодавец Справочник.Контрагенты
агент Справочник.Контрагенты, Справочник.ФизическиеЛица
ДатаНачала Дата
ДатаОкончания Дата
Сумма Число
Процент Число
Валюта Справочник.Валюты
ДоговорЗайма Справочник.Договоры
ДоговорПроцентов Справочник.Договоры
2. ввели два новых элемента в справочник «прочиедоходыирасходы» - проценты по норме (учитываются в НУ) и проценты сверх нормы (не учитываются в НУ) для использования в документе «ПоступлениеТоваровУслуг» для начисления процентов.
3. выполнение практической части
Практическая часть по договорам займа.
Дата Описание операции Дт Кт Сумма БУ Сумма НУ
10.01.05 Заключен договор займа под 30% годовых с 12.01.05 по 12.04.05
Проведен новый документ «ДоговорЗайма», где ДоговорЗайма – тип «прочее», ДоговорПроцентов – тип «с поставщиком».
12.01.05 Получены ДС 52 66 10000 USD
ППВ с контрагентом – заимодавцем по договору «договорЗайма» с типом «прочее»
Операции в конце месяца
31.01.05 Начисление процента за пользование займом
в январе 2005 91.2 66
(субсчет процентов)
«ПоступлениеТоваровУслуг» с контрагентом Заимодавец по договору ДоговорПРоцентов (тип – Споставщиком), на закладке «Услуги» две строки с суммами процентов – по норме и сверх нормы, где используем в качестве аналитики по счетам два разных элемента справочника «ПрочиеДоходыРасходы» - учитываемые в НУ и неучитываемые в НУ. Счет БУ – 91.2, счет НУ – 91.02.07. счет учета расчетов на вкладке устанавливаем – 66.24. при проведении такой документ сам генерирует правильную проводку на сумму «Постоянной разницы».
31.01.05 Переоценка валюты на счете учета займов 91.2 66
31.01.05 Переоценка валюты на счете учета процентов по займу 91.2 66
(субсчет процентов)
Для выполнения перекурсовки убираем счета из перечня счетов с «особыми условиями перекурсовки» после выполнения – опять их вставляем. Делается документом «ЗакрытиеМЕсяца»
Закрытие договора займа
12.02.05 Начисление % за пользование займом 91.2 66
Аналогично документом «поступлениеТоваровУслуг»
12.02.05 Закрытие договора на сумму займа 66 76 10000
Ручной проводкой….
14.02.05 Перечислены ДС 76 53 10000 + проценты
ППИ с контрагентом по договору «договорЗайма»
28.02.05 Отражено сальдо прочих доходов и расходов (убыток по начисленным процентам) 91.9 99 Процент БУ
28.02.05 Отражена сумма ПНО (из-за возникшей ПР в процентах по БУ и НУ) 99 68
Это делается документом «ЗакрытиеМесяца»
Переоценка – делается документом «закрытиемесяца», только надо предварительно убрать счета из регистра сведений «счета с особым видом переоценки».
Или он заведомо не верный?