|
Соединения таблиц в запросе | ☑ | ||
---|---|---|---|---|
0
Альбатрос
30.12.15
✎
10:06
|
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ | ПартииТоваровНаСкладахВрезервеОбороты.Регистратор КАК Резерв, | ПартииТоваровНаСкладахВрезервеОбороты.Склад, | ПартииТоваровНаСкладахВрезервеОбороты.Партия, | 1 КАК Отм, | РезервированиеТоваров.Ссылка КАК СнятиеСРезерва |ИЗ | РегистрНакопления.ПартииТоваровНаСкладахВрезерве.Обороты( | &НачДата, | &КонДата, | Регистратор, | Организация = &Организация | И ВидРезервирования = &ВидРезервирования) КАК ПартииТоваровНаСкладахВрезервеОбороты | ЛЕВОЕ СОЕДИНЕНИЕ Документ.РезервированиеТоваров КАК РезервированиеТоваров | ПО ПартииТоваровНаСкладахВрезервеОбороты.Партия = РезервированиеТоваров.Партия | И ПартииТоваровНаСкладахВрезервеОбороты.Склад = РезервированиеТоваров.Склад | И ПартииТоваровНаСкладахВрезервеОбороты.Организация = РезервированиеТоваров.Организация | И ПартииТоваровНаСкладахВрезервеОбороты.ВидРезервирования = РезервированиеТоваров.ВидРезервирования | И (РезервированиеТоваров.Проведен) | И (РезервированиеТоваров.ВидОперации = &ВидОперацииСнятиеСРезерва) | И (ПартииТоваровНаСкладахВрезервеОбороты.Регистратор.ВидОперации = &ВидОперацииРезервирование) |"; Не срабатывает последнее условие. Выводит документы со всеми видами операций. Почему? |
|||
1
Альбатрос
30.12.15
✎
10:08
|
Запрос.УстановитьПараметр("НачДата", Новый Граница(НачалоДня(?(ЗначениеЗаполнено(НачПериода), НачПериода, '00010101')), ВидГраницы.Включая)) ;
Запрос.УстановитьПараметр("КонДата", Новый Граница(КонецДня(?(ЗначениеЗаполнено(КонПериода), КонПериода, ТекущаяДата())),ВидГраницы.Включая)) ; Запрос.УстановитьПараметр("Организация", ОрганизацияРазБлокировки); Запрос.УстановитьПараметр("ВидРезервирования", ВидРезервированияРазблокировки); Запрос.УстановитьПараметр("ВидОперацииСнятиеСРезерва" , Перечисления.ВидыОперацийРезервированиеТоваров.СнятиеРезерва); Запрос.УстановитьПараметр("ВидОперацииРезервирование" , Перечисления.ВидыОперацийРезервированиеТоваров.Резервирование); Результат = Запрос.Выполнить(); |
|||
2
Stim
30.12.15
✎
10:08
|
>>ПартииТоваровНаСкладахВрезервеОбороты.Регистратор.ВидОперации
|
|||
3
Альбатрос
30.12.15
✎
10:09
|
(2) Ага, что с ним не так?
|
|||
4
rabbidX
30.12.15
✎
10:10
|
А что удивляет? Поле снятие с резерва для остальных доков не заполняется же?
|
|||
5
Альбатрос
30.12.15
✎
10:11
|
(4) Там один вид документа учавствует. Для всех все заполнено.
|
|||
6
rabbidX
30.12.15
✎
10:11
|
Может, отбор по виду операции в условиях подразумевался?
|
|||
7
mpei
30.12.15
✎
10:12
|
И (ПартииТоваровНаСкладахВрезервеОбороты.Партия.ВидОперации = &ВидОперацииРезервирование) Может так?
|
|||
8
Альбатрос
30.12.15
✎
10:14
|
Поясню: Есть документ РезервированиеТовара с 2-мя видами операций: Резервирование и снятиеРезерва. Двигают регситр ПартииТоваровНаСкладахВрезерве.
Я хочу выбрать за период из регистра все документы с видом операции Резервирование и попытаться получить к нему документ с видом операции снятиеРезерва. |
|||
9
Альбатрос
30.12.15
✎
10:15
|
(7) Нее... это реквизит документа.
|
|||
10
Альбатрос
30.12.15
✎
10:16
|
+ (8) По результату запроса из (0) в резерв попадают документы с обоими видами операций.
|
|||
11
Альбатрос
30.12.15
✎
10:16
|
+(10) в поле резерв.
|
|||
12
mpei
30.12.15
✎
10:17
|
А зачем ты отбор через параметр делаешь?Через перечисления нельзя?
|
|||
13
Альбатрос
30.12.15
✎
10:17
|
ВОт так тоже не работает:
| И (ПартииТоваровНаСкладахВрезервеОбороты.КоличествоОборот > 0)"; |
|||
14
Альбатрос
30.12.15
✎
10:17
|
(12) Можно. Суть это поменяет?
|
|||
15
mpei
30.12.15
✎
10:19
|
попробуй.Если последнее условие убрать запрос не пустой?
|
|||
16
Альбатрос
30.12.15
✎
10:20
|
(15) Не пустой. По сути такой же, как и с условием, только сортировка почему-то не такая...
|
|||
17
rabbidX
30.12.15
✎
10:22
|
Отбор только по виду резервирования в регистре, а нужно по виду операции в регистраторе. Нужно условие прописать.
|
|||
18
Альбатрос
30.12.15
✎
10:24
|
(17) А это не превратит мое левое соединение во внутреннее?
|
|||
19
Альбатрос
30.12.15
✎
10:31
|
(17) Не превратило =)))
Я чот путаю? Помнится, была такая фишка, что использование конструкции "ГДЕ" при соединении таблиц трансформирует это соединение во внутреннее, не? |
|||
20
rabbidX
30.12.15
✎
10:33
|
(19) Это если на правую таблицу условия накладывать.
|
|||
21
Альбатрос
30.12.15
✎
10:33
|
(20) Точняк! Спасибо!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |