Versões comparadas

Chave

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

...

Informações
titleImportante

Estos parámetros son referentes al uso de la rutina vía MaIntBxCr(), si el parámetro MV_CMP330 estuviera activo, algunos tratamientos pueden ser diferentes y estos parámetros no surtirán efectos en el procesamiento.


02. 

...

EJEMPLOS DE

...

UTILIZACIÓN


Bloco de código
languagejava
themeMidnight
firstline1
titleEjemplo #01 - Rutina automática para compensación
linenumberstrue
#INCLUDE "PROTHEUS.CH"
#INCLUDE "TBICONN.CH"


//-------------------------------------------------------------------
/*/ MaIntBxCr
Ejemplo de compensación de títulos normales con anticipos - CR

@since 27/07/2021
@version 1.0
/*/
//-------------------------------------------------------------------
USER FUNCTION CmpAutCR()

Local lRetOK := .T.
Local aArea  := GetArea()

Local nTaxaCM := 5.2322
Local aTxMoeda := {}

Local nSaldoComp:= 1000.00 *nTaxaCM // Valor que se compensará (Si fuera parcial Puede ser parcial) - Compensar solamente R$ 50,00

Private nRecnoNDF
Private nRecnoE1

PREPARE ENVIRONMENT EMPRESA "TI" FILIAL "D MG 01 " MODULO "FIN" TABLES "SE2TI0","SE5TI0","SA6TI0","SEDTI0"

    Conout("----¡Inicio de la rutina automática!------")

    dbSelectArea("SE1")
    dbSetOrder(2) // E1_FILIAL, E1_CLIENTE, E1_LOJA, E1_PREFIXO, E1_NUM, E1_PARCELA, E1_TIPO, R_E_C_N_O_, D_E_L_E_T_
    IF dbSeek(XFILIAL("SE1")+"000000"+"00"+"331"+"RA0001   "+"  "+"RA ")
        nRecnoRA := RECNO()
        IF dbSeek(XFILIAL("SE1")+"000000"+"00"+"331"+"000001   "+"  "+"DP ")
            nRecnoE1 := RECNO()

            PERGUNTE("FIN330",.F.)
            lContabiliza    := (MV_PAR09 == 1) // ¿Contabiliza On Line ?
            lDigita         := (MV_PAR07 == 1) // ¿Muestra Asto. Contab ?
            lAglutina       := .F.

            /*
            ==> Utilice este trecho si quiere simular la opción Tasas de la pantalla inicial del FINA330
			==> Verifique los parámetros MV_CMP330 y MV_CMTXCON para ello.
            nTaxaCM := RecMoeda(dDataBase,SE1->E1_MOEDA)

            aAdd(aTxMoeda, {1, 1} )
            aAdd(aTxMoeda, {2, nTaxaCM} )
            */
            SE1->(dbSetOrder(1)) //E1_FILIAL+E1_PREFIXO+E1_NUM+E1_PARCELA+E1_TIPO+E1_FORNECE+E1_LOJA

            //NF X RA
            aRecRA := { nRecnoRA }
            aRecSE1 := { nRecnoE1 }

			/*
            //RA X NF
            aRecRA := { nRecnoE1 }
            aRecSE1 := { nRecnoRA }
			*/

            If !MaIntBxCR(3, aRecSE1,,aRecRA,,{lContabiliza,lAgrupa,lDigita,.F.,.F.,.F.},,,,,nSaldoComp,,,, nTaxaCM, aTxMoeda)
                Help("XAFCMPAD",1,"HELP","XAFCMPAD","No fue posible la compensación"+CRLF+" del título de anticipo",1,0)
                lRet := .F.
            ENDIF
        ENDIF
    ENDIF

    RestArea(aArea)

RESET ENVIRONMENT

Return lRet

...