Задача: Получить просроченную задолженность. Запрос не видит оплат, т.е. если прошла оплата то сумма все равно получается та, что была без оплаты. Как сделать правильно? Конфа самописная. Контрагент , Счет - измерения. ДатаПлатежа - реквизит.
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ВзаиморасчетыСПокупателями.Контрагент КАК Контрагент,
| ВзаиморасчетыСПокупателями.Счет КАК Счет,
| ВзаиморасчетыСПокупателями.Сумма КАК Сумма,
| ВзаиморасчетыСПокупателями.ДатаПлатежа КАК ДатаПлатежа
|ИЗ
| РегистрНакопления.ВзаиморасчетыСПокупателями КАК ВзаиморасчетыСПокупателями
|ГДЕ
| ВзаиморасчетыСПокупателями.ДатаПлатежа <> &ПустаяДата
| И ВзаиморасчетыСПокупателями.ДатаПлатежа < &Дата";
Запрос.УстановитьПараметр("Дата", НачалоДня(Дата));
Запрос.УстановитьПараметр("ПустаяДата", Дата(1,1,1));
Запрос.УстановитьПараметр("МоментВремени", МоментВремени());
РезультатЗапроса = Запрос.Выполнить();
ПоказатьПо теме из базы знаний
- Дебиторская и кредиторская задолженность по срокам долга (просроченная задолженность)
- Расчет просроченной задолженности по ФИФО по банковским дням
- Напоминалка о просроченной задолженности (долг клиента на форме расходной накладной)
- Анализ неоплаченных счетов покупателям, просроченная задолженность (БП 3.0)
- Просроченная задолженность с детализаций по документам по регистру накопления "Взаиморасчеты с контрагентами"
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(8)Можно или нет одним запросом - зависит от того, заполняется ли поле ДатаПлатежа и если заполняется, то соответствует ли значение дате документа, двигающего деньги.
Если заполняется и соответствует, то, ИМХО, условие в запросе должно быть
|ГДЕ
| ВзаиморасчетыСПокупателями.ДатаПлатежа >= ВзаиморасчетыСПокупателями.Счет.Дата"
а на &Дата вы должны получать остатки, чтобы оценить количество дней задолженности, но исходя из структуры регистра - одним запросом вообще не получиться, т.к. остатки и ОстаткиИОбороты не будут содержать ДатаПлатежа, раквизит доступен только в реальной таблице регистра.
Если заполняется и соответствует, то, ИМХО, условие в запросе должно быть
|ГДЕ
| ВзаиморасчетыСПокупателями.ДатаПлатежа >= ВзаиморасчетыСПокупателями.Счет.Дата"
а на &Дата вы должны получать остатки, чтобы оценить количество дней задолженности, но исходя из структуры регистра - одним запросом вообще не получиться, т.к. остатки и ОстаткиИОбороты не будут содержать ДатаПлатежа, раквизит доступен только в реальной таблице регистра.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот