01. DATOS GENERALES
Producto | |
---|
Línea de producto: | |
---|
Segmento: | |
---|
Módulo: | SIGAGPE - Gestión de Personal |
---|
Función: |
Rutina(s) | Nombre Técnico | Fecha |
---|
GPEM022 | Cálculo de Periodos | 29/04/2021 |
|
---|
País: | Colombia |
---|
Ticket: | 10598668 |
---|
Requisito/Story/Issue (informe el requisito vinculado): | DMINA-11311 |
---|
02. SITUACIÓN/REQUISITO
Cuando se realiza el cálculo de nómina habilitando el trace para obtener el log de cálculo, el sistema visualiza incompleta la información del log, mostrando el siguiente mensaje "ATENCION: Interrupción en la visualización del contenido del archivo, pues este es superior al permitido para visualización."
03. SOLUCIÓN
En el archivo GPEM022.PRW, dentro de la función LoadMemo() se realiza el llamado al punto de entrada GPM022LOG solo cuando la cadena cRetorno sobrepasa los 500,000.00 caracteres.
El punto de entrada GPM022LOG será ejecutado cuando se visualice un archivo log de cálculo desde protheus y este sobrepase los 500,000.00 caracteres.
- Para el almacenamiento del archivo log el usuario contará con las siguientes opciones:
- Seleccionar un directorio donde será guardada una copia del archivo log (MV_LOGLOC = .T.).
- Realizar el guardado de forma automática en el directorio dónde se está ejecutando el SmartClient (MV_LOGLOC = .F.) .
Totvs custom tabs box |
---|
tabs | Pre-Condiciones,Pasos |
---|
ids | Pre-Condiciones,Pasos |
---|
|
Totvs custom tabs box items |
---|
default | yes |
---|
referencia | Pre-Condiciones |
---|
|
|
Totvs custom tabs box items |
---|
|
CASO 1 - Visualización de log sin interrupción (No sobrepasa el límite de caracteres permitidos) Configurar MV_LOGLOC = .T. En el módulo SIGAGPE acceder al menú “Miscelánea | Cálculos | Por Procedimiento (GPEM020)” - Asignar el proceso y el procedimiento LIQ del periodo activo.
- Habilitar grabación y trace.
- Realizar el calculo solo para un empleado.
- Verificar que el calculo se haya ejecutado sin errores.
- En el menú "Otras Acciones" seleccionar la opción "Log"
Se habré una pantalla donde se muestran los archivos de log agrupados por mes. - Seleccionar el log del proceso generado anteriormente.
No se interrumpe la visualización del log ya que el archivo no sobrepasa el limite de caracteres permitidos para la visualización.
CASO 2 - Visualización de log con interrupción (Sobrepasa el límite de caracteres permitidos) Configurar MV_LOGLOC = .T. En el módulo SIGAGPE acceder al menú “Miscelánea | Cálculos | Por Procedimiento (GPEM020)” - Asignar el proceso y el procedimiento LIQ del periodo activo.
- Habilitar grabación y trace.
- Realizar el calculo para dos empleados.
- Verificar que el calculo se haya ejecutado sin errores.
- En el menú "Otras Acciones" seleccionar la opción "Log"
Se abre una pantalla donde se muestran los archivos de log agrupados por mes. - Seleccionar el log del proceso generado anteriormente.
Se abre una pantalla que solicita el directorio dónde será guardada la copia del Log.
- Seleccionar el directorio.
- Confirmar el guardado del log.
- Se interrumpe la visualización del log ya que el archivo sobrepasa el limite de caracteres permitidos para la visualización, sin embargo, el archivo log se guarda en el directorio indicado.
- Revisar que el archivo se haya almacenado en la ruta indicada.
CASO 3 - Visualización de log sin interrupción (No sobrepasa el límite de caracteres permitidos) Configurar MV_LOGLOC = .F. En el módulo SIGAGPE acceder al menú “Miscelánea | Cálculos | Por Procedimiento (GPEM020)” - Asignar el proceso y el procedimiento LIQ del periodo activo.
- Habilitar grabación y trace.
- Realizar el calculo solo para un empleado.
- Verificar que el calculo se haya ejecutado sin errores.
- En el menú "Otras Acciones" seleccionar la opción "Log"
Se habré una pantalla donde se muestran los archivos de log agrupados por mes. - Seleccionar el log del proceso generado anteriormente.
No se interrumpe la visualización del log ya que el archivo no sobrepasa el limite de caracteres permitidos para la visualización.
CASO 4 - Visualización de log con interrupción (Sobrepasa el límite de caracteres permitidos) Configurar MV_LOGLOC = .F. En el módulo SIGAGPE acceder al menú “Miscelánea | Cálculos | Por Procedimiento (GPEM020)” - Asignar el proceso y el procedimiento LIQ del periodo activo.
- Habilitar grabación y trace.
- Realizar el calculo para dos empleados.
- Verificar que el calculo se haya ejecutado sin errores.
- En el menú "Otras Acciones" seleccionar la opción "Log"
Se abre una pantalla donde se muestran los archivos de log agrupados por mes. - Seleccionar el log del proceso generado anteriormente.
Se interrumpe la visualización del log ya que el archivo sobrepasa el limite de caracteres permitidos para la visualización, sin embargo, el archivo log se guarda en el directorio donde se está ejecutando el SmartClient.
- Revisar que el archivo se haya almacenado en la ruta donde se está ejecutando el SmartClient.
|
|
Configurar el parámetros (SX6):
Parámetro | MV_LOGLOC |
---|
Tipo | L |
---|
Descripción | Si .T. muestra pantalla para seleccionar directorio y guardar una copia del log. Si .F. guarda copia de log en directorio de SmartCliet |
---|
Valor Estándar | .T. |
---|
Configurar punto de entrada:
Punto de Entrada: | MV_LOGLOC |
---|
Descripción: | - Si MV_ LOGLOC = .T. el sistema mostrará una pantalla donde se podrá seleccionar el directorio para guardar una copia del archivo log (Solo si P.E. GPM022LOG está compilado en el RPO)
- Si MV_ LOGLOC = .F. o el parámetro noexiste el sistema guardará automáticamente una copia del archivo log en la carpeta donde se esté ejecutando el SmartClient (Solo si P.E. GPM022LOG está compilado en el RPO)
|
Ubicación en Menú: | Miscelánea | Cálculos | Por Procedimiento. |
Eventos: | Visualización de Log de cálculo. |
Programa Fuente: | GPEM022.PRX |
Función: | LOADMEMO
|
Retorno: | Nombre | Tipo | Descripción | Obligatorio |
---|
cRetorno | String | Cadena de caracteres que indica la ubicación donde fue guardado el archivo log o los errores generados durante el proceso de guardado. | No |
|
Dica |
---|
|
#INCLUDE "PROTHEUS.CH" /* {Protheus.doc} GPM022LOG Punto de entrada Muestra una pantalla para elegir el directorio donde será guardada una copia del archivo log @author Alfredo Medrano @version 1.0 @since 27/04/2021 @return String @sample */ User Function GPM022LOG() Local cPath := PARAMIXB[1] //Directorio Local cArquivo := PARAMIXB[2] //Nombre Archivo Local cRetorno := PARAMIXB[3] //Texto de log Local lGerLog := SuperGetMv("MV_LOGLOC",.T.,.F.) //parametro creado por el cliente Local cDirC := "" Local cPathAbs := "" Local lCopy := .F. Local lOk := .F. Local lSave := .F. Local oDlgDir Local oDirC
Default cPath := "" Default cArquivo:= "" Default cRetorno:= ""
cPathRel := GetPvProfString( GetEnvServer() , "StartPath" , "" , GetAdv97() ) cPathRel += "LOG_CALC\" + cArquivo // ruta relativa con archivo cPathAbs := cPath + cArquivo // ruta absoluta con archivo
If lGerLog
DEFINE MSDIALOG oDlgDir FROM 10,05 TO 15, 40 TITLE " Guardar Archivo " // "Directorio" @ 6,2 Say "Directorio: " SIZE 31,07 OF oDlgDir PIXEL @ 5,35 MSGET oDirC VAR cDirC SIZE 100, 08 OF oDlgDir PIXEL HASBUTTON ; VALID {|| cDirC:= cGetFile(,"Selecione el directorio",,,.F.,GETF_LOCALFLOPPY+GETF_LOCALHARD+GETF_NETWORKDRIVE+GETF_RETDIRECTORY), IIF(cDirC!="", .T., .f.)} DEFINE SBUTTON FROM 20,76 TYPE 1 ACTION (lOk:=.T.,oDlgDir:End()) ENABLE OF oDlgDir DEFINE SBUTTON FROM 20, 106 TYPE 2 ACTION oDlgDir:End() ENABLE OF oDlgDir ACTIVATE MSDIALOG oDlgDir CENTERED
If lOk //Verifica si el archivo existe en el directorio del server If File(cPathRel,0 ) //Verifica si el directorio destino existe If ExistDir( cDirC ) lSave := .T. If substr(cDirC, len(cDirC),len(cDirC) ) != "\" cDirC+= "\" EndIf //Verifica si el archivo existe en el directorio destino If File(cDirC+cArquivo) If !(MsgYesNo("El Archivo " + cArquivo + " ya existe en la ruta especificada. Desea sobrescribirlo ?",; "Atención" )) lSave := .F. EndIf EndIf Else MsgInfo( "El directorio especificado " + cDirC + " no existe. Asigne un directorio valido.", "Atención" ) EndIf EndIf EndIf Else cDirC := GetClientDir() // obtiene el directorio en donde se esta ejecutando el SmartClient lSave := .T. EndIf
If lSave //Copia el archivo de la carpeta del servidor a la carpeta especificada lCopy := CpyS2T( cPathRel, cDirC) If lCopy cRetorno += "El Archivo " + cArquivo + " se envio a la siguiente ruta " + cDirC // MsgInfo( "El archivo " + cArquivo + " se guardo correctamente", "Atención" ) Endif
If Ferror() # 0 .And. !lCopy cRetorno += "Error de grabación de archivo - Codigo DOS: " + STR(Ferror(),3) //MsgInfo( "Error de grabación de archivo - Codigo DOS: " + STR(Ferror(),3), "Atención" ) EndIf EndIf
return cRetorno
|
Card documentos |
---|
Informacao | La solución aplica para todos los países, en las versiones 12.1.17 o posteriores. |
---|
Titulo | ¡IMPORTANTE! |
---|
|
05. ASUNTOS RELACIONADOS
HTML |
---|
<style>
div.theme-default .ia-splitter #main {
margin-left: 0px;
}
.ia-fixed-sidebar, .ia-splitter-left {
display: none;
}
#main {
padding-left: 10px;
padding-right: 10px;
overflow-x: hidden;
}
.aui-header-primary .aui-nav, .aui-page-panel {
margin-left: 0px !important;
}
.aui-header-primary .aui-nav {
margin-left: 0px !important;
}
.aui-tabs.horizontal-tabs>.tabs-menu>.menu-item.active-tab a::after {
background: #FF9900; !important
}
.menu-item.active-tab {
border-bottom: none !important;
}
</style>
|