Помогите, пожалуйста, разобраться в запросе. УАТ2.1. Не пойму как сделать, чтобы при условии проверки на пометку на удаление, не отрабатывало условие на заказы с пустыми ПТУ, а только лишь на те, которые ПОМЕЧЕНЫ НА УДАЛЕНИЕ

1. userAn 07.11.19 16:11 Сейчас в теме
На фото первое - выбирается 2 одинаковых заказа, в одном поступление заполнено, в другом нет,т.к оно помечено на удаление(соответственно записи в регистре накопления нет). Как сделать условие, чтобы вторая запись пропала, но при этом остались заказы, если нет поступления. Все уже перепробовала, не знаю как еще сделать. Может что нибудь посоветуете?
Если поставить условие на пометку удаления ПТУ, то это условие автоматически срабатывает на пустые ссылки пту


ВЫБРАТЬ
	ДвиженияПоЗаказамТЭК.Регистратор КАК Регистратор,
	ДвиженияПоЗаказамТЭК.ТС КАК ТС,
	уатПоступлениеТоваровУслугУслуги.Ссылка КАК Счет,
	ДвиженияПоЗаказамТЭК.Регистратор.СтоимостьПеревозчика КАК СуммаПеревозчика,
	уатПоступлениеТоваровУслугУслуги.Сумма КАК СуммаСчета,
	ВЫБОР
		КОГДА НЕ уатПоступлениеТоваровУслугУслуги.Ссылка.ДокументОснование ЕСТЬ NULL
				И уатПоступлениеТоваровУслугУслуги.Ссылка.ПометкаУдаления
			ТОГДА 27
		ИНАЧЕ уатПоступлениеТоваровУслугУслуги.Ссылка
	КОНЕЦ КАК Поле1
ПОМЕСТИТЬ ВременнаяТаблица
ИЗ
	РегистрСведений.ДвиженияПоЗаказамТЭК КАК ДвиженияПоЗаказамТЭК
		ЛЕВОЕ СОЕДИНЕНИЕ Документ.уатПоступлениеТоваровУслуг.Услуги КАК уатПоступлениеТоваровУслугУслуги
		ПО (ДвиженияПоЗаказамТЭК.Регистратор = уатПоступлениеТоваровУслугУслуги.Заказ)
ГДЕ
	ДвиженияПоЗаказамТЭК.Регистратор.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ВременнаяТаблица.Регистратор.Контрагент КАК Перевозчик,
	ВременнаяТаблица.Регистратор КАК ЗаказПеревозчика,
	уатВзаиморасчетыСКонтрагентамиОстаткиИОбороты.Сделка КАК Счет,
	уатПлатежноеПоручениеИсходящееРасшифровкаПлатежа.Ссылка КАК Платежка,
	ВременнаяТаблица.СуммаПеревозчика КАК СуммаЗаказа,
	ВременнаяТаблица.СуммаСчета КАК СуммаСчета,
	ВЫБОР
		КОГДА уатВзаиморасчетыСКонтрагентамиОстаткиИОбороты.СуммаВзаиморасчетовПриход > ВременнаяТаблица.СуммаСчета
			ТОГДА ВременнаяТаблица.СуммаСчета
		ИНАЧЕ уатВзаиморасчетыСКонтрагентамиОстаткиИОбороты.СуммаВзаиморасчетовПриход
	КОНЕЦ КАК СуммаОплаты,
	ВЫБОР
		КОГДА ВЫБОР
				КОГДА уатВзаиморасчетыСКонтрагентамиОстаткиИОбороты.СуммаВзаиморасчетовПриход > ВременнаяТаблица.СуммаСчета
					ТОГДА ВременнаяТаблица.СуммаСчета
				ИНАЧЕ уатВзаиморасчетыСКонтрагентамиОстаткиИОбороты.СуммаВзаиморасчетовПриход
			КОНЕЦ > 0
			ТОГДА 0
		ИНАЧЕ ВЫБОР
				КОГДА уатВзаиморасчетыСКонтрагентамиОстаткиИОбороты.СуммаВзаиморасчетовКонечныйОстаток < ВременнаяТаблица.СуммаСчета
					ТОГДА ВременнаяТаблица.СуммаСчета
				ИНАЧЕ уатВзаиморасчетыСКонтрагентамиОстаткиИОбороты.СуммаВзаиморасчетовКонечныйОстаток
			КОНЕЦ
	КОНЕЦ КАК СуммаДолга,
	ВременнаяТаблица.Поле1 КАК Поле1
ИЗ
	ВременнаяТаблица КАК ВременнаяТаблица
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.уатВзаиморасчетыСКонтрагентами.ОстаткиИОбороты(, &ДатаОплаты, , , ) КАК уатВзаиморасчетыСКонтрагентамиОстаткиИОбороты
			ЛЕВОЕ СОЕДИНЕНИЕ Документ.уатПлатежноеПоручениеИсходящее.РасшифровкаПлатежа КАК уатПлатежноеПоручениеИсходящееРасшифровкаПлатежа
			ПО уатВзаиморасчетыСКонтрагентамиОстаткиИОбороты.Сделка = уатПлатежноеПоручениеИсходящееРасшифровкаПлатежа.Сделка
		ПО ВременнаяТаблица.Счет = уатВзаиморасчетыСКонтрагентамиОстаткиИОбороты.Сделка

УПОРЯДОЧИТЬ ПО
	ВременнаяТаблица.Регистратор.Дата
Показать
Прикрепленные файлы:
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Drak0n 187 07.11.19 16:52 Сейчас в теме
Очевидно - прописать два условия... или, например, можно вообще левым не брать удаленные...
Вопрос сформулирован крайне непонятно.

Не относится к вопросу но глаз зацепился:
ВременнаяТаблица.Регистратор.Контрагент

не делайте так.
3. userAn 08.11.19 08:56 Сейчас в теме
(2) И 2 условия я прописывала, но все равно не получалось так, как я хочу. Когда я ставлю условия ПТУ с Пометкой на удаление уходят, но так же и уходят заказы у которых нет ПТУ
Что значит левым не брать удаленные?

И почему нельзя обращаться через временную таблицу к регистратору?
4. userAn 08.11.19 09:19 Сейчас в теме
(2) Все, получилось. Через условие в левом соединении. Спасибо за наводку, а то я условие ставила, а оно не отрабатывало и все тут, сейчас все четко))
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот