João,
O erro ocorre por conta do uso de componentes de interface numa thread de job, ou seja, uma thread sem interface.
Basicamente quando sua thread não possui interface, qualquer componente instanciado que herde de TSrvObject
, vai gerar essa exceção:
job threads doesn't support remoto/visual components
O erro está acontecendo no seu ponto de entrada, você possui customizações no modelo MATA010 e o commit do modelo acaba chamando sua customização.
Em sua customização, em determinado momento, você chama a função MsgYesNo
, como sua thread não tem interface, a mensagem não pode ser exibida, resultado no error.log.
Você pode proteger esse trecho onde usa a função MsgYesNo
usando a função isBlind
ou a getRemoteType
:
//Com isBlind
if !isBlind() .and. MsgYesNo("Minha pergunta?")
endif
//Com getRemoteType
if getRemoteType() != -1 .and. MsgYesNo("Minha pergunta?")
endif
Claro, a lógica dessa implementação depende de sua regra de negócio, mas você precisará ter uma resposta padrão para essa pergunta, pois não será possível exibi-la ao usuário.
Existe também a opção de deixar de chamar essa função via StartJob
, com isso se sua thread principal possuir interface, o erro deixará de ser gerada e a pergunta será exibida ao usuário, a vantagem do StartJob
é que existe a possiblidade de fazer isso de forma assíncrona (parâmetro), caso você precisa replicar 15 ou mais vezes, o usuário não precisará aguardar essa inclusão, pois tudo será feita sem interface, não prejudicando ou gerando atrasos ao usuário.
Documentações:
https://tdn.totvs.com/display/tec/TSrvObject
https://tdn.totvs.com/display/tec/GetRemoteType
https://tdn.totvs.com.br/pages/viewpage.action?pageId=6814878
https://tdn.totvs.com/display/tec/StartJob
João, qual modelo você está utilizando? Você tem o error.log completo para anexar?
— Daniel Mendes 31 de Aug de 2022Olá, Daniel! Adicionei o error log e um trecho do fonte.
— João Victor Bispo 31 de Aug de 2022