01. DADOS GERAIS
Linha de Produto: | Microsiga Protheus® |
---|---|
Segmento: | Jurídico |
Módulo: | Pré-faturamento de Serviços - SIGAPFS |
Função: | Controle de Adiantamentos - JURA069 |
02. PONTO DE ENTRADA
Descrição: | Este ponto de entrada pertence à rotina de Controle de Adiantamentos (JURA069). Usado para complemento da query de validação e filtro de clientes e escritórios elegíveis no adiantamento. A query padrão é utilizada na validação e no filtro da consulta padrão de clientes pagadores e de escritórios do adiantamento, garantindo que sejam indicados somente pagadores e escritórios de contratos, junções e faturas adicionais válidas relacionados ao cliente do caso do adiantamento. Esse ponto de entrada pode ser usado para complementar essas regras de validação do cliente pagador e/ou do escritório, adicionando outros filtros conforme a necessidade. | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Localização: | Módulo SIGAPFS Atualizações >> Movimentações >> Controle de Adiantamentos | |||||||||||||||||
Programa Fonte: | JURA069 | |||||||||||||||||
Função: | J069QryFil | |||||||||||||||||
Ponto de Entrada: | J069QRY | |||||||||||||||||
Parâmetros: |
| |||||||||||||||||
Retorno: |
|
03. EXEMPLO
#INCLUDE "RWMAKE.ch"
#INCLUDE "PROTHEUS.ch"
//-------------------------------------------------------------------
/*/{Protheus.doc} J069QRY
Ponto de Entrada para complemento da query de validação e filtro de
clientes e escritórios elegíveis no adiantamento.
O trecho de query que este Ponto de Entrada retorna será concatenado
no final da query padrão de validação (cQueryPad).
/*/
//-------------------------------------------------------------------
User Function J069QRY()
Local cQueryPad := PARAMIXB[1] // Query padrão de validação e filtro
Local cTipo := PARAMIXB[2] // Tipo da validação --> 1 - Cliente / 2 - Escritório
Local cQueryAd := ""
Local cPreFat := "" // Pré-fatura para filtro - Usado quando o cTipo = 1 - Cliente
Local cFatAdc := "" // Fatura Adicional para filtro - Usado quando o cTipo = 1 - Cliente
Local cFixo := "" // Parcela de Fixo para filtro - Usado quando o cTipo = 1 - Cliente
Local cEscrit := "" // Escritório para filtro - Usado quando o cTipo = 2 - Escritório
If cTipo == "1" // Cliente
If !Empty(cPreFat)
cQueryAd += " UNION " // Pagadores da Pré-Fatura que gerou a fatura
cQueryAd += " SELECT SA1.A1_COD, SA1.A1_LOJA, SA1.A1_NOME, SA1.R_E_C_N_O_ SA1RECNO "
cQueryAd += " FROM " + RetSqlName("SA1") + " SA1 "
cQueryAd += " INNER JOIN " + RetSqlName("NXG") + " NXG "
cQueryAd += " ON NXG.NXG_FILIAL = '" + xFilial("NXG") + "'"
cQueryAd += " AND NXG.NXG_CLIPG = SA1.A1_COD "
cQueryAd += " AND NXG.NXG_LOJAPG = SA1.A1_LOJA "
cQueryAd += " AND NXG.NXG_CPREFT = '" + cPreFat + "'"
cQueryAd += " AND NXG.D_E_L_E_T_ = ' ' "
cQueryAd += " WHERE SA1.D_E_L_E_T_ = ' ' "
EndIf
If !Empty(cFatAdc)
cQueryAd += " UNION " // Pagadores da Fatura Adicional que gerou a fatura
cQueryAd += " SELECT SA1.A1_COD, SA1.A1_LOJA, SA1.A1_NOME, SA1.R_E_C_N_O_ SA1RECNO "
cQueryAd += " FROM " + RetSqlName("SA1") + " SA1 "
cQueryAd += " INNER JOIN " + RetSqlName("NXG") + " NXG "
cQueryAd += " ON NXG.NXG_FILIAL = '" + xFilial("NXG") + "'"
cQueryAd += " AND NXG.NXG_CLIPG = SA1.A1_COD "
cQueryAd += " AND NXG.NXG_LOJAPG = SA1.A1_LOJA "
cQueryAd += " AND NXG.NXG_CFATAD = '" + cFatAdc + "'"
cQueryAd += " AND NXG.D_E_L_E_T_ = ' ' "
cQueryAd += " WHERE SA1.D_E_L_E_T_ = ' ' "
EndIf
If !Empty(cFixo)
cQueryAd += " UNION " // Pagadores da parcela fixa que gerou a fatura
cQueryAd += " SELECT SA1.A1_COD, SA1.A1_LOJA, SA1.A1_NOME, SA1.R_E_C_N_O_ SA1RECNO "
cQueryAd += " FROM " + RetSqlName("SA1") + " SA1 "
cQueryAd += " INNER JOIN " + RetSqlName("NXG") + " NXG "
cQueryAd += " ON NXG.NXG_FILIAL = '" + xFilial("NXG") + "'"
cQueryAd += " AND NXG.NXG_CLIPG = SA1.A1_COD "
cQueryAd += " AND NXG.NXG_LOJAPG = SA1.A1_LOJA "
cQueryAd += " AND NXG.NXG_CFIXO = '" + cFixo + "'"
cQueryAd += " AND NXG.D_E_L_E_T_ = ' ' "
cQueryAd += " WHERE SA1.D_E_L_E_T_ = ' ' "
EndIf
ElseIf cTipo == "2" // Escritório
cQueryAd += " UNION "
cQueryAd += " SELECT NS7.NS7_COD, NS7.NS7_NOME, NS7.R_E_C_N_O_ NS7RECNO "
cQueryAd += " FROM " + RetSqlName("NS7") + " NS7 "
cQueryAd += " WHERE NS7.NS7_COD = '" + cEscrit + "' "
cQueryAd += " AND NS7.NS7_ATIVO = '1' "
cQueryAd += " AND NS7.D_E_L_E_T_ = ' ' "
EndIf
Return cQueryAd