PERGUNTAS E RESPOSTAS
 
Bem Vindo, Visitante  Todos os Fórums
  ADVPL
Enviar para a impressoraImprimir  Enviar e-mail para um amigoEnviar Para um Amigo
Precisa estar Logado

Subject Assunto:
Alterar valor de um campo
Versão:
12.1.33
Plataforma:
Microsoft
Complemento:
windows 10 pro
DB:
SQL Server
Complemento:
v18
LinkedIn
Mensagem do Enviar e-mail Abrir o Perfil do usuário BEHRSP BEHRSP em 13/09/2023, 08:07 h
Local: PR  Registro: 26/04/2023  Postagens: 28
Bom dia pessoal.
Estou com este fonte, no ponto de entrada MATA250. Não sei se é este o PE correto.
MAS, o que eu preciso e não estou conseguindo.


NA rotina de produção simples, se for uma determinada filial, o tipo de movimento D3_TM, precisa ser '020' por padrao ele é '010'.

User Function MT250TOK()

    Local aArea := GetArea()
    Local lRet := .F.
    Local cFilAnt := cFilAnt


    //Alert(cFilAnt)

    if cFilAnt == "01MEGA01"
       
        M->D3_TM := '020'
        lRet := .T.
       
    else

        Alert("Voce nao esta na filial MEGA")
    
    endif


    RestArea(aArea)
return(lRet)

Mas desta forma, ele reconhece a filial, e o valor do campo, mas nao altera quando eu gravo!
Ou tem outro ponto, que eu devo assim que entrar na filial MEGA por exemplo, o campo alterar ja de inicio?

Como eu faria?

Obrigado pela ajuda.

Mensagem do Enviar e-mail Abrir o Perfil do usuário ROBERTOMEN ROBERTOMEN em 13/09/2023, 09:39 h
Local: PR  Registro: 04/07/2017  Postagens: 396
Bom dia.

No cadastro de Tipo de Movimentações o movimento 020 é um movimento de produção,
F5_TIPO = "P" ?

Mensagem do Enviar e-mail Abrir o Perfil do usuário ROBERTOMEN ROBERTOMEN em 13/09/2023, 09:46 h
Local: PR  Registro: 04/07/2017  Postagens: 396

Acho que vc resolve isto mais fácil e sem ponto de entrada colocando no inicializador do campo D3_TM:

IIF(INCLUI .AND. FUNNAME() $ ‘MATA250‘ .AND. cFilAnt == "01MEGA01",‘020‘,IIF(INCLUI .AND. FUNNAME() $ ‘MATA250‘ .AND. cFilAnt <> "01MEGA01",‘010‘,SPACE(LEN(SD3->D3_TM))))     



Mensagem do Enviar e-mail Abrir o Perfil do usuário BEHRSP BEHRSP em 13/09/2023, 10:08 h
Local: PR  Registro: 26/04/2023  Postagens: 28
Bom dia @ROBERTOMEN

Sim, 020 é um movimento de produção para ativo.


Pensei no inicializador padrão, também mas não acertei acho que a sintaxe.
Vou tentar.

Muito obrigado.

Mensagem do Enviar e-mail Abrir o Perfil do usuário BEHRSP BEHRSP em 13/09/2023, 12:57 h
Local: PR  Registro: 26/04/2023  Postagens: 28
Deu certo.
Quando eu fui entrar no Conf. Já tinha uma função ali, no inicializador padrão, fui na função ja tinha uma outra validação, eu só acrescentei mais uma.

     if FunName() == ‘MATA241‘ .OR. FunName() == ‘MATA185‘
          
          cRet := ‘501‘
     
     ElseIf FunName() == ‘MATA250‘ .AND. ‘01MEGA‘ $ cFilAnt

          cRet := ‘020‘     
     
     else

          cRet := ‘010‘
     
     endif

Muito Obrigado pela ajuda.

Para postar no Fórum você precisa efetuar o seu login ou se registrar

 Mudar para Fórum

 

 

 
 
   
Pagina Principal Shopping PROTHEUS Tire suas duvidas Vagas Microsiga em todo Brasil Aprofunde seus conhecimentos Noticias Online Fale Conosco Pagina Principal