Histórico da Página
...
| Producto |
| ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Línea de producto: |
| ||||||||||||||||||
| Segmento: |
| ||||||||||||||||||
| Módulo: | SIGAFAT - Facturación | ||||||||||||||||||
| Función: |
| ||||||||||||||||||
| País: | COL (Colombia) | ||||||||||||||||||
| Ticket: | 23094663 | ||||||||||||||||||
| Requisito/Story/Issue (informe el requisito vinculado): | DMICNS-23033 |
...
Acorde a la resolución 00165 DIAN mencionando los Cambios cambios para la integración del Anexo 1.9, no es obligatorio para Documento Soporte y Notas de Ajuste realizar la conversión a moneda nacional (COP), sin embargo existen varios clientes que quieren transmitir dichos documentos con sus montos en moneda nacional.
...
| Informações | ||
|---|---|---|
| ||
Documentación The Factory: Reglas de rechazo anexo técnico V 1.9 -Cambios Integración Anexo V 1.9 Resolución: |
03. SOLUCIÓN
En la rutina de Funciones Genéricas de Documentos Electrónicos (M486XFUN):
- En la función encargada de generar los nodos de los impuestos (fgetaxas) y en la función encargada de generar los nodos del detalle de la factura (fGetTaxDet), se realiza el ajuste para considerar el nuevo parámetro MV_CONVEXP para que se realice la conversión de montos a moneda nacional (COP) cuando el valor del parámetro es igual a ".T."
...
- ; para Documento Soporte y Notas de Ajuste Crédito/Débito.
En la rutina de Funciones Genéricas de Facturación Electrónica de Colombia (M486XFUNCO):
- En la Función
- función para llenado de oWSfactura solicitado por TheFactory HKA, con datos obtenidos del XML (M486XMLHKA), se realiza el ajuste para considerar el nuevo parámetro MV_CONVEXP,para que se realice la conversión de montos a moneda nacional (COP) cuando el valor del parámetro es igual a ".T." para Documento Soporte y Notas de Ajuste Crédito/Débito.
| Totvs custom tabs box | ||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||
|
04. INFORMACIÓN ADICIONAL
|
04. INFORMACIÓN ADICIONAL
Archivo FATSCOL.INI:
Se requiere editar el script actual de generación de archivo XML, actualizando las secciones de acuerdo al siguiente modelo, en donde se agregaron o fueron modificadas líneas para integrar esta nueva funcionalidad.
| Informações | ||
|---|---|---|
| ||
En el apartado de [XXX INICIALIZACION] agregar la validación para comprobar los documentos para los cuales se va a realizar la conversión de moneda: (PRE) _aTotal[091] := _aTotal[033]$"NF|NDC" .Or.(SuperGetMV("MV_CONVEXP",.F.,.F.) .and. (SF2->(ColumnPos("F2_MARK")) > 0 .and. SF2->F2_MARK =='S')) En el apartado de [XXX RECEPTOR], agregar los ajustes para generar correctamente los nodos SourceCurrencyCode,SourceCurrencyBaseRate y TargetCurrencyCode: (PRE) _aTotal[001] += IIf( _aTotal[109] <> "COP" , ' <cbc:SourceCurrencyCode>' + Iif(_aTotal[091],"COP",Alltrim( Posicione("CTO",1,xFilial("CTO")+Strzero(SF2->F2_MOEDA,2),"CTO_MOESAT") )) + '</cbc:SourceCurrencyCode>' + ( chr(13)+chr(10) ) , "" ) En la sección de [SD2 INVOICE], agregar los ajustes para generar correctamente los nodos cbc:LineExtensionAmount, cac:AllowanceCharge\cbc:Amount y fe:Price\cbc:PriceAmount (PREREG) (_aTotal[001] += ' <cbc:LineExtensionAmount currencyID=' + '"' + Alltrim( Posicione("CTO",1,xFilial("CTO")+Strzero(SF2->F2_MOEDA,2),"CTO_MOESAT") ) + '"' + '>' + Alltrim(Str(IIf(AllTrim(_aTotal[091].And. SF2->F2_MOEDA<>1,Round(xMoeda(SD2->D2_TOTAL,SF2->F2_MOEDA,1,,MsDecimais(1)+1,SF2->F2_TXMOEDA),MsDecimais(1)),SD2->D2_TOTAL),14,2)) +'</cbc:LineExtensionAmount>' + ( chr(13)+chr(10) ),.T.) (PREREG) (_aTotal[001] += ' <cbc:PriceAmount currencyID=' + '"' + Alltrim( Posicione("CTO",1,xFilial("CTO")+Strzero(SF2->F2_MOEDA,2),"CTO_MOESAT") ) + '"' + '>' + Alltrim(Str(IIf(_aTotal[091].And. SF2->F2_MOEDA<>1,Round(xMoeda(SD2->D2_PRCVEN,SF2->F2_MOEDA,1,,MsDecimais(1)+1,SF2->F2_TXMOEDA),MsDecimais(1)),SD2->D2_PRCVEN),14,2)) +'</cbc:PriceAmount>' + ( chr(13)+chr(10) ),.T.) (PREREG) (_aTotal[001] += IIF(SD2->D2_DESCON > 0, ' <cbc:Amount currencyID="' + Alltrim( Posicione("CTO",1,xFilial("CTO")+Strzero(SF2->F2_MOEDA,2),"CTO_MOESAT") ) + '">' + Alltrim(Str(IIf(_aTotal[091] .And. SF2->F2_MOEDA<>1,Round(xMoeda(SD2->D2_DESCON,SF2->F2_MOEDA,1,,MsDecimais(1)+1,SF2->F2_TXMOEDA),MsDecimais(1)),SD2->D2_DESCON),14,2)) + '</cbc:Amount>' + chr(13)+chr(10), ""),.T.) |
Archivo FATECOLArchivo FATSCOL.INI:
Se requiere editar el script actual de generación de archivo XML, actualizando las secciones de acuerdo al siguiente modelo, en donde se agregaron o fueron modificadas líneas para integrar esta nueva funcionalidad.
| Informações | ||
|---|---|---|
| ||
En el apartado de [XXX INICIALIZACION] agregar la validación para comprobar si existe el nuevo campo AI0_TSlos documentos para los cuales se va a realizar la conversión de moneda: (PRE) _aTotal[117091] := IIF( _aTotal[033] == "NF" .And. AI0"NCC" .Or. (SuperGetMV("MV_CONVEXP",.F.,.F.) .and. ((SF1->(ColumnPos("AI0F1_TSSOPORT")) > 0 .Andand. Alltrim(AI0SF1->AI0>F1_TS) SOPORT == "N",.T. ,.F. 'S') .Or. (SF1->(ColumnPos("F1_MARK")) > 0 .and. SF1->F1_MARK =='S'))) En el apartado de [XXX FACTURARECEPTOR], agregar la referencia al nuevo campo AI0_TS para que cuando exista y con valor igual a "N-No" y sea una Factura de Venta ("NF"), se indique la descripción del descuento del IVA asumido.los ajustes para generar correctamente los nodos SourceCurrencyCode,SourceCurrencyBaseRate y TargetCurrencyCode: (PRE) _aTotal[001] += IIf( _aTotal[109] <> "COP" , ' <cbc:SourceCurrencyCode>' + Iif(_aTotal[091],"COP",Alltrim( Posicione("CTO",1,xFilial("CTO")+Strzero(SF1->F1_MOEDA,2),"CTO_MOESAT") )) + '</cbc:SourceCurrencyCode>' + ( chr(13)+chr(10) ) , "" ) En la sección de [SD1 INVOICE], agregar los ajustes para generar correctamente los nodos cbc:LineExtensionAmount, cac:AllowanceCharge\cbc:Amount y fe:Price\cbc:PriceAmount (PREREG) (_aTotal[001] += ' <cbc:LineExtensionAmount currencyID=' + '"' + Alltrim( Posicione("CTO",1,xFilial("CTO")+Strzero(SF1->F1_MOEDA,2),"CTO_MOESAT") ) + '"' + '>' + Alltrim(Str(IIf(_aTotal[091] .And. SF1->F1_MOEDA<>1,Round(xMoeda(SD1->D1_TOTAL,SF1->F1_MOEDA,1,,MsDecimais(1)+1,SF1->F1_TXMOEDA),MsDecimais(1)),SD1->D1_TOTAL))) +'</cbc:LineExtensionAmount>' + ( chr(13)+chr(10) ),.T.) (PREREG) (_aTotal[001] += IIF(_aTotal[117]SD1->D1_VALDESC > 0, ' <cbc:AllowanceChargeReason><![CDATA[Descuento por IVA asumido]]></cbc:AllowanceChargeReason>Amount currencyID="' + Alltrim( Posicione("CTO",1,xFilial("CTO")+Strzero(SF1->F1_MOEDA,2),"CTO_MOESAT") ) + '">' + Alltrim(Str(IIf(_aTotal[091] .And. SF1->F1_MOEDA<>1,Round(xMoeda(SD1->D1_VALDESC,SF1->F1_MOEDA,1,,MsDecimais(1)+1,SF1->F1_TXMOEDA),MsDecimais(1)),SD1->D1_VALDESC))) + '</cbc:Amount>' + chr(13)+chr(10), ""),.T.) (PREREG) _aTotal[090] := Alltrim(IIf(_aTotal[001] += IIF091] .And. SF1->F1_MOEDA<>1,Str(Round(xMoeda(SD1->D1_VUNIT,SF1->F1_MOEDA,1,,MsDecimais(1)+1,SF1->F1_TXMOEDA),MsDecimais(1)),14,2),Str(SD1->D1_VUNIT,14,2))) |
Parámetros en el archivo SX6 – Parámetros:
Nombre de la Variable | MV_CONVEXP |
Tipo | Lógico |
Descripción | Parámetro para activar la conversión a moneda nacional (COP) al momento de transmitir Documento Soporte y Notas de Ajuste Crédito\Débito. |
| Valor Estándar | .F. |
| Informações | ||
|---|---|---|
| ||
Código: 015412 |
Card documentos Informacao Utilice este box para resaltar información relevante y/o de destaqueLa presente solución aplica para versión 12.1.2210 o superior, y es necesario tener activa la funcionalidad de transmisión electrónica. Titulo ¡IMPORTANTE!



