Imprimi Página | Fechar janela

Ponto de Entrada

Impresso de: Helpfacil - Portal do conhecimento
Nome do Forum: ADVPL
Descrição do Forum: Dúvidas sobre a programação em ADVPL
URL:http://www.helpfacil.com.br/display_topic_threads.asp?ForumID=1&TopicID=43294
Data da Impressão: sexta-feira, 19 de abril de 2024 at 13:30


Topico: Ponto de Entrada

Postado por: CLAUDEVAN1
Assunto: Ponto de Entrada
Data Postagem: sábado, 27 de junho de 2020 at 10:35


Olá, gente queria bloquear a entrada de "Nota Fiscal" estou usando o código abaixo mais não consigo fazer o bloqueio da nota, alguém sabe o motivo.

Desde já obrigado.

#Include ‘Protheus.ch‘

// MT100TOK - Valida a inclusão de NF

User Function A103Tudok()

Local aArea     := GetArea()
Local aAreaB1     := SF1->(GetArea())
Local lRet          := .F.           
     
   Msginfo("Inclusão não permitida.")
    
     RestArea(aAreaF1)
     RestArea(aArea)
     
Return (lRet)


Respostas:

Postado Por: CJ_CAMPOS
Data Postagem: sábado, 27 de junho de 2020 at 11:56

Primeiro : Qual a situação de bloqueio ??

Segundo :

Local aArea     := GetArea()
Local aAreaB1     := SF1->(GetArea())
Local lRet          := .F.           
     
   Msginfo("Inclusão não permitida.")
    
     RestArea(aAreaF1) <- Não seria aAreaB1 ?
     RestArea(aArea)
     
Return (lRet)



Postado Por: CLAUDEVAN1
Data Postagem: segunda-feira, 29 de junho de 2020 at 11:30


Primeiro: Cara tô começando a estudar Ponto de entrada, e estou fazendo alguns teste e esse seria "Bloquear a inclusão da nota fiscal"


Segundo: Olha a tabela "SF1 - CABEÇALHO DAS NF‘s DE ENTRADA" no meu entender eu pensei que bloqueando o cabeçalho da nota fiscal, dessa forma iria impossibilitar a entrada da nota fiscal.

RestArea(aAreaF1) <- Não seria aAreaB1 ?

Olha até onde eu pesquisei "SB - É Estoque" e "SB1- DESCRIÇÃO GENÉRICA DO PRODUTO" e eu estou querendo apenas bloquear a entrada da nota fiscal, independente de qualquer outra coisa, "Apenas bloquear a entrada de NF‘s"

Se tiver mais alguma dica eu agradeço!

Desde já obrigado.






Postado Por: CJ_CAMPOS
Data Postagem: segunda-feira, 29 de junho de 2020 at 13:56

Olá..

Tudo bem... vamos por partes então.

Para vc criar um ponto de entrada, é necessário o motivo pelo qual vc está criando.

Então: Vc quer bloquear a entrada de Nfs.

Por qual razão ?

1. Cliente bloqueado ?
2. Usuário não autorizado ?
3. ....

Esta lista deve ser bem pensada antes de criar um bloqueio.

Programação..

A variável aAreaF1 não existe ( pelo menos neste ponto de entrada ) pois:

Local aArea     := GetArea()
Local aAreaB1     := SF1->(GetArea()) <- Aqui vc definiu variavel LOCAL
                                         aAreaB1 como o GETAREA() ( em cima
                                         do arquivo SF1 )

Local lRet          := .F.           
     
   Msginfo("Inclusão não permitida.")
    
     RestArea(aAreaF1) <- Variavel aAreaF1 não foi definido localmente portanto pode estar apontando para outro registro do arquivo.
     RestArea(aArea)
     
Return (lRet)

Quando retornar a função ela pode estar apontando para outro registro que não o seu ATUAL dentro do arquivo SF1.

Logo a função pode não funcionar.

Bom dia.




Imprimir Página | Fechar Janela