Whilst I don't understand and of the foreign language text what I think may be wrong is the case of the TRUE and FALSE.
Try changing the True/False assignments to true/false (i.e. remove the capital letter).
I tried to change it, but it did not help. The calculation works if you immediately fill in either the first two listboxes or the checkbox. But for some reason it does not work if you first fill in the "Сервис" field, then clear it, and then put the checkbox. That is, the logic is such that the user fills in either two leafboxes or a checkbox.
I think that this is some kind of bug.
Have you got "Is Calculate on Change" property of each field setup for the window you are using?
Yes, in all three fields, this property is set. The second screenshot shows that the SetMandatory property for the field "_Category1" has the value "False", but still there is an error that it needs to be filled. And, as I wrote above, the problem is only with certain actions.
Maybe try as per standard to return your Value functions at the end of calculation?
static def GetAttributeValue(Resolution):
if Resolution._Category1 is not null or Resolution._ByReason is not null:
return ":SetHidden(_Category1, CategoryValueHidden);:SetHidden(_ByReason, ByReasonValueHidden);:SetMandatory(_Category1, CategoryMandatory);:SetMandatory(_ByReason, ByReasonMandatory);:SetHidden(_CauseNotFound, CauseNotFound);"
Assuming the "if Resolution._CauseNotFound:" is in fact testing a Boolean attribute then I suspect the value is to do with the tri-state default nature of a Boolean; it can be null, true or false (so 3 states). At the start the Boolean is null until you either tick (set "true") or tick and untick again (set "false"). So this "if" statement line when initially testing is when the Boolean is null and thus it automatically goes to the ELSE part; I think you just want the ELSE part to cater for the FALSE state of the checkbox right?
If so make sure the DEFAULT VALUE property of this Boolean attribute is set to FALSE in object designers as I suspect this is the real issue here. NULL checking in BOO calculations is always one to watch!
Yes, I also tried it. The problem is the same.
Yes, the "_CauseNotFound" attribute of type boolean. But I have it in the object designer as mandatory and with a default value of FALSE.