Histórico da Página
Ponto de Entrada
Descrição: | Ponto de Entrada executado |
para manipulação das querys das tabelas (VS1,VO4,VO3 e VQB), no momento da Chamada da Função FG_AVALCRED, que |
verifica as OS e os Orçamentos em aberto do cliente. A Chamada da função FG_AVALCRED |
se dá de acordo com |
o parâmetro MV_CHKCRE: A-Abertura, I-Importacao, P-Req.Pecas, S-Req.Serv., L-Liberacao, F-Fechamento, B- Pecas/Srv |
orçamento. |
Observações
Exemplos
cAliasFiltro := ParamIXB[1]
cQuery := ParamIXB[2]
cCliente := ParamIXB[3]
cLoja := ParamIXB[4]
if cAliasFiltro :== "VO4"
Localização: | Atualizações \ Mov Oficina \ Orçamento por Fases |
Eventos: | Evento 1: cQuery := "SELECT DISTINCT VO4 |
.VO4_ |
NUMOSV , VO4.VO4_ |
TIPTEM FROM "+RetSqlName("VO4")+" VO4 " cQuery += "INNER JOIN "+RetSQLName("VOI")+" VOI ON VOI.VOI_FILIAL='"+xFilial("VOI")+"' AND VOI.VOI_TIPTEM=VO4.VO4_TIPTEM AND VOI.D_E_L_E_T_=' ' " cQuery += "WHERE VO4.VO4_FILIAL |
='"+cFilVO4+"' AND " cQuery += "VO4.VO4_FATPAR='"+cCodCli+"' AND " If cCreCli == "L" cQuery += "VO4.VO4_LOJA='"+cLoja+"' AND " EndIf cQuery += "VO4.VO4_DATFEC = ' ' AND VO4.VO4_DATCAN = ' ' AND " cQuery += "VOI.VOI_SITTPO='1' AND " cQuery += "VO4.D_E_L_E_T_=' ' " |
Endif
cQuery += "ORDER BY VO4.VO4_NUMOSV, VO4.VO4_TIPTEM " If ExistBlock("PEQRYACR") cRetorno := |
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
ExecBlock("PEQRYACR",.f.,.f., |
{ |
"VO4",cQuery,cCodCli,cLoja |
,.f.}) // Ponto de entrada para manipulacao da query. if !Empty(cRetorno) cQuery := cRetorno Endif EndIf dbUseArea( .T., "TOPCONN", TcGenQry( ,, cQuery ), cQAlVO4 , .F., .T. ) Evento 2: |
Retorno
cQuery - Retornar o conteudo da query.
cQuery := "SELECT |
DISTINCT VO3. |
VO3_NUMOSV, VO3.VO3_TIPTEM FROM "+RetSqlName("VO3")+" VO3 " cQuery += "INNER JOIN "+RetSQLName("VOI")+" VOI ON VOI.VOI_FILIAL='"+xFilial("VOI")+"' AND VOI.VOI_TIPTEM=VO3.VO3_TIPTEM AND VOI.D_E_L_E_T_=' ' " cQuery += "WHERE VO3.VO3_FILIAL='"+xFilial("VO3")+"' AND " cQuery += "VO3.VO3_FATPAR='"+cCodCli+"' AND " If cCreCli == "L" cQuery += "VO3.VO3_LOJA='"+cLoja+"' AND " EndIf cQuery += "VO3.VO3_DATFEC = ' ' AND VO3.VO3_DATCAN = ' ' AND " cQuery += "VOI.VOI_SITTPO='1' AND " cQuery += "VO3.D_E_L_E_T_=' ' " If ExistBlock("PEQRYACR") cRetorno := ExecBlock("PEQRYACR",.f.,.f.,{"VO3",cQuery,cCodCli,cLoja,.f.}) // Ponto de entrada para manipulacao da query. if !Empty(cRetorno) cQuery := cRetorno Endif EndIf dbUseArea( .T., "TOPCONN", TcGenQry( ,, cQuery ), cQAlVO3 , .F., .T. ) Evento 3: If lRetVet // Retorna Vetor com os Orcamento e OSs + Tipo de Tempo com valor de Peças e Serviços cQuery := "SELECT VS3.VS3_NUMORC , SUM(VS3.VS3_VALTOT) AS VLR " Else cQuery := "SELECT SUM(VS3.VS3_VALTOT) AS VLR " EndIf cQuery += " FROM "+RetSqlName("VS1")+" VS1 " cQuery += "INNER JOIN "+ |
RetSqlName(" |
VS3")+" |
VS3 ON |
VS3. |
VS3_FILIAL= |
VS1. |
VS1_FILIAL AND |
VS3. |
VS3_ |
NUMORC=VS1.VS1_NUMORC AND VS3.VS3_VALTOT > 0 AND VS3.D_E_L_E_T_=' '" cQuery += " |
LEFT JOIN "+RetSQLName(" |
VOI")+" |
VOI ON |
VOI. |
VOI_FILIAL='"+ |
xFilial(" |
VOI")+"' AND VOI.VOI_TIPTEM=VS1.VS1_TIPTEM AND VOI.D_E_L_E_T_=' ' " cQuery += "WHERE VS1.VS1_FILIAL='"+cFilVS1+"' AND " cQuery += "VS1.VS1_STATUS NOT IN (' ','X','C','0','I') AND " cQuery += "VS1.VS1_CLIFAT='"+cCodCli+"' AND " If cCreCli == "L" cQuery += "VS1.VS1_LOJA='"+cLoja+"' AND " EndIf cQuery += "(VS1.VS1_TIPORC='1' OR (VS1.VS1_TIPORC='2' AND VOI.VOI_SITTPO='1')) AND " cQuery += " VS1.VS1_DATVAL >= '"+dtos(dDataBase)+"' AND VS1.D_E_L_E_T_=' ' " If !Empty(cCondNAO) // Desconsiderar no Levantamento do Limite de Credito as Condicoes de Pagamento contidas no parametro MV_MIL0158 cQuery += " AND VS1.VS1_FORPAG NOT IN " + FormatIN(cCondNAO,"/") + " " EndIf If lRetVet // Retorna Vetor com os Orcamento e OSs + Tipo de Tempo com valor de Peças e Serviços cQuery += " GROUP BY VS3.VS3_NUMORC " EndIf If ExistBlock("PEQRYACR") cRetorno := ExecBlock("PEQRYACR",.f.,.f.,{"VS1",cQuery,cCodCli,cLoja,lRetVet}) // Ponto de entrada para manipulacao da query. if !Empty(cRetorno) cQuery := cRetorno Endif EndIf dbUseArea( .T., "TOPCONN", TcGenQry( ,, cQuery ), cQAlVS1 , .F., .T. ) Evento 4: If lRetVet // Retorna Vetor com os Orcamento e OSs + Tipo de Tempo com valor de Peças e Serviços cQuery := "SELECT VS4.VS4_NUMORC , SUM(VS4.VS4_VALSER) AS VLR " Else cQuery := "SELECT SUM(VS4.VS4_VALSER) AS VLR " EndIf cQuery += " FROM "+RetSqlName("VS1")+" VS1 " cQuery += "INNER JOIN "+RetSqlName("VS4")+" VS4 ON VS4.VS4_FILIAL=VS1.VS1_FILIAL AND VS4.VS4_NUMORC=VS1.VS1_NUMORC AND VS4.VS4_VALSER > 0 AND VS4.D_E_L_E_T_=' '" cQuery += " |
LEFT JOIN "+RetSQLName("VOI")+" VOI ON VOI.VOI_FILIAL='"+ |
xFilial("VOI") |
+"' |
AND " if VS1->(FieldPos("VS1_TIPTSV"))>0 cQuery += "VOI.VOI_TIPTEM=VS1.VS1_TIPTSV AND VOI.D_E_L_E_T_=' ' " Else cQuery += "VOI.VOI_TIPTEM= |
VS1. |
VS1_TIPTEM AND VOI.D_E_L_E_T_=' ' " Endif cQuery += "WHERE |
VS1. |
VS1_FILIAL |
='" |
+cFilVS1+"' AND " cQuery += "VS1.VS1_STATUS NOT IN (' ','X','C','0','I') AND " cQuery += " |
VS1. |
VS1_ |
CLIFAT='"+cCodCli+"' AND " If cCreCli == "L" cQuery += " |
VS1. |
VS1_LOJA='"+cLoja+"' AND " EndIf cQuery += " |
VS1. |
VS1_ |
TIPORC=' |
2' AND |
VOI. |
VOI_ |
SITTPO=' |
1' AND " cQuery += " |
VS1. |
VS1_ |
DATVAL >= ' |
cQuery += "VO4
"+dtos(dDataBase)+"' AND VS1.D_E_L_E_T_=' ' " If !Empty(cCondNAO) // Desconsiderar no Levantamento do Limite de Credito as Condicoes de Pagamento contidas no parametro MV_MIL0158 cQuery += " |
AND VS1.VS1_FORPAG NOT IN " + FormatIN(cCondNAO,"/") + " " EndIf If lRetVet // Retorna Vetor com os Orcamento e OSs + Tipo de Tempo com valor de Peças e Serviços cQuery += " GROUP BY VS4.VS4_NUMORC " EndIf If ExistBlock("PEQRYACR") cRetorno := ExecBlock("PEQRYACR",.f.,.f., |
{" |
VS1",cQuery,cCodCli,cLoja |
,lRetVet}) // Ponto de entrada para manipulacao da query. if !Empty(cRetorno) cQuery := cRetorno Endif EndIf dbUseArea( .T., "TOPCONN", TcGenQry( ,, cQuery ), |
cQAlVS1 , .F., .T. ) |
Variáveis
Programa Fonte
Programa Fonte: | VEIFUNA.PRW | ||||||||||||||||||
Função: | FG_AVALCRED() | ||||||||||||||||||
Parâmetros: |
| ||||||||||||||||||
Retorno: |
|
Exemplo:
Include totvs.ch
User Function PEQRYACR()
cAliasFiltro := ParamIXB[1]
cQuery := ParamIXB[2]
cCliente := ParamIXB[3]
cLoja := ParamIXB[4]
lVet := ParamIXB[5]
if cAliasFiltro == "VS1"
If lVet
cQuery := "SELECT VS4.VS4_NUMORC, SUM(VS4.VS4_VALSER) AS VLR "
Else
cQuery := "SELECT SUM(VS4.VS4_VALSER) AS VLR "
EndIf
cQuery += "FROM "+RetSqlName("VS1")+" VS1 "
cQuery += "INNER JOIN "+RetSqlName("VS4")+" VS4 ON VS4.VS4_FILIAL=VS1.VS1_FILIAL AND VS4.VS4_NUMORC=VS1.VS1_NUMORC AND VS4.VS4_VALSER > 0 AND VS4.D_E_L_E_T_=' '"
cQuery += "WHERE VS1.VS1_FILIAL='"+FormatIN(FM_ALLFIL("VS1"),",")+"' AND "
cQuery += "VS1.D_E_L_E_T_=' ' "
If lVet
cQuery += " GROUP BY VS4.VS4_NUMORC "
EndIf
Endif
Return(cQuery)