Como desativar a edição de campos na Solicitação de Compras no Protheus (sem alterar o configurador)

Se você já precisou restringir a edição de campos em uma Solicitação de Compras no Protheus (MATA110), sabe que essa não é exatamente uma tarefa simples — especialmente quando queremos aplicar a regra apenas para determinados usuários, sem mexer no Modo de Edição do Configurador.

Pois é, essa dúvida é mais comum do que parece.
E neste artigo, vamos mostrar como desativar a edição de campos específicos da grid da Solicitação de Compras de forma prática, utilizando um ponto de entrada.

Essa é uma solução leve, segura e totalmente reversível — perfeita para quem quer manter o controle sem alterar o comportamento padrão do sistema.

O desafio

Um dos nossos alunos perguntou recentemente se seria possível bloquear alguns campos da tela de Solicitação de Compras (programa MATA110), mas sem alterar o modo de edição via Configurador — e aplicando isso apenas para determinados usuários.

A resposta é: sim, é possível.
E o segredo está no ponto de entrada MA110TEL, que permite manipular a grid de forma dinâmica.

A lógica por trás da solução

A ideia é simples e elegante:

  1. Verificamos se o processo é uma alteração (modo 4).
  2. Checamos se o usuário logado está em uma lista de exceções (definida via parâmetro).
  3. Percorremos o array aHeader, que contém as definições de cada coluna da grid.
  4. Identificamos os campos que queremos bloquear.
  5. Alteramos a posição do array responsável pela validação, forçando o valor para .F., o que impede a digitação.

Assim, apenas os usuários autorizados conseguem editar os campos desejados, e o comportamento da tela se ajusta automaticamente conforme o login.

Código-fonte completo

Abaixo está o código do ponto de entrada, pronto para ser implementado:

#Include "TOTVS.ch"

/*/{Protheus.doc} MT110TEL
Ponto de entrada que manipula a tela de Solicitação de Compras
@type user function
@author Atilio
@since 17/06/2025
@see https://tdn.totvs.com/pages/releaseview.action?pageId=6085447
/*/

User Function MT110TEL()
    Local aArea     := FWGetArea()
    Local nOpc      := PARAMIXB[3]
    Local cUsrLogad := RetCodUsr()
    Local cUsrPodem := SuperGetMV("MV_X_USALT", .F., "000005;000006;000011;")
    Local nAtual    := 0
    Local cCampo    := ""

    // Se for alteração
    If nOpc == 4

        // Se o usuário logado NÃO estiver na lista dos que podem alterar
        If ! cUsrLogad $ cUsrPodem

            // Percorre todos os campos da grid
            For nAtual := 1 To Len(aHeader)
                cCampo := Alltrim(aHeader[nAtual][02])

                // Se for o campo de Quantidade, Preço ou Observação
                If cCampo + ";" $ "C1_QUANT;C1_PRECO;C1_OBS;"
                    // Bloqueia a edição
                    aHeader[nAtual][06] := ".F."
                EndIf
            Next
        EndIf

    EndIf

    FWRestArea(aArea)
Return

Como configurar o parâmetro de controle de usuários

No código acima, usamos o parâmetro MV_X_USALT para definir quais usuários podem alterar os campos.
Basta configurar esse parâmetro no dicionário de dados, separando os códigos dos usuários com ponto e vírgula (;).

Exemplo:

MV_X_USALT = 000005;000006;000011;

Assim, apenas esses usuários conseguirão editar os campos bloqueados para os demais.

Dica prática

Essa abordagem é ideal para cenários onde:

  • Você quer limitar alterações sensíveis (como preço ou quantidade) a perfis específicos;
  • Deseja evitar erros de digitação em campos críticos;
  • Ou simplesmente quer melhorar o controle interno de compras sem precisar mexer no configurador ou aplicar bloqueios via dicionário.

Além disso, por ser uma customização feita via ponto de entrada, ela é fácil de manter, testar e remover, sem comprometer o ambiente padrão do Protheus.

Conclusão

Bloquear a edição de campos na Solicitação de Compras pode parecer uma tarefa complicada, mas com o ponto de entrada MA110TEL e um pouco de lógica em ADVPL, é possível fazer isso de forma simples, elegante e totalmente segura.

Na Geeker Company, acreditamos que pequenas automações como essa fazem toda a diferença no dia a dia da operação — reduzindo erros, melhorando o controle e dando mais agilidade para o time de compras.

Se você quer levar esse tipo de melhoria para o seu ambiente Protheus, fale com a gente.
Nós ajudamos sua empresa a evoluir com soluções práticas, inteligentes e que fazem o sistema trabalhar a seu favor.

Index

Categorias

Sobre o Autor

Foto do Autor
Fábio Hayama

Apaixonado por gestão, tecnologia e inovação, Fábio Hayama possui mais de 15 anos de experiência no universo do ERP Protheus, estratégia empresarial e automação de processos.

Leia mais sobre o Fábio

Entre em contato conosco

Veja mais artigos relacionados

Otimizador de tela
Otimizador de Tela no Protheus: como deixar seu sistema mais ágil e fácil de usar
A agilidade que seu Protheus estava precisando Quem nunca ouviu alguém reclamar que o Protheus é “pesado” ou “cheio de tela”? Pois é. Em muitas empresas, o sistema acaba ficando sobrecarregado de campos, abas e informações que nem sempre são realmente úteis para o dia a dia de quem usa. O resultado disso é simples: […]
Como desativar a edição de campos na Solicitação de Compras no Protheus (sem alterar o configurador)
Se você já precisou restringir a edição de campos em uma Solicitação de Compras no Protheus (MATA110), sabe que essa não é exatamente uma tarefa simples — especialmente quando queremos aplicar a regra apenas para determinados usuários, sem mexer no Modo de Edição do Configurador. Pois é, essa dúvida é mais comum do que parece.E […]
protheus
Protheus e e-commerce: integração que gera eficiência real
Você pode ter o melhor site do mundo, uma equipe comercial dedicada e uma plataforma de e-commerce moderna, mas se o seu ERP não conversa direito com ela, cedo ou tarde o caos aparece. Pedidos que somem, estoques desatualizados, preços errados e clientes frustrados são sintomas clássicos de uma integração falha. E o pior: na […]
ia
As grandes jogadas da tecnologia no Brasil: data centers, IA, pagamentos e mineração em destaque
Essa semana ficou marcada por anúncios e movimentos estratégicos que podem redesenhar o mapa da tecnologia no Brasil. Estamos falando de investimentos pesados em infraestrutura digital, incentivos governamentais para atrair gigantes globais, novidades concretas em produtos com inteligência artificial e mudanças nos meios de pagamento — tudo isso atravessado por um cenário energético favorável ao […]