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

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


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

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

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)

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

Программист 1C
Волгоград
зарплата от 200 000 руб.
Полный день

Аналитик
Санкт-Петербург
зарплата от 200 000 руб. до 250 000 руб.
Полный день