set_table_date_cell
Set a grid date cell on the active row using the calendar picker via mouse, since masked date editors reject direct text input. Locate the cell on screen and commit the picked date.
Instructions
Set a grid DATE cell to date (DD.MM.YYYY) on the ACTIVE row natively, with the cell located ON SCREEN
(no hardcoded coordinates). A 1C date grid cell rejects text/keystroke SET (masked editor); it is settable only
by MOUSE through the calendar picker. This tool: (1) protocol-activates the cell (the shipped table-cell
write_block — activate+SET, no commit — so the inline date editor and its calendar dropdown button appear),
(2) screenshots and LOCATES the calendar button by template-matching the shipped glyph (ImageMagick
compare -subimage-search via locate_calendar_button), (3) drives the calendar by mouse — click the
dropdown, then the month, then the day — using the popup month-list / day-grid origins DERIVED from the localized
button center (fixed deltas, calendar_month_cell / calendar_day_cell geometry), then commits (Return).
Returns {column, requested_date, localized, button_xy, month_origin, day_origin, status, verified_by, screenshot,
activation_screenshot}. When the button cannot be located it returns status="blocked" and does NOT click
guessed coordinates; status="set" when the pick committed (the calendar closed) and "set_calendar_open"
if the calendar is still visible after the pick.
YEAR is navigated when the target year differs from the cell's CURRENT year (the calendar opens on it): the ‹/›
arrows step the month, so the year uses the « ▼» dropdown (current at the top, current+k below; clicked by
row, chained in steps of 3 for larger forward offsets). The current year = from_year if given, else today
(correct for an EMPTY cell, which opens on today) — pass from_year for a populated cell whose year differs
from today. Backward years (target < current) are not yet supported (the dropdown lists forward only) and return
status="blocked".
VERIFICATION is the SCREENSHOT: a mouse-set date cell has no protocol SET echo (the value enters via the
calendar, not a wire SET) and the in-form value is not protocol-readable without a save, so the active cell
showing the picked date in screenshot is the proof.
REQUIRES an X display with the client laid out by a window manager (matchbox; started here when manage_wm) so
the cell/calendar geometry is stable, plus xdotool (XTEST mouse) and ImageMagick.
CONFIG-AGNOSTIC path — pass open_link (a document's e1cib/data/Документ.X?ref=… ref) to set the date on
ANY real document form's tabular date cell with NO per-form capture (no capture / write_block). The engine
brings the form FOREGROUND, activates the cell ON SCREEN by double-clicking it — located from the date column's
on-screen header column_title (e.g. "Дата", subimage-search; the form descriptor has no pixel bounds) or the
explicit cell_x/cell_y — and reuses the same calendar pick. row_offset (≈ one grid row, 28 px) steps
from the header to the first data row; column is the date column NAME (for the result).
foreground selects how the form is brought to the active tab: "listreplay" (DEFAULT, fixture-FREE,
config-agnostic) replays a genuine cold catalog-list-open sequence retargeted to open_link (no bundled
fixture — works on any config); "fixture" is the legacy primer (the bundled fixture render-push frames +
prime). prime only applies to foreground="fixture".
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | ||
| host | No | 127.0.0.1 | |
| port | No | ||
| prime | No | ||
| table | No | PF_TABLE_ITEMS | |
| cell_x | No | ||
| cell_y | No | ||
| column | No | PF_TABLE_DATE | |
| capture | No | genuine-card90-table-20260617/traffic-selfcontained | |
| display | No | :89 | |
| from_year | No | ||
| manage_wm | No | ||
| open_link | No | ||
| foreground | No | listreplay | |
| row_offset | No | ||
| settle_sec | No | ||
| base_column | No | PF_TABLE_TEXT | |
| column_title | No | ||
| captured_value | No | CELLAA | |
| commit_partner_field | No | PF_EDIT_STRING | |
| commit_partner_value | No | C90CMT |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||