![]() |
![]() |
|
Оператор "ССЫЛКА" в запросе | ☑ | ||
---|---|---|---|---|
0
Night_Wolf
05.02.10
✎
09:47
|
Как наложить такое условие в запросе: Документ НЕ ССЫЛКА Документ.ТипДокумента?
(То есть чтобы выбрать все документы с типом, не равным заданному). |
|||
1
5 Элемент
05.02.10
✎
09:51
|
НЕ Документ ССЫЛКА Документ.ТипДокумент разве не подходит?
|
|||
2
Armando
05.02.10
✎
09:51
|
НЕ КакаяТоСсылка ССЫЛКА Документ.ТипДокумента
как-то так |
|||
3
Night_Wolf
05.02.10
✎
10:04
|
(1),(2) - почему-то у меня тогда обрезаются документы.
Обрисую ситуацию - есть документы отгрузки товара - надо выбрать документы оплаты товара, Левое соединение получается от документов отгрузки к документам оплаты. Я выбираю все документы оплаты с одним определенным типом , а потом нужно выбрать документы со всеми остальными типами. Так вот если документов оплаты нет - тогда и документы отгрузки пропадают, хотя соединение - Левое и по идее быть такого не должно. Вот пример кода: ВЫБРАТЬ ВЛЗ.ДокОтгрузки, СУММА(ВЛЗ.СуммаОплаты) КАК СуммаОплаты, ВЛЗ.ДокОтгрузки.СуммаДокумента КАК СуммаОтгрузки, СУММА(ВЫБОР КОГДА ВзаиморасчетыСКонтрагентами.Сумма <> 0 ТОГДА ВЛЗ.СуммаОплаты / ВЛЗ.ДокОтгрузки.СуммаДокумента * 100 ИНАЧЕ 0 КОНЕЦ) КАК ПроцентОплаты ПОМЕСТИТЬ ТЗ ИЗ (ВЫБРАТЬ ВзаиморасчетыСКонтрагентами.Регистратор КАК Регистратор, ВЫБОР КОГДА ВзаиморасчетыСКонтрагентами.ВидДвижения = &Приход ТОГДА ВзаиморасчетыСКонтрагентами.Регистратор ИНАЧЕ ВзаиморасчетыСКонтрагентами.Документ КОНЕЦ КАК ДокОтгрузки, СУММА(ВЫБОР КОГДА (НЕ ВзаиморасчетыСКонтрагентами.Регистратор ССЫЛКА Документ.РеализацияБух) ТОГДА ВзаиморасчетыСКонтрагентами.Сумма ИНАЧЕ 0 КОНЕЦ) КАК СуммаОплаты ИЗ РегистрНакопления.ВзаиморасчетыСКонтрагентами КАК ВзаиморасчетыСКонтрагентами ГДЕ ВзаиморасчетыСКонтрагентами.Период МЕЖДУ &НачДата И &КонДата И (ВзаиморасчетыСКонтрагентами.Регистратор ССЫЛКА Документ.РеализацияБух ИЛИ ВзаиморасчетыСКонтрагентами.Документ ССЫЛКА Документ.РеализацияБух) И ВзаиморасчетыСКонтрагентами.Регистратор <> ВзаиморасчетыСКонтрагентами.Документ СГРУППИРОВАТЬ ПО ВзаиморасчетыСКонтрагентами.Регистратор, ВЫБОР КОГДА ВзаиморасчетыСКонтрагентами.ВидДвижения = &Приход ТОГДА ВзаиморасчетыСКонтрагентами.Регистратор ИНАЧЕ ВзаиморасчетыСКонтрагентами.Документ КОНЕЦ) КАК ВЛЗ ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ВзаиморасчетыСКонтрагентами КАК ВзаиморасчетыСКонтрагентами ПО ВЛЗ.ДокОтгрузки = ВзаиморасчетыСКонтрагентами.Регистратор СГРУППИРОВАТЬ ПО ВЛЗ.ДокОтгрузки, ВЛЗ.ДокОтгрузки.СуммаДокумента ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ПродажиОбороты.Отдел, ТЗ.ДокОтгрузки, ПродажиОбороты.ДокументУбытия, ПродажиОбороты.Номенклатура, СУММА(ТЗ.СуммаОплаты) КАК СуммаОплаты, ТЗ.СуммаОтгрузки, СУММА(ПродажиОбороты.СуммаПродажиОборот) КАК СуммаПродажи, СУММА(ПродажиОбороты.СтоимостьТовараПартОборот + ПродажиОбороты.СтоимостьСущУслугПартОборот + ПродажиОбороты.СтоимостьНесущУслугОборот) КАК СебестоимостьПартионная, СУММА(ПродажиОбороты.СтоимостьТовараСредОборот + ПродажиОбороты.СтоимостьСущУслугСредОборот + ПродажиОбороты.СтоимостьНесущУслугОборот) КАК СебестоимостьСредняя, СУММА(ТЗ.ПроцентОплаты) КАК ПроцентОплаты ИЗ ТЗ КАК ТЗ ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты(, , Авто, ) КАК ПродажиОбороты ПО ТЗ.ДокОтгрузки = ПродажиОбороты.ДокументУбытия.ДокументОснование ГДЕ ПродажиОбороты.ДокументУбытия ССЫЛКА Документ.РеализацияТоваровУслуг СГРУППИРОВАТЬ ПО ТЗ.ДокОтгрузки, ПродажиОбороты.ДокументУбытия, ПродажиОбороты.Номенклатура, ПродажиОбороты.Отдел, ТЗ.СуммаОтгрузки ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ПродажиОбороты.Отдел, ТЗ.ДокОтгрузки, ПродажиОбороты.ДокументУбытия, ПродажиОбороты.Номенклатура, СУММА(ТЗ.СуммаОплаты), ТЗ.СуммаОтгрузки, СУММА(ПродажиОбороты.СуммаПродажиОборот), СУММА(ПродажиОбороты.СтоимостьТовараПартОборот + ПродажиОбороты.СтоимостьСущУслугПартОборот + ПродажиОбороты.СтоимостьНесущУслугОборот), СУММА(ПродажиОбороты.СтоимостьТовараСредОборот + ПродажиОбороты.СтоимостьСущУслугСредОборот + ПродажиОбороты.СтоимостьНесущУслугОборот), СУММА(100) ИЗ ТЗ КАК ТЗ ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты(&НачДата, &КонДата, Авто, ) КАК ПродажиОбороты ПО ТЗ.ДокОтгрузки = ПродажиОбороты.ДокументУбытия.ДокументОснование ГДЕ (НЕ ПродажиОбороты.ДокументУбытия ССЫЛКА Документ.РеализацияТоваровУслуг) СГРУППИРОВАТЬ ПО ТЗ.ДокОтгрузки, ПродажиОбороты.ДокументУбытия, ПродажиОбороты.Номенклатура, ПродажиОбороты.Отдел, ТЗ.СуммаОтгрузки |
|||
4
73
05.02.10
✎
10:07
|
(3)
<ГДЕ (НЕ ПродажиОбороты.ДокументУбытия ССЫЛКА Документ.РеализацияТоваровУслуг) > Ты накладываешь условия на правую таблицу. Для отсутствующих записей там NULL-ы. Условие для них верет Ложь. |
|||
5
73
05.02.10
✎
10:08
|
(4)*вернет
|
|||
6
Night_Wolf
05.02.10
✎
10:10
|
хм, если просто накладывать условие на регистр - "НЕ док ССЫЛКА тип", то действительно выбирает. Наверное обрезает при левом соединении, если документ, который проверяется на тип - пустой. Спасибо за помощь!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |