Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Producto

Solucoes_espanhol
SolucaoTOTVS Backoffice

Línea de producto: 

Linhas_totvs_espanhol
LinhaLínea Protheus

Segmento:

Segmentos_totvs_espanhol
SegmentoServicios

Módulo:SIGAGPE - Gestión de Personal
Función:
RutinaNombre TécnicoFecha
TIMBRERNFunciones Timbrado recibo Recibo de nómina.29-01-Nómina.03/02/2021
MATA486Funciones genéricas XML Recibo de Nómina México03/02/2021
País:México
Ticket:10497786
Requisito/Story/Issue (informe el requisito vinculado):DMINA-10926

...

Dentro de la rutina Recibos de nómina CFDI v 1.2 (GPER884), al momento de realizar el envió de recibos de nómina por email (Pre-Imp/Mail = "Email") de forma masiva (800 recibos o más ), se observa que existe un desborde de memoria , detonando el siguiente error.log :

"Memory Allocation Failure ( 3355832 bytes ) in file d:\bamboo-agent-5.7.2\xml-data\build-dir\tp11-buildv2appsrv-tec11win32rpo32\advtec9_tt11\lib_base\list.hpp at line 813 VALIDARECIBO - TIMBRERN.PRW(174)".

03. SOLUCIÓN

En la rutina de Funciones Timbrado recibo de nóminanómina (TIMBRERN), en :

  • En la función que 

...

  • Valida si el CFDi ya está timbrado (ValidaRecibo) mediante la búsqueda del UUID en el XMLse observa que el uso constante de la función la XmlParserFile esta ocasionando el problema del desbordamiento de memoria.
  • Para evitar el uso de dicha función se realiza un tratamiento para leer el XML en formato Texto

...

  • , haciendo uso de la función FREADSTR() y buscando el elemento TIMBREFISCALDIGITA para validar si el recibo

...

  • ya

...

  • fue timbrado

...

  • .

En la rutina de  Recibos de nómina CFDI v 1.2 (GPER884)en :

  • En la función encargada del Procesamiento de los recibos de nomina (R030Imp), se agrega la referencia del área de trabajo que se esta usando a las instrucciones usadas para moverse al próximo registro (dbskip).
  • En la función que Procesa XML para generar PDF (ImpXML) y la función que Envía correo electrónico con XML y PDF (EnvRecMail), se eliminan las instancias de los objetos en la memoria del servidor al terminar cada proceso con el uso de la función

...

  • FreeObj() para evitar el desbordamiento de memoria.


Totvs custom tabs box
tabsPre-condiciones,Pasos
idsPre-condiciones,Pasos
Totvs custom tabs box items
defaultyes
referenciaPre-condiciones


  1. Respaldar Realizar un respaldo del repositorio del ambiente (archivo .RPO).
  2. Aplicar el parche correspondiente al issue DMINA-10926.
  3. Verificar que la rutina actualizada las rutinas actualizadas en el repositorio, coincida con la descrita las descritas en el encabezado del presente Documento Técnico , así como la fecha(con fecha igual o superior).
  4. En la rutina de Cálculo por procedimientoprocedimiento (GPEM020), realizar el cálculo para los empleados.
  5. En la rutina de Recibos de nómina CFDI v 1.2 (GPER884), contar con los recibos ya timbrados de los empleados (800 o más).
Totvs custom tabs box items
defaultno
referenciaPasos


  1. Ingresar al módulo Gestión de Personal (SIGAGPE), opción e ir al menú "Informes | Periódicos | Recibo de Nómina CFDI v1.2" (GPER884).
  2. Indicar los parámetros requeridos para realizar el envío por email de los recibos de nómina previamente timbrados.
    • En la pregunta Pre-Imp/Mail  indicar la opción = "Email"
    • En la pregunta Enviar Timbrar , indicar la opción "NO".
  3. Verificar que no se presente el desbordamiento de memoria, que se realice el envío masivo correctamente y que se concluya el proceso correctamente..


04. INFORMACIÓN ADICIONAL

...

Card documentos
InformacaoEsta solución aplica para versión Protheus 12.1.17 o superior, con un RPO que cuente con las rutinas correspondientes actualizadas como se indicada en la sección 01 - Datos Generales.
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>