01. CN300RST - Modificar verificação de propriedade do contrato
Produto: | TOTVS Backoffice |
---|---|
Linha de Produto: | Linha Protheus |
Segmento: | Backoffice |
Módulo: | Gestão de Contratos |
Função: | CNTA300 - Contratos |
Ponto de Entrada: | CN300RST |
Impacto na performance
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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Programa Fonte: | CNTA300.PRW | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Função: | CN300RetSt | ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Parâmetros: |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
Retorno: |
|
#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á