Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Отбор в СКД
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Система компоновки данных
Said
Добрый Вечер. Суть Задачи. Конфигурация БУХ для Укр. не типовая, Есть обработка управляемая форма. Есть СКД в ней запрос и отборы. Добавил на форму табличный документ, вытянул на нкго свои отборы из СКД. Замысел в том что бы пользователь быстро смог ставить отбор их колиство можно было быстро менять. Набросал не хитры запрос. И вошел в ступор когда 1 отбор по Контрагенту работает 2 нет. В СКД убрал автозаполнение. Текст запроса прикладываю.
ВЫБРАТЬ
    ДоговорыКонтрагентовПлановыйЕжемесячныйОбъемГаз.Ссылка.Владелец КАК Владелец,
    ДоговорыКонтрагентовПлановыйЕжемесячныйОбъемГаз.Ссылка.Владелец.КодПоЕДРПОУ КАК ВладелецКодПоЕДРПОУ,
    ДоговорыКонтрагентовПлановыйЕжемесячныйОбъемГаз.Ссылка.Ссылка КАК Ссылка,
    ДоговорыКонтрагентовПлановыйЕжемесячныйОбъемГаз.Ссылка.Номер КАК Номер,
    СУММА(ВЫБОР
            КОГДА МЕСЯЦ(ДоговорыКонтрагентовПлановыйЕжемесячныйОбъемГаз.Дата) = 1
                ТОГДА ДоговорыКонтрагентовПлановыйЕжемесячныйОбъемГаз.Количество
            ИНАЧЕ 0
        КОНЕЦ) КАК Месяц1,
    СУММА(ВЫБОР
            КОГДА МЕСЯЦ(ДоговорыКонтрагентовПлановыйЕжемесячныйОбъемГаз.Дата) = 2
                ТОГДА ДоговорыКонтрагентовПлановыйЕжемесячныйОбъемГаз.Количество
            ИНАЧЕ 0
        КОНЕЦ) КАК Месяц2,
    СУММА(ВЫБОР
            КОГДА МЕСЯЦ(ДоговорыКонтрагентовПлановыйЕжемесячныйОбъемГаз.Дата) = 3
                ТОГДА ДоговорыКонтрагентовПлановыйЕжемесячныйОбъемГаз.Количество
            ИНАЧЕ 0
        КОНЕЦ) КАК Месяц3,
    СУММА(ВЫБОР
            КОГДА МЕСЯЦ(ДоговорыКонтрагентовПлановыйЕжемесячныйОбъемГаз.Дата) = 4
                ТОГДА ДоговорыКонтрагентовПлановыйЕжемесячныйОбъемГаз.Количество
            ИНАЧЕ 0
        КОНЕЦ) КАК Месяц4,
    СУММА(ВЫБОР
            КОГДА МЕСЯЦ(ДоговорыКонтрагентовПлановыйЕжемесячныйОбъемГаз.Дата) = 5
                ТОГДА ДоговорыКонтрагентовПлановыйЕжемесячныйОбъемГаз.Количество
            ИНАЧЕ 0
        КОНЕЦ) КАК Месяц5,
    СУММА(ВЫБОР
            КОГДА МЕСЯЦ(ДоговорыКонтрагентовПлановыйЕжемесячныйОбъемГаз.Дата) = 6
                ТОГДА ДоговорыКонтрагентовПлановыйЕжемесячныйОбъемГаз.Количество
            ИНАЧЕ 0
        КОНЕЦ) КАК Месяц6,
    СУММА(ВЫБОР
            КОГДА МЕСЯЦ(ДоговорыКонтрагентовПлановыйЕжемесячныйОбъемГаз.Дата) = 7
                ТОГДА ДоговорыКонтрагентовПлановыйЕжемесячныйОбъемГаз.Количество
            ИНАЧЕ 0
        КОНЕЦ) КАК Месяц7,
    СУММА(ВЫБОР
            КОГДА МЕСЯЦ(ДоговорыКонтрагентовПлановыйЕжемесячныйОбъемГаз.Дата) = 8
                ТОГДА ДоговорыКонтрагентовПлановыйЕжемесячныйОбъемГаз.Количество
            ИНАЧЕ 0
        КОНЕЦ) КАК Месяц8,
    СУММА(ВЫБОР
            КОГДА МЕСЯЦ(ДоговорыКонтрагентовПлановыйЕжемесячныйОбъемГаз.Дата) = 9
                ТОГДА ДоговорыКонтрагентовПлановыйЕжемесячныйОбъемГаз.Количество
            ИНАЧЕ 0
        КОНЕЦ) КАК Месяц9,
    СУММА(ВЫБОР
            КОГДА МЕСЯЦ(ДоговорыКонтрагентовПлановыйЕжемесячныйОбъемГаз.Дата) = 10
                ТОГДА ДоговорыКонтрагентовПлановыйЕжемесячныйОбъемГаз.Количество
            ИНАЧЕ 0
        КОНЕЦ) КАК Месяц10,
    СУММА(ВЫБОР
            КОГДА МЕСЯЦ(ДоговорыКонтрагентовПлановыйЕжемесячныйОбъемГаз.Дата) = 11
                ТОГДА ДоговорыКонтрагентовПлановыйЕжемесячныйОбъемГаз.Количество
            ИНАЧЕ 0
        КОНЕЦ) КАК Месяц11,
    СУММА(ВЫБОР
            КОГДА МЕСЯЦ(ДоговорыКонтрагентовПлановыйЕжемесячныйОбъемГаз.Дата) = 12
                ТОГДА ДоговорыКонтрагентовПлановыйЕжемесячныйОбъемГаз.Количество
            ИНАЧЕ 0
        КОНЕЦ) КАК Месяц12
{ВЫБРАТЬ
    Владелец.* КАК Контрагент,
    ВладелецКодПоЕДРПОУ КАК ЕДРПОУ,
    Ссылка.* КАК Договор,
    Номер КАК НомерДоговора,
    Месяц1,
    Месяц2,
    Месяц3,
    Месяц4,
    Месяц5,
    Месяц6,
    Месяц7,
    Месяц8,
    Месяц9,
    Месяц10,
    Месяц11,
    Месяц12}
ИЗ
    Справочник.ДоговорыКонтрагентов.ПлановыйЕжемесячныйОбъемГаз КАК ДоговорыКонтрагентовПлановыйЕжемесячныйОбъемГаз
ГДЕ
    (ДоговорыКонтрагентовПлановыйЕжемесячныйОбъемГаз.Ссылка.Организация = &Организация
            ИЛИ &Организация = ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка))
    И НАЧАЛОПЕРИОДА(ДоговорыКонтрагентовПлановыйЕжемесячныйОбъемГаз.Дата, ГОД) = &ТекГод
{ГДЕ
    ДоговорыКонтрагентовПлановыйЕжемесячныйОбъемГаз.Ссылка.ВидДеятельности,
    ДоговорыКонтрагентовПлановыйЕжемесячныйОбъемГаз.Ссылка.ВидКонтрагента,
    ДоговорыКонтрагентовПлановыйЕжемесячныйОбъемГаз.Ссылка.Владелец КАК Контрагент}

СГРУППИРОВАТЬ ПО
    ДоговорыКонтрагентовПлановыйЕжемесячныйОбъемГаз.Ссылка.Владелец,
    ДоговорыКонтрагентовПлановыйЕжемесячныйОбъемГаз.Ссылка.Владелец.КодПоЕДРПОУ,
    ДоговорыКонтрагентовПлановыйЕжемесячныйОбъемГаз.Ссылка.Ссылка,
    ДоговорыКонтрагентовПлановыйЕжемесячныйОбъемГаз.Ссылка.Номер

УПОРЯДОЧИТЬ ПО
    ДоговорыКонтрагентовПлановыйЕжемесячныйОбъемГаз.Ссылка.Владелец.Наименование



 ! 

Правила, п.3.
 
Vofka
Условие сравнения, конечно же, ставите в "В списке"?
Said
Цитата(Vofka @ 20.05.14, 9:06) необходимо зарегистрироваться для просмотра ссылки
Условие сравнения, конечно же, ставите в "В списке"?

На форме это 3 разных отбора. Вид Сравнения "=" указываю ссылку на элемент справочника.
ВидДеятельности и ВидКонтрагента - это справочники.
По контрагенту отбирает, по другим справочникам нет.
Исходя их того что СКД может оптимизировать запрос, Поля ВидДеятельности и ВидКонтрагента вытянул в отдельные колонки и добавил их в поля для СКД, но картина от этого не сменилась. Что еще может быть ?
Petre
А если в запросе сделать замену "ДоговорыКонтрагентовПлановыйЕжемесячныйОбъемГаз.Ссылка." на "ДоговорыКонтрагентовПлановыйЕжемесячныйОбъемГаз."?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.