Имя: Пароль:
1C
1С v8
УПП, помогите с запросом.
0 Aerosol
 
03.09.13
11:06
Доброго времени суток, друзья ! Помогите, как реализовать в запросе :

в общем, я нарисовал отчет, вот кусок запроса :

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

СГРУППИРОВАТЬ ПО
    РегистрАналитикаВидаУчета.СчетУчета,
    РегистрАналитикаВидаУчета.ПодразделениеОрганизации,
    РегистрАналитикаВидаУчета.Организация,
    РегистрАналитикаРаспределенияЗатрат.НоменклатурнаяГруппа,
    РегистрАналитикаУчетаПартий.Заказ,
    ХозрасчетныйОбороты.Счет,
    ХозрасчетныйОбороты.СуммаОборотДт,
    ХозрасчетныйОбороты.Организация
;

конечные пользователи сказали, мол, все хорошо, но только вот это "СУММА(УчетЗатратРеглОбороты.СтоимостьПриход) КАК Стоимость" нужно разделить на две суммы, одна по статьям затрат Материальным, другая сумма - по статьям затрат на Оплату труда. Все это разграничивается условием типа :
РегистрАналитикаУчетаЗатрат.СтатьяЗатрат.ВидЗатрат= &ВидЗатрат ,где Параметр ВидЗатрат - одно из значений перечисления.

Итак, вопрос: как можно в одном запросе получить одновременно две суммы, и по ВидуЗатрат материальные и по оплате труда ? Ведь к запросу молжно применить параметр ВидЗатрат один раз только :) А делать второй аналогичный запрос для получения второй суммы - не хочется очень.

Помогайте !
1 Wobland
 
03.09.13
11:07
даю справку. параметры в запросах можно употреблять более одного раза. также разрешаю два раза заюзать одну и ту же таблицу
2 anaed
 
03.09.13
11:10
выбор когда РегистрАналитикаУчетаЗатрат.СтатьяЗатрат.ВидЗатрат= Значение(перечисление.твоеперечисление.значениеперечисления) тогда УчетЗатратРеглОбороты.СтоимостьПриход
иначе 0 конец как стоимостьматериальная,
выбор когда РегистрАналитикаУчетаЗатрат.СтатьяЗатрат.ВидЗатрат= Значение(перечисление.твоеперечисление.значениеперечисления) тогда УчетЗатратРеглОбороты.СтоимостьПриход
иначе 0 конец как стоимостьоплататруда,
3 Aerosol
 
03.09.13
11:19
(2) (1) Спасибо большое ! Недавно стал переползать с 7 на 8, отсюда глупые вопросы. А как это реализовать в конструкторе запроса:
выбор когда РегистрАналитикаУчетаЗатрат.СтатьяЗатрат.ВидЗатрат= Значение(перечисление.твоеперечисление.значениеперечисления) тогда УчетЗатратРеглОбороты.СтоимостьПриход
иначе 0 конец как стоимостьматериальная,
выбор когда РегистрАналитикаУчетаЗатрат.СтатьяЗатрат.ВидЗатрат= Значение(перечисление.твоеперечисление.значениеперечисления) тогда УчетЗатратРеглОбороты.СтоимостьПриход
иначе 0 конец как стоимостьоплататруда,

?
4 Wobland
 
03.09.13
11:26
(3) по кнопке "+" в полях
5 anaed
 
03.09.13
11:26
В полях у конструктора нажмите добавить и пишите или составляйте выражение.
6 Aerosol
 
03.09.13
11:32
Ругается на синтаксическую ошибку : Синтаксическая ошибка "Как"
Иначе 0 Конец "?" Как СтоимостьМатериальная

:(
7 Wobland
 
03.09.13
11:33
(6) не КАКай там, делай это на другой вкладке
8 Aerosol
 
03.09.13
11:34
(7) Все, туплю, спасибо ! Это в Объединениях\псевдонимах
9 Aerosol
 
03.09.13
11:34
Спасибо огромное !
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан