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.

Observações

Exemplos

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

Preview

Veja também

Idioma

Português(Brasil)

Versões

Todas

Sistemas Operacionais Suportados

Todos

Compatível com as Bases de Dados

Todas

Updates

Parâmetros

Retorno

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

Eventos de chamada do Ponto de Entrada

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( aFilAtu3 , aFilAtu4 , aFilAtu1 , .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 := aSM0nCont

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(aTit1,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 := { || { aTitnAt,1,aTitnAt,2,aTitnAt,3,aTitnAt,4,aTitnAt,5,transform(aTitnAt,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)

Variáveis

Programa Fonte

VEIFUNA.PRW