Como preencher automaticamente peso, volume e espécie no Pedido de Venda no Protheus

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.

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 identificar o tipo de ambiente no Protheus via código
Quem trabalha com desenvolvimento no Protheus já deve ter passado por uma situação bastante comum: precisar saber exatamente em qual ambiente o código está sendo executado. Em projetos que envolvem customizações, integrações ou automações dentro do ERP da TOTVS, essa informação pode ser extremamente importante para garantir que determinadas rotinas sejam executadas apenas quando realmente […]
{{brizy_dc_image_alt entityId=
Workshop: Novo Fluxo de Compras do Protheus (NFC) — Entenda na prática como funciona
O processo de compras é uma das engrenagens mais importantes dentro de qualquer empresa. Quando ele funciona bem, a operação flui.Quando não funciona, aparecem problemas rapidamente: compras atrasadas, falta de controle, retrabalho e decisões tomadas sem informação confiável. Nos últimos anos, a TOTVS trouxe uma evolução importante dentro do Protheus: o Novo Fluxo de Compras […]
{{brizy_dc_image_alt entityId=
Gigantes da tecnologia ajustam estratégia e mostram para onde o mercado está indo
Se alguém ainda tinha dúvida de que o mercado de tecnologia está entrando em uma fase mais estratégica e menos “empolgada”, essa semana deixou tudo muito claro. Grandes empresas globais anunciaram movimentos importantes envolvendo reestruturação, expansão produtiva, foco em eficiência e reposicionamento de capital. E quando empresas desse porte se mexem, o mercado inteiro presta […]
{{brizy_dc_image_alt entityId=
Corrigindo o erro de não encontrar SmartClient na unidade X no Protheus
Se você já abriu o Protheus e deu de cara com a mensagem abaixo, sabe como ela é estranha: “x:\smartclient.exeO sistema não pode encontrar a unidade especificada.” E aí começa a dúvida:É problema no servidor? É mapeamento de rede? É instalação do SmartClient? Ou pior… algo mais crítico? Calma.Na maioria dos casos, esse erro tem […]