Línea de producto: | Microsiga Protheus® |
---|---|
Segmento: | Backoffice |
Módulo: | Financiero |
Función: | FINA240 - Borderó de pagos |
Requisito/Story/Issue (informe el requisito relacionado) : | DFINTES-16328 |
La finalidad del punto de entrada F240IND es permitir que se modifique el orden de los títulos en la pantalla.
El punto de entrada F240IND se ejecuta en dos puntos dentro de la rutina FINA240 (Borderó de pagos), siendo estas:
Obs. 1: solamente los índices seleccionados en la pantalla de selección de índices podrán utilizarse para actualizar el browse de registro de títulos. Durante la primera ejecución del punto de entrada (después de la selección manual de índices), si se devolviera un índice que no haya registrado manualmente este se incluirá a los índices de la pantalla de registro de títulos.
Obs. 2: si el índice fuera alfanumérico (ejemplo: A, B, C), la devolución del punto de entrada debe seguir la misma regla de la función "DBSetOrder", es decir, la devolución debe ser numérica.
Ejemplo: índice 1 e índice 2 registrados manualmente en la pantalla siguiente selección e índice 6 devuelto por medio del punto de entrada: los títulos se ordenarán por el índice 6 y los tres índices podrán utilizarse en la ejecución del punto de entrada por medio de la opción actualizar.
Ejecución en la activación de la pantalla de selección de títulos:
Nombre | Tipo | Descripción | Contenido |
paramIXB[1] | logical | lRefresh - si la ejecución fuera por medio de la opción Actualizar o no. | Falso |
paramIXB[2] | array | aIndices - array vacío (solamente por compatibilidad. Este estará completado en le ejecución donde el lRefresh estuviera como verdadero. | {} |
Ejecución por medio de la opción "Actualizar":
Nombre | Tipo | Descripción | Contenido |
paramIXB[1] | logical | lRefresh - si la ejecución fuera por medio de la opción Actualizar o no. | Falso |
paramIXB[2] | array | aIndices - Array (matriz) con los índices seleccionados previamente en la pantalla de selección de índices. | 1ª posición = Número del índice. 2ª posición = Descripción del índice de acuerdo con la tabla SIX. |
Nombre | Tipo | Descripción |
nIndex | Numérico | Número del índice que debe reordenar los títulos mostrados para registro. |
#Include "TOTVS.CH" /*/{Protheus.doc} F240IND Punto de entrada para manejo de índice de la pantalla de borderó (FINA240). @version P12 @since 10/09/2021 @return numeric, índice que será marcado @obs Función utilizada en las rutinas FINA240 /*/ User Function F240IND() As Numeric Local aIndices As Array Local lRefresh As Logical Local nIndex As Numeric nIndex := 1 lRefresh := paramIXB[1] aIndices := paramIXB[2] //solamente se activa en la ejecución vía opción Actualizar (cuando lRefresh está como verdadero) //Selección del indice inicial de la tabla If !lRefresh If MsgYesNo("¿Desea ordenar por Código del proveedor?", "F240IND - Modificar el índice") nIndex := 6 EndIf Else //Activación vía opción refresh de la tabla de borderó - Permite el cambio del índice actual //Su lógica para selección de índice - Ejemplo utilizando List Box nIndex := U_SelIndex(aIndices) EndIf Return nIndex /*/{Protheus.doc} SelIndex Rutina para selección de índice en la opción refresh de la pantalla de selección de borderó. @version P12 @since 10/09/2021 @param aIndices array, array de índices que podrán seleccionarse @return numeric, índice que se utilizará en la pantalla de selección de borderó /*/ User Function SelIndex(aIndices As Array) As Numeric Local nVar As Numeric Local nOpca As Numeric Local nSE2Index As Numeric Local oList As Object Local oDlg As Object nOpca := 2 DEFINE MSDIALOG oDlg TITLE "Selección de índice" From 9, 0 To 32, 74 OF oMainWnd @0.5, 0.3 TO 12.2, 32.2 LABEL "Índices" OF oDlg @2.3, 3.0 Say OemToAnsi(" ") @1.0, 0.7 LISTBOX oList VAR nVar Fields HEADER "Índice" SIZE 250, 150 NOSCROLL ON DBLCLICK (nSE2Index := aIndices[oList:nAt][1], nOpca := 1, oDlg:End()) oList:SetArray(aIndices) oList:bLine := {|| {aIndices[oList:nAt][2]}} DEFINE SBUTTON FROM 10.0, 260 TYPE 1 ACTION (nOpca := 1, nSE2Index := aIndices[oList:nAt][1], oDlg:End()) ENABLE OF oDlg DEFINE SBUTTON FROM 22.5, 260 TYPE 2 ACTION oDlg:End() ENABLE OF oDlg ACTIVATE MSDIALOG oDlg CENTERED //Si se anulara la selección, automáticamente selecciona el primer índice If nOpca == 2 nSE2Index := 1 EndIf Return nSE2Index