Имя: Пароль:
1C
1С v8
ЗиУПП: Как увидеть стаж в годах и месяцах
0 lamp
 
01.02.12
14:37
Переходим на 8ку. Ситуация: приносят больничный, кадровик должен написать там стаж (лет, месяцев) и отдать бухгалтеру. В 7ке это просто - начинаешь редактирование соответствующего поля и видишь цифры. В 8ке вижу дату начала стажа и не более того. Как в 8ке увидеть стаж (в годах и месяцах) выбранного сотрудника, с учетом того, что дата начала отсчета стажа у него стоит?
1 Chai Nic
 
01.02.12
14:41
Отчет "Списки сотрудников организаций"
2 lamp
 
01.02.12
14:50
Зашел, но ничего похожего на возможность получить стаж - не обнаружил...
3 lamp
 
01.02.12
15:00
На http://infostart.ru/public/96283/ увидел обработку, которая вроде как должна подойти, но увы... не хватает условных денег для скачивания...
4 ptiz
 
01.02.12
15:18
В Т-2 можно увидеть стаж на дату.
5 Chai Nic
 
01.02.12
19:35
(2) Через настройку структуры отчета можно вытащить
6 AgainTwenty Five
 
01.02.12
19:59
ВЫБРАТЬ
   ВложенныйЗапрос.СотрудникФизлицо КАК СотрФизЛицо,
   ВложенныйЗапрос.ДатаПриема КАК ДатаПриема,
   ВложенныйЗапрос.Должность КАК Должность,
   ВложенныйЗапрос.ПодразделениеОрганизации КАК НаимПодрОрг,
   ВЫБОР
       КОГДА ГОД(ВЫБОР
                   КОГДА МЕСЯЦ(ВЫБОР
                               КОГДА ДЕНЬ(&ДатаОтчета) < ДЕНЬ(ВложенныйЗапрос.ДатаПриема)
                                   ТОГДА ДОБАВИТЬКДАТЕ(&ДатаОтчета, МЕСЯЦ, -1)
                               ИНАЧЕ &ДатаОтчета
                           КОНЕЦ) < МЕСЯЦ(ВложенныйЗапрос.ДатаПриема)
                       ТОГДА ДОБАВИТЬКДАТЕ(ВЫБОР
                                   КОГДА ДЕНЬ(&ДатаОтчета) < ДЕНЬ(ВложенныйЗапрос.ДатаПриема)
                                       ТОГДА ДОБАВИТЬКДАТЕ(&ДатаОтчета, МЕСЯЦ, -1)
                                   ИНАЧЕ &ДатаОтчета
                               КОНЕЦ, МЕСЯЦ, -12)
                   ИНАЧЕ ВЫБОР
                           КОГДА ДЕНЬ(&ДатаОтчета) < ДЕНЬ(ВложенныйЗапрос.ДатаПриема)
                               ТОГДА ДОБАВИТЬКДАТЕ(&ДатаОтчета, МЕСЯЦ, -1)
                           ИНАЧЕ &ДатаОтчета
                       КОНЕЦ
               КОНЕЦ) - ГОД(ВложенныйЗапрос.ДатаПриема) > 0
           ТОГДА ГОД(ВЫБОР
                       КОГДА МЕСЯЦ(ВЫБОР
                                   КОГДА ДЕНЬ(&ДатаОтчета) < ДЕНЬ(ВложенныйЗапрос.ДатаПриема)
                                       ТОГДА ДОБАВИТЬКДАТЕ(&ДатаОтчета, МЕСЯЦ, -1)
                                   ИНАЧЕ &ДатаОтчета
                               КОНЕЦ) < МЕСЯЦ(ВложенныйЗапрос.ДатаПриема)
                           ТОГДА ДОБАВИТЬКДАТЕ(ВЫБОР
                                       КОГДА ДЕНЬ(&ДатаОтчета) < ДЕНЬ(ВложенныйЗапрос.ДатаПриема)
                                           ТОГДА ДОБАВИТЬКДАТЕ(&ДатаОтчета, МЕСЯЦ, -1)
                                       ИНАЧЕ &ДатаОтчета
                                   КОНЕЦ, МЕСЯЦ, -12)
                       ИНАЧЕ ВЫБОР
                               КОГДА ДЕНЬ(&ДатаОтчета) < ДЕНЬ(ВложенныйЗапрос.ДатаПриема)
                                   ТОГДА ДОБАВИТЬКДАТЕ(&ДатаОтчета, МЕСЯЦ, -1)
                               ИНАЧЕ &ДатаОтчета
                           КОНЕЦ
                   КОНЕЦ) - ГОД(ВложенныйЗапрос.ДатаПриема)
       ИНАЧЕ 0
   КОНЕЦ КАК СтажЛет,
   ВЫБОР
       КОГДА ВЫБОР
               КОГДА МЕСЯЦ(ВЫБОР
                           КОГДА ДЕНЬ(&ДатаОтчета) < ДЕНЬ(ВложенныйЗапрос.ДатаПриема)
                               ТОГДА ДОБАВИТЬКДАТЕ(&ДатаОтчета, МЕСЯЦ, -1)
                           ИНАЧЕ &ДатаОтчета
                       КОНЕЦ) < МЕСЯЦ(ВложенныйЗапрос.ДатаПриема)
                   ТОГДА 12
               ИНАЧЕ 0
           КОНЕЦ + МЕСЯЦ(ВЫБОР
                   КОГДА МЕСЯЦ(ВЫБОР
                               КОГДА ДЕНЬ(&ДатаОтчета) < ДЕНЬ(ВложенныйЗапрос.ДатаПриема)
                                   ТОГДА ДОБАВИТЬКДАТЕ(&ДатаОтчета, МЕСЯЦ, -1)
                               ИНАЧЕ &ДатаОтчета
                           КОНЕЦ) < МЕСЯЦ(ВложенныйЗапрос.ДатаПриема)
                       ТОГДА ДОБАВИТЬКДАТЕ(ВЫБОР
                                   КОГДА ДЕНЬ(&ДатаОтчета) < ДЕНЬ(ВложенныйЗапрос.ДатаПриема)
                                       ТОГДА ДОБАВИТЬКДАТЕ(&ДатаОтчета, МЕСЯЦ, -1)
                                   ИНАЧЕ &ДатаОтчета
                               КОНЕЦ, МЕСЯЦ, -12)
                   ИНАЧЕ ВЫБОР
                           КОГДА ДЕНЬ(&ДатаОтчета) < ДЕНЬ(ВложенныйЗапрос.ДатаПриема)
                               ТОГДА ДОБАВИТЬКДАТЕ(&ДатаОтчета, МЕСЯЦ, -1)
                           ИНАЧЕ &ДатаОтчета
                       КОНЕЦ
               КОНЕЦ) - МЕСЯЦ(ВложенныйЗапрос.ДатаПриема) > 0
           ТОГДА ВЫБОР
                   КОГДА МЕСЯЦ(ВЫБОР
                               КОГДА ДЕНЬ(&ДатаОтчета) < ДЕНЬ(ВложенныйЗапрос.ДатаПриема)
                                   ТОГДА ДОБАВИТЬКДАТЕ(&ДатаОтчета, МЕСЯЦ, -1)
                               ИНАЧЕ &ДатаОтчета
                           КОНЕЦ) < МЕСЯЦ(ВложенныйЗапрос.ДатаПриема)
                       ТОГДА 12
                   ИНАЧЕ 0
               КОНЕЦ + МЕСЯЦ(ВЫБОР
                       КОГДА МЕСЯЦ(ВЫБОР
                                   КОГДА ДЕНЬ(&ДатаОтчета) < ДЕНЬ(ВложенныйЗапрос.ДатаПриема)
                                       ТОГДА ДОБАВИТЬКДАТЕ(&ДатаОтчета, МЕСЯЦ, -1)
                                   ИНАЧЕ &ДатаОтчета
                               КОНЕЦ) < МЕСЯЦ(ВложенныйЗапрос.ДатаПриема)
                           ТОГДА ДОБАВИТЬКДАТЕ(ВЫБОР
                                       КОГДА ДЕНЬ(&ДатаОтчета) < ДЕНЬ(ВложенныйЗапрос.ДатаПриема)
                                           ТОГДА ДОБАВИТЬКДАТЕ(&ДатаОтчета, МЕСЯЦ, -1)
                                       ИНАЧЕ &ДатаОтчета
                                   КОНЕЦ, МЕСЯЦ, -12)
                       ИНАЧЕ ВЫБОР
                               КОГДА ДЕНЬ(&ДатаОтчета) < ДЕНЬ(ВложенныйЗапрос.ДатаПриема)
                                   ТОГДА ДОБАВИТЬКДАТЕ(&ДатаОтчета, МЕСЯЦ, -1)
                               ИНАЧЕ &ДатаОтчета
                           КОНЕЦ
                   КОНЕЦ) - МЕСЯЦ(ВложенныйЗапрос.ДатаПриема)
       ИНАЧЕ 0
   КОНЕЦ КАК СтажМес,
   ВЫБОР
       КОГДА ВЫБОР
               КОГДА ДЕНЬ(&ДатаОтчета) < ДЕНЬ(ВложенныйЗапрос.ДатаПриема)
                   ТОГДА РАЗНОСТЬДАТ(ДОБАВИТЬКДАТЕ(&ДатаОтчета, МЕСЯЦ, -1), &ДатаОтчета, ДЕНЬ)
               ИНАЧЕ 0
           КОНЕЦ + ДЕНЬ(ВЫБОР
                   КОГДА МЕСЯЦ(ВЫБОР
                               КОГДА ДЕНЬ(&ДатаОтчета) < ДЕНЬ(ВложенныйЗапрос.ДатаПриема)
                                   ТОГДА ДОБАВИТЬКДАТЕ(&ДатаОтчета, МЕСЯЦ, -1)
                               ИНАЧЕ &ДатаОтчета
                           КОНЕЦ) < МЕСЯЦ(ВложенныйЗапрос.ДатаПриема)
                       ТОГДА ДОБАВИТЬКДАТЕ(ВЫБОР
                                   КОГДА ДЕНЬ(&ДатаОтчета) < ДЕНЬ(ВложенныйЗапрос.ДатаПриема)
                                       ТОГДА ДОБАВИТЬКДАТЕ(&ДатаОтчета, МЕСЯЦ, -1)
                                   ИНАЧЕ &ДатаОтчета
                               КОНЕЦ, МЕСЯЦ, -12)
                   ИНАЧЕ ВЫБОР
                           КОГДА ДЕНЬ(&ДатаОтчета) < ДЕНЬ(ВложенныйЗапрос.ДатаПриема)
                               ТОГДА ДОБАВИТЬКДАТЕ(&ДатаОтчета, МЕСЯЦ, -1)
                           ИНАЧЕ &ДатаОтчета
                       КОНЕЦ
               КОНЕЦ) - ДЕНЬ(ВложенныйЗапрос.ДатаПриема) > 0
           ТОГДА ВЫБОР
                   КОГДА ДЕНЬ(&ДатаОтчета) < ДЕНЬ(ВложенныйЗапрос.ДатаПриема)
                       ТОГДА РАЗНОСТЬДАТ(ДОБАВИТЬКДАТЕ(&ДатаОтчета, МЕСЯЦ, -1), &ДатаОтчета, ДЕНЬ)
                   ИНАЧЕ 0
               КОНЕЦ + ДЕНЬ(ВЫБОР
                       КОГДА МЕСЯЦ(ВЫБОР
                                   КОГДА ДЕНЬ(&ДатаОтчета) < ДЕНЬ(ВложенныйЗапрос.ДатаПриема)
                                       ТОГДА ДОБАВИТЬКДАТЕ(&ДатаОтчета, МЕСЯЦ, -1)
                                   ИНАЧЕ &ДатаОтчета
                               КОНЕЦ) < МЕСЯЦ(ВложенныйЗапрос.ДатаПриема)
                           ТОГДА ДОБАВИТЬКДАТЕ(ВЫБОР
                                       КОГДА ДЕНЬ(&ДатаОтчета) < ДЕНЬ(ВложенныйЗапрос.ДатаПриема)
                                           ТОГДА ДОБАВИТЬКДАТЕ(&ДатаОтчета, МЕСЯЦ, -1)
                                       ИНАЧЕ &ДатаОтчета
                                   КОНЕЦ, МЕСЯЦ, -12)
                       ИНАЧЕ ВЫБОР
                               КОГДА ДЕНЬ(&ДатаОтчета) < ДЕНЬ(ВложенныйЗапрос.ДатаПриема)
                                   ТОГДА ДОБАВИТЬКДАТЕ(&ДатаОтчета, МЕСЯЦ, -1)
                               ИНАЧЕ &ДатаОтчета
                           КОНЕЦ
                   КОНЕЦ) - ДЕНЬ(ВложенныйЗапрос.ДатаПриема)
       ИНАЧЕ 0
   КОНЕЦ КАК СтажДней
ИЗ
   (ВЫБРАТЬ
       ЗапросПоИзменениям.СотрудникФизлицо КАК СотрудникФизлицо,
       МИНИМУМ(ПриемНаРаботуВОрганизациюРаботникиОрганизации.ДатаПриема) КАК ДатаПриема,
       МАКСИМУМ(ЗапросПоИзменениям.Должность) КАК Должность,
       МАКСИМУМ(ЗапросПоИзменениям.ПодразделениеОрганизации) КАК ПодразделениеОрганизации
   ИЗ
       (ВЫБРАТЬ
           ВЫБОР
               КОГДА РаботникиОрганизацийСрезПоследних.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
                       И РаботникиОрганизацийСрезПоследних.ПериодЗавершения < &ДатаОтчета
                   ТОГДА РаботникиОрганизацийСрезПоследних.ПричинаИзмененияСостоянияЗавершения
               ИНАЧЕ РаботникиОрганизацийСрезПоследних.ПричинаИзмененияСостояния
           КОНЕЦ КАК ПричинаИзменения,
           РаботникиОрганизацийСрезПоследних.Сотрудник.Физлицо КАК СотрудникФизлицо,
           РаботникиОрганизацийСрезПоследних.Должность.Наименование КАК Должность,
           РаботникиОрганизацийСрезПоследних.ПодразделениеОрганизации.Наименование КАК ПодразделениеОрганизации
       ИЗ
           РегистрСведений.РаботникиОрганизаций.СрезПоследних(&ДатаОтчета, ) КАК РаботникиОрганизацийСрезПоследних) КАК ЗапросПоИзменениям
           ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПриемНаРаботуВОрганизацию.РаботникиОрганизации КАК ПриемНаРаботуВОрганизациюРаботникиОрганизации
           ПО ЗапросПоИзменениям.СотрудникФизлицо = ПриемНаРаботуВОрганизациюРаботникиОрганизации.Сотрудник.Физлицо
   ГДЕ
       ЗапросПоИзменениям.ПричинаИзменения <> ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение)
       И ПриемНаРаботуВОрганизациюРаботникиОрганизации.Ссылка.Проведен = ИСТИНА
   
   СГРУППИРОВАТЬ ПО
       ЗапросПоИзменениям.СотрудникФизлицо) КАК ВложенныйЗапрос
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн