Как программно получить норму времени по графику сотрудника

1. asdPerepel 12 16.06.20 17:25 Сейчас в теме
Здравствуйте.

8.3.17.1496 Зарплата и управление персоналом, редакция 3.1 (3.1.14.55)

Перенос данных из ЗиК 7.7 на 01.01.2020 (рекомендованный).

Для получения нормы времени использую код:

    // Готовим исходные данные для подсистемы учета времени.
   ИсходныеДанные = Новый ТаблицаЗначений;
   ИсходныеДанные.Колонки.Добавить("Сотрудник", Новый ОписаниеТипов("СправочникСсылка.Сотрудники"));
   ИсходныеДанные.Колонки.Добавить("Организация", Новый ОписаниеТипов("СправочникСсылка.Организации"));
   ИсходныеДанные.Колонки.Добавить("ДатаНачалаПериода", Новый ОписаниеТипов("Дата"));
   ИсходныеДанные.Колонки.Добавить("ДатаОкончанияПериода", Новый ОписаниеТипов("Дата"));
   
   НоваяСтрока = ИсходныеДанные.Добавить();
   НоваяСтрока.Сотрудник = Объект.Сотрудник;
   НоваяСтрока.Организация = Объект.Организация;
   НоваяСтрока.ДатаНачалаПериода = ДатаНачала;
   НоваяСтрока.ДатаОкончанияПериода = ДатаОкончания;
   
   // Получаем предположительные данные у подсистемы учета времени.
   УчетРабочегоВремениРасширенный.СоздатьВТВремяПоГрафикамСотрудников(ИсходныеДанные, МенеджерВременныхТаблиц);
   
   Запрос = Новый Запрос;
   Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
   
   Запрос.Текст =
       "ВЫБРАТЬ
       |    ДанныеУчетаВремени.Сотрудник,
       |    НАЧАЛОПЕРИОДА(ДанныеУчетаВремени.ДатаНачалаПериода, МЕСЯЦ) КАК Период,
       |    ДанныеУчетаВремени.ОтработаноДней,
       |    ДанныеУчетаВремени.ОтработаноЧасов,
       |    ДанныеУчетаВремени.ОтработаноДнейПятидневка,
       |    ДанныеУчетаВремени.ОтработаноЧасовПоПроизводственномуКалендарю КАК ОтработаноЧасовПятидневка,
       |    ДанныеУчетаВремени.ОтработаноДнейШестидневка,
       |    ДанныеУчетаВремени.ОтработаноДнейКалендарных,
       |    ДанныеУчетаВремени.НормаДней КАК НормаДнейПроизводственныйКалендарь,
       |    ДанныеУчетаВремени.ПроизводственныйКалендарьПятидневкаЧасы КАК НормаЧасовПроизводственныйКалендарь,
       |    ДанныеУчетаВремени.НормаДней,
       |    ДанныеУчетаВремени.НормаЧасов
       |ИЗ
       |    ВТВремяПоГрафикамСотрудников КАК ДанныеУчетаВремени";
   
   ДанныеВремени = УчетСреднегоЗаработка.ПустаяТаблицаОтработанноеВремяСреднийЗаработокОбщий();
   
   НормаДней=0;
   
   Выборка = Запрос.Выполнить().Выбрать();
   Пока Выборка.Следующий() Цикл
       
       НормаДней=НормаДней+Выборка.НормаДней;
   КонецЦикла;
Показать

В месяцах до 01.01.2020 (до переноса) выдаёт нули.

Все графики заполнены. График у сотрудника не менялся. Сотрудник работает с 1989 года.

Как заставить считать норму до 01.01.2020 ?
user1951539; Matveev_VS; KamranV21; +3 Ответить
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. asdPerepel 12 16.06.20 17:54 Сейчас в теме
Всё, всем спасибо. Разобрался.

Оказывается надо перезаполнить производственный календарь за 2019 год и всё работает. Заполняется регистр сведений "Данные производственного календаря помесячно" и всё работает.

Странно, производственный календарь за 2019 год по виду был заполнен.
Почему так не понятно.
PAM3000; user1951539; +2 Ответить
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот