Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Как Выбрать документы которые не использовались? (число прочтений - 819 )
undo
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 53
Местоположение: Ульянвоск
Зарегистрирован: 25. Декабря 2008
Пол: Мужской
Как Выбрать документы которые не использовались?
23. Октября 2009 :: 02:44
Печать  
Ситуация: Для работы используется документ "Ведомость загрузки" один из реквизитов (Накл) табличной части является "РасходнаяНакладная".
Задача: Выбрать из журнала документов накладные которые не указаны в документах "Ведомость загрузки"

Выбор документов из журнала:
           "SELECT
           |      $ДокР.ТекущийДокумент как [ТекДок2 $Документ.РасходнаяНакладная]
           |ИЗ
           |      ЖурналДокументов КАК Жур
           |INNER JOIN
           |      Документ.РасходнаяНакладная as ДокР ON (ДокР.IDDoc = Жур.IDDoc)
           |WHERE
           |    $Жур.ДатаДокумента BETWEEN :НачДата AND :КонДата~
           |      AND
           |    $Жур.ВидДокумента = :ВидДокумента.РасходнаяНакладная
           |      AND
           |      $Жур.Проведен = 1
           |      AND
           |      $Жур.Склад = :Склад
           |";      

Выбор документов которые в ведомости загрузки

           |SELECT
           |            $Док.Накл КАК ТекДок
           |      ИЗ
           |            ЖурналДокументов КАК Жур
           |      INNER JOIN
           |            ДокументСтроки.ВедомостьЗагрузки as Док ON (Док.IDDoc = Жур.IDDoc)
           |      WHERE
           |          $Жур.ДатаДокумента BETWEEN :НачДата AND :КонДата~
           |            AND
           |          $Жур.ВидДокумента = :ВидДокумента.ВедомостьЗагрузки
           |            AND
           |            $Жур.Проведен = 1
           |            AND
           |            $Жур.Склад = :Склад
     
а вот как эти два запроса объединить что бы получить значения находящиеся в первом запросе, но отсутствующие во втором?
  
Наверх
ICQ  
IP записан
 
undo
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 53
Местоположение: Ульянвоск
Зарегистрирован: 25. Декабря 2008
Пол: Мужской
Re: Как Выбрать документы которые не использовались?
Ответ #1 - 23. Октября 2009 :: 03:00
Печать  
Ура нашел:
     "
           |SELECT
           |      $ДокР.ТекущийДокумент как [ТекДок2 $Документ.РасходнаяНакладная]
           |ИЗ
           |      ЖурналДокументов КАК Жур
           |INNER JOIN
           |      Документ.РасходнаяНакладная as ДокР ON (ДокР.IDDoc = Жур.IDDoc)
           |WHERE
           |    $Жур.ДатаДокумента BETWEEN :НачДата AND :КонДата~
           |      AND
           |    $Жур.ВидДокумента = :ВидДокумента.РасходнаяНакладная
           |      AND
           |      $Жур.Проведен = 1
           |      AND
           |      $Жур.Склад = :Склад
           |      AND
           |      Жур.IdDoc NOT IN
           |      (SELECT
           |            $Док.Накл КАК ТекДок
           |      ИЗ
           |            ЖурналДокументов КАК Жур
           |      INNER JOIN
           |            ДокументСтроки.ВедомостьЗагрузки as Док ON (Док.IDDoc = Жур.IDDoc)
           |      WHERE
           |          $Жур.ДатаДокумента BETWEEN :НачДата AND :КонДата~
           |            AND
           |          $Жур.ВидДокумента = :ВидДокумента.ВедомостьЗагрузки
           |            AND
           |            $Жур.Проведен = 1
           |            AND
           |            $Жур.Склад = :Склад)
           |";      
  
Наверх
ICQ  
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать