Árvore de páginas

Ponto de Entrada

Descrição:

Localização:

Atualizações \ Mov Peças \ Painel Orçamento (OFIXA018)

Eventos:

cCamposVS1 := ""

for nCntFor := 1 to Len(aLbCampos)

if aLbCampos[nCntFor,3] != "V"

cCamposVS1 +=aLbCampos[nCntFor,1] + ","

endif

next

cCamposVS1 := Left(cCamposVS1,Len(cCamposVS1)-1)

cQryAl001 := GetNextAlias()

cQuery := "SELECT R_E_C_N_O_ RECVS1, " + cCamposVS1

cQuery += " FROM " + RetSQLName("VS1")

cQuery += " WHERE VS1_FILIAL ='" + xFilial("VS1") + "'"

cQuery += IIF(!lMostraVenc," AND VS1_DATVAL >='" + dtos(ddatabase) + "'","")

cQuery += IIF(!lMostraFatu," AND VS1_STATUS !='X'","")

cQuery += IIF(!lMostraCanc," AND VS1_STATUS !='C'","")

If ExistBlock("OX018FBR") // Ponto de Entrada para Filtro dos Orçamentos no Browse

cFiltroX18 := ExecBlock("OX018FBR", .f., .f.)

EndIf

If Empty(Alltrim(cFiltroX18))

cFiltroX18 := " AND VS1_TIPORC IN ('1','2') "

EndIf

cQuery += " AND D_E_L_E_T_ = ' ' " + cFilVend18 + cFilFase18 + cRFilVS1Orc + cFiltroX18 + " ORDER BY VS1_FILIAL, VS1_NUMORC "

dbUseArea( .T., "TOPCONN", TcGenQry( ,, cQuery ), cQryAl001, .F., .T. )

Programa Fonte:

OFIXA018.PRW

Função:

OXA018MTOR()

Retorno:cFiltroX18 - Caracter - Caracter que compõe as instruções em linguagem ADVPL para utilização do filtro no browse.

Exemplo:

#INCLUDE "RWMAKE.CH"

#INCLUDE "PROTHEUS.CH"

#INCLUDE "TOPCONN.CH"

/*

===============================================================================

###############################################################################

##+----------+------------+-------+-----------------------+------+----------+##

##|Função | OX018FBR | Autor | MIL | Data | 18/03/19 |##

##+----------+------------+-------+-----------------------+------+----------+##

##|Descrição | Verificação de filtro para visualização de orçamentos tipo |##

## | Balcão, Oficina ou Ambos na função OXA018MTOR() da rotina |##

## | Painel de Orçamento (OFIXA018) |##

##+----------+--------------------------------------------------------------+##

##+----------+--------------------------------------------------------------+##

###############################################################################

===============================================================================

*/

User Function OX018FBR()

Local _cUsuario := ""

Local _cRet := ""

Local _aAreaVAI := VAI->(GetArea()) //Guarda a área do VAI

// Guarda o código do usuário

_cUsuario := __CUSERID

// Posiciona no código do usuário na Equipe Técnica

DbSelectArea("VAI")

VAI->(DbSetOrder(4)) //VAI_FILIAL+VAI_CODUSR

// Se posiciona, filtra o usuário da Equipe Técnica

If VAI->(DbSeek(xFilial("VAI") + _cUsuario))

If AllTrim(VAI->VAI_TIPTEC) == "4" // VAI_TIPTEC = "4" VENDEDOR

Do Case

Case _cUsuario $ "000002" // Por exemplo, João

_cRet := " AND VS1_TIPORC = '1' " // Todos os códigos informados visualizam orçamentos Balcão

Otherwise

_cRet := " AND VS1_TIPORC = '2' " // Os demais visualizam orçamentos Oficina

End Case

Else

_cRet := " AND VS1_TIPORC IN ('1','2') " // Gerente e Faturista visualizam todos os orçamentos

EndIf

MsgAlert("Ponto de Entrada OX018FBR executado com sucesso!")

EndIf

// Retorna a área do VAI

RestArea(_aAreaVAI)

Return(_cRet)