Имя: Пароль:
1C
1С v8
Запрос
0 Dohter2010
 
07.12.13
14:17
Есть запрос
ВЫБРАТЬ РАЗРЕШЕННЫЕ
    ВЫБОР
        КОГДА ФИОФизЛицСрезПоследних.Фамилия ЕСТЬ NULL
            ТОГДА УвольненияИзОрганизацийРаботники.Сотрудник.Наименование
        ИНАЧЕ ФИОФизЛицСрезПоследних.Фамилия + " " + ФИОФизЛицСрезПоследних.Имя + " " + ФИОФизЛицСрезПоследних.Отчество
    КОНЕЦ КАК Работник,
    УвольненияИзОрганизацийРаботники.НомерСтроки,
    УвольненияИзОрганизацийРаботники.ДатаУвольнения,
    УвольненияИзОрганизацийРаботники.ОснованиеУвольнения,
    Работники.ПодразделениеОрганизации КАК Подразделение,
    Работники.Должность,
    Работники.ТабельныйНомер
ИЗ
    Документ.УвольнениеИзОрганизаций.РаботникиОрганизации КАК УвольненияИзОрганизацийРаботники
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ФИОФизЛиц.СрезПоследних(
                &ДатаДокумента,
                ФизЛицо В
                    (ВЫБРАТЬ РАЗЛИЧНЫЕ
                        УвольненияИзОрганизацийРаботники.Сотрудник.Физлицо
                    ИЗ
                        Документ.УвольнениеИзОрганизаций.РаботникиОрганизации КАК УвольненияИзОрганизацийРаботники
                    ГДЕ
                        УвольненияИзОрганизацийРаботники.Ссылка = &ДокументСсылка)) КАК ФИОФизЛицСрезПоследних
        ПО УвольненияИзОрганизацийРаботники.Сотрудник.Физлицо = ФИОФизЛицСрезПоследних.ФизЛицо
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПриемНаРаботуВОрганизацию.РаботникиОрганизации КАК ПриемНаРаботуОрганизацииРаботники
        ПО (ПриемНаРаботуОрганизацииРаботники.Сотрудник = УвольненияИзОрганизацийРаботники.Сотрудник)
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            СписокДат.Сотрудник КАК Сотрудник,
            РаботникиОрганизации.ПодразделениеОрганизации.Наименование КАК ПодразделениеОрганизации,
            РаботникиОрганизации.Должность.Наименование КАК Должность,
            РаботникиОрганизации.Сотрудник.Код КАК ТабельныйНомер
        ИЗ
            (ВЫБРАТЬ
                РаботникиВнутри.Сотрудник КАК Сотрудник,
                МАКСИМУМ(РаботникиВнутри.Период) КАК ДатаПоследнегоИзменения
            ИЗ
                РегистрСведений.РаботникиОрганизаций КАК РаботникиВнутри
                    ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.УвольнениеИзОрганизаций.РаботникиОрганизации КАК Док
                    ПО РаботникиВнутри.Сотрудник = Док.Сотрудник
                        И РаботникиВнутри.Период <= Док.ДатаУвольнения
            ГДЕ
                Док.Ссылка = &ДокументСсылка
            
            СГРУППИРОВАТЬ ПО
                РаботникиВнутри.Сотрудник) КАК СписокДат
                ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизации
                ПО СписокДат.Сотрудник = РаботникиОрганизации.Сотрудник
                    И СписокДат.ДатаПоследнегоИзменения = РаботникиОрганизации.Период) КАК Работники
        ПО УвольненияИзОрганизацийРаботники.Сотрудник = Работники.Сотрудник
ГДЕ
    УвольненияИзОрганизацийРаботники.Ссылка = &ДокументСсылка


есть сотрудники которые были приняты и уволены несколько раз
так вот по этому запросу  эти сотрудники двоятся ( идут двумя строками- хотя в документе прописаны один раз) ! что испарвить чтоб были только 1 раз последние данные ??
1 kumena
 
07.12.13
14:38
запросы по документам делать не правильно. всех уволенных можно из регистра вытащить и сгруппировать по физлицам, если надо.
2 kumena
 
07.12.13
14:39
обращайтесь, сделаю методически правильный запрос.
3 shuhard
 
07.12.13
14:42
(2) а чё там делать, у работника есть реквизит дата увольнения =)
4 Armando
 
07.12.13
14:42
Запрос не очень. Все из документов...

>> есть сотрудники которые были приняты и уволены несколько раз
Это разные элементы справочника "Сотрудники"?
5 Ненавижу 1С
 
гуру
07.12.13
14:44
(2) ага, еще и нереальное бабло возьмешь, ты не из 1С:Бит?
6 Armando
 
07.12.13
14:45
ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПриемНаРаботуВОрганизацию.РаботникиОрганизации КАК ПриемНаРаботуОрганизацииРаботники
ПО (ПриемНаРаботуОрганизацииРаботники.Сотрудник = УвольненияИзОрганизацийРаботники.Сотрудник)

раз уж так делаешь, то хотя бы надо втыкать условие, что документ проведен
7 kumena
 
07.12.13
14:51
(3) ну ну, были релизы, когда с ним можно было облажаться. и можно еще и подразделение с должностью до кучи отуда брать.
запрос о выборке сотрудников хорошо говорит о квалификации в зуп.
(5) это на основании чего такой вывод?
8 m-serg74
 
07.12.13
15:29
(7) [запрос о выборке сотрудников хорошо говорит о квалификации в зуп.]
это про shuhard а?
да квалификация нулевая:-)
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.