System overview · every function

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.

ModuleProduction planning
AccessHamburger menu → Production planning
InterfacePC / office + mobile/tablet
PermissionsRBAC — role-based
LanguageHungarian / English
Data sourceOrders + Articles + Gantt blocks

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.).

The hamburger menu of the top navigation opened: the “Production planning” item below the Theme and Language selectors, next to the other modules. In the background the “Production planning” card of the Home page.
The hamburger menu of the top navigation opened: the “Production planning” item below the Theme and Language selectors, next to the other modules. In the background the “Production planning” card of the Home page.

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 keyWhat 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.

Admin → Permissions: a role expanded. In the Production planning group there are separate rows for viewing and editing the Gantt, for the Data manager, for viewing Orders and for sensitive data (block, article, order fields); below it the separate permissions of Project-based planning.
Admin → Permissions: a role expanded. In the Production planning group there are separate rows for viewing and editing the Gantt, for the Data manager, for viewing Orders and for sensitive data (block, article, order fields); below it the separate permissions of Project-based planning.

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.

The complete Production planning screen: on the left the Orders panel with the list and the “Order details” sub-grid, at the top right the “Custom insert” bar, below it the legend and the Gantt board with one row per resource, with production and exclusion blocks; shift and daily totals in the header.
The complete Production planning screen: on the left the Orders panel with the list and the “Order details” sub-grid, at the top right the “Custom insert” bar, below it the legend and the Gantt board with one row per resource, with production and exclusion blocks; shift and daily totals in the header.

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.

The narrow (mobile) view in two states: on the left the panel closed with the “Orders ▸” button, on the right the Orders panel pulled out over the Gantt (the button then changes to ✕).
The narrow (mobile) view in two states: on the left the panel closed with the “Orders ▸” button, on the right the Orders panel pulled out over the Gantt (the button then changes to ✕).

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:

IconMeaning
▶ (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 triangleThe 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 markThe order already has a scheduled block on the Gantt board.
⚠ red, blinking triangleThe 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.
The Orders list in the narrow view, with the filter card opened: text “contains…” filters and dropdowns (here the Raw material list opened), the “Reset filter” button; the status icons at the start of the rows, the details of the selected order at the bottom.
The Orders list in the narrow view, with the filter card opened: text “contains…” filters and dropdowns (here the Raw material list opened), the “Reset filter” button; the status icons at the start of the rows, the details of the selected order at the bottom.

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.
The “Edit order” panel: Basic data (ERP order number — labelled “SAP order number” in the demo data —, Manufacturing order number, Article number, Name, Quantity — the * marks a required field) and a Details card (Requested deadline, Customer, Raw material), with Save / Cancel at the bottom.
The “Edit order” panel: Basic data (ERP order number — labelled “SAP order number” in the demo data —, Manufacturing order number, Article number, Name, Quantity — the * marks a required field) and a Details card (Requested deadline, Customer, Raw material), with Save / Cancel at the bottom.

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.

  1. Choose file… — the system reads the file in the browser.
  2. 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).
  3. Start import. It sends the rows in packages of 200, with a progress indicator (“Importing… n / N rows”).
  4. 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.
The two states of the Excel import card: at the top the preview of the selected file (“Header row recognised … 100 rows found for import”, Start import / Cancel), at the bottom the result (“Import done: 0 new, 100 updated, 0 faulty rows”).
The two states of the Excel import card: at the top the preview of the selected file (“Header row recognised … 100 rows found for import”, Start import / Cancel), at the bottom the result (“Import done: 0 new, 100 updated, 0 faulty rows”).

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:

ColumnContent
Stepthe sequence number of the routing step, next to it — if given in the routing of the article — the name of the step (“2 — Painting”)
Resourcethe name of the resource
Startthe start of the block, in the compact “yy.mm.dd hh:mm” format
Article numberthe article number of the block
Quantitythe 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.

“Order details” for a three-step order: 1 — Injection moulding (two blocks, at two times), 2 — CNC milling, 3 — Packaging; columns: Step, Resource, Start, Article number, Quantity, Duration (hours).
“Order details” for a three-step order: 1 — Injection moulding (two blocks, at two times), 2 — CNC milling, 3 — Packaging; columns: Step, Resource, Start, Article number, Quantity, Duration (hours).

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

PartContent
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 articlecheckbox; an inactive article gets an “inactive” label in the list
Basic data / Detailsthe custom article fields defined by the admin (chapter 11), with an input element by type; a “sensitive” field is not visible without the permission
Routingthe 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.

The “Articles” panel: search, per row “Identifier — Name” with the badges of the article fields (Tool number, Cavity count), an article marked “inactive”; at the bottom + New article / Close.
The “Articles” panel: search, per row “Identifier — Name” with the badges of the article fields (Tool number, Cavity count), an article marked “inactive”; at the bottom + New article / Close.
“Edit article”: Identifier, Name, Active article and the Details fields; below it the Routing with three steps — step 1 Production (Injection moulding), then post-processing 1 and 2 (Drilling-tapping, Assembly) — with several resources, cycle times and packaging quantities per step.
“Edit article”: Identifier, Name, Active article and the Details fields; below it the Routing with three steps — step 1 Production (Injection moulding), then post-processing 1 and 2 (Drilling-tapping, Assembly) — with several resources, cycle times and packaging quantities per step.

06 · View and navigation

The full-width top bar — above both the Orders panel and the Gantt board — contains the view controls of the module.

Date stepping

  • ← Previous week / Next week → — jumps back/forward by one week
  • Today button — jumps to today
  • Date picker (calendar field) — jumps to any day, even months earlier/later

Any navigation starts three things at once: the Gantt switches to the week of the selected day, actually scrolls horizontally to the day, and the red “now” line as well as the Start field of the insert bar are set to 06:00 in the morning of the selected day (the week always starts on Monday, with a 06:00 shift boundary).

Weeks and resolution

SettingOptionsEffect
Weeks1 / 2 / 5how many weeks the Gantt shows at once (moving between them with horizontal scrolling)
Resolution1 minute / 5 minutes / 15 minutes / Hourhow fine the time grid and the precision of block dragging are

The system remembers both settings and the current date per browser, separately per module (the settings of Production planning and Project-based planning do not mix).

Refresh, Articles, field definitions

  • Refresh — reloads the visible blocks of the Gantt and the contents of the Orders and Articles panels to the latest database state.
  • Articles — opens/closes the Articles panel (chapter 5).
  • Gear — opens/closes the Field definition manager (only with the data manager permission; chapter 11).
  • Data totals — for read-only users here in the main toolbar; for editors in the insert bar, next to Batch (chapter 12).

Export menu

The “Export ▾” dropdown offers two download options (their detailed content is in chapter 15):

  • Weekly plan (Excel) — a weekly grid prepared for printing
  • Shift totals (Excel) — the Data totals data in table form
The top bar: Orders ▸ button, date navigation, the opened Export dropdown (Weekly plan, Shift totals), on the right the Weeks / Resolution / Refresh / Articles buttons and the gear; below it the collapsed “Custom insert” bar and the legend.
The top bar: Orders ▸ button, date navigation, the opened Export dropdown (Weekly plan, Shift totals), on the right the Weeks / Resolution / Refresh / Articles buttons and the gear; below it the collapsed “Custom insert” bar and the legend.

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”.

TypeColourWhen it is created
Production#3E965B (green)the blocks of Processing; on the “Custom” bar the production-type Operations (e.g. Custom, Sample cavity)
Tool#207BD7tool-type Operation
Exclusion#5A4E4EExclusion, Planned stop, Public holiday, Other-type Operation, the Batch panel, and the Changeover block of Processing
Machine breakdown#D72020Machine breakdown Operation
Maintenance#F29E3BPlanned maintenance Operation
Tool trial#207BD7Tool trial Operation (the same blue as Tool)
Leave#D72020Leave-type Operation (the same red as Machine breakdown)
Other#96563Eother 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.

A section of the Gantt with the legend (at the top the eight block types and the “Partly scheduled order” pattern): green production blocks, changeover and planned stop (exclusion), planned maintenance, technical fault (machine breakdown) and tool trial blocks. At the bottom right the tooltip of a production block shows the fields line by line (Article number, Name, Block piece count, Total order quantity, Block duration, Start, End, Manufacturing order number) and the help for moving.
A section of the Gantt with the legend (at the top the eight block types and the “Partly scheduled order” pattern): green production blocks, changeover and planned stop (exclusion), planned maintenance, technical fault (machine breakdown) and tool trial blocks. At the bottom right the tooltip of a production block shows the fields line by line (Article number, Name, Block piece count, Total order quantity, Block duration, Start, End, Manufacturing order number) and the help for moving.

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).

At the top the summary row of the selected block (data, bin, ✕); below it the “Delete block” confirmation window (Delete / Cancel). The row of a locked resource shows a padlock.
At the top the summary row of the selected block (data, bin, ✕); below it the “Delete block” confirmation window (Delete / Cancel). The row of a locked resource shows a padlock.

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.

FieldBehaviour
Resource filter (funnel)filtering the Gantt rows, see chapter 7
Operationdropdown (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 componentfree 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
Startexact date+time field — fine-tuning is done on the Gantt by dragging/Ctrl+click (see below)
Durationhours and minutes field at the same time, kept in sync with each other
Batch · Data totalstwo buttons at the end of the row (chapter 14 and chapter 12)
Row 2 — block fieldsif 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).

A filled-in “Custom” insert bar — Operation, Operation component, Start, Duration (hours and minutes), Batch, Data totals — below it row 2 with the block fields (the required “Raw material” marked with a yellow triangle). On the Gantt the ghost block while dragging, with the start and end time, the duration and the help tooltip.
A filled-in “Custom” insert bar — Operation, Operation component, Start, Duration (hours and minutes), Batch, Data totals — below it row 2 with the block fields (the required “Raw material” marked with a yellow triangle). On the Gantt the ghost block while dragging, with the start and end time, the duration and the help tooltip.

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.

The top left corner of the Gantt: the switch and the ✓ (approve, green) / ✕ (discard, red) button pair in the active state.
The top left corner of the Gantt: the switch and the ✓ (approve, green) / ✕ (discard, red) button pair in the active 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:

  1. 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;
  2. narrows the resource filter to all resources of the routing (the other rows disappear);
  3. locks every resource of the routing at once, until the end of the session (chapter 13);
  4. switches off and disables the Instant save switch (every insert waits for ✓);
  5. 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:

FieldBehaviour
Operation componentread-only — the article number of the order
Nameread-only — the name of the order (if there is a name field); long text is cut with “…”, the full text in the tooltip
Stepread-only — “2. / 3 — Painting”
Quantityeditable. 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
Startthe 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 2the 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

  1. 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.
  2. 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.
  3. Press the ✓ button (top left corner). The system creates the changeover block (if there was one) and the production block in one transaction.
  4. 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.
  5. 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.

Active Processing: the insert bar in Processing mode (read-only Operation component, Name and Step; editable Quantity, Start, OEE %, Changeover), below it the green bar: “Processing | 1 / 3 steps — Injection moulding | article number — name | 13800 pcs” and the Finish button. The Gantt shows only the resources of the routing; in the rows of the current step a green arrow pulses.
Active Processing: the insert bar in Processing mode (read-only Operation component, Name and Step; editable Quantity, Start, OEE %, Changeover), below it the green bar: “Processing | 1 / 3 steps — Injection moulding | article number — name | 13800 pcs” and the Finish button. The Gantt shows only the resources of the routing; in the rows of the current step a green arrow pulses.
Processing while inserting: on the resource selected with the “+” button (FR-23) a pale green ghost block appears from the Start time (07:40), its length calculated from the Quantity and the OEE %. The blocks with an orange border warn of a missing required block field.
Processing while inserting: on the resource selected with the “+” button (FR-23) a pale green ghost block appears from the Start time (07:40), its length calculated from the Quantity and the OEE %. The blocks with an orange border warn of a missing required block field.
While entering a changeover (120 minutes): the ghost block starts after the changeover, at 10:38, its length is 40 hours 53 minutes; on the right edge a grey “changeover” block can be seen in front of a previously saved production block.
While entering a changeover (120 minutes): the ghost block starts after the changeover, at 10:38, its length is 40 hours 53 minutes; on the right edge a grey “changeover” block can be seen in front of a previously saved production block.

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.

A step split: the two rows of Order details belonging to the same step (1 — Injection moulding, 4000 pcs), on the right the two production blocks on two resources and the ghost block on a third. The Quantity field of the Processing bar stands at the remaining 10 500 pcs (18 500 − 2 × 4000); the order is marked with a red triangle in the list until it is completely scheduled.
A step split: the two rows of Order details belonging to the same step (1 — Injection moulding, 4000 pcs), on the right the two production blocks on two resources and the ghost block on a third. The Quantity field of the Processing bar stands at the remaining 10 500 pcs (18 500 − 2 × 4000); the order is marked with a red triangle in the list until it is completely scheduled.

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.

A partly scheduled order: the production blocks with a red border (with the ▶ resume button), in the legend the “Partly scheduled order” pattern, and in the Orders list the red triangle at the same order (tooltip: “Partly scheduled order — click: jump to the production block”).
A partly scheduled order: the production blocks with a red border (with the ▶ resume button), in the legend the “Partly scheduled order” pattern, and in the Orders list the red triangle at the same order (tooltip: “Partly scheduled order — click: jump to the production block”).

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

TypeWhat it stores / how it behaves
Textsingle-line free text (default upper limit 1000 characters, if the admin does not specify otherwise)
Long textmulti-line free text (default upper limit 50 000 characters)
Numbernumeric value; “Integer only” can be enforced
Datecalendar date
List / Multi-listone, or several, values from a master data group (Admin → Master data lists)
Yes/Nocheckbox
Currencyan amount, formatted in the company currency (Admin → Global settings)
Usera PC user selectable from a dropdown
Cost tablea 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 referenceonly for an Order field — the text of the article number; an unknown article number is created by the system on saving

Per-field switches

SwitchEffect
Labelsper language (Hungarian required, English optional); the interface shows the active language
Keytechnical identifier (lower case, digits, underscore; starts with a letter); cannot be changed after saving
Requiredif left empty, saving gives an error message; marked by a yellow triangle in row 2 of the insert bar
Sensitivethe value is visible and editable only with the matching “sensitive” permission (block / article / order, chapter 2); without it 🔒
Section / OrderBasic data or Details card in the editor; the order is the position within the section
Shown in the listfor an Article/Order field, a separate column in the list
Filterablefor an Article/Order field, its own filter on the filter card of the list
Default valuevirtual: 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 fieldValue from the block
Article numberthe article number / Operation component of the block (shown on the block by default)
Namethe name of the order (for Processing blocks)
Block piece countthe block's own quantity — divided in proportion to time when split
Total order quantitythe whole quantity of the order (the same on both parts when split)
Block durationthe length of the block in hours
Startthe start of the block
Endthe 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

  1. 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).
  2. 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:

MarkerMeaning and rule
This field carries the article number referencea “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 ordertext 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 numbertext 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 numberthe 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 blockthe 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.).

Field definitions → Block fields: the seven System fields (Article number, Name, Block piece count, Total order quantity, Block duration, Start, End) with “on block” and “Summed” badges, up/down arrows; below them the custom fields by section (Basic data, Details) with “Production”, “on block”, “Maximum” badges.
Field definitions → Block fields: the seven System fields (Article number, Name, Block piece count, Total order quantity, Block duration, Start, End) with “on block” and “Summed” badges, up/down arrows; below them the custom fields by section (Basic data, Details) with “Production”, “on block”, “Maximum” badges.
Order fields: ERP order number (labelled “SAP order number” in the demo data), Manufacturing order number, Article number, Name, Quantity (Basic data), Requested deadline, Customer, Raw material (Details), with the role and property badges (required, in list, filterable, import key, copied to block, manufacturing order number, article number reference, name, quantity).
Order fields: ERP order number (labelled “SAP order number” in the demo data), Manufacturing order number, Article number, Name, Quantity (Basic data), Requested deadline, Customer, Raw material (Details), with the role and property badges (required, in list, filterable, import key, copied to block, manufacturing order number, article number reference, name, quantity).
Article fields: three system fields (Article number, Name, Active article — only the label can be edited) and two custom fields (Tool number, Cavity count) in the Details section.
Article fields: three system fields (Article number, Name, Active article — only the label can be edited) and two custom fields (Tool number, Cavity count) in the Details section.
“Edit block”: the read-only Block card (resource, article number, name, type, block piece count, total order quantity, start, end/duration); below it the custom fields valid for the split sibling blocks (Basic data, Details), at the bottom the Log card.
“Edit block”: the read-only Block card (resource, article number, name, type, block piece count, total order quantity, start, end/duration); below it the custom fields valid for the split sibling blocks (Basic data, Details), at the bottom the Log card.

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).
The Gantt header with Data totals filled in: in the day row (above the first shift) the daily total, in every shift cell the “Block piece count: … | Headcount: …” row.
The Gantt header with Data totals filled in: in the day row (above the first shift) the daily total, in every shift cell the “Block piece count: … | Headcount: …” row.

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:

IndicationMeaning
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 padlockthe 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).

Locked resource rows: the colour of the padlock shows the locker (turquoise: your own lock, yellow: another user's); hovering shows the tooltip “Locked: PlanitExo User”. The ghost block of the second row is your own insert in progress.
Locked resource rows: the colour of the padlock shows the locker (turquoise: your own lock, yellow: another user's); hovering shows the tooltip “Locked: PlanitExo User”. The ghost block of the second row is your own insert in progress.
Attempting an operation on a locked resource: a floating red error bar at the top of the Gantt — “Locked: PlanitExo User — wait until they finish.” (this text for block operations; for the “+” button: “… — try again a little later.”).
Attempting an operation on a locked resource: a floating red error bar at the top of the Gantt — “Locked: PlanitExo User — wait until they finish.” (this text for block operations; for the “+” button: “… — try again a little later.”).

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.

EventFate of the lock
Panel open / block move in progressrenewed automatically every 20 seconds
Explicit Cancel / closing the panelreleased immediately
Failed save (error)released immediately
Successful savenot released immediately — it still protects for a short “cool-down time” (for the remaining validity of up to 60 seconds)
Closing the browser / crashreleased by itself after 60 seconds at the latest
Starting to edit another resourcethe 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 movethe 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).
Processing while waiting: the yellow “waiting for 1 resource” label of the bar, the green arrow in the rows of the step, the padlock icons of the resources (yellow: locked by someone else, turquoise: our own).
Processing while waiting: the yellow “waiting for 1 resource” label of the bar, the green arrow in the rows of the step, the padlock icons of the resources (yellow: locked by someone else, turquoise: our own).

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.

The yellow clock deviation warning bar at the top of the module: “The clock of your computer is about 126 sec behind the server — set the system time (Windows: Settings → Time & language → ‘Set time automatically’).” The image is taken from the Project-based planning document; the same bar appears in Production planning.
The yellow clock deviation warning bar at the top of the module: “The clock of your computer is about 126 sec behind the server — set the system time (Windows: Settings → Time & language → ‘Set time automatically’).” The image is taken from the Project-based planning document; the same bar appears in Production planning.

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.

FieldContent
Resourcesa checkbox list of the resources switched on for Production planning, with an “All” header checkbox and “Select all” / “Clear all” quick buttons
Operation typedropdown (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 timeone 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).

The “Assign operations” (Batch) panel: the selected resources (FR-03, FR-05, FR-07), the Operation type (Planned maintenance) and the Start / End time, at the bottom Execute / Cancel.
The “Assign operations” (Batch) panel: the selected resources (FR-03, FR-05, FR-07), the Operation type (Planned maintenance) and the Start / End time, at the bottom Execute / Cancel.

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 blockCell rows
Block scheduled from an orderrow 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).

The “Weekly plan” Excel export: one row per resource, one column per day; a block scheduled from an order has three rows (start | duration | quantity | step name; article number | Manufacturing order number; name), a Custom block (“changeover”, “Planned maintenance”, “Planned stop”) has two.
The “Weekly plan” Excel export: one row per resource, one column per day; a block scheduled from an order has three rows (start | duration | quantity | step name; article number | Manufacturing order number; name), a Custom block (“changeover”, “Planned maintenance”, “Planned stop”) has two.

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.

The “Shift totals” Excel export: per date and shift row, the totals of the marked fields (Block piece count, Headcount), with a bold “Daily total” row after each day; days without data are empty.
The “Shift totals” Excel export: per date and shift row, the totals of the marked fields (Block piece count, Headcount), with a bold “Daily total” row after each day; days without data are empty.

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).

Admin → Resources: per resource the “Visible:” switches (Production planning, Project-based planning, OEE), the colour picker and the badge of the resource group.
Admin → Resources: per resource the “Visible:” switches (Production planning, Project-based planning, OEE), the colour picker and the badge of the resource group.

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.

“Order — Production planning Gantt”: the resources visible on the Gantt from top to bottom, can be rearranged with the ↑/↓ buttons.
“Order — Production planning Gantt”: the resources visible on the Gantt from top to bottom, can be rearranged with the ↑/↓ buttons.
Admin → Master data lists, “GyartasProcess” (Operation) group: items (Changeover, Tool trial, Sample cavity, Planned stop) with order, Active marker, Fixed/Auto setting and block type.
Admin → Master data lists, “GyartasProcess” (Operation) group: items (Changeover, Tool trial, Sample cavity, Planned stop) with order, Active marker, Fixed/Auto setting and block type.
Admin → Global settings: Default language (fallback) and Company currency, with a Save button.
Admin → Global settings: Default language (fallback) and Company currency, with a Save button.

17 · Quick reference — mouse and keyboard

ActionEffect
Click on an order rowselects the order (the source of Order details)
Double-click on an order rowopens the order editing panel (data manager)
▶ on the order rowstarts Processing (edit permission; routing needed)
Red triangle on the order rowthe Gantt jumps to the partly scheduled production block
Pencil next to the article numberthe editor of the article directly (data manager)
Click on an Order details rowthe Gantt jumps to the block and selects it
Click on a Gantt blockthe red line/Start jumps to the end of the block + selects the block
Ctrl + click on a blockthe 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 blockProcessing (resume) for the order of the block
“+” button on a resource rowghost block for the Custom bar — or for the current step of Processing (locks)
Ctrl + “+” buttona 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 blockpositioning, rounded to a 1-minute grid
Ctrl + dragging the ghost blockmagnetic snapping to a round 10 minutes / to the edge of an existing block
Dragging the edge handle of the ghost blockstretching the duration
Dragging the body of an existing (non-fixed) blockmoving within the same resource (locks; with Instant save off it waits for ✓)
Bin icon on a block / in the row of the selected blockdelete confirmation (locks)
Funnel icon on the insert barresource filter (which rows are visible)
Dragging on the empty Gantt backgroundpanning the board
Click on a header column (Orders list)sorting by the column, clicking again reverses the direction
Data totals buttonfresh 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 nameChapterContent
gy-modul-belepesi-pont.png01hamburger menu with the “Production planning” item above the Home page
gy-admin-jogosultsagok.png02Admin → Permissions, expanded role
gy-teljes-kepernyo-attekintes.png03full screen: Orders panel + insert bar + Gantt
gy-mobil-rendelesek-panel.png03narrow (mobile) view: closed and pulled-out Orders panel
gy-rendelesek-lista-szuro.png04Orders list with the filter opened
gy-rendeles-szerkesztese-panel.png04Edit order panel
gy-excel-import-kartya.png04Excel import card: preview and result
gy-rendeles-reszletek-algrid.png04Order details with a three-step order
gy-cikkek-lista.png05Articles panel list, with search, with an “inactive” article
gy-cikk-szerkesztese-routing.png05Edit article + Routing editor
gy-datum-nav-export-menu.png06top bar with the Export menu opened
gy-blokk-tipusok-legenda.png07block types, legend and block tooltip
gy-blokk-kijelolve-torles.png07summary row of the selected block + delete confirmation
gy-egyedi-sav-szellemblokk.png08filled-in Custom bar + ghost block while dragging
gy-jovahagyas-toggle-gombok.png08top left corner: switch + ✓ / ✕ button pair
gy-feldolgozas-banner-villogo-sor.png09Processing bar, filtered Gantt, green arrow
gy-feldolgozas-sav.png09Processing while inserting, ghost block
gy-raallas-szellemblokk.png09ghost block while entering a changeover
gy-feldolgozas-megosztott-lepes.png09one step on two resources + sub-grid
gy-hianyos-rendeles-piros.png09incomplete order: red block, ▶ resume, red triangle
gy-mezo-definicio-blokk.png11Field definitions — Block fields tab
gy-mezo-definicio-rendeles.png11Field definitions — Order fields tab
gy-mezo-definicio-cikk.png11Field definitions — Article fields tab
gy-blokk-szerkesztese-panel.png11Edit block panel
gy-adatosszesites-fejlec.png12Gantt header with Data totals filled in
gy-zarolas-ikon-tooltip.png13padlock icon and tooltip of locked rows
gy-zarolas-hibauzenet.png13floating “Locked” error bar
gy-feldolgozas-varakozas.png13Processing with a “waiting” label
gy-oraeltere-figyelmeztetes.png13yellow clock deviation bar (taken from the Project-based planning document)
gy-batch-panel.png14Batch panel filled in
gy-excel-heti-terv.png15Weekly plan in Excel
gy-excel-muszak-osszesito.png15Shift totals in Excel
gy-admin-eroforras-lathatosag.png16Admin → Resources: visibility and colour
gy-admin-sorrend-gyartas.png16Order — Production planning Gantt
gy-admin-torzsadat-gyartas-muvelet.png16Master data list: GyartasProcess
gy-admin-globalis-beallitasok.png16Global settings tab