Имя: Пароль:
1C
1С v8
Конструкция выбор когда
0 Dididi
 
16.05.14
09:48
Здравствуйте, нужна помощь... Мне нужно количество сотрудников по определенным категориям: руководители, специалисты, служащие и рабочие. В базе они определены в категориях должностей, но проблема в  том, что есть одно подразделение, начальники смен которых должны входить в категорию рабочие, хотя начальники смен всех остальных подразделений являются руководителями. Следующим образом не получается:


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

СГРУППИРОВАТЬ ПО
    РаботникиОрганизацийСрезПоследних.Должность,
    РаботникиОрганизацийСрезПоследних.ПодразделениеОрганизации
;

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

СГРУППИРОВАТЬ ПО
    ВЫБОР
        КОГДА ДолжностиОрганизаций.КатегорияДолжности = ЗНАЧЕНИЕ(Справочник.КатегорииДолжностейОрганизаций.РуководителиВсехУровней)
                              и ДолжностиОрганизаций.Ссылка <> &начсмен     и
                     ВТ_КонПер.ПодразделениеОрганизации <> &сопсс    тогда  "Руководители"
        
          
                        КОГДА ДолжностиОрганизаций.КатегорияДолжности = ЗНАЧЕНИЕ(Справочник.КатегорииДолжностейОрганизаций.СлужащиеЗанятыеПодготовкойИнформации)
            ТОГДА "Служащие"
        КОГДА ДолжностиОрганизаций.КатегорияДолжности = ЗНАЧЕНИЕ(Справочник.КатегорииДолжностейОрганизаций.СпециалистыВысшегоУровняКвалификации)
                ИЛИ ДолжностиОрганизаций.КатегорияДолжности = ЗНАЧЕНИЕ(Справочник.КатегорииДолжностейОрганизаций.СпециалистыСреднегоУровняКвалификации)
            ТОГДА "Специалисты"
        ИНАЧЕ "Рабочие"
    КОНЕЦ

ИТОГИ
    СУММА(КонПерКол)
    ПО
    ОБЩИЕ