|   |   | 
| 
 | Проблема с запросом. | ☑ | ||
|---|---|---|---|---|
| 0
    
        Заварник 16.11.15✎ 10:17 | 
        Нужно в зависимости от суммы вычисляемого поля стаж проставить коды. Ругается нет поля стаж. Не нашел где описано работает ли конструкция ВЫБОР КОГДА с вычисляемыми полями или нет. 
 ВЫБРАТЬ РАЗНОСТЬДАТ(РаботникиОрганизацийСрезПоследних.Сотрудник.ДатаПриемаНаРаботу, &КонецПериода, МЕСЯЦ) КАК Стаж, РаботникиОрганизацийСрезПоследних.Должность, ФИОФизЛиц.Фамилия, ФИОФизЛиц.Имя, ФИОФизЛиц.Отчество, Выбор когда Стаж > 36 тогда Стаж = 06 Когда Стаж < 36 и Стаж > 12 тогда Стаж = 05 Когда Стаж < 12 и Стаж > 6 тогда Стаж = 03 Когда Стаж < 6 и Стаж > 3 тогда Стаж = 02 Когда Стаж < 3 и Стаж > 0 Тогда Стаж = 01 Конец Как Стаж ИЗ РегистрСведений.РаботникиОрганизаций.СрезПоследних(&КонецПериода, ПодразделениеОрганизации В ИЕРАРХИИ (&Подразделение)) КАК РаботникиОрганизацийСрезПоследних ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ФИОФизЛиц КАК ФИОФизЛиц ПО РаботникиОрганизацийСрезПоследних.Сотрудник.Физлицо.Ссылка = ФИОФизЛиц.ФизЛицо ГДЕ (РаботникиОрганизацийСрезПоследних.Сотрудник.ДатаУвольнения = &ПустаяДата ИЛИ РаботникиОрганизацийСрезПоследних.Сотрудник.ДатаУвольнения >= &НачалоПериода) АВТОУПОРЯДОЧИВАНИЕ | |||
| 1
    
        Господин ПЖ 16.11.15✎ 10:18 | 
        выбор когда РАЗНОСТЬДАТ(РаботникиОрганизацийСрезПоследних.Сотрудник.ДатаПриемаНаРаботу, &КонецПериода, МЕСЯЦ)     | |||
| 2
    
        cw014 16.11.15✎ 10:18 | 
        Потому что нет поля "стаж" у тебя     | |||
| 3
    
        ДенисЧ 16.11.15✎ 10:19 | 
        Выбор когда РАЗНОСТЬДАТ(РаботникиОрганизацийСрезПоследних.Сотрудник.ДатаПриемаНаРаботу, &КонецПериода, МЕСЯЦ)> 36 тогда 06
 Когда РАЗНОСТЬДАТ(РаботникиОрганизацийСрезПоследних.Сотрудник.ДатаПриемаНаРаботу, &КонецПериода, МЕСЯЦ)< 36 и РАЗНОСТЬДАТ(РаботникиОрганизацийСрезПоследних.Сотрудник.ДатаПриемаНаРаботу, &КонецПериода, МЕСЯЦ)> 12 тогда 05 Когда РАЗНОСТЬДАТ(РаботникиОрганизацийСрезПоследних.Сотрудник.ДатаПриемаНаРаботу, &КонецПериода, МЕСЯЦ)< 12 и РАЗНОСТЬДАТ(РаботникиОрганизацийСрезПоследних.Сотрудник.ДатаПриемаНаРаботу, &КонецПериода, МЕСЯЦ)> 6 тогда 03 Когда Стаж = 01 Конец Как Стаж | |||
| 4
    
        cw014 16.11.15✎ 10:19 | 
        И вот это "тогда Стаж = 06" просто жедевр     | |||
| 5
    
        Ненавижу 1С гуру 16.11.15✎ 10:21 | 
        а еслиСтаж равен 3, то будет NULL     | |||
| 6
    
        cw014 16.11.15✎ 10:22 | 
        ВЫБРАТЬ
 ВложенныйЗапрос.Должность, ВложенныйЗапрос.Фамилия, ВложенныйЗапрос.Имя, ВложенныйЗапрос.Отчество, ВЫБОР КОГДА ВложенныйЗапрос.Стаж > 36 ТОГДА 06 КОГДА ВложенныйЗапрос.Стаж < 36 и ВложенныйЗапрос.Стаж > 12 ТОГДА 05 КОГДА ВложенныйЗапрос.Стаж < 12 и ВложенныйЗапрос.Стаж > 6 ТОГДА 03 КОГДА ВложенныйЗапрос.Стаж < 6 и ВложенныйЗапрос.Стаж > 3 ТОГДА 02 КОГДА ВложенныйЗапрос.Стаж < 3 и ВложенныйЗапрос.Стаж > 0 ТОГДА 01 КОНЕЦ КАК Стаж ИЗ (ВЫБРАТЬ РАЗНОСТЬДАТ(РаботникиОрганизацийСрезПоследних.Сотрудник.ДатаПриемаНаРаботу, &КонецПериода, МЕСЯЦ) КАК Стаж, РаботникиОрганизацийСрезПоследних.Должность, ФИОФизЛиц.Фамилия, ФИОФизЛиц.Имя, ФИОФизЛиц.Отчество ИЗ РегистрСведений.РаботникиОрганизаций.СрезПоследних(&КонецПериода, ПодразделениеОрганизации В ИЕРАРХИИ (&Подразделение)) КАК РаботникиОрганизацийСрезПоследних ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ФИОФизЛиц КАК ФИОФизЛиц ПО РаботникиОрганизацийСрезПоследних.Сотрудник.Физлицо.Ссылка = ФИОФизЛиц.ФизЛицо ГДЕ (РаботникиОрганизацийСрезПоследних.Сотрудник.ДатаУвольнения = &ПустаяДата ИЛИ РаботникиОрганизацийСрезПоследних.Сотрудник.ДатаУвольнения >= &НачалоПериода)) КАК ВложенныйЗапрос АВТОУПОРЯДОЧИВАНИЕ | |||
| 7
    
        Ненавижу 1С гуру 16.11.15✎ 10:24 | 
        можно проще:
 ВЫБОР КОГДА ВложенныйЗапрос.Стаж < 3 ТОГДА "01" КОГДА ВложенныйЗапрос.Стаж < 6 ТОГДА "02" КОГДА ВложенныйЗапрос.Стаж < 12 ТОГДА "03" КОГДА ВложенныйЗапрос.Стаж < 36 ТОГДА "05" КОГДА ВложенныйЗапрос.Стаж >= 36 ТОГДА "06" КОНЕЦ | |||
| 8
    
        Заварник 16.11.15✎ 10:25 | 
        (2) ну как нету а вот разве не поле создается 
 РАЗНОСТЬДАТ(РаботникиОрганизацийСрезПоследних.Сотрудник.ДатаПриемаНаРаботу, &КонецПериода, МЕСЯЦ) КАК Стаж, | |||
| 9
    
        ДенисЧ 16.11.15✎ 10:25 | 
        (8) нет, не создаётся     | |||
| 10
    
        Заварник 16.11.15✎ 10:26 | 
        (3) спасибо понял.     | |||
| 11
    
        cw014 16.11.15✎ 10:29 | 
        Как так не создается? Должно. Прямо в метаданных регистра сведений налету и динамически     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |