Árvore de páginas

Ponto de Entrada

Descrição:

Ponto de Entrada localizado na rotina Oportunid Negócios (VEICM680) executado na validação dos campos de Interesse. Possibilita personalizar validações específicas dos campos na grid do Interesse.

Localização:

Atualizações \ Cad C e V \ Oportunid Negócios (VEICM680)

Eventos:

Function VCM680FOK(cRVar)

Local lRet := .t.

Local nRecSUS := 0

Local nRecSA1 := 0

Default cRVar := ReadVar()

Do Case

Case cRVar == "M->VDL_CODCLI" .or. cRVar == "M->VDL_LOJCLI"

If !Empty(M->VDL_CODCLI+M->VDL_LOJCLI)

M->VDL_CDPROS := space(TamSX3("VDL_CDPROS")[1])

M->VDL_LJPROS := space(TamSX3("VDL_LJPROS")[1])

nRecSA1 := FM_SQL("SELECT R_E_C_N_O_ AS RECSA1 FROM "+RetSQLName("SA1")+" WHERE A1_FILIAL='"+xFilial("SA1")+"' AND A1_COD='"+M->VDL_CODCLI+"'"+IIf(!Empty(M->VDL_LOJCLI)," AND A1_LOJA='"+M->VDL_LOJCLI+"' ","")+" AND D_E_L_E_T_=' '")

If nRecSA1 > 0 // Existe Cliente

DbSelectArea("SA1")

DbGoTo(nRecSA1)

M->VDL_LOJCLI := SA1->A1_LOJA

M->VDL_NOMCLI := SA1->A1_NOME

M->VDL_DDDCLI := SA1->A1_DDD

M->VDL_TELCLI := SA1->A1_TEL

M->VDL_EMACLI := SA1->A1_EMAIL

EndIf

EndIf

Case cRVar == "M->VDL_CDPROS" .or. cRVar == "M->VDL_LJPROS"

If !Empty(M->VDL_CDPROS+M->VDL_LJPROS)

M->VDL_CODCLI := space(TamSX3("VDL_CODCLI")[1])

M->VDL_LOJCLI := space(TamSX3("VDL_LOJCLI")[1])

nRecSUS := FM_SQL("SELECT R_E_C_N_O_ AS RECSUS FROM "+RetSQLName("SUS")+" WHERE US_FILIAL='"+xFilial("SUS")+"' AND US_COD='"+M->VDL_CDPROS+"'"+IIf(!Empty(M->VDL_LJPROS)," AND US_LOJA='"+M->VDL_LJPROS+"' ","")+" AND D_E_L_E_T_=' '")

If nRecSUS > 0 // Existe Prospect

DbSelectArea("SUS")

DbGoTo(nRecSUS)

M->VDL_LJPROS := SUS->US_LOJA

M->VDL_NOMCLI := SUS->US_NOME

M->VDL_DDDCLI := SUS->US_DDD

M->VDL_TELCLI := SUS->US_TEL

M->VDL_EMACLI := SUS->US_EMAIL

If !Empty(SUS->US_CODCLI+SUS->US_LOJACLI)

MsgInfo(STR0049,STR0029) // Este Prospect já foi convertido para Cliente! / Atencao

M->VDL_CODCLI := SUS->US_CODCLI

M->VDL_LOJCLI := SUS->US_LOJACLI

nRecSA1 := FM_SQL("SELECT R_E_C_N_O_ AS RECSA1 FROM "+RetSQLName("SA1")+" WHERE A1_FILIAL='"+xFilial("SA1")+"' AND A1_COD='"+M->VDL_CODCLI+"' AND A1_LOJA='"+M->VDL_LOJCLI+"' AND D_E_L_E_T_=' '")

If nRecSA1 > 0 // Existe Cliente

DbSelectArea("SA1")

DbGoTo(nRecSA1)

M->VDL_NOMCLI := SA1->A1_NOME

M->VDL_DDDCLI := SA1->A1_DDD

M->VDL_TELCLI := SA1->A1_TEL

M->VDL_EMACLI := SA1->A1_EMAIL

EndIf

M->VDL_CDPROS := space(TamSX3("VDL_CDPROS")[1])

M->VDL_LJPROS := space(TamSX3("VDL_LJPROS")[1])

EndIf

EndIf

EndIf

Case cRVar == "M->VDL_NOMCLI"

If !Empty(M->VDL_CODCLI+M->VDL_LOJCLI)

DbSelectArea("SA1")

DbSetOrder(1)

If !DbSeek( xFilial("SA1") + M->VDL_CODCLI + M->VDL_LOJCLI ) .or. "["+SA1->A1_NOME+"]" <> "["+M->VDL_NOMCLI+"]"

M->VDL_CODCLI := space(TamSX3("VDL_CODCLI")[1])

M->VDL_LOJCLI := space(TamSX3("VDL_LOJCLI")[1])

M->VDL_DDDCLI := space(TamSX3("VDL_DDDCLI")[1])

M->VDL_TELCLI := space(TamSX3("VDL_TELCLI")[1])

M->VDL_EMACLI := space(TamSX3("VDL_EMACLI")[1])

EndIf

ElseIf !Empty(M->VDL_CDPROS+M->VDL_LJPROS)

DbSelectArea("SUS")

DbSetOrder(1)

If !DbSeek( xFilial("SUS") + M->VDL_CDPROS + M->VDL_LJPROS ) .or. "["+SUS->US_NOME+"]" <> "["+M->VDL_NOMCLI+"]"

M->VDL_CDPROS := space(TamSX3("VDL_CODCLI")[1])

M->VDL_LJPROS := space(TamSX3("VDL_LOJCLI")[1])

M->VDL_DDDCLI := space(TamSX3("VDL_DDDCLI")[1])

M->VDL_TELCLI := space(TamSX3("VDL_TELCLI")[1])

M->VDL_EMACLI := space(TamSX3("VDL_EMACLI")[1])

EndIf

EndIf

Case cRVar == "M->VDM_DATINT"

M->VDM_DATLIM := M->VDM_DATINT

Case cRVar == "M->VDM_CODMAR"

cFilCodMar := M->VDM_CODMAR

M->VDM_MODVEI := oAuxGetDados:aCols[oAuxGetDados:nAt,FG_POSVAR("VDM_MODVEI")] := space(TamSX3("VDM_MODVEI")[1])

M->VDM_CORVEI := oAuxGetDados:aCols[oAuxGetDados:nAt,FG_POSVAR("VDM_CORVEI")] := space(TamSX3("VDM_CORVEI")[1])

EndCase

If ExistBlock("VCM680COK")

lRet := ExecBlock("VCM680COK",.f.,.f.,{cRVar})

EndIf

Return lRet

Programa Fonte:

VEICM680.PRW

Função:

VCM680FOK

Parâmetros:
NomeTipoDescriçãoObrigatório
cRVarCaractereNome do Campo (ReadVar) a ser validadoSim

Retorno:

NomeTipoDescrição
lRetBooleanoRetorna se deve permitir a gravação da informação digitada no campo (validação)

Exemplo:

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

// //

// VCM680COK - Ponto de Entrada na Oportunidade/Interesses, executado no VALID dos campos do //

// Interesse. Possibilita customizar validações na linha do Interesse. //

// //

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

User Function VCM680COK()

Local lRet := .t.

Local cRVar := ParamIxb[1] // ReadVar ( campo digitado pelo usuario )

MsgInfo("Ponto de entrada VCM680COK executado com sucesso!"+" "+cRVar )


Return lRet