Имя: Пароль:
1C
1С v8
Подскажите с запросом
0 Студиозус
 
24.03.12
13:19
Есть запрос

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

Хочу поставить условие что бы по запросу выбиралась ТОЛЬКО номенклатура с остатками и все услуги. Для этого сделал такое условие

ВЫБОР
           КОГДА ТИПЗНАЧЕНИЯ(Товар.ТипНоменклатуры) = &ТипЗапаса
               ТОГДА ОстаткиРеностарт.КоличествоОстаток > 0
                       ИЛИ ОстаткиСклад.КоличествоОстаток > 0
                       ИЛИ ОстаткиСкладКМВ.КоличествоОстаток > 0
           ИНАЧЕ ИСТИНА
       КОНЕЦ

Номенклатура деуствительно отбирается только с остатками, а вот услуги не отбираются вовсе\ Подскажите где допустил ошибку?
1 Студиозус
 
24.03.12
13:19
ТипЗапаса = типу номеннклатуры запас
2 Студиозус
 
24.03.12
13:27
По выходным что никто не работает?
3 Чел
 
24.03.12
13:32
Попробуй не через условие не ТИПЗНАЧЕНИЯ, а через ЗНАЧЕНИЕ
4 Студиозус
 
24.03.12
13:34
(3) А как это написать?
Пытаюсь писать КОГДА ЗНАЧЕНИЯ(Товар.ТипНоменклатуры) = &ТипЗапаса
выдаёт ошибку
5 Студиозус
 
24.03.12
13:34
*КОГДА ЗНАЧЕНИЕ(Товар.ТипНоменклатуры) = &ТипЗапаса
6 Чел
 
24.03.12
13:36
не. Не так.
У тебя Товар.ТипНоменклатуры - это что? Перечисление?
Тогда так:

КОГДА Товар.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.Товар) Тогда

Ну или как там у тебя...
7 Студиозус
 
24.03.12
13:38
СПАСИБО!!!!
Завелось!!!