Табель на основе конструктора

Статус
В этой теме нельзя размещать новые ответы.

titansv

Гость
Хочу создать табель на основе конструктора для пяти сотрудников. В форме итогов хотел бы подсчитывать, сколько часов отработано каждым, сколько из этих часов отработано в ночное время и есть ли превышение на нормой часов (переработка или недоработка). В форме итогов не могу задать условие для подсчета часов по каждой фамилии отдельно. Кроме того введенные не через форму связи смены не отображаются в форме связи. Посоветуйте пожалуйста что нужно изменить в формуле или как изменить структуру проекта. Спасибо.
 

Вложения

  • Табель2.rpr
    1.9 KB · Просмотры: 13

Ирина

Модератор
В форме итогов для результирующего поля должно быть условие [1.ФИО]=Иванов, а не как у Вас [1.Сотрудники.ФИО]=Иванов
Чтоб не было таких ошибок, есть принцип действий.
Если в объекте идет ссылка на другой объект, то всегда указывается сначала название поля основного объекта. В вашем случает это поле - 1. Потом идет название поля объекта на который ссылка. Поле по ссылке - ФИО.
 

Vladimir

Администратор
Команда форума
Поставленные задачи сложно решить в одной форме. Можно, но тогда получится длинная простыня, а не отчёт.
Лучше для каждого сотрудника сделать свою форму итогов - табель рабочего времени за год.
Как вариант, можно получить такой результат:
Табель рабочего времени для сотрудника.png
В данном отчёте будет виден расклад по каждому месяцу: отработано часов, из них - ночные, общая переработка или недоработка.
Попробуйте разобраться с данным проектом и, если будут вопросы - задавайте.

Несколько ошибок Вашего проекта:
1. как указала Ирина - было неправильно задано условие для отбора записей из объекта сотрудников;
2. в объекте табеля не было привязки к объекту "Норма часов", поэтому данные не попадали в общую сумму в форме итогов.
В моём проекте сделал автоматическую выборку месяца из даты. И не сделал автоматической разбивки на дневную/ночную смену - это не сложно.
 

Вложения

  • Табель новый.rbase
    1.5 KB · Просмотры: 8

Ирина

Модератор
Владимир, а я бы еще в Ваш пример проекта добавила год.
Тогда при необходимости можно табель фильтровать по году.
Табель год.pngТабель фильтр год.png
 

Вложения

  • Табель новый с годом.rbase
    1.7 KB · Просмотры: 9

Vladimir

Администратор
Команда форума
Ещё один вариант: не создавать форму отчёта для каждого сотрудника, а сделать общую.
Для этого в норме часов надо создавать записи для каждого сотрудника на каждый месяц/год (это легко делается копированием существующих записей и изменением сотрудника).
В форме итогов убирается условие и добавляется фильтр по сотруднику:
Табель рабочего времени.PNG
Для получения результата для каждого сотрудника должна быть установлена норма времени на месяц, иначе данные из табеля не будут учитываться.
Чтобы при открытии формы сразу не формировалась большая простыня на все годы и для всех сотрудников - в фильтре для этих полей установлено значение по умолчанию.
 

Вложения

  • Табель с годом и по сотруднику.rbase
    1.8 KB · Просмотры: 22
Последнее редактирование:

Ирина

Модератор
Большое преимущество Руны в том, что за секунду активизировал фильтр в форме итогов (например месяц) и можно уже смотреть отчет:
- по 1 сотруднику за каждый год и на определенный месяц
- по всем сотрудникам за определенный месяц и год и т.д.
Фильтр месяц.pngФильтр месяц год.png
 

titansv

Гость
Большое спасибо за развернутые ответы. Я обязательно выложу сюда окончательный проект.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу