Histórico da Página
01. CN300RST -
Validação do retorno da situação do contratoModificar verificação de propriedade do contrato
Produto: |
| ||||
---|---|---|---|---|---|
Linha de Produto: |
|
Serviços
Módulo:
Gestão de Contratos
Rotina:
Rotina | Nome Técnico |
CNTA300 | Manutenção de Contratos |
Parâmetro(s):
| |||||||
Segmento: |
| ||||||
---|---|---|---|---|---|---|---|
Módulo: | Gestão de Contratos | ||||||
Função: | CNTA300 - Contratos |
xRet - PARAMIXB[1]
cTpCnt - PARAMIXB[2]Ponto de Entrada: | CN300RST |
---|
Ponto de Entrada
Aviso | ||
---|---|---|
| ||
Esse ponto de entrada é chamado em muitos pontos do módulo de gestão de contratos, por isso sua implementação deve ser cuidadosa pois pode haver considerável impacto na performance do sistema. |
02. DETALHES
Descrição: | Possibilita que o desenvolvedor modifique o comportamento da função responsável por verificar propriedades do contrato com base no tipo do contrato e tipo da planilha |
---|---|
Eventos: | Executado em diversos pontos do módulo, por exemplo durante a inclusão e revisão de contratos, além da inclusão e encerramento da medição |
Descrição:
Ponto de entrada para validação do retorno da situação do contrato.
Eventos:
Programa Fonte: | CNTA300. |
---|
PRW | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
Função: | CN300RetSt | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parâmetros: |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Retorno: |
|
|
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
#INCLUDE "PROTHEUS.CH"
#INCLUDE "FWMVCDEF.CH"
User Function CN300RST()
Local xRet := ParamIxb[1]//Valor atual da propriedade
Local cTipoCtr := ParamIxb[2]//Tipo do Contrato(campo CN9_TPCTO, referente a tabela CN1)
Local cProp := ParamIxb[3]//Código da propridade(Exemplo: COMPRA, SERVIÇO, EVENTUAL)
Local cPlan := AllTrim(ParamIxb[4])//Número da planilha
Local nModo := ParamIxb[5]//Modo de busca(0=Posicionada | 1=Todas | 2=Ao menos uma)
Local lModel := ParamIxb[6]//Se a propriedade deve ser buscada do modelo(só utilizar p/ cenários dentro do CNTA300)
Local cChaveZNA := ""
Local cFilCTR := CN9->CN9_FILCTR
Local cTpsCustom:= "001"//Informar o tipo customizado desejado
if !lModel .And.;//Se não for chamada via CNTA300
cTipoCtr $ cTpsCustom //Se o contrato for do tipo customizado
cChaveZNA := CN9->(xFilial("ZNA", CN9_FILCTR) + CN9_NUMERO + CN9_REVISA)
ZNA->(DbSetOrder(1))//ZNA_FILIAL+ZNA_CONTRA+ZNA_REVISA+ZNA_NUMERO
If ZNA->(DbSeek(cChaveZNA + cPlan)) //Nesse exemplo se usa uma tabela customizada ao invés do padrão CNA
If nModo == 0
xRet := CN300PlaSt( cProp, cTipoCtr, ZNA->ZNA_TIPO, cFilCTR )
Else
While ZNA->( !Eof() .And. ZNA_FILIAL+ZNA_CONTRA+ZNA_REVISA == cChaveZNA )
xRet := CN300PlaSt( cProp, cTipoCtr, ZNA->ZNA_TIPO, cFilCTR )
If (!xRet .And. nModo == 1) .Or. (xRet .And. nModo == 2)
Exit
Endif
ZNA->( dbSkip() )
EndDo
Endif
EndIf
endif
Return xRet |
03. ASSUNTOS RELACIONADOS
- Não há
Exemplo:
#Include 'Protheus.ch'
##Include 'FWMVCDef.ch'
User Function CN300RST()
Local xRet := ParamixB[1]
Local cTpCnt := ParamixB[2]
If FWIsInCallStack('CNTA120') .And. FWIsInCallStack('CN130TudOk') .And. (cTpCnt == "003" .Or. cTpCnt == "004")
xRet := .T.
EndIf