Добрый день коллеги программисты профессионалы под скажите кто знает Строю Отчет на СКД как отобрать в запросе только полностью оплаченные реализации и соответствуюший им документы оплаты
Вот запрос
Вот запрос
РеализацияТоваровУслугТовары.АБ_ПродажиМенеджер КАК АБ_ПродажиМенеджер,
КОЛИЧЕСТВО(РеализацияТоваровУслугТовары.Ссылка) КАК КоличествоРеализации,
СУММА(РеализацияТоваровУслугТовары.СуммаВзаиморасчетов) КАК СуммаРеализации,
КОЛИЧЕСТВО(ПриходныйКассовыйОрдерРасшифровкаПлатежа.Ссылка) КАК КоличествоПриход,
СУММА(ЕСТЬNULL(ПриходныйКассовыйОрдерРасшифровкаПлатежа.СуммаВзаиморасчетов, 0)) КАК СуммаПриход,
КОЛИЧЕСТВО(ОперацияПоПлатежнойКартеРасшифровкаПлатежа.Ссылка) КАК КоличествоПоКарте,
СУММА(ЕСТЬNULL(ОперацияПоПлатежнойКартеРасшифровкаПлатежа.СуммаВзаиморасчетов, 0)) КАК СуммаПоКарте
ИЗ
Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПриходныйКассовыйОрдер.РасшифровкаПлатежа КАК ПриходныйКассовыйОрдерРасшифровкаПлатежа
ПО РеализацияТоваровУслугТовары.Ссылка = ПриходныйКассовыйОрдерРасшифровкаПлатежа.ОснованиеПлатежа
ЛЕВОЕ СОЕДИНЕНИЕ Документ.ОперацияПоПлатежнойКарте.РасшифровкаПлатежа КАК ОперацияПоПлатежнойКартеРасшифровкаПлатежа
ПО РеализацияТоваровУслугТовары.Ссылка = ОперацияПоПлатежнойКартеРасшифровкаПлатежа.ОснованиеПлатежа
ГДЕ
РеализацияТоваровУслугТовары.Ссылка.Дата МЕЖДУ &НачалоПериода И &КонецПериода
И НЕ РеализацияТоваровУслугТовары.АБ_ПродажиМенеджер = ЗНАЧЕНИЕ(Справочник.ФизическиеЛица.ПустаяСсылка)
СГРУППИРОВАТЬ ПО
РеализацияТоваровУслугТовары.АБ_ПродажиМенеджер
ПоказатьПо теме из базы знаний
- Внешний отчет на СКД "Ошибки и предупреждения журнала регистрации". Для любой типовой конфигурации 1С: Предприятие 8.3
- Внешний отчет на СКД "Ошибки технологического журнала". Для любой типовой конфигурации 1С: Предприятие 8.3
- Доработка типового отчета на СКД с помощью расширения
- По-настоящему свои макеты в отчетах СКД. Исследование процесса компоновки и генерация кода отчета
- Отчет на СКД с использованием форм из БСП. Варианты передачи списка значений в параметр СКД
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
И еще условие
И РеализацияТоваровУслугТовары.СуммаВзаиморасчетов <= (ЕСТЬNULL(ПриходныйКассовыйОрдерРасшифровкаПлатежа.СуммаВзаиморасчетов, 0) + ЕСТЬNULL(ОперацияПоПлатежнойКартеРасшифровкаПлатежа.СуммаВзаиморасчетов, 0))
Зависит от конфигурации и от ведения учета в ней.
Если не ведется учет "по документам расчетов", то факт оплаты конкретной реализации установить можно только с какими-то допущениями. Например по ФИФО.
Если же делать запрос по документам, то надо учесть намного больше того, что приведено в исходном вопросе. Кроме платежек есть еще возвраты, взаимозачеты, списания долгов... зачет предоплаты в разных вариантах...
Не самая простая задача и не решается парой строк кода. Если делать ее правильно.
Если не ведется учет "по документам расчетов", то факт оплаты конкретной реализации установить можно только с какими-то допущениями. Например по ФИФО.
Если же делать запрос по документам, то надо учесть намного больше того, что приведено в исходном вопросе. Кроме платежек есть еще возвраты, взаимозачеты, списания долгов... зачет предоплаты в разных вариантах...
Не самая простая задача и не решается парой строк кода. Если делать ее правильно.
Ну, ИМХО, тут надо вопрос решать последовательно - собрать все реализации с полной суммой, возвраты, оплаты такие и этакие. В итоге у нас должны получиться несколько таблиц - очищенная от возвратов реализация (документ, сумма) и разным образом совершенная для этой реализации оплата. Из реализации взять максимум суммы, из оплат взять сумму оплат (их ведь может быть несколько, да?), ну и ИМЕЮЩИЕ МАКСИМУМ(Реализация.Сумма) <= СУММА(Оплата.Сумма) - как-то так.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот