add expression not evaluated in form

create table T { A : Integer };

create operator Op1(B : Boolean) : String
begin
result := ToString(if B then DateTime() else DateTime() - Days(180));
end;

create operator Op2(B : Boolean) : String
begin
if B then raise Error("B!") else result := ToString(Count(T));
end;

Create a form with a source with the expression

TableDee add { false B tags { DAE.IsComputed = "false" } } add { Op1(B) Op1, Op2(B) Op2 }

, and data controls for the three attributes. (I would attach the form I've tested with, but this forum doesn't seem to support neither file attachments nor inlining xml code.) When the source is enabled, it works as expected; the TextBox for Op2 gets a 0. But when I toggle B, only Op1 is re-evaluated -- Op2 is for some reason simply blanked. The Op2 operator isn't called at all.

Op1() is non-deterministic while Op2() is deterministic, but I can't see how that would justify this behaviour. Using modifiers to give both operators the same properties makes no difference either. I have tried various operators, and it seems that it is the reference to a relation variable that causes an operator to be ignored.

Note that this is in 2.1.2711. In 3.0.3602, toggling B fails with this error message (sometimes repeated indefinitely, so I have to kill Dataphoria):

Application:121104 --->
Record not found.
---- Server Context ----
at Alphora.Dataphor.DAE.Client.DataView.PrepareApplicationTransactionServer(Boolean AIsInsert)
at Alphora.Dataphor.DAE.Client.DataView.InternalEdit()
at Alphora.Dataphor.DAE.Client.DataSet.Edit()
at Alphora.Dataphor.DAE.Client.FieldDataLink.Edit()
at Alphora.Dataphor.DAE.Client.Controls.DBCheckBox.OnClick(EventArgs AEventArgs)
at System.Windows.Forms.CheckBox.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)