Production planning
This document is the complete functional description of the PlanitExo Production planning module — every screen, button, field and interaction the module currently offers. Its purpose is to let you see the whole behaviour of the system in one place, in a verifiable form. A step-by-step guide for beginners can be written separately as a user manual.
The module can be used in Hungarian and in English — the language chosen in the navigation also applies to the Gantt board, the insert bar and the Excel exports. The application is highly configurable, so that it can meet requirements as precisely as possible.
01 · Introduction
Production planning is the daily capacity planning interface of the plant's production: on a horizontal timeline (Gantt) board it shows which work runs on which resource and when. The essence of the module is order-based planning: for the orders (article number + quantity) coming from the ERP, the system helps you schedule the work step by step on the Gantt board, based on the routing of the article — the production and post-processing steps, with the usable resources and cycle times for each step. The module is the web successor of the legacy desktop VB.NET planner application (GyártásTervezésProjekt).
The system also has a twin module, Project-based planning. The two use the same Gantt engine (navigation, dragging/stretching blocks, locking, Batch, Weekly plan export), but their permissions, data and module-specific functions are completely separate: Project-based planning has a Projects panel on the left, Production planning has an Orders panel; Project-based planning has project fields, Production planning has article and order fields, Processing and Data totals. This document can be read on its own, without knowing Project-based planning — it also describes the shared parts.
Order
One ERP order: the article number reference, the quantity and the other data defined by the admin. It enters the system manually or by Excel import.
Article + routing
The master data of the article number and the production/post-processing steps: for each step the usable resources and their cycle times (sec/piece).
Processing
Scheduling an order step by step on the Gantt board, on the resources highlighted by the system (marked in green), with blocks sized by quantity.
Block
One strip of the Gantt board: work planned on a given resource for a period (or an exclusion, maintenance, etc.).
02 · Access and permissions
Access to the module is decided by a separate role-based permission system (RBAC), maintained on the Admin → Permissions tab. The permissions of Production planning are mirror images of the permissions of Project-based planning, but completely independent of them — a permission in one module gives nothing in the other. Three main permissions and four supplementary permissions belong to it:
| Permission key | What it allows |
|---|---|
view planning.production.view |
Opening the module and viewing the Gantt board (also Data totals, Weekly plan and Shift totals export, and opening the Articles panel). Editing controls (insert bar, “+”, dragging, saving, Batch, Processing) do not appear. The Orders panel is not visible — this permission alone does not reveal order data. |
edit planning.production.edit |
All view permissions, plus adding blocks (Custom bar), moving and deleting them, “Edit block”, Batch and starting/running Processing. It opens the module even without the view permission. It can read the Orders panel and the Articles panel but cannot write them (cannot add/edit orders, articles or routing, cannot import). |
data manager planning.production.data.manage |
A separate level: writing orders, articles and routing (“+ New order”, editing, Excel import, “New article”, routing editing) and managing the field definitions (Block/Article/Order fields) — independent of the Gantt editing permission. This permission opens the Gantt for reading only. |
order viewer planning.order.view |
Only viewing the Orders panel without Gantt editing (meaningful together with the Gantt view permission). |
sensitive — block planning.production.block.sensitive |
Seeing/editing the value of custom block fields marked “sensitive” (Edit block panel, text shown on the block). Without it a 🔒 is shown in place of the value. |
sensitive — article planning.product.sensitive |
The same for “sensitive” article fields (Articles panel). |
sensitive — order planning.order.sensitive |
The same for “sensitive” order fields (Orders panel, Excel import). |
An intentional consequence of the permission model: whoever edits the Gantt (plans, starts Processing) cannot modify the master data (order, article, routing) — that is kept by a separate role, the data manager. Of course both roles can be assigned to one user. The base admin user of the module sees and can do everything even without these permissions.
If the user has none of the main permissions (view / edit / data manager), the module shows the message “You do not have permission for this module” and loads no data. Permissions can be assigned to roles (Admin → Permissions: creating a role, permission matrix, user assignment); the roles of a user add up.
03 · Screen layout
The Production planning view is divided, from top to bottom and from left to right, into the following main areas:
Date navigation
A full-width bar at the very top: week stepping, date picker, Export menu, Weeks/Resolution, Refresh, Articles, field definitions (gear).
Orders panel
A resizable column on the left: Orders list + Order details sub-grid. Only for those with the order read permission.
Insert bar
The horizontal bar above the Gantt: for “Custom” blocks and for Processing. Only with the edit permission.
Processing bar
Only during an active Processing: the order, the current step and the “Finish” button.
Gantt board
The main area on the right: resource rows, time grid with shift/daily totals, blocks, the “now” line.
Approval control
Top left corner: the Instant save switch + the ✓ / ✕ confirmation button pair.
Mobile / tablet view
On screens narrower than 1024 px (phone, iPad) the Orders panel starts hidden and the Gantt gets the full width. With the “Orders ▸” button that appears in the date navigation bar it can be pulled out as an overlay sidebar, and pressing the button again (“Orders ✕”) closes it. The side editing panels take the full width on a narrow screen, and below 1500 px the insert bar starts collapsed and can be opened with a header button.
04 · Orders panel
The left panel manages the orders — this is the starting point of the daily work in Production planning: Processing starts from here, and the scheduled blocks link back to it. It is divided into two vertically resizable parts one below the other: the Orders list and the Order details sub-grid. The panel is visible only to those who can read orders (editor, data manager or order viewer, see chapter 2).
An order has no fixed fields — every field (type, label, required, role, appearance in the list/filter) is defined by the admin on the “Order fields” tab (chapter 11). Therefore the column and field names below are examples from a typical setup; planning needs at least one article number reference and one quantity field.
Orders list
A tabular, sortable and filterable list. By clicking on the header, any column can be sorted (clicking again reverses the direction). The columns are the order fields the admin has set to “shown in list”, in the order of the definition; for a “sensitive” field, without the proper permission, a 🔒 is shown in place of the cell.
In the first column of the row, without a header, there are status icons and the Processing button:
| Icon | Meaning |
|---|---|
| ▶ (play) | Start Processing for this order (visible only with the edit permission). Grey/disabled if the article of the order has no routing — the tooltip says so. |
| ⚠ yellow triangle | The article of the order has no routing yet — Processing cannot be started until you set it up on the Articles panel (chapter 5). |
| ✓ green check mark | The order already has a scheduled block on the Gantt board. |
| ⚠ red, blinking triangle | The order is only partly scheduled (at least one step is still missing quantity). When you click it, the Gantt jumps straight to the incomplete production block (see chapter 9). |
Next to the article number reference column, a pencil icon (data manager only) opens the editor of the article directly — without loading the whole Articles list. The Edit button at the end of the row (data manager only) opens the editing panel of the order; double-clicking the row does the same. A single click on a row selects the order (this fills the Order details sub-grid).
Search and filtering
- Search field — searches in the value of any field of the order (case-insensitive), and in the title of the order (the value of the article number reference, or “#identifier” if there is none).
- Funnel icon — opens/closes the filter card (closed by default; if the filtering differs from the default, a small dot marks the icon). On the card every order field marked “filterable” gets its own filter, with a short label in the grid: for list / multi-list / Yes-No / user types a dropdown of the values that actually occur, for text fields (short text, long text, article number reference) a free “contains…” search field. The “Reset filter” button clears all of them. If no field is marked filterable, the card says so and tells you where to switch it on.
New order / Editing an order
The “+ New order” button (in the header of the panel) and editing a row open the same side panel — only with the data manager permission. The header of the panel and the bottom button row (Save · Cancel) are fixed, and the content scrolls between them. The fields appear according to the definitions in two framed cards (Basic data / Details), with an input element suited to their type; missing required fields give an error message on Save, listing them.
- The value of the article number reference field is the text of the article number (the input offers the known article numbers as you type). If no such article exists yet, the system automatically creates an article on saving — without routing (that has to be added afterwards on the Articles panel), and if the order has a filled “name” field, with its value as the initial Name of the article.
- The field(s) marked as import key together identify the order. If the submitted key values match those of another existing order, the save is rejected with an error message — the system does not create a duplicate.
- After saving, the server recalculates the “incomplete” mark of the order (the quantity or the article may have changed), and the icons of the list and the blocks of the Gantt are refreshed.
Excel import (ERP order file)
The upload icon in the header of the panel (data manager only) opens a collapsible “Excel import” card. After choosing an .xlsx file the system shows a preview, and writes to the database only on the “Start import” button.
- Choose file… — the system reads the file in the browser.
- Column matching. If any cell of row 1 matches the label of an order field (in any of its language versions), the file has a header, and every field is mapped primarily by the header match; where there is no match, it falls back to the Excel column number (from 1) set on the field. If row 1 matches nothing, there is no header — every field is taken only by column number, with data from row 1. The preview states which mode it recognised, how many rows it found, and which fields are left out (they have neither a header match nor a column number).
- Start import. It sends the rows in packages of 200, with a progress indicator (“Importing… n / N rows”).
- Result: “Import done: X new, Y updated, Z faulty rows”; the faulty rows (the first 20) are listed with row number and reason. Faulty rows do not undo the successful ones.
- Matching with existing orders (upsert): the fields marked as “import key” together form the identifier key of the order (one is enough, several can be marked; it is enough if at least one key value is filled in). An order with a matching key is updated, otherwise a new one is created. If the same key appears several times in the file, the last row wins.
- The Hungarian YYYY.MM.DD. format and several other common text date formats are recognised and converted by the system; an unrecognisable date is an error of the row.
- For an unknown article number — as with manual saving — the article is created automatically (without routing).
- After the import the “incomplete order” marks are recalculated.
Order details sub-grid
Below the list, with a draggable green divider, appears the list of the blocks already scheduled for the selected order — independent of the date window, so even an item months later is visible if it is not in the currently visible weeks of the Gantt. By default the list and the details get a 2/3 : 1/3 share of the panel height (until the user drags the divider by hand — after that their decision stays). Columns:
| Column | Content |
|---|---|
| Step | the sequence number of the routing step, next to it — if given in the routing of the article — the name of the step (“2 — Painting”) |
| Resource | the name of the resource |
| Start | the start of the block, in the compact “yy.mm.dd hh:mm” format |
| Article number | the article number of the block |
| Quantity | the own piece count of the block — for a block split in two, the proportional part on each half, not the full quantity of the order |
| Duration (hours) | the length of the block in hours |
Clicking a row automatically scrolls the Gantt board to the right date and resource row, the block is selected (the bottom row of the insert bar shows the data of the block), and the border of the block flashes for a moment. The list refreshes automatically on every block insert, move or deletion.
Panel resizing
Two draggable dividers are available: a horizontal one between the Orders list and the Order details, and a vertical one between the whole left panel and the Gantt board — with a minimum size limit on both sides.
05 · Articles and routing
The Articles panel manages the article number master data and the routing — how an article can be produced: in which steps, on which resources for each step and with what cycle time. This is how Processing knows what to schedule and where. The panel is opened by the “Articles” button of the top toolbar (with the view or the data manager permission); writing (new article, editing, routing, saving) is available only with the data manager permission.
Article list
A panel on the right, with a search field (by identifier, name or the value of any field). Per row: identifier — name, an inactive article with an “inactive” mark, and the “Edit” button. At the bottom “+ New article” and “Close”. The Gantt “Refresh” button reloads the Articles and the Orders panels as well.
New article / Editing an article
| Part | Content |
|---|---|
| Identifier* | the article number (system field; the label can be renamed) — required |
| Name* | the text name of the article (system field) — required. On the block and in the Processing bar it helps you see “text, not numbers” |
| Active article | checkbox; an inactive article gets an “inactive” label in the list |
| Basic data / Details | the custom article fields defined by the admin (chapter 11), with an input element by type; a “sensitive” field is not visible without the permission |
| Routing | the editor of the steps, see below |
Routing editor
A routing consists of any number of ordered steps: step 1 is production, the others are post-processing (“post-processing 2” etc.) — the order gives the meaning, there is no separate type field. Each step is a nested card:
- Name — the text name of the step (e.g. “Painting”); it appears in the Processing bar, in the banner and in the Step column of Order details. If empty, the step appears only by its sequence number.
- Packaging quantity — a number stored with the step (currently stored data only; planning does not use it).
- Resources — any number of rows: Resource (dropdown) and Cycle time (sec/piece). The same step can therefore be carried out on several resources, at different speeds; Processing highlights these resources. “+ Add resource”, and a “×” per row to delete.
- “+ Add step” and “Delete step” per step.
On saving, the whole routing is rewritten (in one call, the order is the one you see on the screen). A half-filled resource row (only the resource OR only the cycle time) gives an error message — fill in both, or delete the row. After the routing is modified, the system recalculates the “incomplete” mark of all orders referring to the article concerned (because of a new step an earlier complete order can become incomplete), and the blocks of the Gantt are refreshed.
How an article comes into being: an article can be created on the Articles panel (“+ New article”), when an order is saved manually, or during its Excel import (for an unknown article number, without routing). The “Custom” block insert (chapter 8) does not create an article. Processing can be started only for an article that has a routing.
07 · The Gantt board and the blocks
Resource rows
Each row belongs to a resource — only those appear that the admin has switched on for Production planning on the Resources tab, in the configured order (see chapter 16). The label of the row shows the name of the resource (bold) and its code, and at its left edge — if the admin has given it an identifying colour — a coloured strip. For a locked resource a padlock icon stands before the name (chapter 13). With the edit permission the label also has a “+” button, which opens the insert for that resource; during an active Processing a gently pulsing green arrow on the resources of the current step shows where “+” can be clicked.
Resource filter
The first field of the insert bar is a funnel icon: clicking it opens a floating list of all resources, with checkboxes and a “Select all / none” switch. The rows of resources without a tick disappear from the Gantt (the data is not reloaded, only the display narrows); a dot on the icon shows when not everything is visible. It can be used by hand at any time — and when Processing starts it automatically narrows to the resources of the routing of the order, and Finish restores the full view (the screen then stays at the resource used last, it does not jump away).
Time grid
The header follows the company's 8-hour shift blocks (06:00–14:00 shift I, 14:00–22:00 shift II, 22:00–06:00 shift III). Above each shift you see the date (YYYY.MM.DD. weekday), the name of the shift and the hour labels/fine grid matching the set resolution; if there is a field marked for Data totals, the header also shows the totals row (chapter 12). The current real time appears as a red vertical line. By dragging with the mouse on the empty background of the grid, the board can be panned horizontally and vertically — this does not start any block operation.
Block types and colour coding
In Production planning a block belongs to one of the following categories; the legend above the Gantt shows all eight types. The type is decided on the “Custom” bar by the selected Operation, and for Processing blocks it is always “Production”.
| Type | Colour | When it is created |
|---|---|---|
| Production | #3E965B (green) | the blocks of Processing; on the “Custom” bar the production-type Operations (e.g. Custom, Sample cavity) |
| Tool | #207BD7 | tool-type Operation |
| Exclusion | #5A4E4E | Exclusion, Planned stop, Public holiday, Other-type Operation, the Batch panel, and the Changeover block of Processing |
| Machine breakdown | #D72020 | Machine breakdown Operation |
| Maintenance | #F29E3B | Planned maintenance Operation |
| Tool trial | #207BD7 | Tool trial Operation (the same blue as Tool) |
| Leave | #D72020 | Leave-type Operation (the same red as Machine breakdown) |
| Other | #96563E | other category |
Which type an Operation gives is set item by item (type, fixed duration, automatic Operation component) by the “GyartasProcess” (Operation) group of Admin → Master data lists — see chapter 16.
The border of every block type is a darkened version of its own fill colour; fixed blocks also get a thin inner ring, showing that they cannot be moved (chapter 10). The legend adds two more, pulsing patterns when such a block is among the loaded ones: “Missing required block field” (amber) and “Partly scheduled order” (red).
Block text and tooltip
The text visible on the block is not a fixed layout, but comes from the “Shown on the block” switches the admin has turned on in the Block fields (chapter 11): the values of the fields switched on — system fields first, then custom fields, in the order of the field list — next to each other, separated by a | sign (e.g. C718-00033 | 92 pcs | 4.5 hours). A field with an empty value is left out. Initially only the Article number is shown on the block.
If the block is too narrow, the text is cut off; the full content is always available by hovering the mouse over the block (tooltip: “Label: value” line by line, without truncation), or by clicking the block, in the bottom row of the insert bar.
Selecting and deleting a block
Clicking a block selects it, and the red “now” line + the Start field of the insert bar jump to the end of the block — with Ctrl + click to the beginning of the block. In this way the next item can be added directly joined to the end of an existing block (on movable blocks the click is interpreted as “not a drag”, see chapter 10).
The data of the selected block appear in the bottom row of the insert bar in one line: every system field with the block's own value (regardless of the “Shown on the block” switch — this is the way to the text cut off on a narrow block), followed by the custom fields switched on in the form “Label: value”, separated by |. At the start of the row — for an order-linked block, with the edit permission, if there is no active Processing — a ▶ button opens the Processing of the order (chapter 9); at the end of the row are the bin (delete) and ✕ (deselect).
In the bottom right corner of the block (if wide enough) there is also a separate bin icon, and on a partly scheduled (red) block a separate ▶ “resume” button. The bin opens a confirmation window — deletion is immediate, there is no “undo”. Opening it first tries to lock the resource concerned (chapter 13). After deleting an order-linked block the server recalculates the “incomplete” mark of the order (if the quantity of a step is missing because of the removed block, the order turns red).
Double-clicking a block opens the “Edit block” panel (chapter 11).
08 · Adding a block — the “Custom” quick insert bar
A horizontal bar above the Gantt is used to add blocks (with the edit permission). It has two modes on the same bar: “Custom” (this chapter — a simple duration block) and Processing (chapter 9 — an order-based block sized by quantity). After the bar appears its height does not change; if no target resource is selected, an informational text says that you first have to choose a target with the “+” button of a resource.
| Field | Behaviour |
|---|---|
| Resource filter (funnel) | filtering the Gantt rows, see chapter 7 |
| Operation | dropdown (source: Admin → Master data lists, “GyartasProcess” group); the choice automatically sets the type of the block, whether it is fixed in time, and — for certain operations — the Operation component field too |
| Operation component | free text (the “article number” of the saved block) — editable only if the selected Operation asks for a manual name; inactive without an Operation, or for an Operation that fills it in automatically |
| Start | exact date+time field — fine-tuning is done on the Gantt by dragging/Ctrl+click (see below) |
| Duration | hours and minutes field at the same time, kept in sync with each other |
| Batch · Data totals | two buttons at the end of the row (chapter 14 and chapter 12) |
| Row 2 — block fields | if there are active custom block fields for the block type of the selected Operation, a second row appears below the bar: the required fields (with a yellow warning triangle — without filling them in, “+” does not insert) and the supplementary fields of the “Details” section that do not belong to the “Basic data” section (optional). Non-required fields of the “Basic data” section belong on the “Edit block” panel. On a smaller screen (below ≈1500 px) the bar starts collapsed and can be opened with a header button. |
A “Custom” block is purely duration-based: it has no piece count, cycle time, OEE % or changeover. If you want a speed-based (quantity × cycle time) block, an order + Processing is for that. A “Custom” insert does not create an article and is not linked to an order.
Fixed blocks and collisions
A block is “fixed” if the selected Operation prescribes it (Admin → Master data lists, not a separate checkbox). A fixed block can never be dragged, and is marked with a thin inner frame. Two fixed blocks cannot overlap — the system rejects such an insert with an error message. If the start of a movable block would fall inside a fixed block, the insert also gives an error (the start has to be put at the end of the fixed block — clicking that block is the easiest, see chapter 7); when dragging an already saved block, however, the system arranges things automatically around the fixed blocks (chapter 10).
Ghost block positioning
A live, semi-transparent preview of the block to be inserted (the “ghost block”) always appears on the row of the target resource, according to the current value of the Start/Duration fields:
- By grabbing and dragging the body of the block, the whole block can be positioned.
- With the handles on the left/right edge of the block the duration can be stretched — the right edge moves the end, the left edge moves the start (the other end stays in place).
- Labels updated live in the middle and at the two edges of the block show the exact start time, the end and the full duration.
- Holding Ctrl while dragging gives magnetic snapping: the block “snaps” to the nearest round 10 minutes, or on the same resource to the start/end of an existing block if it is close enough. Without Ctrl the movement is free, with 1-minute precision.
Ctrl+click quick repeat
In Production planning, clicking the “+” button of a resource with Ctrl inserts without a panel, immediately, a duration-based copy of the block last inserted from the bar on that resource (with the same type, Operation component, start and duration). This shortcut is disabled if there is an active required block field for that block type (there is nowhere to ask for it — an error message tells you), and it does not work during an active Processing either. The operation locks in the usual way (chapter 13).
Approval and Instant save
In the top left corner of the Gantt a switch + ✓ / ✕ button pair controls the final saving of inserts and block moves:
Switch off (default)
Positioning the ghost block only prepares the insert — to save it you have to click the ✓ button. ✕ discards the ghost block without saving.
Switch on
Choosing the target resource with the “+” button, or dragging a block, saves the block immediately, without a separate ✓.
The switch starts in the off (safe) state on every page load. During Processing the switch is disabled and off — every insert waits for ✓ — and on Finish it returns to its earlier state.
09 · Processing — scheduling an order step by step
Processing is the central function of the module: you schedule the steps of the routing of an order (article + quantity) on the Gantt, step by step. The system guides you throughout: it shows which resources you can click, calculates the size of the block from the quantity and the cycle time, and keeps track of how much is still left. Available only with the edit permission (planning.production.edit).
Prerequisites
- The order has an article number reference and a quantity (the role of the fields is set by the admin, see chapter 11).
- The article has a routing (chapter 5) — without it the ▶ button is disabled and the order gets a yellow triangle.
Starting
There are three entry points, all starting the same process:
- the ▶ button in the row of the Orders list;
- the ▶ button in the data row of the selected, order-linked block (in the bottom row of the insert bar) — even if the order is already completely scheduled (in that case it serves to find/modify the steps of the order);
- the ▶ “resume” button on the red, partly scheduled block.
A Processing started from a block also selects the order in the Orders list and sets the search field to the most specific identifier of the order (import key, or the article number if there is none), so the list narrows to it and the Order details are visible immediately. Only one Processing can be active at a time.
On starting, the system:
- loads the routing of the article and, from the already scheduled blocks of the order (step number + block quantity), calculates the covered quantity per step — so Processing can be interrupted and continued later (even by another user): it starts at the first step not yet fully covered;
- narrows the resource filter to all resources of the routing (the other rows disappear);
- locks every resource of the routing at once, until the end of the session (chapter 13);
- switches off and disables the Instant save switch (every insert waits for ✓);
- shows the Processing bar, and a green pulsing arrow on the row label of the resources of the current step.
The Processing bar and the insert bar in Processing mode
A bar above the Gantt shows the current state:
Processing | 1 / 2 steps — Painting | C718-00033 — Name | 92 pcs
— that is: the sequence number of the current step / the total number of steps, the name of the step (if given), the article number and name, the quantity of the order. If the lock of a resource is held by someone else, “waiting for N resources” appears next to it (see below). On the right is the Finish button.
The insert bar then switches to the Processing fields:
| Field | Behaviour |
|---|---|
| Operation component | read-only — the article number of the order |
| Name | read-only — the name of the order (if there is a name field); long text is cut with “…”, the full text in the tooltip |
| Step | read-only — “2. / 3 — Painting” |
| Quantity | editable. Its default value and upper limit is the remaining quantity of the step (order total minus the sum of the blocks already scheduled for this step, possibly distributed over several resources); the tooltip shows both numbers. If you reduce it, the step can be split across several resources |
| Start | the usual date+time field (can be fine-tuned on the Gantt by dragging/Ctrl) |
| OEE % | between 1–100; the duration of the block grows in proportion (50 % → twice as long). The browser remembers the last value used, even after a page refresh; 100 by default |
| Changeover (minutes) | ≥ 0. If not empty, a separate “changeover” block is created before the production. It is kept only for the current session (0 after a refresh) |
| Row 2 | the required and “Details” section block fields valid for the “Production” type, as on the “Custom” bar (chapter 8) |
The Operation, Duration, Batch and Data totals buttons are not visible in this mode. The length of the block is quantity × cycle time (sec/piece) × (100 / OEE %), rounded to the minute — the size of the ghost block follows this live.
Inserting step by step
- Click the “+” button on a resource with a green pulsing arrow. If you click a resource that does not belong to the current step, you get an immediate error message (“No step can be carried out on this resource at the moment — only the resource(s) marked as flashing accept the current step”), and no ghost block is created.
- Set the Quantity, the Start, the OEE % and — if needed — the Changeover; fill in any required block fields. The ghost block appears with the calculated length and can be positioned by dragging/stretching (chapter 8). With a changeover the ghost block stands at the place of the actual production (Start + Changeover), so you can see where it falls.
- Press the ✓ button (top left corner). The system creates the changeover block (if there was one) and the production block in one transaction.
- Continuing. If the step became completely covered (the scheduled sum reaches the quantity of the order), Processing moves on to the next step: the resources belonging to it start pulsing. If only partly (you reduced the Quantity), the same step remains current, with the remaining quantity — with another “+” you can continue on another (or the same) resource.
- The Finish button, when you are done (or want to interrupt).
What does the resulting block get? The type of the block is “Production”, its article number is the article number of the order, its name is the name of the order, its quantity is the scheduled piece count (“Block piece count”), and it also stores the total quantity of the order (“Total order quantity” — for a split step too, the quantity of the whole order). The order and step number, the OEE % and the changeover are put on it. The fields of the order that are marked “copied to the block” — today these are the import key fields, for example the order number or the Manufacturing order number — are also automatically put into the custom fields of the block (chapter 11). The server protects the quantity: if what is already scheduled for the step + the new quantity would exceed that of the order, the save gives an error (“the scheduled quantity would exceed the quantity of the order”) — the interface itself limits to the remainder, so this can occur only with simultaneous editing by several users.
Splitting a step across several resources
If the quantity of a step is not done by one resource: reduce the Quantity field to the part you want, save (✓), then with another “+” on another resource continue with the remaining quantity (the default value of the field is automatically the remainder). The sum of the blocks scheduled for one step will be the quantity of the order. The Quantity column of Order details shows the own part of each block, and the “Total order quantity” field of the block shows the whole order.
Finish and the “incomplete order” mark
The Finish button immediately releases all the resource locks held (there is no “cool-down time”), restores the resource filter (the view stays at the resource used last), the Instant save switch to its earlier state, and closes the bar. The server then evaluates whether every step of the order is completely scheduled:
- if yes, the order is done — a green check mark in the list;
- if not, the order is incomplete: its production block pulses red on the Gantt (if step 1 has no block, the blocks of the smallest remaining step), the legend shows the “Partly scheduled order” pattern, a red blinking triangle appears in the Orders list (clicking it makes the Gantt jump to the block), and a ▶ “resume” button stands on the block.
The server keeps the mark up to date live, based on quantity: it recalculates on Finish, on deleting a block, on saving the routing (because of a new step a complete order can become incomplete), and on saving an order and on Excel import (the quantity or the article may change — an order with a reduced quantity thus becomes “complete”). While a new block is being inserted the mark can only disappear, it never starts pulsing. For resuming, the ▶ button restarts Processing at the first step of the order not yet completely covered.
10 · Moving existing blocks
An already saved, non-fixed block can be moved by grabbing and dragging it directly by its body within the same resource row (it cannot be moved to another resource by dragging) — during the drag it gets a dashed border. Starting the drag first tries to lock the resource (chapter 13). While there is a ghost block or another pending move, movable blocks cannot be dragged (clicking still works then: the Start jumps to the end/beginning of the block).
- Left-hand limit — it cannot be pushed before the end of the directly preceding block that is also not fixed.
- If the moved block would collide with a fixed block, the system automatically splits/relocates the non-fixed blocks concerned around the fixed block — the fixed block never moves. The piece count of a split production block is divided in proportion to the duration between the two parts (the “Total order quantity” stays unchanged on both), and the custom fields of the two parts are shared (chapter 11).
- There is no client-side limit to the right — the non-fixed blocks behind it are shifted away automatically if necessary.
Confirming a move uses the same Instant save switch and ✓/✕ button pair as inserting (chapter 8) — with the switch off, the dropped position only “parks” until you confirm or discard it. While a ghost block or the move of another block is pending, a third operation cannot be started.
Already scheduled (non-fixed) blocks can also be dragged during Processing, as long as there is no open ghost block — the session's locks are in force on all routing resources, and the Instant save switch is off, so the move waits for ✓.
11 · Custom fields — Block, Article and Order fields
Production planning allows admin-defined fields on three data areas: on the Gantt blocks, on the articles and on the orders. The same definition system and editing interface belongs to them, only the scope and some role markers differ. Managing the definitions requires the data manager permission.
Field definition manager
It is opened by the gear icon of the top toolbar (a second click closes it). It has three tabs: Block fields, Article fields, Order fields. On every field: create, edit, switch off (“Deactivate” — the recorded values are kept, the field only disappears from the interface), reactivate, and Move up / Move down buttons for the order. Switched-off fields stand in a separate “Inactive fields” group.
Field types
| Type | What it stores / how it behaves |
|---|---|
| Text | single-line free text (default upper limit 1000 characters, if the admin does not specify otherwise) |
| Long text | multi-line free text (default upper limit 50 000 characters) |
| Number | numeric value; “Integer only” can be enforced |
| Date | calendar date |
| List / Multi-list | one, or several, values from a master data group (Admin → Master data lists) |
| Yes/No | checkbox |
| Currency | an amount, formatted in the company currency (Admin → Global settings) |
| User | a PC user selectable from a dropdown |
| Cost table | a two-column item list (name + amount), extendable with the “+ Row” button; at the top a derived “Total” row (not stored, always calculated from the items); the maximum number of items, negative amounts and integer amounts can be configured. In the list/export/block text only the Total is shown |
| Product reference | only for an Order field — the text of the article number; an unknown article number is created by the system on saving |
Per-field switches
| Switch | Effect |
|---|---|
| Labels | per language (Hungarian required, English optional); the interface shows the active language |
| Key | technical identifier (lower case, digits, underscore; starts with a letter); cannot be changed after saving |
| Required | if left empty, saving gives an error message; marked by a yellow triangle in row 2 of the insert bar |
| Sensitive | the value is visible and editable only with the matching “sensitive” permission (block / article / order, chapter 2); without it 🔒 |
| Section / Order | Basic data or Details card in the editor; the order is the position within the section |
| Shown in the list | for an Article/Order field, a separate column in the list |
| Filterable | for an Article/Order field, its own filter on the filter card of the list |
| Default value | virtual: it appears pre-filled in the editor of a new record, and is not written back into existing records |
The type of a field cannot be changed once values have been recorded with it. The type/position/required status of system fields is fixed; only the label (and for Block fields the display switches) can be edited.
Block fields
The data of the Gantt blocks. The scope of the definition: which block types it applies to (8 checkboxes; empty = all). A field belongs to the “table” of its module — the manager of Production planning sees and creates only the fields of Production planning, and the table cannot be changed after creation; they are completely independent of the fields of Project-based planning.
System fields (the block's own data)
At the top of the Block fields tab a “System fields” group contains the seven native data items of the block. They cannot be deleted; only their label, their “Shown on the block” switch and their order can be edited:
| System field | Value from the block |
|---|---|
| Article number | the article number / Operation component of the block (shown on the block by default) |
| Name | the name of the order (for Processing blocks) |
| Block piece count | the block's own quantity — divided in proportion to time when split |
| Total order quantity | the whole quantity of the order (the same on both parts when split) |
| Block duration | the length of the block in hours |
| Start | the start of the block |
| End | the end of the block |
“Shown on the block” and “Totals”
- Shown on the block — a switch on every field (system and custom): the values of the fields switched on form the text of the Gantt block (chapter 7) in the order of the field list: system fields first, then custom fields.
- Totals — on a number/currency type custom field and on the number-like system fields (Block piece count, Total order quantity, Block duration): None / Maximum / Summed — the source of Data totals (chapter 12).
- The “Shown in Project details / Export” switches specific to Project-based planning do not exist in Production planning.
Where you fill in the block fields
- On the insert bar, when adding — the required (and “Details” section) fields in row 2 of the bar (chapters 8 and 9). Without filling in a required field “+” does not insert. The exception is the required cost table: it does not fit on the bar, the block is created pulsing, and it has to be filled in on the panel. The values filled in at insertion go onto the resulting block — in Processing together with the values of the “copied to the block” order fields (import keys, manufacturing order number).
- On the “Edit block” panel — by double-clicking a block (with the edit permission) a panel opens on the right. At the top a read-only “Block” card (Resource, Article number / name, Name, Block piece count, Total order quantity, End (duration), Type, Start), below it the custom fields by section, at the very bottom the Log card (Recorded by / Modified by — name + timestamp). While the panel is open, the resource of the block is locked (chapter 13). If a required field is not filled in, Save gives an error message.
The Ctrl+click quick repeat (chapter 8) and Batch (chapter 14) cannot ask for fields — if there is an active required block field for the block type, these two shortcuts are disabled with an explanatory message.
Pulsing (incomplete) block and sibling blocks
- If a block lacks a required custom field, the strip pulses slowly in amber (legend: “Missing required block field”) — this also occurs if the admin makes a field required afterwards. It only signals, it forbids nothing; it can be filled in on the panel. (It is different from the red pulsing of Processing, which signals an incompletely scheduled order.)
- A custom field value belongs not to the individual strip but to the “origin group” of the block: the sibling pieces of a split block always carry the same value, on every resource (the header of the panel states this); a newly added independent block has its own set of values, even if its article number is the same. If a required field of a group is missing, all blocks of the group pulse, and filling in any one of them clears them all.
Article fields
The data of the article master. There are two system fields: Identifier (the article number) and Name — both required, only their label can be edited. Every other article field is custom, with the switches above; in the editor of the Articles panel it appears by section and order, and the search runs through them too.
Order fields
An order has no fixed fields — everything is defined by the admin. For planning, therefore, role markers have to be set on the fields:
| Marker | Meaning and rule |
|---|---|
| This field carries the article number reference | a “Product reference” type field; at most one active. Processing knows from it which article's routing to use |
| This field is the ordered quantity (for block sizing) | “Number”/“Currency” type; at most one active. Processing calculates the block size and the remainder per step from it |
| This field is the name of the order | text type; at most one active. It appears in the Processing bar and goes into the Name system field of the block; when a new article is created automatically, it is also the initial Name of the article |
| This field is the manufacturing order number | text type; at most one active; switching it on also switches on the “copied to the block” marker. The Weekly plan Excel export shows it next to the article number |
| Key for import matching (upsert) | the fields marked as import key identify the order together (one is enough, several can be marked); manual saving and Excel import both recognise an existing order by it. Switching it on also switches on the “copied to the block” marker (the article number reference is an exception: it lives in the block's own article number) |
| Excel column number | the position-based fallback of the import if the file has no header matching the label of the field (from 1) |
| Also copied to the resulting production block | the value of the order field also goes into a custom field of the block created by Processing. For this the system automatically creates a linked block field among the Block fields |
The other order fields use the common switches (required, sensitive, section, in list, filterable, default value, etc.).
12 · Data totals
Data totals shows in the Gantt header, per shift and per day, the summed value of the number/currency block fields (e.g. headcount, piece count, hours) designated by the admin, totalled over the resources — so that the load is visible at once while planning. It can be used with the read permission too.
Setting up
The admin designates the field on the Block fields tab: the “Totals” selector has three positions None / Maximum / Summed. It can be chosen on a number/currency type custom field, and on the number-like system fields (Block piece count, Total order quantity, Block duration). If no field is designated, the size of the header does not change.
What the system calculates
- Nothing is stored — every button press is a fresh calculation from the plan valid at the moment of the request; the plan can change quickly, so the result is not kept anywhere.
- The real overlap in time of the block and the shift counts (not the day of the start): the overlap between the company's 8-hour shift windows (06:00–14:00, 14:00–22:00, 22:00–06:00) and the block affects every shift concerned.
- “Maximum” — the block gives its full value to every shift concerned; within one resource in a shift the largest value counts (e.g. headcount: it does not add up if two blocks follow each other).
- “Summed” — the value of the block is distributed over the shifts concerned in proportion to time; within the resource the parts of the blocks of the shift add up (e.g. piece count).
- Across resources it is always added up. The daily total is the sum of the three shifts of the day — always a simple sum, regardless of the max/summed marking of the field.
- Only the Production planning blocks matching the field's own block-type filter count; a “sensitive” field appears only with the matching permission. Both physical halves of a split block count the shared custom field value according to their own duration — the possibility of double counting is a deliberately accepted simplification.
Appearance in the header
In the header of every shift cell there is a single row of fixed height with the Label: value pairs of the fields, separated by | (the height of the header is constant, it does not jump); in the day row — in the cell of the first (I.) shift of the day — the daily total. Where a field has no data, it is left out.
Running it
- The “Data totals” button (“Calculating…” while it works) — for editors in the insert bar next to Batch, for read-only users in the main toolbar; it calculates for the visible weeks (the server's safety limit is at most 20 weeks).
- It runs once automatically when the module is opened; after that only on a button press (stepping weeks and changing the resolution do not restart it).
- If in your own browser you start an operation that implies a data change (start of a block drag, “+” new block, Batch, starting Processing, opening “Edit block”), the values change to “—” (the labels stay) — signalling that they are out of date; a new button press refreshes them. Editing by other users does not clear the values in your view (there is no live notification).
- The data can also be downloaded in table form: Export → Shift totals (Excel) (chapter 15).
13 · Edit locking
Since several users can work in Production planning at the same time, resource locking prevents two people from editing the same resource simultaneously, so that one person's work does not get “lost” or overwritten. In Production planning there is no project locking (the order, article and field editors do not lock); the locking of Gantt blocks is the same live mechanism as in Project-based planning — and Processing complements it with a multi-resource variant.
Resource locking
It works per resource (not for the whole module) — while someone edits one resource, the others can be used freely, independently of it. The system tries to lock the given resource automatically before it becomes editable — there is no separate button for it:
- you open an insert (ghost block) on it with the “+” button of the resource row;
- you click the “+” button with Ctrl (quick repeat);
- you start dragging an existing, non-fixed block on that resource;
- you open the confirmation window for deleting an existing block;
- by double-clicking a block you open the “Edit block” panel (the lock lives until the panel is closed);
- you start an execution in the Batch panel — it tries to lock every selected resource one by one, in turn (chapter 14);
- you start Processing — it locks all resources of the routing at once (see below).
If the resource is already taken at that moment — someone else has a lock on it that has not yet expired — the operation does not even start: the panel does not open, the drag/delete does not begin, and a floating error bar shows who is working on the resource. This is therefore an actual prohibition, not just a warning.
Visual indication
On the label of the row of a locked resource, before its name, a padlock icon appears — hovering over it, the tooltip shows who holds the lock:
| Indication | Meaning |
|---|---|
| Padlock, “You are editing” | the lock runs in your own session |
| Padlock, “Locked: <name>” | another user (their display name, or e-mail address if there is none) is editing the resource |
| No padlock | the resource is free |
The indication spreads live, between browsers, without a refresh; if the live spreading were to be missed, a background re-check restores the state (once a minute with a healthy live connection, more often on error; paused in a hidden browser tab).
How long a lock lasts
A lock is valid for at most 60 seconds — while the insert panel is open, or the move of a block is waiting “parked”, the system renews it every 20 seconds.
| Event | Fate of the lock |
|---|---|
| Panel open / block move in progress | renewed automatically every 20 seconds |
| Explicit Cancel / closing the panel | released immediately |
| Failed save (error) | released immediately |
| Successful save | not released immediately — it still protects for a short “cool-down time” (for the remaining validity of up to 60 seconds) |
| Closing the browser / crash | released by itself after 60 seconds at the latest |
| Starting to edit another resource | the lock on the previous one is released — one resource at a time (except Processing, see below) |
| You click a row with your own lock but do not move | the lock/cool-down is not interrupted |
Locking during Processing
Processing touches several resources in one session, so it does not use the “one lock at a time” rule, but a separate multi-resource manager:
- on starting it locks all resources of the routing at once, until the end of the session;
- soft retry: if a resource is already locked by someone else, Processing does not fail and does not block — it can continue without a lock on the other resources, the bar states “waiting for N resources”, and in the background it retries every 5 seconds until it becomes free (then it locks it for itself at once);
- the system continuously renews the locks held during the session; if a lock were to disappear from the database in the meantime (e.g. because of a Cancel or a click on a block), it comes back within 5 seconds — the interface does not show a false “locked” state;
- Finish releases all locks immediately (there is no cool-down time).
Client clock deviation warning
The expiry calculation of the locks follows the server's clock, not the system time of your own computer. If the clock of your browser runs fast or slow by a significant amount (more than 10 seconds) compared to the server, a non-blocking yellow warning bar appears at the top of the module, which also points to the Windows clock settings path. Locking works correctly, according to the server's time — this is only an indication.
Who can start a lock
Only those with the planning.production.edit permission start locks — they are the only ones who can edit the Gantt. Users with view-only and data manager permissions do not lock, but they see the locks held by others.
The lock is a layer protecting the user experience, not the final data protection — on the actual save the server guarantees, with a per-resource database lock independent of it, that two saves can never write over each other in conflict, even if the indication above were momentarily out of date. There is not yet an admin-side “emergency release” button in the interface.
14 · Batch — bulk assignment of operations
The Batch panel is for when the same order-independent event (e.g. Planned maintenance, Public holiday, Planned stop, Exclusion, Changeover) has to be added to several resources at once — there is no need to repeat the Custom insert one by one. Only with the edit permission; it opens with the “Batch” button of the insert bar (the button is not visible during an active Processing), and it starts from a fresh, empty state every time it is opened.
| Field | Content |
|---|---|
| Resources | a checkbox list of the resources switched on for Production planning, with an “All” header checkbox and “Select all” / “Clear all” quick buttons |
| Operation type | dropdown (Admin → Master data lists, “batchOperationGyartas” group — its initial items: exclusion, changeover, Planned maintenance, Public holiday, Planned stop). The chosen item gives the type of the block; if no block type is set for an item, an error message says that the admin has to be told |
| Start / End time | one common time window for all selected resources; its initial value comes from the current Start/Duration state of the insert bar; the end must be after the start |
Execution — the system inserts the block resource by resource, one after the other, with the same rules (collision handling, splitting around fixed blocks) as a standalone insert; Batch is always order-independent (it does not create an article, it is not linked to an order). Before each insert it tries to lock the resource (chapter 13) — if someone else is editing it, that resource is left out and appears in the error list. The failure of one resource does not stop the others; at the end the panel summarises (“Successful on N resources. Failed: …”), and the blocks already inserted are not undone by the error. The run always releases the locks immediately at the end (there is no 60-second cool-down).
Batch cannot ask for custom block fields: if there is an active required block field for the operation type, Batch is disabled for that type with an explanatory message — in that case it has to be entered on the “Custom” bar (by filling in the fields). Starting a run puts the Data totals values into an “out of date” state (chapter 12).
15 · Excel exports
Both exports are generated on the client side, directly in the browser, and downloaded immediately. The column headers and day names are made in the current language of the interface (Hungarian or English). The free-text cells of the exported files are protected against formula injection (an apostrophe is put before text beginning with “=”, “+”, “−”, “@”, so that Excel does not interpret it as a formula). The two exports are available from the Export ▾ menu.
Weekly plan (Excel)
A weekly grid optimised for printing: rows = resources (in the Gantt order set by the admin, see chapter 16), columns = the 7 calendar days of the week (Monday to Sunday — from the week of the main date picker, independently of the Gantt “Weeks” setting —, with date and name in the header). Every block starting on the given resource on that day appears in one cell, one below the other; the grid shows every block type (exclusions, maintenance etc. as well). In Production planning a block looks like this in the cell:
| Kind of block | Cell rows |
|---|---|
| Block scheduled from an order | row 1: start | duration | quantity | name of the routing step (the step number if there is no name) row 2: article number | Manufacturing order number (“—” if there is no order number) row 3: the name of the order (if there is one) |
| Custom block (without an order: Changeover, Batch exclusion, maintenance etc.) | row 1: start | duration row 2: the Operation component (e.g. “Changeover”) |
The source of the Manufacturing order number is the order field the admin has marked with the “manufacturing order number” marker, and which is also copied to the block (chapter 11). The step name comes from the routing of the article. It can be exported without the order read permission too: in that case the step name is resolved from the article number of the block.
It is prepared for printing: landscape orientation, A4, the 8 columns always fitted to the width of one sheet (the rows may continue over any number of sheets), centred, with a 24-point bold header (“{year}. / week {week} WEEKLY PLAN”) and a footer at the bottom right (the exact time of generation + “PlanitExo”). The file name: Weekly plan - YYYY-MM-DD.xlsx (the Monday of the week).
Shift totals (Excel)
Data totals in table form: it runs the same fresh calculation as the header display, for the visible weeks. One row is one shift: Date · Shift (shift I / II / III) · one column for every field marked for Data totals; after the third shift of the day a bold “Daily total” row (always a simple sum). Currency type fields are formatted in the company currency. The data is valid at the moment of the query, it is not stored. File name: Shift totals - YYYY-MM-DD.xlsx.
16 · Related admin settings
The daily operation of Production planning is set by several admin tabs — they are not parts of the module, but they directly influence its behaviour. (Managing the field definitions is available in the module itself, with the gear, see chapter 11.)
Resources
On the Admin → Resources tab, a separate “Visible: Production planning” switch per resource decides whether the resource appears on the Production planning Gantt board (the visibility for Project-based planning and OEE is a separate switch). The identifying colour of the resource (the strip at the left edge of the row) can also be set here.
Master data lists
On the Admin → Master data lists tab the “GyartasProcess” group (the Operation list of the Custom bar — per item: block type, fixed duration, automatic Operation component filling), the “batchOperationGyartas” group (the operation types of Batch) and the selectable values of “list”/“multi-list” type fields can be edited.
Global settings
Admin → Global settings: the default language of the application and the company currency (ISO 4217, 3 letters) — the latter is needed for the uniform display of “currency” and “cost table” fields and for the currency formatting of Data totals/Excel.
Permissions
See chapter 2 — roles, permission matrix, user assignment (the “sensitive” permissions are also assigned here).
Gantt order
At the bottom of the Resources tab there is a section separately per module (“Order — Production planning Gantt” and “Order — Project-based planning Gantt”) listing the resources currently visible on that module. Every row can be moved with the ↑ / ↓ buttons — exactly this order appears from top to bottom on the Gantt board, and the “Weekly plan” export follows it too (chapter 15). The order of the two modules is independent.
17 · Quick reference — mouse and keyboard
| Action | Effect |
|---|---|
| Click on an order row | selects the order (the source of Order details) |
| Double-click on an order row | opens the order editing panel (data manager) |
| ▶ on the order row | starts Processing (edit permission; routing needed) |
| Red triangle on the order row | the Gantt jumps to the partly scheduled production block |
| Pencil next to the article number | the editor of the article directly (data manager) |
| Click on an Order details row | the Gantt jumps to the block and selects it |
| Click on a Gantt block | the red line/Start jumps to the end of the block + selects the block |
| Ctrl + click on a block | the red line/Start jumps to the beginning of the block |
| Double-click on a Gantt block | “Edit block” panel (locks the resource) |
| ▶ in the row of the selected block / on the red block | Processing (resume) for the order of the block |
| “+” button on a resource row | ghost block for the Custom bar — or for the current step of Processing (locks) |
| Ctrl + “+” button | a duration-based copy of the last inserted block immediately (locks; disabled with a required block field and during Processing) |
| Dragging the body of the ghost block | positioning, rounded to a 1-minute grid |
| Ctrl + dragging the ghost block | magnetic snapping to a round 10 minutes / to the edge of an existing block |
| Dragging the edge handle of the ghost block | stretching the duration |
| Dragging the body of an existing (non-fixed) block | moving within the same resource (locks; with Instant save off it waits for ✓) |
| Bin icon on a block / in the row of the selected block | delete confirmation (locks) |
| Funnel icon on the insert bar | resource filter (which rows are visible) |
| Dragging on the empty Gantt background | panning the board |
| Click on a header column (Orders list) | sorting by the column, clicking again reverses the direction |
| Data totals button | fresh shift/daily totals in the header |
| Finish (Processing bar) | closing Processing, releasing the locks, evaluating the “incomplete” mark |
18 · Screenshot index
The document contains 36 screenshots, each embedded in the file. The images were made on the fictitious test data of the developer moon environment, in the dark theme, in Hungarian; the image showing the clock deviation bar is taken from the Project-based planning document.
| File name | Chapter | Content |
|---|---|---|
| gy-modul-belepesi-pont.png | 01 | hamburger menu with the “Production planning” item above the Home page |
| gy-admin-jogosultsagok.png | 02 | Admin → Permissions, expanded role |
| gy-teljes-kepernyo-attekintes.png | 03 | full screen: Orders panel + insert bar + Gantt |
| gy-mobil-rendelesek-panel.png | 03 | narrow (mobile) view: closed and pulled-out Orders panel |
| gy-rendelesek-lista-szuro.png | 04 | Orders list with the filter opened |
| gy-rendeles-szerkesztese-panel.png | 04 | Edit order panel |
| gy-excel-import-kartya.png | 04 | Excel import card: preview and result |
| gy-rendeles-reszletek-algrid.png | 04 | Order details with a three-step order |
| gy-cikkek-lista.png | 05 | Articles panel list, with search, with an “inactive” article |
| gy-cikk-szerkesztese-routing.png | 05 | Edit article + Routing editor |
| gy-datum-nav-export-menu.png | 06 | top bar with the Export menu opened |
| gy-blokk-tipusok-legenda.png | 07 | block types, legend and block tooltip |
| gy-blokk-kijelolve-torles.png | 07 | summary row of the selected block + delete confirmation |
| gy-egyedi-sav-szellemblokk.png | 08 | filled-in Custom bar + ghost block while dragging |
| gy-jovahagyas-toggle-gombok.png | 08 | top left corner: switch + ✓ / ✕ button pair |
| gy-feldolgozas-banner-villogo-sor.png | 09 | Processing bar, filtered Gantt, green arrow |
| gy-feldolgozas-sav.png | 09 | Processing while inserting, ghost block |
| gy-raallas-szellemblokk.png | 09 | ghost block while entering a changeover |
| gy-feldolgozas-megosztott-lepes.png | 09 | one step on two resources + sub-grid |
| gy-hianyos-rendeles-piros.png | 09 | incomplete order: red block, ▶ resume, red triangle |
| gy-mezo-definicio-blokk.png | 11 | Field definitions — Block fields tab |
| gy-mezo-definicio-rendeles.png | 11 | Field definitions — Order fields tab |
| gy-mezo-definicio-cikk.png | 11 | Field definitions — Article fields tab |
| gy-blokk-szerkesztese-panel.png | 11 | Edit block panel |
| gy-adatosszesites-fejlec.png | 12 | Gantt header with Data totals filled in |
| gy-zarolas-ikon-tooltip.png | 13 | padlock icon and tooltip of locked rows |
| gy-zarolas-hibauzenet.png | 13 | floating “Locked” error bar |
| gy-feldolgozas-varakozas.png | 13 | Processing with a “waiting” label |
| gy-oraeltere-figyelmeztetes.png | 13 | yellow clock deviation bar (taken from the Project-based planning document) |
| gy-batch-panel.png | 14 | Batch panel filled in |
| gy-excel-heti-terv.png | 15 | Weekly plan in Excel |
| gy-excel-muszak-osszesito.png | 15 | Shift totals in Excel |
| gy-admin-eroforras-lathatosag.png | 16 | Admin → Resources: visibility and colour |
| gy-admin-sorrend-gyartas.png | 16 | Order — Production planning Gantt |
| gy-admin-torzsadat-gyartas-muvelet.png | 16 | Master data list: GyartasProcess |
| gy-admin-globalis-beallitasok.png | 16 | Global settings tab |