Editform

With this XML type we can define the input fields displayed on the edit screen, as well as the relevant rules and business logics. These files are located in the Form directory; the prefix of the file names is Form.

/Form

Root element.

/Form/Caption (String)

The caption of the edit form. Currently it is not displayed on the interface. Its use is necessary for the Effector Studio.

/Form/DataDefinition (String)

It is the DataDefinition of the edit form. It is needed for the filters.

/Form/BusinessObject (String)

It is the name of the business object related to the edit form. It is needed for database operations.

/Form/Rules

Using this setting, we can define edit form-level rules (which may be overridden on ControlGroup and Control levels).

/Form/Rules/Readonly (RuleValueType)

With this setting we can define an edit form-level Readonly rule. This rule will be applicable to all Control-s which do not fall under the scope of the ControlGroup- or Control-level Readonly rule. This is a RuleValueType on which further information can be found in the Rules menu point. It is an optional setting.

/Form/ReportContentChangedOnValueChange (Boolean)

Optional setting. If the value of the node is true and the Cancel button or the X button in the upper right corner of the dialogue box is clicked, the system displays a warning message informing the user that a field has been modified in the given window and inquires whether it should be discarded. The default value is true.

/Form/ControlGroups

This node essentially joins the definitions of the input field groups (ControlGroup) displayed on the interface.

/Form/ControlGroups/ControlGroup

A group of input fields. Typically, a tag and an input field belong to a group, but a group may have a single item or multiple items. Each group must be named using the name attribute.

Example

<ControlGroup name="eventid">
    <Rules>
        <Visible type="Constant" return="boolean" default="false">false</Visible>
    </Rules>
    <Controls>
        <Control>
            <Type>Label</Type>
            <Name>Label_EventID</Name>
            <Caption>EventID</Caption>
        </Control>
        <Control>
            <Type>TextBox</Type>
            <Name>TextBox_EventID</Name>
            <BindingName>EventID</BindingName>
        </Control>
    </Controls>
</ControlGroup>

/Form/ControlGroups/ControlGroup/Rules

It is a collection. Here we can define rules applicable to controls belonging to the same group. Currently the Readonly, Visible, Requiredand WorkflowRequired rules are supported.

/Form/ControlGroups/ControlGroup/Rules/Visible (RuleValueType)

A visibility rule defined for the items of the group.

Example

<ControlGroup name="eventid">
    <Rules>
        <Visible type="Constant" return="boolean" default="false">false</Visible>
        <Readonly type="Constant" return="boolean" default="false">true</Readonly>
    </Rules>
    <Controls>
        <Control>
            <Type>Label</Type>
            <Name>Label_EventID</Name>
            <Caption>EventID</Caption>
        </Control>
        <Control>
            <Type>TextBox</Type>
            <Name>TextBox_EventID</Name>
            <BindingName>EventID</BindingName>
        </Control>
    </Controls>
</ControlGroup>

/Form/ControlGroups/ControlGroup/Rules/Readonly (RuleValueType)

A Readonly rule defined for the items of the group.

Example

<ControlGroup name="eventid">
    <Rules>
        <Visible type="Constant" return="boolean" default="false">false</Visible>
        <Readonly type="Constant" return="boolean" default="false">true</Readonly>
    </Rules>
    <Controls>
        <Control>
            <Type>Label</Type>
            <Name>Label_EventID</Name>
            <Caption>EventID</Caption>
        </Control>
        <Control>
            <Type>TextBox</Type>
            <Name>TextBox_EventID</Name>
            <BindingName>EventID</BindingName>
        </Control>
    </Controls>
</ControlGroup>

/Form/ControlGroups/ControlGroup/Rules/Required (RuleValueType)

A Required rule defined for the items of the group.

Example

<ControlGroup name="name">
    <Rules>
        <Required type="Simple" return="boolean" default="false">'[##Field.Name##]' == ''</Required>
    </Rules>
    <Controls>
        <Control>
            <Type>Label</Type>
            <Name>Label_Name</Name>
            <Caption>Name</Caption>
        </Control>
        <Control>
            <Type>TextBox</Type>
            <Name>TextBox_Name</Name>
            <BindingName>Name</BindingName>
        </Control>
    </Controls>
</ControlGroup>

/Form/ControlGroups/ControlGroup/Rules/WorkflowRequired (RuleValueType)

A special required rule applicable to the items of the group: the validation is carried out only when the “Ready” checkbox is checked on the edit form (that is, if the current event takes part in a workflow, it has to be set ready to run the rule).

Example

<ControlGroup name="hianypotlas">
    <Rules>
        <WorkflowRequired type="Simple" return="boolean" default="true">'[##Field.Hianypotlas##]' == '' || '[##Field.Hianypotlas##]' == '0'</WorkflowRequired>
    </Rules>
    <Controls>
        <Control>
            <Type>Label</Type>
            <Name>Label_Resolve discrepancies</Name>
            <Caption>Resolve discrepancies?</Caption>
        </Control>
        <Control>
            <Type>ComboBox</Type>
            <Name>ComboBox_Resolve discrepancies</Name>
            <BindingName>Resolve discrepancies</BindingName>
            <ComboDefinition>ComboFixedValuesLookup</ComboDefinition>
            <LookupFilterName>GroupNum</LookupFilterName>
            <LookupFilterValue>2</LookupFilterValue>
        </Control>
    </Controls>
</ControlGroup>

/Form/ControlGroups/ControlGroup/Controls

The node joining the list of Control-s belonging to the same ControlGroup.

/Form/ControlGroups/ControlGroup/Controls/Control

The Control-s within a ControlGroup. Within a ControlGroup several Control-s can be defined, in most cases however, there are 2.

Example

<ControlGroup name="name">
    <Control>
        <Type>Label</Type>
        <Name>Label_Name</Name>
        <ControlCaption>Name</ControlCaption>
    </Control>
    <Control>
        <Type>TextBox</Type>
        <Name>TextBox_Name</Name>
        <BindingName>Name</BindingName>
    </Control>
</ControlGroup>

/Form/ControlGroups/ControlGroup/Controls/Control/Type

It is a mandatory setting where the type of the input field (or display) has to be defined. Most input field types (can) have further settings. The possible values are:

  • TextBox: An input field used for entering text or digits. This input filed may be of multi-line and use asterisks (Password).
  • Label: It displays a simple caption (text), which can be set in the Caption node, or if there is a BindingName node, it displays the value of that field.
  • QueryTextBox: In this input filed we can select the value from a window that pops up when a button is pressed.

  • Date: An input field used for entering a date.
  • DateTime: An input field used for entering a date and time.
  • ComboBox: An input field, where the value is selected from a drop-down list.
  • CheckBox: Essentially, it represents a checkbox.
  • SaveButton: Save button.
  • CancelButton: Cancel button.
  • DeleteButton: Delete button.
  • Button: push-button used for unique function.
  • DocumentTextBox: An input field suitable for attaching and downloading documents.
  • HorizontalRule: Simple horizontal line.
  • InnerComponent: Basically, a Component XML (such as a grid) can be displayed among the fields of the EditForm.
  • IFrame: It loads the URL stored in the field defined in the BindingNamesetting.
  • SignaturePad: An input field with which we can record a signature. (We can draw in it.)

/Form/ControlGroups/ControlGroup/Controls/Control/Name (String)

The name/ID of the input field (or display). It must be unique within an EditForm.

/Form/ControlGroups/ControlGroup/Controls/Control/LabelCssClass (String)

This setting is defined in case of the Type = Label setting. Here we can define the style of the label using a preset CSS-class (which can be set in the delivery/gfx/style.css file).

/Form/ControlGroups/ControlGroup/Controls/Control/Caption (String)

This setting is defined in case of the Type = Label, Type = SaveButton, Type = CancelButton, Type = DeleteButton and Type = Button. The text of the label or the caption of the button is specified by the setting.

/Form/ControlGroups/ControlGroup/Controls/Control/Width (Integer)

This is an optional setting with which the width of the input field can be specified in pixels. By default, Effector positions the input fields and sets their widths automatically (that is, it disregards this setting).

/Form/ControlGroups/ControlGroup/Controls/Control/BindingName

The name of the field in the BusinessObject has to be specified in this setting, this is how the field is bound to the business object/database. NOTE: This setting should NOT be used with Type = HorizontalRule, Type = InnerComponent, Type = SaveButton, Type = CancelButton, Type = DeleteButton and Type = Button!

/Form/ControlGroups/ControlGroup/Controls/Control/ButtonLooksLike (Enumeration)

Using this setting, the appearance of a button can be modified to resemble any of the buttons with special functions. Its possible values are:

  • Auto: It is the default setting, nothing changes in the appearance of the button.
  • SaveButton: The button will look like the Save button (Type = SaveButton).
  • CancelButton: The button will look like the Cancel button (Type = CancelButton)
  • DeleteButton: The button will look like the Delete button (Type = DeleteButton)

/Form/ControlGroups/ControlGroup/Controls/Control/Icon (String)

A unique icon may be placed on the button, its value is a special css class. In the example, a general file copy icon is displayed in front of the caption of the Copy button.

Example:

<Control>
    <Name>Copy</Name>
    <Type>Button</Type>
    <Caption>Copy</Caption>
    <Icon>fa fa-files-o</Icon>
    <OnButtonClick>
        <ActionType>ProcessResultSet</ActionType>
        <RefreshAfterAction>Screen</RefreshAfterAction>
        <CloseScreenAfterAction>false</CloseScreenAfterAction>
        <StoredProcedure>osp_FSYS_ES_prs_ScreenCopy</StoredProcedure>
    </OnButtonClick>
</Control>

/Form/ControlGroups/ControlGroup/Controls/Control/CloseWindow (Boolean)

Using this setting, we can set whether the Save and Cancel buttons close the window. The default setting is true, that is, these buttons will close the window.

/Form/ControlGroups/ControlGroup/Controls/Control/OnButtonClick

Under this collection tag, we can specify further setting for the push-buttons.

/Form/ControlGroups/ControlGroup/Controls/Control/OnButtonClick/ActionType (Enumeration)

  • Outer: with this button, a server-side functionality developed in .dll is called.
  • Export: The button will use the built-in Export function.
  • ProcessResultSet: The button will call a stored procedure to carry out some task. This is the ProcessResultSet function (fixed parameters in the stored procedure, tables used for fixed data exchange).
  • GenerateDocument: With this button, a built-in document creating function is called.

/Form/ControlGroups/ControlGroup/Controls/Control/OnButtonClick/Module (String)

This setting is valid only if the value of the ActionType is Outer.

  • The value of the node is the name and path of the .dll file itself. The [##LocalProgramPath##] string in the path will be replaced by Effector with the bin folder of the current website, thus the interpreted dll file can be copied directly to Effector`s program files.
  • Using the className attribute, we need to define the name of the class that carries out the desired unique function.
  • Using the action attribute, , we can select the action we want to be executed within the function (it is not a systemic setting, the developers have to work out and handle them).

Example:

<Control>
    <Name>DLL</Name>
    <Type>ActionButton</Type>
    <Caption>DLL call</Caption>
    <OnButtonClick>
        <ActionType>Outer</ActionType>
        <Module action="CustomerDLLDataGrid" className="orn_ReleaseTest.CustomerDLLDataGrid">[##LocalProgramPath##]\orn_ReleaseTest.dll</Module>
    </OnButtonClick>
</Control>

/Form/ControlGroups/ControlGroup/Controls/Control/OnButtonClick/RefreshAfterAction (Enumeration)

This setting is valid only if ActionType = ProcessResultSet or ActionType = GenerateDocument. It defines whether the entire screen or the current component is refreshed following the completion of the action. It is optional; its possible values are Component, Screen and None. It defaults to None.

/Form/ControlGroups/ControlGroup/Controls/Control/OnButtonClick/StoredProcedure (String)

This setting is valid only if ActionType = ProcessResultSet or ActionType = GenerateDocument. Here we need to set the name of the stored procedure that executes the ProcessResultSet function, prepares the data for document generation and sets the parameters of the function.

/Form/ControlGroups/ControlGroup/Controls/Control/OnButtonClick/CloseScreenAfterAction (Boolean)

This setting is valid only if ActionType = ProcessResultSet or ActionType = GenerateDocument. With its help, we can define whether Effector closes the screen once the action is completed. Its default value is false, that is, it does not close the window.

/Form/ControlGroups/ControlGroup/Controls/Control/OnButtonClick/DataSources

This setting is used only if ActionType = Export. Here there is a possibility to specify further datasource for exporting. These settings are joined by this node.

/Form/ControlGroups/ControlGroup/Controls/Control/OnButtonClick/DataSources/DataSource (String)

This setting is used only if ActionType = Export. The value of these nodes are references to a DisplayDefinition XML. Using the filterType attribute, we can define whether incoming or outgoing filters are used for filtering. Its value may be In or Out, the default value is Out.

Example

<ControlGroup name="controlGroup_130">
    <Controls>
        <Control>
            <Type>Button</Type>
            <Name>ExportPeopleCompany</Name>
            <Caption>Export (People and companies)</Caption>
            <OnButtonClick>
                <ActionType>Export</ActionType>
                <DataSources>
                    <DataSource filterType="In">DisplayDefinitionPeoples</DataSource>
                    <DataSource filterType="In">DisplayDefinitionCompanies</DataSource>
                </DataSources>
            </OnButtonClick>
        </Control>
    </Controls>
</ControlGroup>

/Form/ControlGroups/ControlGroup/Controls/Control/OnButtonClick/DefaultExportType (Enumeration)

This setting is used only if ActionType = Export to specify the default export range to be selected on the export parameter selection screen. Its value may be All, Actual or OnlySelected; it defaults to All. NOTE This setting has no real significance.

/Form/ControlGroups/ControlGroup/Controls/Control/OnButtonClick/ExcelTemplate (String)

This setting is used only if ActionType = Export. Here we can specify an excel template, where the data is exported to. The path of the template has to be set in the ExcelTemplate table. Using the fillMethod attribute, we can define the method with which the data is loaded when the template is filled in. Its possible values are Insert or Overwrite, the default value is Insert. In case of the Insert setting, Effector inserts a new Excel line for each data row, while in case of Overwrite it overwrites the content of the cells (it is practical when a given cell range has to filled with data).

/Form/ControlGroups/ControlGroup/Controls/Control/OnButtonClick/DefaultExportFormat (Enumeration)

This setting can be used only if ActionType = Export to define the default selected format on the selection screen of the export parameters. Its value may be CSV, Excel97To2003 or Xlsx.

/Form/ControlGroups/ControlGroup/Controls/Control/TouchValueList (RuleValueType)

This setting is used if Type = 'QueryTextBox', Type = ComboBox, Type = TextBox, Type = Date or Type = DateTime. Using this setting, we can display a supplementary zone under the input field where the key-value pairs returned by the rule are displayed as small push-buttons. It is important to note, that although it is a RuleValueType type of setting, the value of the attribute is automatically replaced by the system to SQL.

Example

<ControlGroup name="company">
    <Controls>
        <Control>
            <Type>Label</Type>
            <Name>Label_CompanyID</Name>
            <Caption>Company</Caption>
        </Control>
        <Control>
            <Type>QueryTextBox</Type>
            <Name>QueryTextBox_CompanyID</Name>
            <BindingName>CompanyID</BindingName>
            <Screen>ScreenChoiseCompany</Screen>
            <DataDefinition>DataDefinitionCompanyEdit</DataDefinition>
            <KeyColumnDefinition>CompanyID</KeyColumnDefinition>
            <ValueColumn>Name</ValueColumn>
            <TouchValueList type="Constant" return="string" default=""><![CDATA[
                SELECT DISTINCT TOP 10 c.CompanyID as 'Key', c.Name as Value
                FROM Company AS c
                INNER JOIN Project as p ON p.CompanyID = c.CompanyID
                INNER JOIN ProjectPeople as pp ON pp.ProjectID = p.ProjectID
                WHERE p.StartDate > DATEADD(month, -3, GETDATE()) AND pp.PeopleID = '[##Session.UserID##]' AND pp.Deleted = 0 AND p.Deleted = 0
            ]]></TouchValueList>
        </Control>
    </Controls>
</ControlGroup>

/Form/ControlGroups/ControlGroup/Controls/Control/DataDefinition (String)

This setting is used when Type = 'QueryTextBox' or Type = 'DocumentTextBox'. This DataDefinition is used to query the string to be displayed for the ID value (e.g. CompanyID and Name from the Company table).

Example 1

<ControlGroup name="controlGroup_30">
    <Controls>
        <Control>
            <Type>Label</Type>
            <Name>Label_CompanyID</Name>
            <Caption>Company</Caption>
        </Control>
        <Control>
            <Type>QueryTextBox</Type>
            <Name>QueryTextBox_CompanyID</Name>
            <BindingName>CompanyID</BindingName>
            <Screen>ScreenChoiseCompany</Screen>
            <DataDefinition>DataDefinitionCompanyEdit</DataDefinition>
            <KeyColumnDefinition>c.CompanyID</KeyColumnDefinition>
            <ValueColumn>Name</ValueColumn>
        </Control>
    </Controls>
</ControlGroup>

Example 2

<ControlGroup name="controlGroup_60">
    <Controls>
        <Control>
            <Type>Label</Type>
            <Name>Label_DocumentID</Name>
            <Caption>Document</Caption>
        </Control>
        <Control>
            <Type>DocumentTextBox</Type>
            <Name>DocumentTextBox_DocumentID</Name>
            <BindingName>DocumentID</BindingName>
            <Screen>ScreenChoiseDocument</Screen>
            <DataDefinition>DataDefinitionDocumentEdit</DataDefinition>
            <KeyColumnDefinition>d.DocumentID</KeyColumnDefinition>
            <ValueColumn>OriginalFilename</ValueColumn>
            <AllowedMIMETypes>application/pdf image/png application/vnd.ms-excel application/vnd.openxmlformats-officedocument.spreadsheetml.sheet application/msword application/vnd.openxmlformats-officedocument.wordprocessingml.document</AllowedMIMETypes>
            <FileSizeLimit>4</FileSizeLimit>
        </Control>
    </Controls>
</ControlGroup>

/Form/ControlGroups/ControlGroup/Controls/Control/KeyColumnDefinition (String)

This setting is used only with input fields where Type = 'QueryTextBox' or Type = 'DocumentTextBox'. It defines the SQL expression used in the WHERE fragment of the datasource referenced in the DataDefinition to query the value for the ID. In the example it replaces the 1=1 part of the query defined in the DataDefinitionCompanyEdit' DataDefinition with thec.CompanyID = '5'(if we are looking for the company with the ID value5`).

Example

<ControlGroup name="controlGroup_30">
    <Controls>
        <Control>
            <Type>Label</Type>
            <Name>Label_CompanyID</Name>
            <Caption>Company</Caption>
        </Control>
        <Control>
            <Type>QueryTextBox</Type>
            <Name>QueryTextBox_CompanyID</Name>
            <BindingName>CompanyID</BindingName>
            <Screen>ScreenChoiseCompany</Screen>
            <DataDefinition>DataDefinitionCompanyEdit</DataDefinition>
            <KeyColumnDefinition>c.CompanyID</KeyColumnDefinition>
            <ValueColumn>Name</ValueColumn>
        </Control>
    </Controls>
</ControlGroup>

/Form/ControlGroups/ControlGroup/Controls/Control/ValueColumn (String)

This setting is used only with input fields where Type = 'QueryTextBox' or Type = 'DocumentTextBox'. It defines the column of the result of the datasource referenced in the DataDefinition which contains the value (to be displayed in the field). In the example the Name column will contain the displayed value (such as Oriana Ltd.)

Example

<ControlGroup name="controlGroup_30">
    <Controls>
        <Control>
            <Type>Label</Type>
            <Name>Label_CompanyID</Name>
            <Caption>Company</Caption>
        </Control>
        <Control>
            <Type>QueryTextBox</Type>
            <Name>QueryTextBox_CompanyID</Name>
            <BindingName>CompanyID</BindingName>
            <Screen>ScreenChoiseCompany</Screen>
            <DataDefinition>DataDefinitionCompanyEdit</DataDefinition>
            <KeyColumnDefinition>c.CompanyID</KeyColumnDefinition>
            <ValueColumn>Name</ValueColumn>
        </Control>
    </Controls>
</ControlGroup>

/Form/ControlGroups/ControlGroup/Controls/Control/Screen (String)

This setting is used only with input fields where Type = 'QueryTextBox' or Type = 'DocumentTextBox'. In case of the 'QueryTextBox' type of input field, this setting indicates the name of the value selection window, while in case of the 'DocumentTextBox', it controls whether we provide the user with a selection option pertaining to existing documents. In both cases, a Screen XML (without extension) has to be referenced.

Example

<ControlGroup name="controlGroup_30">
    <Controls>
        <Control>
            <Type>Label</Type>
            <Name>Label_CompanyID</Name>
            <Caption>Company</Caption>
        </Control>
        <Control>
            <Type>QueryTextBox</Type>
            <Name>QueryTextBox_CompanyID</Name>
            <BindingName>CompanyID</BindingName>
            <Screen>ScreenChoiseCompany</Screen>
            <DataDefinition>DataDefinitionCompanyEdit</DataDefinition>
            <KeyColumnDefinition>c.CompanyID</KeyColumnDefinition>
            <ValueColumn>Name</ValueColumn>
        </Control>
    </Controls>
</ControlGroup>

/Form/ControlGroups/ControlGroup/Controls/Control/ConnectedControls

This setting is valid only when Type = QueryTextBox. It is possible to fill in more than one field in a given business object in one step. This is the node joining the definitions of this filling function.

/Form/ControlGroups/ControlGroup/Controls/Control/ConnectedControls/ConnectedControl (String)

This setting is valid only when Type = QueryTextBox. The filling of one filed can be set here. The column attribute specifies the column of the pop-up window that provides the value of the given field. If the target input field is a QueryTextBox or ComboBox, we need to set the text value to be displayed using the displayColumn attribute (for instance, if the column is CompanyID, the displayColumn is CompanyName).

Example

<ControlGroup name="company">
    <Controls>
        <Control>
            <Type>Label</Type>
            <Name>Label_CompanyID</Name>
            <Caption>Company</Caption>
        </Control>
        <Control>
            <Type>QueryTextBox</Type>
            <Name>QueryTextBox_CompanyID</Name>
            <BindingName>CompanyID</BindingName>
            <Screen>ScreenChoiseCompany</Screen>
            <DataDefinition>DataDefinitionCompanyEdit</DataDefinition>
            <KeyColumnDefinition>CompanyID</KeyColumnDefinition>
            <ValueColumn>Name</ValueColumn>
            <ConnectedControls>
                <ConnectedControl column="OrszagID" displayColumn="Orszag">ComboBox_SzallitasOrszag</ConnectedControl>
                <ConnectedControl column="Varos">TextBox_SzallitasVaros</ConnectedControl>
                <ConnectedControl column="Cim">TextBox_SzallitasCim</ConnectedControl>
                <ConnectedControl column="Irsz">TextBox_SzallitasIrsz</ConnectedControl>
            </ConnectedControls>
        </Control>
    </Controls>
</ControlGroup>

/Form/ControlGroups/ControlGroup/Controls/Control/StartHour (Integer)

This setting is valid only when Type = DateTime. Only points of time as of this hour are listed in the time picker. The default value is 7 (7:00).

/Form/ControlGroups/ControlGroup/Controls/Control/EndHour (Integer)

This setting is valid only when Type = DateTime. Only points of time up to this hour are listed in the time picker. The default value is 24 (23:59).

/Form/ControlGroups/ControlGroup/Controls/Control/Step (Integer)

This setting is valid only when Type = DateTime. The time period between StartHour and EndHour broken down into intervals consistent with the time step size defined here provide the selectable values displayed. The default value is: 5.

/Form/ControlGroups/ControlGroup/Controls/Control/ComboDefinition (String)

This setting is valid only when Type = ComboBox. Its value is the name of the ComboDefinition XML file without extension describing the elements of the drop-down list.

/Form/ControlGroups/ControlGroup/Controls/Control/LookupFilterName (String)

This optional setting is valid only when Type=ComboBox`. If the value set of the referenced drop-down list can be further narrowed by setting a filter, the name of such a filter can be specified in this setting.

/Form/ControlGroups/ControlGroup/Controls/Control/LookupFilterValue (String)

This optional setting is valid only when Type = ComboBox. If the value set of the referenced drop-down list can be further narrowed by setting a filter, the value of such a filter can be specified in this setting.

/Form/ControlGroups/ControlGroup/Controls/Control/IsPassword (Boolean)

This optional setting is valid only when Type = TextBox. With its help, we can define whether the input field is displayed as a password entry field. Its default value is false.

/Form/ControlGroups/ControlGroup/Controls/Control/Mask (String)

This optional setting is valid only when Type = TextBox. By setting it, we can specify a basic level masking option. In the mask, the following characters have special meaning:

  • 9 or 0: numerals
  • a: lowercase letters
  • A: lower- and uppercase letters
  • #: any letter or digit
  • *: any character

Example

<Mask>99999999-9-99</Mask>

/Form/ControlGroups/ControlGroup/Controls/Control/CharacterCounterType (Enumeration)

This optional setting is valid only when Type = TextBox. With its help, a character counter can be displayed. Its value may be:

  • None: It is the default value; no character counter is displayed.
  • Count: Effector displays the number of characters entered.
  • Remaining: Effector displays the number of remaining characters.

/Form/ControlGroups/ControlGroup/Controls/Control/MaxLength (Integer)

This optional setting is used only in case of Type = TextBox. With this, we can limit the number of characters entered. This setting works independent of the length of the database field.

/Form/ControlGroups/ControlGroup/Controls/Control/Precision (Integer)

This optional setting is valid only when Type = TextBox. With its help, the number of digits displayed in the fractional part of the floating-point numbers can be limited. The default value is 2.

/Form/ControlGroups/ControlGroup/Controls/Control/IsThousandsGrouped(Boolean)

This optional setting is valid only when Type = TextBox. In case of numbers, it turns on thousand grouping. The default value is true.

/Form/ControlGroups/ControlGroup/Controls/Control/UseHTMLEncode (Boolean)

This is a rarely used, technical type of setting. Due to safety reasons, Effector by default converts expressions used in HTML for a safe storage. The default value is true, that is, the conversion gets done. In case of a false value, we need to make sure that the BusinessObject accepts the value.

/Form/ControlGroups/ControlGroup/Controls/Control/TextAlign (Enumeration)

This setting is valid only when Type = TextBox. It is used to set the alignment of the text displayed in the input field. Its possible values are:

  • Default: Depending on the type of the data (the field located in the database) to be entered in the field, Effector aligns the text left or right.
  • Left: The text is aligned left in the input field.
  • Right: The text is aligned right in the input field.

/Form/ControlGroups/ControlGroup/Controls/Control/IsMultiline (Boolean)

This setting is valid only when Type = TextBox. It defines whether a single or multi-line input field is displayed. the default value is false. If the value of the setting is true, further setting can be defined using the following attributes:

  • isResizable: Logical setting, which defines whether a multi-line input field can be resized. In case of Internet Explorer, this setting does not work. The default value is false.
  • useHTMLEditor: Logical setting, the multi-line input field is displayed as an HTML editor.
  • htmlEditorToolbars: text-based setting with which we can define the toolbars displayed in the HTML editor.
  • useCodeMirror: Logical setting, a CodeMirror component is displayed instead of the multi-line input field.

/Form/ControlGroups/ControlGroup/Controls/Control/Height (Integer)

Here we can set the height of the input field. This setting is valid in the following cases:

  • Type = TextBox, if the IsMultiline value is true
  • Type = IFrame

/Form/ControlGroups/ControlGroup/Controls/Control/IsDocumentVersioningEnabled (Boolean)

This setting is valid only when Type = DocumentTextBox. It is used to turn document versioning on/off. Its default value is true, that is, document versioning is turned on.

/Form/ControlGroups/ControlGroup/Controls/Control/FileSizeLimit (Integer)

This setting is valid only when Type = DocumentTextBox. It is used to limit the size of uploaded documents, its value is understood in MB. It is optional, but setting it is recommended.

Example

<ControlGroup name="controlGroup_60">
    <Controls>
        <Control>
            <Type>Label</Type>
            <Name>Label_DocumentID</Name>
            <Caption>Document</Caption>
        </Control>
        <Control>
            <Type>DocumentTextBox</Type>
            <Name>DocumentTextBox_DocumentID</Name>
            <BindingName>DocumentID</BindingName>
            <Screen>ScreenChoiseDocument</Screen>
            <DataDefinition>DataDefinitionDocumentEdit</DataDefinition>
            <KeyColumnDefinition>d.DocumentID</KeyColumnDefinition>
            <ValueColumn>OriginalFilename</ValueColumn>
            <AllowedMIMETypes>application/pdf image/png application/vnd.ms-excel application/vnd.openxmlformats-officedocument.spreadsheetml.sheet application/msword application/vnd.openxmlformats-officedocument.wordprocessingml.document</AllowedMIMETypes>
            <FileSizeLimit>4</FileSizeLimit>
        </Control>
    </Controls>
</ControlGroup>

/Form/ControlGroups/ControlGroup/Controls/Control/AllowedMIMETypes (String)

This setting is valid only when Type = DocumentTextBox. It is used to limit the type of documents to be uploaded. The approved MINE types should be listed sepatated by commas. It is optional, when omitted, documents of any format may be uploaded.

Example

<ControlGroup name="controlGroup_60">
    <Controls>
        <Control>
            <Type>Label</Type>
            <Name>Label_DocumentID</Name>
            <Caption>Document</Caption>
        </Control>
        <Control>
            <Type>DocumentTextBox</Type>
            <Name>DocumentTextBox_DocumentID</Name>
            <BindingName>DocumentID</BindingName>
            <Screen>ScreenChoiseDocument</Screen>
            <DataDefinition>DataDefinitionDocumentEdit</DataDefinition>
            <KeyColumnDefinition>d.DocumentID</KeyColumnDefinition>
            <ValueColumn>OriginalFilename</ValueColumn>
            <AllowedMIMETypes>application/pdf image/png application/vnd.ms-excel application/vnd.openxmlformats-officedocument.spreadsheetml.sheet application/msword application/vnd.openxmlformats-officedocument.wordprocessingml.document</AllowedMIMETypes>
            <FileSizeLimit>4</FileSizeLimit>
        </Control>
    </Controls>
</ControlGroup>

/Form/ControlGroups/ControlGroup/Controls/Control/DocumentObjectType (String)

This setting is valid only when Type = DocumentTextBox. If the Form (or Fragament) does not use a BusinessObjectDocument for the database operation, setting a DocumentObjectType node is necessary. This specifies the type of the dcoument. In such a case, the isDocument attribute must be present in the BusinesObjectfile in the definition of the given field, and its value must metrue`.

Example

<ControlGroup name="controlGroup_160">
    <Controls>
        <Control>
            <Type>Label</Type>
            <Name>Label_SzerzodesDocumentID</Name>
            <Caption>Document</Caption>
        </Control>
        <Control>
            <Type>DocumentTextBox</Type>
            <Name>DocumentTextBox_SzerzodesDocumentID</Name>
            <BindingName>SzerzodesDocumentID</BindingName>
            <DataDefinition>DataDefinitionDocumentEdit</DataDefinition>
            <KeyColumnDefinition>d.DocumentID</KeyColumnDefinition>
            <ValueColumn>OriginalFilename</ValueColumn>
            <AllowedMIMETypes>application/pdf</AllowedMIMETypes>
            <FileSizeLimit>10</FileSizeLimit>
            <DocumentObjectType>Szerzodes</DocumentObjectType>
        </Control>
    </Controls>
</ControlGroup>

/Form/ControlGroups/ControlGroup/Controls/Control/Component (String)

This setting is valid only when Type = InnerComponent. Here we need to set the name of the Component XML file (without extension) that we want to display.

/Form/ControlGroups/ControlGroup/Controls/Control/Recomputing (Enumeration)

This setting specifies the events triggering the recomputing of computed fields in case of the individual input fields. Its possible values are:

  • OnValueChange: on value change only (default setting)
  • TriggerOnRefresh: when the EditForm is refreshed, the value of the input filed is considered as changed, thus all the rules and the ComputedValue which references this field – and where it is set – will be run. In the following example, Effector indicates that the value of the ID field has been changed and all the rules that contains the [##Field.ID##] reference will be run.

Example

<ControlGroup name="id_group">
    <Rules>
        <Visible type="Constant">false</Visible>
    </Rules>
    <Controls>
        <Control>
            <Type>Label</Type>
            <Name>Label_id</Name>
            <Caption>id</Caption>
        </Control>
        <Control>
            <Type>TextBox</Type>
            <Name>TextBox_id</Name>
            <BindingName>ID</BindingName>
            <Recomputing>TriggerOnRefresh</Recomputing>
        </Control>
    </Controls>
</ControlGroup>

/Form/ControlGroups/ControlGroup/Controls/Control/Question

This setting is used in case of push-buttons. It opens a dialogue box before the function is executed. It is optional. The type attribute specifies the buttons displayed in the pop-up dialogue box. Its possible values are:

  • OkCancel: The pop-up window features an "Ok" and a "Cancel" button. Upon pressing the "Ok" button, the operation continues, whereas when the "Cancel" button is pressed, nothing happens.
  • Ok: It opens an informative window before saving.
  • Cancel: It also opens an informative window, but it also prevents saving.
  • Custom: Using the Button setting, we can define further buttons to be displayed in the dialogue box. In this case, the ProcessResultSet function gets the ID of the selected button.

Example

<Question type="OkCancel">
    <Condition type="Constant" return="boolean" default="false">true</Condition>
    <Message type="Constant" return="string" default="">Ready to go?</Message>
</Question>

/Form/ControlGroups/ControlGroup/Controls/Control/Question/Condition (RuleValueType)

Using this setting, we can regulate the display of the pop-up window. If the value of the setting is true, the pop-up window will appear.

Example

<Question type="OkCancel">
    <Condition type="Constant" return="boolean" default="false">true</Condition>
    <Message type="Constant" return="string" default="">Ready to go?</Message>
</Question>

/Form/ControlGroups/ControlGroup/Controls/Control/Question/Message (RuleValueType)

This rule calculates the text of the message to be displayed.

Example

<Question type="OkCancel">
    <Condition type="Constant" return="boolean" default="false">true</Condition>
    <Message type="Constant" return="string" default="">Ready to go?</Message>
</Question>

/Form/ControlGroups/ControlGroup/Controls/Control/Question/Buttons (String)

This setting is interpreted only when type = Custom. Here we need to set a JSON definition. The cancel button must be marked separately with the value "cancel": true.

Example

<Question type="Custom">
    <Condition type="Constant" return="boolean" default="false">true</Condition>
    <Message type="Constant" return="string" default="">Please select!</Message>
    <Buttons><![CDATA[{"option1": { "className": "btn-primary", "label": "Option 1" }, "option2": { "className": "btn-info", "label": "Option 2" }, "cancel": { "className": "btn-danger", "label": "Cancel", "cancel": true }}]]></Buttons>
</Question>

/Form/ControlGroups/ControlGroup/Controls/Control/Required (RuleValueType)

It defines whether the given field is mandatory. As long as the specified rule is not fulfilled (its return value is false), the given object cannot be saved. Its visualization may be supported by applying the same rule to the label. In such a case, the color of the label turns red, indicating that filling the field is mandatory.

Example

<ControlGroup name="name">
    <Control>
        <Type>Label</Type>
        <Name>Label_name</Name>
        <ControlCaption>Title</ControlCaption>
        <Required type="Simple" default="false" return="boolean">'[##Field.name##]' == ''</Required>
    </Control>
    <Control>
        <Type>TextBox</Type>
        <Name>TextBox_name</Name>
        <BindingName>name</BindingName>
        <Required>true</Required>
    </Control>
</ControlGroup>

/Form/ControlGroups/ControlGroup/Controls/Control/WorkflowRequired (RuleValueType)

It is used for the same purpose as the Required attribute, with the exception that it will take effect only when the current step of the workflow is set to ready.

/Form/ControlGroups/ControlGroup/Controls/Control/Readonly (RuleValueType)

It is a Readonly rule. The priority order of Readonly rules is as follows: EditForm < ControlGroup < Control

Example

<Control>
    <Type>TextBox</Type>
    <Name>TextBox_CorrectionOfIrregularitiesResponse</Name>
    <BindingName>CorrectionOfIrregularitiesResponse</BindingName>
    <Width>200</Width>
    <IsMultiline>true</IsMultiline>
    <Readonly type="Constant" return="boolean" default="true">true</Readonly>
</Control>

/Form/ControlGroups/ControlGroup/Controls/Control/Visible (RuleValueType)

Visibility rule.

Example

<Control>
    <Type>TextBox</Type>
    <Name>TextBox_CorrectionOfIrregularitiesResponse</Name>
    <BindingName>CorrectionOfIrregularitiesResponse</BindingName>
    <Width>200</Width>
    <IsMultiline>true</IsMultiline>
    <Readonly type="Constant" return="boolean" default="true">true</Readonly>
    <Visible type="SQL" return="boolean" default="false">
        <![CDATA[
            SELECT CASE WHEN EXISTS(SELECT 1 FROM Event e WITH(NOLOCK) INNER JOIN Event ef WITH(NOLOCK) ON ef.EventID = e.ParentEventID WHERE e.EventID = '[##Field.EventID##]') THEN 'True' ELSE 'False' END
        ]]>
    </Visible>
</Control>

/Form/ControlGroups/ControlGroup/Controls/Control/ValidateRule (RuleValueType)

Validation rule. It does not allow the form to be saved until the condition defined here returns true as a result, or, in case of a non-boolian return value, an empty return message, which means that the value specified in the control is valid.

Example 1

<Control>
    <Type>TextBox</Type>
    <Name>TextBox_OnlyPositiveInt</Name>
    <BindingName>OnlyPositiveInt</BindingName>
    <Width>200</Width>
    <ValidateRule type="Simple" return="boolean" default="false" message="A 'Csak pozitív egész szám' mezőbe csak pozitív számot adhat meg!">
        <![CDATA[
            '[##Field.OnlyPositiveInt##]' == '' || '[##Field.OnlyPositiveInt##]' > 0
        ]]>
    </ValidateRule>
</Control>

Example 2

<Control>
    <Type>TextBox</Type>
    <Name>TextBox_SecurityLevel</Name>
    <BindingName>SecurityLevel</BindingName>
    <Width>240</Width>
    <ValidateRule type="SQL" return="string" default="">
        <![CDATA[
            SELECT CASE WHEN CAST('[##Field.SecurityLevel##]' AS INT) < 1 THEN 'A "Biztonsági szint" nem lehet negatív szám!' ELSE '' END
        ]]>
    </ValidateRule>
</Control>

/Form/ControlGroups/ControlGroup/Controls/Control/Tooltip (RuleValueType)

Using this rule, we can define the tooltip text. The tooltip icon (or in case of a button the tooltip gets replaced) appears only when the rule returns a non-empty string.

Example

<Control>
    <Type>Label</Type>
    <Name>Label_ClearValueIsNotVisible</Name>
    <Caption>Delete value if the field is invisible</Caption>
    <Tooltip type="Constant" default="" return="string">If I select a pear  in the 'Session value' field, this ControlGroup disappears and its value gets deleted</Tooltip>
</Control>

/Form/ControlGroups/ControlGroup/Controls/Control/Warning (RuleValueType)

This rule works similarly to the Tooltip rule, with the only difference that here the icon is more prominent.

/Form/ControlGroups/ControlGroup/Controls/Control/PlaceHolder (RuleValueType)

Informative text entered into empty input fields.

Example

<ControlGroup name="controlGroup_20">
    <Controls>
        <Control>
            <Type>Label</Type>
            <Name>Label_Country</Name>
            <Caption>Country, county</Caption>
        </Control>
        <Control>
            <Type>ComboBox</Type>
            <Name>QueryTextBox_Country</Name>
            <BindingName>Country</BindingName>
            <ComboDefinition>ComboFixedValuesLookup</ComboDefinition>
            <LookupFilterName>GroupNum</LookupFilterName>
            <LookupFilterValue>1</LookupFilterValue>
            <PlaceHolder type="Constant" default="" return="string">Ország</PlaceHolder>
        </Control>
        <Control>
            <Type>TextBox</Type>
            <Name>TextBox_County</Name>
            <BindingName>County</BindingName>
            <PlaceHolder type="Constant" default="" return="string">Megye</PlaceHolder>
        </Control>
    </Controls>
</ControlGroup>

/Form/ControlGroups/ControlGroup/Controls/Control/ClearValueIfNotVisible (Boolean)

If an input field has a value and, due to some reason, a visibility rule gets executed for the field making the it invisible, the entered value will be deleted when the value of this node is true. It has a significance when we do not want to save the value of an invisible field into the database. Its default value is false.

/Form/ControlGroups/ControlGroup/Controls/Control/DefaultValue (RuleValueType)

It is a default value evaluated in case of recording(!) a new object only. The default rule set in the EditForm overwrites the rule specified in the BusinessObject.

Example

<Control>
    <Type>QueryTextBox</Type>
    <Name>QueryTextBox_CompanyID</Name>
    <BindingName>CompanyID</BindingName>
    <Screen>ScreenChoiseCompany</Screen>
    <DataDefinition>DataDefinitionCompanyEdit</DataDefinition>
    <KeyColumnDefinition>CompanyID</KeyColumnDefinition>
    <ValueColumn>Name</ValueColumn>
    <DefaultValue type="Constant" return="int" default="">[##Filter.Company_ID##]</DefaultValue>
</Control>

/Form/ControlGroups/ControlGroup/Controls/Control/SessionValue (RuleValueType)

Using this setting, we can define an icon (Home) on the input field which, when clicked on, inserts the value specified in this rule into the input field. If it is not set, the icon is absent from the input field.

Example

<Control>
    <Type>QueryTextBox</Type>
    <Name>QueryTextBox_CompanyID</Name>
    <BindingName>CompanyID</BindingName>
    <Screen>ScreenChoiseCompany</Screen>
    <DataDefinition>DataDefinitionCompanyEdit</DataDefinition>
    <KeyColumnDefinition>CompanyID</KeyColumnDefinition>
    <ValueColumn>Name</ValueColumn>
    <SessionValue type="Constant" return="int" default="0">[##Session.CompanyID##]</SessionValue>
</Control>

/Form/ControlGroups/ControlGroup/Controls/Control/ComputedValue (RuleValueType)

It is the computed value of the field that constantly depends on the state of other fields.

  • When recomputing the value, the fields referenced ([##Field.##]) in the evaluation are taken into consideration. The modification of these will trigger some action. For further settings, please refer to the section on Recomputing.
  • Recomputing affects other rules as well, such as Visible, Readonly, etc.

Example

CheckBox CheckBox_Done Done false

/Form/ControlGroups/ControlGroup/Controls/Control/ComputedValueList (RuleValueType)

This setting is valid only when Type = ComboBox. It is used for computing and narrowing a value set. The rule defines a WHERE fragment, which will replace the 1:1 string in the query in the ComboDefinition.

Example:

<Control>
    <Type>ComboBox</Type>
    <Name>ComboBox_Irszam</Name>
    <BindingName>irszam</BindingName>
    <ComboDefinition>ComboIranyitoszamok</ComboDefinition>
    <ComputedValueList type="SQL" default="" return="string">SELECT 'Varos = ''[##Field.Varos##]'''</ComputedValueList>
</Control>

/Form/ControlGroupOrders

This node joins the definitions pertaining to the ControlGroupOrder.

/Form/ControlGroupOrders/ControlGroupOrder

The definition of one ControlGroupOrder is joined by this node. It may include two attributes:

  • isAutomatic: A mandatory logical setting; in case of a true value, the system automatically displays them in the order defined under the ControlGroups,the ControlGroup-s that contain only buttons are moved to the end of the form. This setting can be used in a Fragment, in which case the difference is that the Fragment field is displayed before the rows of buttons. If the value of the isAutomatic attribute is true, the system will disregard the order set here.
  • form: Optional text-based setting used in the Fragment. Using this setting, we can specify the Form to which the ControlGroupOrder defined here belongs.

Example 1

<ControlGroupOrders>
    <ControlGroupOrder isAutomatic="true" />
</ControlGroupOrders>

Example 2

<ControlGroupOrders>
    <ControlGroupOrder form="FormEvent" isAutomatic="false">
        <ControlGroup>controlGroup_10</ControlGroup>
        <ControlGroup>controlGroup_20</ControlGroup>
        <ControlGroup>controlGroup_30</ControlGroup>
        <ControlGroup>controlGroup_40</ControlGroup>
        <ControlGroup>controlGroup_50</ControlGroup>
        <ControlGroup>controlGroup_52</ControlGroup>
        <ControlGroup>controlGroup_54</ControlGroup>
        <ControlGroup>controlGroup_56</ControlGroup>
        <ControlGroup>controlGroup_70</ControlGroup>
        <ControlGroup>controlGroup_75</ControlGroup>
        <ControlGroup>controlGroup_90</ControlGroup>
        <ControlGroup>controlGroup_100</ControlGroup>
        <ControlGroup>controlGroup_110</ControlGroup>
        <ControlGroup>controlGroup_220</ControlGroup>
        <ControlGroup>controlGroup_500</ControlGroup>
    </ControlGroupOrder>
</ControlGroupOrders>

/Form/ControlGroupOrders/ControlGroupOrder/ControlGroup (String)

In this node, we need to specify the ControlGroup to be uploaded .These settings will be considered only when the value of the isAutomatic attribute is false under the ControlGroupOrder node. The ControlGroup-s defined in Formor Fragment which are not referenced here, will not be displayed on the interface (the rules will still be executed). In the following example, the <ControlGroup>controlGroup_220</ControlGroup> comes from the Fragament, the other references are defined in Form.

Example

<ControlGroupOrders>
    <ControlGroupOrder form="FormEvent" isAutomatic="false">
        <ControlGroup>controlGroup_10</ControlGroup>
        <ControlGroup>controlGroup_20</ControlGroup>
        <ControlGroup>controlGroup_30</ControlGroup>
        <ControlGroup>controlGroup_40</ControlGroup>
        <ControlGroup>controlGroup_50</ControlGroup>
        <ControlGroup>controlGroup_52</ControlGroup>
        <ControlGroup>controlGroup_54</ControlGroup>
        <ControlGroup>controlGroup_56</ControlGroup>
        <ControlGroup>controlGroup_70</ControlGroup>
        <ControlGroup>controlGroup_75</ControlGroup>
        <ControlGroup>controlGroup_90</ControlGroup>
        <ControlGroup>controlGroup_100</ControlGroup>
        <ControlGroup>controlGroup_110</ControlGroup>
        <ControlGroup>controlGroup_220</ControlGroup>
        <ControlGroup>controlGroup_500</ControlGroup>
    </ControlGroupOrder>
</ControlGroupOrders>

Example for a complete xml configuration

Example

<?xml version="1.0" encoding="ISO-8859-2"?> <Form xmlns="http://effector.hu/schema/ns/form"> <Caption></Caption> <DataDefinition></DataDefinition> <BusinessObject></BusinessObject> <ReportContentChangedOnValueChange></ReportContentChangedOnValueChange> <TemplateURL></TemplateURL> <Rules> <Readonly type="" return="" default=""></Readonly> </Rules> <ControlGroups> <ControlGroup name="group1"> <Rules> <Readonly type="" return="" default=""></Readonly> <Visible type="" return="" default=""></Visible> <WorkflowRequired type="" return="" default=""></WorkflowRequired> <Required type="" return="" default=""></Required> </Rules> <Controls> <!—Label-type control --> <Control> <Type>Label</Type> <Name></Name> <BindingName></BindingName> <Caption></Caption> <Width></Width> <LabelCssClass></LabelCssClass> <Visible type="" return="" default=""></Visible> <ValidateRule type="" return="" default=""></ValidateRule> <WorkflowRequired type="" return="" default=""></WorkflowRequired> <Required type="" return="" default=""></Required> <Tooltip type="" return="" default=""></Tooltip> <Warning type="" return="" default=""></Warning> </Control> <!—TextBox-type control --> <Control> <Type>TextBox</Type> <Name></Name> <BindingName></BindingName> <Width></Width> <IsPassword></IsPassword> <Precision>2</Precision> <ThousandsGrouping></ThousandsGrouping> <UseHTMLEncode></UseHTMLEncode> <TextAlign></TextAlign> <Mask></Mask> <CharacterCounterType></CharacterCounterType> <MaxLength></MaxLength> <Recomputing></Recomputing> <ClearValueIfNotVisible></ClearValueIfNotVisible> <IsMultiline useCodeMirror="" useHTMLEditor="" htmlEditorToolbars="" isResizable=""></IsMultiline> <Height></Height> <TouchValueList type="" return="" default=""></TouchValueList> <Visible type="" return="" default=""></Visible> <DefaultValue type="" return="" default=""></DefaultValue> <SessionValue type="" return="" default=""></SessionValue> <ValidateRule type="" return="" default=""></ValidateRule> <WorkflowRequired type="" return="" default=""></WorkflowRequired> <Required type="" return="" default=""></Required> <Readonly type="" return="" default=""></Readonly> <ComputedValue type="" return="" default=""></ComputedValue> <Tooltip type="" return="" default=""></Tooltip> <Warning type="" return="" default=""></Warning> <PlaceHolder type="" return="" default=""></PlaceHolder> </Control> </Controls> </ControlGroup> <ControlGroup name="group2"> <Controls> <!-- QueryTextBox tipusú control --> <Control> <Type>QueryTextBox</Type> <Name></Name> <BindingName></BindingName> <Width></Width> <Screen></Screen> <DataDefinition></DataDefinition> <KeyColumnDefinition</KeyColumnDefinition> <ValueColumn></ValueColumn> <Recomputing></Recomputing> <ClearValueIfNotVisible></ClearValueIfNotVisible> <ConnectedControls> <ConnectedControl column="" displayColumn=""></ConnectedControl> </ConnectedControls> <TouchValueList type="" return="" default=""></TouchValueList> <Visible type="" return="" default=""></Visible> <DefaultValue type="" return="" default=""></DefaultValue> <SessionValue type="" return="" default=""></SessionValue> <ValidateRule type="" return="" default=""></ValidateRule> <WorkflowRequired type="" return="" default=""></WorkflowRequired> <Required type="" return="" default=""></Required> <Readonly type="" return="" default=""></Readonly> <ComputedValue type="" return="" default=""></ComputedValue> <Tooltip type="" return="" default=""></Tooltip> <Warning type="" return="" default=""></Warning> <PlaceHolder type="" return="" default=""></PlaceHolder> </Control> <!-- DateTime type control --> <Control> <Type>DateTime</Type> <Name></Name> <BindingName></BindingName> <Width></Width> <Recomputing></Recomputing> <ClearValueIfNotVisible></ClearValueIfNotVisible> <Step></Step> <StartHour></StartHour> <EndHour></EndHour> <TouchValueList type="" return="" default=""></TouchValueList> <Visible type="" return="" default=""></Visible> <DefaultValue type="" return="" default=""></DefaultValue> <SessionValue type="" return="" default=""></SessionValue> <ValidateRule type="" return="" default=""></ValidateRule> <WorkflowRequired type="" return="" default=""></WorkflowRequired> <Required type="" return="" default=""></Required> <Readonly type="" return="" default=""></Readonly> <ComputedValue type="" return="" default=""></ComputedValue> <Tooltip type="" return="" default=""></Tooltip> <Warning type="" return="" default=""></Warning> <PlaceHolder type="" return="" default=""></PlaceHolder> </Control> <!-- ComboBox type control --> <Control> <Type>ComboBox</Type> <Name></Name> <BindingName></BindingName> <Width></Width> <Recomputing></Recomputing> <ClearValueIfNotVisible></ClearValueIfNotVisible> <ComboDefinition>ComboDefinition resource azonosító</ComboDefinition> <LookupFilterName>Company_ID</LookupFilterName> <LookupFilterValue>5</LookupFilterValue> <TouchValueList type="" return="" default=""></TouchValueList> <Visible type="" return="" default=""></Visible> <DefaultValue type="" return="" default=""></DefaultValue> <SessionValue type="" return="" default=""></SessionValue> <ValidateRule type="" return="" default=""></ValidateRule> <WorkflowRequired type="" return="" default=""></WorkflowRequired> <Required type="" return="" default=""></Required> <Readonly type="" return="" default=""></Readonly> <ComputedValue type="" return="" default=""></ComputedValue> <ComputedValueList type="" return="" default=""></ComputedValueList> <Tooltip type="" return="" default=""></Tooltip> <Warning type="" return="" default=""></Warning> <PlaceHolder type="" return="" default=""></PlaceHolder> </Control> <!-- CheckBox type control --> <Control> <Type>CheckBox</Type> <Name></Name> <BindingName></BindingName> <Width></Width> <Recomputing></Recomputing> <ClearValueIfNotVisible></ClearValueIfNotVisible> <Visible type="" return="" default=""></Visible> <DefaultValue type="" return="" default=""></DefaultValue> <WorkflowRequired type="" return="" default=""></WorkflowRequired> <Required type="" return="" default=""></Required> <Readonly type="" return="" default=""></Readonly> <ComputedValue type="" return="" default=""></ComputedValue> <Tooltip type="" return="" default=""></Tooltip> <Warning type="" return="" default=""></Warning> </Control> </Controls> </ControlGroup> <ControlGroup name="group3"> <Controls> <!-- SaveButton type control --> <Control> <Type>SaveButton</Type> <Name></Name> <CloseWindow></CloseWindow> <Icon></Icon> <ButtonLooksLike></ButtonLooksLike> <OnButtonClick> <ActionType>Outer</ActionType> <Module className="" action=""></Module> </OnButtonClick> <Question type=""> <Message></Message> <Condition></Condition> <Buttons></Buttons> </Question> <Visible type="" return="" default=""></Visible> <Readonly type="" return="" default=""></Readonly> <Tooltip type="" return="" default=""></Tooltip> </Control> <!-- CancelButton type control --> <Control> <Type>CancelButton</Type> <Name></Name> <CloseWindow></CloseWindow> <Icon></Icon> <ButtonLooksLike></ButtonLooksLike> <Visible type="" return="" default=""></Visible> <Readonly type="" return="" default=""></Readonly> <Tooltip type="" return="" default=""></Tooltip> </Control> <!-- DeleteButton type control --> <Control> <Type>DeleteButton</Type> <Name></Name> <CloseWindow></CloseWindow> <Icon></Icon> <ButtonLooksLike></ButtonLooksLike> <Visible type="" return="" default=""></Visible> <Readonly type="" return="" default=""></Readonly> <Tooltip type="" return="string" default=""></Tooltip> </Control> <!-- Button:Export type control --> <Control> <Type>Button</Type> <Name></Name> <CloseWindow></CloseWindow> <Icon></Icon> <ButtonLooksLike></ButtonLooksLike> <OnButtonClick> <ActionType>Export</ActionType> <DataSources> <DataSource filterType=""></DataSource> </DataSources> <ExcelTemplate fillMethod=""></ExcelTemplate> <DefaultExportFormat></DefaultExportFormat> <DefaultExportType></DefaultExportType> </OnButtonClick> <Visible type="" return="" default=""></Visible> <Readonly type="" return="" default=""></Readonly> <Tooltip type="" return="string" default=""></Tooltip> </Control> <!-- Button:GenerateDocument tipusú control --> <Control> <Type>Button</Type> <Name></Name> <CloseWindow></CloseWindow> <Icon></Icon> <ButtonLooksLike></ButtonLooksLike> <OnButtonClick> <ActionType>GenerateDocument</ActionType> <StoredProcedure></StoredProcedure> <CloseScreenAfterAction></CloseScreenAfterAction> <RefreshAfterAction></RefreshAfterAction> </OnButtonClick> <Visible type="" return="" default=""></Visible> <Readonly type="" return="" default=""></Readonly> <Tooltip type="" return="" default=""></Tooltip> </Control> <!-- Button:ProcessResultSet type control --> <Control> <Type>Button</Type> <Name></Name> <CloseWindow></CloseWindow> <Icon></Icon> <ButtonLooksLike></ButtonLooksLike> <OnButtonClick> <ActionType>ProcessResultSet</ActionType> <StoredProcedure></StoredProcedure> <CloseScreenAfterAction></CloseScreenAfterAction> <RefreshAfterAction>screen</RefreshAfterAction> </OnButtonClick> <Visible type="" return="" default=""></Visible> <Readonly type="" return="" default=""></Readonly> <Tooltip type="" return="" default=""></Tooltip> </Control> <!-- Button:Outer type control --> <Control> <Type>Button</Type> <Name></Name> <CloseWindow></CloseWindow> <Icon></Icon> <ButtonLooksLike></ButtonLooksLike> <OnButtonClick> <ActionType>Outer</ActionType> <Module className="" action=""></Module> </OnButtonClick> <Visible type="" return="" default=""></Visible> <Readonly type="" return="" default=""></Readonly> <Tooltip type="" return="" default=""></Tooltip> </Control> </Controls> </ControlGroup> <ControlGroup name="group4"> <Controls> <!-- HorizontalRule type control --> <Control> <Type>HorizontalRule</Type> <Name></Name> <Visible type="" return="" default=""></Visible> </Control> <!-- Date type control --> <Control> <Type>Date</Type> <Name></Name> <BindingName></BindingName> <Width></Width> <Recomputing></Recomputing> <ClearValueIfNotVisible></ClearValueIfNotVisible> <TouchValueList type="" return="" default=""></TouchValueList> <Visible type="" return="" default=""></Visible> <DefaultValue type="" return="" default=""></DefaultValue> <SessionValue type="" return="" default=""></SessionValue> <ValidateRule type="" return="" default=""></ValidateRule> <WorkflowRequired type="" return="" default=""></WorkflowRequired> <Required type="" return="" default=""></Required> <Readonly type="" return="" default=""></Readonly> <ComputedValue type="" return="" default=""></ComputedValue> <Tooltip type="" return="" default=""></Tooltip> <Warning type="" return="" default=""></Warning> <PlaceHolder type="" return="" default=""></PlaceHolder> </Control> <!-- DocumentTextBox type control --> <Control> <Type>DocumentTextBox</Type> <Name></Name> <BindingName></BindingName> <Width></Width> <Screen></Screen> <DataDefinition></DataDefinition> <KeyColumnDefinition></KeyColumnDefinition> <ValueColumn></ValueColumn> <IsDocumentVersioningEnabled></IsDocumentVersioningEnabled> <DocumentObjectType></DocumentObjectType> <FileSizeLimit></FileSizeLimit> <AllowedMIMETypes></AllowedMIMETypes> <Recomputing></Recomputing> <ClearValueIfNotVisible></ClearValueIfNotVisible> <ConnectedControls> <ConnectedControl column="" displayColumn=""></ConnectedControl> </ConnectedControls> <TouchValueList type="" return="" default=""></TouchValueList> <Visible type="" return="" default=""></Visible> <DefaultValue type="" return="" default=""></DefaultValue> <SessionValue type="" return="" default=""></SessionValue> <ValidateRule type="" return="" default=""></ValidateRule> <WorkflowRequired type="" return="" default=""></WorkflowRequired> <Required type="" return="" default=""></Required> <Readonly type="" return="" default=""></Readonly> <ComputedValue type="" return="" default=""></ComputedValue> <Tooltip type="" return="" default=""></Tooltip> <Warning type="" return="" default=""></Warning> <PlaceHolder type="" return="" default=""></PlaceHolder> </Control> <!-- InnerComponent type control --> <Control> <Type>InnerComponent</Type> <Name></Name> <Width></Width> <Recomputing></Recomputing> <ClearValueIfNotVisible></ClearValueIfNotVisible> <Component></Component> <Visible type="" return="" default=""></Visible> </Control> <!-- IFrame type control --> <Control> <Type>IFrame</Type> <Name></Name> <BindingName></BindingName> <Recomputing></Recomputing> <ClearValueIfNotVisible></ClearValueIfNotVisible> <Width></Width> <Height></Height> <Visible type="" return="" default=""></Visible> <DefaultValue type="" return="" default=""></DefaultValue> <ComputedValue type="" return="" default=""></ComputedValue> </Control> <Control> <Type>SignaturePad</Type> <Name></Name> <BindingName></BindingName> <Width></Width> <Height></Height> <Visible type="" return="" default=""></Visible> <WorkflowRequired type="" return="" default=""></WorkflowRequired> <Required type="" return="" default=""></Required> <Readonly type="" return="" default=""></Readonly> </Control> </Controls> </ControlGroup> </ControlGroups> <ControlGroupOrders> <!-- Form-on definiált automata group order --> <ControlGroupOrder isAutomatic="true"> </ControlGroupOrder> <!-- Form-on definiált manuális group order --> <ControlGroupOrder isAutomatic="false"> <ControlGroup>group1</ControlGroup> <ControlGroup>group2</ControlGroup> <ControlGroup>group3</ControlGroup> <ControlGroup>group4</ControlGroup> </ControlGroupOrder> <!-- Fragment-en definiált automata group order --> <ControlGroupOrder form="" isAutomatic="true"> </ControlGroupOrder> <!-- Fragment-en definiált manuális group order --> <ControlGroupOrder form="" isAutomatic="false"> <ControlGroup>group1</ControlGroup> <ControlGroup>fragment_group1</ControlGroup> <ControlGroup>group2</ControlGroup> <ControlGroup>group3</ControlGroup> <ControlGroup>fragment_group2</ControlGroup> <ControlGroup>group4</ControlGroup> </ControlGroupOrder> </ControlGroupOrders> </Form>

  • Last update: 4 weeks 1 days ago
  • Effector