Para el funcionamiento de la Rutina Automática, es necesario, contar con la compilación de una función de usuario similar al siguiente ejemplo: #Include "PROTHEUS.CH" User Function MyFINA847() Local oError := ErrorBlock({|e|ChecErro(e)}) //en caso de error Local cRetorno := "" Local nRetorno := 0 Local aCab := {} Local aLinha := {} Local aItens := {} Local aInfDoc := {} Local aDocPag := {} Local cForne := "FIN087" Local cBanco := "005" Local cAgencia := "00005" Local cConta := "0000000005" Local cTipoPg := "EF" Local cNumTit := "DOC087541" Local dFechaFP := cToD("17/04/2019") Private lMsErroAuto := .F.
AAdd( aCab, { "F1_FORNECE" , cForne , Nil }) AAdd( aCab, { "F1_LOJA" , "01" , Nil }) AAdd( aCab, { "F1_NATUREZ" , "000001" , Nil }) AAdd( aCab, { "F1_PAGO" , "1" , Nil }) AAdd( aCab, { "F1_SOLFUN" , "" , Nil }) AAdd( aCab, { "F1_VALBRUT" , "1000" , Nil }) AAdd( aCab, { "F1_CF" , "112" , Nil }) AAdd( aCab, { "F1_ZNGEO" , "" , Nil }) AAdd( aCab, { "F1_GRPSUS" , "" , Nil }) AAdd( aCab, { "F1_EST" ,"BA" , Nil}) AAdd( aCab, { "F1_NUMOP" , "" , Nil }) AAdd( aCab, { "F1_OPCELT" , "1" , Nil }) AAdd( aCab, { "F1_RECNO" , "01" , Nil })
aInfDoc := {} AAdd( aInfDoc, { "Filial" , "D MG 01 " , Nil } ) AAdd( aInfDoc, { "Proveedor" , "FIN087" , Nil } ) AAdd( aInfDoc, { "Loja" , "01" , Nil } ) AAdd( aInfDoc, { "Prefijo" , "A " , Nil } ) AAdd( aInfDoc, { "Numero" , "000000000000" , Nil } ) AAdd( aInfDoc, { "Parcela" , " " , Nil } ) AAdd( aInfDoc, { "Tipo" , "NF " , Nil } ) AAdd( aInfDoc, { "NumRec" , 34 , Nil } ) AAdd( aInfDoc, { "valInfor" , 1000 , Nil } ) AAdd( aInfDoc, { "Moneda" , 1 , Nil } ) AAdd( aInfDoc, { "Juros" , 0 , Nil } ) AAdd( aInfDoc, { "Multa" , 0 , Nil } ) AAdd( aInfDoc, { "Descuento" , 0 , Nil } ) AAdd(aDocPag,aInfDoc)
aLinha := {} AAdd( aLinha, { "Tipo" , cTipoPg , Nil } ) AAdd( aLinha, { "Prefijo" , cTipoPg , Nil } ) AAdd( aLinha, { "NumDoc" , cNumTit , Nil } ) AAdd( aLinha, { "Parcela" , " " , Nil } ) AAdd( aLinha, { "Valor" , 1000.00 , Nil } ) AAdd( aLinha, { "Moneda" , 1 , Nil } ) AAdd( aLinha, { "FecEmi" , dFechaFP , Nil } ) AAdd( aLinha, { "FecVenc" , dFechaFP , Nil } ) AAdd( aLinha, { "Banco", cBanco , Nil } ) AAdd( aLinha, { "Agencia", cAgencia , Nil } ) AAdd( aLinha, { "Conta" , cConta , Nil } ) AAdd( aLinha, { "TalonCH" , " " , Nil } ) AAdd( aLinha, { "TipTalon" , " " , Nil } ) AAdd( aItens, aLinha)
lMsErroAuto := .F. MSExecAuto({|x, y, z, a| FINA847(x, y, z, a)},aCab, aDocPag, aItens, 3)
If lMsErroAuto MsgStop("Error de grabacion del registro.") MostraErro() Else MsgAlert('NF incluida con exito.') EndIf
Return
Ejecución de Automatizados. - Descargar los componentes más actuales (Protheus_Data, RPO, Base de Datos).
- Aplicar el parche del Robot.
- P12_SetupRobo_spa_lobo_guara.ptm
- Descargar y compilar los scripts deseados.
- FINA847TestSuite
- FINA847TestGroup
- FINA847TestCase
Ejecución Manual. - Por medio del módulo de configuración(SIGACFG) realizar la configuración de los parámetros pertinentes para el cálculo de Impuestos.
- MV_AGENTE = SSSSS - Indicar si cliente SIGA es agente de retención de diferentes impuestos (verificar documentación de impuestos)
- MV_AGIIBB = BA|CF|TU - Define para que provincias o ciudades el usuario es agente de retención de IIBB.
- En la rutina de Monedas (MATA090) que se encuentra en menú perteneciente al módulo de Financiero (Actualizaciones | Archivos) es necesario que se informe el valor de moneda.
- En la rutina de Productos (MATA010) que se encuentra en menú perteneciente al módulo de Compras (Actualizaciones | Archivos) debe de registrar un producto para realizar sus pruebas.
- En la rutina de Proveedores (MATA020) que se encuentra en menú perteneciente al módulo de Financiero (Actualizaciones | Archivos) debe de ingresar un proveedor.
- En la rutina de Tipos de Entrada y Salida (MATA080) que se encuentra en menú perteneciente al módulo de Financiero (Actualizaciones | Archivos) es necesario contar con una TES que realice el cálculo de IVA.
- En la rutina de Factura de Entrada (MATA101N) que se encuentra en menú perteneciente al módulo de Compras (Actualizaciones | Facturas) debe de ingresar un nueva Nota Fiscal.
|