Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Отчет на СКД. если делаешь отбор неправильно, без отбора правильно. как быть?

Отчет на СКД. если делаешь отбор неправильно, без отбора правильно. как быть?
Я
   Cerera
 
22.01.13 - 08:25
Есть сложный отчет написанный с использованием СКД. дело в том, что если делать отбор по номенклатуре, то он работает неправильно. Если же делать отбор по номенклатурной группе или вообще без отбора, то правильно. Как теоретически такое возможно?
При этом добавлю, что если отлаживать запрос через консоль, то результат всегда правильный.

Основной смысл запроса в том, что анализируются продажи в разрезе документов и из них исключаются продажи в разрезе номенклатурных групп, которые по количеству превышают допустимое значение, прописанное в регистре. Но беда в том, что если мы делаем отбор в СКД по номенклатуре, то условие отбрасывания игнорируетс почему то.

ВЫБРАТЬ
    НоменклатураПоСпискуАСрезПоследних.Номенклатура,
    МАКСИМУМ(НоменклатураПоСпискуАСрезПоследних.КоличествоПороговое) КАК КоличествоПороговое
ПОМЕСТИТЬ НоменклатураПоСпискуА
ИЗ
    РегистрСведений.НоменклатураПоСпискуА.СрезПоследних(&ДатаАнализа, ) КАК НоменклатураПоСпискуАСрезПоследних

СГРУППИРОВАТЬ ПО
    НоменклатураПоСпискуАСрезПоследних.Номенклатура
;

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

СГРУППИРОВАТЬ ПО
    ПродажиОбороты.Склад,
    ПродажиОбороты.Регистратор,
    ПродажиОбороты.Номенклатура,
    ПродажиОбороты.ХарактеристикаНоменклатуры,
    НАЧАЛОПЕРИОДА(ПродажиОбороты.Период, ДЕНЬ),
    ПродажиОбороты.Номенклатура.ВидНоменклатуры,
    НАЧАЛОПЕРИОДА(ПродажиОбороты.Период, МЕСЯЦ)
 
 
   Defender aka LINN
 
1 - 22.01.13 - 08:27
В 100564-й раз: галка "Автозаполнение"
   Fragster
 
2 - 22.01.13 - 08:29
(1) да не, просто если бы назван в первой таблице номенклатурную группу номенклатурной группой - все было бы ОК
   Fragster
 
3 - 22.01.13 - 08:30
но вообще - надо просто смотреть результирующий запрос, прежде чем на форум лезть
   Defender aka LINN
 
4 - 22.01.13 - 08:32
(2) Эта галка кроме вреда еще никому ничего не принесла. Чем раньше одинэснеги начнут ее выключать, тем лучше.
   Cerera
 
5 - 22.01.13 - 08:36
(2)ааа. вот как. я подозревал что чтото дело в номенклатурных группах. спасибо бвам! а как посмотреть результирующий запрос ? в консоли СКД в режиме 1с предприятия вы имеете ввиду? я же ВТ все просматривал.
   Cerera
 
6 - 22.01.13 - 08:37
(1)там в запросе порядка 30ти ВТ. пробовали и без автозаполнения делать. но тяжело.
   Fragster
 
7 - 22.01.13 - 08:39
(4) надо просто уметь готовить
   Cerera
 
8 - 22.01.13 - 08:56
Фрагстер самый лучший СКД программист.
   Odavid
 
9 - 22.01.13 - 09:33
(2) не понял, где тут вообще Номенклатурная группа (вижу только какую-то номенклатуру по списку А), ну да ладно, раз у вас у обоих она есть :)
(4) >>Чем раньше одинэснеги начнут ее выключать
зачем её выключать, если она как раз не дает путаться в заполнении полей - т.е. обеспечивает полное соответствие названий полей в запросе и полей в СКД?
еще одна загадка.
(5) >>а как посмотреть результирующий запрос ? в консоли СКД
сумеете в консоли СКД - смотрите там. А проще можно было и в консоли запросов сначала отработать.
(8)>>Фрагстер самый лучший СКД программист.
наверное :)
   Cerera
 
10 - 22.01.13 - 14:00
(2)помогло!
 
 Рекламное место пустует

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует