Fejlesztői kézikönyv 6.4

XML Referencia 6.4

Effector Studio 6.4 összefoglaló

Effector Studio 6.4 kézikönyv

Effector WebAPI 6.4 kézikönyv

Fejlesztői kézikönyv 6.3

XML Referencia 6.3

Effector Studio 6.3 összefoglaló

Effector Studio 6.3 kézikönyv

Fejlesztői kézikönyv 6.2

XML Referencia 6.2

Effector Studio 3.2 összefoglaló

Effector Studio 3.2 kézikönyv

EditForm

Ezzel az XML típussal lehet definiálni a szerkesztő képernyőn megjelenő beviteli mezőket, az azokhoz tartozó szabályokat és üzleti logikát. Helyük a Form mappában van, a fájlnév prefixe Form.

/Form

Gyökér elem.

/Form/Caption (String)

A szerkesztő képernyő felirata. Jelenleg nem jelenik meg a felületen, az Effector Studio használja.

/Form/DataDefinition (String)

A szerkesztő képernyőhöz tartozó DataDefinition. A filterek miatt szükséges.

/Form/BusinessObject (String)

A szerkesztő képernyőhöz tartozó üzleti objektum neve. Az adatbázis műveletekhez szükséges.

/Form/Rules

Ezzel a beállítással lehet megadni a szerkesztő képernyő szintű szabályokat (amelyek felülbírálhatóak ControlGroup és Control szinten).

/Form/Rules/Readonly (RuleValueType)

Ezzel a beállítással lehet szerkesztő képernyő szintű Readonly szabályt definiálni. Ez a szabály lesz érvényes az összes olyan Control-ra, amelyre nem érvényes ControlGroup vagy Control szintű Readonly szabály. Ez egy RuleValueType, amelyről bővebb leírás a Szabályok menüpontban található. Opcionális beállítás.

/Form/ReportContentChangedOnValueChange (Boolean)

Opcionális beállítás. Ha a node értéke true, akkor a Mégsem gombra vagy a dialógus ablak jobb felső sarkában lévő "X" gombra kattintva rákérdez a rendszer, hogy az adott ablakon történt módosításokat el akarjuk-e vetni. Alapértelmezett értéke true.

/Form/TemplateURL

Egyedi űrlap megjelenítéséhez használható node, itt lehet megadni az egyedi űrlap URL-jét.

/Form/ControlGroups

Ez a node lényegében a felületen megjelenő beviteli mezők csoportjainak (ControlGroup) definícióját fogja össze.

/Form/ControlGroups/ControlGroup

Beviteli mezők egy csoportja. Tipikusan egy címke és egy beviteli mező tartozik egy csoportba, de lehet egy vagy több elemű is. Minden csoportnak nevet kell adni a name attribútummal.

Példa:

<ControlGroup name="cg_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

Gyűjtemény. Az egy csoportba tartozó kontrollokra tudunk szabályokat illeszteni. Jelenleg Readonly, Visible, Required és WorkflowRequired szabályok támogatottak.

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

Láthatósági szabály a csoport elemeire.

Példa:

<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)

Szerkeszthetőségi szabály a csoport elemeire.

Példa:

<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)

Kötelezőségi szabály a csoport elemeire.

Példa:

<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>Név</Caption>
        </Control>
        <Control>
            <Type>TextBox</Type>
            <Name>TextBox_Name</Name>
            <BindingName>Name</BindingName>
        </Control>
    </Controls>
</ControlGroup>

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

Speciális kötelezőségi szabály a csoport elemeire: csak akkor hajtódik végre az ellenőrzés, ha a szerkesztő képernyőn a "Kész" jelölőnégyzet be van pipálva (vagyis ha az űrlap egy folyamatlépéshez tartozik, akkor készre kell állítanunk a szabály lefutásához).

Példa:

<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_Hianypotlas</Name>
            <Caption>Hiánypótlás?</Caption>
        </Control>
        <Control>
            <Type>ComboBox</Type>
            <Name>ComboBox_Hianypotlas</Name>
            <BindingName>Hianypotlas</BindingName>
            <ComboDefinition>ComboFixedValuesLookup</ComboDefinition>
            <LookupFilterName>GroupNum</LookupFilterName>
            <LookupFilterValue>2</LookupFilterValue>
        </Control>
    </Controls>
</ControlGroup>

/Form/ControlGroups/ControlGroup/Controls

Az egy ControlGroup-ba tartozó Control-ok felsorolását összefogó node.

/Form/ControlGroups/ControlGroup/Controls/Control

Egy ControlGroup-on belüli kontroll. Több Control is megadható egy ControlGroup-on belül, számuk a legtöbb esetben 2 (címke + beviteli mező).

Példa:

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

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

Kötelező beállítás, a beviteli mező (vagy megjelenítő) típusát kell beállítani. A legtöbb beviteli mező típushoz további beállítások tartoznak, tartozhatnak. Lehetséges értékek:

  • TextBox: Szöveg vagy szám bevitelére használható beviteli mező. Ez a beviteli mező lehet több soros is, illetve csillagozott (Password) is.
  • Label: Egyszerű címkét (szöveget jelenít meg), amit a Caption node-ban lehet megadni, illetve ha van BindingName node, akkor annak a mezőnek az értékét jeleníti meg.
  • QueryTextBox: Olyan beviteli mező, amelybe értéket egy gomb megnyomására felugró ablakból lehet választani.
  • Date: Dátum rögzítésére alkalmas beviteli mező.
  • DateTime: Időpont megadására alkalmas beviteli mező.
  • ComboBox: Olyan beviteli mező, amelybe értéket egy lenyíló listából lehet választani.
  • CheckBox: Lényegében egy jelölőnégyzetet jelenít meg.
  • SaveButton: Mentés gomb.
  • CancelButton: Mégsem gomb.
  • DeleteButton: Törlés gomb.
  • Button: Egyedi funkciót ellátó nyomógomb.
  • DocumentTextBox: Dokumentum becsatolására és letöltésére alkalmas beviteli mező.
  • HorizontalRule: Egyszerű vízszintes vonal.
  • InnerComponent: Lényegében egy Component XML-t lehet megjeleníteni az EditForm mezői között (például egy táblázat)
  • IFrame: A BindingName beállításban megadott mezőben tárolt URL-t tölti be.
  • SignaturePad: Olyan beviteli mező, amelyben aláírást lehet rögzíteni (rajzolni lehet bele).

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

A beviteli mező (vagy csak megjelenítő) neve/azonosítója. Egy EditForm-on belül egyedinek kell lennie.

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

Ez a beállítás akkor értelmezett, ha a Type node értéke Label. A címke stílusát adhatjuk meg egy előre definiált CSS osztály segítségével (amelyet a delivery/gfx/style.css fájlban lehet megadni).

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

Ez a beállítás Type = Label, Type = SaveButton, Type = CancelButton, Type = DeleteButton és Type = Button esetén értelmezett, a címke szövegét, illetve a gombok feliratát lehet megadni ebben a beállításban.

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

Opcionális beállítás, a beviteli mező szélességét lehet megadni pixelben. Alapesetben az Effector automatikusan helyezi el a beviteli mezőket, állítja be azok szélességét (tehát figyelmen kívül hagyja ezt a beállítást).

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

Ha az alapértelmezett kontroll helyett egyedi kontrollt szeretnénk használni, akkor annak a definícióját (URL-jét) ebben a node-ban lehet megadni.

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

A BusinessObject-beli mező nevét kell megadni ebben a beállításban, így köti össze a mezőt az üzleti objektummal/adatbázissal.

Fontos: Ez a beállítás Type = HorizontalRule, Type = InnerComponent, Type = SaveButton, Type = CancelButton, Type = DeleteButton és Type = Button esetén NEM használható!

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

Ezzel a beállítással módosítani lehet egy gomb megjelenését úgy, hogy az valamelyik speciális funkciót ellátó gombként nézzen ki. Lehetséges értékei:

  • Auto: Ez az alapértelemezett beállítás, nem változtat semmit a gomb megjelenésén.
  • SaveButton: A gomb úgy fog kinézni mint egy Mentés gomb (Type = SaveButton)
  • CancelButton: A gomb úgy fog kinézni mint egy Mégsem gomb (Type = CancelButton)
  • DeleteButton: A gomb úgy fog kinézni mint egy Törlés gomb (Type = DeleteButton)

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

A gombra egyedi ikont lehet feltenni, az értéke egy speciális CSS osztály. A példában a Másolás gomb címe előtt egy általános fájl másolás ikon jelenik meg.

Példa:

<Control>
    <Name>Copy</Name>
    <Type>Button</Type>
    <Caption>Másolás</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)

Ezzel be lehet állítani, hogy a Mentés és a Mégsem gombok megnyomás után ne záródjon be az ablak. Alapértelmezett beállítása true, azaz bezárja az ablakot.

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

A nyomógombokra további beállításokat lehet megadni ez alatt a gyűjtő tag alatt.

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

  • Outer: A gombbal egy DLL-ben megvalósított szerver oldali funkcionalitást lehet meghívni.
  • Export: A gomb a beépített exportálás funkciót hívja meg.
  • ProcessResultSet: A gomb egy tárolt eljárást hív meg, amely valamilyen feladatot végez majd el. Ez a ProcessResultSet funkció (kötött paraméterek a tárolt eljárásban, kötött adatcserére használt táblák stb.)
  • GenerateDocument: A gombbal a beépített dokumentum létrehozó funkcionalitást lehet meghívni.

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

Ez a beállítás csak akkor használható, ha ActionType értéke Outer vagy Export.

  • A node értéke maga a DLL fájl neve elérési úttal. Az elérési útban feltüntetett [##LocalProgramPath##] szöveget az Effector a mindenkori weboldal bin mappájára cseréli le, így a lefordított DLL fájl bemásolható közvetlenül az Effector program fájljai közé.
  • A className attribútummal kell megadni annak az osztálynak a nevét, amely megvalósítja a kívánt egyedi funkciót.
  • Az action attribútummal lehet kiválasztani a funkción belül, hogy mit szeretnénk végrehajtani (ez nem rendszerszintű és a fejlesztőnek kell ezeket kezelnie).

Példa:

<Control>
    <Name>DLL</Name>
    <Type>ActionButton</Type>
    <Caption>DLL hívás</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)

Ez a beállítás csak akkor érvényes, ha ActionType = ProcessResultSet vagy ActionType = GenerateDocument. Megadja, hogy a művelet végrehajtása után frissüljön-e az egész képernyő, vagy az aktuális komponens. Opcionális beállítás, lehetséges értékei Component, Screen és None. Alapértelmezett értéke None.

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

Ez a beállítás csak akkor érvényes, ha ActionType = ProcessResultSet vagy ActionType = GenerateDocument. Annak a tárolt eljárásnak a nevét kell megadni, amely a ProcessResultSet funkciót végrehajtja, illetve a dokumentum generáláshoz előkészíti az adatokat és beállítja a funkció paramétereit.

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

Ez a beállítás csak akkor érvényes, ha ActionType = ProcessResultSet vagy ActionType = GenerateDocument. Ezzel a beállítással lehet megadni, hogy a funkció elvégzése után az Effector zárja be a képernyőt. Alapértelemezett értéke false, vagyis nem zárja be a képernyőt.

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

Ez a beállítás csak ActionType = Export esetben használható. Lehetőség van az exporthoz további adatforrást megadni. Ezeket a beállításokat fogja össze ez a node.

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

Ez a beállítás csak ActionType = Export esetben használható. Ezeknek a node-oknak az értéke egy-egy DisplayDefinition XML-re hivatkozás. A filterType attribútummal lehet megadni, hogy a bejövő vagy kimenő filtereket használja fel a szűréshez. Az attribútum értéke lehet In ésOut, az alapértelmezett értéke Out.

Példa:

<ControlGroup name="controlGroup_130">
    <Controls>
        <Control>
            <Type>Button</Type>
            <Name>ExportPeopleCompany</Name>
            <Caption>Export (Emberek és cégek)</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/ExcelTemplate (String)

Ez a beállítás csak ActionType = Export esetben használható. Megadható Excel template, amelybe az adatexport történik. A template elérési útját az ExcelTemplate táblában kell megadni. A fillMethod attribútummal lehet szabályozni, hogy az Excel sablon kitöltésekor milyen módszerrel történjen az adatok betöltése. Lehetséges értékei Insert és Overwrite, alapértelmezett értéke Insert. Az Insert beállítás minden adatsornak új Excel sort szúr be, amíg Overwrite esetén felülírja a cellák tartalmát (akkor érdemes használni, ha egy megadott cellatartományt kell kitölteni adatokkal).

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

Ez a beállítás csak ActionType = Export esetben használható. Meg lehet adni, hogy az exportálás paramétereit kiválasztó képernyőn alapértelmezés szerint melyik formátum legyen kijelölve. Értéke lehet: CSV, Excel97To2003 és Xlsx.

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

Ez a beállítás Type = 'QueryTextBox', Type = ComboBox, Type = TextBox, Type = Date és Type = DateTime esetben használható. Ezzel a beállítással a beviteli mező alatt meg lehet jeleníteni egy kiegészítő területet, ahol a szabály által visszaadott kulcs-érték párokat kis nyomógombokként jeleníti meg. Fontos megemlíteni, hogy habár ez RuleValueType típusú beállítás, a type attribútum értékét a rendszer automatikusan lecseréli SQL-re.

Példa:

<ControlGroup name="company">
    <Controls>
        <Control>
            <Type>Label</Type>
            <Name>Label_CompanyID</Name>
            <Caption>Cég</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)

Ez a beállítás Type = QueryTextBox és Type = DocumentTextBox esetben használható. Ezen a DataDefinition-ön keresztül kérdezi le az id értékhez a megjelenítendő szöveget (pl. CompanyID és Name a Company táblából).

Példa 1

<ControlGroup name="controlGroup_30">
    <Controls>
        <Control>
            <Type>Label</Type>
            <Name>Label_CompanyID</Name>
            <Caption>Cég</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>

Példa 2

<ControlGroup name="controlGroup_60">
    <Controls>
        <Control>
            <Type>Label</Type>
            <Name>Label_DocumentID</Name>
            <Caption>Dokumentum</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)

Csak Type = QueryTextBox és Type = DocumentTextBox típusú beviteli mezők esetén használt beállítás. Megadja, hogy a DataDefinition-ben hivatkozott adatforrás WHERE részében milyen SQL kifejezést használva keressük az id-hoz az értéket. A példában a DataDefinitionCompanyEdit DataDefinition-ben definiált lekérdezésben az 1=1 részét a c.CompanyID = '5'-re cseréli (ha az 5-ös id értékkel bíró céget keressük).

Példa:

<ControlGroup name="controlGroup_30">
    <Controls>
        <Control>
            <Type>Label</Type>
            <Name>Label_CompanyID</Name>
            <Caption>Cég</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)

Csak Type = QueryTextBox és Type = DocumentTextBox típusú beviteli mezők esetén használt beállítás. Megadja, hogy a DataDefinition-ben hivatkozott adatforrás eredményének melyik oszlopa tartalmazza az értéket (ami megjelenik a mezőben). A példában a Name oszlop fogja tartalmazni a megjelenített értéket (mondjuk Oriana).

Példa:

<ControlGroup name="controlGroup_30">
    <Controls>
        <Control>
            <Type>Label</Type>
            <Name>Label_CompanyID</Name>
            <Caption>Cég</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)

Csak Type = QueryTextBox és Type = DocumentTextBox típusú beviteli mező esetén használt beállítás. Ez a beállítás QueryTextBox típusú beviteli mező esetén az értékválasztó ablak nevét jelenti, míg DocumentTextBox esetén szabályozza, hogy meglévő dokumentumok közüli választási opciót biztosítunk-e a felhasználónak vagy sem. Mindkét esetben egy Screen XML-re (kiterjesztés nélkül) kell hivatkozni.

Példa:

<ControlGroup name="controlGroup_30">
    <Controls>
        <Control>
            <Type>Label</Type>
            <Name>Label_CompanyID</Name>
            <Caption>Cég</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

Ez a beállítás csak Type = QueryTextBox esetén érvényes. Lehetőség van arra, hogy egyszerre több mezőt is kitöltsünk az adott üzleti objektumban egyetlen lépéssel. Ez a kitöltési definíciókat összefogó node.

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

Ez a beállítás csak Type = QueryTextBox esetén érvényes. Egy mező kitöltését lehet ezzel beállítani. A column attribútum mondja meg, hogy felugró ablak melyik oszlopa lesz a megadott mező értéke. Ha a cél beviteli mező QueryTextBox vagy ComboBox, akkor a displayColumn attribútummal kell megadni, hogy milyen szöveges érték jelenjen meg (tehát a column mondjuk CompanyID, és a displayColumn CompanyName).

Példa:

<ControlGroup name="company">
    <Controls>
        <Control>
            <Type>Label</Type>
            <Name>Label_CompanyID</Name>
            <Caption>Cég</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)

Ez a beállítás csak Type = DateTime esetén érvényes, az időpont választóban ettől az órától kezdve jelennek meg időpontok felsorolva. Alapértelmezett értéke 7 (7:00).

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

Ez a beállítás csak Type = DateTime esetén érvényes, az időpont választóban eddig az óráig bezólag jelennek meg időpontok felsorolva. Alapértelmezett értéke 24 (23:59).

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

Ez a beállítás csak Type = DateTime esetén érvényes, a StartHour és EndHour közötti idő az ebben a beállításban megadott percenként felosztva jelenik meg. Alapértelmezett értéke 5.

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

Ez a beállítás csak Type = ComboBox esetén érvényes, értéke a lenyíló lista elemeit leíró ComboDefinition XML fájl neve a kiterjesztés nélkül.

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

Ez a beállítás csak Type = ComboBox esetén érvényes opcionális beállítás. Ha a hivatkozott lenyíló lista értékkészletét tovább lehet szűkíteni egy filter megadásával, akkor annak a filternek a nevét ebben a beállításban lehet megadni.

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

Ez a beállítás csak Type = ComboBox esetén érvényes opcionális beállítás. Ha a hivatkozott lenyíló lista értékkészletét tovább lehet szűkíteni egy filter megadásával, akkor annak a filternek az értékét ebben a beállításban lehet megadni.

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

Ez a beállítás csak Type = TextBox esetén érvényes opcionális beállítás. Ezzel a beállítással lehet megadni, hogy a beviteli mező jelszó bekérő mezőként jelenjen meg. Alapértelmezett értéke false.

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

Ez a beállítás csak Type = TextBox esetén érvényes opcionális beállítás. Megadásával egy alapszintű maszkolási lehetőséget tudunk beállítani. A maszkban a következő karaktereknek speciális jelentésük van:

  • 9 vagy 0: számok
  • a: kisbetűk
  • A: kis- vagy nagybetűk
  • #: bármilyen betű vagy számjegy
  • *: bármilyen karakter

Példa:

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

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

Ez a beállítás csak Type = TextBox esetén érvényes opcionális beállítás. Ezzel a beállítással meg lehet jeleníteni egy karakterszámlálót. A maximálisan beírható karakterek számát a beviteli mezőköz kapcsolt adatbázisbeli mező hossza határozza meg. Értéke lehet:

  • None: Nincs semmilyen számláló megjelenítve. Ez az alapértelmezett beállítás.
  • Count: A beírt karakterek száma jelenik meg a beviteli mező alatt.
  • Remaining: A még beírható karakterek száma jelenik meg a beviteli mező alatt.

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

Ez a beállítás csak Type = TextBox esetén érvényes opcionális beállítás. Korlátozhatjuk a beírható karakterek számát. Ez a beállítás az adatbázis mező hosszától függetlenül működik.

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

Ez a beállítás csak Type = TextBox esetén érvényes opcionális beállítás. A lebegőpontos számoknál lehet vele korlátozni a tizedes jegyek számát. Alapértelmezett értéke 2.

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

Ez a beállítás csak Type = TextBox esetén érvényes opcionális beállítás. Számok esetén bekapcsolja az ezres csoportosítást. Alapértelmezett értéke true.

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

Technikai jellegű beállítás, ritkán használt. Az Effector alapértelmezetten, védelmi okokból a HTML nyelvben használt kifejezéseket átalakítja, hogy azok biztonságosan tárolhatóak legyenek. Alapértelmezett értéke true, vagyis elvégzi a konverziót. false érték esetén gondoskodni kell arról, hogy a BusinessObject elfogadja az értéket.

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

Ez a beállítás csak Type = TextBox esetén érvényes, a beviteli mezőben megjelenő szöveg igazítását lehet vele beállítani. Lehetséges értékei:

  • Default: Az Effector a mezőben megadható adat (az adatbázisban található mező) típusától függően eldönti, hogy balra vagy jobbra igazítja-e a szöveget (számok jobbra, szöveg balra).
  • Left: A beviteli mezőben balra igazítja a szöveget.
  • Right: A beviteli mezőben jobbra igazítja a szöveget.

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

Ez a beállítás csak Type = TextBox esetén érvényes, azt adja meg, hogy egy- vagy többsoros beviteli mezőt szeretnénk-e megjeleníteni. Alapértelmezett értéke false. Ha a beállítás értéke true, akkor további beállításokat lehet megadni attribútumokkal, amelyek lehetnek:

  • isResizable: Logikai beállítás, megadja, hogy a többsoros beviteli mező átméretezhető-e. Internet Explorer esetén ez a beállítás nem működik. Alapértelmezett értéke true.
  • useHTMLEditor: Logikai beállítás, megadja, hogy a többsoros beviteli mező HTML szerkesztőként jelenjen-e meg.
  • htmlEditorToolbars: Szöveges beállítás, ezzel lehet megadni a HTML szerkesztőnél megjelenő eszköztárakat.
  • useCodeMirror: Logikai beállítás, megadja, hogy a többsoros beviteli mező helyett egy CodeMirror komponens jelenjen-e meg.

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

Beállíthatjuk a beviteli mező magasságát. Ez a beállítás két esetben érvényes:

  • Type = TextBox esetén érvényes, ha IsMultiline értéke true.
  • Type = IFrame esetén.

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

Ez a beállítás csak Type = DocumentTextBox esetén érvényes, a dokumentum verziózást lehet vele kikapcsolni. Alapértelmezett értéke true, tehát be van kapcsolva a dokumentum verziózás.

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

Ez a beállítás csak Type = DocumentTextBox esetén érvényes, a feltölteni kívánt dokumentumok méretének korlátozásához használható, értéke MB-ban értendő. Opcionális, de ajánlott a beállítás.

Példa:

<ControlGroup name="controlGroup_60">
    <Controls>
        <Control>
            <Type>Label</Type>
            <Name>Label_DocumentID</Name>
            <Caption>Dokumentum</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)

Ez a beállítás csak Type = DocumentTextBox esetén érvényes, a feltölteni kívánt dokumentumok típusának korlátozására használható. Az engedélyezett MIME-típusokat szóközzel elválasztva kell felsorolni. Opcionális. Kihagyása esetén bármilyen típusú fájl feltöltése engedélyezett.

Példa:

<ControlGroup name="controlGroup_60">
    <Controls>
        <Control>
            <Type>Label</Type>
            <Name>Label_DocumentID</Name>
            <Caption>Dokumentum</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/IsMultipleFileUploadAllowed (Boolean)

Ez a beállítás csak Type = DocumentTextBox esetén érvényes, true értékre állítva egyszerre több fájlt is fel lehet tölteni ugyanazon dokumentum feltöltő mezőn keresztül. Opcionális, alapértelmezett értéke false.

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

Ez a beállítás csak Type = DocumentTextBox esetén érvényes. Ha a Form (vagy Fragament) nem BusinessObjectDocument-et használ az adatbázis műveletekhez, akkor szükség van a DocumentObjectType node beállításra is. Ez határozza meg, hogy milyen típusú dokumentumról van szó. Ilyen esetben a BusinesObject fájlban az adott mező definíciójában szerepelnie kell az isDocument attribútumnak true értékkel.

Példa:

<ControlGroup name="controlGroup_160">
    <Controls>
        <Control>
            <Type>Label</Type>
            <Name>Label_SzerzodesDocumentID</Name>
            <Caption>Dokumentum</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)

Ez a beállítás csak Type = InnerComponent esetén érvényes, ebben a beállításban kell megadni annak a Component XML fájlnak a nevét (kiterjesztés nélkül), amelyet meg szeretnénk jeleníteni.

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

Ez a beállítás adja meg az egyes beviteli mezőknél, hogy az esetleges számított mezők milyen eseményekre számolódjanak újra. Lehetséges értékei:

  • Always: mindig, az ablak megjelenésekor is
  • OnValueChange: csak érték változáskor (alapértelmezett)
  • TriggerOnRefresh: Az EditForm frissítésekor vegye úgy, mintha változott volna a beviteli mező értéke, így az összes szabály és ComputedValue lefut, ami hivatkozik erre a mezőre – ahol ez be van állítva. A lenti példában frissítéskor azt "hazudja" az Effector, hogy az ID mező értéke változott, és minden olyan szabály lefut, amely tartalmazza a [##Field.ID##] hivatkozást.

Példa:

<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

Nyomógombok esetén értelmezett beállítás. Párbeszédablakot nyit meg a funkció lefutása előtt. Opcionális. A type attribútummal lehet megadni, hogy milyen gombok jelenjenek meg a felugró párbeszédablakon. Lehetséges értékei:

  • OkCancel: A felugró ablak tartalmaz egy "OK" és egy "Mégsem" gombot. Az "OK" gomb megnyomására a művelet folytatódik, a "Mégsem" gomb megnyomására mentés nélkül visszatér az eredeti ablakra.
  • Ok: egy tájékoztató ablakot lehet megjeleníteni mentés előtt
  • Cancel: tájékoztatást jelenít meg, mentés nem történik
  • Custom: A Button beállítással lehet megadni, hogy milyen további gombokat akarunk megjeleníteni a párbeszéd ablakon. Ilyenkor a kiválasztott gomb azonosítóját megkapja a ProcessResultSet funkció.

Példa:

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

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

Ezzel lehet szabályozni, hogy megjelenjen-e a felugró ablak. Ha a szabály értéke true, akkor megjelenik a felugró ablak.

Példa:

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

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

A megjeleníteni kívánt üzenetet kiszámító szabály.

Példa:

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

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

Ez a beállítás csak type = Custom esetén van értelmezve. Egy JSON definíciót kell megadni. A Mégsem gombot külön meg kell jelölni "cancel": true értékkel.

Példa:

<Question type="Custom">
    <Condition type="Constant" return="boolean" default="false">true</Condition>
    <Message type="Constant" return="string" default="">Kérem válasszon!</Message>
    <Buttons><![CDATA[{"option1": { "className": "btn-primary", "label": "Opció 1" }, "option2": { "className": "btn-info", "label": "Opció 2" }, "cancel": { "className": "btn-danger", "label": "Mégsem", "cancel": true }}]]></Buttons>
</Question>

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

Mező kötelezőség beállítása. Amíg a leírt szabály nem teljesül (amíg false a visszatérési értéke), addig nem lehet az adott objektumot elmenteni. Vizuális megjelenítését segíti, ha a címkére is meg van adva ugyanaz a szabály. Ilyen esetben true esetén a címke színe pirosra vált, jelezve ezzel, hogy a mező kitöltése kötelező.

Példa:

<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)

Ugyanarra használható, mint a Required, annyi különbséggel, hogy mindez csak akkor lép életbe, ha készre állítottuk a folyamat aktuális lépését.

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

Szerkeszthetőségi szabály. A szerkeszthetőségi szabályok prioritási sorrendje: EditForm < ControlGroup < Control.

Példa:

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

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

Láthatósági szabály.

Példa:

<Control>
    <Type>TextBox</Type>
    <Name>TextBox_HianypotlasValasz</Name>
    <BindingName>HianypotlasValasz</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)

Validálási szabály. Addig nem engedi elmenteni az űrlapot, amíg az itt definiált feltétel true-t nem ad eredményül, illetve nem logikai visszatérési érték esetén az üres üzenet jelenti, hogy valid a kontrollba írt érték.

Példa 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>

Példa 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)

Ezzel a szabállyal lehet definiálni tooltip szöveget. A tooltip ikon csak akkor jelenik meg (illetve gomb esetén a tooltip cserélődik le), ha ennek a szabálynak a kiértékelése nem üres szöveg.

Példa:

<Control>
    <Type>Label</Type>
    <Name>Label_ClearValueIsNotVisible</Name>
    <Caption>Érték törlése, ha nem látható a mező</Caption>
    <Tooltip type="Constant" default="" return="string">Ha a körtét választom ki a 'Session value' mezőben, akkor ez a ControlGroup eltűnik, és az értéke is törlődik</Tooltip>
</Control>

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

Ez a szabály a Tooltip szabályhoz hasonlóan működik, eltérés, hogy feltűnőbb az ikon.

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

Az üres beviteli mezőkbe írt tájékoztató üzenet.

Példa:

<ControlGroup name="controlGroup_20">
    <Controls>
        <Control>
            <Type>Label</Type>
            <Name>Label_Country</Name>
            <Caption>Ország, megye</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)

Ha egy beviteli mezőben van érték, majd valaminek a hatására lefut erre a mezőre egy láthatósági szabály, és a mező eltűnik, akkor ezen node értékét true-ra állítva kitörlődik a beírt érték. Ennek akkor van jelentősége, ha egy nem látható mező értékét nem szeretnénk elmenteni az adatbázisba. Alapértelmezett értéke false.

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

Csak új objektum rögzítésénél(!) kiértékelt alapértelmezett érték. Az EditForm-on megadott alapértelmezett szabály felülírja a BusinessObject-ben megadott szabályt.

Példa:

<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)

Ezzel a beállítással megjelenik a beviteli mező jobb szélén egy fej, amelyre kattintva az ebben a szabályban megadott értéket állítja be a beviteli mezőbe.

Példa:

<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)

Számított érték, mely folyamatosan függ a többi mező állapotától.

  • Az érték újraszámolódásnál azt veszi figyelembe, hogy a kiértékelésben mely mezőkre hivatkozunk ([##Field.##]). Ezeknek a változására fog valami történni, további beállításokat lásd a Recomputing résznél.
  • Az újraszámolások egyéb szabályokra is hatással vannak, mint pl. Visible, Readonly stb.

Példa:

CheckBox CheckBox_Done Done false

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

Ez a beállítás csak Type = ComboBox esetén érvényes beállítás. Értékkészlet kiszámításához, szűkítéséhez használatos beállítás, a szabály egy WHERE részletet definiál, amit a ComboDefinition-ben levő lekérdezésben az 1=1 helyére ír be.

Példa:

<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

A ControlGroupOrder definíciókat összefogó node.

/Form/ControlGroupOrders/ControlGroupOrder

Egy ControlGroupOrder definicióját összefogó node. Két attribútuma lehet:

  • isAutomatic: Kötelező logikai beállítás. true érték esetén a rendszer automatikusan a ControlGroups alatt definiált sorrendet jeleníti meg, a csak gombokat tartalmazó ControlGroup-ok a form végére kerülnek. Ez a beállítás a Fragment-ben is használható, ilyenkor az a különbség, hogy a gombsorok elé a Fragment mezőt is megjeleníti. Ha az isAutomatic értéke true, akkor az itt megadott sorrendet figyelmen kívűl hagyja.
  • form: Opcionális szöveges beállítás, a Fragment-ben lehet használni. Ezzel a beállítással kell megadni, hogy az itt definiált ControlGroupOrder melyik Form-hoz tartozik.

Példa 1

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

Példa 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)

Ebben a node-ban kell megadni a megjelenítendő ControlGroup-ot. Ezek a beállítások csak akkor lesznek figyelembe véve, ha a ControlGroupOrder-en az isAutomatic beállítás értéke false. Azok a Form-ban vagy Fragment-ben definiált ControlGroup-ok, amelyekre itt nincs hivatkozás, nem jelennek meg a felületen (de a szabályok ettől még lefutnak). A lenti példában a <ControlGroup>controlGroup_220</ControlGroup> származik a Fragment-ből, a többi ControlGroup a Form-ban van definiálva.

Példa:

<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>

Teljes XML beállítás példa

Példa

<?xml version="1.0" encoding="UTF-8"?> <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 tipusú 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 tipusú 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 típusú 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 típusú 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 típusú 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 típusú 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 típusú 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 típusú 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 típusú control --> <Control> <Type>Button</Type> <Name></Name> <CloseWindow></CloseWindow> <Icon></Icon> <ButtonLooksLike></ButtonLooksLike> <OnButtonClick> <ActionType>Export</ActionType> <DataSources> <DataSource filterType=""></DataSource> <Module className="" action=""></Module> </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 típusú 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 típusú 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 típusú control --> <Control> <Type>HorizontalRule</Type> <Name></Name> <Visible type="" return="" default=""></Visible> </Control> <!-- Date típusú 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 típusú 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 típusú control --> <Control> <Type>InnerComponent</Type> <Name></Name> <Width></Width> <Recomputing></Recomputing> <ClearValueIfNotVisible></ClearValueIfNotVisible> <Component></Component> <Visible type="" return="" default=""></Visible> </Control> <!-- IFrame típusú 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>

  • Legutóbb frissítve: 45 w 9 h
  • Effector