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

Fejlesztői kézikönyv 5.5

XML referencia 5.5

Effector Studio 2.0 kézikönyv

Effector Studio 2.0 összefoglaló

EditForm 6.2

Ezzel az XML típussal lehet definiálni a szerkesztő képernyőn megjelenő beviteli mezőket, azokhoz tartozó szabályokat és üzleti logikát lehet megadni. A Form mappában találhatóa meg ezek a fájlok. 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. Használata az Effector Studio miatt érdekes.

/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ülíbí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 figyelmeztet a rendszer, hogy az adott ablakon módosítottuk valamelyik mezőt, és biztosan el akarjuk-e vetni azt. Alapértelmezett értéke true.

/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="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, 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 ki van töltve (vagyis ha folyamatban vesz részt az aktuális esemény, 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.

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 nodeban 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 Type = Label esetén értelmezett. A címke stílusát adhatjuk meg egy előre definiált CSS-osztály segítségével (amleyet 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/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, hogya mentés, mégsem gombok mégse zárják be az ablakot. Alapértelmezett beállítás: true, azaz zárja be 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 lefejlesztett szerver oldali funkcionalitást akarunk meghívni.
  • Export: A gomb a beépített exportálás funkciót fogja használni.
  • ProcessResultSet: A gombbal egy tároltat akarunk meghívni, amely valamilyen feladatot végez majd el. Ez a ProcessResultSet funkció (kötött parméterek a tárolton, kötött adatcserére használt táblák).
  • GenerateDocument: A gombbal a beépített dokumentum létrehozó funkcióonalitást fogjuk 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ájlai 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 rendszer szintű és a fejlesztőnek kell ezeket kitalálni lekezelni).

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. A művelet végrehajtása után frissüljön-e az egész képernyő, vagy az aktuális komponens. Opcionális betűállítás, lehetséges értékei Component, Screen, 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ó élvé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,Out, az alapértelmezett érték: 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/DefaultExportType (Enumeration)

Ez a beállítás csak ActionType = Export esetben használható, ezzel meg lehet adni, hogy az exportálás paramétereit kiválasztó képernyőn alapértelmezés szerint mely Export tartomány legyen kijelölve. Értéke lehet All, Actual és OnlySelected, alapértelemezett érték All. Megjegyzés Ennek a beállításnak nincs túl sok szerepe.

/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 atribú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, Overwrite, alapértelemezett érték Insert. Az Insert beállítás minden adatsornak új Excel sort szúr be az Effector, 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, 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 nyomgógombokként jeleniti 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ítenidő 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. 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édá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. 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 Kft.)

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ő dokumentum közüli választási opciót biztosítunk 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 definició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árva 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őt az ebben a beállításban megadott percenként felosztva jelennek meg a választható értékek. 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 lenyiló 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ése van:

  • 9 vagy 0: számokat
  • a: kisbetűket
  • A: kis- vagy nagybetűket
  • #: 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 karakter-számlálót. É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ámát jeleníti meg az Effector.
  • Remaining: A hátramaradt karakterek számát jeleníti meg az Effector.

/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értelemezett é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ő) tipusától függően eldönti, hogy balra vagy jobbra igazítja a szöveget.
  • 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 megjeleníteni. Alapértelmezett értéke: false. ha a beállíáts értéke true, akkor további beállításokat lehet megadni attribútumokkal, amelyek lehetnek:

  • isResizable: Logikai beállítás, 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ék: false.
  • useHTMLEditor: Logikai beállítás, a többsoros beviteli mező HTML szerkesztőként jelenik 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, a töbsoros beviteli mező helyett egy CodeMirror komponens jelenjen 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értelemezett beállítás: 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 formátumú 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/DocumentObjectType (String)

Ez a beállítás csak Type = DocumentTextBox esetén érvényes. Ha a Form (vagy Fragament) nem BusinessObjectDocument e-t 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:

  • 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ályt, amely tartalmazza a [##Field.ID##] hivatkozást lefut.

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 nem fog történni semmi.
  • Ok: egy tájékoztató ablakot lehet megjeleníteni mentés előtt
  • Cancel: tájékoztatást jelenít meg, de meg is akadályozza a mentést
  • 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 a felugró ablak vagy sem. Ha a szabály értéke végül true lesz, 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 definició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 az, 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, mí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 (illetve gomb esetén a tooltip cserélődik le) csak akkor jelenik meg, 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 a beviteli mezőn meg lehet jeleníteni egy ikont (ház), amelyre kattintva az ebben a szabályban megadott értéket állítja be a beviteli mezőbe. Ha nincs ez a beállítás, akkor nincs kint a beviteli mezőn az ikon sem.

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 mező é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éke esetén a rendszer automatikusan a ControlGroups alatt definiált sorrendben jeleníti meg, a csak gombokat tartalmazó ControlGroup-ok a form végére kerülnek. Ez a beállítás Fragment-ben is használható, ilyenkor az a különbség, hogy a gombsorok elé a Fragment mezőt is megjeleníti. Ha isAutomatic értéke true, akkor az itt megadott sorrendet figyelmen kívűl hagyja.
  • form: Opcionális szöveges beállítás, 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 feltönteni kívánt ControlGroup-ot. Ezek a beállíások csak akkor lesznek figyelembe véve, ha a ControlGroupOrder-en az isAutomatic beállítás értéke false. Azok Form-ban vagy Fragment-ben definiált ControlGroup 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> jön csak a Fragament-ből a többi hivatkozás 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="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 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: 2 nap 11 órája
  • Effector