Ayuda sobre productos BOLD:

Generación de documentos vinculados a la contratación

Página:
< Volver

Las empleadas y empleados tienen la opción de consultar sus contratos y de firmarlos desde la App.
Para habilitar esta funcionalidad es necesario tener una serie de requisitos:

Definir estados de contratos

Las usuarias y usuarios de la App pueden consultar sus contratos en forma de listado, en la lista de contratos hay posibilidad de firmarlos y/o descargarlos. Esto dependerá del estado del contrato.
Los estados van asignados a números, dependiendo de la configuración del cliente.

Para configurar los números de estado hay que acceder a Configuración general , dentro del menú Configuración.

Asignamos los estados correspondientes al estado Firmados y Pendientes de firmar, los selectores contienen la lista de estados y clicamos Guardar.

Añadir variable DocumentAppSet o DocumentSet

En la pantalla del contrato de la persona empleada (se puede acceder desde la ficha del empleado > Historial de contratos o desde Datos maestros), accedemos a la pantalla «Auxiliares» y añadimos la «Propiedad alfanumérica» en Nombre DocumentAppSet o DocumentSet, es importante que se escriba tal como aparece en esta documentación, y finalmente como Valor le ponemos el nº de Juego de documentos que queremos asociar al contrato.

Configuración en queryCustom.xml

Configuración de queryCustom.xml (esto se simplificará más en un futuro, obtendremos los estados Firmado y Pendiente definidos en la base de datos):

<DefaultObjectValues>

... 
...
...   

<DefaultValue EventName="OnUpdateObject" Class="ContractWorker" Attribute="SystemProps.TokenSMS">
        <![CDATA[
        If(State==6 AND ID_VERSION > 1,
     If(Object(ID,"ContractWorker").State != 6 ,GetRandomNumber(5))
     )
     ]]>
</DefaultValue>     
<DefaultValue EventName="OnUpdateObject" Class="ContractWorker" Attribute="SystemProps.SignByAppDate">
        <![CDATA[
        If(State == 15 AND ID_VERSION > 1, 
    If(Object(ID,"ContractWorker").State == 6 ,TodayTime())
    )
    ]]>
</DefaultValue>     
 <DefaultValue EventName="OnUpdateObject" Class="ContractWorker" Attribute="SystemProps.SignByAppDate">
        <![CDATA[
        If(ID_VERSION > 1 && State == 6, 
    If(Object(ID,"ContractWorker").State != 6 , GetFromEverDate())
    )
    ]]>
</DefaultValue>
</DefaultObjectValues>



<PredefinedQueries>

...
...
...

<Query Name='AppContractWorkerForWorkerList'>
<Return>1</Return>
<ORACLE>
<MSSQL>
<![CDATA[
select * from (
SELECT ROW_NUMBER() OVER ( ORDER BY Z.ContractStart desc ) AS RowNum, * FROM (

select ID, convert (varchar, cw.STARTCONTRACT, 126) as ContractStart, convert (varchar, cw.AdminEnd, 126) as AdminEnd,
case cw.state when 6 then 1 else 0 end as SignPending, case cw.state when 15 then 1 when 6 then 1 else 0 end as CanDownload
from WPCONTRACTWORKER_TB cw
where cw.ACTIVO=1 and cw.ID_WPAdminCW is null
and cw.ID_WPWORKER=@pIdWorker and cw.state in (6,15)
) Z
) AS RowConstrainedResult WHERE RowNum >= @pPageIni AND RowNum < @pPageEnd ORDER BY RowNum

]]>
</MSSQL>

</ORACLE>
</Query>

</PredefinedQueries>


<DynamicClasses>
...
...
...
     <DynamicClass Name="ContractWorkerBean" ShowName="Firma de contratos" Description="Campos para firma de contratos" AllowOverride="true">
     <!-- CAMPOS PARA FIRMA de CONTRATOS -->
     <Attribute Type="string" Name="TokenSMS" ShowName="TokenSMS" Description=""        Default="" ReadOnly="1" Visible="false"/>
     <Attribute Type="dateTime" Name="SignByAppDate" ShowName="Fecha firma APP" Description="" Default="GetFromEverDate" ReadOnly="1" Visible="false"/>     
     </DynamicClass>
</DynamicClasses>


<TBoldActionConfigList>
...
...
...
	<TBoldAction Name="Act_MenuMasterDocTemplateCollection_Web" ShowName="Juegos de documentos" UserAccess="u_Administrador, u_Parametrizador, u_Planificador, u_Integrador, u_Consultor, u_Supervisor" Visible="true" Enabled="true"/>
        <TBoldAction Name="Act_MenuMasterDocTemplate_Web" ShowName="Plantillas de documentos" UserAccess="u_Administrador, u_Parametrizador, u_Planificador, u_Integrador, u_Consultor, u_Supervisor" Visible="true" Enabled="true"/>
        <TBoldAction Name="Act_ConfigShowButtonDownloadContract_Web" ShowName="Descargar contrato" UserAccess="u_Administrador, u_Parametrizador, u_Planificador, u_Integrador, u_Consultor, u_Supervisor" Visible="true" Enabled="true"/>
</TBoldActionConfigList>

Añadir variable en JSON del cliente en la APP

Para poder visualizar el listado de contratos en la App, es necesario añadir la siguiente variable al JSON que utiliza la App (ftp) del cliente:

"isContractListEnabled": true,

Hay posibilidad de poder firmar con la cámara del móvil, si el cliente desea deshabilitar la función hay que añadir la siguiente variable:

"isContractSignWithCameraEnabled": false

Creación de juegos de documentos

Un juego de documentos es un conjunto de plantillas en formato pdf. Para crear un juego de documentos, se tendrá que subir el conjunto de plantillas que necesitamos.

Crear plantillas

Activando la BoldAction Act_MenuMasterDocTemplate_Web nos permite acceder a la opción ‘Plantillas de documentos’ dentro del menú de ‘Configuración’.

La imagen tiene un atributo ALT vacío; su nombre de archivo es image.png

Para introducir una nueva plantilla:
1 – Nueva
2 – Seleccionar archivo
3 – Procesar nueva plantilla

La imagen tiene un atributo ALT vacío; su nombre de archivo es Captura-de-pantalla-2021-06-07-131612-1024x214.png

Una vez procesada nos aparecen los campos del formulario pdf, se pueden asignar
expresiones a cada uno y evaluarlas, y finalmente Grabar la plantilla.
Existen dos campos clave que tienen que existir en el pdf en caso de:
– Querer ocultar la plantilla en el juego de documentos: Invisible
– Querer añadir la posibilidad de firmar desde la App: Signature

El uso de Invisible es sencillo, mientras el campo exista con valor true, el documento será ocultado.
El campo Signature de los documentos pdf tiene 4 parámetros por defecto: ancho,alto,posX,posY

  •  Si se añaden N parámetros a los 4 originales, se indican las hojas que queremos firmar del documento

Formato:
ancho,alto,posX,posY,numPag,numPag
Ejemplo:
60,60,425,650,1,3
esto indica que se va a firmar la primera y tercera hoja, dejando la segunda sin firmar

  • Si se introducen los 4 parámetros, la firma aparece en todas las hojas del documento

Ejemplo 2:
ancho,alto,posX,posY
60,60,425,650
así se firma todas las hojas del documento

Se puede hacer una prueba en «Generar PDF» seleccionando una persona empleada y el tipo de contrato.

Crear Juego de documentos

Con la BoldAction Act_MenuMasterDocTemplateCollection_Web activada, se puede acceder en el menú de configuración a Juegos de documentos.
Se ofrece una interfaz sencilla donde se nombra el Juego de documentos, se añade la serie de plantillas que se desee y se clica al botón Guardar.
Se puede hacer una prueba en «Generar PDF» seleccionando una persona empleada y el tipo de contrato.

Descargar contratos

Con la BoldAction Act_ConfigShowButtonDownloadContract_Web activada, una vez estamos en la ficha de la empleada desde el Gantt, Historial de contratos, aparece un nuevo botón por cada contrato para descargar contrato en cuestión.
Se descargará el contrato firmado(si lo está) de lo contrario se descarga el contrato sin firmar.

Definir carpeta de documentos

Por defecto se guardarán los documentos firmados en el directorio de BoldWebcfg.xml de la instalación, dentro de la carpeta EmployeeFiles, ejemplo:
C:\Program Files (x86)\Global Planning Solutions\Custom_Files\Integration\configuration\production\boldweb\config\EmployeeFiles\{WorkerID}\contratos\{contractWID}\

Es posible personalizar la configuración si introduce la siguiente variable en BoldWebcfg.xml:

    <UploadConfigDir>c:\Ficheros_Adjuntos\</UploadConfigDir>

También en el arranque de node con la variable de entorno process.env.SIGNATURE_DIR podemos asignar la ruta deseada.

El código prioriza la variable de entorno en primer lugar, en segundo la etiqueta en BoldWebcfg y si no existe ninguna, se utiliza la ruta por defecto.

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