Histórico da Página
...
Producto |
| ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Línea de producto: |
| ||||||||||||
Segmento: |
| ||||||||||||
Módulo: | SIGAFAT- Facturación | ||||||||||||
Función: |
| ||||||||||||
País: | México (MEX) | ||||||||||||
Ticket: | No aplica | ||||||||||||
Requisito/Story/Issue (informe el requisito vinculado): | DMINA-20950 |
...
Modificar en el nodo cfdi:Comprobante\cfdi:Conceptos\cfdi:Concepto el nodo cfdi:Impuestos por ítem.
Informações title Información El punto de Entrada PEDETIMP, recibe 4 parámetros, donde:
El primer parámetro es de tipo caracter carácter, con las opciones IT para personalizar el nodo cfdi:Impuestos para Impuestos de Traslados e IR para personalizar el nodo cfdi:Impuestos para Impuestos de Retenciones.
El segundo parámetro recibe el valor lógico .T. o .F., que indica si se va a generar la Cadena Original o el XML (.T. es igual a Sí generar la Cadena Original y .F. es igual a Nogenerar el XML).
El tercer parámetro corresponde del código del Producto.
El cuarto parámetro corresponde del número del ítem.
El retorno debe ser un arreglo con valores de tipo caracter.
...
- Personalizar el nodo cfdi:InformacionAduanera.
- Personalizar el nodo cfdi:cfdi:CuentaPredial.
Informações title Información El punto de Entrada PECOMPCON, recibe 2 parámetros, donde:
El primer parámetro es de tipo caracter carácter, con las opciones IA para personalizar el nodo de Información Aduanera y CP para personalizar el nodo de Cuenta Predial
El segundo parámetro recibe el valor lógico .T. o .F., que indica si se va a generar la Cadena Original o el XML (.T. es igual a Sí generar la Cadena Original y .F. es igual a Nogenerar el XML).
El retorno debe ser un valor de tipo caractercarácter.
En la rutinas de Generación de XML para Documentos de Salida (FATSMEX.PRW) y Generación de XML para Documentos de Entrada (FATEMEX.PRW):
...
- Personalizar el valor del atributo SubTotal.
- Personalizar el valor del atributo Total.
- Personalizar el nodo cfdi:Impuestos que corresponde a los Impuestos Totales del Documentos.
Informações title Información El punto de Entrada PEXMLDOC,recibe 2 parámetros, donde:
El primer parámetro es de tipo caracter, con las opciones ST para personalizar el valor del atributo SubTotal, T personalizar el valor del atributo Total y TI para personalizar el nodo cfdi:Impuestos de los impuestos totales del documento.
El segundo parámetro recibe el valor lógico .T. o .F., que indica si se va a generar la Cadena Original o el XML (.T. es igual a Sí generar la Cadena Original y .F. es igual a Nogenerar el XML, y este parámetro no debe aplicar aplica para las opciones ST - Subtotal y T - Total).
El retorno debe ser un valor de tipo caractercarácter.
Aviso title Importante Para los Puntos de Entrada PECOMPCON, PEXMLDOC, PEDETIMP y LOCXCONCEP se tiene acceso a las tablas SF1 - Encabezado de Fact. de Entrada y SF2 - Encabezado de Fact. de Salida.
Ejemplos de los Puntos de Entrada:
Bloco de código title PECOMPCON #include 'protheus.ch' #INCLUDE "FWMVCDEF.CH" #include "FILEIO.CH" User Function PECOMPCON() Local cXMLCon := "" Local cCRLF := (chr(13)+chr(10)) Local cOpc := PARAMIXB[1] //OpiónOpción donde IA - Información Aduanera, CP - Cuenta Predial Local lCadO := PARAMIXB[2] //Indica si es Cadena OrigianOriginal .T. = Si y .F. = No Local cSepa := "|" Local cNPed := "23 47 3807 8003832" Local cCtaP := "15956011002" If Alltrim(cEspecie) $ "NF|NCC" If lCadO If cOpc == "IA" //Información Aduanera cXMLCon := StrTran(cNPed," "," ") + cSepa ElseIf cOpc == "CP" //Cuenta Predial cXMLCon := cCtaP + cSepa EndIf Else If cOpc == "IA" //Información Aduanera cXMLCon := Space(12) + '<cfdi:InformacionAduanera NumeroPedimento="' + cNPed + '"/>' + cCRLF ElseIf cOpc == "CP" //Cuenta Predial cXMLCon := Space(12) + '<cfdi:CuentaPredial Numero="' + cCtaP + '"/>' + cCRLF EndIf EndIf EndIf Return cXMLCon
Bloco de código title PEXMLDOC #include 'protheus.ch' #INCLUDE "FWMVCDEF.CH" #include "FILEIO.CH" User Function PEXMLDOC() Local cOpc := PARAMIXB[1] //OpiónOpción donde IA - Información Aduanera, CP - Cuenta Predial Local lCadO := PARAMIXB[2] //Indica si es Cadena OrigianOriginal .T. = Si y .F. = No Local cXMLRet := "" Local cSepa := "|" Local cSubT := "0.01" Local cTot := "0.01" Local cCRLF := (chr(13)+chr(10)) //Datos Impuestos Totales Local cTotIT := "0.00" Local cBasIT := "0.01" Local cImpT := "002" Local cTpFac := "Tasa" Local cTasCuo := "0.000000" Local cValor := "0.00" If Alltrim(cEspecie) $ "NF|NCC" If cOpc == "ST" //SubTotal cXMLRet := cSubT ElseIf cOpc == "T" //Total cXMLRet := cTot ElseIf cOpc == "D" //Total cXMLRet := "20.00" EndIf If lCadO If cOpc == "TI" //Total de Impuestos cXMLRet := cBasIT + cSepa + cImpT + cSepa + cTpFac + cSepa + cTasCuo + cSepa + cValor + cSepa + cTotIT + cSepa EndIf Else If cOpc == "TI" ////Total de Impuestos cXMLRet := cCRLF + Space(5) + '<cfdi:Impuestos TotalImpuestosTrasladados="' + cTotIT + '" >' + cCRLF cXMLRet += Space(10) + '<cfdi:Traslados>' + cCRLF cXMLRet += Space(15) + '<cfdi:Traslado Base="' + cBasIT + '" Impuesto="' + cImpT + '" TipoFactor="' + cTpFac + '" TasaOCuota="' + cTasCuo + '" Importe="' + cValor + '"/>' + cCRLF cXMLRet += Space(10) + '</cfdi:Traslados>' + cCRLF cXMLRet += Space(5) + '</cfdi:Impuestos>' + cCRLF EndIf EndIf EndIf Return cXMLRet
Bloco de código title LOCXCONCEP #include 'protheus.ch' #INCLUDE "FWMVCDEF.CH" #include "FILEIO.CH" User function LOCXCONCEP() Local cArea := GetArea() Local aDetFac := {"","",0,"","","","","",""} // Arreglo que contiene la información del producto. /* aDetFac[1] := ClaveProdSer aDetFac[2] := No. Identificación aDetFac[3] := Cantidad aDetFac[4] := ClaveUnidad aDetFac[5] := Unidad aDetFac[6] := Descripcion aDetFac[7] := ValorUnitario aDetFac[8] := Importe aDetFac[9] := Descuento */ If Alltrim(cEspecie) $ "NF|NCC" aDetFac[7] := "0.01" aDetFac[8] := "0.01" aDetFac[9] := "0.00" EndIf RestArea(cArea) Return aDetFac
Bloco de código title PEDETIMP #include 'protheus.ch' #INCLUDE "FWMVCDEF.CH" #include "FILEIO.CH" User Function PEDETIMP() Local cOpc := PARAMIXB[1] //OpiónOpción donde IA - Información Aduanera, CP - Cuenta Predial Local lCadO := PARAMIXB[2] //Indica si es Cadena OrigianOriginal .T. = Si y .F. = No Local cProd := PARAMIXB[3] //Código del Producto Local cItem := PARAMIXB[4] //Número de ítem Local aImpDet := {} Local cRetImp := "" Local cBaseI := "0.01" Local cImpto := "002" Local cTipoF := "Tasa" Local cTsaC := "0.000000" Local cImpI := "0.00" Local cCRLF := (chr(13)+chr(10)) Local cSepa := "|" If Alltrim(cEspecie) $ "NF|NCC" If lCadO If cOpc == "IT" cRetImp := cBaseI + cSepa + cImpto + cSepa + cTipoF + cSepa + cTsaC + cSepa + cImpI + cSepa EndIf Else If cOpc == "IT" cRetImp := Space(20) + '<cfdi:Traslado Base="' + cBaseI + '" Impuesto="' + cImpto + '" TipoFactor="' + cTipoF + '" TasaOCuota="' + cTsaC + '" Importe="' + cImpI + '"/>' + cCRLF EndIf EndIf aAdd(aImpDet, cRetImp) EndIf Return aImpDet
...