Se alguma pergunta ou resposta lhe foi útil, não deixe de dar seu voto positivo!

ExecAuto limpando conteúdo do campo Memo

Bom dia pessoal, tudo bom?

Tenho um ExecAuto que preenche algumas informações na tabela SC6, porém após ele ser acionado, ele está limpando o conteúdo preenchido anteriormente em outro campo Memo na SC6, alguém teria uma sugestão do que pode estar causando? Abaixo segue meu fonte.

User Function MT681INC()


Local aArea := FWGetArea()
Local aCab :=  {}
Local aItens :=  {}
Local cOp      := SubString(SH6->H6_OP,1,6)
Local cItemOp  := SubString(SH6->H6_OP, 7, 2)
Local cProduto := SH6->H6_PRODUTO
Local cRecurso  := SH6->H6_RECURSO
Local aAreaSC5 := SC5->( getArea() )
Local aAreaSC6 := SC6->( getArea() )

lMsErroAuto := .F.

If cRecurso == '000058'

    //Posiciona no Pedido   
    DbSelectArea("SC5")
    SC5->(DbSetOrder(1))
    If SC5->(MsSeek(FWxFilial("SC5")+cOP))

        //Posiciona no Item do Pedido
        DbSelectArea("SC6")
        SC6->(DbSetOrder(1))
        If SC6->(MsSeek(FWxFilial("SC6")+cOP+cItemOP+cProduto))

            //Inicia Transação
            Begin Transaction

                    aCab :={;
                    {"C5_FILIAL"  , SC5->C5_FILIAL, Nil},;
                    {"C5_NUM"     , SC5->C5_NUM, Nil},;
                    {"C5_TIPO"    , SC5->C5_TIPO, Nil},;
                    {"C5_NATUREZ" , SC5->C5_NATUREZ, Nil},;
                    {"C5_ZZSETOR" , SC5->C5_ZZSETOR, Nil};
                    }

                    aGets := {}
                    aAdd(aGets, {"LINPOS"     , "C6_ITEM", SC6->C6_ITEM} )
                    aAdd(aGets, {"C6_LOTECTL"  , SH6->H6_LOTECTL, Nil} )
                    aAdd(aGets, {"C6_DTVALID"  , SH6->H6_DTVALID, Nil} )
                    aAdd(aGets, {"C6_ZZEXP"  , "S", Nil} )
                    aAdd(aItens, aClone(aGets))

                    MSExecAuto({|x,y,z|MATA410(x,y,z)},aCab,aItens,4)

                If lMsErroAuto
                    MostraErro()
                     DisarmTransaction()      
                    else
                    MsgInfo("Reserva ao pedido realizada!")
                EndIf
            End Transaction 
        EndIf
    EndIf
EndIf

SC5->(FWRestArea(aAreaSC5))
SC6->(FWRestArea(aAreaSC6))
FWRestArea(aArea)

Pergunte("MTA680", .F.)

Return Nil
compartilhar
  • Só acompanhando pois estou com um erro parecido

    Lucas de Paulo Santos   18 de May de 2023
  • O execauto não deveria ocasionar esse tipo de problema, será que na tela não tem alguma customização (P.E., gatilho ou validação) que está manipulando esse campo e gerando o problema?

    Cirilo Rocha   19 de May de 2023
  • Então Cirilo, estou achando estranho pois aparentemente ele limpa todas as linhas do campo MEMO exceto a primeira linha, essa não e excluida.

    kaolox   29 de May de 2023
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do TOTVS DevForum!

0 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags advpl execauto mata410 ou faça a sua própria pergunta.