#INCLUDE "PROTHEUS.CH"
#INCLUDE "FWMVCDEF.CH"
#INCLUDE "FWEVENTVIEWCONSTS.CH"
User Function F887FINAUTO()
Local oMdlTab
Local jData := JsonObject():New()
Local cCRLF := (chr(10)+chr(13))
Local cMsj := "Recibo registrado con éxito." + cCRLF
Local cRecibo := "02010995" //-> Número de recibo a guardar
Local cSerie := "" //-> Registramos un recibo sin serie
Local cCliente := "000001" //-> Cliente que registraste anteriormente
Local aResTmp := {}
Local nY := 0
SetFunName("FINA887")
oMdlTab := FwLoadModel("FINA887")
oMdlTab:SetOperation(MODEL_OPERATION_INSERT)
oMdlTab:Activate()
//Encabezado - FJT
oMdlTab:SetValue('FJT_MASTER', "FJT_FILIAL" , xFilial("FJT"))
oMdlTab:SetValue('FJT_MASTER', "FJT_DTDIGI" , dDataBase )
oMdlTab:SetValue('FJT_MASTER', "FJT_RECIBO" , cRecibo )
oMdlTab:SetValue('FJT_MASTER', "FJT_SERIE" , cSerie )
oMdlTab:SetValue('FJT_MASTER', "FJT_EMISSA" , dDataBase )
oMdlTab:SetValue('FJT_MASTER', "FJT_NATURE" , "" )
oMdlTab:SetValue('FJT_MASTER', "FJT_CLIENT" , cCliente )
oMdlTab:SetValue('FJT_MASTER', "FJT_LOJA" , "01" )
oMdlTab:SetValue('FJT_MASTER', "FJT_COBRAD" , "" )
oMdlTab:SetValue('FJT_MASTER', "FJT_RECPRV" , "" )
oMdlTab:SetValue('FJT_MASTER', "GERANCC" , "S" )
oMdlTab:SetValue('FJT_MASTER', "DOCUMEN" , "RA" )
//Contabilidad
oMdlTab:SetValue('FJT_MASTER', "ASIENTO" , 2) // Muestra Asientos. 1- Si, 2 - No.
oMdlTab:SetValue('FJT_MASTER', "AGRUPA" , 2) // Agrupa Asientos. 1- Si, 2 - No.
oMdlTab:SetValue('FJT_MASTER', "ONLINE" , 2) // Asientos Online. 1- Si, 2 - No.
//Monedas
oMdlTab:SetValue('MOE_DETAIL',"MOEDA" , "1" )
oMdlTab:SetValue('MOE_DETAIL',"TASA" , 1 )
oMdlTab:SetValue('MOE_DETAIL',"RECIBIDO" , 100 )
oMdlTab:SetValue('MOE_DETAIL',"SALDO" , 0 )
// Agregar la forma de pago
oMdlTab:SetValue('SEL_DETAIL',"EL_CLIENTE" , cCliente )
oMdlTab:SetValue('SEL_DETAIL',"EL_NATUREZ" , "" )
oMdlTab:SetValue('SEL_DETAIL',"EL_LOJA" , "01" )
oMdlTab:SetValue('SEL_DETAIL',"EL_DTDIGIT" , dDataBase )
oMdlTab:SetValue('SEL_DETAIL',"EL_TIPO" , "TF" )
oMdlTab:SetValue('SEL_DETAIL',"EL_FILIAL" , xFilial("SEL"))
oMdlTab:SetValue('SEL_DETAIL',"EL_TIPODOC" , "TF" )
oMdlTab:SetValue('SEL_DETAIL',"EL_MOEDA" , "2" )
oMdlTab:SetValue('SEL_DETAIL',"EL_EMISSAO" ,dDataBase )
oMdlTab:SetValue('SEL_DETAIL',"EL_DTVCTO" ,dDataBase )
oMdlTab:SetValue('SEL_DETAIL',"EL_TPCRED" ,"1" )
oMdlTab:SetValue('SEL_DETAIL',"EL_ACREBAN" ,"1" )
oMdlTab:SetValue('SEL_DETAIL',"EL_TERCEIR" ,"" )
oMdlTab:SetValue('SEL_DETAIL',"EL_ENDOSSA" ,"" )
oMdlTab:SetValue('SEL_DETAIL',"EL_TRANSIT" ,"2" )
oMdlTab:SetValue('SEL_DETAIL',"EL_VERSAO" ,"00" )
oMdlTab:SetValue('SEL_DETAIL',"EL_SELDOC" ,"2" )
oMdlTab:SetValue('SEL_DETAIL',"EL_PREFIXO" ,"TF" )
oMdlTab:SetValue('SEL_DETAIL',"EL_NUMERO" ,"DIF-0000" )
oMdlTab:SetValue('SEL_DETAIL',"EL_VALOR" ,600 )
oMdlTab:SetValue('SEL_DETAIL',"EL_BANCO" ,"001" )
oMdlTab:SetValue('SEL_DETAIL',"EL_AGENCIA" ,"00001" )
oMdlTab:SetValue('SEL_DETAIL',"EL_CONTA" ,"0000000001")
oMdlTab:SetValue('FAC_DETAIL','FACTOR',"2")
oMdlTab:SetValue('GEN_DETAIL',"HOURSAVERECEIPT" , "13:10:40" )
//Se ejecuta el commit
If oMdlTab:VldData()
oMdlTab:CommitData()
Endif
//Se obtienen los errores del modelo
aError := oMdlTab:GetErrorMessage()
If alltrim(aError[6]) <> ""
cMsj := aError[6]
else
// Si no hubo errores al grabar recibo se procede con el timbrado
jData['origin'] := "FINA998"
jData['imppdf'] := .F.
jData['sendemail'] := .T.
jData['email'] := "[email protected]"
jData['emailcc'] := ""
jData['serie'] := cSerie
jData['recibo'] := cRecibo
jData['cliente'] := cCliente
jData['filial'] := xFilial("SEL")
jData['client'] := cCliente
// Se validan los titulos que contiene el recibo de cobro.
If validTitles(jData)
//Llamada a la rutina para la generación de XML y PDF
FISA815A(cRecibo, cSerie,/*nOpc*/,@aResTmp,,jData)
// Ciclo para concatenar la respuesta del timbrado.
For nY := 1 To Len(aResTmp)
cMsj += aResTmp[nY][3] + cCRLF
Next nY
Endif
Endif
CONOUT("Mensaje de proceso: "+cMsj)
oMdlTab:DeActivate()
Return |