8.х УПП Регистр сведений "РаботникиОрганизаций". Поле "Период"

Тема в разделе ""1С:Управление производственным предприятием УПП"", создана пользователем Максим, 12 фев 2020.

  1. TopicStarter Overlay
    Максим
    Offline

    Максим Опытный в 1С

    Регистрация:
    28 фев 2008
    Сообщения:
    748
    Симпатии:
    8
    Баллы:
    29
    Здравствуйте!
    1С:Предприятие 8.3 (8.3.15.1747)
    Управление производственным предприятием, редакция 1.3 (1.3.132.2)

    Есть типовой регистр сведений "РаботникиОрганизаций" синоним "Кадровая история сотрудников (по юрлицам)". Подчинен регистратору.
    В случае, если регистратор - "УвольнениеИзОрганизаций".
    Тогда запись добавляется следующим образом (типовой код):

    Код:
      // Если документ нужно проводить по регистру, то для него есть ключ в структуре
            ИмяРегистра = "РаботникиОрганизаций";
            Если СтруктураПроведенияПоРегистрамСведений.Свойство(ИмяРегистра) Тогда
              
                Движение = Движения[ИмяРегистра].Добавить();
              
                // Свойства      
                Движение.Период                        = ВыборкаПоРаботникиОрганизации.ДатаУвольнения + мДлинаСуток;
    Зачем к периоду добавляется длина суток? В чем глубой смысл?
    Кадровики увольняют сотрудника, ставят дату увольнения 31.01.2020. В регистр попадает 01.02.2020.
    И ппц не заполняется типовой документ СведенияОТрудовойДеятельностиРаботниковСЗВ_ТД за январь., т.к. движения февральские. Но и в февраль тоже не попадает. Но не суть. Суть в том, что не понятно зачем сутки добавлять? Причем смотрел в 126 релизе - тоже самое + 1 день.
  2. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    9.914
    Симпатии:
    1.037
    Баллы:
    204
    Потому, что в регистре хранится состояние сотрудника, а день увольнения является рабочим днем для работника.

    Если человека уволили 31.01.2020г., то уволенным он считается именно 01.02.2020г.

    Сведения о трудовой деятельности формируются по документам, в которых включен флаг "отражать в трудовой книжке", а не регистру.
  3. TopicStarter Overlay
    Максим
    Offline

    Максим Опытный в 1С

    Регистрация:
    28 фев 2008
    Сообщения:
    748
    Симпатии:
    8
    Баллы:
    29
    "Сведения о трудовой деятельности формируются по документам, в которых включен флаг "отражать в трудовой книжке", а не регистру."
    Безусловно, флаг "ОтразитьВТрудовойКнижке" имеет важное значение. Вот только я проверил, перед тем как написать. )
    Документ СведенияОТрудовойДеятельностиРаботниковСЗВ_ТД, кнопка "Заполнить по кадровым документам", отправляет в модуль объекта строка 666

    ВЫБРАТЬ
    | Увольнение.Ссылка,
    | Увольнение.Ссылка.Номер,
    | Увольнение.Ссылка.Дата,
    | Увольнение.Сотрудник,
    | Увольнение.Физлицо,
    | Увольнение.ДатаУвольнения,
    | Увольнение.Ссылка.Организация,
    | NULL,
    | NULL,
    | NULL,
    | ЗНАЧЕНИЕ(Перечисление.ВидыМероприятийТрудовойДеятельности.Увольнение),
    | Увольнение.СтатьяТКРФ
    |ИЗ
    | Документ.УвольнениеИзОрганизаций.РаботникиОрганизации КАК Увольнение
    |ГДЕ
    | Увольнение.Ссылка В
    | (ВЫБРАТЬ
    | Регистраторы.Регистратор
    | ИЗ
    | ВТРегистраторы КАК Регистраторы)

    | И Увольнение.ДатаУвольнения МЕЖДУ &ДатаНачала И &ДатаОкончания
    | И Увольнение.Ссылка.Организация = &Организация
    | И Увольнение.ОтразитьВТрудовойКнижке
    | И (Увольнение.Физлицо В (&ФизЛица)
    | ИЛИ &ВсеФизЛица)

    А вот формируется временная таблица ВТРегистраторы (строка 432), и она пустая в результате из за +1 день

    Код:
    Запрос.Текст =
    
        "ВЫБРАТЬ РАЗЛИЧНЫЕ
        |    РаботникиОрганизаций.Регистратор
        |ПОМЕСТИТЬ ВТРегистраторы
        |ИЗ
        |    РегистрСведений.РаботникиОрганизаций.СрезПоследних(&ДатаНачала, Организация = &ГоловнаяОрганизация) КАК РаботникиОрганизаций
        |ГДЕ
        |    (РаботникиОрганизаций.Период МЕЖДУ &ДатаНачала И &ДатаОкончания
        |            ИЛИ РаботникиОрганизаций.ПериодЗавершения МЕЖДУ &ДатаНачала И &ДатаОкончания)
        |    И РаботникиОрганизаций.Сотрудник.Физлицо В
        |            (ВЫБРАТЬ
        |                ВТ.ФизЛицо
        |            ИЗ
        |                ВТФизическиеЛица КАК ВТ)
        |
        |ОБЪЕДИНИТЬ ВСЕ
        |
        |ВЫБРАТЬ РАЗЛИЧНЫЕ
        |    РаботникиОрганизаций.Регистратор
        |ИЗ
        |    РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизаций
        |ГДЕ
        |    РаботникиОрганизаций.Период МЕЖДУ &ДатаНачала И &ДатаОкончания
        |    И РаботникиОрганизаций.Сотрудник.Физлицо В
        |            (ВЫБРАТЬ
        |                ВТ.ФизЛицо
        |            ИЗ
       |                ВТФизическиеЛица КАК ВТ)
        |    И РаботникиОрганизаций.Организация = &ГоловнаяОрганизация
    Последнее редактирование: 12 фев 2020
  4. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    9.914
    Симпатии:
    1.037
    Баллы:
    204
    Я допилил запрос до нужного состояния.
    Максим нравится это.