Histórico da Página
Nombre del Punto de Entrada | Descripción | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
F998BRLFLT | Tiene el objetivo de que el usuario pueda agregar más filtros a la consulta (Query) de selección de recibos al momento de dar clic en "Aplicar filtros" en el programa TOTVS Recibos. Parámetros recibidos:
Retorno:
Este punto de entrada sustituye al "F088FLT" de la rutina Cobros Diversos (FINA087A). Más información: DT PE F998BRFLT Agregar más filtros al momento de buscar recibos TOTVS Recibo MEX Ejemplo: #Include 'Protheus.ch' User Function F998BRFLT IF queryOption == 'complete' | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
F998BRANUF998BRMCOL | Tiene el objetivo el objetivo de que el usuario pueda personalizar validaciones para ejecutar indicar campos/columnas que se desean incluir en el GRID de visualización de los recibos desde la opción de "Anular/Borrar" un recibo de cobroBuscar recibos". Parámetros recibidos:
Retorno: Arreglo de configuraciones para agregar a la lista de campos que se pueden visualizar en la lista de recibosRetorno: Flag que indica si procede o no la anulación.
Este punto de entrada sustituye al "FA088OK" de la rutina Cobros Diversos (FINA087A). Más información: DT PE F998BRANU Pre-validaciones para la anulación de un recibo en TOTVS Recibo MEX Ejemplo: #Include 'Protheus.ch' User Function F998BRANU cQueryFields := " FJT_SERIE,FJT_RECIBO,FJT_CLIENT,FJT_DTDIGI " cQuery := " SELECT "+cQueryFields+" FROM "+ RetSqlName("FJT") + " WHERE "+cQueryWhere cQuery := ChangeQuery(cQuery) WHILE (cAlias)->(!EOF()) | F998BRMCOL |
Nombre | Tipo | Descripción |
---|---|---|
PARAMIXB[1] | C | Serie del recibo |
PARAMIXB[2] | C | Número del recibo |
PARAMIXB[3] | C | Cliente |
Retorno: Arreglo de configuraciones para agregar a la lista de campos que se pueden visualizar en la lista de recibos.
Nombre | Tipo | Descripción |
---|---|---|
aRet[1] | C | Título de la columna que se desea agregar en la lista de recibos. |
aRet[2] | C | Valor del campo, de cualquier tabla en la DB vinculada a los recibos de cobro. |
aRet[3] | L | Mostrar marca de seleccionado en la lista de campos a visualizar: .T. = Sí, .F. = No. |
aRet[4] | C | Nombre para asignar al campo a visualizar, debe ser con estilo de escritura "camelCase". Comienza con minúscula, puede tener mayúsculas intermedias, no permite espacios ni signos especiales. |
Este punto de entrada sustituye al "F088NP2K" de la rutina Cobros Diversos (FINA087A).
Más información: DT PE F998BRMCOL Incluir columnas a visualizar en el GRID de buscar recibos
Ejemplo:
#Include 'Protheus.ch'
User Function F998BRMCOLLocal aCampos := {}
Local cSerie := Paramixb[1]
Local cReceipt := Paramixb[2]
Local cClient := Paramixb[3]
Local cQueryFields As Character
Local cQueryWhere As Character
Local cAlias As Character
Local cQuery As Character
Local nCont As Numeric
Local aAux As Array
cAlias := GetNextAlias()
//En el arreglo de aCampos se agregan los campos a visualizar
//aCampos[1] -> Campo se desea visualizar
//aCampos[2] -> Título que se desea asignar a este campo para que lo visualice el cliente, ya sea fijo o que se obtenga de la SX3
//aCampos[3] -> .T. si se desea que este marcado por default y .F. si se desea que no este marcado por default en el GRID
//aCampos[4] -> Nombre de variable par ael campo, con formato camelCase; ejemplo "valorUnit", en vez de Valor Unitario
aCampos := {{"FJT_VERSAO","VERSION",.T.,"version"},{"FJT_DTDIGI",GetSx3Cache("FJT_DTDIGI","X3_TITULO"),.T.,"dataDigit"}}
//Se forman las condicionales de la consulta
cQueryWhere := " FJT_FILIAL = '"+xFilial("FJT")+"' AND FJT_SERIE = '"+cSerie+"' AND FJT_RECIBO = '"+cReceipt+"' AND FJT_CLIENT = '"+cClient+"' "
//Se estructura la parte de los campos a obtener
cQueryFields := " SELECT "
For nCont := 1 to LEN(aCampos)
cQueryFields += " "+aCampos[nCont][1]+" "
If nCont != LEN(aCampos)
cQueryFields += ","
EndIf
Next nCont
cQuery := cQueryFields + " FROM " + RetSqlName("FJT") + " WHERE " + cQueryWhere
cQuery := ChangeQuery(cQuery)
MPSysOpenQuery(cQuery, cAlias)
aAux := {}
//Se asignan los campos deseados al arreglo a retornar
WHILE (cAlias)->(!EOF())
AADD( aAux,{aCampos[1][2],(cAlias)->FJT_VERSAO,aCampos[1][3],aCampos[1][4]})
AADD( aAux,{aCampos[2][2],(cAlias)->FJT_DTDIGI,aCampos[2][3],aCampos[2][4]})
(cAlias)->(DbSkip())
END
Return aAux
Tiene el objetivo de agregar validaciones y mensajes de confirmación o error antes de guardar, de manera que si no cumple las condiciones del punto de entrada no permita el guardado del recibo y este pueda ser modificado.
Parámetros recibidos:
Nombre | Tipo | Descripción |
---|---|---|
PARAMIXB[1] | Json | Objeto Json que contiene la información de los métodos de pago que contiene el recibo a guardar. |
PARAMIXB[2] | Json | Objeto Json que contiene la información de los títulos que contiene el recibo a guardar. |
PARAMIXB[3] | Json | Objeto Json que contiene la información del encabezado del recibo a guardar. |
Retorno:
Nombre | Tipo | Descripción |
---|---|---|
aRet[1][1] | B | Si el valor obtenido en este campo es .T. se permitirá el guardado del recibo, de lo contrario no se permitirá el guardado del recibo. |
aRet[1][2] | C | Mensaje que se visualizara en el aplicativo en caso de que el campo aRet[1][1] sea Falso. |
Este punto de entrada sustituye al "A087TUDOK" de la rutina Cobros Diversos (FINA087A).
Más información: DT PE F998NROK Incluir validaciones antes del guardado del recibo desde Nuevo Recibo
Ejemplo:
#INCLUDE "Totvs.ch"
/*/{Protheus.doc} F998NROK
Punto de entrada que permite agregar validaciones al recibo antes del guardado
Si retorna un .T. procedera con el guardado del recibo
Si retorna un .F. no continuara con el guardado del recibo
/*/
USER FUNCTION F998NROK()
Local jFormasPago := Paramixb[1] //Json que contiene todas las formas de pago del recibo
Local jTitulos := Paramixb[2] //Json que contiene todos los titulos que contiene el recibo
Local jEncabezado := Paramixb[3] //Json que contiene los datos que conforman el encabezado del recibo
Local lRet := .T. As Logical
Local aRet := {} As Array
Local nCont As Numeric
Local cMensaje := "" As Character
Local nTipoDoc As Numeric
//Ejemplo de validaciones en las formas de pago que contiene el recibo
FOR nCont := 1 TO LEN(jFormasPago)
nTipoDoc := AScan(jFormasPago[nCont],{|x|x['property'] == "tipodoc"})
IF jFormasPago[nCont][nTipoDoc]['value'] == "EF"
lRet := .F.
cMensaje := "No se permite guardar recibos con forma de pago tipo EF-Efectivo"
AADD(aRet,{lRet,cMensaje})
ENDIF
NEXT
/*
//Ejemplo de validaciones en los titulos que contiene el recibo
FOR nCont := 1 TO LEN(jTitulos)
IF jTitulos[nCont]['series'] == "A"
lRet := .F.
cMensaje := "No se permite guardar un recibo con un titulo de serie A"
AADD(aRet,{lRet,cMensaje})
ENDIF
NEXT
*/
/*
//Ejemplo de validaciones sobre el encabezado del recibo
IF ALLTRIM(jEncabezado['modalidad']) == "COBRO"
lRet := .F.
cMensaje := "No se permite guardar un recibo con una modalidad dde tipo COBRO"
AADD(aRet,{lRet,cMensaje})
ENDIF
*/
RETURN aRet
Valor del campo, de cualquier tabla en la DB vinculada a los recibos de cobro. | ||
aRet[3] | L | Mostrar marca de seleccionado en la lista de campos a visualizar: .T. = Sí, .F. = No. |
aRet[4] | C | Nombre para asignar al campo a visualizar, debe ser con estilo de escritura "camelCase". Comienza con minúscula, puede tener mayúsculas intermedias, no permite espacios ni signos especiales. |
Este punto de entrada sustituye al "F088NP2K" de la rutina Cobros Diversos (FINA087A).
Más información: DT PE F998BRMCOL Incluir columnas a visualizar en el GRID de buscar recibos
Ejemplo:
#Include 'Protheus.ch'
User Function F998BRMCOL
Local aCampos := {}
Local cSerie := Paramixb[1]
Local cReceipt := Paramixb[2]
Local cClient := Paramixb[3]
Local cQueryFields As Character
Local cQueryWhere As Character
Local cAlias As Character
Local cQuery As Character
Local nCont As Numeric
Local aAux As Array
cAlias := GetNextAlias()
//En el arreglo de aCampos se agregan los campos a visualizar
//aCampos[1] -> Campo se desea visualizar
//aCampos[2] -> Título que se desea asignar a este campo para que lo visualice el cliente, ya sea fijo o que se obtenga de la SX3
//aCampos[3] -> .T. si se desea que este marcado por default y .F. si se desea que no este marcado por default en el GRID
//aCampos[4] -> Nombre de variable par ael campo, con formato camelCase; ejemplo "valorUnit", en vez de Valor Unitario
aCampos := {{"FJT_VERSAO","VERSION",.T.,"version"},{"FJT_DTDIGI",GetSx3Cache("FJT_DTDIGI","X3_TITULO"),.T.,"dataDigit"}}
//Se forman las condicionales de la consulta
cQueryWhere := " FJT_FILIAL = '"+xFilial("FJT")+"' AND FJT_SERIE = '"+cSerie+"' AND FJT_RECIBO = '"+cReceipt+"' AND FJT_CLIENT = '"+cClient+"' "
//Se estructura la parte de los campos a obtener
cQueryFields := " SELECT "
For nCont := 1 to LEN(aCampos)
cQueryFields += " "+aCampos[nCont][1]+" "
If nCont != LEN(aCampos)
cQueryFields += ","
EndIf
Next nCont
//Se estructura todo el query
cQuery := cQueryFields + " FROM " + RetSqlName("FJT") + " WHERE " + cQueryWhere
cQuery := ChangeQuery(cQuery)
MPSysOpenQuery(cQuery, cAlias)
aAux := {}
//Se asignan los campos deseados al arreglo a retornar
WHILE (cAlias)->(!EOF())
AADD( aAux,{aCampos[1][2],(cAlias)->FJT_VERSAO,aCampos[1][3],aCampos[1][4]})
AADD( aAux,{aCampos[2][2],(cAlias)->FJT_DTDIGI,aCampos[2][3],aCampos[2][4]})
(cAlias)->(DbSkip())
END
Return aAux
Tiene el objetivo de llenar el campo del Cobrador cuando se seleccione el código del cliente.
Parámetros recibidos:
Nombre | Tipo | Descripción |
---|---|---|
PARAMIXB[1] | C | Cliente seleccionado. |
PARAMIXB[2] | C | Tienda del cliente seleccionado. |
Retorno:
Nombre | Tipo | Descripción |
---|---|---|
cCobrador | C | Retorna el Cobrador que será colocado en el box del cobrador. |
Este punto de entrada sustituye al "F087VLCO" de la rutina Cobros Diversos (FINA087A).
Más información: DT PE F998NRDCOB Llenar el campo del Cobrador cuando seleccione el código del cliente en Nuevo Recibo
Ejemplo:
User Function F998NRDCOB()
Local cCobrador := ""
Local cClient := Paramixb[1]
Local cLoja := Paramixb[2]
dbselectarea("SAR")
("SAR")->(dbGoTop())
While ("SAR")->(!eof())
If xFilial("SAR")== SAR->AR_FILIAL .AND. cClient == SAR->AR_CODCLI .AND. cLoja == SAR->AR_LOJCLI
cCobrador :=AR_CODCOBR
EndIf
("SAR")->(dbskip())
EndDo
("SAR")->(dbCloseArea())
Return cCobrador
Tiene el objetivo de agregar más columnas a visualizar en los títulos financieros en la pantalla de Nuevo Recibo.
Parámetros recibidos:
- N/A
Retorno: Arreglo de configuraciones para agregar a la lista de campos que se pueden visualizar en la lista de títulos.
Nombre | Tipo | Descripción |
---|---|---|
aRet[1] | C | Campo a visualizar en la lista de títulos. |
aRet[2] | C | Título de la columna que se desea agregar en la lista de títulos. |
aRet[3] | L | Mostrar marca de seleccionado en la lista de campos a visualizar: .T. = Sí, .F. = No. |
Este punto de entrada sustituye al "F087COL
Tiene el objetivo de llenar el campo del Cobrador cuando se seleccione el código del cliente.
Parámetros recibidos:
Nombre | Tipo | Descripción |
---|---|---|
PARAMIXB[1] | C | Cliente seleccionado. |
PARAMIXB[2] | C | Tienda del cliente seleccionado. |
Retorno:
Nombre | Tipo | Descripción |
---|---|---|
cCobrador | C | Retorna el Cobrador que será colocado en el box del cobrador. |
Este punto de entrada sustituye al "F087VLCO" de la rutina Cobros Diversos (FINA087A).
Más información: DT PE F998NRDCOB Llenar el campo del Cobrador cuando seleccione el código del cliente en Nuevo Recibo
Ejemplo:
User Function F998NRDCOB()
Local cCobrador := ""
Local cClient := Paramixb[1]
Local cLoja := Paramixb[2]
dbselectarea("SAR")
("SAR")->(dbGoTop())
While ("SAR")->(!eof())
If xFilial("SAR")== SAR->AR_FILIAL .AND. cClient == SAR->AR_CODCLI .AND. cLoja == SAR->AR_LOJCLI
cCobrador :=AR_CODCOBR
EndIf
("SAR")->(dbskip())
EndDo
Return cCobrador
Tiene el objetivo de agregar más columnas a visualizar en los títulos financieros en la pantalla de Nuevo Recibo.
Parámetros recibidos:
- N/A
Retorno: Arreglo de configuraciones para agregar a la lista de campos que se pueden visualizar en la lista de títulos.
Nombre | Tipo | Descripción |
---|---|---|
aRet[1] | C | Campo a visualizar en la lista de títulos. |
aRet[2] | C | Título de la columna que se desea agregar en la lista de títulos. |
aRet[3] | L | Mostrar marca de seleccionado en la lista de campos a visualizar: .T. = Sí, .F. = No. |
Este punto de entrada sustituye al "F087COL" de la rutina Cobros Diversos (FINA087A).
Más información: DT PE F998NRMCOL Agregar más columnas en la lista de títulos por cobrar TOTVS Recibo
Ejemplo:
User Function F998NRMCOL()
Local aCampos := {}
Aadd(aCampos, { "E1_DTACRED","Fecha cred",.T.})
Aadd(aCampos, { "E1_TXMOEDA","TX moneda",.T.}
Return aCamposTiene el objetivo de agregar más filtros en la selección de registros (Query) que se usa en la pantalla de "Agregar otros títulos".
Parámetros recibidos:
Nombre | Tipo | Descripción |
---|---|---|
PARAMIXB[1] | C | Expresión SQL correspondiente al filtro estándar (Where) de selección (Query) de documentos. |
Retorno:
Nombre | Tipo | Descripción |
---|---|---|
cQuery | C | Expresión SQL del filtro de selección de documentos. Debe retornar la expresión recibida, complementada con los criterios específicos. |
Este punto de entrada sustituye al "F087AFCL" de la rutina Cobros Diversos (FINA087A).
Más información: DT PE F998NRIOFLT Agregar más filtros en el query de Agregar otros títulos TOTVS Recibo
Ejemplo:
User Function F998NRIOFLT()
cQuery += " AND E1_VALOR < 2000 "
Return cQuery
Tiene el objetivo de agregar nuevos tipos de títulos a los recibos generados desde la sección de "Nuevo Recibo"
Parámetros recibidos:
- N/A
Retorno:
Nombre | Tipo | Descripción |
---|---|---|
cTipos | C | Cadena que contiene los tipos de títulos adicionales, separados por diagonal ("/"). |
Este punto de entrada sustituye al "A087TIPTI" de la rutina Cobros Diversos (FINA087A).
Más información: DT PE F998FLOTIT Agregar otros tipos de títulos a los recibos de cobro en TOTVS reciboF998NRMCOL Agregar más columnas en la lista de títulos por cobrar TOTVS Recibo
Ejemplo:
#INCLUDE "Totvs.ch"
User Function F998FLOTITF998NRMCOL()
Local cTipos aCampos := {}
Aadd(aCampos, { "E1_DTACRED","Fecha cred"
cTipos += "/CC/CN"
Return cTipos
,.T.})
Aadd(aCampos, { "E1_TXMOEDA","TX moneda",.T.}
Return aCampos
Tiene el objetivo de que se puedan realizar acciones antes de generar los asientos contables agregar más filtros en la selección de registros (Query) que se usa en la pantalla de "Agregar otros títulos".
Parámetros recibidos:
- N/A
Retorno:
- N/A
Este punto de entrada sustituye al "FA087GRV" de la rutina Cobros Diversos (FINA087A).
Más información:
#Include 'Protheus.ch'
User Function F998NRG1()
If MsgYesNo("¿Desea ejecutar el punto de entrada F998NRG1? ", "Confirmar")
FINR270()
EndIf
Return
Nombre | Tipo | Descripción |
---|---|---|
PARAMIXB[1] | C | Expresión SQL correspondiente al filtro estándar (Where) de selección (Query) de documentos. |
Retorno:
Nombre | Tipo | Descripción |
---|---|---|
cQuery | C | Expresión SQL del filtro de selección de documentos. Debe retornar la expresión recibida, complementada con los criterios específicos. |
Este punto de entrada sustituye al "F087AFCL" de la rutina Cobros Diversos (FINA087A).
Más información: DT PE F998NRIOFLT Agregar más filtros en el query de Agregar otros títulos TOTVS Recibo
Ejemplo:
User Function F998NRIOFLT()
Local cQuery := Paramixb[1]
cQuery += " AND E1_VALOR < 2000 "
Return cQuery
Tiene el objetivo de agregar nuevos tipos de títulos a los recibos generados desde la sección de "Nuevo Recibo"
Parámetros recibidos:
Tiene el objetivo de que se puedan realizar acciones después de grabar el recibo de cobro.
Parámetros recibidos:
- N/A
Retorno:
N/ANombre | Tipo | Descripción |
---|---|---|
cTipos | C | Cadena que contiene los tipos de títulos adicionales, separados por diagonal ("/"). |
Este punto de entrada sustituye al "FA087SEL" y A087TIPTI" FA087BAIXA" de la rutina Cobros Diversos (FINA087A).
Más información: DT PE F998NRG2 F998FLOTIT Agregar acciones después de grabar el recibo otros tipos de títulos a los recibos de cobro en TOTVS recibo
Ejemplo:
#Include 'Protheus#INCLUDE "Totvs.ch'"
User Function F998NRG2F998FLOTIT()
Local cTipos := ""
cTipos += "/CC/CN"
Return cTipos If MsgYesNo("¿Desea ejecutar el punto de entrada F998NRG2? ", "Confirmar")
Finr087()
EndIfReturn
Tiene el objetivo de realizar acciones antes de la generación de Asientos Contables (CT2) y de grabar la tabla de Impuestos/Retenciones (SFE).
Parámetros recibidos:
- N/A
Retorno:
- N/A
Este punto de entrada sustituye al "FA087INC" de la rutina de Cobros Diversos (FINA087A).
Más información: DT PE F998NRG3 Agregar acciones antes de asientos contables y de grabar tabla de impuestos/retenciones
Ejemplo:
#Include 'Protheus.ch'
User Function F998NRG3()
If msgyesno("¿Desea ejecutar el punto de entrada F998NRG3? ", "Confirmar")
FINR300()
EndIf
Return
Tiene el objetivo de actualizar campos creados por el usuario en la tabla de Títulos por Cobrar (SE1), este proceso es realizado antes de finalizar las actualizaciones de la tabla de Títulos por Cobrar.
Parámetros recibidos:
- N/A
Retorno:
- N/A
Este punto de entrada sustituye al "F840SE1" de la rutina de Generación de recibos (FINA840).
Más información: DT PE F998GSE1 Permite grabar campos creados por el usuario en la tabla de títulos por cobrar
Ejemplo:
#Include 'Protheus.ch'
User Function F998GSE1()
SE1->E1_EJEMPLO := .T.
Return
Tiene el objetivo de actualizar el asunto y el cuerpo del Mail.
Parámetros recibidos:
Nombre | Tipo | Descripción |
---|---|---|
PARAMIXB[1] | C | Representa la Serie del Recibo |
PARAMIXB[2] | C | Representa el Número del Recibo |
Retorno:
Nombre | Tipo | Descripción | Obligatorio |
---|---|---|---|
aMail[1] | C | Representa el asunto del corrreo | Si |
aMail[2] | C | Representa el cuerpo del correo | Si |
Más información: DT PE F998MAIL Modificar el Asunto y Cuerpo al enviar el Recibo por Mail TOTVS Recibo
Ejemplo:
#Include 'Protheus.ch'
User Function F998MAIL()
Local cserie := Paramixb[1]
Local cRecibo := Paramixb[2]
Local cAsunto := ""
Local cCuerpo := ""
Local aMail := {}
cAsunto := "XML y PDF"
cCuerpo += "Hola usuario"
cCuerpo += "<br><br>"
cCuerpo += "Anexo los archivos XML y PDF del recibo número "+ " <b>" + cserie + "-" + cRecibo+"</b>"
cCuerpo += "<br><br>"
cCuerpo += "Saludos"
cCuerpo += "<br><br>"
cCuerpo += "Empresa SA de CV"
AADD (aMail,cAsunto)
AADD (aMail,cCuerpo)
Return aMail
Tiene el objetivo de imprimir un recibo en formato PDF personalizado.
Parámetros recibidos:
Nombre | Tipo | Descripción |
---|---|---|
PARAMIXB[1,1] | C | Nombre del archivo XML ya generado con extensión. |
PARAMIXB[1,2] | C | Vacío |
PARAMIXB[1,3] | C | Vacío |
PARAMIXB[1,4] | A | Array que contiene la información del recibo (Títulos a cobrar y/o compensar) [1] Serie título [2] Número de documento título [3] Fecha del recibo [4] Monto del pago [5] Monto compensación [6] Cliente [7] Tienda |
PARAMIXB[1,5] | C | Numero del recibo. |
PARAMIXB[1,6] | C | Serie del recibo. |
Más información: DT PE F998IMPREC Formato de impresión para los recibos TOTVS Recibo
Ejemplo:
#Include 'Protheus.ch'
User Function F998IMPREC()
Local aRecibos := PARAMIXB[1]
MsgAlert("Impresión del recibo "+ aRecibos[6]+aRecibos[5] +" por PE.")
Return
Tiene el objetivo de dar tratamiento a la cadena ingresada en la lectora de cheques para indicar posición y longitud de los datos contenidos en la cadena, retorna un array con 6 valores correspondiente a los campos:
- Banco (EF_BANCO).
- Agencia (EF_AGENCIA).
- Código Postal (EF_POSTAL).
- Cheque (EF_NUM) .
- Cuenta (EF_CONTA).
- DV Cuenta
Parámetros recibidos:
Nombre | Tipo | Descripción |
---|---|---|
PARAMIXB[1,1] | C | Contiene la cadena que se introduce en la ventana de la Lectora de Cheques |
Más información: DT PE FINCMTC Personalización de los datos ingresados en la lectora de cheques TOTVS Recibo
Ejemplo:
#Include 'Protheus.ch'
User Function FINCMTC()
Local cCmc7 := Paramixb[1]
Local nTamBco := 0 As Numeric
Local nTamAge := 0 As Numeric
Local nTamCta := 0 As Numeric
Local nTamChq := 0 As Numeric
Local nTamCPo := 0 As Numeric
Local aCmc7Tc := {} As Array
If nTamBco == 0
nTamBco := TamSX3("EF_BANCO")[1]
Endif
If nTamAge == 0
nTamAge := TamSX3("EF_AGENCIA")[1]
Endif
If nTamCta == 0
nTamCta := TamSX3("EF_CONTA")[1]
Endif
If nTamChq == 0
nTamChq := TamSX3("EF_NUM")[1]
Endif
If nTamCPo == 0
nTamCPo := TamSX3("EF_POSTAL")[1]
Endif
//Se agrega al arreglo a retornar una subcadena de la cadena original, configurando la posición inicial de cada campo y su longitud
//AADD(Array al que se le agregaran los valores, SUBSTR(cadena de la lectora de cheques, numero editable que indica donde empieza la cadena y por ultimo el tamaño del campo))
Aadd( aCmc7Tc, SubStr(cCmc7, 2, nTamBco)) //Banco
Aadd( aCmc7Tc, SubStr(cCmc7, 5, nTamAge)) //Agencia
Aadd( aCmc7Tc, SubStr(cCmc7, 10, nTamCPo)) //Codigo Postal
Aadd( aCmc7Tc, SubStr(cCmc7, 14, nTamChq)) //Cheque
Aadd( aCmc7Tc, SubStr(cCmc7, 20, nTamCta)) //Cuenta
Aadd( aCmc7Tc, SubStr(cCmc7, 30, 1) ) //DV Cuenta
Return aCmc7Tc
IMPORTANTE: Este punto de entrada es opcional de lo contrario la Lectora de cheques tomara las siguientes longitudes
Campo | Longitud |
---|---|
Banco | 3 |
Agencia | 3 |
Codigo Postal | 4 |
Cheque | 8 |
Cuenta | 10 |
DV Cuenta | 1 |
Tiene el objetivo de retornar una cadena de caracteres con el formato de un cheque y ser visualizado en la "Lectora De Cheque".
Parámetros recibidos:
- N/A
Más información: 695246_MMI-5510_DT_Punto_de_Entrada_FINLRCHQ_ARG
Ejemplo:
#Include 'Protheus.ch'
User Function FINLRCHQ()
Local cChq := ""
cChq := "0<00123456789abcdefghijklmnopqrs"
Return cChq
...
ID DEL PUNTO DE ENTRADA | MOMENTO DE EXECUÇÃO DO PONTO DE ENTRADA |
MODELPRE | Antes de la alteración de cualquier campo del modelo. 1 O Objeto del formulario ó del modelo, conforme el caso. Retorno: |
MODELPOS | En la validación total del modelo 1 O Objeto del formulario o del modelo, conforme el caso. Retorno: |
FORMPRE | Antes de la alteración de cualquier campo del formulario. Parámetros recibidos: 1 O Objeto del formulario o del modelo, conforme el caso. Retorno: |
FORMPOS | En la validación total del formulario. Parámetros recibidos: 1 O Objeto del formulario o del modelo, conforme el caso. Retorno: |
FORMLINEPRE | Antes de la alteración de la línea del formulario FWFORMGRID. 1 O Objeto del formulario o del modelo, conforme al caso. Retorno: |
FORMLINEPOS | En la validación total de la línea del formulario FWFORMGRID. 1 O Objeto do formulário ou do modelo, conforme o caso Retorno: |
MODELCOMMITTTS | Despúes de la grabación total del modelo y dentro de la transacción. Parámetros Recibidos Após a gravação total do modelo e dentro da transação. Parâmetros Recebidos: 1 O Objeto del formulario o formulario del modelo, conforme el caso. Retorno: |
MODELCOMMITNTTS | Después de la grabación total del modelo y dentro fuera de la transacción. Parámetros recibidos: 1 O Objeto del formulario o del modelo, conforme el caso. Retorno: |
FORMCOMMITTTSPRE | Antes da gravação da tabela do formulário. Parâmetros Recebidos: 1 O Objeto del formulario o del modelo, conforme el caso. Retorno: |
FORMCOMMITTTSPOS | Después de la grabación de la tabla del formulario. Parâmetros Recebidos: 1 O Objeto del formulario o del modelo, conforme el caso. Retorno: |
MODELCANCEL | El botón de cancelar. Parámetros recibidos: 1 O Objeto del formulario o del modelo, conforme el caso. Retorno: |
BUTTONBAR | Incluir botones en el ControlBar. Para crear los botones se debe retornar un array bidimensional con la siguiente estructura de cada ítem: 1 C Titulo para el botón. Parâmetros Recebidos: 1 O Objeto del formulario o del modelo, conforme el caso. Retorno: |
...