База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как в УТ 11.5 вывести в отчет отношение задолженности и оплаты по контрагентам? › Ответ в теме: Как в УТ 11.5 вывести в отчет отношение задолженности и оплаты по контрагентам?
В УТ 11.5 для вывода в отчет отношения задолженности к оплате по контрагентам нужно собрать данные по задолженности и оплатам, а затем вычислить отношение (например, задолженность / оплата). Обычно задолженность берется из оборотно-сальдовой ведомости по счетам расчетов с контрагентами (60, 62, 76 и т.п.), а оплаты — из документов оплаты или движений по этим счетам.
Примерный алгоритм:
1. Получить сумму задолженности по контрагентам на нужную дату (например, на конец периода).
2. Получить сумму оплат за тот же период.
3. Рассчитать отношение: Задолженность / Оплата (учитывая деление на ноль).
4. Вывести в отчет по контрагентам.
Пример запроса на языке 1С для получения задолженности и оплат (упрощенный):
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | РегистрРасчетов.Контрагент КАК Контрагент, | СУММА(РегистрРасчетов.Сумма) КАК Задолженность, | СУММА(Оплаты.Сумма) КАК Оплата |ИЗ | РегистрРасчетов.СостояниеРасчетов КАК РегистрРасчетов | ЛЕВОЕ СОЕДИНЕНИЕ ( | ВЫБРАТЬ | Оплаты.Контрагент, | СУММА(Оплаты.Сумма) КАК Сумма | ИЗ | Документ.ОплатаПоставщику КАК Оплаты | ГДЕ | Оплаты.Дата МЕЖДУ &ДатаНачала И &ДатаКонца | СГРУППИРОВАТЬ ПО | Оплаты.Контрагент | ) КАК Оплаты | ПО РегистрРасчетов.Контрагент = Оплаты.Контрагент |ГДЕ | РегистрРасчетов.Дата <= &ДатаКонца |СГРУППИРОВАТЬ ПО | РегистрРасчетов.Контрагент"; Запрос.УстановитьПараметр("ДатаНачала", НачалоПериода); Запрос.УстановитьПараметр("ДатаКонца", КонецПериода); Результат = Запрос.Выполнить().Выгрузить(); Для Каждого Строка Из Результат Цикл Если Строка.Оплата = 0 Тогда Сообщить("Контрагент: " + Строка.Контрагент + ", Задолженность: " + Строка.Задолженность + ", Оплата: " + Строка.Оплата + ", Отношение: не определено"); Иначе Сообщить("Контрагент: " + Строка.Контрагент + ", Задолженность: " + Строка.Задолженность + ", Оплата: " + Строка.Оплата + ", Отношение: " + Формат(Строка.Задолженность / Строка.Оплата, "ЧГ=0; ЧРД=2")); КонецЕсли; КонецЦикла; |
Обратите внимание:
- В реальной базе структура может отличаться, нужно смотреть конкретные регистры и документы.
- Для оплаты можно использовать документы "ОплатаПоставщику" или "ПоступлениеДенежныхСредств" в зависимости от настроек.
- Можно использовать стандартные отчеты по расчетам с контрагентами и доработать их.
Если нужен готовый отчет, то проще взять стандартный отчет "Анализ расчетов с контрагентами" и добавить в него вычисляемое поле с отношением задолженности к оплате.
Там есть примеры работы с расчетами и отчетами по контрагентам.