Histórico da Página
01. DATOS GENERALES
Producto |
| ||||||
---|---|---|---|---|---|---|---|
Línea de producto: |
| ||||||
Segmento: |
| ||||||
Módulo: | SIGAFAT - Facturación | ||||||
Función: |
| ||||||
Ticket: | 9236182 | ||||||
Requisito/Story/Issue (informe el requisito vinculado): | DMINA-9641 |
02. SITUACIÓN/REQUISITO
Inicialmente en los archivos de configuración para Generación de XML para Documentos de Salida (FATSMEX.INI) y para la Generación de XML para Documentos de Entrada (FATEMEX.INI ), se utilizaban las varias funciones para la Generación de la estructura y cadena origina original para nodo Conceptos, Impuestos e Impuestos Locales (fGetImps, fGetInfAdu, fCtaPredio, fGetPartes, fTotalImps) localizadas en la rutina de Funciones Genéricas de Localizaciones (LOCXFUNA). El uso de estas funciones permitía que la sección de Conceptos del XML pudiera ser modificada por el usuario.
En las ultimas últimas actualizaciones de la rutina, las funciones encargadas de la Generación de la estructura y cadena origina original para nodo Conceptos, Impuestos e Impuestos Locales (fGetImps, fGetInfAdu, fCtaPredio, fGetPartes, fTotalImps ) fueron reemplazadas por la función fXMLFun.
03. SOLUCIÓN
Se realiza la activación del crea el Punto de Entrada LOCXCONCEP, mediante el cual el usuario podrá definir la información que retornará para el algunos atributos del nodo Conceptos.
...
Totvs custom tabs box | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||
|
04. INFORMACIÓN ADICIONAL
El Punto de Entrada LOCXCONCEP recibe 1 parámetro, se recibe cCodProd que es el código del producto y se retorna y debe retornar un arreglo aDetFac que contiene todos los campos que se pueden modificar a nivel producto ítem.
El array de retorno aDetFac tiene la siguiente estructura:aDetFac
aArray[1] :=
...
Clave de Producto o Servicio
aArray[2] := No. Identificación
...
aArray[3] := Cantidad
...
aArray[4] :=
...
Clave de Unidad *Si es nulo omitir el atributo Unidad
...
aArray[5] := Unidad
...
aArray[6] := Descripción
Ejemplo
Se utiliza El siguiente ejemplo esta hecho utilizando la tabla de Clientes (SA1) en donde se agrego agregá un nuevo campo llamado A1_IDENT.
El arreglo PARAMIXB recibe los parámetros de la función fXMLFun(), en este caso el código de producto, el cual se asigna a la variable cCodProd.
Se crea el arreglo aDetFac en el que se asignan los valores del ítem a reemplazar.
#include 'protheus.ch'
User function LOCXCONCEP()
Local cArea := GetArea()
Local cCodProd := PARAMIXB[1] // Código del producto.
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[2] := AllTrim(SA1-> A1_IDENT)
aDetFac[6] := AllTrim(SA1 -> A1_IDENT)
RestArea(cArea)
Return aDetFac
En este ejemplo se observa que solo se informan el No.identificación y la Descripción del producto, si es requerido modificar algún otro campo solo sólo es necesario informar un valor en la posición del arreglo aDetFac dependiendo del campo que se quiera modificar.
NOTA: Cabe mencionar que al momento de la ejecución del punto de entrada, se puede posicionar en algunas tablas como de Clientes (SA1) y de Productos(SB1), por lo que se podrán utilizar campos que ya existen de estas tablas o campos nuevos que sean agregados y definir la regla para el armado del los atributos del nodo Conceptos.
Card documentos Informacao En el Punto de Entrada LOCXCONCEP el contenido de cada una de los campos en el arreglo aDetFac debe cumplir con lo establecido en el Anexo 20 Guía de llenado de los comprobantes fiscales digitales por Internet ,referente a los atributos del nodo Conceptos considerando que dicha guía puede ser modificada en cualquier momento. Titulo ¡IMPORTANTE!
05. ASUNTOS RELACIONADOS
- Referencia : del SAT, guia del Anexo 20 de CFDI:
http://omawww.sat.gob.mx/tramitesyservicios/Paginas/documentos/GuiaAnexo20.pdf
Templatedocumentos |
---|
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> |