|   |   | 
| 
 | А почему запрос так работает непонятно? | ☑ | ||
|---|---|---|---|---|
| 0
    
        Таня 29.01.12✎ 14:55 | 
        |////////////////////////////////////////////////////////////////////////////////
  |ВЫБРАТЬ | * |ИЗ | РегистрНакопления.ОстаткиНоменклатуры.Обороты( | &ДатаПоступления, | &МоментВремени, | Регистратор, | Номенклатура В | (ВЫБРАТЬ | НоменклатураПрихода.Номенклатура | ИЗ | НоменклатураПрихода КАК НоменклатураПрихода)) КАК ОстаткиНоменклатурыОбороты |ГДЕ | ОстаткиНоменклатурыОбороты.СрокГодности = ДАТАВРЕМЯ(1, 1, 1) | И ОстаткиНоменклатурыОбороты.СтоимостьРасход = 0 | И ОстаткиНоменклатурыОбороты.Партия = &Партия"; Вот так работает, а если не все поля указывать, а к примеру так: |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ОстаткиНоменклатурыОбороты.Регистратор, | ОстаткиНоменклатурыОбороты.Номенклатура, | ОстаткиНоменклатурыОбороты.Партия, | ОстаткиНоменклатурыОбороты.СрокГодности, | ОстаткиНоменклатурыОбороты.СтоимостьРасход |ИЗ | РегистрНакопления.ОстаткиНоменклатуры.Обороты( | &ДатаПоступления, | &МоментВремени, | Регистратор, | Номенклатура В | (ВЫБРАТЬ | НоменклатураПрихода.Номенклатура | ИЗ | НоменклатураПрихода КАК НоменклатураПрихода)) КАК ОстаткиНоменклатурыОбороты |ГДЕ | ОстаткиНоменклатурыОбороты.СрокГодности = ДАТАВРЕМЯ(1, 1, 1) | И ОстаткиНоменклатурыОбороты.СтоимостьРасход = 0 | И ОстаткиНоменклатурыОбороты.Партия = &Партия"; то в выборке пусто | |||
| 1
    
        echo77 29.01.12✎ 16:50 | 
        Условие из раздела ГДЕ убрать и посмотреть в чем дело     | |||
| 2
    
        Таня 29.01.12✎ 17:32 | 
        если условие убрать то показывает, но мне же условие надо     | |||
| 3
    
        Таня 29.01.12✎ 17:32 | 
        вобщем я выбрала из основной таблицы ОстаткиНоменклатуры. Мне надо только регистраторы.     | |||
| 4
    
        Classic 29.01.12✎ 17:34 | 
        А если так
  |ВЫБРАТЬ | ОстаткиНоменклатурыОбороты.Регистратор, | ОстаткиНоменклатурыОбороты.Номенклатура, | ОстаткиНоменклатурыОбороты.Партия, | ОстаткиНоменклатурыОбороты.СрокГодности, | ОстаткиНоменклатурыОбороты.СтоимостьПриход, | ОстаткиНоменклатурыОбороты.СтоимостьРасход | |||
| 5
    
        Таня 29.01.12✎ 17:34 | 
        (4) не поняла     | |||
| 6
    
        Classic 29.01.12✎ 17:35 | 
        Добавить
  | ОстаткиНоменклатурыОбороты.СтоимостьПриход, | |||
| 7
    
        Таня 29.01.12✎ 17:36 | 
        да мне вообще ни приход ни расход не надо, мне только регистратор
  если хотя бы одного поля не хватает из полного набора - показывает фигу | |||
| 8
    
        Classic 29.01.12✎ 17:37 | 
        Сомневаюсь. Добавь СтоимостьПриход и посмотрим :)     | |||
| 9
    
        Classic 29.01.12✎ 17:38 | 
        Или что у тебя там ненулевое в выборке должно быть     | |||
| 10
    
        Таня 29.01.12✎ 17:41 | 
        расход должно быть ненулевое     | |||
| 11
    
        Classic 29.01.12✎ 17:42 | 
        Так зачем ты в условии пишешь
  | И ОстаткиНоменклатурыОбороты.СтоимостьРасход = 0 ? Т.е. ты хочешь выбрать все регистраторы по регистру с нулевым расходом. Я правильно понял? | |||
| 12
    
        Таня 29.01.12✎ 17:43 | 
        да     | |||
| 13
    
        Classic 29.01.12✎ 17:45 | 
        (12) с (10) не коррелирует :)
  вот эта фигня |ИЗ | РегистрНакопления.ОстаткиНоменклатуры.Обороты() работает весьма специфически. Она группирует все рессурсы с !!указанной тобой выборки!! по всем измерениям, !!!указанным тобой в выборке!!! и берет ненулевые значения. ты указываешь из рессурсов в выборке только Стоимостьрасход. как следствие тебе таблица возвращает с ненулевым стоимостьРасход, а потом ты все эти строки грохаешь условием | |||
| 14
    
        Таня 29.01.12✎ 17:48 | 
        ну ок, а так правильно?
  "ВЫБРАТЬ | ПриходнаяНакладнаяСписокНоменклатуры.Номенклатура |ПОМЕСТИТЬ НоменклатураПрихода |ИЗ | Документ.ПриходнаяНакладная.СписокНоменклатуры КАК ПриходнаяНакладнаяСписокНоменклатуры |ГДЕ | ПриходнаяНакладнаяСписокНоменклатуры.Ссылка = &Ссылка | |СГРУППИРОВАТЬ ПО | ПриходнаяНакладнаяСписокНоменклатуры.Номенклатура |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ОстаткиНоменклатуры.Регистратор КАК Регистратор |ИЗ | РегистрНакопления.ОстаткиНоменклатуры КАК ОстаткиНоменклатуры | ЛЕВОЕ СОЕДИНЕНИЕ НоменклатураПрихода КАК НоменклатураПрихода | ПО ОстаткиНоменклатуры.Номенклатура = НоменклатураПрихода.Номенклатура |ГДЕ | ОстаткиНоменклатуры.СрокГодности = ДАТАВРЕМЯ(1, 1, 1) | И ОстаткиНоменклатуры.Партия = &Партия | И ОстаткиНоменклатуры.ВидДвижения = &ВидДвижения | И ОстаткиНоменклатуры.Стоимость = 0 | |УПОРЯДОЧИТЬ ПО | Регистратор"; | |||
| 15
    
        Classic 29.01.12✎ 17:52 | 
        (14)
  Жестяк какой-то. Можешь полностью задачу описать? | |||
| 16
    
        Таня 29.01.12✎ 17:55 | 
        лень вообще то
  задача 1,6 сборника подготовки к специалисту сначала расходы вводятся без контроля остатков, а потом приход появляется и надо определить какие расходы перепровести надо | |||
| 17
    
        Classic 29.01.12✎ 18:02 | 
        Ну весь расход по тем номенклатурам, по которым был приход. 
  Я так понимаю, что был расход по количеству, но его не было по стоимости. если я правильно понял, то тебе во втором запросе (0) сообщения надо поменять в выборке | ОстаткиНоменклатурыОбороты.СтоимостьРасход На | ОстаткиНоменклатурыОбороты.КоличествоРасход | |||
| 18
    
        Classic 29.01.12✎ 18:02 | 
        А условие оставить как было     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |