2020 September Release

PrerequisitesPermanent link for this heading

It is assumed that you have some level of familiarity with the topics outlined in chapter “Customization Options”. Essential information about these topics can be found in the user help:

In some cases customizations require the use of Fabasoft app.ducx expressions. General information about Fabasoft app.ducx expressions can be found here:

The following hints regarding Fabasoft app.ducx expressions may be helpful:

  • Predefined values that can be accessed during the evaluation of an expression are provided in the local scope (this) or global scope (::this). Consult the reference documentation to find out which values are available in these scopes (this document provides a link to the corresponding reference documentation for each expression property).
    Overview: https://help.appducx.fabasoft.com/index.php?topic=doc/Reference-Documentation/index.htm
  • In most cases a scope is either an object or a dictionary (key value pairs).
  • In most cases the keyword this can be omitted. If this is an object this.objname is the same as objname.
  • The software component COOSYSTEM@1.1 can be omitted. COOSYSTEM@1.1:objname is the same as objname.
  • If you want to use the short reference also for other software components than COOSYSTEM@1.1 you can use the %%USING keyword (e.g. %%USING FSCUSERFORMS@1.1001;).
  • If you need to refer to a component object, you must prefix its reference with # (e.g. #objname).
  • To declare your own variables for necessary computations, the temporary scope (@) is available (e.g. @availability = 2).
  • Only properties and actions that are tagged as secure can be used in the expressions described in this document. An overview of secure properties and actions can be found here:

When you use expressions for calculation or validation, it can sometimes be difficult to identify errors in the expressions. To simplify analysis, you can write trace output to the web browser console. To do this, you must go to the context menu of the Teamroom where the object is used, choose “Tools” > “Activate Trace Outputs” and allow trace output.

Call in expressions:

  • cooobj.Trace("string");
  • cooobj.Trace("string", value);


The output is a JSON data record.

  • c
    Context of the call (Teamroom).
  • d
    Current time.
  • s
    Section of the expression (if available).
  • t
    The text to be traced (first parameter of the trace call).
  • u
    Current user.
  • v
    The value to be traced (second parameter of the trace call).