|
Bem Vindo, Visitante
|
Todos os Fórums
ADVPL
|
Imprimir
Enviar Para um Amigo Precisa estar Logado
|
|
|
Assunto: |
Alterar valor de um campo |
|
Versão: |
12.1.33 |
|
Plataforma: |
Microsoft |
Complemento: |
windows 10 pro |
|
DB: |
SQL Server |
Complemento: |
v18 |
|
|
|
|
Mensagem do
BEHRSP
em 13/09/2023, 08:07 h
Local: PR Registro: 26/04/2023 Postagens: 47 |
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
ROBERTOMEN
em 13/09/2023, 09:39 h
Local: PR Registro: 04/07/2017 Postagens: 546 |
Bom dia.
No cadastro de Tipo de Movimentações o movimento 020 é um movimento de produção,
F5_TIPO = "P" ? |
|
|
Mensagem do
ROBERTOMEN
em 13/09/2023, 09:46 h
Local: PR Registro: 04/07/2017 Postagens: 546 |
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
BEHRSP
em 13/09/2023, 10:08 h
Local: PR Registro: 26/04/2023 Postagens: 47 |
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
BEHRSP
em 13/09/2023, 12:57 h
Local: PR Registro: 26/04/2023 Postagens: 47 |
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
|
|