Платформа 3V/Рекомендации по использованию инструментов платформы и решаемым задачам/Кейсы использования/Реестр отпусков

Материал из 3v-wiki
Перейти к навигации Перейти к поиску

Описание кейса

В данном разделе представлено описание создания форм "График отпусков на 2021 год". Формы предназначены для сбора и согласования данных об отпусках сотрудников компании Брайт Софт. Формы представляет собой две клиентские карточки - для сотрудника и для согласующего, которые выглядят следующим образом:

Карточка для сотрудника Карточка для согласующего
Карточка для сотрудника 1.png
Карточка для сотрудника 2.png
Карточка для согласующего.jpg

Инструменты платформы, используемые в кейсе

В рамках кейса были использованы следующие инструменты (в скобках указано количество):

1. Справочники (3)
2. Календарный справочник (1)
3. Показатели (2)
4. Отчет (2)
5. Согласование (1)
6. Соединение с БД (1)
7. Серверная карточка (2)
8. Клиентская карточка (2)

Этапы создания кейса

Создание справочников

Для построения структуры данных был использован справочник "Сотрудники" и создан новый справочник "Дни отпуска".

В справочнике "Сотрудники" использовались следующие атрибуты:

Наименование атрибута Тип Назначение
1 ФИО сотрудника Текстовый Используется в качестве измерения
2 Статус "Работает" Логический Необходим для фильтрации строк в отчете
3 Компания Связанный со справочником "Компании" Необходим для фильтрации строк в отчете
4 Согласующий Связанный со справочником "Сотрудники" (текущий справочник) Необходим для распределения ролей с различными правами доступа для Сотрудника и Согласующего, а также для вывода в отчет

В справочнике "Дни отпуска" использовались следующие атрибуты:

Наименование атрибута Тип Назначение
1 День отпуска Текстовый Используется в качестве факта

В данном кейсе использовался еще один справочник, он упоминается в разделе Создание согласования.

Создание календарного справочника

Создаем календарный справочник со следующими настройками:

Настройка Описание
Период С 01.01.2021 по 31.12.2021
Уровни День (["Day"])
Формат даты День месяца, месяц в родительном падеже ("{D} {MMGN}")

Подробнее о настройках календарного справочника можно узнать в разделе Настройки календарного справочника

Создание показателей

Перед созданием отчета необходимо построить структуру данных, т.е. нужно создать показатель.
В показателе в блок "Справочник показателей" добавляем справочники "Сотрудники" и календарный справочник, в блок "Справочник фактов" добавляем справочник "Дни отпуска" и выбираем значение "День отпуска". Для факта "День отпуска" устанавливаем логический тип данных.
Далее, чтобы на основе созданной структуры данных создать отчет, нажимаем на значок желтого куба слева сверху, выбираем "Сохранить как", при необходимости меняем наименование, идентификатор и папку:

Сохранение показателя как отчета.png
















В данном кейсе использовался еще один показатель, он упоминается в разделе Вывод статуса согласования и комментария в отчеты.

Создание отчетов

Отчет для сотрудника

Настраиваем отчет:

1. В блоке "Строки" устанавливаем фильтр для элементов справочника "Сотрудники" (автоматически установленный фильтр удаляем):

  • Компания Брайт Софт (в справочнике "Компании" идентификатор элемента со значением "Брайт Софт" равный 2)
  • Статус "Работает" = true

2. В блоке "Столбцы" скрываем название показателя и справочник "Дни отпуска", т.е. оставляем видимым только календарь. О том, как это сделать, можно узнать в разделе
3. В блоке "Параметры" удаляем параметр с календарем. О том, как это сделать, можно узнать в разделе
4. Добавляем столбец "Согласующий" из справочника "Сотрудники", меняем наименование на "Согласующие", размещаем его после столбца "Сотрудники". О том, как это сделать, можно узнать в разделе
5. Устанавливаем условное форматирование для календаря - выделяем голубым цветом выбранные сотрудниками дни отпуска. О том, как это сделать, можно узнать в разделе
6. Блокируем праздничные дни, чтобы у сотрудников не было возможности их выбрать при введение данных. О том, как это сделать, можно узнать в разделе
7. Добавляем столбец "Количество запланированных дней отпуска", в котором будет выводится общее количество выбранных дней отпуска в календаре. Для этого через конструктор создаем виртуальный показатель, размещаем его после столбца "Согласующие" и в JSON задаем нужную формулу. О том, как это сделать, можно узнать в разделе
8. Делаем столбцы "Сотрудники", "Согласующие", "Количество запланированных дней отпуска" недоступными для редактирования. О том, как это сделать, можно узнать в разделе
9. Фиксируем для удобства первый столбец "Сотрудники". О том, как это сделать, можно узнать в разделе
10. Добавляем столбцы "Статус" (статус согласования) и "Комментарий" (комментарий согласующего, указанный при отклонении выбранного сотрудником периода отпуска). О том, как это сделать, можно узнать в разделе Вывод статуса согласования и комментария в отчеты

Отчет для согласующего

Так как отчет для согласующего имеет почти те же настройки, что и отчет для сотрудника, то мы просто копируем отчет для сотрудника и меняем его наименование. Разница между отчетами состоит в отображении элементов в столбце "Сотрудники" - в отчете для согласующего должны выводиться не все работающие сотрудники компании Брайт Софт, а те, у кого требуется согласовать отпуск текущему пользователю.

Создание согласования

Создание workflow

Создаем согласование с параметром справочника "Сотрудники". Подробнее о создании согласования можно узнать в разделе Согласование.

Создание показателя с атрибутами workflow

Для того, чтобы вывести статус и комментарий из согласования в отчеты, необходимо создать соответствующий показатель. О том, как создать такой показатель, можно узнать в статье показатель на стороннем API.

Создание серверной карточки

Создаем серверную карточку со следующими настройками:

Поле JSON Описание
ControlIdsNotDisableByWorkflow Идентификаторы согласования и справочника "Сотрудники"
uiSources Согласование, кнопка "Сохранить", справочник "Сотрудники", Отчет для сотрудника
entryDataSources Согласование, справочник "Сотрудники", Отчет для сотрудника
expressions Выражение для передачи параметра по справочнику "Сотрудники" в согласование
actions Согласование, кнопка "Сохранить"
conditionalActions Согласование, кнопка "Сохранить"

Подробнее о настройках серверной карточки можно узнать в разделе.

Создание клиентской карточки

Настройка доступов

Видео с демонстрацией работы кейса