Условие в запросе

1. user1145156 02.04.21 14:24 Сейчас в теме
Есть документ "Заявка на расходование ДС" и "СБДС (списание безналичных денежных средств)"
Есть РС "НаличиеПрисоединенныхФайлов"

На основании одной заявки на расходование ДС может быть несколько дочерних СБДС
Подскажите, пожалуйста, как добавить в запросе условие чтобы результат выдавался только если по каждой дочерней СБДС есть запись в РС "НаличиеПрисоединенныхФайлов"?


ВЫБРАТЬ
	Заявка.Ссылка,
	СписаниеБезналичныхДенежныхСредств.Ссылка КАК СБДС,
	НаличиеПрисоединенныхФайлов.ЕстьФайлы
ИЗ
	РегистрСведений.НаличиеПрисоединенныхФайлов КАК НаличиеПрисоединенныхФайлов
		ЛЕВОЕ СОЕДИНЕНИЕ Документ.СписаниеБезналичныхДенежныхСредств КАК СписаниеБезналичныхДенежныхСредств
			ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаявкаНаРасходованиеДенежныхСредств КАК Заявка
			ПО СписаниеБезналичныхДенежныхСредств.ЗаявкаНаРасходованиеДенежныхСредств = Заявка.Ссылка
		ПО НаличиеПрисоединенныхФайлов.ОбъектСФайлами = СписаниеБезналичныхДенежныхСредств.Ссылка
Показать
По теме из базы знаний
Найденные решения
4. spacecraft 02.04.21 15:03 Сейчас в теме
(1) попробуйте так.
ВЫБРАТЬ
    Заявка.Ссылка КАК Заявка,
    Сумма(ВЫБОР 
        КОГДА НаличиеПрисоединенныхФайлов.ЕстьФайлы ТОГДА 0
        ИНАЧЕ 1
    КОНЕЦ) КАК НетФалов
ПОМЕСТИТЬ ВТ_Заявки
ИЗ
    Документ.ЗаявкаНаРасходованиеДенежныхСредств КАК Заявка
    	ЛЕВОЕ СОЕДИНЕНИЕ Документ.СписаниеБезналичныхДенежныхСредств КАК СписаниеБезналичныхДенежныхСредств
            ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НаличиеПрисоединенныхФайлов КАК НаличиеПрисоединенныхФайлов
            ПО НаличиеПрисоединенныхФайлов.ОбъектСФайлами = СписаниеБезналичныхДенежныхСредств.Ссылка
        ПО СписаниеБезналичныхДенежныхСредств.ЗаявкаНаРасходованиеДенежныхСредств = Заявка.Ссылка

СГРУППИРОВАТЬ ПО
    Заявка.Ссылка
;        
///////////////////////////////
ВЫБРАТЬ
    Заявки.Заявка КАК Заявка
ИЗ
    ВТ_Заявки КАК Заявки
ГДЕ
    Заявки.НетФайлов = 0
Показать


Делал тут на коленке без программы, возможны неточности.
user1145156; +1 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
4. spacecraft 02.04.21 15:03 Сейчас в теме
(1) попробуйте так.
ВЫБРАТЬ
    Заявка.Ссылка КАК Заявка,
    Сумма(ВЫБОР 
        КОГДА НаличиеПрисоединенныхФайлов.ЕстьФайлы ТОГДА 0
        ИНАЧЕ 1
    КОНЕЦ) КАК НетФалов
ПОМЕСТИТЬ ВТ_Заявки
ИЗ
    Документ.ЗаявкаНаРасходованиеДенежныхСредств КАК Заявка
    	ЛЕВОЕ СОЕДИНЕНИЕ Документ.СписаниеБезналичныхДенежныхСредств КАК СписаниеБезналичныхДенежныхСредств
            ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НаличиеПрисоединенныхФайлов КАК НаличиеПрисоединенныхФайлов
            ПО НаличиеПрисоединенныхФайлов.ОбъектСФайлами = СписаниеБезналичныхДенежныхСредств.Ссылка
        ПО СписаниеБезналичныхДенежныхСредств.ЗаявкаНаРасходованиеДенежныхСредств = Заявка.Ссылка

СГРУППИРОВАТЬ ПО
    Заявка.Ссылка
;        
///////////////////////////////
ВЫБРАТЬ
    Заявки.Заявка КАК Заявка
ИЗ
    ВТ_Заявки КАК Заявки
ГДЕ
    Заявки.НетФайлов = 0
Показать


Делал тут на коленке без программы, возможны неточности.
user1145156; +1 Ответить
7. user1145156 02.04.21 16:33 Сейчас в теме
(4) Подскажите, пожалуйста, как добавить проверку чтобы не учитывались СБДС с пометкой на удаление?
8. spacecraft 02.04.21 17:27 Сейчас в теме
(7) добавить к условию соединения:
ПО СписаниеБезналичныхДенежныхСредств.ЗаявкаНаРасходованиеДенежныхСредств = Заявка.Ссылка
И НЕ СписаниеБезналичныхДенежныхСредств.ПометкаУдаления 
user1145156; +1 Ответить
9. user1145156 02.04.21 17:51 Сейчас в теме
(8)Как можно вывести СБДС.Ссылка?
Я пробовал, но требует добавить группировку по ней
10. spacecraft 02.04.21 17:56 Сейчас в теме
(9) еще раз связать левым соединением в итогом подзапросе.
ВЫБРАТЬ
    Заявки.Заявка КАК Заявка,
    СписаниеБезналичныхДенежныхСредств.Ссылка КАК СБДС
ИЗ
    ВТ_Заявки КАК Заявки
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.СписаниеБезналичныхДенежныхСредств КАК СписаниеБезналичныхДенежныхСредств
        ПО СписаниеБезналичныхДенежныхСредств.ЗаявкаНаРасходованиеДенежныхСредств = Заявки.Заявка
        И НЕ СписаниеБезналичныхДенежныхСредств.ПометкаУдаления
ГДЕ
    Заявки.НетФайлов = 0
Показать
user1145156; +1 Ответить
6. Nubsdale 02.04.21 15:58 Сейчас в теме
Правым присоединением к НаличиеПрисоединенныхФайлов
Если НаличиеПрисоединенныхФайловесть тогда появится строка
2. user1278383 5 02.04.21 14:40 Сейчас в теме
РегистрСведений.НаличиеПрисоединенныхФайлов КАК НаличиеПрисоединенныхФайлов
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.СписаниеБезналичныхДенежныхСредств КАК СписаниеБезналичныхДенежныхСредств
3. sanjabor 17 02.04.21 14:49 Сейчас в теме
Отобрать списания, по которым НЕТ файлов
Документ.СписаниеБезналичныхДенежныхСредств КАК СписаниеБезналичныхДенежныхСредств
ЛЕВОЕ СОЕДИНЕНИЕ  РегистрСведений.НаличиеПрисоединенныхФайлов КАК НаличиеПрисоединенныхФайлов
ПО СписаниеБезналичныхДенежныхСредств.Ссылка = НаличиеПрисоединенныхФайлов.ОбъектСФайлами
ГДЕ НаличиеПрисоединенныхФайлов.ОбъектСФайлами ЕСТЬ NULL


И уже с этой таблицей соединять заявки по условию
ГДЕ НЕ НаличиеФайловСБДС  ЕСТЬ NULL
5. lena12121212 02.04.21 15:17 Сейчас в теме
ВЫБРАТЬ
СписаниеБезналичныхДенежныхСредств.Ссылка КАК СБДС,
СписаниеБезналичныхДенежныхСредств.ЗаявкаНаРасходованиеДенежныхСредств КАК Заявка,
НЕ НаличиеПрисоединенныхФайлов.ОбъектСФайлами ЕСТЬ NULL КАК ЕстьФайл
ПОМЕСТИТЬ Табл
ИЗ
Документ.СписаниеБезналичныхДенежныхСредств КАК СписаниеБезналичныхДенежныхСредств
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НаличиеПрисоединенныхФайлов КАК НаличиеПрисоединенныхФайлов
ПО СписаниеБезналичныхДенежныхСредств.Ссылка = НаличиеПрисоединенныхФайлов.Файл
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
Табл.Заявка КАК Заявка,
МИНИМУМ(Табл.ЕстьФайл) КАК ЕстьФайл
ПОМЕСТИТЬ ЕстьФайлыВсе
ИЗ
Табл КАК Табл

СГРУППИРОВАТЬ ПО
Табл.Заявка

ИМЕЮЩИЕ
МИНИМУМ(Табл.ЕстьФайл) = ИСТИНА
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
Табл.СБДС КАК СБДС,
Табл.Заявка КАК Заявка,
Табл.ЕстьФайл КАК ЕстьФайл
ИЗ
Табл КАК Табл
ВНУТРЕННЕЕ СОЕДИНЕНИЕ ЕстьФайлыВсе КАК ЕстьФайлыВсе
ПО Табл.Заявка = ЕстьФайлыВсе.Заявка
user705522_constantin_h; +1 Ответить
Оставьте свое сообщение

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