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 dinamicamente

A variável MVNOTAFIS é a chave do processo. Alterar seu conteúdo dentro do ponto de entrada faz com que o Protheus utilize o código de tipo de documento indicado no momento de gerar o título. Dessa forma, clientes de um mesmo grupo podem ter um tipo diferenciado, enquanto os demais continuam seguindo o padrão da empresa.

Retorno mantendo o fluxo padrão

O ponto de entrada precisa devolver a data de condição para completar o processo de forma íntegra. O código mantém esse retorno padrão, garantindo que o comportamento original do sistema não seja impactado além do necessário.

Código completo utilizado no exemplo

O código abaixo é exatamente o mesmo disponível no conteúdo original, sem qualquer modificação. Ele aplica condicionalmente o tipo do título com base na identificação do cliente, utilizando M460COND como ponto de entrada.

#Include "TOTVS.ch"

/*/{Protheus.doc} User Function M460COND
Ponto de entrada para alterar a data que irá considerar para gerar as parcelas e vencimentos
@type  Function
@author Atilio
@since 16/06/2023
@see https://tdn.totvs.com/pages/viewpage.action?pageId=6784176
/*/

User Function M460COND()
    Local aArea     := FWGetArea()
    Local aAreaSC5  := SC5->(FWGetArea())
    Local dDataCond := ParamIXB[1] //Por padrão pega do SF2->F2_EMISSAO
    Local cCliMV    := SuperGetMV("MV_X_MSMCL", .F., "000001;") //Se for clientes que são do mesmo grupo de empresa

    //Se for clientes do mesmo CNPJ, muda o tipo para MSM (para lembrar que é do MESMO grupo)
    If Alltrim(SF2->F2_CLIENTE) $ cCliMV
        MVNOTAFIS := AvKey("MSM", "E1_TIPO")
    Else
        MVNOTAFIS := AvKey("NF",  "E1_TIPO")
    EndIf

    FWRestArea(aAreaSC5)
    FWRestArea(aArea)
Return dDataCond

Analisando o comportamento do código linha a linha

Preservação da área de trabalho

O uso de FWGetArea e FWRestArea garante que a execução do ponto de entrada não altere ou prejudique as áreas de trabalho em memória. Essa é uma prática indispensável quando manipulamos tabelas dentro de funções de sistema, principalmente em rotinas sensíveis como as do financeiro.

Uso da ParamIXB

ParamIXB pega como base a data de emissão da nota, garantindo que o comportamento padrão de geração de vencimentos seja mantido. Isso evita problemas com parcelas incorretas ou desvios de fluxo.

SuperGetMV como controle de lógica

Buscar a informação em uma MV torna o código mais flexível e permite que o usuário, via parametrização, ajuste quais clientes pertencem ao grupo sem modificar o fonte. Essa abordagem é preferível quando o cenário de negócio pode mudar com frequência.

Atribuição do tipo de documento

MVNOTAFIS recebe o valor gerado pelo AvKey, garantindo que o sistema identifique corretamente o tipo de documento E1_TIPO durante o processo financeiro. O método AvKey é usado para garantir que a chave seja convertida no formato esperado pelo Protheus.

Conclusão: quando vale a pena aplicar essa lógica

Essa solução é recomendada em cenários onde existe a necessidade de classificar automaticamente documentos financeiros para clientes específicos, principalmente em operações que envolvem grupos empresariais. Além disso, por ser um ajuste localizado e de baixo impacto, tende a ser uma alternativa segura e eficiente para empresas que preferem evitar customizações profundas.

Alterar o E1_TIPO pelo M460COND é um exemplo de como pequenas intervenções podem alinhar processos internos com a operação real da empresa, garantindo mais organização, rastreabilidade e automação dentro do financeiro do Protheus.

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=
Quais são os módulos mais usados em sistemas ERP para gestão financeira?
IA verdade que ninguém conta sobre o “financeiro” no ERP Se você usa um ERP no dia a dia — especialmente o Protheus — provavelmente já percebeu que o módulo financeiro é aquele que todo mundo diz que domina, mas a realidade é bem diferente. Enquanto várias empresas acreditam que estão aproveitando a maior parte […]
{{brizy_dc_image_alt entityId=
Workshop Atualização do Protheus: Por que agora é questão de sobrevivência para qualquer empresa que usa TOTVS?
Se você usa o Protheus no dia a dia, já percebeu que 2024 e 2025 viraram uma montanha-russa. Mudança tributária, pacotes emergenciais, releases novos, patch atrás de patch, correções de legislação saindo semanalmente. E aí vem a pergunta que ninguém gosta de ouvir, mas todo mundo precisa: o seu Protheus está realmente atualizado? E é […]
{{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 […]