Ayuda sobre productos BOLD:

Configuración de consulta de maestros

Página:
< Volver

ATENCIÓN: El siguiente contenido es de uso avanzado y su utilización puede ocasionar daños irreparables en la configuración del sistema

La consulta MasterGenericQuery del Query es la que se ejecuta para todos los tipos de objetos con maestro. Esta consulta esta definida como:

    <Query Name='MasterGenericQuery' ShowName="Maestros" Type="MasterGroup" NumColumns="2" Description="Maestro de objetos">
        <Metadata>
            <Field Name="Id" InternalFieldName="id" ShowName="Id" Type="int" Width="60" Sortable="true" />
            <Field Name="Nombre" InternalFieldName="nombre" ShowName="Nombre" Type="string" Width="120" Sortable="true" />
            <Field Name="CodExt" InternalFieldName="codext" ShowName="Código externo" Type="string" Width="100" Sortable="true" />
            <Field Name="Description" InternalFieldName="descripcion" ShowName="Descripción" Type="string" Width="200" Sortable="true" />
            <Field Name="CreationDate" InternalFieldName="Creation" ShowName="Creación" Description="Fecha de alta de la solicitud/permiso." Type="date" Width="70" Sortable="true" />
        </Metadata>
        <Return>1</Return>
        <MSSQL>
<![CDATA[
set arithabort on;
select * from (
SELECT ROW_NUMBER() OVER ( ORDER BY Z.:pSort ) AS RowNum, * FROM (
select id, 
       nombre,
       codext,
       descripcion,
       O_CREATEDATE as Creation,
	   isnull(nombre,'') + ' ' + 
	   isnull(codext,'') + ' ' + isnull(descripcion,'') as FindString 
from *TABLE_NAME*
where activo=1 and
(
	( ':pCreationFrom' = '' or ':pCreationTo' = '' )
	or
	(
		CONVERT(datetime, O_CREATEDATE, 126) >= CONVERT(datetime, ':pCreationFrom', 126)
		and
		CONVERT(datetime, O_CREATEDATE, 126) <= CONVERT(datetime, ':pCreationTo', 126)
	)
)
) Z
WHERE isnull(Z.FindString,'') like '%:pParam1%'    
AND (isnull(Z.FindString,'') like '%:pParam2%' OR ':pParam2'='' )
AND (isnull(Z.FindString,'') like '%:pParam3%' OR ':pParam3'='' )
AND (isnull(Z.FindString,'') like '%:pParam4%' OR ':pParam4'='' )
AND (isnull(Z.FindString,'') like '%:pParam5%' OR ':pParam5'='' )
AND (isnull(Z.FindString,'') like '%:pParam6%' OR ':pParam6'='' )
AND (isnull(Z.FindString,'') like '%:pParam7%' OR ':pParam7'='' )
AND (isnull(Z.FindString,'') like '%:pParam8%' OR ':pParam8'='' )
) AS RowConstrainedResult WHERE RowNum >= :pPageIni AND RowNum < :pPageEnd ORDER BY RowNum
]]>
        </MSSQL>
        <ORACLE>
        </ORACLE>
    </Query>

Esta consulta se puede redefinir. Para hacerlo se tienen que tener en cuenta las siguientes peculiaridades:

  • 1. La consulta se debe llamar con el nombre del objeto seguido de «_Search». Por ejemplo, Worker_Search. En el caso de especializaciones de una clase, por ejemplo, los convenios de las empresas, el nombre será del tipo: Company_LabourAgreement_Search.
  • 2. Para que el id muestre un link al objeto se debe escribir en minúsculas( el InternalFieldName).
  • 3. Se debe sustituir *TABLE_NAME* por el nombre de la tabla concreto. Por ejemplo, WPWORKER_TB.
  • 4. Es importante que ShowName de la Query refleje uno de los siguientes valores(respetando los acentos), los maestros que no están aquí no se pueden personalizar, de momento:
    Empleados                      Worker_Search
    Contratos                      ContractWorker_Search
    Necesidades                    Need_Search
    Areas de planificación         PlanArea_Search
    Centros                        PlanArea_Center_Search
    Categorías profesionales       ProfessionalCategory_Search
    Absentismos e incidencias      Incidence_Search
    Ciclos horarios                SequenceSchedule_Search
    Horarios día                   Schedule_Search
    Empresas                       Company_Search
    Convenios                      Company_LabourAgreement_Search
    Usuarios                       User_Search
    Vistas del Gantt               GanttViewDB_Search
    Demandas                       WPDemand_Search
    Actividades                    Activity_Search
    Calendarios                    WPCalendar_Search

Por ejemplo, para las personas empleadas tendremos(he añadido el campo adicional FullName):

    <Query Name='Worker_Search' ShowName="Empleados" Type="MasterGroup" NumColumns="2" Description="Maestro de objetos">
        <Metadata>
            <Field Name="Id" InternalFieldName="id" ShowName="Id" Type="int" Width="60" Sortable="true" />
            <Field Name="Nombre" InternalFieldName="nombre" ShowName="Nombre" Type="string" Width="120" Sortable="true" />
            <Field Name="CodExt" InternalFieldName="codext" ShowName="Código externo" Type="string" Width="100" Sortable="true" />
            <Field Name="Description" InternalFieldName="descripcion" ShowName="Descripción" Type="string" Width="200" Sortable="true" />
            <Field Name="FullName" InternalFieldName="fullname" ShowName="Nombre completo" Type="string" Width="200" Sortable="true" />
            <Field Name="CreationDate" InternalFieldName="Creation" ShowName="Creación" Description="Fecha de alta de la solicitud/permiso." Type="date" Width="70" Sortable="true" />
        </Metadata>
        <Return>1</Return>
        <MSSQL>
<![CDATA[
set arithabort on;
select * from (
SELECT ROW_NUMBER() OVER ( ORDER BY Z.:pSort ) AS RowNum, * FROM (
select id, 
       nombre,
       codext,
       descripcion,
       fullname,
       O_CREATEDATE as Creation,
	   isnull(nombre,'') + ' ' + 
	   isnull(codext,'') + ' ' + isnull(descripcion,'') as FindString 
from WPWORKER_TB
where activo=1 and
(
	( ':pCreationFrom' = '' or ':pCreationTo' = '' )
	or
	(
		CONVERT(datetime, O_CREATEDATE, 126) >= CONVERT(datetime, ':pCreationFrom', 126)
		and
		CONVERT(datetime, O_CREATEDATE, 126) <= CONVERT(datetime, ':pCreationTo', 126)
	)
)
) Z
WHERE isnull(Z.FindString,'') like '%:pParam1%'    
AND (isnull(Z.FindString,'') like '%:pParam2%' OR ':pParam2'='' )
AND (isnull(Z.FindString,'') like '%:pParam3%' OR ':pParam3'='' )
AND (isnull(Z.FindString,'') like '%:pParam4%' OR ':pParam4'='' )
AND (isnull(Z.FindString,'') like '%:pParam5%' OR ':pParam5'='' )
AND (isnull(Z.FindString,'') like '%:pParam6%' OR ':pParam6'='' )
AND (isnull(Z.FindString,'') like '%:pParam7%' OR ':pParam7'='' )
AND (isnull(Z.FindString,'') like '%:pParam8%' OR ':pParam8'='' )
) AS RowConstrainedResult WHERE RowNum >= :pPageIni AND RowNum < :pPageEnd ORDER BY RowNum
]]>
        </MSSQL>
        <ORACLE>
        </ORACLE>
    </Query>
Was this article helpful?
0 out Of 5 Stars
5 Estrellas 0%
4 Estrellas 0%
3 Estrellas 0%
2 Estrellas 0%
1 Estrellas 0%
5
How can we improve this article?
How Can We Improve This Article?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Contenido