Имя: Пароль:
1C
1С v8
Выбор конкретного значения по условию в запросе
0 YurAnt
 
19.12.14
14:16
Доброго времени суток, господа форумчане.
ЗУП 3.0
Решил вот внешним отчетом склепать отдельный Т-13 для кадровиков.
Основное отличие - когда сотрудник в отпуске по уходу за ребенком выходит на неполную ставку - проставлять ему в вид учета времени не "Я" а "ОЖ" (при этом часы ставки выводимые ниже остаются "как есть")

Итак, в общем если буду тупить поправляйте:
В конструкторе нашел вот такой кусок:

ВЫБРАТЬ РАЗРЕШЕННЫЕ

//*******далее типовой код ***************************************
...
//*****************тут код выборки доков отпуска и возврата******
    ОтпускСотрудника.ДокументОснованиеДатаНачала КАК ДатаНачалаОтпуска,
    ОтпускСотрудника.ДокументОснованиеДатаОкончания КАК ДатаОкончанияОтпуска,
    ОтпускСотрудника.Дата КАК ДатаНачалаВозврата,
    ДанныеУчетаВремениИСостоянийСотрудников.ВидУчетаВремени.БуквенныйКод
//***************далее снова типовой****************************
{ВЫБРАТЬ
    Сотрудник.*,
    Организация.*,
    Подразделение.*,
    ВидУчетаВремени.*,
    ДолжностьКонецМесяца}
ИЗ
    Представления_ДанныеУчетаВремениИСостоянийСотрудников КАК ДанныеУчетаВремениИСостоянийСотрудников

//***************************************************************
Судя по всему именно тут идет заполнение

Теперь вот думаю над тем как заменить конструкцию ВидУчетаВремени.*,

на примерно такой алгоритм:
//****************************************************************
Выбрать
   Когда (ДатаОкончанияОтпуска >= ДатаНачалаВозврата)
         И (ДатаНачалаОтпуска <= ДатаНачалаВозврата)
         И      (ДанныеУчетаВремениИСостоянийСотрудников.ВидУчетаВремени.БуквенныйКод = "Я")
  Тогда ВидУчетаВремени = "СсылкаНа_ОЖ"
  Иначе ВидУчетаВремени.* //*******тут то что стоит по умолчанию
Конец
//***************************************************************
Собственно вот. Подскажите как реализовать такую замену значения ВидаУчетаРабочегоВремени привыборке ?

С уважением, YurAnt.
1 YurAnt
 
19.12.14
14:23
ну по сути я просто проверяю, что сотрудник оформил возврат из отпуска, но дата конца отпуска еще не наступила. И все явки забиваю "ОЖ"шками
2 YurAnt
 
19.12.14
15:06
Так. Черт с ними условиями... упрощаю вопрос

есть ВЫБРАТЬ
    Сотрудник.*,
    Организация.*,
    Подразделение.*,
        ВидУчетаВремени.*,

Как заменить ВидУчетаВремени.* на конструкцию получающую значение по условию ?
(тут просто меняю если "Я" - то выставить "ОЖ" иначе "Я")

ВЫБОР
    КОГДА
        ВидУчетаВремени.БуквенныйКод = "Я"  
    ТОГДА
        ВидУчетаВремени = &ОЖ
    ИНАЧЕ
        ВидУчетаВремени = &Я
    КОНЕЦ КАК ВидУчетаВремени,
3 Андрюха
 
19.12.14
15:12
Текст запроса формировать динамически, в зависимости от условий, не?
4 YurAnt
 
19.12.14
15:17
(3) если подскажете как это сделать в СКД буду благодарен :)
5 Mankubus
 
19.12.14
15:55
(4) в скд можно подменять текст запроса на свой
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.