Appearance
Carry-forward fields
A shift's Opening hour meter is the last shift's Closing hour meter. Without help, the operator reads the previous sheet and keys it in again — which is two numbers for one fact, free to disagree, and the disagreement stays invisible until somebody reconciles a month of sheets by hand.
A field marked carry forward starts a new entry off at that earlier value.
Setting one up
On the field, in the form builder. The consuming field names its source: Opening names Closing, the same way a computed field's formula names its own inputs.
Rules the builder enforces:
| Rule | Why |
|---|---|
| Same section only | Row identity does not survive a hop between sections. |
| Rows match by item, never by position | A repeating section's rows reorder as equipment is added and removed. Matching by position would put one machine's closing reading into another's opening — a wrong number that looks entirely plausible. |
| Unlinked repeating sections are not offered | They have no row identity at all. |
| The source must have the same value shape | A unit or reference field cannot be carried. |
| Standard forms only | A dynamic form is one living document, so it has no previous entry to carry from. Mirror fields already do that job there. |
Which entry it carries from
The previous entry, meaning the newest by report date, with the slot breaking ties. That is the period an entry covers, never the time it was typed — so a backdated entry filed today cannot present itself as the most recent.
A picker lets you choose a different one. The default is right almost always; the picker exists for when it is not.
Drafts count as sources. A shift recorded but not yet signed off still holds the reading the next shift opens from. Refusing it would send the operator back to keying the number by hand for as long as the approval takes.
What a carried value is, and is not
It is a starting point, not a link
A carried value is copied once, and editable. Later changes to the source entry do not follow it, and you may overwrite it — the seed saves typing, it does not overrule the person holding the machine.
An edit to a carried value is recorded as such, so a reader can tell the difference between a figure that was carried and one that was corrected.
Carry forward compared with a mirror field
These sit next to each other and are opposites. The last row is the shortest way to remember which is which.
| Mirror (dynamic forms) | Carry forward | |
|---|---|---|
| Source | The latest reading of a monitored parameter | A field on a previous entry of this same form |
| Editable | No — the control is disabled | Yes |
| Liveness | Live; re-syncs on open and on change | Copied once |
| Writes back | Never | Yes, like any other value |
| Needs a linked parameter | Yes | No — it works on fields linked to nothing |
| Form type | Dynamic only | Standard only |
Gaps are warned about
An opening reading carried from three days ago has three days of unrecorded running behind it. The filler says so rather than presenting the figure as if it were yesterday's.
Things that quietly stop it working
A carry-forward configuration can survive a change that makes it impossible:
- the source field was removed
- the source field's type was changed
- the section was unlinked from its tracker group
In each case the field simply stops seeding rather than seeding something wrong. If a field you expected to carry has come up blank, check that its source still exists and still has the same type.
Two more things
- An existing entry is never re-seeded. An entry holds what was recorded for its own period; reopening it does not pull in a newer figure.
- Excel exports carry the seeded values, because the workbook is built from the same controls the screen is.

