Histórico da Página
...
Descrição: | Permite customizar/alterar a query no Reajuste Automático. Podemos incluir campos customizados dos itens do contrato ou alterar as condições na clausula Where da query. | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Eventos: | Executado na Inclusão do reajuste | ||||||||||||
Programa Fonte: | CNTA310.PRW | ||||||||||||
Fu nção: | CN310Inc | ||||||||||||
Parâmetros: |
| ||||||||||||
Retorno: |
|
...
Bloco de código | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
| sssdss
sss
ss
s
s
Exemplo
Situacao 1: Adicionar campos na query sendo que o contrato possui itens (CNB)
#INCLUDE "PROTHEUS.CH" |
...
/*/{Protheus.doc} CN310QRY |
...
Permite customizar a query no Reajuste de Contrato. |
...
Podemos incluir itens do contrato, ajustar as condições na clausula Where. |
...
Ponto de Entrada acionado no momento de incluir o Reajuste. |
...
@type function |
...
@version |
...
@since 11/03/2024 |
...
@return Query customizada |
...
/*/ |
...
User Function CN310QRY() |
...
Local cNewQry := "" |
...
Local cQuery := ParamIxb[1] // Query iniciaada pelo programa |
...
Local nIndQry := ParamIxb[2] // Indice da query [1] = Trecho dos itens do contrato. [2] = Trecho dos contratos sem itens. |
...
Local nIndPQry := ParamIxb[3] // Indice trecho da query [1] = Campos do SELECT. [2] = Condições do WHERE. |
...
Local cQry01 := "" If nIndQry == 1 .And. nIndPQry == 1 // ADICIONAR CAMPOS NO SELECT (COM ITENS) |
...
...
cQry01 += ", CNB.CNB_PRODUT " |
...
...
cQry01 += ", CNB.CNB_DESCRI |
...
"
ElseIf nIndQry == 2 .And. nIndPQry == 1 // ADICIONAR CAMPOS NO SELECT (SEM ITENS)
cQry01 += ", cast(' ' as varchar("+Alltrim(Str(TamSX3("CNB_PRODUT")[1]))+")) as CNB_PRODUT "
cQry01 += ", cast(' ' as varchar("+Alltrim(Str(TamSX3("CNB_DESCRI")[1]))+")) as CNB_DESCRI "
EndIf
cNewQry := cQry01
Return(cNewQry) |
Bloco de código | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
#INCLUDE "PROTHEUS.CH"
|
cNewQry := cQuery
Return(cNewQry)
Situacao 2: Incluir na clausula WHERE da query, mais uma condicao sendo que o contrato possui itens
#INCLUDE "PROTHEUS.CH"
/*/{Protheus.doc} |
...
CN310QRY Permite customizar a query no Reajuste de Contrato. Podemos incluir itens do contrato, ajustar as condições na clausula Where. Ponto de Entrada acionado no momento de incluir o Reajuste. @type function @version @since 11/03/2024 |
...
@return Query customizada |
...
/*/ |
...
User Function CN310QRY() |
...
Local cNewQry := "" Local cQuery := ParamIxb[1] |
...
// Query iniciaada pelo |
...
programa Local nIndQry := ParamIxb[2] |
...
// Indice da query [1] = Trecho dos itens do contrato. [2] = Trecho dos contratos sem itens. |
...
Local nIndPQry := ParamIxb[3] |
...
// Indice trecho da query [1] = Campos do SELECT. [2] = Condições do |
...
WHERE. Local cQry01 := "" If nIndQry == 1 .And. nIndPQry == 2 // ADICIONAR CONDICOES NA CLAUSULA |
...
WHERE cQry01 += " AND NOT EXISTS ( " cQry01 += " SELECT 1 " cQry01 += " FROM " + RetSqlName("CND") + " |
...
" cQry01 += " WHERE CND_CONTRA = CN9.CN9_NUMERO |
...
" cQry01 += " AND CND_REVISA = CN9.CN9_REVISA |
...
cNewQry := cQuery
Return(cNewQry)
Situacao 3: Adicionar campos na query sendo que o contrato nao possui itens (CNB)
...
#INCLUDE "PROTHEUS.CH"
/*/{Protheus.doc} CN310QRY
Permite customizar a query no Reajuste de Contrato.
Podemos incluir itens do contrato, ajustar as condições na clausula Where.
Ponto de Entrada acionado no momento de incluir o Reajuste.
@type function
@version
@since 11/03/2024
@return Query customizada
/*/
User Function CN310QRY()
Local cNewQry := ""
Local cQuery := ParamIxb[1] // Query iniciaada pelo programa
Local nIndQry := ParamIxb[2] // Indice da query [1] = Trecho dos itens do contrato. [2] = Trecho dos contratos sem itens.
Local nIndPQry := ParamIxb[3] // Indice trecho da query [1] = Campos do SELECT. [2] = Condições do WHERE.
If nIndQry == 2 .And. nIndPQry == 1 // ADICIONAR CAMPOS NO SELECT (SEM ITENS)
cQuery += ", CN9.CN9_CONDPG "
cQuery += ", CN9.CN9_SALDO "
EndIf
cNewQry := cQuery
Return(cNewQry)
Situacao 4: Incluir na clausula WHERE da query, mais uma condicao sendo que o contrato nao possui itens
#INCLUDE "PROTHEUS.CH"
/*/{Protheus.doc} CN310QRY
Permite customizar a query no Reajuste de Contrato.
Podemos incluir itens do contrato, ajustar as condições na clausula Where.
Ponto de Entrada acionado no momento de incluir o Reajuste.
@type function
@version
@since 11/03/2024
@return Query customizada
/*/
User Function CN310QRY()
Local cNewQry := ""
Local cQuery := ParamIxb[1] // Query iniciaada pelo programa
Local nIndQry := ParamIxb[2] // Indice da query [1] = Trecho dos itens do contrato. [2] = Trecho dos contratos sem itens.
Local nIndPQry := ParamIxb[3] // Indice trecho da query [1] = Campos do SELECT. [2] = Condições do WHERE.
If nIndQry == 2 .And. nIndPQry == 2 // ADICIONAR CONDICOES NA CLAUSULA WHERE
cQuery += " AND NOT EXISTS ( "
cQuery += " SELECT 1 "
cQuery += " FROM " + RetSqlName("CND") + " "
cQuery += " WHERE CND_CONTRA = CN9.CN9_NUMERO "
cQuery += " AND CND_REVISA = CN9.CN9_REVISA "
cQuery += " ) "
EndIf
cNewQry := cQuery
" cQry01 += " ) " ElseIf nIndQry == 2 .And. nIndPQry == 2 // ADICIONAR CONDICOES NA CLAUSULA WHERE cQry01 += " AND NOT EXISTS ( " cQry01 += " SELECT 1 " cQry01 += " FROM " + RetSqlName("CND") + " " cQry01 += " WHERE CND_CONTRA = CN9.CN9_NUMERO " cQry01 += " AND CND_REVISA = CN9.CN9_REVISA " cQry01 += " ) " EndIf cNewQry := cQry01 Return(cNewQry) |
03. ASSUNTOS RELACIONADOS
...