Plantilla de modelo - Ejemplo de archivo XML de metadatos de configuración

Puede utilizar la plantilla de modelo de ejemplo que se suministra como punto de referencia.

A continuación se muestra una plantilla de modelo de ejemplo:

<Approval <ApprovalConfig>
	<DomainList>
		<Domain Name="Order" DisplayName="b_Order">
			<Attributes>
                <Attribute Name="OrderDate"  DisplayName="b_Return_Order_Date"
					XPath="OrderLine/Order" DefaultQueryType="GREATERTHANEQUAL">
					<QueryTypes>
						<QueryType QueryType="GREATERTHAN" QueryTypeDesc="b_approval_greaterThan">
							<GreexFunction Name="dateGreater" />
							<Configuration>
								<UIControlConfiguration xtype="xapprovaldatecontrol"/>
							</Configuration>
						</QueryType>
						<QueryType QueryType="GREATERTHANEQUAL" QueryTypeDesc="b_approval_greaterThanEq">
							<GreexFunction Name="dateGreaterOrEqual" />
							<Configuration>
								<UIControlConfiguration xtype="xapprovaldatecontrol"/>
							</Configuration>
						</QueryType>
						<QueryType QueryType="EQUALS" QueryTypeDesc="b_approval_equals">
							<GreexFunction Name="equals" />
							<Configuration>
								<UIControlConfiguration xtype="xapprovaldatecontrol"/>
							</Configuration>
						</QueryType>
					</QueryTypes>
				</Attribute>
				<Attribute Name="OrderDate"  DisplayName="b_Order_Creation_Date"
					XPath="OrderLine/SalesOrder" DefaultQueryType="GREATERTHANEQUAL">
					<QueryTypes>
						<QueryType QueryType="GREATERTHAN" QueryTypeDesc="b_approval_greaterThan">
							<GreexFunction Name="dateGreater" />
							<Configuration>
								<UIControlConfiguration xtype="xapprovaldatecontrol"/>
							</Configuration>
						</QueryType>
						<QueryType QueryType="GREATERTHANEQUAL" QueryTypeDesc="b_approval_greaterThanEq">
							<GreexFunction Name="dateGreaterOrEqual" />
							<Configuration>
								<UIControlConfiguration xtype="xapprovaldatecontrol"/>
							</Configuration>
						</QueryType>
						<QueryType QueryType="EQUALS" QueryTypeDesc="b_approval_equals">
							<GreexFunction Name="equals" />
							<Configuration>
								<UIControlConfiguration xtype="xapprovaldatecontrol"/>
							</Configuration>
						</QueryType>
					</QueryTypes>
				</Attribute>
				<Attribute Name="CustomerLevel" DataCaptureName="CustomerLevelAttribute" DisplayName="b_CustomerLevel"
					XPath="OrderLine/Order/Customer" DefaultQueryType="EQUALS">
					<QueryTypes>
						<QueryType QueryType="EQUALS" QueryTypeDesc="b_approval_is">
							<GreexFunction Name="equals" />
							<Configuration ActionURL="/sbc/systemadmin/getCustomerLevel.do">
								<UIControlConfiguration xtype="xapprovalcombocontrol"
									displayField="CodeShortDescription" valueField="CodeValue"
									optionsBinding="CommonCodeList/CommonCode" />
							</Configuration>
						</QueryType>
					</QueryTypes>
				</Attribute>
				<Attribute Name="CustomerType" DisplayName="b_CustomerType"
					XPath="OrderLine/Order/Customer" DefaultQueryType="EQUALS">
					<QueryTypes>
						<QueryType QueryType="EQUALS" QueryTypeDesc="b_approval_is">
							<GreexFunction Name="equals" />
							<Configuration ActionURL="/sbc/systemadmin/getCustomerType.do">
								<UIControlConfiguration xtype="xapprovalcombocontrol"
									displayField="CodeShortDescription" valueField="CodeValue"
									optionsBinding="CommonCodeList/CommonCode" />
							</Configuration>
						</QueryType>
					</QueryTypes>
				</Attribute>
				<Attribute Name="RelationshipType" DisplayName="b_RelationshipType"
					XPath="OrderLine/Order/Customer" DefaultQueryType="EQUALS">
					<QueryTypes>
						<QueryType QueryType="EQUALS" QueryTypeDesc="b_approval_is">
							<GreexFunction Name="equals" />
							<Configuration ActionURL="/sbc/systemadmin/getCustomerRelationshipType.do">
								<UIControlConfiguration xtype="xapprovalcombocontrol"
									displayField="CodeShortDescription" valueField="CodeValue"
									optionsBinding="CommonCodeList/CommonCode" />
							</Configuration>
						</QueryType>
					</QueryTypes>
				</Attribute>
				<Attribute Name="Vertical" DisplayName="b_Vertical"
					XPath="OrderLine/Order/Customer" DefaultQueryType="EQUALS">
					<QueryTypes>
						<QueryType QueryType="EQUALS" QueryTypeDesc="b_approval_is">
							<GreexFunction Name="equals" />
							<Configuration ActionURL="/sbc/systemadmin/getCustomerVertical.do">
								<UIControlConfiguration xtype="xapprovalcombocontrol"
									displayField="CodeShortDescription" valueField="CodeValue"
									optionsBinding="CommonCodeList/CommonCode" />
							</Configuration>
						</QueryType>
					</QueryTypes>
				</Attribute>
				<Attribute Name="CustomerID" DisplayName="b_Customer_ID"
					XPath="OrderLine/Order/Customer" CompareAny="true">
					<QueryTypes>
						<QueryType QueryType="EQUALS" QueryTypeDesc="b_approval_is">
							<GreexFunction Name="equals" />
							<Configuration>
								<UIControlConfiguration xtype="xapprovaltriggercontrol"
									valueBinding="CustomerList/Customer/CustomerID" entity="CustomerSearch"
									singleSelect="true" />
							</Configuration>
						</QueryType>
					</QueryTypes>
				</Attribute>
			</Attributes>
		</Domain>
		<Domain Name="OrderLine" DisplayName="b_OrderLine">
			<Attributes>
				<Attribute Name="MinReturnWindow" DataCaptureName="ReturnWindowAttributePath" DisplayName="b_Min_Return_Window"
					XPath="Dummy" UseExpression="Y" UniqueSearchString="/OrderLine/SalesOrder/@OrderDate,fn:evalXPath" DefaultQueryType="GREATERTHANEQUAL"
					CompareAny="false" >
					<Expression Function="fn:dateGreaterOrEqual(fn:dateAdd (/OrderLine/SalesOrder/@OrderDate,fn:evalXPath({0})), /OrderLine/Order/@OrderDate)" >
					</Expression>
					<QueryTypes>
						<QueryType QueryType="GREATERTHANEQUAL" QueryTypeDesc="b_approval_greaterThanEq">
							<GreexFunction Name="equals" />
							<Configuration ActionURL="/sbc/systemadmin/getReturnWindowAttributes.do">
								<UIControlConfiguration xtype="xapprovalcombocontrol"
									displayField="CodeShortDescription" valueField="CodeValue"
									optionsBinding="CommonCodeList/CommonCode" />
							</Configuration>
						</QueryType>
					</QueryTypes>
				</Attribute>
				<Attribute Name="ItemID" DisplayName="b_Item_ID"
					XPath="OrderLine/ItemDetails" CompareAny="true">
					<QueryTypes>
						<QueryType QueryType="EQUALS" QueryTypeDesc="b_approval_is">
							<GreexFunction Name="equals" />
							<Configuration>
								<UIControlConfiguration xtype="xapprovaltriggercontrol"
									valueBinding="ItemList/Item/ItemID" entity="item" singleSelect="true" />
							</Configuration>
						</QueryType>
					</QueryTypes>
				</Attribute>
				<Attribute Name="GlobalItemID" DisplayName="b_GlobalItemID"
					XPath="OrderLine/ItemDetails" CompareAny="true">
					<QueryTypes>
						<QueryType QueryType="EQUALS" QueryTypeDesc="b_approval_is">
							<GreexFunction Name="equals" />
							<Configuration>
								<UIControlConfiguration xtype="xapprovaltriggercontrol"
									valueBinding="ItemList/Item/ItemID" entity="item" singleSelect="true" />
							</Configuration>
						</QueryType>
					</QueryTypes>
				</Attribute>
				<!-- <Attribute Name="UnitOfMeasure" DisplayName="b_UnitOfMeasure"
					XPath="OrderLine/ItemDetails" DefaultQueryType="EQUALS">
					<QueryTypes>
						<QueryType QueryType="EQUALS" QueryTypeDesc="b_approval_is">
							<GreexFunction Name="equals" />
							<Configuration ActionURL="/sbc/systemadmin/getUnitOfMeasure.do">
								<UIControlConfiguration xtype="xapprovalcombocontrol"
									displayField="Description" valueField="UnitOfMeasure"
									optionsBinding="ItemUOMMasterList/ItemUOMMaster" />
							</Configuration>
						</QueryType>
					</QueryTypes>
				</Attribute> -->
				<!-- <Attribute Name="ProductClass" DisplayName="b_ProductClass"
					XPath="OrderLine/ItemDetails" DefaultQueryType="EQUALS">
					<QueryTypes>
						<QueryType QueryType="EQUALS" QueryTypeDesc="b_approval_is">
							<GreexFunction Name="equals" />
							<Configuration ActionURL="/sbc/systemadmin/getProductClass.do">
								<UIControlConfiguration xtype="xapprovalcombocontrol"
									displayField="CodeShortDescription" valueField="CodeValue"
									optionsBinding="CommonCodeList/CommonCode" />
							</Configuration>
						</QueryType>
					</QueryTypes>
				</Attribute> -->
				<Attribute Name="ManufacturerItem" DisplayName="b_ItemSearch_Manufacturer_Item_ID"
					XPath="OrderLine/ItemDetails/PrimaryInformation" CompareAny="true">
					<QueryTypes>
						<QueryType QueryType="EQUALS" QueryTypeDesc="b_approval_is">
							<GreexFunction Name="equals" />
							<Configuration>
								<UIControlConfiguration xtype="xapprovaltriggercontrol"
									valueBinding="ItemList/Item/ItemID" entity="item" singleSelect="true" />
							</Configuration>
						</QueryType>
					</QueryTypes>
				</Attribute>
				<Attribute Name="CategoryPath" DisplayName="b_Approval_CategoryPath"
					XPath="OrderLine/ItemDetails/CategoryList/Category" DefaultQueryType="STARTSWITH"
					CompareAny="true">
					<QueryTypes>
						<QueryType QueryType="STARTSWITH" QueryTypeDesc="b_approval_startsWith">
							<GreexFunction Name="stringBegins" />
							<Configuration>
								<UIControlConfiguration xtype="xapprovaltriggercontrol"
									valueBinding="CategoryPath" entity="SellingCatalog"
									valueSuffix="/" />
							</Configuration>
						</QueryType>
					</QueryTypes>
				</Attribute>
				<Attribute Name="OrderedQty" DisplayName="b_Ordered_Qty"
					XPath="OrderLine" DefaultQueryType="EQUALS" CompareAny="true">
					<QueryTypes>
						<QueryType QueryType="EQUALS" QueryTypeDesc="b_approval_equals">
							<GreexFunction Name="doubleEqual" />
							<Configuration>
								<UIControlConfiguration xtype="xapprovalnumbercontrol"
									decimalPrecision="4" allowNegative="false" allowDecimals="true" maxValue="99999999999999" />
							</Configuration>
						</QueryType>
						<QueryType QueryType="GREATERTHAN" QueryTypeDesc="b_approval_greaterThan">
							<GreexFunction Name="doubleGreater" />
							<Configuration>
								<UIControlConfiguration xtype="xapprovalnumbercontrol"
									decimalPrecision="4" allowNegative="false" allowDecimals="true" maxValue="99999999999999" />
							</Configuration>
						</QueryType>
						<QueryType QueryType="GREATERTHANEQUAL" QueryTypeDesc="b_approval_greaterThanEq">
							<GreexFunction Name="doubleGreaterOrEqual" />
							<Configuration>
								<UIControlConfiguration xtype="xapprovalnumbercontrol"
									decimalPrecision="4" allowNegative="false" allowDecimals="true" maxValue="99999999999999" />
							</Configuration>
						</QueryType>
						<QueryType QueryType="LESSERTHAN" QueryTypeDesc="b_approval_lessThan">
							<GreexFunction Name="doubleLesser" />
							<Configuration>
								<UIControlConfiguration xtype="xapprovalnumbercontrol"
									decimalPrecision="4" allowNegative="false" allowDecimals="true" maxValue="99999999999999" />
							</Configuration>
						</QueryType>
						<QueryType QueryType="LESSERTHANEQUAL" QueryTypeDesc="b_approval_lessThanEq">
							<GreexFunction Name="doubleLesserOrEqual" />
							<Configuration>
								<UIControlConfiguration xtype="xapprovalnumbercontrol"
									decimalPrecision="4" allowNegative="false" allowDecimals="true" maxValue="99999999999999" />
							</Configuration>
						</QueryType>
					</QueryTypes>
				</Attribute>
			</Attributes>
		</Domain>
	</DomainList>
</ApprovalConfig>

Consulte la tabla siguiente para obtener más información sobre los atributos de XML.


Componente

Tipo de componente

Ubicación de componente

Descripción

Nombre

Atributo

ApprovalConfig/DomainList/
Dominio/

Indica el nombre XML del atributo de entidad.

DataCaptureName Atributo ApprovalConfig/DomainList/ Domain Indica que el atributo pertenece a la regla XML Greex. DataCaptureName sólo es aplicable cuando el ID de validación tiene xml greex predefinido asociado con él.
Nota: El valor de este atributo debe ser igual al nombre del atributo DataCapture

DisplayName

Atributo

ApprovalConfig/DomainList/
Dominio

Indica la clave del paquete de una etiqueta que se visualiza en una lista desplegable para atributos de entidad. Si no se menciona la etiqueta, el atributo Name es considerado como la clave del paquete para visualizar la etiqueta. La entrada de paquete debe estar definida en el archivo de paquete del lado del servidor.

XPath

Atributo

ApprovalConfig/DomainList/
Dominio/Atributos/Atributo

Indica la ruta de acceso XML del elemento al que pertenece el atributo de entidad. La regla XML Greex correspondiente también utiliza esta ruta de acceso XML para localizar el atributo de entidad cuando se está evaluando la regla.

compareAny

Atributo

ApprovalConfig/DomainList/
Dominio/Atributos/Atributo

Indica que el atributo puede comparar cualquiera de los valores de una colección.

QueryTypes

Elemento

ApprovalConfig/DomainList/
Domain/Attributes/Attribute/
QueryTypes

Indica el elemento padre de los tipos de consulta para el atributo de entidad.

QueryType

Elemento

ApprovalConfig/DomainList/
Domain/Attributes/Attribute/
QueryTypes/
QueryType

Indica el tipo de consulta que está soportado para el atributo de entidad. Asegúrese de que se establece el valor del elemento hijo GreexFunction correspondiente.

QueryType

Atributo

ApprovalConfig/DomainList/
Domain/Attributes/Attribute/
QueryTypes/QueryType

Indica el tipo de consulta.

QueryTypeDesc

Atributo

ApprovalConfig/DomainList/
Domain/Attributes/Attribute/
QueryTypes/QueryType

Indica la clave del paquete de la etiqueta que se visualiza para el tipo de consulta en la interfaz de usuario. Esta entrada de paquete debe estar definida en el archivo de paquete del lado del servidor.

GreexFunction

Elemento

ApprovalConfig/Domain/
Attributes/Attribute/
QueryTypes/QueryType/
GreexFunction

Indica la función Greex asociada a un tipo de consulta.

Nombre

Atributo

ApprovalConfig/DomainList/
Domain/Attributes/Attribute/
QueryTypes/QueryType/
GreexFunction

Indica la función Greex asociada a un tipo de consulta para que la condición que utiliza este tipo de consulta pueda transformarse en una regla XML Greex.

Configuración

Elemento

ApprovalConfig/DomainList/
Domain/Attributes/
Atributo/Configuración

Indica que el atributo de entidad tendrá determinadas configuraciones para el control de la interfaz de usuario y los valores posibles para el atributo de entidad.

ActionURL

Atributo

ApprovalConfig/DomainList/
Domain/Attributes/Attribute/
QueryTypes/QueryType/
Configuración

Indica la acción que devuelve la lista de los valores posibles para el atributo de entidad. Esta acción puede devolver la lista estática de valores predefinidos o llamar a la API correspondiente para obtenerlos y luego devolverlos. Por ejemplo, ActionURL puede devolver los valores pertenecientes a los códigos comunes, la moneda y los países o regiones.

UIControlConfiguration

Elemento

ApprovalConfig/DomainList/
Domain/Attributes/Attribute/
QueryTypes/QueryType/
Configuration/
UIControlConfiguration

Indica que el atributo de entidad tendrá determinadas configuraciones para el control de la interfaz de usuario.

xtype

Atributo

ApprovalConfig/DomainList/
Domain/Attributes/Attribute/
QueryTypes/QueryType/
Configuration/
UIControlConfiguration

Indica el tipo de control que se visualiza en la sección Condiciones en la pantalla Resumen de regla de validación y Resumen de regla de sustitución para el atributo de entidad. Para obtener una lista de los xtypes y sus descripciones, consulte la sección siguiente, Los xtype posibles para un atributo XML al definir un atributo de entidad.

decimalPrecision

Atributo

ApprovalConfig/DomainList/
Domain/Attributes/Attribute/
QueryTypes/QueryType/
Configuration/
UIControlConfiguration

Indica el número de dígitos permitidos después de un separador decimal de un número decimal en un campo de número.

allowNegative

Atributo

ApprovalConfig/DomainList/
Domain/Attributes/Attribute/
QueryTypes/QueryType/
Configuration/
UIControlConfiguration

Indica si se permiten valores negativos como una entrada en un campo de número.

minValue

Atributo

ApprovalConfig/DomainList/
Domain/Attributes/Attribute/
QueryTypes/QueryType/
Configuration/
UIControlConfiguration

Indica el valor mínimo que está permitido como una entrada en un campo de número.

maxValue

Atributo

ApprovalConfig/DomainList/
Domain/Attributes/Attribute/
QueryTypes/QueryType/
Configuration/
UIControlConfiguration

Indica el valor máximo que está permitido como entrada en un campo de número.

optionsBinding

Atributo

ApprovalConfig/DomainList/
Domain/Attributes/Attribute/
QueryTypes/QueryType/
Configuration/
UIControlConfiguration

El atributo optionsBinding se utiliza para especificar los elementos que se repiten de la lista que constituye un solo valor de los valores del recuadro combinado o los valores del botón de selección.

Nota: Sólo es aplicable para un recuadro de combinación y un botón de selección.

displayField

Atributo

ApprovalConfig/DomainList/
Domain/Attributes/Attribute/
QueryTypes/QueryType/
Configuration/
UIControlConfiguration

El atributo displayField especifica el atributo cuyo valor se utiliza como etiqueta.

Nota: Sólo es aplicable para un recuadro de combinación y un botón de selección.

valueField

Atributo

ApprovalConfig/DomainList/
Domain/Attributes/Attribute/
QueryTypes/QueryType/
Configuration/
UIControlConfiguration

El atributo valueField se utiliza para identificar de forma exclusiva el elemento que se repite para mostrar el valor correcto de la opción seleccionada de un recuadro combinado o un botón de selección.

obligatorio

Atributo

ApprovalConfig/DomainList/
Domain/Attributes/Attribute/
QueryTypes/QueryType/
Configuration/
UIControlConfiguration

El atributo mandatory se utiliza para definir los campos de captura de datos predefinidos obligatorios. Si el atributo no está presente en el xml de plantilla de modelo, entonces se trata como true. Sin embargo, si se establece el atributo en false, el campo de la interfaz de usuario sería un campo no obligatorio.

Por ejemplo, al crear una regla de validación para el límite de licitación, el tipo de pago y el tipo de captura de pagos pueden definirse como campos opcionales y se pueden personalizar en el xml de plantilla de modelo estableciendo el atributo mandatory="false"

Nota: Este atributo sólo es relevante para los atributos del xml de plantilla de modelo que se utilizan para definir los campos de captura de datos predefinidos.

UseExpression

Atributo

ApprovalConfig/DomainList/
Dominio/Atributos/Atributo

El atributo UseExpression se utiliza en la función greex predefinida anidada para el valor capturado en la interfaz de usuario al crear una condición.

Si UseExpression está configurado como "Y", se deben proporcionar los dos elementos <expression> con una función estática junto con UniqueSearchString.

UniqueSearchString

Atributo

ApprovalConfig/DomainList/
Dominio/Atributos/Atributo

El atributo UniqueSearchString debe estar presente y rellenada con un fragmento de serie cuando el atributo UseExperssion está establecido en "Y".

UniqueSearchString es un fragmento de serie que es común a la función XML greex predefinida que se proporciona como parte de la configuración de fábrica para un atributo de captura de datos y para la función greex predeterminada proporcionada como parte de la definición de metadatos para el atributo en la plantilla de modelo.

Nota: El fragmento de serie debe ser exclusivo en todas las funciones greex predeterminadas en la plantilla de modelo.

Expresión

Elemento

ApprovalConfig/DomainList/
Dominio/Atributos/Atributo

El elemento Expression se utiliza para definir a la función greex anidada.
Nota: El elemento Expression sólo se debe definir si el atributo UseExpression está establecido en "Y".

Función

Atributo

ApprovalConfig/DomainList/
Dominio/Atributos/Atributo/Expresión

Indica la función Greex anidada asociada a un tipo de consulta.
Nota: El atributo Función sólo se debe definir si el atributo UseExpression está establecido en "Y".

xtypes posibles para un atributo XML al definir un atributo de entidad

Los siguientes son los xtypes posibles que pueden utilizarse al definir los valores de los atributos XML para un atributo de entidad:


xtype

Descripción

xapprovaltextcontrol

Se utiliza para mostrar un recuadro de texto en la interfaz de usuario.

xapprovalradiocontrol

Se utiliza para mostrar los botones de selección en la interfaz de usuario.

xapprovaldatecontrol

Se utiliza para visualizar un campo para entrar la fecha en la interfaz de usuario.

xapprovalcombocontrol

Se utiliza para visualizar una lista desplegable en la interfaz de usuario.

xapprovaltriggercontrol

Se utiliza para visualizar un campo de desencadenante en la interfaz de usuario.

xapprovalattributelookup

Se utiliza para mostrar el widget de búsqueda de atributo Item en la interfaz de usuario.

xapprovalnumbercontrol

Se utiliza para visualizar un campo de número en la interfaz de usuario.

xapprovaldatetimecontrol

Se utiliza para visualizar un campo para especificar la fecha y la hora en la interfaz de usuario.


Funciones Greex soportadas en Sterling Business Center

Las siguientes funciones greex se admiten en la interfaz de usuario de Sterling™ Business Center como parte de la plantilla de modelo xml.
GreexFunction
es igual a
doubleEqual
doubleGreater
doubleGreaterOrEqual
doubleLesser
doubleLesserOrEqual
equalsIgnoreCase
stringBegins
dateGreater
dateGreaterOrEqual
timestampGreater
timestampAdd

Nota: En Sterling Business Center, el generador de condiciones greex que se utiliza para la condición de validación sólo da soporte a la agrupación de hasta dos niveles. Es decir, el XML greex predefinido que se utiliza para definir una regla de validación y una regla de sustitución, debe restringir la agrupación a sólo dos niveles de profundidad.

Función greex anidada soportada en la plantilla de modelo de Sterling Business Center

Cuando selecciona un atributo durante la creación de condiciones en la interfaz de usuario de Sterling Business Center y asigna un valor, se genera la siguiente función greex: fn: equals (< Xpath al atributo seleccionado tal como se hace referencia en la plantilla de entrada>, "< valor asignado por el usuario>".

Considere el ejemplo de selección del atributo de nivel de cliente en la interfaz de usuario de Sterling Business Center . Se genera la siguiente función greex : fn: equals ( /OrderLine/Order/Customer/@CustomerLevel, "<valor asignado por el usuario>".Sin embargo, si desea que el valor seleccionado se sitúe en un nivel más profundo, entonces, puede utilizar la función greex anidada que está soportada en la plantilla modelo del Centro de Negocios Sterling.

Considere el ejemplo de un ID de validación de ventana de retorno, donde se selecciona el Xpath desde donde se necesita leer el valor de la ventana de retorno y la función greex que se generará es: fn:dateGreaterOrEqual(fn:dateAdd ( /OrderLine/SalesOrder/@OrderDate, fn:evalXPath(<Xpath>)),/OrderLine/Order/@OrderDate ). En este escenario, puede crear la función greex anidada de la manera siguiente:

  1. Establezca la configuración siguiente en la plantilla de modelo para el atributo de ventana de devolución.
    set UseExpression="Y".
    set UniqueSearchString="<unique string fragment>"
    Nota: Este fragmento debe derivarse de la función greex que se proporciona como parte de un xml greex predefinido para el atributo correspondiente.
  2. Proporcione la función greex anidada bajo el elemento < Expression > como se indica a continuación:
    <Expression Function="fn:dateGreaterOrEqual(fn:dateAdd (/OrderLine/SalesOrder/@OrderDate, fn:evalXPath({0})), /OrderLine/Order/@OrderDate)" >
    					</Expression>
    
    
  3. Proporcione la definición de atributo tal como se indica a continuación:
    <Attribute Name="MinReturnWindow" DataCaptureName="ReturnWindowAttributePath" DisplayName="b_Min_Return_Window"
    					XPath="Dummy" UseExpression="Y" UniqueSearchString="ReturnWindowAttributePath" DefaultQueryType="EQUALS"
    					CompareAny="false" >
    					<Expression Function="fn:dateGreaterOrEqual(fn:dateAdd (/OrderLine/SalesOrder/@OrderDate, fn:evalXPath({0})), /OrderLine/Order/@OrderDate)" >
    					</Expression>
    					<QueryTypes>
    						<QueryType QueryType="EQUALS" QueryTypeDesc="b_approval_equals">
    							<GreexFunction Name="equals" />
    							<Configuration ActionURL="/sbc/systemadmin/getReturnWindowAttributes.do">
    								<UIControlConfiguration xtype="xapprovalcombocontrol"
    									displayField="CodeShortDescription" valueField="CodeValue"
    									optionsBinding="CommonCodeList/CommonCode" />
    							</Configuration>
    						</QueryType>
    					</QueryTypes>
    				</Attribute>
    Nota: UniqueSearchString es un fragmento de cadena que es común tanto para la función greex XML predefinida que se proporciona como parte de la configuración de fábrica para un atributo de captura de datos como para la función greex predeterminada que se proporciona como parte de la definición de metadatos para el atributo en el modelo de plantilla. El fragmento de serie debe ser exclusivo en todas las funciones greex predeterminadas en la plantilla de modelo.