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

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 […]
notícia
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. […]
blip
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 […]
notícia
As principais notícias de tecnologia da semana: IA, saúde avançada, agronegócio inteligente e movimentos estratégicos no Brasil e no mundo
Nos últimos dias, o mundo da tecnologia mostrou mais uma vez como inovação, inteligência artificial e transformação digital estão acelerando em vários setores ao mesmo tempo. De TOTVS a Meta, passando por saúde de ponta e iniciativas globais de agricultura inteligente, reuni aqui tudo o que realmente importa, organizado de forma clara e direta. TOTVS […]