Imprimi Página | Fechar janela |
Alterar valor de um campo 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=44346 Data da Impressão: sexta-feira, 22 de setembro de 2023 at 08:18 Topico: Alterar valor de um campo Postado por: BEHRSP Assunto: Alterar valor de um campo Data Postagem: quarta-feira, 13 de setembro de 2023 at 08:07 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. Respostas: Postado Por: ROBERTOMEN Data Postagem: quarta-feira, 13 de setembro de 2023 at 09:39 Bom dia. No cadastro de Tipo de Movimentações o movimento 020 é um movimento de produção, F5_TIPO = "P" ? Postado Por: ROBERTOMEN Data Postagem: quarta-feira, 13 de setembro de 2023 at 09:46 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)))) Postado Por: BEHRSP Data Postagem: quarta-feira, 13 de setembro de 2023 at 10:08 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. Postado Por: BEHRSP Data Postagem: quarta-feira, 13 de setembro de 2023 at 12:57 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. |
Imprimir Página | Fechar Janela |