Skip to content

[FIX] Evaluation: support ROW/COLUMN in CF and DV#7856

Open
rrahir wants to merge 3 commits into19.0from
19.0-fix-missing-origin-cell-in-isolated-formula-rar
Open

[FIX] Evaluation: support ROW/COLUMN in CF and DV#7856
rrahir wants to merge 3 commits into19.0from
19.0-fix-missing-origin-cell-in-isolated-formula-rar

Conversation

@rrahir
Copy link
Collaborator

@rrahir rrahir commented Jan 23, 2026

Description:

description of this task, what is implemented and why it is implemented that way.

Task: 5868662

review checklist

  • feature is organized in plugin, or UI components
  • support of duplicate sheet (deep copy)
  • in model/core: ranges are Range object, and can be adapted (adaptRanges)
  • in model/UI: ranges are strings (to show the user)
  • undo-able commands (uses this.history.update)
  • multiuser-able commands (has inverse commands and transformations where needed)
  • new/updated/removed commands are documented
  • exportable in excel
  • translations (_t("qmsdf %s", abc))
  • unit tested
  • clean commented code
  • track breaking changes
  • doc is rebuild (npm run doc)
  • status is correct in Odoo

@robodoo
Copy link
Collaborator

robodoo commented Jan 23, 2026

Pull request status dashboard

Copy link
Contributor

@hokolomopo hokolomopo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👋

@rrahir rrahir changed the title [FIX] Evaluation: supprot ROW/COLUMN in CF and DV [FIX] Evaluation: support ROW/COLUMN in CF and DV Jan 29, 2026
When evaluating an isolated formula (in CF, DV or in some composer
logic, like hovering partial results), we only provide a part of the
evaluation context and do not provide the originCell coordinates. This
means that some functions (i.e. ROW(), COLUMN()) cannot be computed and
therefore used in those contexts.

This revision modifies the evaluator so that it can provide an arbitrary
cell position to the evaluation context to paliate this issue.

Task: 5868662
@rrahir rrahir force-pushed the 19.0-fix-missing-origin-cell-in-isolated-formula-rar branch from a938c9e to e4dd7f8 Compare January 29, 2026 15:44
Currently, one cannot use the functions ROW() or COLUMN() in the formula
of their conditional format because we lack a crucial point, the
'anchor' cell from which those function compute their value.

This revision fixes that situation with some caveat:
- 'single color' CF are properly supported
- 'color scale' CF have a behaviour that might differ from other
  spreadsheets

Note that computing CF thresholds based on relative values seems like a
bad idea to begin with and the results might make sense to some users
but not all of them. This revision suggests a behaviour (so that the
CF actually yields a result) but does not claim to have proper
equivalence with other spreadsheets.

Task: 5868662
Currently, one cannot use the functions ROW() or COLUMN() in the rules
of their data validations. This revision provides the required cell
position to the formula evaluation context to support the evaluation of
those functions.

Task: 5868662
@rrahir rrahir force-pushed the 19.0-fix-missing-origin-cell-in-isolated-formula-rar branch from e4dd7f8 to f74c907 Compare February 4, 2026 16:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants