УТ 10.3. Как запросом получить неоплаченные заказы поставщику?

1. 123 15.09.21 08:33 Сейчас в теме
На данный момент такая функция, которая почему-то отрабатывает некорректно (показывает также оплаченные заказы, и переплаченные, и неоплаченные в т. ч.). Я думаю из-за того, что по одному договору может быть несколько сделок.


&НаСервере
Функция ПолучитьНеоплаченныеЗаказыПоставщику()
	
	СписокДокументов = новый СписокЗначений;
	
	Запрос = Новый Запрос;
	Запрос.Текст = 
	"ВЫБРАТЬ
	|	РасчетыСКонтрагентамиОстатки.СуммаВзаиморасчетовОстаток,
	|	РасчетыСКонтрагентамиОстатки.Сделка
	|ИЗ
	|	РегистрНакопления.РасчетыСКонтрагентами.Остатки(, ДоговорКонтрагента = &ДоговорКонтрагента) КАК РасчетыСКонтрагентамиОстатки
	|ГДЕ
	|	РасчетыСКонтрагентамиОстатки.СуммаВзаиморасчетовОстаток < 0";
	
	Запрос.УстановитьПараметр("ДоговорКонтрагента", Объект.ДоговорКонтрагента);
	
	РезультатЗапроса = Запрос.Выполнить();
	
	РезультатЗапроса = РезультатЗапроса.Выгрузить();
	СписокДокументов.ЗагрузитьЗначения(РезультатЗапроса.ВыгрузитьКолонку("Сделка"));
	
	Возврат СписокДокументов;
	
КонецФункции
Показать
Вознаграждение за ответ
Показать полностью
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
3. ZergKRSK 128 15.09.21 09:06 Сейчас в теме
(1) наверное надо смотреть не остаток, а приход денег по сделке.
4. ZergKRSK 128 15.09.21 09:15 Сейчас в теме +0.3 $m
(1) типа такого
ВЫБРАТЬ
	РасчетыСКонтрагентами.Сделка КАК Заказ,
	РасчетыСКонтрагентами.ДоговорКонтрагента КАК ЗаказДоговорКонтрагента,
	РасчетыСКонтрагентами.СуммаВзаиморасчетовРасход КАК Запланировано,
	РасчетыСКонтрагентами.СуммаВзаиморасчетовПриход КАК Оплачено
ИЗ
	(ВЫБРАТЬ
		РасчетыСКонтрагентами.СуммаВзаиморасчетовПриход КАК СуммаВзаиморасчетовПриход,
		РасчетыСКонтрагентами.СуммаВзаиморасчетовРасход КАК СуммаВзаиморасчетовРасход,
		РасчетыСКонтрагентами.Сделка КАК Сделка,
		РасчетыСКонтрагентами.ДоговорКонтрагента КАК ДоговорКонтрагента
	ИЗ
		РегистрНакопления.РасчетыСКонтрагентами.Обороты(, &ДатаАнализа, , ДоговорКонтрагента = &ДоговорКонтрагента) КАК РасчетыСКонтрагентами
	
	ОБЪЕДИНИТЬ ВСЕ
	
	ВЫБРАТЬ
		0,
		0,
		&Заказ,
		&ДоговорКонтрагента) КАК РасчетыСКонтрагентами
Показать
5. Aleksandr55555 123 15.09.21 09:54 Сейчас в теме
(4) Кажется понял. Получается надо выбирать потом из этого те заказы, где "Оплачено" >= "Запланировано". Верно?
И ещё вопрос. Для чего нам второй запрос с объединением?
Прикрепленные файлы:
6. ZergKRSK 128 15.09.21 09:59 Сейчас в теме
(5) я привел пример для анализа одного заказа поставщику. Для списка заказов запрос ясно дело надо подрихтовать.
Если вы ищите полностью неоплаченные заказы то условие будет Оплачено = 0.
7. Aleksandr55555 123 15.09.21 10:09 Сейчас в теме
(6) Точно, я не так написал условие. Частично оплаченные - это тоже для нас неоплаченные. Тогда получается "Оплачено" < "Запланировано".
8. ZergKRSK 128 15.09.21 10:11 Сейчас в теме
(7)
Тогда получается "Оплачено" < "Запланировано".

Да
2. user1582372 15.09.21 08:39 Сейчас в теме
Попробуй в запросе сделать отбор по неоплаченным заказам
9. starjevschik 15.09.21 10:18 Сейчас в теме
Если взаиморасчеты не "по заказам", то все это работать не будет.
Надо сначала уточнить условия задачи, потом делать...
10. ZergKRSK 128 15.09.21 10:26 Сейчас в теме
(9) ну раз он получает запросом Сделки то всё норм
Оставьте свое сообщение
Вопросы с вознаграждением
Вакансии
Программист 1С
Москва
зарплата от 150 000 руб.
Полный день

Программист 1С
Новосибирск
зарплата от 100 000 руб.
Полный день

Программист 1С: ЗУП
Чита
зарплата от 110 000 руб. до 150 000 руб.
Полный день

Разработчик 1C: ERP (Блоки: Снабжение, закупки, склад; Финансы и казначейство)
Чита
зарплата от 110 000 руб. до 150 000 руб.
Полный день

Консультант 1С
Нижний Новгород
зарплата от 55 000 руб. до 100 000 руб.
Полный день