Árvore de páginas

Carregando...

01. DATOS GENERALES


Producto

TOTVS Backoffice

Línea de producto: 

Línea Protheus

Segmento:

Backoffice

Módulo:SIGAFAT - Facturación
Función:
RutinaNombre TécnicoFecha
LOCXMEXFunciones Genéricas para Documentos Fiscales para México04/10/2024
INPUTFIELDSMEX.TLPPClase de creación de estructuras de entradas para México04/10/2024
País:México (MEX) 
Ticket:20947516 Pacote: 014663
Requisito/Story/Issue (informe el requisito vinculado):DMINA-24136


02. SITUACIÓN/REQUISITO

Al incluir una Nota de Crédito de Cliente (NCC), el campo Forma Pago (F1_TPDOC), no se inicializa con el valor configurado para el Cliente en el campo Forma Pago (AI0_MPAGO).

03. SOLUCIÓN

En la rutina de Funciones Genéricas para Documentos Fiscales para México (LOCXMEX):

Se realizan ajustes en la función LxMxHab() y la función LxMxFPago() para cumplir con las siguientes reglas de negocio para el campo Forma Pago (F1_TPDOC):

    • Si el Cliente tiene indicado el campo Forma de Pago desde la rutina de Clientes>Información Complementarias, se mostrará el contenido del campo (AI0_MPAGO).
    • Si la Condición de Pago de la Nota de Crédito del Cliente (NCC) tiene asociado el Método de Pago - "PPD - Pago en Parcialidades ó PID - Pago Diferido", entonces se indicará el campo Forma Pago (F1_TPDOC) con valor "99" y no se permitirá su edición. Si el usuario cambia a otra condición de pago que no tenga relacionado el método de pago un Método de Pago - "PPD - Pago en Parcialidades ó PID - Pago Diferido" se permitirá la edición del campo Forma de Pago (F1_TPDOC).

En la rutina de Clase de creación de estructuras de entradas para México (INPUTFIELDSMEX):

En la Función encargada de realizar la función When para el campo F1_TPDOC (WF1_TPDOC_MEX), se agregó el llamado a la función que Bloquea el campo si la Condición de pago es "99" (LxMxHab).


Importante

Para la correcta función del proceso se debe quitar el inicializador estándar del campo Forma Pago (F1_TPDOC).

  1. Realizar un respaldo del repositorio del ambiente (archivo RPO).
  2. Aplicar el parche correspondiente al issue DMINA-24136.
  3. Validar que las rutinas incluidas en el parche coincidan con las mencionadas en la sección Función del encabezado del presente Documento Técnico, así como las fechas.
  4. Realizar los ajustes mencionados en la sección 04. INFORMACIÓN ADICIONAL.
  5. En el módulo Facturación (SIGAFAT) ir al menú Actualizaciones | Archivos | Condiciones de Pago.
    • Configurar una Condición de Pago, informando el campo Met Pago SAT (E4_MPAGSAT) con el valor "PUE".
  6. En el módulo Facturación (SIGAFAT) ir al menú Actualizaciones | Archivos | Clientes.
    • Configurar un Cliente para la Nota de Crédito de Cliente (NCC), informando desde la pestaña Informaciones complementarias el campo Forma Pago (AI0_MPAGO).
  1. Ingresar al módulo Facturación (SIGAFAT) ir al menú Actualizaciones | Facturacion | Generac de Notas de Crédito y Debito (MATA465N).
    • Seleccionar para la creación de una "Nota de Crédito"
    • Informar el encabezado de la Nota de Crédito de Cliente (NCC).
    • Validar que al informar el Cliente, la Forma de Pago (F1_TPDOC), corresponda con el valor que contienen el campo Forma Pago (AI0_MPAGO).
    • Informar el detalle de la Nota de Crédito de Cliente (NCC).
    • Indicar una Condición de Pago con Método de Pago SAT igual a "PUE". (ver pre-condiciones)
    • Guardar la Nota de Crédito de Cliente (NCC).
    • Confirmar la generación y timbrado del CFDI.
    • Revisar el archivo XML deberá contener en el nodo "FormaPago" el valor indicado en la Nota de Crédito de Cliente (NCC) en el campo Forma de Pago (F1_TPDOC).


04. INFORMACIÓN ADICIONAL

Archivo FATEMEX.INI:

Se requiere editar el script actual de generación de CFDI (Archivo XML), actualizando las secciones de acuerdo al siguiente modelo, en donde se agregaron o fueron modificadas líneas para integrar esta nueva funcionalidad.


FATEMEX.INI

En el apartado de [XXX INICIALIZACION]:

(PRE) _aTotal[102] := IIf(SF1->(ColumnPos("F1_TPDOC")) > 0,AllTrim(SF1->F1_TPDOC),AllTrim(AI0→AI0_MPAGO))

En el apartado de ///////////DATOS DE LA FACTURA/////////////////:

//FormaPago
(PRE) cCadOrig += IIf(Empty(_aTotal[102]) .Or. Alltrim(SE4->E4_MPAGSAT) =="PPD","99",_aTotal[102]) + _aTotal[098]

En el apartado de [XXX FACTURA]:

(PRE) _aTotal[001] += ' FormaPago="' + Iif(Empty(_aTotal[102]) .Or. Alltrim(SE4->E4_MPAGSAT) =="PPD","99",_aTotal[102]) + '"'


Actualización de campo en el archivo SX3 – Campos:

Tabla SF1 - Encabezado de Fact. de Entrada.

CampoF1_TPDOC
TipoC - Caracter
Tamaño2
Decimal0
Formato@!
TítuloForma de Pago
DescripciónForma de Pago SAT
Inicializador
ConsultaMEX005
Validación de sistemaVazio() .or. ValidF3I("S005", M->F1_TPDOC,1,2)
Nivel1
Obligatorio
Utilizado
BrowseNo
Help

Informe la Forma de Pago SAT para el Documento generado, de acuerdo al catálogo cFormaPago definido por el SAT. Si la condición de Pago usa un Método de pago "PPD O PID" no se permitirá su edición.

Creación de Disparadores en el archivo SX7 – Disparadores:

Campo DominioF1_FORNECE
Secuencia004
ReglaLxMxHab("F1",.T.)
Campo Ctr. DominioF1_TPDOC
TipoP - Primario
SeekN - No
Campo DominioF1_LOJA
Secuencia004
ReglaLxMxHab("F1",.T.)
Campo Ctr. DominioF1_TPDOC
TipoP - Primario
SeekN - No


¡IMPORTANTE!

La presente solución aplica para versión 12.1.2210 con garantía extendida o superior.


05. ASUNTOS RELACIONADOS

  • Activación de la Forma de Pago en el Documento y no en el Cliente MEX