Имя: Пароль:
1C
1С v8
Как заставить работать отбор скд?
,
0 SherifSP
 
03.08.13
11:16
Ситуация такая, в скд есть 2 набора данных:

1. К этому набору соединяю второй набор по полю контрагент, номенклатура, характеристика.

ВЫБРАТЬ
    ПартииТоваровПереданныеОстаткиИОбороты.Номенклатура,
    ПартииТоваровПереданныеОстаткиИОбороты.ХарактеристикаНоменклатуры,
    ПартииТоваровПереданныеОстаткиИОбороты.ДоговорКонтрагента.Владелец КАК Контрагент,
    ПартииТоваровПереданныеОстаткиИОбороты.ДокументОприходования,
    ПартииТоваровПереданныеОстаткиИОбороты.КоличествоНачальныйОстаток КАК КоличествоПереданныеНачальныйОстаток,
    ПартииТоваровПереданныеОстаткиИОбороты.КоличествоПриход КАК КоличествоПереданныеПриход,
    ПартииТоваровПереданныеОстаткиИОбороты.КоличествоРасход КАК КоличествоПереданныеРасход,
    ПартииТоваровПереданныеОстаткиИОбороты.КоличествоКонечныйОстаток КАК КоличествоПереданныеКонечныйОстаток,
    ПартииТоваровПереданныеОстаткиИОбороты.СтоимостьНачальныйОстаток КАК СтоимостьПереданныеНачальныйОстаток,
    ПартииТоваровПереданныеОстаткиИОбороты.СтоимостьПриход КАК СтоимостьПереданныеПриход,
    ПартииТоваровПереданныеОстаткиИОбороты.СтоимостьРасход КАК СтоимостьПереданныеРасход,
    ПартииТоваровПереданныеОстаткиИОбороты.СтоимостьКонечныйОстаток КАК СтоимостьПереданныеКонечныйОстаток,
    ПартииТоваровПереданныеОстаткиИОбороты.Регистратор,
    0 КАК КоличествоДок
ИЗ
    РегистрНакопления.ПартииТоваровПереданные.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, Авто, , СтатусПередачи = ЗНАЧЕНИЕ(Перечисление.СтатусыПолученияПередачиТоваров.НаКомиссию)) КАК ПартииТоваровПереданныеОстаткиИОбороты
{ХАРАКТЕРИСТИКИ
    ТИП(Справочник.ХарактеристикиНоменклатуры)
    СПИСОК ПланВидовХарактеристик.СвойстваОбъектов
    ИДЕНТИФИКАТОР Ссылка
    ИМЯ Наименование
    ТИПЗНАЧЕНИЯ ТипЗначения
    ЗНАЧЕНИЯ РегистрСведений.ЗначенияСвойствОбъектов
    ОБЪЕКТ Объект
    ХАРАКТЕРИСТИКА Свойство
    ЗНАЧЕНИЕ Значение }

2. Второй набор.

ВЫБРАТЬ
    ВложенныйЗапрос.Контрагент,
    ВложенныйЗапрос.Номенклатура,
    ВложенныйЗапрос.ХарактеристикаНоменклатуры,
    ВложенныйЗапрос.Договор,
    ВЫРАЗИТЬ(ВложенныйЗапрос.КоличествоДок КАК ЧИСЛО(10, 0)) КАК КоличествоДок,
    ВложенныйЗапрос.СрокДействия
ИЗ
    (ВЫБРАТЬ
        ДоговорАрендыТорговогоОборудованияОборудование.Ссылка.СубАрендатор КАК Контрагент,
        ДоговорАрендыТорговогоОборудованияОборудование.Номенклатура КАК Номенклатура,
        ДоговорАрендыТорговогоОборудованияОборудование.Характеристика КАК ХарактеристикаНоменклатуры,
        ДоговорАрендыТорговогоОборудованияОборудование.Ссылка КАК Договор,
        КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ДоговорАрендыТорговогоОборудованияОборудование.Ссылка) КАК КоличествоДок,
        ДоговорАрендыТорговогоОборудованияОборудование.Ссылка.СрокДействия КАК СрокДействия
    ИЗ
        Документ.ДоговорАрендыТорговогоОборудования.Оборудование КАК ДоговорАрендыТорговогоОборудованияОборудование
    ГДЕ
        ДоговорАрендыТорговогоОборудованияОборудование.Ссылка.Дата МЕЖДУ &НачалоПериода И &КонецПериода
        И ДоговорАрендыТорговогоОборудованияОборудование.Ссылка.Проведен = ИСТИНА
        И ДоговорАрендыТорговогоОборудованияОборудование.Ссылка.ВидОперации <> ЗНАЧЕНИЕ(Перечисление.ВидыОперацийДоговораАрендыТО.АктПриемаПередачи)
    
    СГРУППИРОВАТЬ ПО
        ДоговорАрендыТорговогоОборудованияОборудование.Характеристика,
        ДоговорАрендыТорговогоОборудованияОборудование.Номенклатура,
        ДоговорАрендыТорговогоОборудованияОборудование.Ссылка,
        ДоговорАрендыТорговогоОборудованияОборудование.Ссылка.СрокДействия,
        ДоговорАрендыТорговогоОборудованияОборудование.Ссылка.СубАрендатор) КАК ВложенныйЗапрос

Делаю отбор по полю "КоличествоДок" в отчет ничего не попадает, потому что во втором наборе у всех записей КоличествоДок > 0, как можно сделать отбор по данному полю?
1 SherifSP
 
03.08.13
12:06
Ап
2 Armando
 
03.08.13
12:06
>> Делаю отбор по полю "КоличествоДок"
В отборе правое значение какое?
3 SherifSP
 
03.08.13
12:08
(2) 0
4 SherifSP
 
03.08.13
12:09
+(3) Пробовал НеЗаполнено
5 SherifSP
 
03.08.13
12:09
+(4) Меньше 1 пробовал
6 SherifSP
 
03.08.13
12:15
Больше 0 отбирает, а с пустым значением нет
7 Armando
 
03.08.13
12:17
1. Зачем здесь 2 набоа? Можно сделать 1 набором
2. У тебя поля одинакого называются. Сделай в 1 наборе КоличествоДок1, а в другом КоличествоДок2. Увидишь разницу.
8 GANR
 
03.08.13
13:17
(0) Может попробовать посмотреть что отображается в макете компоновки данных http://ximage.ru/data/imgs/1364297082.jpg?
9 aspirator23
 
03.08.13
15:09
При соединение наборов связь левая.
Если установить отбор во втором наборе связь будет внутренняя.
Ответ: не используй наборы, или переверни их
10 ЧашкаЧая
 
03.08.13
15:15
В таком случае отбор нужно добавлять не в общую группировку (там где "Отчет") а в группировку для которой собственно нужно фильтровать значения. Если фильтр добавить в "Отчет" то такой фильтр превращается в условие ГДЕ запроса и уходит на сервер СУБД, понятное дело что запрос с таким условием для второго набора вернет пустой результат, если же отбор добавить в группировку - отбор будет осуществляться на сервере 1С (результат запроса конечно же получится избыточным), где уже с рассчитанными итогами по группировками сервер 1С отфильтрует данные.
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.