Histórico da Página
Ponto de Entrada
Descrição: | Ponto de entrada localizado na rotina Consulta de Veiculos (VEIXC001), executado no momento da montagem do SQL da consulta de veículos do atendimento. Sua finalidade é incluir filtros personalizados no SQL da Consulta de veiculos do atendimento. |
Parametros: | N/A |
Eventos: | cQuery := "SELECT "+cCampoSQL+", SUM(SE2.E2_SALDO) AS SALDO " cQuery += "FROM "+RetSqlName("VV1")+" VV1 " cQuery += "JOIN "+RetSqlName("VV2")+" VV2 ON ( VV2.VV2_FILIAL='"+cVV2Fil+"' AND VV1.VV1_CODMAR=VV2.VV2_CODMAR AND VV1.VV1_MODVEI=VV2.VV2_MODVEI AND VV2.D_E_L_E_T_=' ' ) " cQuery += "LEFT JOIN "+RetSqlName("VVC")+" VVC ON ( VVC.VVC_FILIAL='"+cVVCFil+"' AND VVC.VVC_CODMAR=VV1.VV1_CODMAR AND VVC.VVC_CORVEI=VV1.VV1_CORVEI AND VVC.D_E_L_E_T_=' ' ) " cQuery += "LEFT JOIN "+RetSqlName("SB1")+" SB1 ON ( SB1.B1_FILIAL='"+cSB1Fil+"' AND SB1.B1_GRUPO='"+cGruVei+"' AND SB1.B1_CODITE=VV1.VV1_CHAINT AND SB1.D_E_L_E_T_=' ' ) " cQuery += "LEFT JOIN "+RetSqlName("VVF")+" VVF ON ( VVF.VVF_FILIAL=VV1.VV1_FILENT AND VVF.VVF_TRACPA=VV1.VV1_TRACPA AND VVF.D_E_L_E_T_=' ' ) " cQuery += "LEFT JOIN "+RetSqlName("SF1")+" SF1 ON ( SF1.F1_FILIAL=VVF.VVF_FILIAL AND SF1.F1_DOC=VVF.VVF_NUMNFI AND SF1.F1_SERIE=VVF.VVF_SERNFI AND SF1.F1_FORNECE=VVF.VVF_CODFOR AND SF1.F1_LOJA=VVF.VVF_LOJA AND SF1.D_E_L_E_T_=' ' ) " cQuery += "LEFT JOIN "+RetSqlName("SE2")+" SE2 ON ( SE2.E2_FILIAL IN ("+cSE2Fil+") AND SE2.E2_NUM=SF1.F1_DOC AND SE2.E2_PREFIXO=SF1.F1_PREFIXO AND SE2.E2_FORNECE=SF1.F1_FORNECE AND SE2.E2_LOJA=SF1.F1_LOJA AND SE2.D_E_L_E_T_=' ' AND SE2.E2_TIPO NOT IN "+cNTpTit+" ) " cQuery += "WHERE VV1.VV1_FILIAL='"+cVV1Fil+"' AND VV1.VV1_SITVEI IN ('0','2','3','4','8') AND VV1.VV1_CODMAR='"+aAux[ni,1]+"' AND " If !Empty(aAux[ni,2]) cQuery += "VV1.VV1_MODVEI IN ("+aAux[ni,2]+") AND " Else Loop // Pula linha do vetor quando nao existe MODELO de Veiculo para a Marca EndIf cQuery += "VV1.VV1_ESTVEI='"+left(cEstVei,1)+"' AND " If !Empty(VAI->VAI_TIPVEI) .and. VAI->VAI_TIPVEI <> "0" // Tipo do Veiculo (Normal/Taxi/Frotista) cQuery += "VV1.VV1_TIPVEI='"+VAI->VAI_TIPVEI+"' AND " EndIf If !Empty(cTipCor) cQuery += "VVC.VVC_TIPCOR='"+left(cTipCor,1)+"' AND " EndIf If !Empty(aAux[ni,3]) cQuery += "VV1.VV1_CORVEI IN ("+aAux[ni,3]+") AND " Else Loop // Pula linha do vetor quando nao existe COR de Veiculo para a Marca EndIf cQuery += "VV1.VV1_FILENT='"+cVVFFil+"' AND " cQuery += "VV1.D_E_L_E_T_=' ' " If lVXC01QRY cVXC01QRY := ExecBlock("VXC01QRY",.f.,.f.) If !Empty(cVXC01QRY) cQuery += " AND "+cVXC01QRY+" " EndIf EndIf cQuery += "GROUP BY "+cCampoSQL+" " cQuery += "ORDER BY VV1.VV1_CHAINT " dbUseArea( .T., "TOPCONN", TcGenQry( ,, cQuery ), cQAlSQL , .F., .T. )
|
Programa Fonte: | VEIXC001.PRW |
Retorno: | cRet = String com o SQL complementar da consulta de veiculos do atendimento. |
Exemplo:
User Function VXC01QRY()
Local cRet := ""
If VV1->(FieldPos("VV1_XCDEMP")) > 0
cRet := "( VV1.VV1_XCDEMP=' ' OR VV1.VV1_XCDEMP='"+SM0->M0_CODIGO+"' )"
EndIf
Return(cRet)