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

{{brizy_dc_image_alt entityId=
Como organizar dados no Protheus para usar IA de verdade em 2026
A conversa sobre inteligência artificial já virou rotina. Toda empresa, de qualquer porte ou setor, já ouviu alguém prometendo que IA vai aumentar produtividade, cortar custos e transformar processos. E, de certa forma, é verdade. Mas existe um detalhe que quase ninguém fala e que vai separar quem vai conseguir usar IA de verdade e […]
{{brizy_dc_image_alt entityId=
Como funciona a lógica aplicada no exemplo
Identificando clientes do mesmo grupo empresarial No exemplo apresentado, o desenvolvedor utiliza a variável MV_X_MSMCL para armazenar uma lista de clientes considerados parte do mesmo grupo econômico. Isso permite classificar automaticamente o tipo de documento financeiro com base no cliente responsável pela nota. Essa abordagem evita erros manuais e padroniza processos internos. Ajustando o E1_TIPO […]
{{brizy_dc_image_alt entityId=
As principais notícias de tecnologia: IA, nuvem, agronegócio, saúde e o novo padrão digital do Brasil
A cada semana o cenário tecnológico muda, se reinventa e puxa todo mundo junto. E, nessa rodada, tivemos notícias importantes que mostram como o Brasil está avançando em inovação, como a IA está entrando de vez nos setores mais tradicionais e como a infraestrutura digital do país está evoluindo. Tudo junto, tudo ao mesmo tempo. […]
{{brizy_dc_image_alt entityId=
WhatsApp como principal canal de vendas: por que a Blip virou referência
Existe um ponto de virada no comportamento do consumidor brasileiro que pouca gente percebeu quando aconteceu, mas hoje é impossível ignorar: a compra migrou para o WhatsApp. A jornada de decisão, o pedido de orçamento, o atendimento, a negociação e até o pós-venda acontecem cada vez mais dentro de uma conversa. As empresas, querendo ou […]