Имя: Пароль:
1C
1С v8
Ограничение по дате
,
0 vanyshan
 
29.09.11
09:18
Доброе утро!

ВЫБРАТЬ
   ПриходныйОрдерНаТовары.Ссылка,
   ВЫБОР
       КОГДА ЕСТЬNULL(ПоступлениеТоваровУслуг.Ссылка, 0) = 0
           ТОГДА ЛОЖЬ
       ИНАЧЕ ИСТИНА
   КОНЕЦ КАК Флаг
ИЗ
   Документ.ПриходныйОрдерНаТовары КАК ПриходныйОрдерНаТовары
       ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг
       ПО (ПоступлениеТоваровУслуг.СкладОрдер = ПриходныйОрдерНаТовары.Ссылка)
ГДЕ
   ПриходныйОрдерНаТовары.Ссылка В(&Масс)

Есть такой запрос который применяется ко всем документам "приходный ордер на товары"
Подскажите как поставить отбор по дате, скажем не все, а только с 2011 года?
1 SeraFim
 
29.09.11
09:21
ГДЕ
   ПриходныйОрдерНаТовары.Ссылка В(&Масс)
  И ПриходныйОрдерНаТовары.Дата >= ДАТАВРЕМЯ(2011,1,1)
2 Ненавижу 1С
 
гуру
29.09.11
09:22
ВЫБОР
       КОГДА ПоступлениеТоваровУслуг.Ссылка ЕСТЬ NULL
           ТОГДА ЛОЖЬ
       ИНАЧЕ ИСТИНА
   КОНЕЦ КАК Флаг
3 SeregaMW
 
29.09.11
09:23
Правой кнопкой МастерЗапроса-> Установить условия -> ПриходныйОрдерНаТовары.Дата - больше или равно 01.01.2011
4 zak555
 
29.09.11
09:26
ВЫБРАТЬ
   ПриходныйОрдерНаТовары.Ссылка КАК ДокПриход
ИЗ
   Документ.ПриходныйОрдерНаТовары КАК ПриходныйОрдерНаТовары
       СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг
       ПО (ПоступлениеТоваровУслуг.СкладОрдер = ДокПриход)
ГДЕ
   ПриходныйОрдерНаТовары.Ссылка В(&Масс)
   И ДокПриход >= ДАТАВРЕМЯ(2011,1,1)
5 vanyshan
 
29.09.11
09:27
Спасибо, а к чему сообщение с ЕСТЬ NULL?
6 zak555
 
29.09.11
09:33
никак не пойму : зачем левое соединение ?
7 Ненавижу 1С
 
гуру
29.09.11
09:34
(5) к тому, что лучше смотрится чем твое "Флаг", но дело вкуса
8 Ненавижу 1С
 
гуру
29.09.11
09:35
(6) догадайся
9 zak555
 
29.09.11
09:36
(8) ну так автору нужно из списка ПриходныйОрдерНаТовары найти все доки, ссылка на которых есть в ПоступлениеТоваровУслуг

разве нет ?
10 vanyshan
 
29.09.11
09:56
С этим я уже разобрался, мне другое не понятно, почему запрос не работает:

ВЫБРАТЬ
   ПоступлениеТоваровУслугТовары.Ссылка.Контрагент.Ссылка,
   ПоступлениеТоваровУслугТовары.Ссылка.Ссылка
ИЗ
   Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары
       ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПлатежноеПоручениеИсходящее КАК ПлатежноеПоручениеИсходящее
       ПО ПоступлениеТоваровУслугТовары.Ссылка = ПлатежноеПоручениеИсходящее.ДокументОснование
ГДЕ
   ПоступлениеТоваровУслугТовары.Ссылка.Контрагент = &Контрагент
   И НЕ ПлатежноеПоручениеИсходящее.Ссылка ЕСТЬ NULL

Смысл такой: выводим только те поступления, на основании которых платежка имеется.
11 vanyshan
 
29.09.11
09:57
Неуверенность в последней строке запроса, может поправить надо?
12 Ненавижу 1С
 
гуру
29.09.11
09:58
(10) потому что основание заполняется в ТЧ
13 SeraFim
 
29.09.11
10:02
а почему не:
ВЫБРАТЬ
   ПоступлениеТоваровУслугТовары.Ссылка.Контрагент.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка,
   ПоступлениеТоваровУслугТовары.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка
?
14 vanyshan
 
29.09.11
10:31
ТЫ имеешь ввиду что я не сам документ беру, а его табличную часть "товары"?
Так я и сам документ пробовал выбирать, бесполезно, все равно не получается.
15 Ненавижу 1С
 
гуру
29.09.11
10:38
(14) вот так пробовал?

ВЫБРАТЬ
   ПоступлениеТоваровУслугТовары.Ссылка.Контрагент,
   ПоступлениеТоваровУслугТовары.Ссылка.Ссылка
ИЗ
   Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары
       ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПлатежноеПоручениеИсходящее.РасшифровкаПлатежа КАК ПлатежноеПоручениеИсходящееРасшифровкаПлатежа
       ПО ПоступлениеТоваровУслугТовары.Ссылка = ПлатежноеПоручениеИсходящееРасшифровкаПлатежа.Ссылка.ДокументОснование
ГДЕ
   ПоступлениеТоваровУслугТовары.Ссылка.Контрагент = &Контрагент
16 vanyshan
 
29.09.11
10:43
Этот запрос выбирает все поступления по данному контрагенту, а мне надо те, у которых ко всему прочему еще и платежное поручение исходящее заведено!!!
Еще одного условия не хватает!!!
17 Ненавижу 1С
 
гуру
29.09.11
10:44
ВНУТРЕННЕЕ СОЕДИНЕНИЕ
18 vanyshan
 
29.09.11
10:47
А если поменять на внутреннее соединение, то запрос пустой получается.
19 vanyshan
 
29.09.11
10:52
Измучился, сил нет.
20 zak555
 
29.09.11
15:20
(18) (19) см (4)
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший