Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.


Puntos A continuación se presentan los puntos de entrada disponibles para todos los países :

...

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 click en "Aplicar filtrosen el programa TOTVS Recibos.

Parámetros recibidos:

Nombre TipoDescripción
PARAMIXB[1]CExpresión SQL estándar para la consulta (SELECT) que contará los registros a seleccionar.
PARAMIXB[2]CExpresión SQL estándar con filtros por campo que se utilizada para filtrar (WHERE) los registros a seleccionar.
PARAMIXB[3]C

Este punto de entrada se ejecuta en dos partes, este parámetro indica el tipo de consulta (expresión SQL para el Query a la base de datos) que se debe retornar:

"complete" - El punto de entrada debe retornar una expresión de consulta (Query) completa, la cual se utiliza para determinar el total de registros que se visualizaran.

"where" - El punto de entrada solo complementa la expresión de condiciones (WHERE) para la selección de registros a visualizar.

Retorno: Expresión SQL.

NombreTipoDescripción
queryNewCRetorna la expresión SQL de la consulta a realizar de acuerdo al tipo de Query; "complete" o "where".

Enlace de documentación y ejemplo:  DT PE F998BRFLT Agregar más filtros al momento de buscar recibos TOTVS Recibo MEX

Ejemplo:

#Include 'Protheus.ch'

User Function F998BRFLT
   Local querySelect := Paramixb[1]
   Local queryWhere := Paramixb[2]
   Local queryOption := Paramixb[3]
   Local whereNew := " AND SEL.EL_RECIBO >= 0040"
   Local queryNew := ""

...

Tiene el objetivo de que el usuario pueda personalizar validaciones para ejecutar la opción de "Anular/Borrar" un recibo de cobro.

Parámetros recibidos:

Nombre Tipo Descripción
PARAMIXB[1]CSerie del recibo
PARAMIXB[2]CNúmero del recibo

Retorno: Flag que indica si procede o no la anulación.

NombreTipoDescripción
aRet[1]LRetorna .T. si procede el Anulado/Borrado o .F. si no se permite.
aRet[2]CMensaje de la causa de rechazo de anulación .

Enlace de documentación y ejemplo: DT PE F998BRANU Pre-validaciones para la anulación de un recibo en TOTVS Recibo MEX

Ejemplo:

#Include 'Protheus.ch'

User Function F998BRANU
     Local cSerie := Paramixb[1]
     Local cRecibo := Paramixb[2]
     Local cQueryWhere := ""
     Local cQueryFields := ""
     Local cAlias := GetNextAlias()
     Local aRet := {.T.,""}

...

     cQuery := ChangeQuery(cQuery)
     MPSysOpenQuery(cQuery, cAlias)

     WHILE (cAlias)->(!EOF())
          IF (cAlias)->FJT_DTDIGI == DTOS(ddatabase)
               aRet := {.F.,"No se puede eliminar un recibo que haya sido generado el dia de hoy"}
          EndIf
          (cAlias)->(DbSkip())
     END
Return aRet

...

Tiene el objetivo de que el usuario pueda indicar campos/columnas que se desean incluir en el GRID de visualización de los recibos desde la opción de "Buscar recibos".

Parámetros recibidos:

NombreTipoDescripción
PARAMIXB[1]CSerie del recibo
PARAMIXB[2]CNúmero del recibo
PARAMIXB[3]CCliente

Retorno: Arreglo de configuraciones para agregar a la lista de campos que se pueden visualizar en la lista de recibos.

NombreTipoDescripción
aRet[1]CTítulo de la columna que se desea agregar en la lista de recibos.
aRet[2]CValor del campo, de cualquier tabla en la DB vinculada a los recibos de cobro.
aRet[3]LMostrar 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.

Link documentación y ejemplo: DT PE F998BRMCOL Incluir columnas a visualizar en el GRID de buscar recibos

Ejemplo:

Ejemplo:

#Include 'Protheus.ch'

...

   //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

...

   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

...

dentro de la rutina FINA998 así como los equivalentes que se desarrollaron para realizar procesos ya existentes en otras rutinas.