|   |   | 
| 
 | Как из Регистра сведений получить всех уволенных/оставшихся сотрудников? | ☑ | ||
|---|---|---|---|---|
| 0
    
        MrKartez 09.07.14✎ 09:26 | 
        Делаю вот таким образом:
 ВЫБРАТЬ РаботникиОрганизаций.Период, РаботникиОрганизаций.Регистратор, РаботникиОрганизаций.Сотрудник, РаботникиОрганизаций.Организация ИЗ РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизаций ГДЕ РаботникиОрганизаций.Регистратор = &Регистратор Смысл в чем, при установке конкретного документа Увольнения, мне выдаёт один результат - конкретные данные по конкретному документу. Мне надо, чтобы мне показывало всех сотрудников, на которых был заведен документ увольнения - это регистратор. Одного показывает нормально (когда в качестве параметра ставлю конкретный документ). По идее, когда оставляю поле параметра пустым мне должны выставлять ВСЕХ сотрудников, на которых заводился Док Увольнения, но этого не происходит. Не могу понять почему. p.s. условие на отбор же лучше задавать в свойствах виртуальной таблицы? | |||
| 1
    
        piter3 09.07.14✎ 09:32 | 
        все работает     | |||
| 2
    
        skunk 09.07.14✎ 09:33 | 
        там вроде как должен быть ресурс ПричинаИзмененияСостояния ... в котором кажут увольнение(это перечисление)     | |||
| 3
    
        Никулин Леонид 09.07.14✎ 09:36 | 
        Где 
 РаботникиОрганизаций.Регистратор Ссылка Документ.Увольнение | |||
| 4
    
        Никулин Леонид 09.07.14✎ 09:39 | 
        (+3) Да. Действительно условие лучше накладывать в свойствах виртуальной таблицы     | |||
| 5
    
        MrKartez 09.07.14✎ 09:49 | 
        Спасибо. А вот еще вопрос: работаю в ВТ.СрезПоследних. Думал, что будет выдавать последнее состояние на работника. Например : Уволен или Принят. Но выдаёт весь список состояние: например 11.11.11 Перемещен, 12.12.12 Уволен хотелось бы получать только последнее значение, а именно - 12.12.12 Уволен. Как реализовать? В условии ВТ поставил параметр &Дата     | |||
| 6
    
        barrgand 09.07.14✎ 09:56 | ||||
| 7
    
        prince64 09.07.14✎ 09:56 | 
        (5) сейчас на тестовой все пробую, выдает последнюю запись по работнику. приведи текст запроса     | |||
| 8
    
        barrgand 09.07.14✎ 09:58 | 
        (7) А ты знаешь его конфу?     | |||
| 9
    
        Никулин Леонид 09.07.14✎ 10:00 | 
        Срез последних для этого как раз и придумали. Возможно не верно составлен запрос. Показывай     | |||
| 10
    
        MrKartez 09.07.14✎ 10:07 | 
        ВЫБРАТЬ
 РаботникиОрганизацийСрезПоследних.Период, РаботникиОрганизацийСрезПоследних.Регистратор, РаботникиОрганизацийСрезПоследних.Сотрудник КАК Сотрудник, РаботникиОрганизацийСрезПоследних.Организация, РаботникиОрганизацийСрезПоследних.ПричинаИзмененияСостояния, РаботникиОрганизацийСрезПоследних.Должность ИЗ РегистрСведений.РаботникиОрганизаций.СрезПоследних(&Дата, ) КАК РаботникиОрганизацийСрезПоследних ГДЕ РаботникиОрганизацийСрезПоследних.Сотрудник = &Сотрудник УПОРЯДОЧИТЬ ПО РаботникиОрганизацийСрезПоследних.Период УБЫВ Написал вот так, сейчас проверял полученные данные, в нем сотрудники дублируются. Когда ставлю в параметры конкретного сотрудника, мне выдает последнюю инфу на него. Ставлю параметрт сотрудника пустым и мне ничего не выдаёт в результат О_о | |||
| 11
    
        barrgand 09.07.14✎ 10:10 | 
        (10) Удивительно, нет записей по пустому сотруднику?? Да как так.     | |||
| 12
    
        MrKartez 09.07.14✎ 10:16 | 
        (11) Решил проблему. Справочник сотрудники Иерархический, прописал в условии В ИЕРАРХИИ и заработало     | |||
| 13
    
        barrgand 09.07.14✎ 10:21 | 
        (12) Хм, молодец. А что должно было заработать?
 И параметр убери в параметры ВТ, а то некрасиво | |||
| 14
    
        MrKartez 09.07.14✎ 10:26 | 
        (13) Отражение всех сотрудников при пустом параметре.
 Я так и не понял, почему мне не выдает последние значения. Регистр же называется СрезПоследних,по логике он же должен будет выдавать мне Последние, иначе зачем его называть "СрезПоследних") | |||
| 15
    
        barrgand 09.07.14✎ 10:28 | 
        (14) Получает наиболее поздние записи регистра, соответствующие установленным в параметрах метода значениям ключевых полей. Записи подбираются для каждого сочетания из всех имеющихся значений измерений регистра. (с) СП     | |||
| 16
    
        MrKartez 09.07.14✎ 10:32 | 
        (15) ух, это получается я должен получить запросом список всех физических лиц (сотрудники тут не подойдут, по скольку люди уволенные не числятся как сотры), потом передать этот список в качестве параметра в запрос и только тооогда мне выдаст последнее по каждому сотруднику     | |||
| 17
    
        MrKartez 09.07.14✎ 10:32 | 
        +(16)  Буду пробовать :DDD     | |||
| 18
    
        bvg 09.07.14✎ 10:36 | 
        (0) с этим регистром не все так просто )     | |||
| 19
    
        barrgand 09.07.14✎ 10:36 | 
        (16) Я такого не говорил. Если что, я тут ни при чем     | |||
| 20
    
        Крошка Ру 09.07.14✎ 10:40 | 
        (14) Срез последних выдает срез в разрезе измерений регистра. Если у двух строк регистра различается хотя бы одно измерение, в срез попадут обе. 
 Посмотри список измерений регистра, в запросе выведи их список, сравни дублирующиеся строки по всем измерениями. И на будущее - пиши с какой конфигурацией работаешь. | |||
| 21
    
        Никулин Леонид 09.07.14✎ 11:11 | 
        ВЫБРАТЬ
 РаботникиОрганизацийСрезПоследних.Период, РаботникиОрганизацийСрезПоследних.Регистратор, РаботникиОрганизацийСрезПоследних.Сотрудник КАК Сотрудник, РаботникиОрганизацийСрезПоследних.Организация, РаботникиОрганизацийСрезПоследних.ПричинаИзмененияСостояния, РаботникиОрганизацийСрезПоследних.Должность ИЗ РегистрСведений.РаботникиОрганизаций.СрезПоследних( &Дата, Организация = &Организация И Регистратор ССЫЛКА Документ.УвольнениеИзОрганизаций) КАК РаботникиОрганизацийСрезПоследних УПОРЯДОЧИТЬ ПО РаботникиОрганизацийСрезПоследних.Период УБЫВ | |||
| 22
    
        Никулин Леонид 09.07.14✎ 11:15 | 
        (21+) Это запрос для УПП. Вероятно твои сотрудники увольнялись несколько раз из разных организаций. Вот у тебя и записей > 1     | |||
| 23
    
        MrKartez 09.07.14✎ 12:12 | 
        (22) к сожалению все они работают на одном предприятии(     | |||
| 24
    
        MrKartez 09.07.14✎ 12:20 | 
        (21) а как например сделать так, чтобы наоборот, выбирались только документы которые не являются увольнениями?     | |||
| 25
    
        Крошка Ру 09.07.14✎ 12:21 | 
        (24) Вестимо
 НЕ Регистратор ССЫЛКА Документ.УвольнениеИзОрганизаций | |||
| 26
    
        Никулин Леонид 09.07.14✎ 12:37 | 
        (25) Да. 
 Значит если одна организация тогда смотри вот что. Найди 2 (или больше) записи по одному сотруднику и меджу ними найди различия по другим реквизитам | |||
| 27
    
        Никулин Леонид 09.07.14✎ 12:39 | 
        может их с разных должностей увольняли или разные причины изменения состояния     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |