Capacity Planning
A configurable Creatio Freedom UI component that visualises resource demand against supply across a hierarchy (Portfolio → Program → Project → Role → Person) and a rolling month horizon, highlights over‑ and under‑load, and lets you plan monthly hours inline. Настраиваемый компонент Creatio Freedom UI, который сопоставляет потребность в ресурсах и их доступность по иерархии (Портфель → Программа → Проект → Роль → Человек) и по горизонту месяцев, подсвечивает пере‑ и недозагрузку и позволяет планировать часы прямо в таблице. Налаштовуваний компонент Creatio Freedom UI, який зіставляє потребу в ресурсах та їхню доступність за ієрархією (Портфель → Програма → Проєкт → Роль → Людина) і за горизонтом місяців, підсвічує пере‑ та недозавантаження й дозволяє планувати години прямо в таблиці.
1Overview & accessОбзор и доступОгляд і доступ
The component reads projects, assignments, resource capacity, time‑off and monthly allocation overrides through the Creatio Model API, computes demand and supply per month, and renders a colour‑coded matrix plus a shortage report. Every schema and column name comes from the component's own settings — it binds to any data model.
Компонент читает проекты, назначения, ёмкость ресурсов, отсутствия и помесячные переопределения через API Model Creatio, рассчитывает потребность и доступность по месяцам и выводит цветную матрицу и отчёт о дефицитах. Все имена схем и колонок берутся из настроек компонента — он привязывается к любой модели данных.
Компонент читає проєкти, призначення, ємність ресурсів, відсутності та помісячні перевизначення через API Model Creatio, обчислює потребу й доступність за місяцями та виводить кольорову матрицю й звіт про дефіцити. Усі назви схем і колонок беруться з налаштувань — він прив'язується до будь‑якої моделі даних.
License gate — SynCapacity.UseПроверка лицензии — SynCapacity.UseПеревірка ліцензії — SynCapacity.Use
On start the component checks the SynCapacity.Use operation licence. Without it the grid is not shown and no data is loaded — the user sees the panel below. The check fails open only if the licensing service itself is unreachable, so a transient error never blocks a licensed user.
При запуске компонент проверяет операционную лицензию SynCapacity.Use. Без неё таблица не отображается и данные не загружаются — пользователь видит панель ниже. Проверка «открывается» только если сам сервис лицензирования недоступен, поэтому временный сбой не блокирует лицензированного пользователя.
Під час запуску компонент перевіряє операційну ліцензію SynCapacity.Use. Без неї таблиця не показується й дані не завантажуються — користувач бачить панель нижче. Перевірка «відкривається» лише якщо сам сервіс ліцензування недоступний, тож тимчасовий збій не блокує ліцензованого користувача.
SynCapacity.Use license operation. Please contact your system administrator to enable it for your user.First run — not configuredПервый запуск — не настроеноПерший запуск — не налаштовано
A freshly placed instance has no saved settings, so it loads nothing and shows the prompt below instead of erroring on schemas that may not exist. Built‑in default names are only suggestions inside the dialog. Click Open settings to configure and save. Только что размещённый экземпляр не имеет сохранённых настроек, поэтому он ничего не загружает и показывает подсказку ниже вместо ошибки о несуществующих схемах. Встроенные имена по умолчанию — лишь подсказки в диалоге. Нажмите Open settings, чтобы настроить и сохранить. Щойно розміщений екземпляр не має збережених налаштувань, тож він нічого не завантажує і показує підказку нижче замість помилки про неіснуючі схеми. Вбудовані типові імена — лише підказки в діалозі. Натисніть Open settings, щоб налаштувати й зберегти.
2ToolbarПанель инструментовПанель інструментів
Everything above the matrix controls the view only — changing a control never writes data; it re‑renders instantly from data already in the browser. Всё над матрицей управляет только отображением — изменение элемента не пишет данные, а мгновенно перестраивает вид из уже загруженных данных. Усе над матрицею керує лише відображенням — зміна елемента не пише дані, а миттєво перебудовує вигляд із уже завантажених даних.
How many month columns are shown, starting from the selected start month.Сколько колонок‑месяцев показывать, начиная со стартового месяца.Скільки колонок‑місяців показувати, починаючи зі стартового місяця.
Show every number in hours, or as full‑time equivalents (hours ÷ standard monthly hours).Показывать все числа в часах или в FTE (часы ÷ стандартные месячные часы).Показувати всі числа в годинах або у FTE (години ÷ стандартні місячні години).
Pick the first month, or nudge the whole window one month earlier/later with the arrows.Выберите первый месяц или сдвиньте всё окно на месяц назад/вперёд стрелками.Оберіть перший місяць або зсуньте все вікно на місяць назад/вперед стрілками.
Narrow the matrix to one portfolio and/or one project status. Options are built from the loaded data.Сузить матрицу до одного портфеля и/или статуса проекта. Списки строятся из загруженных данных.Звузити матрицю до одного портфеля та/або статусу проєкту. Списки будуються із завантажених даних.
Open or close every branch of the hierarchy at once. Individual rows also toggle on click.Открыть или закрыть сразу все ветви иерархии. Отдельные строки также сворачиваются по клику.Відкрити або закрити одразу всі гілки ієрархії. Окремі рядки також згортаються кліком.
Turns editable cells on — see section 4. Highlighted while active.Включает редактируемые ячейки — см. раздел 4. Подсвечивается, когда активен.Вмикає редаговані комірки — див. розділ 4. Підсвічується, коли активний.
Re‑reads all data from Creatio.Перечитывает все данные из Creatio.Перечитує всі дані з Creatio.
Opens the configuration dialog — see section 5.Открывает диалог конфигурации — см. раздел 5.Відкриває діалог конфігурації — див. розділ 5.
3The capacity matrixМатрица загрузкиМатриця завантаження
Rows are the configurable hierarchy; columns are months. Each cell shows the chosen measures and is coloured by utilisation. Parent rows roll their children up, and the footer totals everyone. Строки — настраиваемая иерархия, колонки — месяцы. Каждая ячейка показывает выбранные меры и окрашена по загрузке. Родительские строки суммируют детей, а нижняя строка — всех. Рядки — налаштовувана ієрархія, колонки — місяці. Кожна комірка показує вибрані міри й пофарбована за завантаженням. Батьківські рядки підсумовують дітей, а нижній рядок — усіх.
| Portfolio › … › Person | Health | Aug 26 | Sep 26 | Oct 26 | Total |
|---|---|---|---|---|---|
| PortfolioCore Transformation | Green | 42078% | 51292% | 640118% | 1572h |
| PersonEva Novak | 12075% | 15094% | 180120% | 450h | |
| PersonSam Ford | 9660% | 8855% | 184h | ||
| All (h) | 420 | 512 | 640 |
Measures inside a cellМеры в ячейкеМіри в комірці
| MeasureМераМіра | MeaningЗначениеЗначення |
|---|---|
| Planned (demand) | Planned hours needed that month (from assignments & overrides).Плановые часы, нужные в этом месяце (из назначений и переопределений).Планові години, потрібні цього місяця (з призначень і перевизначень). |
| Actual | Actually logged hours (from the fact‑workload column).Фактически списанные часы (из колонки факта).Фактично списані години (з колонки факту). |
| Supply | Available capacity that month (FTE, availability, minus time‑off).Доступная ёмкость в месяце (FTE, доступность, минус отсутствия).Доступна ємність у місяці (FTE, доступність, мінус відсутності). |
| Net | Supply − Planned. Negative = shortage.Supply − Planned. Отрицательное = дефицит.Supply − Planned. Від'ємне = дефіцит. |
| Util % | Planned ÷ Supply. Drives the cell colour.Planned ÷ Supply. Определяет цвет ячейки.Planned ÷ Supply. Визначає колір комірки. |
Which measures appear (and their order) is set in Settings → Columns.Какие меры показывать (и в каком порядке) — в Настройки → Columns.Які міри показувати (та в якому порядку) — у Налаштування → Columns.
Colour = utilisationЦвет = загрузкаКолір = завантаження
Each cell is tinted by its utilisation against two configurable thresholds (defaults 85% / 100%):Каждая ячейка окрашивается по загрузке относительно двух настраиваемых порогов (по умолчанию 85% / 100%):Кожна комірка фарбується за завантаженням відносно двох налаштовуваних порогів (типово 85% / 100%):
Green — under the amber threshold — healthy.ниже жёлтого порога — норма.нижче жовтого порога — норма.
Amber — between amber and red — near capacity.между жёлтым и красным — у предела.між жовтим і червоним — біля межі.
Red — over the red threshold — overloaded / shortage.выше красного порога — перегруз / дефицит.вище червоного порога — перевантаження / дефіцит.
Empty — no demand and no supply.нет ни потребности, ни доступности.немає ані потреби, ані доступності.
4Plan mode — inline editingРежим плана — редактирование в ячейкеРежим плану — редагування в комірці
With Plan on, editable month cells accept a number of planned hours. The value is written as a monthly allocation override for that resource and project — the matrix updates instantly and the write is saved in the background. Когда Plan включён, редактируемые ячейки‑месяцы принимают число плановых часов. Значение записывается как помесячное переопределение аллокации для ресурса и проекта — матрица обновляется мгновенно, запись сохраняется в фоне. Коли Plan увімкнено, редаговані комірки‑місяці приймають число планових годин. Значення записується як помісячне перевизначення алокації для ресурсу та проєкту — матриця оновлюється миттєво, запис зберігається у фоні.
| Project › Person | Aug 26 | Sep 26 | Total |
|---|---|---|---|
| ProjectBilling revamp | 16092% | 12070% | 280h |
| PersonEva Novak | 7245% | 168h |
5Shortages reportОтчёт о дефицитахЗвіт про дефіцити
Below the matrix, every month where demand exceeds supply is listed with its deficit in hours and FTE. Group the list, hide small deficits, and collapse groups — all without touching the data. Под матрицей перечислен каждый месяц, где потребность превышает доступность, с дефицитом в часах и FTE. Список можно группировать, прятать мелкие дефициты и сворачивать группы — без изменения данных. Під матрицею перелічено кожен місяць, де потреба перевищує доступність, із дефіцитом у годинах і FTE. Список можна групувати, ховати дрібні дефіцити та згортати групи — без зміни даних.
| Row | Month | Deficit (h) | Deficit (FTE) |
|---|---|---|---|
| Core Transformation | Oct 26 | 128 | 0.80 |
| Eva Novak | Oct 26 | 30 | 0.19 |
| Billing revamp | Sep 26 | 24 | 0.15 |
6Settings dialogДиалог настроекДіалог налаштувань
All configuration lives in one dialog, saved per component instance (keyed by its Designer name in the SynCompCapacitySettings store). Edit it as a form or as raw JSON. Reset to defaults loads the Syntech reference preset.
Вся конфигурация в одном диалоге, сохраняется отдельно для каждого экземпляра (по имени в дизайнере в хранилище SynCompCapacitySettings). Редактируйте как форму или как JSON. Reset to defaults загружает эталонный пресет Syntech.
Уся конфігурація в одному діалозі, зберігається окремо для кожного екземпляра (за іменем у дизайнері у сховищі SynCompCapacitySettings). Редагуйте як форму або як JSON. Reset to defaults завантажує еталонний пресет Syntech.
Capacity planning settings CapacityPlanning
Measures shown in cells
Attribute columns (per level)
What each tab doesЧто делает каждая вкладкаЩо робить кожна вкладка
| TabВкладкаВкладка | PurposeНазначениеПризначення |
|---|---|
| Hierarchy | Order the row levels (Portfolio → … → Person) and map the schema behind each level.Порядок уровней строк (Портфель → … → Человек) и схема за каждым уровнем.Порядок рівнів рядків (Портфель → … → Людина) і схема за кожним рівнем. |
| Columns | Pick which measures show in cells; add extra attribute columns per level (e.g. Health).Выбор мер в ячейках; добавление колонок‑атрибутов по уровням (напр. Health).Вибір мір у комірках; додавання колонок‑атрибутів за рівнями (напр. Health). |
| Shortages | Detection level, default grouping and the minimum deficit to report.Уровень обнаружения, группировка по умолчанию и минимальный дефицит.Рівень виявлення, групування за замовчуванням і мінімальний дефіцит. |
| Projects | Projects schema/columns and the page‑record filter (see section 8).Схема/колонки проектов и фильтр по записи страницы (раздел 8).Схема/колонки проєктів і фільтр за записом сторінки (розділ 8). |
| Assignments | Resource‑assignment schema: contact, role, project, planned & actual workload.Схема назначений: контакт, роль, проект, план и факт трудозатрат.Схема призначень: контакт, роль, проєкт, план і факт трудовитрат. |
| Capacity & time-off | Resource capacity (FTE, monthly hours, availability, active) and the time‑off schema.Ёмкость ресурсов (FTE, месячные часы, доступность, активность) и схема отсутствий.Ємність ресурсів (FTE, місячні години, доступність, активність) та схема відсутностей. |
| Overrides | The monthly allocation‑override schema written by plan mode.Схема помесячных переопределений, куда пишет режим плана.Схема помісячних перевизначень, куди пише режим плану. |
| Forecast | Defaults (horizon, units, enable planning) and supply constants — standard monthly hours, working hours/day, amber & red thresholds.Умолчания (горизонт, единицы, планирование) и константы доступности — стандартные месячные часы, часы/день, жёлтый и красный пороги.Умовчання (горизонт, одиниці, планування) і константи доступності — стандартні місячні години, години/день, жовтий і червоний пороги. |
7How demand & supply are computedКак считаются потребность и доступностьЯк рахуються потреба й доступність
Demand (Planned)Потребность (Planned)Потреба (Planned)
- Each assignment's total workload is spread across the project's start–end window pro‑rata by working days (Mon–Fri) in each month.Общая трудозатрата назначения распределяется по окну проекта (начало–конец) пропорционально рабочим дням (Пн–Пт) в каждом месяце.Загальна трудовитрата призначення розподіляється по вікну проєкту (початок–кінець) пропорційно робочим дням (Пн–Пт) у кожному місяці.
- If a monthly override exists for that resource+project+month, it wins over the pro‑rata value.Если есть помесячное переопределение для ресурс+проект+месяц, оно приоритетнее пропорционального значения.Якщо є помісячне перевизначення для ресурс+проєкт+місяць, воно пріоритетніше за пропорційне значення.
- Values roll up the hierarchy — each parent sums its children.Значения агрегируются вверх по иерархии — родитель суммирует детей.Значення агрегуються вгору за ієрархією — батько підсумовує дітей.
SupplyДоступность (Supply)Доступність (Supply)
- Base = standard monthly hours × FTE, pro‑rated by the share of the month the resource is available (availability window, active flag).База = стандартные месячные часы × FTE, пропорционально доле месяца, когда ресурс доступен (окно доступности, флаг активности).База = стандартні місячні години × FTE, пропорційно частці місяця, коли ресурс доступний (вікно доступності, прапорець активності).
- Time‑off in the month is subtracted (working days × hours per day).Из месяца вычитаются отсутствия (рабочие дни × часы в день).Із місяця віднімаються відсутності (робочі дні × години на день).
- Supply is deduped per person, so a resource on many projects is counted once at each level.Доступность дедуплицируется по человеку: ресурс на многих проектах учитывается один раз на каждом уровне.Доступність дедуплікується за людиною: ресурс на багатьох проєктах враховується один раз на кожному рівні.
Net = Supply − Planned and Util % = Planned ÷ Supply. The utilisation picks the cell colour; a negative Net becomes a shortage entry.
Затем: Net = Supply − Planned и Util % = Planned ÷ Supply. Загрузка задаёт цвет ячейки; отрицательный Net становится записью дефицита.
Потім: Net = Supply − Planned і Util % = Planned ÷ Supply. Завантаження задає колір комірки; від'ємний Net стає записом дефіциту.
8Data model & page bindingМодель данных и привязка к страницеМодель даних і прив'язка до сторінки
The component reads five data schemas plus its own settings store. Every name is configurable; the Syntech reference names are shown below (restored by Reset to defaults). Компонент читает пять схем данных плюс собственное хранилище настроек. Все имена настраиваемы; ниже — эталонные имена Syntech (восстанавливаются кнопкой Reset to defaults). Компонент читає п'ять схем даних плюс власне сховище налаштувань. Усі імена налаштовувані; нижче — еталонні імена Syntech (відновлюються кнопкою Reset to defaults).
| RoleРольРоль | Reference schemaЭталонная схемаЕталонна схема | HoldsСодержитМістить |
|---|---|---|
| ProjectsПроектыПроєкти | SynProjects | name, start/end, status, portfolio, programимя, старт/финиш, статус, портфель, программаім'я, старт/фініш, статус, портфель, програма |
| AssignmentsНазначенияПризначення | SynProjectResources | contact, role, project, planned & actual workloadконтакт, роль, проект, план и факт трудозатратконтакт, роль, проєкт, план і факт трудовитрат |
| CapacityЁмкостьЄмність | SynResourceCapacity | FTE, standard monthly hours, availability, activeFTE, стандартные месячные часы, доступность, активностьFTE, стандартні місячні години, доступність, активність |
| Time‑offОтсутствияВідсутності | SynResourceTimeOff | contact, start/end, hours per dayконтакт, старт/финиш, часы в деньконтакт, старт/фініш, години на день |
| OverridesПереопределенияПеревизначення | SynResourceAllocation | contact, project, period, planned hoursконтакт, проект, период, плановые часыконтакт, проєкт, період, планові години |
| Settings storeХранилище настроекСховище налаштувань | SynCompCapacitySettings | component name → settings JSONимя компонента → JSON настроекім'я компонента → JSON налаштувань |
Scoping to a page recordОграничение записью страницыОбмеження записом сторінки
Placed on a Portfolio, Program or Project page, the component can scope itself to that record. Bind recordId to $Id in the Designer and choose which project column it is matched against (Settings → Projects). An unresolved or non‑GUID recordId is ignored — it never blanks the grid.
Размещённый на странице портфеля, программы или проекта, компонент может ограничиться этой записью. Привяжите recordId к $Id в дизайнере и выберите колонку проекта для сопоставления (Настройки → Projects). Пустой или не‑GUID recordId игнорируется — он никогда не очищает таблицу.
Розміщений на сторінці портфеля, програми чи проєкту, компонент може обмежитися цим записом. Прив'яжіть recordId до $Id у дизайнері та оберіть колонку проєкту для зіставлення (Налаштування → Projects). Порожній або не‑GUID recordId ігнорується — він ніколи не очищає таблицю.
| PropertyСвойствоВластивість | EffectЭффектЕфект |
|---|---|
recordColumn + recordId | Show only projects where the chosen column equals the page record's id.Показывать только проекты, где выбранная колонка равна id записи страницы.Показувати лише проєкти, де вибрана колонка дорівнює id запису сторінки. |
folderId | A GUID list, or a full Creatio filter object, applied to the project query (combined with the record filter by AND).Список GUID или полный фильтр Creatio, применяемый к запросу проектов (комбинируется с фильтром записи по AND).Список GUID або повний фільтр Creatio, застосований до запиту проєктів (комбінується з фільтром запису за AND). |
docs/user-guide.html in any browser — it is fully self‑contained (styles and fonts inline; no build step, no network beyond the web font).
Совет. Откройте этот файл прямо из репозитория — docs/user-guide.html — в любом браузере: он полностью автономен (стили и шрифты встроены; без сборки и без сети, кроме веб‑шрифта).
Порада. Відкрийте цей файл прямо з репозиторію — docs/user-guide.html — у будь‑якому браузері: він повністю автономний (стилі й шрифти вбудовані; без збірки й без мережі, окрім веб‑шрифту).