O Pedido de Venda no Protheus é muito mais do que um simples registro comercial. Ele é o ponto de origem de diversas informações que impactam diretamente o faturamento, a logística e a documentação fiscal da empresa. Entre essas informações, estão o peso bruto, o peso líquido, o volume e a espécie, que são utilizados posteriormente na geração da nota fiscal, do XML e do DANFE.
Apesar da importância desses dados, muitas empresas ainda dependem de preenchimento manual ou simplesmente deixam esses campos em branco, o que gera inconsistências, retrabalho e problemas operacionais. O que poucos sabem é que o próprio Protheus possui recursos que permitem automatizar completamente esse processo utilizando pontos de entrada e lógica customizada.
Neste artigo, vamos mostrar como automatizar o preenchimento dessas informações utilizando o ponto de entrada MT410TOK, garantindo consistência, eliminando erros e profissionalizando o fluxo operacional.
O impacto do peso e volume no fluxo do Protheus
Quando um pedido de venda é faturado no Protheus, o sistema utiliza diversas informações do cabeçalho do pedido para compor os dados da nota fiscal. Entre essas informações estão o peso bruto total, o peso líquido total, o volume e a espécie, que são utilizados tanto na documentação fiscal quanto na integração com transportadoras e sistemas logísticos.
Esses dados são fundamentais para garantir que o DANFE contenha as informações corretas e que o XML transmitido à SEFAZ esteja completo. Além disso, muitas transportadoras utilizam essas informações para cálculo de frete, planejamento de coleta e controle logístico. Quando esses campos não estão preenchidos corretamente, a empresa pode enfrentar divergências operacionais, falhas de integração e retrabalho manual.
O problema é que, quando o preenchimento depende do usuário, a probabilidade de erro é alta. Em pedidos com muitos itens, o usuário precisaria consultar o peso de cada produto, multiplicar pela quantidade e somar manualmente os valores, o que torna o processo lento e sujeito a inconsistências.
Por que automatizar o preenchimento dessas informações
O Protheus já possui todas as informações necessárias para realizar esses cálculos automaticamente. O cadastro de produtos contém o peso bruto e o peso líquido, e o pedido de venda contém a quantidade vendida. Isso significa que o sistema tem todos os dados necessários para calcular o peso total e o volume sem qualquer intervenção manual.
Automatizar esse processo elimina a dependência do usuário, reduz erros e garante que as informações estejam sempre corretas e atualizadas. Além disso, essa automação melhora a confiabilidade das informações fiscais e logísticas, permitindo que o fluxo de faturamento e integração com transportadoras funcione de forma previsível e consistente.
Esse tipo de automação é especialmente importante para empresas que possuem grande volume de pedidos, integração com e-commerce ou operações logísticas estruturadas, onde a precisão das informações é essencial para a continuidade do processo operacional.
Utilizando o ponto de entrada MT410TOK para automatizar o processo
O ponto de entrada MT410TOK é executado no momento em que o usuário confirma o pedido de venda. Isso permite que o sistema execute validações e ajustes antes da gravação definitiva do pedido. Esse é o momento ideal para calcular automaticamente o peso bruto, o peso líquido, o volume e a espécie com base nos produtos e quantidades informados.
Ao utilizar esse ponto de entrada, é possível percorrer todos os itens do pedido, consultar o cadastro de produtos na tabela SB1 e calcular os valores automaticamente. Em seguida, esses valores são gravados no cabeçalho do pedido, na tabela SC5, garantindo que estejam disponíveis para o faturamento e geração da nota fiscal.
Essa abordagem é totalmente compatível com a arquitetura do Protheus, pois utiliza recursos padrão do sistema e não interfere no funcionamento original do ERP, mantendo compatibilidade com atualizações futuras.
Código fonte para preenchimento automático no Pedido de Venda
Abaixo segue o código fonte que implementa essa lógica utilizando o ponto de entrada MT410TOK:
//Bibliotecas
#Include "TOTVS.ch"
/*/{Protheus.doc} User Function MT410TOK
Ponto de entrada na validação do Pedido de Venda ao clicar no botão confirmar
@type Function
@author Atilio
@since 22/09/2025
@return lRet, Lógico, Retorna .T. se irá continuar ou .F. se irá barrar
@see https://tdn.totvs.com/pages/releaseview.action?pageId=6784353
/*/
User Function MT410TOK()
Local aArea := FWGetArea()
Local lRet := .T.
Local nLinha := 0
Local nPosProd := GDFieldPos("C6_PRODUTO")
Local nPosQtde := GDFieldPos("C6_QTDVEN")
Local cProduto := ""
Local nQtdVenda := 0
Local nPesoBruto := 0
Local nPesoLiqui := 0
//Local nOpc := PARAMIXB[1]
DbSelectArea("SB1")
SB1->(DbSetOrder(1)) // B1_FILIAL + B1_COD
//Zerando informações do cabeçalho
M->C5_VOLUME1 := 0
M->C5_PBRUTO := 0
M->C5_PESOL := 0
M->C5_ESPECI1 := ""
//Percorrendo as linhas do browse
For nLinha := 1 To Len(aCols)
//Se a linha não tiver apagada
If ! GDDeleted(nLinha)
//Pega o produto e a quantidade
cProduto := aCols[nLinha][nPosProd]
nQtdVenda := aCols[nLinha][nPosQtde]
//Se conseguir posicionar no produto
If SB1->(MsSeek(FWxFilial("SB1") + cProduto))
//Calcula o peso bruto, conforme o que foi vendido vezes o que esta no cadastro
nPesoBruto := nQtdVenda * SB1->B1_PESBRU
nPesoLiqui := nQtdVenda * SB1->B1_PESO
//Incrementa as informações no cabeçalho do pedido
M->C5_VOLUME1 += nQtdVenda
M->C5_PBRUTO += nPesoBruto
M->C5_PESOL += nPesoLiqui
//Se não teve espécie ainda preenchida
If Empty(M->C5_ESPECI1)
//Se for CX, é caixas
If SB1->B1_UM == "CX"
M->C5_ESPECI1 := "CAIXAS"
//Senão, (PT, UN, KG), será pacotes
Else
M->C5_ESPECI1 := "PACOTES"
EndIf
EndIf
EndIf
EndIf
Next
FWRestArea(aArea)
Return lRet
Como essa automação funciona na prática
Quando o usuário cria um pedido de venda e clica em confirmar, o Protheus executa automaticamente o ponto de entrada MT410TOK. Nesse momento, o sistema percorre todos os itens do pedido e identifica os produtos e suas respectivas quantidades. Para cada produto, o sistema consulta o cadastro na tabela SB1 e obtém o peso bruto e o peso líquido cadastrados.
Com base nesses valores, o sistema calcula o peso total e acumula essas informações no cabeçalho do pedido. O volume é calculado com base na quantidade total vendida, e a espécie é definida automaticamente conforme a unidade de medida do produto. Após esse processo, o pedido é gravado com todas as informações corretamente preenchidas, garantindo que o faturamento e a geração da nota fiscal utilizem dados consistentes e confiáveis.
O usuário não precisa realizar qualquer cálculo manual, e o processo ocorre de forma totalmente transparente.
Benefícios operacionais dessa automação
A automação do preenchimento de peso e volume elimina uma das principais fontes de erro no processo de faturamento. Isso garante que todas as notas fiscais sejam geradas com informações completas e corretas, evitando problemas com transportadoras, divergências logísticas e retrabalho operacional.
Além disso, o processo se torna muito mais rápido e escalável, permitindo que a empresa processe um grande volume de pedidos sem aumentar a complexidade operacional. Essa automação também melhora a qualidade dos dados do ERP, o que impacta diretamente relatórios, integrações e tomada de decisão.
Esse tipo de melhoria é um exemplo claro de como pequenas automações podem gerar um grande impacto na eficiência operacional.
A importância de estruturar corretamente o Protheus
Muitas empresas utilizam o Protheus apenas como um sistema de registro, sem explorar todo o potencial de automação que ele oferece. No entanto, quando o sistema é corretamente estruturado e customizado, ele se torna uma ferramenta estratégica que reduz retrabalho, melhora a confiabilidade das informações e aumenta a produtividade da operação.
Automatizar o preenchimento de peso e volume no pedido de venda é um dos muitos exemplos de melhorias que podem ser implementadas para tornar o ERP mais eficiente e alinhado com a realidade operacional da empresa.
Como a Geeker Company pode ajudar
Na Geeker Company, nosso foco é estruturar o Protheus para que ele trabalhe a favor da sua operação, eliminando retrabalho e aumentando a previsibilidade dos processos. Implementamos automações, melhorias e integrações que transformam o ERP em uma ferramenta estratégica para o crescimento da empresa.
Se sua empresa ainda depende de processos manuais ou possui gargalos operacionais no Protheus, existe um grande potencial de melhoria. Muitas dessas melhorias podem ser implementadas rapidamente e gerar impacto imediato na eficiência da operação.
Um Protheus bem estruturado não apenas registra informações. Ele aumenta o controle, melhora a eficiência e prepara sua empresa para crescer com segurança e previsibilidade.




