Base de conhecimento
Encontre respostas para suas dúvidas em quatro fontes de conhecimento diferentes ao mesmo tempo, simplificando o processo de pesquisa.

Cross Segmento - TOTVS Backoffice Linha Protheus - ADVPL - Pontos de entrada legado na Fina460

time.pngTempo aproximado para leitura:00:05:00 min

Ocorrência
Os pontos de entrada abaixo não estão funcionando na rotina FINA460.

  • A460VALLIN: Executado na inclusão de linhas de parcelas da liquidação a receber;
  • F460BOT: Executado para inclusão de botões no botão Ações Relacionadas da liquidação a receber;
  • F460CAN: Executado no cancelamento da tela de geração de liquidação a receber;
  • F460CON: Executado no cancelamento da tela de geração de liquidação a receber;
  • F460GRV: Executado após a gravação de dados da geração de liquidação a receber; 
  • F460SAID: Executado no cancelamento da tela de geração de liquidação a receber; 
  • F460TOK: Executado na validação de toda tela de geração de liquidação a receber; 
  • FA460CON: Executado na confirmação da tela de geração de liquidação a receber; 
  • FA460LOK: Executado na validação da linha de parcelas da liquidação a receber.

Obs: O nome do fonte ( .prw) não pode ser o mesmo da rotina ( FINA460A.prw)

Ambiente
Cross Segmento - TOTVS Backoffice Linha Protheus – ADVPL – A partir da versão 12.1.17

Causa
Os pontos acima citados foram descontinuados da rotina FINA460 por motivo de que ponto de entrada FINA460A (padrão MVC) conter todos os momentos aos quais os pontos tratavam.

Solução
Utilizar o ponto de entrada MVC FINA460A.

User Function FINA460A()

Local aParam := PARAMIXB
Local xRet := .T.
Local oObj := ''
Local cIdPonto := ''
Local cIdModel := ''
Local nLinha := 0
Local nQtdLinhas:= 0
Local cMsg := ''
Local cClasse := ""

If aParam <> NIL
    oObj := aParam[1]
    cIdPonto := aParam[2]
    cIdModel := aParam[3]

    If cIdPonto == 'MODELPOS' // Bloco substitui o ponto de entrada F460TOK e FA460CON
        cMsg := 'Chamada na validação total do formulário (MODELPOS).' + CRLF
        cMsg += 'ID ' + cIdModel + CRLF
        If cClasse == 'FWFORMGRID' // Bloco substitui o ponto de entrada FA460LOK, validação do Grid, utilizar o ID de Model 'TITGERFO2'
            nQtdLinhas := oObj:Length()
             nLinha := oObj:GetLine()

            cMsg += 'É um FORMGRID com ' + Alltrim( Str( nQtdLinhas ) ) + ' linha(s).' + CRLF
            cMsg += 'Posicionado na linha ' + Alltrim( Str( nLinha ) ) + CRLF

        EndIf

        If !( xRet := ApMsgYesNo( cMsg + 'Continua ?' ) )
            Help( ,, 'Help',, 'O MODELPOS retornou .F.', 1, 0 )
        EndIf
    ElseIf cIdPonto == 'MODELCANCEL' // Bloco substitui os pontos de entrada F460CAN, F460CON e F460SAID no cancelamento da tela de geração de liquidação.
        cMsg := 'Chamada no Botão Cancelar (MODELCANCEL).' + CRLF + 'Deseja Realmente Sair ?'
        If !( xRet := ApMsgYesNo( cMsg ) )
            Help( ,, 'Help',, 'O MODELCANCEL retornou .F.', 1, 0 )
        EndIf
    ElseIf cIdPonto == 'FORMLINEPRE' // Bloco substitui o ponto de entrada A460VALLIN.
        If cIdModel == 'TITGERFO2'
            nQtdLinhas := oObj:Length()
            nLinha := oObj:GetLine()
            If aParam[5] == 'DELETE' // Deleção de Linha do Grid
                cMsg := 'Chamada na pre validação da linha do formulário (FORMLINEPRE).' + CRLF
                cMsg += 'Onde esta se tentando deletar uma linha' + CRLF
                cMsg += 'É um FORMGRID com ' + Alltrim( Str( nQtdLinhas ) ) + ' linha(s).' + CRLF
                cMsg += 'Posicionado na linha ' + Alltrim( Str( nLinha ) ) + CRLF
                cMsg += 'ID ' + cIdModel + CRLF

                If !( xRet := ApMsgYesNo( cMsg + 'Continua ?' ) )
                    Help( ,, 'Help',, 'O FORMLINEPRE retornou .F.', 1, 0 )
                EndIf
            EndIf
        EndIf
    ElseIf cIdPonto == 'FORMLINEPOS' // Substitui o ponto de entrada FA460LOK
        If cIdModel == 'TITGERFO2'
            nQtdLinhas := oObj:Length()
            nLinha := oObj:GetLine()
            cMsg := 'Chamada na validação da linha do formulário (FORMLINEPOS).' + CRLF
            cMsg += 'ID ' + cIdModel + CRLF
            cMsg += 'É um FORMGRID com ' + Alltrim( Str( nQtdLinhas ) ) + ' linha(s).' + CRLF
            cMsg += 'Posicionado na linha ' + Alltrim( Str( nLinha ) ) + CRLF

            If !( xRet := ApMsgYesNo( cMsg + 'Continua ?' ) )
                Help( ,, 'Help',, 'O FORMLINEPOS retornou .F.', 1, 0 )
            EndIf
        EndIf
    ElseIf cIdPonto == 'MODELCOMMITNTTS' // Bloco substitui o ponto de entrada F460GRV.
        ApMsgInfo('Chamada apos a gravação total do modelo e fora da transação (MODELCOMMITNTTS).' + CRLF + 'ID ' + cIdModel)
    ElseIf cIdPonto == 'BUTTONBAR' // Bloco substitui o ponto de entrada F460BOT.
        ApMsgInfo('Adicionando Botao na Barra de Botoes (BUTTONBAR).' + CRLF + 'ID ' + cIdModel )
        xRet := { {'Salvar', 'SALVAR', { || Alert( 'Salvou' ) }, 'Este botao Salva' } }
    EndIf
EndIf

Return xRet


Saiba mais
Ponto de Entrada Padrão do MVC

Esse artigo foi útil?
Usuários que acharam isso útil: 0 de 0

3 Comentários

  • Avatar
    Jose Roberto dos Santos Brittes Junior

    O ponto de entrada anterior me dava acesso a todos os Browsers da rotina, esse não faz isso, poderiam ou melhor os parâmetros que estão sendo entregues, ou melhorar a documentação?

    1
    Ações de comentário Permalink
  • Avatar
    Moacir Souza

    O ponto de entrada utilizado no cancelamento da liquidação está escrito errado está como 

    FA460CAN, quando o correto é o FA460CANC 

     

    Obrigado !

    1
    Ações de comentário Permalink
  • Avatar
    Wanderson Fernandes de Souza

    Boa tarde,

     

    Peguei este ponto de entrada e tentei executar mas, está gerando um error.log, alguem já passou por isso?

     

    0
    Ações de comentário Permalink
Por favor, entre para comentar.
X Fechar

Olá ,

Há pendência referente a um de seus produtos contratados para a empresa ().

Entre em contato com o Centro de Serviços TOTVS para tratativa.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cobrança – Verificação de pendências financeiras . clique aqui.

TOTVS

X Fechar

Olá ,

Seu contato não está cadastrado no Portal do Cliente como um perfil autorizado a solicitar consultoria telefônica.

Por gentileza, acione o administrador do Portal de sua empresa para: (1)configurar o seu acesso ou (2)buscar um perfil autorizado para registro desse atendimento.

Em caso de dúvidas sobre a identificação do contato administrador do Portal, ligue (11) 4003-0015, opção 7 e, em seguida, opção 4 para buscar o suporte com o time de Assessoria ao Portal do Cliente. . clique aqui.

TOTVS

X Fechar

Olá ,

Para o atendimento de "Consultoria Telefônica" você deverá estar de acordo com o Faturamento.

TOTVS

X Fechar

Olá,

Algo inesperado ocorreu, e o usuario nao foi reconhecido ou você nao se encontra logado

Por favor realize um novo login

Em caso de dúvidas, entre em contato com o administrador do Portal de Clientes de sua empresa para verificação do seu usuário, ou Centro de Serviços TOTVS.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cadastros . clique aqui.

TOTVS

Chat _

Preencha os campos abaixo para iniciar o atendimento:

Chat _