Línea de producto: | Microsiga Protheus. | ||||||
---|---|---|---|---|---|---|---|
Segmento: | Servicios - Mercado Internacional. | ||||||
Módulo: | SIGAFAT - Facturación. | ||||||
Función: |
| ||||||
Ticket: | No aplica. | ||||||
Requisito/Story/Issue (informe el requisito vinculado): | DMINA-6243 | ||||||
Versión: | 12.1.17 | 12.1.23 |
Al realizar la generación de una factura indicando una TES que contenga el impuesto RF0 mediante la opción ExecAuto, el sistema retorna un error y no permite realizar la generación de la factura.
Se obtiene la TES mediante el uso de la función MAFISREF() cuando la inclusión de la factura se realiza mediante la opción ExecAuto en la función A920Total() de la rutina MATA920 y en la función CalcRetFis() de la rutina M460IRF.
Pasos para probar la solución:
Pasos para probar la solución:
Ejemplo de función para generar factura de venta vía ExecAuto:
#Include "PROTHEUS.CH"
User Function MYMATA467N()
Local aCab := {}
Local aLinha := {}
Local aItens := {}
Local cSucursal := "01" //Código sucursal
Local cCliente := "000001 " //Código del cliente
Local cTienda := "01" //Tienda
Local cCodPro := "00000001 " //Código del producto
Local cCondPago := "001" //Condición de Pago
Local cSerie := "A " //Serie factura
Local cNumDoc := "0000000000001" //Número factura
Local cSerie2 := "MXSF" //Serie 2
Local cTes := "501" //Código TES que calcula RF0
Local cCfo := "511 " //Código Fiscal
Private lMsErroAuto := .F.
//Información Encabezado
AAdd( aCab, { "F2_FILIAL" ,cSucursal ,Nil })
AAdd( aCab, { "F2_ESPECIE" ,"NF" ,Nil })
AAdd( aCab, { "F2_TIPO" ,"N" ,Nil })
AAdd( aCab, { "F2_FORMUL" ,"S" ,Nil })
AAdd( aCab, { "F2_CLIENTE" ,cCliente ,Nil })
AAdd( aCab, { "F2_LOJA" ,cTienda ,Nil })
AAdd( aCab, { "F2_SERIE" ,cSerie ,Nil })
AAdd( aCab, { "F2_SERIE2" ,cSerie2 ,Nil })
AAdd( aCab, { "F2_DOC" ,cNumDoc ,Nil })
AAdd( aCab, { "F2_EMISSAO" ,dDataBase ,Nil })
AAdd( aCab, { "F2_MOEDA" ,1 ,Nil })
AAdd( aCab, { "F2_TXMOEDA" ,1 ,Nil })
AAdd( aCab, { "F2_TIPODOC" ,"01" ,Nil })
AAdd( aCab, { "F2_COND" ,cCondPago ,Nil })
AAdd( aCab, { "F2_EST" ,"QRO" ,Nil })
AAdd( aCab, { "F2_PREFIXO" ,"A" ,Nil })
AAdd( aCab, { "F2_REFMOED" ,1 ,Nil })
//Información Ítem 01
AAdd( aLinha, { "D2_FILIAL" ,cSucursal ,Nil })
AAdd( aLinha, { "D2_EST" ,"QRO" ,Nil })
AAdd( aLinha, { "D2_ITEM" ,"01" ,Nil })
AAdd( aLinha, { "D2_COD" ,cCodPro ,Nil })
AAdd( aLinha, { "D2_DOC" ,cNumDoc ,Nil })
AAdd( aLinha, { "D2_QUANT" ,1.00 ,Nil })
AAdd( aLinha, { "D2_PRCVEN" ,100.00 ,Nil })
AAdd( aLinha, { "D2_TOTAL" ,100.00 ,Nil })
AAdd( aLinha, { "D2_TES" ,cTes ,Nil })
AAdd( aLinha, { "D2_CF" ,cCfo ,Nil })
AAdd( aItens, aLinha)
MSExecAuto( { |x,y,z| Mata467n(x,y,z) }, aCab, aItens, 3 )
If lMsErroAuto
MsgStop("Error de grabación.")
MostraErro()
Else
MsgInfo('Incluido con éxito el documento ' + cSerie + cNumDoc)
EndIf
Return