Árvore de páginas

Ponto de Entrada

Descrição:

Este ponto de entrada está localizado no fonte de funções gerais VEIFUNA.PRW. O ponto de entrada é executado no momento em que a checagem do crédito do cliente é executado em diversas rotinas do sistema. Tem como objetivo estabelecer uma personalização de regras para realização da análise e exibição ou não da janela com as informações financeiras do cliente, independente do processamento do padrão.

Parâmetros:

N/A

Eventos:

Function FG_CKCLINI(cCliLoj,lRetorno,lSemMos)

Local aArea := {}

Local lAtual := .f.

Local OXFig

Local lMostra := .f.

Local cHrMin := left(time(),5)

Local cPRW := FunName()

Local aTit := {{"","","",CtoD(""),CtoD(""),0}}

Local nValor := 0

Local cQuery := ""

Local cAliasSE1 := "SQLSE1"

Local aFilAtu := FWArrFilAtu()

Local aSM0 := FWAllFilial( aFilAtu[3] , aFilAtu[4] , aFilAtu[1] , .f. )

Local cBkpFilAnt:= cFilAnt

Local nCont := 0

DEFAULT lSemMos := .f. // Mostra sempre, independente do Parametro MV_CKCLINR

DEFAULT lRetorno := .t.

 

DEFINE FONT oFCliNIR NAME "Arial" SIZE 08,15 BOLD

dbSelectArea("SX6")

dbSetOrder(1)

lMostra := Getmv("MV_CKCLIXX",.T.)

 

If lMostra

// Salva posicoes originais dos Arquivos

aArea := sGetArea(aArea,"VCF")

aArea := sGetArea(aArea,"VCB")

aArea := sGetArea(aArea,"SA1")

aArea := sGetArea(aArea,"VAI")

If !Empty(Alias())

aArea := sGetArea(aArea,Alias())

EndIf

 

DbSelectArea("SA1")

DbSetOrder(1)

DbSeek(xFilial("SA1") + cCliLoj )

//

lMosTelaPE := .f.

//

If ( ExistBlock("VFATECLI") )

lMosTelaPE := ExecBlock("VFATECLI",.f.,.f.,{lMosTelaPE})

EndIf

If Alltrim(GetMV("MV_CKCLIXX")) # Alltrim( cPRW +" "+ cHrMin +" "+ __CUSERID +" "+ cCliLoj )

DbSelectArea("VCF")

DbSetOrder(1)

If DbSeek( xFilial("VCF") + cCliLoj ) // Posiciona nos dados do Cliente

If VCF->VCF_NIVIMP $ GetNewPar("MV_CKCLINI","AA") // Verifica o nivel do Cliente se esta no Parametro

lAtual := .t.

DbSelectArea("VCB")

DbSetOrder(1)

DbSeek(xFilial("VCB") + VCF->VCF_AREVEN )

DbSelectArea("VAI")

DbSetOrder(4)

DbSeek( xFilial("VAI") + __CUSERID )

DEFINE MSDIALOG oCliNI FROM 000,000 TO 011,055 TITLE (STR0180+VCF->VCF_NIVIMP) OF oMainWnd

@ 016,015 SAY VAI->VAI_NOMUSU SIZE 180,08 OF oCliNI PIXEL COLOR CLR_RED FONT oFCliNIR

DEFINE SBUTTON FROM 013,333 TYPE 15 ENABLE OF oCliNI // Botao VISUALIZAR

DEFINE SBUTTON FROM 013,175 TYPE 1 ACTION (oCliNI:End()) ENABLE OF oCliNI // Botao OK

@ 033,015 SAY (STR0181+"( "+VCF->VCF_NIVIMP+" )") SIZE 180,08 OF oCliNI PIXEL COLOR CLR_BLUE FONT oFCliNIR

If !Empty(VCF->VCF_AREVEN)

@ 045,015 SAY (STR0182+VCF->VCF_AREVEN+" - "+VCB->VCB_DESREG) SIZE 180,08 OF oCliNI PIXEL COLOR CLR_BLUE FONT oFCliNIR

EndIf

@ 060,015 SAY SA1->A1_NOME SIZE 180,08 OF oCliNI PIXEL COLOR CLR_HBLUE FONT oFCliNIR

@ 005,007 TO 077,211 LABEL "" OF oCliNI PIXEL // Caixa Sair

ACTIVATE MSDIALOG oCliNI CENTER

EndIf

EndIf

 

If lSemMos .or. SA1->A1_RISCO $ GetNewPar("MV_CKCLINR","E") .or. lMosTelaPE // Verifica o risco do Cliente se esta no Parametro

 

nQtd := 0

nValor := 0

 

For nCont := 1 to Len(aSM0)

 

cFilAnt := aSM0[nCont]

 

 

cQuery := "SELECT SE1.E1_FILIAL,SE1.E1_NUM,SE1.E1_PARCELA,SE1.E1_EMISSAO,SE1.E1_VENCREA,SE1.E1_VALOR "

cQuery += "FROM "+RetSqlName( "SE1" ) + " SE1 WHERE "

cQuery += "SE1.E1_FILIAL='"+xFilial("SE1")+"' AND "

cQuery += "SE1.E1_CLIENTE='"+SA1->A1_COD+"' AND SE1.E1_LOJA='"+SA1->A1_LOJA+"' AND SE1.E1_SALDO <> 0 AND SE1.E1_TIPO <> 'NCC' AND "

cQuery += "SE1.D_E_L_E_T_=' ' ORDER BY SE1.E1_FILIAL,SE1.E1_VENCREA,SE1.E1_NUM,SE1.E1_PARCELA"

dbUseArea( .T., "TOPCONN", TcGenQry(,,cQuery), cAliasSE1, .T., .T. )

Do While !( cAliasSE1 )->( Eof() )

if len(aTit) == 1 .and. Empty(aTit[1,1])

aTit := {}

Endif

aadd(aTit,{( cAliasSE1 )->E1_FILIAL,( cAliasSE1 )->E1_NUM,( cAliasSE1 )->E1_PARCELA,stod(( cAliasSE1 )->E1_EMISSAO),stod(( cAliasSE1 )->E1_VENCREA),( cAliasSE1 )->E1_VALOR})

nQtd++

nValor += ( cAliasSE1 )->E1_VALOR

dbSelectArea(cAliasSE1)

( cAliasSE1 )->(dbSkip())

Enddo

( cAliasSE1 )->(dbCloseArea())

dbSelectArea("SE1")

 

Next

cFilAnt := cBkpFilAnt

 

lAtual := .t.

DbSelectArea("VAI")

DbSetOrder(4)

DbSeek( xFilial("VAI") + __CUSERID )

DEFINE MSDIALOG oCliNR FROM 000,000 TO 025,055 TITLE (STR0259+SA1->A1_RISCO) OF oMainWnd

@ 016,015 SAY VAI->VAI_NOMUSU SIZE 180,08 OF oCliNR PIXEL COLOR CLR_BLUE FONT oFCliNIR

DEFINE SBUTTON FROM 013,333 TYPE 15 ENABLE OF oCliNR // Botao VISUALIZAR

DEFINE SBUTTON FROM 013,175 TYPE 1 ACTION (oCliNR:End()) ENABLE OF oCliNR // Botao OK

@ 030,014 BITMAP OXFig RESOURCE "SVM" OF oCliNR PIXEL ADJUST NOBORDER SIZE 40,40

@ 030,062 SAY (STR0260+SA1->A1_RISCO+STR0261) SIZE 140,08 OF oCliNR PIXEL COLOR CLR_HRED FONT oFCliNIR

@ 045,062 SAY SA1->A1_NOME SIZE 140,08 OF oCliNR PIXEL COLOR CLR_HBLUE FONT oFCliNIR

@ 060,062 SAY STR0262+Dtoc(SA1->A1_VENCLC) SIZE 140,08 OF oCliNR PIXEL COLOR CLR_HBLUE FONT oFCliNIR

@ 005,007 TO 077,211 LABEL "" OF oCliNR PIXEL // Caixa Sair

@ 078,040 SAY (STR0263) SIZE 160,08 OF oCliNR PIXEL COLOR CLR_HRED FONT oFCliNIR

@ 085,006 LISTBOX oLbx1 FIELDS HEADER (STR0264),(STR0265),(STR0266),(STR0267),(STR0268),(STR0269) COLSIZES 30,20,40,40,50 SIZE 209,080 OF oCliNR PIXEL

oLbx1:SetArray(aTit)

oLbx1:bLine := { || { aTit[oLbx1:nAt,1],aTit[oLbx1:nAt,2],aTit[oLbx1:nAt,3],aTit[oLbx1:nAt,4],aTit[oLbx1:nAt,5],transform(aTit[oLbx1:nAt,6],"@E 99,999,999,999.99")}}

@ 166,013 SAY STR0270+transform(SA1->A1_LC,"@E 999,999,999.99")+STR0272+transform(nValor,"@E 99,999,999,999.99") SIZE 300,08 OF oCliNR PIXEL COLOR CLR_HBLUE FONT oFCliNIR

@ 180,013 SAY STR0271+transform(SA1->A1_LC-nValor,"@E 99,999,999,999.99")+Iif(fm_pilha("OFIXA016"),STR0273+transform(VS1->VS1_VTOTNF,"@E 99,999,999,999.99"),"") SIZE 300,08 OF oCliNR PIXEL COLOR CLR_HBLUE FONT oFCliNIR

ACTIVATE MSDIALOG oCliNR CENTER

EndIf

If lAtual

PutMv("MV_CKCLIXX",cPRW +" "+ cHrMin +" "+ __CUSERID +" "+ cCliLoj)

EndIf

EndIf

// Volta posicoes originais dos Arquivos

sRestArea(aArea)

EndIf

Return(lRetorno)

Programa Fonte:

VEIFUNA  

Retorno:

lMosTelaPE - Mostra ou não a Tela (Tipo Lógico)

 

Exemplo:

User Function VFATECLI

 

lMosTelaPE := .f.

 

cAliasPE1 := GetNextAlias()

//

cQuery := "SELECT SE1.E1_FILIAL,SE1.E1_NUM,SE1.E1_PARCELA,SE1.E1_EMISSAO,SE1.E1_VENCREA,SE1.E1_VALOR "

cQuery += "FROM "+RetSqlName( "SE1" ) + " SE1 WHERE "

cQuery += "SE1.E1_FILIAL='"+xFilial("SE1")+"' AND "

cQuery += "SE1.E1_CLIENTE='"+SA1->A1_COD+"' AND SE1.E1_LOJA='"+SA1->A1_LOJA+"' AND SE1.E1_SALDO <> 0 AND SE1.E1_TIPO <> 'NCC' AND "

cQuery += "SE1.D_E_L_E_T_=' ' ORDER BY SE1.E1_FILIAL,SE1.E1_VENCREA,SE1.E1_NUM,SE1.E1_PARCELA"

dbUseArea( .T., "TOPCONN", TcGenQry(,,cQuery), cAliasPE1, .T., .T. )

Do While !( cAliasPE1 )->( Eof() )

nValor += ( cAliasPE1 )->E1_VALOR

dbSelectArea(cAliasPE1)

( cAliasPE1 )->(dbSkip())

Enddo

( cAliasPE1 )->(dbCloseArea())

if SA1->A1_LC - nValor < 0 .or. SA1->A1_VENCLC < DDATABASE

lMosTelaPE := .t.

endif

 

return lMosTelaPE