Árvore de páginas

Ponto de Entrada

Descrição:

Ponto de Entrada localizado na rotina Comissões / Incentivos de Faturamento Direto (VEIVM180) e é utilizado para substituir a tela padrão de alteração de percentual e valores de Comissão de Faturamento Direto.

Localização:

Atualizações \ Mov Saída \ Central Fat.direto (VEIVM180).

Eventos:

If ExistBlock("VM180VLR")

// Parametros do Ponto de Entrada (ParamIXB):

// [1] = % Desconto

// [2] = Vlr Base

// [3] = % Comissão

// [4] = Vlr Comissão

// [5] = RecNo VQ2

// [6] = Valor Inicial

// [7] = Filial Atendimento

// [8] = Nro. Atendimento

aRet := ExecBlock("VM180VLR",.f.,.f., { aIncent[nLinVet,08] ,;

aIncent[nLinVet,09] ,;

aIncent[nLinVet,10] ,;

aIncent[nLinVet,11] ,;

aIncent[nLinVet,15] ,;

aIncent[nLinVet,07] ,;

aIncent[nLinVet,03] ,;

aIncent[nLinVet,04] })

If ValType(aRet) == "A"

// Retorno do Ponto de Entrada:

// [1] = % Desconto

// [2] = Vlr Base

// [3] = % Comissão

// [4] = Vlr Comissão

aIncent[nLinVet,08] := aRet[01] // % Desconto

aIncent[nLinVet,09] := aRet[02] // Vlr Base

aIncent[nLinVet,10] := aRet[03] // % Comissão

aIncent[nLinVet,11] := aRet[04] // Vlr Comissão

lOkTela := .t.

EndIf

Else

cTip := substr(aIncent[nLinVet,12],2)

AADD(aParamBox,{1,STR0028 ,aIncent[nLinVet,07],"@E 999,999,999.99","" ,"",".F.",50,.t.}) // Vlr Inicial

AADD(aParamBox,{1,"% "+STR0007 ,aIncent[nLinVet,08],"@E 999.99" ,"VM180VLDP(2)","","",50,.f.}) // % Desconto

AADD(aParamBox,{1,STR0029 ,aIncent[nLinVet,09],"@E 999,999,999.99","VM180VLDP(3)","","",50,.f.}) // Vlr Base

AADD(aParamBox,{1,"% "+cTip ,aIncent[nLinVet,10],"@E 999.99" ,"VM180VLDP(4)","","",50,.f.}) // % Comissão

AADD(aParamBox,{1,STR0027+" "+cTip,aIncent[nLinVet,11],"@E 999,999,999.99","VM180VLDP(5)","","",50,.f.}) // Vlr Comissão

If ParamBox(aParamBox,STR0031,@aRet,,,,,,,,.f.) // Incentivo - ALTERAR

aIncent[nLinVet,08] := aRet[02] // % Desconto

aIncent[nLinVet,09] := aRet[03] // Vlr Base

aIncent[nLinVet,10] := aRet[04] // % Comissão

aIncent[nLinVet,11] := aRet[05] // Vlr Comissão

lOkTela := .t.

EndIf

EndIf

If lOkTela

If right(aIncent[nLinVet,2],1) $ "12" .and. aIncent[nLinVet,15] > 0

DbSelectArea("VQ2")

DbGoTo(aIncent[nLinVet,15])

RecLock("VQ2",.f.)

VQ2->VQ2_PERDES := aIncent[nLinVet,08] // % Desconto

VQ2->VQ2_VLRBAS := aIncent[nLinVet,09] // Vlr Base

VQ2->VQ2_PERINC := aIncent[nLinVet,10] // % Comissão

VQ2->VQ2_VLRINC := aIncent[nLinVet,11] // Vlr Comissão

MsUnLock()

EndIf

EndIf

Programa Fonte:

VEIVM180.PRW

Função:

FS_DBLCLICK()

Parâmetros:
NomeTipoDescrição
nPDesctoNumérico% Desconto
nVlrBaseNuméricoValor Base
nPComissNumérico% Comissão
nVComissNuméricoValor Comissão
nRecVQ2NuméricoRecNo VQ2
nVInicialNuméricoValor Inicial para Cálculo
cFilAtendCaracterFilial do Atendimento
cNroAtendCaracterNro. do Atendimento

Retorno:

NomeTipoDescrição
aRetArray

Posição 1 = % Desconto

Posição 2 = Vlr Base

Posição 3 = % Comissão

Posição 4 = Vlr Comissão

Exemplo:

////////////////////////////////////////////////////////////////////////////////

// Ponto de Entrada na Rotina de Comissoes / Incentivos de Faturamento Direto //

// utilizado para substituir a tela de alteração do Valor de Comissão. //

////////////////////////////////////////////////////////////////////////////////

User Function VM180VLR()

Local nPDescto := ParamIXB[1] // % Desconto

Local nVlrBase := ParamIXB[2] // Valor Base

Local nPComiss := ParamIXB[3] // % Comissão

Local nVComiss := ParamIXB[4] // Valor Comissão

Local nRecVQ2 := ParamIXB[5] // RecNo VQ2

Local nVInicial := ParamIXB[6] // Valor Inicial

Local cFilAtend := ParamIXB[7] // Filial do Atendimento

Local cNroAtend := ParamIXB[8] // Nro. do Atendimento


Local aRet := {}


aRet := { nPDescto , nVlrBase , nPComiss , nVComiss } // Retorno Vetor: { % Desconto , Valor Base , % Comissão , Valor Comissão }


MsgAlert("Ponto de Entrada VM180VLR executado com sucesso! Utilizado para substituir a tela padrão de alteração de % e valores de Comissão de Faturamento Direto.")


Return aRet