Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

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

permite verificar as O.S. e Orçamentos do cliente que estão em aberto

verifica as OS e os Orçamentos em aberto do cliente. A Chamada da função FG_AVALCRED

ocorre

se dá de acordo com

a configuração do

o parâmetro MV_CHKCRE: A-Abertura, I-Importacao, P-Req.Pecas, S-Req.Serv., L-Liberacao, F-Fechamento, B- Pecas/Srv

orcamento

orçamento.

Observações

 

Exemplos

User Function PEQRYACR()
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

_TIPSER , VO4

.VO4_

GRUSER

NUMOSV , VO4.VO4_

CODSER

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

IN "+FormatIN(FM_ALLFIL("VO4"),",")+"

='"+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

Return(cQuery)

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

Tabela a ser manipulada na query. (VO3 - Requisição de Peças, VO4 - Requisição de Serviços, VS1 - Orçamento, VQB - Liberação de Consórcios/Seguros). Exemplo:

ExecBlock("PEQRYACR",.f.,.f.,

\

{

"VO4"

"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.

Eventos de chamada do Ponto de Entrada

cQuery := "SELECT

VOK

DISTINCT VO3.

R_E_C_N_O_ VOKRECNO , VO4.R_E_C_N_O_ VO4RECNO , VO4.VO4_NUMOSV , VO4.VO4_TIPTEM , VO4.VO4_FILIAL , VO4.VO4_TIPSER , VO4.VO4_GRUSER , VO4.VO4_CODSER , VOK.VOK_INCMOB , VOK.VOK_INCTEM , VO2.R_E_C_N_O_ VO2RECNO FROM "+RetSqlName("VO4")+" VO4

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

RetSqlName("

VO2

VS3")+"

VO2

VS3 ON

VO2

VS3.

VO2

VS3_FILIAL=

VO4

VS1.

VO4

VS1_FILIAL AND

VO2

VS3.

VO2

VS3_

NOSNUM = VO4.VO4_NOSNUM AND VO2

NUMORC=VS1.VS1_NUMORC AND VS3.VS3_VALTOT > 0 AND VS3.D_E_L_E_T_=' '"

cQuery += "

INNER

LEFT JOIN "+RetSQLName("

VOK

VOI")+"

VOK

VOI ON

VOK

VOI.

VOK

VOI_FILIAL='"+

Iif(Empty(

xFilial("

VOK")),"'"+xFilial("VOK")+"'","VO4.VO4_FILIAL")+" AND VOK.VOK_TIPSER = VO4.VO4_TIPSER AND VOK

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 += "

INNER

LEFT JOIN "+RetSQLName("VOI")+" VOI ON VOI.VOI_FILIAL='"+

Iif(Empty(

xFilial("VOI")

),

+"'

"+xFilial("VOI")+"'","VO4.VO4_FILIAL")+" AND

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=

VO4

VS1.

VO4

VS1_TIPTEM AND VOI.D_E_L_E_T_=' ' "

Endif

cQuery += "WHERE

VO4

VS1.

VO4

VS1_FILIAL

IN

='"

+FormatIN(FM_ALLFIL("VO4"),",")+"

+cFilVS1+"' AND "

cQuery += "VS1.VS1_STATUS NOT IN (' ','X','C','0','I') AND "

cQuery += "

VO4

VS1.

VO4

VS1_

FATPAR

CLIFAT='"+cCodCli+"' AND "

If cCreCli == "L"

cQuery += "

VO4

VS1.

VO4

VS1_LOJA='"+cLoja+"' AND "

EndIf

cQuery += "

VO4

VS1.

VO4

VS1_

DATFEC

TIPORC='

"+space(8)+"

2' AND

VO4

VOI.

VO4

VOI_

DATCAN

SITTPO='

"+space(8)+"

1' AND "

cQuery += "

VOI

VS1.

VOI

VS1_

SITTPO

DATVAL >= '

1' AND "
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 += "

ORDER BY VO4.VO4_NUMOSV, VO4.VO4_TIPTEM, VO4.VO4_TIPSER , VO4.VO4_GRUSER , VO4.VO4_CODSER, VO4.VO4_SEQUEN "

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.,

\

{"

VO4

VS1",cQuery,cCodCli,cLoja

\

,lRetVet}) // Ponto de entrada para manipulacao da query.

if !Empty(cRetorno)

cQuery := cRetorno

Endif

EndIf

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

cQAlVO4

cQAlVS1 , .F., .T. )

Variáveis

 

Programa Fonte

VEIFUNA

Programa Fonte:

VEIFUNA.PRW

Função:

FG_AVALCRED()

Parâmetros:

Nome

Tipo

Descrição

cAliasFiltro

Caractere

Alias da consulta

cQuery

Caractere

Consulta padrão do sistema sem alteração

cCliente

Caractere

Cliente Objeto da consulta

cLoja

Caractere

Loja do cliente objeto da consulta

lVet

Lógico

Indica se a consulta deverá retornar o número do orçamento

Retorno:

Nome

Tipo

Descrição

cQuery

Caractere

Retorna o conteúdo da consulta a ser executada

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)


Image Added