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