01. DATOS GENERALES

Producto:

TOTVS Backoffice

Línea de producto:

Línea Protheus

Segmento:

Backoffice

Módulo:

TOTVS Backoffice (Línea Protheus) - Financiero (SIGAFIN)

Función:

F716BLQR


02. DESCRIPCIÓN

Punto de entrada F716BLQR permite efectuar el bloqueo del proceso de reversión de una inversión.

Se utiliza en la rutina de Inversiones y préstamos - FINA716.


Tablas posicionadas:

En el momento en que se llama al punto de entrada, se posicionarán las tablas SEH (Control Inversión/Préstamo) y SEI (Movimiento Inversión/Préstamo).

    • SEH - Posicionado en la inversión donde ocurrió la retirada.
    • SEI  - Posicionado en el primero registro de la secuencia de la retirada.


Respuesta del punto de entrada:

El punto de entrada debe devolver una variable del tipo Array que contenga dos posiciones.

Donde:

    • 1º Posición - Variable lógica que indica si se podrá realizar la reversión de la retirada.
      • Verdadero: Permite efectuar la reversión.
      • Falso: No permite efectuar la reversión.


    • 2º Posición - Mensaje que aparecerá en la pantalla si hubiera bloqueo.
      • El mansaje aparecerá solamente cuando el contenido de la 1º posición sea igual a falso..

03. PARÁMETRO

No se aplica


04. EJEMPLO DE UTILIZACIÓN

F716BLQR
#INCLUDE "totvs.ch"
 
/*/{Protheus.doc} User Function F716BLQR
    Permite efectuar el bloqueo de la reversión de una retirada de inversión.

    El P.E debe devolver un array considerando que en la primera posición es un valor lógico 
    que indica si se debe realizar o no la operación, y en la segunda posición 
	un mensaje si hubiera bloqueo.
    
    Tablas posicionadas SEH y SEI - (SEI en el primer registro de la secuencia de la retirada).

    @type  Function
    @author Totvs
    @since 31/07/2023
    @version 1.0
    @see https://tdn.totvs.com/pages/viewpage.action?pageId=780032412
/*/
User Function F716BLQR() as Array
    Local aResponse := Array(2) as Array
    Local aAreaSEH := SEH->(FwGetArea())

    // Array de retorno do P.E
    aResponse[1] := .T. // Define si se puede efectuar la reversión de la retirada .T. = Sí, .F. = No.
    aResponse[2] := ""  // Define el mensaje que aparecerá si hubiera bloqueo (aResponse[1] = .F.)

    SEI->(DbSetOrder(2))
    If SEI->(DBSeek(SEI->EI_FILIAL + SEI->EI_APLEMP + SEI->EI_NUMERO + SEI->EI_REVISAO + SEI->EI_MOTBX + DTOS(SEI->EI_DTDIGIT) + "VL" + SEI->EI_SEQ))
        If SEI->EI_VALOR > 100000
            aResponse[1] := .F.
            aResponse[2] := "No se puede revertir retiradas con valor superior a cien mil"
        EndIf
    EndIf

    FwRestArea(aAreaSEH)
Return aResponse