Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
28 мар 2024, 13:34

Расчеты с клиентами Выборка

Автор margo, 23 ноя 2021, 10:53

0 Пользователей и 1 гость просматривают эту тему.

margo

Добрый день! Подскажите, пожалуйста.
Пытаюсь выбрать из регистра записи, где сумма к оплате больше суммы оплачивается.  По заказу есть оплата, но в выборку "Оплачивается" выводится нулевой. Т.к. платежка делает запись и на приход и на расход на одну и ту же сумму - пыталась выбирать записи с видом движения только приход. Но поле "оплачивается" всеравно выводится 0. В чем может быть причина?

ВЫБРАТЬ
| РасчетыСКлиентами.АналитикаУчетаПоПартнерам.Контрагент КАК АналитикаУчетаПоПартнерамКонтрагент,
| сумма(РасчетыСКлиентами.КОплате) КАК КОплате,
| сумма(РасчетыСКлиентами.Оплачивается) КАК Оплачивается,
| МИНИМУМ(РасчетыСКлиентами.ДатаПлатежа) КАК ДатаПлатежа,
| РасчетыСКлиентами.ДопустимаяСуммаЗадолженности КАК ДопустимаяСуммаЗадолженности,
| РасчетыСКлиентами.СчетНаОплату КАК СчетНаОплату,
| РасчетыСКлиентами.Сумма КАК Сумма,
| РасчетыСКлиентами.ЗаказКлиента КАК ЗаказКлиента
|ИЗ
| РегистрНакопления.РасчетыСКлиентами КАК РасчетыСКлиентами
|ГДЕ
| РасчетыСКлиентами.АналитикаУчетаПоПартнерам.Контрагент = &Контрагент
| И РасчетыСКлиентами.Оплачивается < РасчетыСКлиентами.КОплате
| И РасчетыСКлиентами.ДатаПлатежа < &ДатаСреза

|
|СГРУППИРОВАТЬ ПО
| РасчетыСКлиентами.АналитикаУчетаПоПартнерам.Контрагент,
| РасчетыСКлиентами.ДопустимаяСуммаЗадолженности,
| РасчетыСКлиентами.СчетНаОплату,
| РасчетыСКлиентами.Сумма,
| РасчетыСКлиентами.ЗаказКлиента

LexaK

margo, так попробуйте использовать виртуальную таблицу Обороты,
вот пример
ВЫБРАТЬ ПЕРВЫЕ 100
РасчетыСКлиентамиОбороты.АналитикаУчетаПоПартнерам.Контрагент КАК Контрагент,
РасчетыСКлиентамиОбороты.ЗаказКлиента КАК ЗаказКлиента,
РасчетыСКлиентамиОбороты.СуммаПриход КАК Сумма,
РасчетыСКлиентамиОбороты.КОплатеПриход КАК КОплате,
РасчетыСКлиентамиОбороты.ОплачиваетсяПриход КАК Оплачивается,
РасчетыСКлиентамиОбороты.Период КАК ДатаОплаты
ИЗ
РегистрНакопления.РасчетыСКлиентами.Обороты(, , Регистратор, ) КАК РасчетыСКлиентамиОбороты
если помогло нажмите: Спасибо!

margo

Дело в том, что таблица обороты не содержит реквизит Дата платежа. Дата платежа это не фактическая дата оплаты, а дата потенциальной (отсроченной) следующей оплаты

LexaK

margo, так соедините две таблицы, из одной возьмите дату платежа, из другой оборот оплачивается

ну или как в первом варианте с кучей условий складывайте/агрегируйте результат как вам необходимо
если помогло нажмите: Спасибо!

margo

LexaK, спасибо, будем пробовать

LexaK

margo, для того что бы самому посчитать только Приход по реквизиту, можно использовать такой код
    Выбрать
    ...
Сумма(Выбор Когда Рег.ВидДвижения = Значение(ВидДвиженияНакопления.Приход)
Тогда Рег.Оплачивается Иначе 0 Конец) как Оплачивается,
    ...
если помогло нажмите: Спасибо!

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск