Histórico da Página
...
Se requiere ejecutar la rutina Totvs Recibos (FINA998) a traves través del Modelo de recibos (FINA887) como rutina automática.
02. PROCESO DE IMPLEMENTACIÓN
Para la ejecución de la rutina Totvs Recibo (FINA998) de forma automaticaautomática, es necesario utilizar el modelo definido para recibos (FINA887).
En el modelo de Recibos de Cobro (FINA887), se definen todos los campos de la tablas de Encabezado de recibos (FJT) y Recibos de Cobro (SEL) dependiendo del pais país donde se ejecute.
Ejemplo:
Para la forma de pago algunos de los campos estándar para todos los paises países son los siguientes:
oMdlTab:SetValue('SEL_DETAIL',"EL_CLIENTE" ,"CSERVI" ) // Código del cliente
oMdlTab:SetValue('SEL_DETAIL',"EL_NATUREZ" ,"COBRO ") // // Código Modalidad
oMdlTab:SetValue('SEL_DETAIL',"EL_LOJA" ,"01") // Código tienda
oMdlTab:SetValue('SEL_DETAIL',"EL_DTDIGIT" ,dDataBase) // // Fecha de digitación
oMdlTab:SetValue('SEL_DETAIL',"EL_TIPO" ,"TF") // Tipo de forma de pago
Para la forma de pago existe algunos exclusivos de cada paispaís:
oMdlTab:SetValue('SEL_DETAIL',"EL_FORPGO","03") // Campo Forma de Pago para México
...
Informações | ||
---|---|---|
| ||
Es importante que al momento de informar los valores en el modelo, se informen indiquen solo las propiedades que pertenecen al pais país donde se vaya a ejecutar el "Commit" del modelo, ya que si se informan algun algún otro campo que no existe para dicho pais país se detonará error en la ejecución. |
Totvs custom tabs box | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||
|
...
FJT_MASTER - Grid para informar los datos del encabezado(FJT) y configuraciones de preguntas.
Propiedes Propiedades preguntas
GERANCC - Determina si genera RA , .T. - Genera RA | .F. o vacio vacío - No genera RA
DOCUMEN - Para generar saldo - Para México y Perú no es considerado el contenido informado.
ASIENTO - Muestra Asientos. 1- Si, 2 - No.
AGRUPA - Agrupa Asientos. 1- Si, 2 - No.
ONLINE - Asientos Online. 1- Si, 2 - No.
...
MOE_DETAIL - Grid para informar lo recibido y el saldo x cobrar del recibo asi así como las monedas y las tasas usadas en la transacciontransacción.
PropiedesPropiedades
MOEDA- Número de la moneda, por ejemplo para la moneda 1 se informa debe informar "1"
TASA- Tasa de Moneda
RECIBIDO- Monto recibo x cobrar en dicha moneda.
SALDO- Saldo que queda por cobrar en dicha moneda.
...
SEL_DETAIL - Grid para informar los datos de las formas de pago(tabla SEL).
PropiedesPropiedades
Contiene los campos de la tabla SEL
...
SE1_DETAIL - Grid para informar los datos de los titulos títulos por cobrar(tabla SE1).
PropiedesPropiedades
Contiene los campos de la tabla SE1
...
Bloco de código | ||||
---|---|---|---|---|
| ||||
#INCLUDE "PROTHEUS.CH" #INCLUDE "FWMVCDEF.CH" #INCLUDE "FWEVENTVIEWCONSTS.CH" #INCLUDE 'FINA887.CH' Function F887FINAUTO() Local oMdlTab Local cMsj := "Recibo registrado con exitoéxito." Local cRecibo := "AUTRE2" Local cSerie := " " Local cCliente := "CSERVI" SetFunName("FINA887") // Se define el modelo FINA887 oMdlTab := FwLoadModel("FINA887") // Se define la operación INSERT en el modelo oMdlTab:SetOperation(MODEL_OPERATION_INSERT) // Se activa el modelo oMdlTab:Activate() //Encabezado de recibo - 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" , "COBRO ") 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" , "") oMdlTab:SetValue('FJT_MASTER', "DOCUMEN" , "RA") // Se activa el grupo de preguntas FIN988 para usar los valores de la tabla de preguntas SX1. Pergunte("FIN998",.F.) oMdlTab:SetValue('FJT_MASTER', "ASIENTO" , MV_PAR01) // ¿Muestra Asientos ? oMdlTab:SetValue('FJT_MASTER', "AGRUPA" , MV_PAR02) // ¿Agrupa Asientos ? oMdlTab:SetValue('FJT_MASTER', "ONLINE" , MV_PAR03) //¿Asientos Online ? //Monedas oMdlTab:SetValue('MOE_DETAIL',"MOEDA" , "1") oMdlTab:SetValue('MOE_DETAIL',"TASA" , 1) oMdlTab:SetValue('MOE_DETAIL',"RECIBIDO" , 2820) // Monto total que suman las formas de pago. oMdlTab:SetValue('MOE_DETAIL',"SALDO" , 0 ) // Saldo que queda por cobrar entre los titulostítulos x cobrar y las formas de pago. oMdlTab:GetModel('MOE_DETAIL' ):AddLine() oMdlTab:SetValue('MOE_DETAIL',"MOEDA" , "2") oMdlTab:SetValue('MOE_DETAIL',"TASA" , 0) oMdlTab:SetValue('MOE_DETAIL',"RECIBIDO" , 0) oMdlTab:SetValue('MOE_DETAIL',"SALDO" , 0 ) // Agregar las formas de pago - Campos de tabla SEL oMdlTab:SetValue('SEL_DETAIL',"EL_CLIENTE" , cCliente ) oMdlTab:SetValue('SEL_DETAIL',"EL_NATUREZ" , "COBRO ") 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" , "1") 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" ,"1") oMdlTab:SetValue('SEL_DETAIL',"EL_ENDOSSA" ,"2") 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_FORPGO" ,"03") oMdlTab:SetValue('SEL_DETAIL',"EL_HRPAGO" ,"12:00:00") oMdlTab:SetValue('SEL_DETAIL',"EL_HORA" ,"11:00:13") oMdlTab:SetValue('SEL_DETAIL',"EL_PREFIXO" ,"TF") oMdlTab:SetValue('SEL_DETAIL',"EL_NUMERO" ,"TFAU-0000") oMdlTab:SetValue('SEL_DETAIL',"EL_VALOR" ,820) oMdlTab:SetValue('SEL_DETAIL',"EL_BANCO" ,"CX1") oMdlTab:SetValue('SEL_DETAIL',"EL_AGENCIA" ,"00001") oMdlTab:SetValue('SEL_DETAIL',"EL_CONTA" ,"0000000001") //Para agregar una nueva linea al grid de las formas de pago oMdlTab:GetModel('SEL_DETAIL' ):AddLine() oMdlTab:SetValue('SEL_DETAIL',"EL_CLIENTE" , cCliente ) oMdlTab:SetValue('SEL_DETAIL',"EL_NATUREZ" , "COBRO ") oMdlTab:SetValue('SEL_DETAIL',"EL_LOJA" , "01") oMdlTab:SetValue('SEL_DETAIL',"EL_DTDIGIT" , dDataBase) oMdlTab:SetValue('SEL_DETAIL',"EL_TIPO" , "EF") oMdlTab:SetValue('SEL_DETAIL',"EL_FILIAL" , xFilial("SEL")) oMdlTab:SetValue('SEL_DETAIL',"EL_TIPODOC" , "EF") oMdlTab:SetValue('SEL_DETAIL',"EL_MOEDA" , "1") 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" ,"1") oMdlTab:SetValue('SEL_DETAIL',"EL_ENDOSSA" ,"2") 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_FORPGO" ,"01") oMdlTab:SetValue('SEL_DETAIL',"EL_HRPAGO" ,"12:00:00") oMdlTab:SetValue('SEL_DETAIL',"EL_HORA" ,"11:00:13") oMdlTab:SetValue('SEL_DETAIL',"EL_PREFIXO" ,"EF") oMdlTab:SetValue('SEL_DETAIL',"EL_NUMERO" ,"EFAUT-0009") oMdlTab:SetValue('SEL_DETAIL',"EL_VALOR" ,2000) oMdlTab:SetValue('SEL_DETAIL',"EL_BANCO" ,"") oMdlTab:SetValue('SEL_DETAIL',"EL_AGENCIA" ,"") oMdlTab:SetValue('SEL_DETAIL',"EL_CONTA" ,"") //Detalle de los titulos x cobrar - Tabla SE1 oMdlTab:SetValue('SE1_DETAIL',"E1_FILIAL" , xFilial("SE1")) oMdlTab:SetValue('SE1_DETAIL',"E1_PREFIXO" , "A" ) oMdlTab:SetValue('SE1_DETAIL',"E1_NUM" ,"00000000000000000188" ) oMdlTab:SetValue('SE1_DETAIL',"E1_PARCELA" , "A") oMdlTab:SetValue('SE1_DETAIL',"E1_TIPO" , "NF") oMdlTab:SetValue('SE1_DETAIL',"E1_CLIENTE" , "CSERVI") oMdlTab:SetValue('SE1_DETAIL',"E1_LOJA" , "01") oMdlTab:SetValue('SE1_DETAIL',"E1_DESCONT" , 0) oMdlTab:SetValue('SE1_DETAIL',"E1_MULTA" , 0) oMdlTab:SetValue('SE1_DETAIL',"E1_JUROS" , 0) oMdlTab:SetValue('SE1_DETAIL',"E1_SALDO" , 2320) oMdlTab:SetValue('SE1_DETAIL',"BAIXAR" , 2320) oMdlTab:SetValue('SE1_DETAIL',"RECNO" , 239) oMdlTab:SetValue('SE1_DETAIL',"E1_MOTIVO" , "NOR") //Para agregar una nueva linea al grid de titulos x cobrar oMdlTab:GetModel('SE1_DETAIL' ):AddLine() oMdlTab:SetValue('SE1_DETAIL',"E1_FILIAL" , xFilial("SE1")) oMdlTab:SetValue('SE1_DETAIL',"E1_PREFIXO" , "A" ) oMdlTab:SetValue('SE1_DETAIL',"E1_NUM" ,"00000000000000000189" ) oMdlTab:SetValue('SE1_DETAIL',"E1_PARCELA" , "A") oMdlTab:SetValue('SE1_DETAIL',"E1_TIPO" , "NF") oMdlTab:SetValue('SE1_DETAIL',"E1_CLIENTE" , "CSERVI") oMdlTab:SetValue('SE1_DETAIL',"E1_LOJA" , "01") oMdlTab:SetValue('SE1_DETAIL',"E1_DESCONT" , 0) oMdlTab:SetValue('SE1_DETAIL',"E1_MULTA" , 0) oMdlTab:SetValue('SE1_DETAIL',"E1_JUROS" , 0) oMdlTab:SetValue('SE1_DETAIL',"E1_SALDO" , 1160) oMdlTab:SetValue('SE1_DETAIL',"BAIXAR" , 500) oMdlTab:SetValue('SE1_DETAIL',"RECNO" , 240) oMdlTab:SetValue('SE1_DETAIL',"E1_MOTIVO" , "NOR") oMdlTab:SetValue('FAC_DETAIL','FACTOR',"2") // Factoraje financiero, 1 - Indica que es una operación de factoraje | 2 - No es operación de factoraje oMdlTab:SetValue('GEN_DETAIL',"HOURSAVERECEIPT" , "09:00:13" ) // Hora de guardado del recibo. //Se ejecuta el commit If oMdlTab:VldData() // Se detonan las validaciones del modelo // Si pasa las validaciones, se ejecutara el CommitData del modelo para guardar los datos. oMdlTab:CommitData() Endif // En caso de usar número consecutivos en el recibo If !Empty(GetSx3Cache("EL_RECIBO","X3_RELACAO")) If Alltrim(cRecibo) <> Alltrim(InitPad(GetSX3Cache("EL_RECIBO","X3_RELACAO"))) RollBackSX8() EndIf EndIf // Se obtienen los errores del modelo aError := oMdlTab:GetErrorMessage() If alltrim(aError[7]) <> "" cMsj := aError[7] Endif CONOUT("Mensaje de proceso: "+cMsj) oMdlTab:DeActivate() Return |
...
Bloco de código | ||||
---|---|---|---|---|
| ||||
#INCLUDE "PROTHEUS.CH" #INCLUDE "FWMVCDEF.CH" #INCLUDE "FWEVENTVIEWCONSTS.CH" #INCLUDE 'FINA887.CH' Function F887FINAUTO() Local oMdlTab Local cMsj := "Recibo borrado con exitoéxito." Pergunte("FIN088",.F.) SetMVValue("FIN088","MV_PAR04", 2) //MostraMuestra asientos contables - 1 = Si / 2 = No SetMVValue("FIN088","MV_PAR05", 2) //Agrupa asientos contables - 1 = Si / 2 = No oMdlTab := FwLoadModel("FINA887") DbSelectArea("FJT") FJT->(DbSetOrder(2)) If FJT->(MsSeek(xFilial("FJT")+"AUTRE2",.T.)) oMdlTab:SetOperation(MODEL_OPERATION_DELETE) oMdlTab:Activate() If oMdlTab:VldData() oMdlTab:CommitData() Endif EndIf aError := oMdlTab:GetErrorMessage() If alltrim(aError[7]) <> "" cMsj := aError[7] Endif CONOUT("Mensaje de proceso: "+cMsj) oMdlTab:DeActivate() Return |
...
Bloco de código | ||||
---|---|---|---|---|
| ||||
#INCLUDE "PROTHEUS.CH" #INCLUDE "FWMVCDEF.CH" #INCLUDE "FWEVENTVIEWCONSTS.CH" #INCLUDE 'FINA887.CH' Function F887FINAUTO() Local oMdlTab Local cMsj := "Recibo borrado con exitoéxito." Local cSerie := " " Local cRecibo := "COMP03" oMdlTab := FwLoadModel("FINA887") If FJT->(MsSeek(xFilial("FJT")+cSerie+cRecibo,.T.)) oMdlTab:SetOperation(MODEL_OPERATION_UPDATE) oMdlTab:Activate() Pergunte("FIN998",.F.) oMdlTab:SetValue('FJT_MASTER', "ASIENTO" , MV_PAR01) // ¿Muestra Asientos ? oMdlTab:SetValue('FJT_MASTER', "AGRUPA" , MV_PAR02) // ¿Agrupa Asientos ? oMdlTab:SetValue('FJT_MASTER', "ONLINE" , MV_PAR03) //¿Asientos Online ? oMdlTab:SetValue('FJT_MASTER', "FJT_CANCEL" , "1") // Motivo de cancelación - Solo aplica para México oMdlTab:SetValue('SEL_DETAIL',"EL_TIPAGRO" ,"02") If oMdlTab:VldData() oMdlTab:CommitData() Endif aError := oMdlTab:GetErrorMessage() If alltrim(aError[7]) <> "" cMsj := aError[7] Endif CONOUT("Mensaje de proceso: "+cMsj) //Solución: oMdlTab:DeActivate() Endif Return |
Generación de Anticipos
Para la generacipon generación de un pago anticipado(RA), es necesario informar las siguientes propiedades:
...
Bloco de código | ||||
---|---|---|---|---|
| ||||
#INCLUDE "PROTHEUS.CH" #INCLUDE "FWMVCDEF.CH" #INCLUDE "FWEVENTVIEWCONSTS.CH" #INCLUDE 'FINA887.CH' Function F887FINAUTO() Local oMdlTab Local cCRLF := (chr(10)+chr(13)) Local cMsj := "Recibo registrado con exitoéxito." + cCRLF Local cRecibo := "RARC01" Local cSerie := " " Local cCliente := "CSERVI" SetFunName("FINA887") oMdlTab := FwLoadModel("FINA887") oMdlTab:SetOperation(MODEL_OPERATION_INSERT) oMdlTab:Activate() //Encabezado - FJT oMdlTab:SetValue('FJT_MASTER', "FJT_FILIAL" , xFilial("FJT")) // FILIAL 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" , "COBRO ") 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") // Para generación de RA, S - Genera RA | N o vacio - No genera RA oMdlTab:SetValue('FJT_MASTER', "DOCUMEN" , "RA") Pergunte("FIN998",.F.) oMdlTab:SetValue('FJT_MASTER', "ASIENTO" , MV_PAR01) // ¿Muestra Asientos ? oMdlTab:SetValue('FJT_MASTER', "AGRUPA" , MV_PAR02) // ¿Agrupa Asientos ? oMdlTab:SetValue('FJT_MASTER', "ONLINE" , MV_PAR03) //¿Asientos Online ? //Monedas oMdlTab:SetValue('MOE_DETAIL',"MOEDA" , "1") oMdlTab:SetValue('MOE_DETAIL',"TASA" , 1) oMdlTab:SetValue('MOE_DETAIL',"RECIBIDO" , 1000) oMdlTab:SetValue('MOE_DETAIL',"SALDO" , 1000 ) oMdlTab:GetModel('MOE_DETAIL' ):AddLine() oMdlTab:SetValue('MOE_DETAIL',"MOEDA" , "2") oMdlTab:SetValue('MOE_DETAIL',"TASA" , 0) oMdlTab:SetValue('MOE_DETAIL',"RECIBIDO" , 0) oMdlTab:SetValue('MOE_DETAIL',"SALDO" , 0 ) // Agregar la forma de pago oMdlTab:SetValue('SEL_DETAIL',"EL_CLIENTE" , cCliente ) oMdlTab:SetValue('SEL_DETAIL',"EL_NATUREZ" , "COBRO ") 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" , "1") 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" ,"1") oMdlTab:SetValue('SEL_DETAIL',"EL_ENDOSSA" ,"2") 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_FORPGO" ,"03") oMdlTab:SetValue('SEL_DETAIL',"EL_HRPAGO" ,"12:30:00") oMdlTab:SetValue('SEL_DETAIL',"EL_HORA" ,"12:30:00") oMdlTab:SetValue('SEL_DETAIL',"EL_PREFIXO" ,"TF") oMdlTab:SetValue('SEL_DETAIL',"EL_NUMERO" ,"RA00002-0000") oMdlTab:SetValue('SEL_DETAIL',"EL_VALOR" ,1000) oMdlTab:SetValue('SEL_DETAIL',"EL_BANCO" ,"CX1") oMdlTab:SetValue('SEL_DETAIL',"EL_AGENCIA" ,"00001") oMdlTab:SetValue('SEL_DETAIL',"EL_CONTA" ,"0000000001") //Operación de factoraje oMdlTab:SetValue('FAC_DETAIL','FACTOR',"2") oMdlTab:SetValue('GEN_DETAIL',"HOURSAVERECEIPT" , "12:30:00" ) //Se ejecuta el commit If oMdlTab:VldData() oMdlTab:CommitData() Endif aError := oMdlTab:GetErrorMessage() If alltrim(aError[7]) <> "" cMsj := aError[7] Endif CONOUT("Mensaje de proceso: "+cMsj) oMdlTab:DeActivate() Return |
...
El timbrado de un recibo de cobro se realiza por medio de la rutina CFDI Complemento de recepción de pagos(FISA815). Se puede realizar despues después del guardado de un recibo o con un recibo ya previamente registrado.
La rutina CFDI Complemento de recepción de pagos(FISA815) recibe un nuevo parametro parámetro de tipo JSON, con las siguientes propiedades:
jData['origin'] - Rutina origen la cual debe ser "FINA998"
jData['imppdf'] - Propiedad que define si se imprime recibo o no, .T. - se imprime recibo , .F. - No imprime
jData['sendemail'] - Propiedad que define si el recibo se enviara por correo, .T. - Se enviara por correo, .F. - No se enviará.
jData['email'] - Propiedad que define al correo donde se enviará el recibo.
jData['emailcc'] - Propiedad que define el correo con copia al cual se enviará el recibo
jData['serie'] - Serie del recibo
jData['recibo'] - Número de recibo
jData['cliente'] - Cliente del recibo utilizada en la funcion función validar los titulos títulos que contiene el recibo y ver si puede ser timbrado(función validTitles)
jData['filial'] - Filial del recibo (tabla SEL)
jData['client'] - Cliente del recibo
Informações | ||
---|---|---|
| ||
Para generar recibos con serie, es necesario contar con el parámetro MV_SERREC igual a ".T." y a su vez obtener el número consetivo consecutivo de la tabla SX5 o en su defecto informarlo de forma directa, cuidando que la númeración numeración sea la correcta. Ejemplo para obtener el consecutivo del recibo de la tabla SX5: DbSelectArea("SX5") |
...
Bloco de código | ||||
---|---|---|---|---|
| ||||
#INCLUDE "PROTHEUS.CH" #INCLUDE "FWMVCDEF.CH" #INCLUDE "FWEVENTVIEWCONSTS.CH" #INCLUDE 'FINA887.CH' Function F887FINAUTO() Local oMdlTab Local cCRLF := (chr(10)+chr(13)) Local cMsj := "Recibo registrado con exitoéxito." + cCRLF Local cRecibo := "CFGIAU" Local cSerie := " " Local cCliente := "CSERVI" Local jData := JsonObject():New() // Objeto Json que contiene la información del recibo a timbrar y algunas configuraciones. Local aResTmp := {} // Arreglo para guardar los errores del timbrado 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")) // FILIAL 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" , "COBRO ") 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" , "") oMdlTab:SetValue('FJT_MASTER', "DOCUMEN" , "RA") Pergunte("FIN998",.F.) oMdlTab:SetValue('FJT_MASTER', "ASIENTO" , MV_PAR01) // ¿Muestra Asientos ? oMdlTab:SetValue('FJT_MASTER', "AGRUPA" , MV_PAR02) // ¿Agrupa Asientos ? oMdlTab:SetValue('FJT_MASTER', "ONLINE" , MV_PAR03) //¿Asientos Online ? //Monedas oMdlTab:SetValue('MOE_DETAIL',"MOEDA" , "1") oMdlTab:SetValue('MOE_DETAIL',"TASA" , 1) oMdlTab:SetValue('MOE_DETAIL',"RECIBIDO" , 1110) oMdlTab:SetValue('MOE_DETAIL',"SALDO" , 0 ) oMdlTab:GetModel('MOE_DETAIL' ):AddLine() oMdlTab:SetValue('MOE_DETAIL',"MOEDA" , "2") oMdlTab:SetValue('MOE_DETAIL',"TASA" , 0) oMdlTab:SetValue('MOE_DETAIL',"RECIBIDO" , 0) oMdlTab:SetValue('MOE_DETAIL',"SALDO" , 0 ) // Agregar la forma de pago oMdlTab:SetValue('SEL_DETAIL',"EL_CLIENTE" , cCliente ) oMdlTab:SetValue('SEL_DETAIL',"EL_NATUREZ" , "COBRO ") 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" , "1") 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" ,"1") oMdlTab:SetValue('SEL_DETAIL',"EL_ENDOSSA" ,"2") 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_FORPGO" ,"03") oMdlTab:SetValue('SEL_DETAIL',"EL_HRPAGO" ,"12:00:00") oMdlTab:SetValue('SEL_DETAIL',"EL_HORA" ,"11:00:13") oMdlTab:SetValue('SEL_DETAIL',"EL_PREFIXO" ,"TF") oMdlTab:SetValue('SEL_DETAIL',"EL_NUMERO" ,"TFAUTO-0000") oMdlTab:SetValue('SEL_DETAIL',"EL_VALOR" ,440) oMdlTab:SetValue('SEL_DETAIL',"EL_BANCO" ,"CX1") oMdlTab:SetValue('SEL_DETAIL',"EL_AGENCIA" ,"00001") oMdlTab:SetValue('SEL_DETAIL',"EL_CONTA" ,"0000000001") oMdlTab:GetModel('SEL_DETAIL' ):AddLine() oMdlTab:SetValue('SEL_DETAIL',"EL_CLIENTE" , cCliente ) oMdlTab:SetValue('SEL_DETAIL',"EL_NATUREZ" , "COBRO ") oMdlTab:SetValue('SEL_DETAIL',"EL_LOJA" , "01") oMdlTab:SetValue('SEL_DETAIL',"EL_DTDIGIT" , dDataBase) oMdlTab:SetValue('SEL_DETAIL',"EL_TIPO" , "EF") oMdlTab:SetValue('SEL_DETAIL',"EL_FILIAL" , xFilial("SEL")) oMdlTab:SetValue('SEL_DETAIL',"EL_TIPODOC" , "EF") oMdlTab:SetValue('SEL_DETAIL',"EL_MOEDA" , "1") 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" ,"1") oMdlTab:SetValue('SEL_DETAIL',"EL_ENDOSSA" ,"2") 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_FORPGO" ,"01") oMdlTab:SetValue('SEL_DETAIL',"EL_HRPAGO" ,"12:00:00") oMdlTab:SetValue('SEL_DETAIL',"EL_HORA" ,"11:00:13") oMdlTab:SetValue('SEL_DETAIL',"EL_PREFIXO" ,"EF") oMdlTab:SetValue('SEL_DETAIL',"EL_NUMERO" ,"EFAUT-0009") oMdlTab:SetValue('SEL_DETAIL',"EL_VALOR" ,670) oMdlTab:SetValue('SEL_DETAIL',"EL_BANCO" ,"CX1") oMdlTab:SetValue('SEL_DETAIL',"EL_AGENCIA" ,"00001") oMdlTab:SetValue('SEL_DETAIL',"EL_CONTA" ,"0000000001") //Detalle de los titulos oMdlTab:SetValue('SE1_DETAIL',"E1_FILIAL" , xFilial("SE1")) oMdlTab:SetValue('SE1_DETAIL',"E1_PREFIXO" , "A" ) oMdlTab:SetValue('SE1_DETAIL',"E1_NUM" ,"00000000000000000191" ) oMdlTab:SetValue('SE1_DETAIL',"E1_PARCELA" , "A") oMdlTab:SetValue('SE1_DETAIL',"E1_TIPO" , "NF") oMdlTab:SetValue('SE1_DETAIL',"E1_CLIENTE" , cCliente) oMdlTab:SetValue('SE1_DETAIL',"E1_LOJA" , "01") oMdlTab:SetValue('SE1_DETAIL',"E1_DESCONT" , 0) oMdlTab:SetValue('SE1_DETAIL',"E1_MULTA" , 0) oMdlTab:SetValue('SE1_DETAIL',"E1_JUROS" , 0) oMdlTab:SetValue('SE1_DETAIL',"E1_SALDO" , 1160) oMdlTab:SetValue('SE1_DETAIL',"BAIXAR" , 660) oMdlTab:SetValue('SE1_DETAIL',"RECNO" , 243) oMdlTab:SetValue('SE1_DETAIL',"E1_MOTIVO" , "NOR") oMdlTab:GetModel('SE1_DETAIL' ):AddLine() oMdlTab:SetValue('SE1_DETAIL',"E1_FILIAL" , xFilial("SE1")) oMdlTab:SetValue('SE1_DETAIL',"E1_PREFIXO" , "A" ) oMdlTab:SetValue('SE1_DETAIL',"E1_NUM" ,"00000000000000000189" ) oMdlTab:SetValue('SE1_DETAIL',"E1_PARCELA" , "A") oMdlTab:SetValue('SE1_DETAIL',"E1_TIPO" , "NF") oMdlTab:SetValue('SE1_DETAIL',"E1_CLIENTE" , cCliente) oMdlTab:SetValue('SE1_DETAIL',"E1_LOJA" , "01") oMdlTab:SetValue('SE1_DETAIL',"E1_DESCONT" , 0) oMdlTab:SetValue('SE1_DETAIL',"E1_MULTA" , 0) oMdlTab:SetValue('SE1_DETAIL',"E1_JUROS" , 0) oMdlTab:SetValue('SE1_DETAIL',"E1_SALDO" , 1160) oMdlTab:SetValue('SE1_DETAIL',"BAIXAR" , 450) oMdlTab:SetValue('SE1_DETAIL',"RECNO" , 244) oMdlTab:SetValue('SE1_DETAIL',"E1_MOTIVO" , "NOR") oMdlTab:SetValue('FAC_DETAIL','FACTOR',"2") oMdlTab:SetValue('GEN_DETAIL',"HOURSAVERECEIPT" , "09:00:13" ) //Se ejecuta el commit If oMdlTab:VldData() oMdlTab:CommitData() Endif //Se obtienen los errores del modelo aError := oMdlTab:GetErrorMessage() If alltrim(aError[7]) <> "" cMsj := aError[7] else // Si no hubo errores al grabar recibo se procede con el timbrado jData['origin'] := "FINA998" jData['imppdf'] := .F. jData['sendemail'] := .F. jData['email'] := "" 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) //Timbrado de recibo de cobro FISA815(cRecibo, cSerie,,,@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 |
Bloco de código | ||||
---|---|---|---|---|
| ||||
#INCLUDE "PROTHEUS.CH" #INCLUDE "FWMVCDEF.CH" #INCLUDE "FWEVENTVIEWCONSTS.CH" #INCLUDE 'FINA887.CH' Function F887FINAUTO() Local cCRLF := (chr(10)+chr(13)) // Salto de linealínea Local cMsj := "Recibo registrado con exito." + cCRLF Local cRecibo := "CFGIAU" Local cSerie := " " Local cCliente := "CSERVI" Local jData := JsonObject():New() // Objeto Json que contiene la información del recibo a timbrar y algunas configuraciones. Local aResTmp := {} // Arreglo para guardar los errores del timbrado Local nY := 0 jData['origin'] := "FINA998" jData['imppdf'] := .F. jData['sendemail'] := .F. jData['email'] := "" 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) //Timbrado de recibo de cobro FISA815(cRecibo, cSerie,,,@aResTmp,jData) // Ciclo para concatenar la respuesta del timbrado. For nY := 1 To Len(aResTmp) cMsj += aResTmp[nY][3] + cCRLF Next nY Endif CONOUT("Mensaje de proceso: "+cMsj) oMdlTab:DeActivate() Return |
...
Bloco de código | ||||
---|---|---|---|---|
| ||||
#INCLUDE "PROTHEUS.CH" #INCLUDE "FWMVCDEF.CH" #INCLUDE "FWEVENTVIEWCONSTS.CH" #INCLUDE 'FINA887.CH' Function F887FINAUTO() Local oMdlTab Local cCRLF := (chr(10)+chr(13)) Local cMsj := "Recibo registrado con exito." + cCRLF Local cRecibo := "000000000052" Local cSerie := "A " Local cCliente := "M14011" 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")) // FILIAL 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" , "COBRO ") 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" , "") oMdlTab:SetValue('FJT_MASTER', "DOCUMEN" , "RA") Pergunte("FIN998",.F.) oMdlTab:SetValue('FJT_MASTER', "ASIENTO" , MV_PAR01) // ¿Muestra Asientos ? oMdlTab:SetValue('FJT_MASTER', "AGRUPA" , MV_PAR02) // ¿Agrupa Asientos ? oMdlTab:SetValue('FJT_MASTER', "ONLINE" , MV_PAR03) //¿Asientos Online ? //Monedas oMdlTab:SetValue('MOE_DETAIL',"MOEDA" , "1") oMdlTab:SetValue('MOE_DETAIL',"TASA" , 1) oMdlTab:SetValue('MOE_DETAIL',"RECIBIDO" , 0) oMdlTab:SetValue('MOE_DETAIL',"SALDO" , 0 ) oMdlTab:GetModel('MOE_DETAIL' ):AddLine() oMdlTab:SetValue('MOE_DETAIL',"MOEDA" , "2") oMdlTab:SetValue('MOE_DETAIL',"TASA" , 25.0000) oMdlTab:SetValue('MOE_DETAIL',"RECIBIDO" , 1000) oMdlTab:SetValue('MOE_DETAIL',"SALDO" , 0 ) // Agregar la forma de pago oMdlTab:SetValue('SEL_DETAIL',"EL_CLIENTE" , cCliente ) oMdlTab:SetValue('SEL_DETAIL',"EL_NATUREZ" , "COBRO ") 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" ,"030") oMdlTab:SetValue('SEL_DETAIL',"EL_AGENCIA" ,"0002 ") oMdlTab:SetValue('SEL_DETAIL',"EL_CONTA" ,"124681012 ") oMdlTab:GetModel('SEL_DETAIL' ):AddLine() oMdlTab:SetValue('SEL_DETAIL',"EL_CLIENTE" , cCliente ) oMdlTab:SetValue('SEL_DETAIL',"EL_NATUREZ" , "COBRO ") oMdlTab:SetValue('SEL_DETAIL',"EL_LOJA" , "01") oMdlTab:SetValue('SEL_DETAIL',"EL_DTDIGIT" , dDataBase) oMdlTab:SetValue('SEL_DETAIL',"EL_TIPO" , "EF") oMdlTab:SetValue('SEL_DETAIL',"EL_FILIAL" , xFilial("SEL")) oMdlTab:SetValue('SEL_DETAIL',"EL_TIPODOC" , "EF") 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" ,"EF") oMdlTab:SetValue('SEL_DETAIL',"EL_NUMERO" ,"DIF-0009") oMdlTab:SetValue('SEL_DETAIL',"EL_VALOR" ,400) oMdlTab:SetValue('SEL_DETAIL',"EL_BANCO" ,"030") oMdlTab:SetValue('SEL_DETAIL',"EL_AGENCIA" ,"0002 ") oMdlTab:SetValue('SEL_DETAIL',"EL_CONTA" ,"124681012 ") //Detalle de los titulos oMdlTab:SetValue('SE1_DETAIL',"E1_FILIAL" , xFilial("SE1")) oMdlTab:SetValue('SE1_DETAIL',"E1_PREFIXO" , "A" ) oMdlTab:SetValue('SE1_DETAIL',"E1_NUM" ,"NF135850600B" ) oMdlTab:SetValue('SE1_DETAIL',"E1_PARCELA" , " ") oMdlTab:SetValue('SE1_DETAIL',"E1_TIPO" , "NF") oMdlTab:SetValue('SE1_DETAIL',"E1_CLIENTE" , cCliente) oMdlTab:SetValue('SE1_DETAIL',"E1_LOJA" , "01") oMdlTab:SetValue('SE1_DETAIL',"E1_DESCONT" , 0) oMdlTab:SetValue('SE1_DETAIL',"E1_MULTA" , 0) oMdlTab:SetValue('SE1_DETAIL',"E1_JUROS" , 0) oMdlTab:SetValue('SE1_DETAIL',"E1_SALDO" , 1000) oMdlTab:SetValue('SE1_DETAIL',"BAIXAR" , 1000) oMdlTab:SetValue('SE1_DETAIL',"RECNO" , 303) oMdlTab:SetValue('SE1_DETAIL',"E1_MOTIVO" , "NOR") oMdlTab:SetValue('FAC_DETAIL','FACTOR',"2") oMdlTab:SetValue('GEN_DETAIL',"HOURSAVERECEIPT" , "12:00:13" ) //Se ejecuta el commit If oMdlTab:VldData() oMdlTab:CommitData() Endif aError := oMdlTab:GetErrorMessage() If alltrim(aError[7]) <> "" cMsj := aError[7] Endif CONOUT("Mensaje de proceso: "+cMsj) oMdlTab:DeActivate() Return |
Procesos
...
específicos para Paraguay
Recibos de cobro con retenciones.
...
Bloco de código | ||||
---|---|---|---|---|
| ||||
#INCLUDE "PROTHEUS.CH" #INCLUDE "FWMVCDEF.CH" #INCLUDE "FWEVENTVIEWCONSTS.CH" #INCLUDE 'FINA887.CH' Function F887FINAUTO() Local oMdlTab Local cCRLF := (chr(10)+chr(13)) Local cMsj := "Recibo registrado con exitoéxito." + cCRLF Local cRecibo := "R55555" Local cSerie := " " Local cCliente := "000001" 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")) // FILIAL 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" , "COBRO ") 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" , "") oMdlTab:SetValue('FJT_MASTER', "DOCUMEN" , "RA") Pergunte("FIN998",.F.) oMdlTab:SetValue('FJT_MASTER', "ASIENTO" , MV_PAR01) // ¿Muestra Asientos ? oMdlTab:SetValue('FJT_MASTER', "AGRUPA" , MV_PAR02) // ¿Agrupa Asientos ? oMdlTab:SetValue('FJT_MASTER', "ONLINE" , MV_PAR03) //¿Asientos Online ? //Monedas oMdlTab:SetValue('MOE_DETAIL',"MOEDA" , "1") oMdlTab:SetValue('MOE_DETAIL',"TASA" , 1) oMdlTab:SetValue('MOE_DETAIL',"RECIBIDO" , 1000) oMdlTab:SetValue('MOE_DETAIL',"SALDO" , 0 ) oMdlTab:GetModel('MOE_DETAIL' ):AddLine() oMdlTab:SetValue('MOE_DETAIL',"MOEDA" , "2") oMdlTab:SetValue('MOE_DETAIL',"TASA" , 25.0000) oMdlTab:SetValue('MOE_DETAIL',"RECIBIDO" , 0) oMdlTab:SetValue('MOE_DETAIL',"SALDO" , 0 ) // Agregar la forma de pago oMdlTab:SetValue('SEL_DETAIL',"EL_CLIENTE" , cCliente ) oMdlTab:SetValue('SEL_DETAIL',"EL_NATUREZ" , "COBRO ") oMdlTab:SetValue('SEL_DETAIL',"EL_LOJA" , "01") oMdlTab:SetValue('SEL_DETAIL',"EL_DTDIGIT" , dDataBase) oMdlTab:SetValue('SEL_DETAIL',"EL_TIPO" , "RI") oMdlTab:SetValue('SEL_DETAIL',"EL_FILIAL" , xFilial("SEL")) oMdlTab:SetValue('SEL_DETAIL',"EL_TIPODOC" , "RI") oMdlTab:SetValue('SEL_DETAIL',"EL_MOEDA" , "1") oMdlTab:SetValue('SEL_DETAIL',"EL_EMISSAO" ,dDataBase) oMdlTab:SetValue('SEL_DETAIL',"EL_DTVCTO" ,dDataBase) oMdlTab:SetValue('SEL_DETAIL',"EL_TPCRED" ,"4") oMdlTab:SetValue('SEL_DETAIL',"EL_ACREBAN" ,"1") oMdlTab:SetValue('SEL_DETAIL',"EL_TERCEIR" ,"1") oMdlTab:SetValue('SEL_DETAIL',"EL_ENDOSSA" ,"2") 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" ,"RI") oMdlTab:SetValue('SEL_DETAIL',"EL_NUMERO" ,"RI-000011") oMdlTab:SetValue('SEL_DETAIL',"EL_VALOR" ,1000) oMdlTab:SetValue('SEL_DETAIL',"EL_BANCO" ,"CX1") oMdlTab:SetValue('SEL_DETAIL',"EL_AGENCIA" ,"00001") oMdlTab:SetValue('SEL_DETAIL',"EL_CONTA" ,"0000000001") //Campos para retenciones oMdlTab:SetValue('SEL_DETAIL',"EL_DOCTO" ,"0000000000041" ) oMdlTab:SetValue('SEL_DETAIL',"EL_SDOCTO" , "A") oMdlTab:SetValue('SEL_DETAIL',"EL_PARDOC" , "") // RI - Renteción IGV oMdlTab:SetValue('SEL_DETAIL',"EL_SERRET" , "A") // Serie Retención //Detalle de los titulos oMdlTab:SetValue('SE1_DETAIL',"E1_FILIAL" , xFilial("SE1")) oMdlTab:SetValue('SE1_DETAIL',"E1_PREFIXO" , "A" ) oMdlTab:SetValue('SE1_DETAIL',"E1_NUM" ,"0000000000041") oMdlTab:SetValue('SE1_DETAIL',"E1_PARCELA" , " ") oMdlTab:SetValue('SE1_DETAIL',"E1_TIPO" , "NF") oMdlTab:SetValue('SE1_DETAIL',"E1_CLIENTE" , cCliente) oMdlTab:SetValue('SE1_DETAIL',"E1_LOJA" , "01") oMdlTab:SetValue('SE1_DETAIL',"E1_DESCONT" , 0) oMdlTab:SetValue('SE1_DETAIL',"E1_MULTA" , 0) oMdlTab:SetValue('SE1_DETAIL',"E1_JUROS" , 0) oMdlTab:SetValue('SE1_DETAIL',"E1_SALDO" , 1190) oMdlTab:SetValue('SE1_DETAIL',"BAIXAR" , 1000) oMdlTab:SetValue('SE1_DETAIL',"RECNO" , 53) oMdlTab:SetValue('SE1_DETAIL',"E1_MOTIVO" , "NOR") oMdlTab:SetValue('GEN_DETAIL',"HOURSAVERECEIPT" , "12:00:13" ) //Se ejecuta el commit If oMdlTab:VldData() oMdlTab:CommitData() Endif //Se obtienen los errores del modelo aError := oMdlTab:GetErrorMessage() If alltrim(aError[7]) <> "" cMsj := aError[7] Endif CONOUT("Mensaje de proceso: "+cMsj) oMdlTab:DeActivate() Return |
...