Árvore de páginas

 Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico.                                                             

  

Informações Gerais 

Especificação

Produto

PROTHEUS

Módulo

SIGATMS

Segmento Executor

 

Projeto1

PDRDL

IRM1

PCREQ-140

Requisito1

PCREQ-2518

Subtarefa1

 

Chamado2

 

País

(X  ) Brasil  (  ) Argentina  (  ) Mexico  (  ) Chile  (  ) Paraguai  (  ) Equador

(  ) USA  (  ) Colombia   (  ) Outro _____________.

Outros

<Caso necessário informe outras referências que sejam pertinentes a esta especificação. Exemplo: links de outros documentos ou subtarefas relacionadas>.

   Legenda: 1 – Inovação 2 – Manutenção (Os demais campos devem ser preenchidos para ambos os processos). 

Objetivo

Foram implementadas as seguintes melhorias:

  • Funcionalidades do Rateio de Frete a Receber existentes no Contrato do Cliente (DUX) para o novo modelo de contrato do Cliente por Serviço de Negociação (DDA/DDC).
  • Valorização da Coleta (sem e com critérios de rateio).
  • Novos Critérios de Rateio.
  • Inclusão de novos componentes do tipo "Herda Valor" e "Taxa por devedor por lote".
  • Incorporação dos valores calculados (Herda Valor) nas Solicitações de Coleta pelos Documentos de Transporte (CT-e, NFST, entre outros) independente do serviço de transporte (2-Transporte ou 3-Entrega). 

Definição da Regra de Negócio  

Importante:

Esta melhoria será disponibilizada somente para Contrato de Cliente com Serviço de Negociação

Para melhor entendimento, dividimos o processo em 3 partes, sendo: 

  1. Contrato

No contrato do cliente com o Serviço de Negociação de Cliente, a configuração do Rateio de Frete será baseada primeiramente na Tabela DDA – Serviços de Negociação do Cliente e posteriormente na Tabela DDC – Negociação do Cliente. Ou seja, quando a base de critério de rateio do Serviço de Negociação (DDA), estiver configurada como "Não Utiliza", o sistema irá buscar o critério de rateio da Negociação do Cliente (DDC). 

Para o campo "Taxa Adicional por Documento" (Alias_ADIDOC), o sistema irá considerar o valor no Serviço de Negociação (DDA_ADIDOC), porém se estiver zerado, irá considerar o valor na Negociação (DDC_ADIDOC).

 

2. Valorização da Coleta SEM Critérios de Rateio

No Contrato do Cliente, será criado um campo “DDA/DDC_VALCOL” que definirá se será executada a valorização da coleta não realizada, podendo ser configurado por Negociação e/ou Serviço (Alias: DDA, DDC). Este campo será habilitado somente se o serviço for "Coleta". Consideramos uma coleta “não realizada”, quando existe um registro de Tipo Retorna Documento (DT2_TIPOCO=’4’) e/ou Cancelamento de Coleta (DT2_TIPOCO=’12’).

As opções deste campo “DDA/DDC_VALCOL”, serão:

  • 0 - Não Utiliza: O sistema irá verificar primeiramente o conteúdo do campo do Serviço da Negociação (DDA) e estando configurado como "Não Utiliza", irá buscar o conteúdo do campo da Negociação (DDC).
  • 1 - Sim: Indica que será executada a valorização das coletas realizadas e não realizadas. Caso houver problemas na valorização, exemplo Tabela de Frete Zerado, o sistema não irá permitir o Fechamento da Viagem e/ou Encerramento da Viagem.
  • 2 - Não: Indica que será valorizada somente as coletas realizadas.

A valorização será processada pela rotina de Cálculo de Frete (TMSA200), considerando apenas as Solicitações de Coleta que possuem Negociação e/ou Serviço (DT5_CODNEG e ou DT5_SERVIC) que valoriza coleta, ou seja, serviço de negociação vinculado a uma tabela de frete, e será executada em três momentos, sendo: 

  • Fechamento da Viagem de Coleta:
    No fechamento da viagem, consideramos como cálculo PREVISTO onde a base de cálculo estará nas informações das tabelas DT5 e DUM (Peso, PesoM3, Metro3, Volume, Valor). O sistema irá gerar um único lote e gravar o número do lote gerado nas solicitações de coleta da viagem que valorizam coleta.
    No processo do cálculo do frete, após a gravação dos componentes de frete (DT8), será gerada a cópia da valorização dos componentes na Tabela de Histórico (DJI), onde será identificado como tipo de cálculo “Previsto” (DJI_TIPCAL=’1’) e o status como "Calculado" (DJI_STATUS = ‘1’).
    Ao efetuar o Estorno do Fechamento (Coleta e/ou de Entrega com Serviço Adicional de Coleta), caso a valorização tenha sido executada, será efetuado também o estorno do cálculo do frete e a respectiva atualização na Tabela de Histórico da Composição do Frete (Tabela DJI), identificando os registros com um status de “Cancelado” (DJI_STATUS = ‘2’). O número do lote nas solicitações de coleta será removida e o lote será excluído.
  • Alteração da Viagem de Coleta em Transito:
    Se por acaso em uma viagem com status “em Trânsito”, for inserida uma solicitação de coleta configurada para uma Negociação e/ou Serviço de Coleta que valoriza coleta, essa Solicitação de Coleta será incluída em um lote já existente ou em um novo lote, e valorizada conforme regras utilizadas no Fechamento da Viagem. Consideramos também como um cálculo PREVISTO.
    No processo do cálculo do frete, os registros da Tabela de Histórico (DJI) que se referem ao Cálculo Previsto (calculados no Fechamento da Viagem), terão o seu status alterado para "Cancelado" (DJI_STATUS = ‘2’). Após a nova valorização dos componentes de frete (DT8), será gerada a copia destes novos valores na Tabela de Historico (DJI), onde será identificado como tipo de cálculo “Previsto” (DJI_TIPCAL=’1’) e o status como "Calculado" (DJI_STATUS = ‘1’). 
  • Encerramento da Viagem de Coleta:
    No Encerramento da viagem, consideramos como cálculo REALIZADO, onde a base de cálculo estará nas informações das tabelas DT5, DUA e DTC. Ou seja, quando a Solicitação de Coleta estiver vinculada a uma ou várias Notas Fiscais (DTC_NUMSOL), o conteúdo dos campos referente a Peso, PesoM3, Metro3, Volumes e Valor Mercadoria serão com base na tabela DTC (Nota Fiscal), caso contrário será baseado na tabela DUA (Ocorrências).
    Ao efetuar o Estorno do Encerramento da Viagem (Coleta e/ou Entrega com Serviço Adicional de Coleta), também será efetuado o estorno do cálculo do frete e a respectiva atualização na Tabela de Histórico da Composição do Frete (Tabela DJI), identificando os registros com um status de “Cancelado” (DJI_STATUS = ‘2’). Em seguida, os valores “PREVISTO” calculados no Fechamento da Viagem e/ou Alteração da Viagem em Trânsito (Tabela DJI - Histórico) com status "Calculado" (DJI_STATUS = ‘1’), serão restaurados para a tabela Composição de Frete (Tabela DT8).

Importante:

Nas viagens de entrega com serviço adicional de coleta, serão valorizadas apenas as Solicitações de Coleta. 

Sendo a valorização por meio da rotina Cálculo do Frete (TMSA200), vale lembrar que a rotina servirá apenas para calcular o valor do frete (sem imposto – DT8_VALPAS), atualizar os valores no registro da tabela DT6 referente a solicitação de coleta e gerar os componentes de frete na tabela DT8.

Segue abaixo os itens que serão desconsiderados:  

  • Configurações referente ao Contrato e Perfil do Cliente, ou seja, não serão gerados novos registros na tabela DT6 - Documentos de Frete.
  • Solicitação de coleta vinculada a uma cotação (DT5_NUMCOT diferente de 0).
  • Livros Fiscais (Valores dos componentes serão calculados sem impostos e não haverá TES configurada).
  • Cálculo de impostos.
  • Notas Fiscais de saída (SF2/SD2).
  • Registro a Receber (SE1).
  • Pedido de Compra. 

No Serviço de Negociação do Cliente (Contrato do Cliente), será criado um campo para definir o tipo de operação, quando a Negociação/Serviço for do tipo "Coleta" (DDA_TIPOPE, DDC_TIPOPE). Este campo será utilizado para indicar qual a Origem e Destino de cálculo na valorização da viagem de coleta.  

Quando a opção for "1-Somente Coleta", o sistema irá considerar como Origem de Cálculo a Origem do Cliente Remetente e/ou Solicitante, dependendo da configuração do campo "Local de Origem da Coleta" (DT5_CDRORI), e como Destino de Cálculo a Filial logada (MV_CDRORI). Se a opção for "2-Coleta com Entrega", o sistema irá considerar como Origem de Cálculo a Origem do Cliente Remetente e/ou Solicitante, dependendo da configuração do campo "Local de Origem da Coleta" (DT5_CDRORI), e como Destino de Cálculo o Destino do Cliente Destinatário (DT5_CDRDCA).

Todas as Solicitações de Coleta da viagem serão valorizadas, portanto:

  • Para as solicitações de coleta da viagem que receberam a ocorrência do Tipo "Retorna Documento" (DT2_TIPOCO=’4’), e/ou "Cancelamento de Coleta" (DT2_TIPOCO=’12’), a base para cálculo de frete estará na tabela DT5 e DUM.
  • Para as solicitações de coleta da viagem que receberam a ocorrência do Tipo "Encerra Processo", a base para cálculo do frete será na tabela DUA.
  • Para as solicitações de coleta da viagem vinculada a uma nota (DTC_NUMSOL), a base para cálculo do frete será na tabela DTC.

 

Abaixo informações dos campos e campos novos que serão criados: 

 

Tabela

Campos Tabela

Conteúdo

DTP – Lote

DTP_RATEIO

2=Não  

 

DTP_TIPLOT

5 (COLETA)

 

DTP_VIAGEM

DTQ_VIAGEM

 

DTP_QTDDIG

Qtde de Solicitações de Coleta na Viagem

 

DTP_QTDLOT

Qtde de Solicitações de Coleta na Viagem

 

STATUS

2 – Calculado (Fechamento da Viagem)

2 – Calculado (Encerramento da Viagem)

DT5 – Solicitação de Coleta

 

 

DTP_LOTE

 

DT5_KM

TMSDistRot()

 

DT5_LOCCOL

1-Solicitante

2-Remetente

 

Campos utilizados atualmente para efetuar o cálculo com base na tabela DTC – Entrada Documento de Cliente e referência para os campos da DT5- Solicitação de Coleta.  

 

 

Campos Tabela DTC

Campos para o Fechamento da Viagem e ou Ocorrencias

com Retorna Documento ou Cancelamento de Coleta

Campos para o Encerramento da Viagem

SC não vinculada a uma Nota  (DTC_NUMSOL=’’)

Campos para o Encerramento da Viagem

SC vinculada a uma Nota. (DTC_NUMSOL <> ‘’)

DTC_FILIAL

DT5_FILIAL

DT5_FILIAL

DT5_FILIAL

DTC_FILORI

DT5_FILORI

DT5_FILORI

DT5_FILORI

DTC_FILDPC

Vazio

Vazio

Vazio

DTC_FILCFS

Vazio

Vazio

Vazio

DTC_LOTNFC

DUD_LOTE

DUD_LOTE

DUD_LOTE

DTC_NUMNFC

DT5_NUMSOL

DT5_NUMSOL

DT5_NUMSOL

DTC_TIPNFC

1

1

1

DTC_SERNFC

COL

COL

COL

DTC_NUMCOT

Vazio

Vazio

Vazio

DTC_NUMSOL

Vazio

Vazio

Vazio

DTC_DOC

Vazio

Vazio

Vazio

DTC_SERIE

Vazio

Vazio

Vazio

DTC_CLIREM

DT5_CLIREM

DT5_CLIREM

DT5_CLIREM

DTC_LOJREM

DT5_LOJREM

DT5_LOJREM

DT5_LOJREM

DTC_CLIDES

DT5_CLIDES

DT5_CLIDES

DT5_CLIDES

DTC_LOJDES

DT5_LOJDES

DT5_LOJDES

DT5_LOJDES

DTC_CLIDEV

DT5_CLIDEV

DT5_CLIDEV

DT5_CLIDEV

DTC_LOJDEV

DT5_LOJDEV

DT5_LOJDEV

DT5_LOJDEV

DTC_CLICAL

DT5_CLIDEV

DT5_CLIDEV

DT5_CLIDEV

DTC_LOJCAL

DT5_LOJDEV

DT5_LOJDEV

DT5_LOJDEV

DTC_CLICON

Vazio

Vazio

Vazio

DTC_LOJCON

Vazio

Vazio

Vazio

DTC_CLIDPC

Vazio

Vazio

Vazio

DTC_LOJDPC

Vazio

Vazio

Vazio

DTC_SERTMS

1 – COLETA

1 – COLETA

1 – COLETA

DTC_SERVIC

DT5_SERVIC

DT5_SERVIC

DT5_SERVIC

DTC_TIPTRA

DT5_TIPTRA

DT5_TIPTRA

DT5_TIPTRA

DTC_DEVFRE

Remetente=Devedor–1
Devedor = Destinatario–2

Remetente=Devedor–1
Devedor = Destinatario–2

Remetente=Devedor–1
Devedor = Destinatario–2

DTC_TIPFRE

DT5_TIPFRE

DT5_TIPFRE

DT5_TIPFRE

DTC_CDRDES

DT5_CDRDCA

DT5_CDRDCA

DT5_CDRDCA

DTC_CDRCAL

DT5_CDRDCA

DT5_CDRDCA

DT5_CDRDCA

DTC_CDRORI

DT5_CDRORI

DT5_CDRORI

DT5_CDRORI

DTC_CDRPER

Vazio

Vazio

Vazio

DTC_SQEDES

DT5_SQEDES

DT5_SQEDES

DT5_SQEDES

DTC_SQICON

Vazio

Vazio

Vazio

DTC_SQIDES

Vazio

Vazio

Vazio

DTC_SQIDPC

Vazio

Vazio

Vazio

DTC_SQIREM

Vazio

Vazio

Vazio

DTC_CTRDPC

Vazio

Vazio

Vazio

DTC_CODPRO

DUM_CODPRO

DUM_CODPRO

DTC_CODPRO

DTC_BASSEG

DUM_BASSEG

DUA_BASSEG

DTC_BASSEG

DTC_KM

DT5_KM

DT5_KM

DTC_KM

DTC_METRO3

DUM_METRO3

DUA_MT3OCO

DTC_METRO3

DTC_PESO

DUM_PESO

DUA_PESOCO

DTC_PESO

DTC_PESOM3

DUM_PESOM3

DUA_PM3OCO

DTC_PESOM3

DTC_QTDUNI

DUM_QTDUNI

DUA_QTUOCO

DTC_QTDUNI

DTC_QTDVOL

DUM_QTDVOL

DUA_QTDOCO

DTC_QTDVOL

DTC_VALDPC

Vazio

Vazio

Vazio

DTC_VALOR

DUM_VALMER

DUA_VLROCO

DTC_VALOR

DTC_NFEID

Vazio

Vazio

Vazio

DTC_CTEANT

Vazio

Vazio

Vazio

DTC_RECNO

DT5_RECNO

DT5_RECNO

DT5_RECNO

DTC_RECISS

Vazio

Vazio

Vazio

DTC_PESLIQ

Vazio

Vazio

Vazio

DTC_MOEDA

Vazio

Vazio

Vazio

DTC_MOENFC

Vazio

Vazio

Vazio

DTC_EXCTDA

Vazio

Vazio

Vazio

DTC_NUMAGD

Vazio

Vazio

Vazio

DTC_ITEAGD

Vazio

Vazio

Vazio

 

 

3. Rateio (Serviços de Coleta, Entrega e Transferência)

Para simplificar esta documentação, seguem algumas definições:

  • Sempre que for citada uma “Viagem de Coleta” (*), deve-se assumir que o assunto também se refere a uma “Viagem de entrega com serviço adicional de coleta”.
  • Sempre que se falar de um documento de transporte (CT-e, NFST), estamos considerando que o serviço de transporte poderá ser 2-Transporte ou 3-Entrega.
  • Será possível iniciar a inclusão de uma viagem sem preencher o campo da rota e nesta situação, o sistema utilizará o conceito de roteiros que possibilita a obtenção automática de uma ou mais rotas que atendam aos documentos da viagem. Este processo está sendo tratado no documento de “Viagem de Coleta”.
  • Quando a viagem for iniciada com o campo da rota preenchido, o sistema verificará se ela utiliza roteiros ou então zonas, setores e pontos por setor. Se for baseada em zonas, setores e pontos por setor, o sistema utilizará os critérios de validação documento a documento, contudo verificará se algum dos documentos possui critérios de rateio baseados em origem/destino, e em caso afirmativo, o sistema também direcionará para a utilização de rotas com roteiros. Se a rota informada na viagem for baseada em roteiro, o sistema não efetuará validação documento a documento e prosseguirá com a inclusão da viagem analisando os possíveis roteiros que atendem aquela viagem. Este processo está sendo tratado no documento de “Viagem de Coleta”.
  • Na inclusão de uma viagem com conceito Express, a rota será obrigatória e deve ser do tipo Zonas, Setores e Pontos por Setor e portanto não poderão ser utilizadas negociações e/ou serviços baseados em critérios de rateio Origem/Destino/Vge.

 

Segue detalhamento das novas funcionalidades: 

3.1- Componentes de Frete

Em Componentes de Frete, serão feitas as seguintes implementações:

1.1) O campo “Calc Sobre” (DT3_TIPFAI) passará a ter uma nova opção chamada 16-Herda Valor. Um componente de frete criado com esta configuração, no momento do cálculo do frete a receber, herdará o valor de outros componentes. Estes “outros componentes”, serão gravados na nova tabela que se chamará “DJE-Componentes Herdados.”

A rotina “Componentes de Frete” deverá ser atualizada de forma que, ao se efetuar algum tipo de manutenção (inclusão, alteração, exclusão ou visualização) em um componente do tipo “16-Herda Valor”, o sistema habilite o preenchimento da nova tabela “DJE-Componentes Herdados”, onde será possível relacionar no mínimo um componente a receber, não poderão ser relacionados componentes que também tenham o campo “Calc Sobre” preenchido com “16-Herda Valor”, e nem aqueles que são considerados como componentes específicos para tabelas de frete a pagar.

Não será necessário efetuar validações na Configuração da Tabela de frete (tabela entrega/transferência), pois os valores dos componentes herdados existirão somente na tabela de coleta.

1.2) O campo “Calc Sobre” (DT3_TIPFAI) passará a ter uma nova opção chamada “17-Taxa por Devedor por Lote”. Um componente de frete criado com esta configuração, no momento do cálculo do frete a receber, verificará quantos documentos de transporte serão gerados em um único lote para o mesmo pagador, e cobrará a respectiva taxa somente no primeiro documento de transporte gerado no respectivo lote. Será permitido criar sub-faixas para este tipo de componente.

O conceito deste componente visa atender às transportadoras que trabalham com componentes conhecidos como “Bandeirada” (um único valor por devedor por lote).

1.3) Especificamente para o componente que calcula sobre “09-Praça de pedágio”, deverá ser acrescentada a seguinte regra no cálculo do frete: Se o componente calcula sobre “Praça de Pedágio”, o cálculo que está sendo feito é de coleta ou entrega/transferência, o lote que está sendo calculado está configurado com critérios de rateio especificamente para os casos onde “Critério Calc Ra” esteja preenchido com “Orig/Dest/Vge”, o sistema deverá obter a rota do roteiro vinculado ao respectivo lote e não mais pela rota da viagem.

3.2- Configuração de Tabela de Frete

Nesta rotina será implementada uma validação para que não seja permitido configurar um componente que “calcula sobre” Herda Valor como “Rateio = sim”. Esta validação é necessária pois, para um rateio na entrega, o custo de uma coleta não deve ser rateado em outras coletas que porventura nem sejam do mesmo cliente.

3.3- Tabela de Frete

Nesta rotina será implementada uma validação para que os componentes que calculam sobre “17-Taxa por Devedor por Lote”, só possuam uma faixa fixa com conteúdo 99.999.999.999,99 não alterável, e a fração não será apresentada.

3.4- Contrato de Cliente

Para valorizar a coleta é necessário configurar campos no Contrato do Cliente:

  • Tipo de operação de um Serviço (DDC/DDA) de coleta (DDA/DDC_TIPOPE): Será a partir do conteúdo deste campo, que o sistema identificará a região de origem e de cálculo para a valorização de uma coleta.

Importante:

Como exceção a esta regra, o sistema obterá as regiões de origem e cálculo do “roteiro do pagador” nas situações onde a “Rota automática” seja utilizada e o “Crit.Calc.Rat” esteja preenchido com “Orig/Dest Vge”.

Este novo campo poderá ser preenchido com as seguintes opções:

  • Não Utiliza – Para serviços diferentes de Coleta.
  • Somente Coleta – Para as operações onde o percurso será do local de coleta até a filial emitente da solicitação de coleta.
  • Coleta com Entrega – Para as operações onde o percurso será do local de coleta até o local de entrega. 
  • Valoriza coleta não realizada (DDC/DDA): A partir deste campo, o sistema controlará se o cliente pagador efetua ou não pagamento para coletas não realizadas. Será possível preencher com 0=não utiliza (DDA), 1=Sim (DDA/DDC), 2=Não (DDA/DDC). No Fechamento da Viagem, este campo não será levado em consideração e serão valorizadas todas as coletas que possuam um Serviço de Negociação de Coleta. No Encerramento da Viagem, o sistema considerará o conteúdo deste campo para a valorização final de cada uma das solicitações de coleta. Se o cálculo do frete envolver Rateio, o sistema deve valorizar a viagem considerando todas as solicitações de coleta independente da ocorrência recebida e, na proporcionalização dos valores, o sistema deve efetuar o tratamento conforme o conteúdo deste novo campo. 

Neste requisito serão criados os seguintes novos campos nas tabelas DDC/DDA.

Devedor Faltante no Rateio por % Fixo (DDA_CRDVFA): Para os casos onde o “Critério Rateio” (DDA/DDC_PRORAT), estiver preenchido com a opção “A=%Fixo”, será necessário identificar a forma de proporcionalizar o percentual de um cliente que porventura não faça parte da viagem, mas esteja configurado como possível participante da viagem.

Esta situação poderá ocorrer tanto na validação dos documentos de coleta quanto nos documentos de transporte (*).

Este novo campo poderá ser preenchido com as opções:

0 - Não utiliza: Se o campo da DDA - Serviço de negociação estiver preenchido com 0, indica que o sistema deve buscar a mesma informação na tabela DDC-Negociação. Na tabela DDC - Negociação não deve ser possível escolher a opção 0.

1 - Divisão aritmética: Nesta opção o sistema obtém o percentual do cliente que não pertence à viagem, e divide igualmente entre os devedores que fizeram parte da viagem.

2 - Divisão proporcional: Nesta opção o sistema obtém o percentual do cliente que não pertence à viagem, e divide proporcionalmente entre os devedores que fizeram parte da viagem.

Critério Proporção de um Valor para Vários documentos de transporte (DDA_CRDVDC): Indica como o sistema deverá proporcionalizar um valor único, obtido por meio de um critério de % FIXO (DDA/DDC_PRORAT="A") entre diversos documentos de transporte do mesmo devedor (cliente e loja), gerados dentro de um lote de rateio. Será possível escolher as seguintes opções: peso real, peso cubado, valor mercadoria, volumes, m3, qtde Doctos. Este campo será de preenchimento obrigatório sempre que o critério de rateio seja baseado em % FIXO.

Exemplo: Para os casos onde o critério de rateio (proporcionalização) for baseado em % FIXO e, para o mesmo devedor (cliente e loja), o sistema gerar diversos documentos de transporte, o sistema irá proporcionalizar o valor de cada componente com rateio entre os documentos utilizando o critério selecionado.

Critério Proporção de um componente que calcula sobre “Herda Valor” para vários documentos de transporte (DDA/DDC_CRDVHV): Indica como o sistema deverá proporcionalizar o valor de um componente que calcula sobre “Herda Valor” (DT3_TIPFAI=16), entre diversos documentos de transporte gerados dentro de um lote seja de rateio ou não, para a mesma Solicitação de Coleta. Será possível escolher as seguintes opções: peso real, peso cubado, valor mercadoria, volumes, m3, qtde Doctos.

Exemplo: Quando uma solicitação de coleta estiver valorizada e no momento da geração dos documentos de transporte, o sistema gerar diversos documentos para ela, especificamente para os componentes do tipo “16-Herda Valor”, o sistema irá proporcionalizar o valor da solicitação de coleta entre os diversos documentos de transporte conforme o critério selecionado.

Componente de Rateio Obrigatório (DDA/DDC_CMPOBR): Permite configurar a obrigatoriedade de valorização de um componente configurado como rateio igual a "Sim", caso no cálculo do frete de um lote de rateio o seu valor fique zerado.

Por exemplo, se um Documento (NF ou SC) sem o informe da base (exemplo KM), que será utilizada para o rateio o valor do componente ficar zerado. Por meio deste campo, será possível decidir se o valor sera mantido zerado ou passará a ser obrigatório.

 

Também serão disponibilizadas novas opções de configuração para o “Crit. Calc. Ra” e para o “Critério Rat”, conforme detalhes abaixo:  

 

Campos 

Opções de preenchimento

Detalhes

Base Calc Ra

1-Não utiliza

2-Ponto a ponto

3-Consolidado

Informações adicionais:

1) Até a elaboração desta especificação quando a coluna Base Calc Ra estava preenchida com 2-Ponto a Ponto e a coluna Crit Calc Ra estava preenchida com “orig/dest”, o sistema  não permite o preenchimento da coluna “Critério Rateio” (ALIAS_PRORAT). Desta forma, quando selecionada esta opção, o sistema efetua o cálculo conforme configurado, mas não efetua a proporcionalização do valor.

Critério Calc.Rat

Entende-se como sendo

“Critério Calc.Rat” a

configuração que indicará ao SIGATMS como será definido o Critério de Cálculo para Base do Rateio.

 

A-Orig/Dest Vge

 

A opção “Orig/Dest/Vge” estará disponível somente quando “Base Calc Ra” estiver preenchida com 3-Consolidado. Na opção 3-consolidado, o sistema efetuará o cálculo pela somatória das informações (volume, peso, valor da mercadoria) de todos os documentos que fazem parte do mesmo rateio, baseado na origem x destino do roteiro do respectivo pagador (dentro da viagem). O valor obtido será utilizado para efetuar a proporcionalização.

O cálculo do frete baseado nesta opção, utilizará os dados de origem, destino e quilometragem conforme o Roteiro do Pagador. A funcionalidade é semelhante a opção 2=Orig/Dest, porém, o que difere é que para os componentes que calculem sobre KM, a base para cálculo deste componente será a quilometragem do roteiro (conteúdo do campo DTP_KM), e não por meio da soma de cada uma das quilometragens dos documentos contidos no lote. Porém, o valor será proporcionalizado conforme quilometragem informada para cada documento (DTC_KM ou DT5_KM).

Exemplo: KM do Roteiro = 170. Supondo que o lote tenha 3 Notas e/ou Solicitações de Coleta, o sistema calculará o valor proporcionalmente à distância de cada uma das Notas e/ou Solicitações de Coleta.

O critério de rateio “A=Orig/Dest Vge”, poderá ser utilizado quando estiver sendo utilizado Painel de Agendamento, Programação de Carregamento, Viagem de Coleta ou Viagem de Entrega com serviço adicional de coleta pois, para este tipo de critério será utilizada a quilometragem do percurso da rota, e somente nos processos acima, teremos a Rota para efetuar o calculo do frete.

 

 

B-Maior Peso Previsto

 

 

 

Conceitualmente temos:

  • Peso Previsto: Peso da solicitação de coleta.
  • Maior peso previsto: Maior peso entre o Peso real (DUM_PESO) e o Peso Cubado (DUM_PESOM3). Deve ser levada em consideração a possibilidade de existirem diversos produtos (DUM) para uma solicitação de coleta (DT5).
    O cálculo do frete baseado nesta opção necessitará que seja obtido o maior peso previsto. Conceitualmente o peso previsto será sempre o da Solicitação de Coleta. Para o frete de entrega/transferência, o sistema deve identificar se o documento (DTC) está vinculado à solicitação de coleta (DTC_NUMSOL) e, em caso positivo obter o peso previsto. Como o peso na solicitação de coleta não é obrigatório, deve-se considerar a possibilidade de que todas as solicitações de coleta estejam com peso zerado e, neste caso o cálculo do frete não será efetuado para nenhum dos componentes.

 

 

C-Maior Peso Previsto x Realizado

Conceitualmente temos:

  • Peso Previsto: Peso da solicitação de coleta.
  • Maior peso previsto: Maior peso entre o Peso real (DUM_PESO) e o Peso Cubado (DUM_PESOM3). Deve ser levada em consideração a possibilidade de existirem diversos produtos (DUM) para uma solicitação de coleta (DT5).
  • Peso Realizado da Coleta: Peso da Ocorrência (DUA).
  • Maior peso Realizado Coleta: Maior peso da Ocorrência (DUA), sendo que a comparação deve ser feita entre os campos, “Peso Ocorre” (DUA_PESOCO) e o “Pes.Cub.Ocor” (DUA_PM3OCO). Para garantir que existam informações na DUA, a viagem de coleta deverá estar encerrada.
  • Peso Realizado da Entrega: Peso do Documento do Cliente (DTC).
  • Maior peso Realizado Entrega: Maior peso entre o Peso real (DTC_PESO) e o Peso Cubado (DTC_PESOM3). Deve ser levada em consideração a possibilidade de existirem diversos produtos para o mesmo documento do cliente (DTC).

Neste critério de cálculo para cada documento, o sistema buscará o maior “Peso Previsto” (comparação entre o “Peso Real” e o “Peso cubado”), o maior “Peso Realizado” (comparação entre o “Peso Real” e o “Peso cubado”) e, em seguida, será identificado o maior peso entre os maiores pesos “Previsto” e o “Realizado”. Uma vez analisados todos os documentos pertencentes ao rateio, cada um deles terá o seu maior peso e o sistema utilizará o maior deles para efetuar o cálculo.

Campos 

Opções de preenchimento

Detalhes

Critério Rateio

Detalhes conforme Alias_PRORAT

Entende-se como sendo “Critério Rateio”

a configuração que indicará ao SIGATMS

como será calculado o proporcionamento

(rateio) do valor base para cada um dos documentos da  do lote ou da viagem.

A-% Fixo

Esta opção só estará disponível quando a “Base Calc.Rat” estiver preenchida com consolidado.

Este critério de proporcionalização definirá uma % de frete para cada devedor. Só será permitido escolher esta opção, se a abrangência do contrato do cliente for “por cliente”.

Uma vez selecionada esta opção, o sistema abrirá uma nova tela (conforme modelo abaixo) para que sejam preenchidos os percentuais de cada devedor.

As informações contidas nesta tela serão gravadas na tabela DDP - Clientes com Percentual Fixo e terão as seguintes validações:

  • O campo do código do devedor (Cod Dev), será preenchido automaticamente com o código do cliente do contrato (AAM_CODCLI) e não poderá ser alterado. A loja daquele código de cliente poderá ser selecionada (validando a existência no SA1 - Cadastro de clientes). O nome do cliente deve ser gatilhado.
  • A coluna % poderá ser preenchida com qualquer valor entre 1 e 100, contudo ao confirmar a tela, o sistema deve permitir gravar somente se a somatória dos percentuais for exatamente 100%.
  • Para os rateios de entrega/transferência o sistema validar.
 

B- Peso Previsto

Conceitualmente temos que o Peso Previsto é o peso da solicitação de coleta, portanto, tanto para o cálculo das coletas quanto para os documentos de transporte (cte, nfst, entre outros), o sistema proporcionará os valores de acordo a proporção calculada em relação ao peso previsto.

Para proporcionar o peso previsto, o sistema deve obter o maior peso de cada documento (comparar entre o Peso real (DUM_PESO) e o Peso Cubado (DUM_PESOM3), efetuar a somatória dos maiores pesos obtidos, e em seguida calcular a proporção de cada maior peso em relação ao total. A partir da proporção, calcular o valor do componente proporcional para cada Solicitação de coleta.

 

C- Peso Previsto X Realizado.

 

Conforme descrito acima (Critério Calc.Rat), conceitualmente temos as definições de Peso Previsto (Solicitação de coleta) ou Peso realizado (Ocorrências-Coleta ou Documento do cliente-Documento de transporte). Para proporcionalizar, o sistema deverá identificar o maior peso de cada documento, efetuar a somatória deles e, em seguida efetuar o rateio dos valores entre os documentos proporcionalmente ao próprio peso.

No exemplo abaixo, temos um rateio de coleta onde foi identificado o maior peso de cada Solicitação de Coleta (4, 12, 18) e obtida a sua somatória (34). Foi identificada qual a proporção de cada peso (4, 12, 18) em relação ao total (34) e em seguida utilizado este percentual para calcular o rateio do valor (R$ 500,00).

 

 

D=Qtde de coletas

Este critério de proporcionalização só poderá ser selecionado se o serviço do contrato (DDA) for de coleta.

Exemplo: Em uma viagem de coleta onde o a valorização da coleta será por rateio e o critério de proporcionalização for por “quantidade de coletas”, o sistema deve considerar a quantidade das coletas realmente realizadas, ou seja, aquelas que receberam uma ocorrência do tipo "Encerra processo" e dividir o valor do frete igualmente entre elas.

 

 

8=Qtd.Doc.Cliente

9=Qtd.Doc.Transp

As opções 8 e 9 não poderão ser selecionadas se o Serviço for de Coleta.

No contrato do cliente, com o Serviço de Negociação de Cliente ativo, a configuração do Rateio de Frete será baseada primeiramente na Tabela DDA – Serviços de Negociação do Cliente e posteriormente na Tabela DDC – Negociação do Cliente, ou seja, quando a base de critério de rateio do Serviço de Negociação (DDA) estiver configurada como "Não Utiliza", o sistema irá buscar o critério de rateio da Negociação do Cliente (DDC). 

 

3.5- Ocorrências

No Apontamento de Ocorrências (“DUA-Ocorrências”), foram criados campos que serão necessários o preenchimento para a valorização da coleta tais como: Valor da mercadoria, Peso cubado, M3.

Onde existir tratamento para o apontamento de ocorrências do tipo “Retorna documento” ou “Cancelamento de coleta”, não estarão sendo avaliadas as responsabilidades pela ocorrência.

 

3.6- Solicitação de Coleta

Conforme mencionado anteriormente, foram criados novos campos na tabela DT5 / DUM / DUD, conforme abaixo:

  • “Lote” (DUD_LOTE): Neste campo será gravado o número do lote, onde a respectiva solicitação de coleta será calculada.
  • “KM (DT5_KM): Neste campo será gravada a quilometragem relativa ao percurso da solicitação de coleta, conforme configurado no serviço de negociação selecionado por intermédio do campo “Tipo de operação de um Serviço (DDC) de coleta”. Esta distância será obtida por meio do cadastro de distâncias DVA - Distância ou DVZ - Distância por Cliente.
  • “M3” (DUM_METRO3): Neste campo o usuário poderá digitar a quantidade de M3 da respectiva solicitação de coleta.

 

3.7 - Lotes

Neste requisito, serão tratadas a criação de alguns novos campos e o detalhamento está no item 3.8.1.c no bloco “Efetuar a gravação da tabela DTP-Lotes”.


3.8 - Painel de Agendamento:

Seguem os detalhes da valorização da coleta por intermédio do uso do Painel de agendamento.

Pré-requisito:

Para que seja possível valorizar a coleta com critérios de rateio é necessário cadastrar os componentes, configurar as tabelas de frete, criar serviços de coleta e configurar o contrato de cliente incluindo os serviços de coleta com a respectiva configuração dos critérios de rateio. 

 

3.8.1) Valorização da coleta com critério de rateio.

3.8.1.a) Inclusão da viagem de coleta (*)

Uma vez que os Agendamentos sejam incluídos, os usuários preencherão as Negociações e Serviços de Coleta. Na confirmação dos Agendamentos, as Solicitações de Coleta serão geradas. Com os agendamentos marcados pode-se incluir a viagem de Coleta (*).

Ao clicar na opção de inclusão da viagem de coleta (*), após optar pela gravação da viagem, o sistema irá executar uma funcionalidade que montará um array contendo os agendamentos marcados, e chamará a funcionalidade “Pagadores de frete”, que pertence a outro requisito (PCREQ-137 - Melhorias no Painel de Agendamento – rotina TMSAF79).

A funcionalidade “Pagadores de frete”, efetuará uma análise dos agendamentos e apresentará uma tela com as inconsistências. O usuário poderá efetuar alterações nas negociações e/ou serviços apresentados nesta tela a fim de eliminar as inconsistências. Nesta tela constarão diversas informações, entre elas: código do devedor, loja do devedor, serviço, negociação, rateio S/N, a fim de que o usuário identifique o que pode ter gerado a inconsistência. Será permitido que o usuário efetue alterações e confirme ou cancele a execução da rotina. Na confirmação das alterações pelo usuário, a própria rotina de Pagadores, deverá efetivar as respectivas alterações nas tabelas de Agendamento (DF0, DF1, entre outros), Solicitação de coleta (DT5). Se as inconsistências não forem resolvidas, será permitido que o usuário cancele o processo. Ao término da execução da funcionalidade de “Pagadores” e, uma vez que seja permitido que se continue o processo, será criada a quantidade necessária de lotes e também serão identificadas as solicitações de coletas que devem ou não ser calculadas. De posse destas informações, a rotina da viagem deve acionar a funcionalidade “Rota Automática”.

A rotina de “Rota automática”, desenvolvida por intermédio de outro requisito (PCREQ-137-Melhorias no Painel de Agendamento – rotina TMSAF10 função TMF10RTVGE), especificamente para este requisito será responsável por gravar os roteiros (por viagem e por pagador), e fornecer as informações relativas à origem, ao destino e a quilometragem para que elas sejam gravadas nos respectivos lotes de rateio.

Na inclusão da viagem o “Painel de agendamento” executará as rotinas de “Pagadores” e “Rota automática” para checagem das informações, alterações das inconsistências, ou seja, uma pré-validação das informações que estarão sendo digitadas pois de fato, os lotes de coleta ainda não serem gravados fisicamente, o que ocorrerá somente a partir do fechamento da viagem.

 

3.8.1.b) Alteração da viagem.

Uma vez que a viagem de Coleta (*) com status “Em aberto” seja alterada, a rotina da viagem deve executar novamente as rotinas de “Pagadores de frete” e “Rota Automática”, a fim de que as novas informações sejam validadas exatamente conforme foi detalhado no item “a”.

Para os casos de inclusão de solicitações de coleta em viagens que estejam com status “Em trânsito”, a rotina da viagem deve executar as rotinas “Pagadores de frete” e “Rota automática” com objetivo de:

a) Obter as informações relativas a origem, destino, KM, a fim de que sejam gravadas nos lotes de rateio.

b) Obter o número do lote que deverá ser gravado na respectiva solicitação de coleta.

c) Gerar um novo ponto de passagem da viagem (DTW-Operações).

d) Atualizar o Roteiro Geral da Viagem e os Roteiros específicos por pagador.

Vale ressaltar que nesta situação não ocorrerá o recálculo dos valores, e portanto será mantido aquele que foi realizado no Fechamento da Viagem. Caso seja sugerido que o novo documento seja vinculado a um lote já criado anteriormente no fechamento da viagem, o sistema irá verificar se porventura já existe um Lote (entrega ou transferência) gerado para ele. Se existir e ele não estiver calculado, o processo poderá ser mantido. Se existir e ele estiver calculado, o sistema não irá incluí-lo no mesmo lote, pois desta forma, seu valor seria desprezado e neste caso, a rotina de Pagadores irá criar um novo lote.

 

3.8.1.c) Fechamento de viagem

Ao efetuar o fechamento da viagem de coleta (*), deverá ser implementada neste requisito a chamada das rotinas de “Pagadores” e de “Rota automática” com a finalidade de executar as ações descritas abaixo, contudo não serão apresentadas telas.

Efetuar a gravação da tabela DTP-Lotes: A rotina “Pagadores de frete”, devolverá as informações relativas aos lotes gerados conforme detalhes no quadro abaixo. As solicitações de coleta que fazem parte de um mesmo critério de rateio, farão parte de um único lote. As que não estão vinculadas a um critério de rateio serão vinculadas a outro DTP - Lote. Em ambos os casos o número do lote deve ser gravado no campo “Lote” (DUD_LOTE). A existência de um DTP - Lote é necessária para se manter a integridade na rotina Cálculo do Frete (TMSA200). A rotina de “Pagadores de frete” identificará os documentos que não possuam código de negociação e serviço, pois os mesmos não serão calculados na coleta e portanto não serão vinculadas a nenhum lote. A rotina de “Rota automática” devolverá as informações relativas à região de origem, à região de destino e quilometragem, para que as respectivas informações sejam preenchidas nos lotes.

Segue o detalhamento para gravação da tabela DTP - Lotes, relativa aos lotes do tipo “Coleta”: 

 

Campos tabela DTP

Conteudo

DTP_ORIRAT

Se o critério de rateio (Alias_CRIRAT) estiver configurado como "A=Orig/Dest Vge" ou utilizando o processo de Rota Automática, neste campo será gravada a Região de Origem obtida por meio da rotina de Roteiro da Viagem.

DTP_CALRAT

Se o critério de rateio (Alias_CRIRAT) estiver configurado como "A=Orig/Dest Vge" ou utilizando o processo de Rota Automatica, neste campo será gravada a Região de Origem obtida por meio da rotina de Roteiro da Viagem.

DTP_NCONTR

Número do contrato do cliente pagador do frete.

DTP_KM

Este campo será considerado para base de cálculo do frete do KM desde que o critério de rateio (Alias_CRIRAT) esteja configurado como “A=Orig/Dest Vge”.

Atenção: Para os documentos de coleta que estão vinculados a um critério de rateio será gravado um lote, e para os demais documentos de coleta da mesma viagem que não estejam vinculados a um critério de rateio teremos um outro lote. Portanto para o lote cujo DTP_RATEIO=NÃO, não será necessário

gravar as informações relativas a Origem, Cálculo e Quilometragem já que elas não serão utilizadas para o cálculo.

DTP_TIPLOT

5-coleta

 

Cálculo de valores previstos: Neste requisito, será implementada a funcionalidade de executar a rotina Cálculo do Frete (TMSA200) para valorizar as coletas (detalhamento no encerramento da viagem), assim que os lotes tenham sido gravados e atualizados com as informações da viagem (origem, destino, quilometragem). Como no fechamento da viagem existem somente os valores previstos, o sistema deve utilizar como base para o cálculo dos componentes, os valores (peso, volume, valor da mercadoria) informados na Solicitação de Coleta. Uma vez que o cálculo do frete tenha sido efetuado, o sistema efetuará a gravação na tabela DT8 - Componentes e atualizará os valores da tabela DT6 - Documento de Transporte. Caso ocorra algum fator que impeça o cálculo do frete (Exemplo: Valor do frete zerado), o sistema apresentará informações na tela para que o usuário possa tomar as providências necessárias. O sistema só permitirá fechar a viagem se todas as coletas com serviço de negociação preenchido estiverem calculadas. Este processo visa eliminar as inconsistências cadastrais no momento em que ainda é possível efetuar alterações na viagem, ou seja, antes do fechamento da respectiva viagem. Caso não seja possível fechar a viagem, não serão gravados os lotes e nem as informações relativas aos cálculos já efetuados.


3.8.1.d) Estorno do Fechamento de viagem

Ao efetuar o estorno do fechamento da viagem de coleta (*), o sistema deverá excluir os respectivos registros da tabela de Lote (DTP), deverá apagar o conteúdo do campo DUD_LOTE e também deverá excluir os registros de valorização da tabela DT8 - Componentes, bem como apagar os valores gravados na DT6 - Documentos de transporte.

Será implementada uma validação para verificar se as solicitações de coleta que possuírem serviço de negociação preenchido, não estejam vinculadas a um documento de cliente (DTC_NUMSOL) que já esteja com o documento de transporte gerado (DTC_FILDOC+DTC_DOC+DTC_SERIE preenchidos). Caso exista alguma solicitação de coleta nesta situação, não será permitido efetuar o estorno do fechamento da viagem e o sistema deverá apresentar informações para que o usuário identifique e tome as devidas providências, estornando o documento gerado, se assim for o caso.

 

3.8.1.e) Apontamento de Operações.

Os apontamentos deverão ser efetuados pelos usuários. Caso a Viagem de Coleta (*) seja alterada enquanto ela está com status “Em trânsito”, o sistema se comportará conforme descrito no item “b-Alteração da viagem”.

 

3.8.1.f) Apontamento de Ocorrências.

Cada um dos documentos da Viagem de Coleta (*) deve receber uma ocorrência conforme as regras básicas do TMS. Para os casos onde o usuário efetue o lançamento das notas fiscais antes do apontamento das ocorrências, o sistema poderá lançar as ocorrências automaticamente por meio da configuração dos parâmetros MV_OCORCOL ou MV_OCORCAN.

 

3.8.1.g) Encerramento da viagem. 

Uma vez que as validações da rotina Encerramento de Viagem (TMSA350) indiquem que o encerramento da viagem de coleta (*) é permitido, será executada a rotina de Pagadores de Frete para identificação dos lotes que deverão ser calculados.

Serão implementadas as seguintes funcionalidades:

Execução do cálculo do frete para os lotes que são de rateio (DTP_RATEIO = 1-Sim): Será desenvolvida a funcionalidade que buscará cada um dos lotes de rateio (DTP_RATEIO=1=Sim) da viagem, e executará a rotina Cálculo do Frete (TMSA200) para valorização das coletas. Como no encerramento da viagem, o sistema já possui as informações reais (peso, peso cubado, volume, valor da mercadoria) a serem consideradas como base para o cálculo, o sistema poderá buscar as informações da DTC - Documentos de clientes (caso as notas fiscais da respectiva solicitação de coleta já tenham sido digitadas), ou da DUA - Ocorrência (caso as notas fiscais da respectiva solicitação de coleta não tenham sido digitadas). Para o cálculo do valor a ser rateado, o sistema também deverá considerar aquelas solicitações, que tenham recebido ocorrências do tipo “retorna documento” ou “cancelamento de coleta” e para estes casos, o sistema deve ainda utilizar as informações da própria Solicitação de Coleta.

Para a valorização das Solicitações de coleta que pertencem a um lote de rateio deve-se considerar os seguintes passos:              

Valorização da viagem (identificação do valor a ratear): Para os lotes configurados para rateio, para efetuar o cálculo do valor a ser rateado, o sistema deve considerar todas as solicitações de coleta que estiverem no mesmo lote, inclusive aquelas que tenham recebido ocorrências do tipo “retorna documento” ou “cancelamento de coleta”.

Proporcionalização do valor: Uma vez obtido o valor do lote (considerando todas as solicitações de coleta e conforme os critérios de cálculo), o valor obtido deverá ser rateado entre as solicitações de coleta que receberam ocorrências de coleta do tipo “encerra documento”, e também aquelas que receberam as ocorrências do tipo “retorna documento” ou “cancelamento de coleta” (*1), desde que os respectivos clientes devedores estejam configurados como “Valoriza coleta não efetuada” = 1 - Sim.

Observação (*1): Para os clientes configurados como “Valoriza coleta não efetuada” = 1 - Sim, os valores calculados serão mantidos, pois poderão ser utilizados para consulta do usuário, que poderá optar pela cobrança manual do cliente gerando um novo documento de transporte, conforme as regras fiscais e/ou comerciais definidas pela própria Transportadora. Para os clientes configurados como "Valoriza coleta não efetuada” = 2 - Não, o valor da respectiva solicitação de coleta ficará zerado, contudo o valor total calculado para o respectivo lote/pagador, foi rateado para as demais solicitações de coleta.

 

  • Resumo dos principais pontos para cálculo do frete coleta baseado em rateio: 

Base de cálculo do rateio (DDA/DDC_BACRAT)

Critério de cálculo para rateio (DDA/DDC_CRIRAT)

Proporcionalização dos valores por documento (DDA/DDC_PRORAT)

Se a Base é “Ponto a ponto”, cada uma das solicitações serão calculadas conforme as suas próprias informações (volume peso valor).

O sistema identificará qual será o valor a ser rateado, podendo ser, por exemplo, aquele de maior peso, ou de maior km, entre outros.

A partir do valor calculado final, o sistema efetuará a proporcionalização dos valores entre os documentos do lote e, para que isto seja possível escolherá um dos critérios que pode ser por KM, por % Fixo, entre outros.

Se a Base é “Consolidado”, o sistema efetuará o cálculo do frete considerando a somatória das informações (volume, peso, valor da mercadoria) das solicitações de coleta que constem no lote. 

O sistema identificará qual será o valor a ser rateado, podendo ser, por exemplo, aquele de maior peso, ou de maior km, entre outros.

A partir do valor calculado final, o sistema efetuará a proporcionalização dos valores entre os documentos do lote e, para que isto seja possível escolherá um dos critérios que pode ser por KM, por % Fixo, entre outros.

 

Caso ocorra alguma inconsistência que impeça o cálculo do frete (Exemplo: Valor do frete zerado), o sistema deve apresentar mensagem na tela informando a inconsistência.

Na valorização da coleta, não serão calculados os componentes nos quais o campo "calcula sobre" esteja preenchido com:

  • 06 - Frete Despachante.
  • 07 - Valor Informado.
  • 16 - Herda valor.

Regras a serem consideradas durante o cálculo dos componentes:

  • Dentro da mesma “Configuração de tabela de frete”, é possível que existam componentes que devem ser rateados e outros que não devem ser. Esta regra também deve ser mantida para a valorização da coleta. Para os componentes não rateados considera-se o “calcula sobre” com base nas informações (volume, peso, valor da mercadoria) do próprio documento, e portanto cada solicitação de coleta terá seu componente calculado como se fosse um único documento. Como exceção temos o componente que calcula sobre “praça de pedágio” pois, nos casos onde ele for configurado para não ser rateado o padrão do TMS, já obtém o valor conforme a rota da viagem x praças de pedágio, e efetua o vínculo somente no primeiro documento do pagador dentro do mesmo lote, ou seja, para os demais documentos do lote que sejam do mesmo pagador o valor do respectivo componente ficará zerado.
  • Na valorização das coletas para os componentes que possuem um “tipo de veículo” vinculado, será necessário verificar o(s) tipo(s) de veículo(s) informado(s) na solicitação de coleta, tanto para o cálculo “previsto” (fechamento da viagem) quanto para o “realizado” (encerramento da viagem).

 

Efetivação do Encerramento da viagem coleta (*)

Uma vez que todos os lotes de coleta estejam com status “calculado”, o sistema irá permitir o encerramento da viagem. Somente serão calculadas as solicitações de coleta que estiverem vinculadas a um serviço de negociação.


3.8.1.h) Estorno do Encerramento da viagem. .

Rotina executada conforme detalhes da Valorização da Coleta.

Será implementada uma validação para verificar se as solicitações de coleta que possuírem serviço de negociação preenchido, já estão vinculadas a um documento de cliente (DTC_NUMSOL) que já esteja com o documento de transporte gerado (DTC_FILDOC+DTC_DOC+DTC_SERIE preenchidos), e que tenha sido usado no cálculo do frete (entrega/transferência) um componente do tipo "16-Herda valor". Caso exista alguma solicitação de coleta nesta situação, não será permitido efetuar o estorno do encerramento da viagem, e o sistema irá apresentar informações para que o usuário identifique e tome as devidas providências, como o estorno do documento calculado se assim for o caso.


3.8.2) Geração dos documentos de transporte (CT-e, NFST-e) com herança dos valores da coleta.

Uma vez que os agendamentos marcados tenham suas solicitações de coleta em viagens de coleta (*) já encerradas, e seja selecionada a opção Incluir da pasta “NF Cliente”, o sistema efetuará a abertura da tela do DTC - Documento de Cliente com as informações já preenchidas, inclusive o número da Solicitação de Coleta. Para os casos onde a criação do lote é automática, o Painel de Agendamento verificará se os serviços de negociação de entrega (preenchidos nas solicitações de coleta) estão vinculados a critérios de rateio e, em caso positivo o lote criado será configurado como Rateio = Sim.

O usuário efetuará a digitação das informações faltantes e necessárias para confirmar a gravação do registro. Neste momento será necessário que esteja preenchido um serviço de negociação independente do serviço de transporte.

Uma vez que a rotina Cálculo do Frete (TMSA200) seja acionada (manual ou automaticamente), o sistema iniciará o processamento padrão de validação, ordenação e iniciará o cálculo. O cálculo do frete (entrega/transferência) só será permitido se as notas que estão sendo calculadas não possuírem componentes do tipo "16-Herda Valor" ou caso tenham, se estiverem vinculadas as solicitações de coleta que tem serviço de negociação preenchido, e que pertençam as viagens de coleta já encerradas. Também será permitido calcular o frete se a nota fiscal não estiver vinculada a uma solicitação de coleta. Em relação aos lotes criados automaticamente, a rotina do Painel de Agendamento analisará os agendamentos marcados para identificar quantos e quais lotes deverão ser abertos. Se existirem serviços de negociação (entrega/transferência) que indiquem critérios de rateio, o lote criado automaticamente deverá ser do tipo Rateio = 1 - Sim. Caso contrário, deverá ser do tipo Rateio = 2 - Não.

Na rotina Cálculo do Frete (TMSA200), especificamente em relação ao cálculo dos componentes, serão implementadas as regras para o cálculo dos componentes que calculam sobre “16-Herda Valor” e “17-Taxa por devedor por lote”.

Para o processo de cálculo das coletas (herança de valores), o sistema deve verificar se o DTC - Documento do Cliente possui uma Solicitação de coleta Vinculada (DTC_NUMSOL <>‘ ‘). Em caso negativo, conclui-se que não há vinculo do “DTC - Documento cliente” com o “DT5 - Solicitação de coleta” e consequentemente não existem valores a serem herdados. Em relação ao componente estar com valor zerado, valerão as regras já existentes na “configuração da tabela de frete”, que indicam se o preenchimento de um componente é ou não obrigatório. Se a viagem de coleta estiver encerrada, o sistema deverá buscar os valores (DT8 - Componentes de frete) da respectiva solicitação de coleta e localizar o(s) componente(s)  relacionado(s), conforme cadastrado no DT3 - Componente. Localizada a informação no “DT8 - Componentes do frete”, a somatória do(s) valor(es) deve(m) ser herdado(s) para o novo componente e o valor obtido será considerado como “sem impostos”. Caso não seja(m) encontrado(s) o(s) componente(s) relacionado(s) ou então o(s) respectivo(s) valor(es) esteja(m) zerado(s), valerão as regras cadastradas na “configuração da tabela de frete”, que indicam se o preenchimento de um componente é ou não obrigatório. Se, para uma única solicitação de coleta existirem diversas DTC - Notas fiscais e consequentemente diversos DT6 - Documentos de transporte, o sistema deve efetuar os cálculos proporcionais a cada documento de transporte, conforme o critério cadastrado no novo campo do contrato que tem a seguinte descrição “Critério Proporção do Valor de Coleta para Vários documentos de transporte”. No Estorno do Cálculo do Frete de um lote com critérios de rateio, o sistema atualmente já efetua uma validação que só permite prosseguir com o estorno, se todos os documentos de transporte gerados no referido lote estiverem sendo cancelados. Esta validação deve ser mantida também para os lotes de coleta.

Para o processo de cálculo relativo a entrega/transferência, serão implementadas as regras necessárias para tratar os novos critérios de rateio detalhados no tópico relativo ao “Contrato de cliente”.

As rotinas de Pagadores de Frete e Rota Automática, também serão executadas para efetuar as conferências e validações pertinentes ao processo de entrega/transferência, principalmente no que se refere ao cálculo baseado no critério “orig/dest/vge”.


3.9 - Viagem de Coleta via Menu:

Na inclusão/alteração de uma Viagem de Coleta (*) via Menu, ao efetuar a confirmação (salvar) da tela de viagem, será necessário executar as rotinas de “Pagadores” e “Roteiro” para que o sistema possa identificar as inconsistências, e apresenta-las para que o usuário possa interagir com o processo. Uma vez que todas as inconsistências da tela de pagadores estejam resolvidas, o sistema apresentará as telas de roteiro e o usuário também deverá interagir com os roteiros a fim de que seja possível gravar os roteiros da viagem e dos pagadores (rateio). Somente com estas informações será possível obter as informações referente à quilometragem, origem e destino, as quais são imprescindíveis para o rateio.

Importante:

Ressaltar que as regras para valorização das coletas com e sem rateio, independem de se estar no Painel de Agendamento e deverão ser executadas da mesma forma.

 

3.10- Viagem Express – via Menu

Na Entrada da Nota (TMSA050), quando executada a viagem Express, será implementada uma validação no campo Solicitação de Coleta (DTC_NUMSOL), permitindo selecionar somente aquelas que não tenham o serviço de negociação preenchido, ou aquelas que estão com serviço preenchido mas que a respectiva viagem de coleta esteja encerrada.

 

3.11- Roteiros

É na funcionalidade de roteiro que será possível identificar a Quilometragem da Viagem, a Região de Origem e a Região de Destino, de um conjunto de documentos que se refere a um processo envolvendo um cálculo de frete por rateio.

Uma vez que esteja habilitada a valorização das coletas utilizando critérios de rateio, será necessário executar a rotina de Roteiro de Viagem, pois para componentes que calculem por KM será necessário obter o KM do roteiro do lote de rateio.

Nas viagens de entrega com Serviço Adicional de Coleta, o roteiro geral deverá considerar os documentos de transporte, pois eles fazem parte do percurso.

O usuário poderá lançar os documentos em uma viagem (modelo 2) sem preencher a rota, e o sistema se encarregará de sugerir uma rota já existente idêntica ou semelhante.

Na Inclusão de uma solicitação de coleta em uma viagem de coleta (*) em trânsito, o usuário só poderá incluí-la na sequência daqueles que ainda não possuíram apontamentos indicando que o motorista já passou pelo ponto. Este novo documento será incluído no lote correto. Em relação ao roteiro, a rotina se encarregará de verificar se o novo documento já faz parte da rota/roteiro da viagem, e em caso negativo, fará nova análise de rota /roteiro para utilizar uma outra rota/roteiro ou então criar uma nova rota/roteiro.

 

3.12- Pagadores

A rotina de Pagadores fará a validação do critério de proporção por % Fixo, portanto serão analisados se os devedores envolvidos no mesmo rateio fazem parte do que foi cadastrado no contrato. Será permitido que nem todos os clientes informados no Contrato façam parte do lote, contudo não será permitido que exista um devedor que não faça parte da relação dos clientes configurados no contrato.

A rotina de pagadores possuirá o conjunto de regras para apontar as inconsistências, e uma das regras será não permitir negociações e serviços diferentes para um lote cujo critério seja % Fixo.

A rotina de pagadores fará a seguinte análise quando o critério de rateio não for por % fixo: Em uma viagem onde existirem diversas solicitações de coleta, a tela de pagadores efetuará diversas análises e, para os documentos vinculados a serviços / negociações que tem critérios de rateio, agrupará os documentos por “pagador”. Dentro de cada pagador, o sistema só permitirá prosseguir se todos os documentos estiverem vinculados aos mesmos critérios de rateio e tabela de frete. Caso não estejam, o usuário poderá efetuar alterações no serviço, a fim de equalizar as informações. Uma vez que as informações estejam equalizadas a rotina de pagadores permitirá prosseguir.

A rotina de pagadores de fato analisará o conjunto de registros pelo contrato do cliente, pois desta forma, é possível garantir que para um conjunto de clientes sejam utilizadas as mesmas negociações e serviços, embora o pagador efetivo do frete possa ser diferente.

A rotina de “pagadores” também estará preparada para identificar solicitações de coleta que façam parte do mesmo roteiro, e não façam parte do critério de um lote rateio, pois desta forma, deve ser considerada a quilometragem deste ponto (que não pertence ao lote do rateio), contudo este mesmo documento não fará parte do cálculo do lote de rateio.

Na inclusão de uma solicitação de coleta em uma viagem de coleta em trânsito (*), a rotina de pagadores identificará em qual lote o referido documento deverá ser inserido, pois ele não poderá entrar em um lote já calculado e nem num lote com critérios diferentes dos que foram definidos para ele próprio.

 

3.13- Programação de Carregamento

A adequação da rotina de Programação de Carregamento às regras descritas nesta especificação, será feita no requisito “PCREQ-135 - Melhorias Painel Agendamento”.

Definição da Regra de Negócio

Importante:

Para valorização da coleta e novos critérios de Rateio, o Contrato com Serviço de Negociação obrigatoriamente deve estar ativo (AliasIndic “DDA”).

 

 

Processos

Regras

Rotina

Criterios de Rateio no

Contrato

do Cliente

 

Incluir na função TMSValField(), as opções para o campo “CRIRAT”- Critério de Cálculo de Rateio, somente se o parâmetro Serviço de Negociação estiver ativo (AliasIndic “DDA”):

  • A - Orig/Dest Vge
  • B - Maior Peso Previsto
  • C - Maior Peso Previsto x Realizado

TMSXFUNA

Incluir na função TMSValField(), as opções para o campo “PRORAT”- Critério de Rateio, somente se o parâmetro Serviço de Negociação estiver ativo (AliasIndic “DDA”):

  • A - %Fixo
  • B - Peso Previsto
  • C - Peso Previsto x Realizado
  • D - Qtde Coletas

Contrato de Cliente

No campo Alias_PRORAT poderá ser selecionada a opção "D- Qtd Coletas", somente se o serviço for do tipo "1-Coleta".

No campo Alias_PRORAT não poderá selecionar as opções "8-Qtd.Doc.Cliente" ou "9-Qtd.Doc.Transp", se o serviço for do tipo "1-Coleta". 

Alias se refere as tabelas DDA e DDC.

TECA250

 

 

 

 

O campo DDA_VALCOL deverá ser habilitado para edição somente se o Serviço (DC5_SERVIC) for igual 1- Coleta.

O campo DDA_TIPOPE deverá ser habilitado e informado conteúdo diferente de "Não Utiliza", se o campo DDA_VALCOL estiver com conteúdo diferente de "Não Utiliza".

Mesma validação também para o campo DDC_TIPOPE.

Na Função AT250Val(), incluir validação para o campo Alias_CRIRAT. Neste campo poderá ser selecionada a opção “A=Orig/Dest Vge”, somente se o campo Alias_BACRAT for igual "3=Consolidado". 

Alias se refere as tabelas DDA e DDC

Campo Alias_CMPOBR (Comp.Rat.Obrig), permite configurar a obrigatoriedade de valorização de um componente configurado como rateio igual a "Sim", caso no cálculo do frete de um lote de rateio o seu valor fique zerado.

Por exemplo, se um Documento (NF ou SC) sem o informe da base (exemplo KM) que será utilizada para o rateio, o valor do componente ficar zerado, por meio deste campo será possível decidir se o valor sera mantido zerado ou passará a ser obrigatório. Sendo obrigatório, não permitir que o cálculo seja realizado (processo padrão da rotina). 

Alias se refere as tabelas DDA e DDC.

Utilizar a função TMSSOBSERV(). Se o campo DDA_CMPOBR estiver configurado como “Não Utiliza”, deve-se verificar o conteúdo do campo DDC_CMPOBR.

Incluir validação na função TMSCALFRET(), onde se o componente é de Rateio e o valor do frete calculado ficou zerado, se o conteúdo deste novo campo estiver como "SIM", não permitir realizar o cálculo do frete.

O processo de Serviço Automático para Coleta não será disponibilizado, portanto no contrato não deve permitir digitar conteúdo nos campos volume, peso, peso cubado, valor da mercadoria para obtenção do serviço.

(Campos: DDA_PESO, DDA_PESOM3, DDA_QTDVOL, DDA_VALMER).

Solicitação de Coleta

Na solicitação de coleta, se o serviço informado (DT5_SERVIC), estiver configurado no Contrato do Cliente como Valoriza Coleta (Alias_VALCOL) diferente de "0-Não Utiliza" e com o Tipo de Operação (Alias_TIPOPE) igual a:

1= Somente Coleta, deverá ser obrigatória a informação do Cliente Remetente.

2= Coleta com Entrega, deverá ser obrigatória a informação do Cliente Remetente e Cliente Destinatário.        

TMSA460

Lote de Entrada

2 - Será criada uma opção no Tipo de Lote como "Coleta" para indicar que o Lote se refere a uma Viagem de Coleta.

3 - TmsA170Vld() - Incluir validação na rotina para que não seja permitido digitar o tipo de lote "Coleta".

TMSA170

Fechamento da Viagem

 

Função TMSA310GRV(), após criado o lote, deverá ser executada a Valorização da Coleta, com base nas tabelas DT5 e DUM. (Verificar campos para calculo na pag. 4).

Atualizar status do lote para: DTP_STATUS = "2" (Calculado). 

Gravar a Tabela de Histórico de Componentes (DJI), conforme descrito abaixo em "Cálculo do Frete".

TMSA310

 

Se o contrato do cliente da Solicitação de Coleta estiver com data de vigência vencida, o sistema não irá efetuar a valorização de coleta. Diante dessa situação, no encerramento da viagem, o sistema deverá sempre buscar dados do contrato da solicitação de coleta conforme conteúdo do campo DT5_NCONTR

Função TMSContrat(), passar o parâmetro na posição 23, o número do contrato da solicitação de coleta (DT5_NCONTR). 

Estorno do Fechamento da Viagem

Ao efetuar o estorno do fechamento de uma viagem de coleta e/ou viagem de entrega com documentos de coleta (serie=COL), deve-se excluir o lote, atualizar o campo da DUD_LOTE para conteúdo em branco e estornar o cálculo do frete. 

Atualizar o status para "Cancelado" (DJI_STATUS=’2’) dos registros referente ao cálculo "Previsto" (DJI_TIPCAL=’1’) da determinada Viagem. 

TMSA310

Alteração da Viagem em Transito

Ao incluir uma Solicitação de Coleta em uma viagem em Trânsito (Modelo II), na gravação da viagem, após executada a rotina de Pagadores e Roteiro, deverá ser efetuado o cálculo do frete do referido documento. 

Lote Rateio: Se a Solicitação de Coleta estiver vinculada a uma Negociação e/ou Serviço com critérios de rateio, e existindo um Lote na viagem com as mesmas regras de critérios de rateio do determinado Cliente Devedor, esta solicitação de coleta deverá ser incluída no mesmo lote e portanto o lote será calculado novamente. Caso contrário a Solicitação de Coleta será incluída em um novo lote e em seguida calculado o frete.

Lote Normal: Se a Solicitação de Coleta estiver vinculada a uma Negociação e/ou Serviço sem critérios de rateio, e existindo um Lote na viagem sem critérios de rateio, esta solicitação de coleta deverá ser incluída no mesmo lote e em seguida calculado o frete. 

Gravar a Tabela de Histórico de Componentes (DJI), conforme descrito abaixo em "Cálculo do Frete". 

TMSA144

Se o contrato do cliente da Solicitação de Coleta estiver com data de vigência vencida, o sistema não irá efetuar a valorização de coleta. Diante dessa situação, no encerramento da viagem, o sistema deverá sempre buscar dados do contrato da solicitação de coleta conforme conteúdo do campo DT5_NCONTR

Função TMSContrat(), passar o parâmetro na posição 23, o número do contrato da solicitação de coleta (DT5_NCONTR). 

Encerramento da Viagem

Função TMSA340GRV(), se a viagem possuir documentos de Coleta, deverá executar a rotina de Cálculo do Frete (TMSA200) com base nas tabelas DT5 e DTC e ou DUA. 

1 - Buscar dados do Peso, PesoM3, Metro3, Volume, Valor Mercadoria,Base Seg, Qtd.Unitiz da tabela DTC, quando a Solicitação de coleta estiver vinculada a uma Nota (DTC_NUMSOL<>0).

2 - Buscar dados do Peso, PesoM3, Metro3, Volume, Valor Mercadoria,Base Seg, Qtd.Unitiz da tabela DUA, quando a Solicitação de coleta NÃO estiver vinculada a uma Nota e existir uma Ocorrência do Tipo "Encerra Processo" (DTC_NUMSOL=0).

3 - Buscar dados do Peso, PesoM3, Metro3, Volume, Valor Mercadoria,Base Seg, Qtd.Unitiz da tabela DUM, quando existir uma Ocorrência do Tipo "Retorna Documento" (DT2_TIPOCO = ‘4’) e ou "Cancelamento da Coleta" (DT2_TIPOCO=’12’). 

Se as solicitações de coleta da viagem não possuírem negociação/serviço de negociação (DT5_CODNEG / DT5_SERVIC), esta validação não precisa ser feita. Em compensação se uma viagem possuir diversas SC sem negociação e 1 com negociação e ou serviço, somente uma deverá ser valorizada e o lote será somente para ela. 

Gravar a Tabela de Histórico de Componentes (DJI), conforme descrito abaixo em "Cálculo do Frete". 

TMSA340

Se o contrato do cliente da Solicitação de Coleta estiver com data de vigência vencida, o sistema não irá efetuar a valorização de coleta. Diante dessa situação, no encerramento da viagem, o sistema deverá sempre buscar dados do contrato da solicitação de coleta conforme conteúdo do campo DT5_NCONTR

Função TMSContrat(), passar o parâmetro na posição 23, o número do contrato da solicitação de coleta (DT5_NCONTR). 

Estorno do Encerramento da Viagem

Ao efetuar o estorno do encerramento da viagem, deve-se:

  • Efetuar o estorno do cálculo do frete a coleta (apagar valores calculados para os componentes de Frete – DT8).
  • Gravar status de digitado no lote DTP_STATUS = "2"- Calculado
  • Atualizar o status para "Cancelado" (DJI_STATUS="2") dos registros referente ao Cálculo “Realizado” no Encerramento da Viagem (DJI_TIPCAL="2").

A pesquisa dos registros na DJI, deverá ser pelos campos DJI_FILVGE+DJI_VIAGEM+DJI_TIPCAL+DJI_STATUS, onde:

DJI_FILVGE = DTQ_VIAGEM

DJI_VIAGEM = DTQ_VIAGEM

DJI_TIPCAL = ‘2’     //Realizado

DJI_STATUS = ‘1’   //Calculado)

  • Restaurar a valorização dos componentes na Tabela de Historicos (DJI) referente ao cálculo Previsto e cujo status seja "Calculado" (DJI_TIPCAL=’1’ e DJI_STATUS=’1Calculado) para a tabela DT8.

TMSA340

Localizar dados do contrato

4 - Na função TMSContrat(), incluir campos na query onde seleciona os registros da tabela DDA, incluindo os campos da regra de rateio: DDA - DDA_ADIDOC, DDA_PRORAT, DDA_CRIRAT, DDA_BACRAT

TMSXFUNA

Pesquisa dos critérios de Rateio (DDA para DDC)

A função TMSSobServ foi criada para tratar a subida das tabelas DDA para DDC, ou seja, quando um determinado campo do Serviço de Negociação de Cliente (DDA), estiver configurado como "Não Utiliza", deverá ser verificada a configuração do mesmo campo na Negociação do Cliente (DDC).

Deve-se alterar o fonte, pois foi tratada a opção "0" como não utiliza e para os campos do rateio a opção Não Utiliza é "1". 

TMSXFUNA

Percentual Fixo de Rateio no Contrato do Cliente

 

1 - Inclusão de uma nova Grid para informar os dados do Percentual Fixo de Rateio – DDP. Este grid será utilizado para definir quais os clientes devedores envolvidos na operação e o percentual que cada um deverá pagar do rateio do frete.

 

TECA250

2 - A Grid Percentual Fixo de Rateio deverá ser habilitada somente:

  • Se a abrangência do contrato do cliente for por "Cliente" (AAM_ABRANG =2).
  • Critério do Rateio (DDA_PRORAT / DDC_PRORAT), esteja configurado como A= % Fixo

3 - No campo Cliente Devedor (DDP_CLIDEV), deverá obrigatoriamente ser informado os Clientes com o mesmo Código de Cliente do Contrato (AAM_CODCLI), independente da loja. Neste caso, gatilhar o código do cliente devedor conforme código do cliente do contrato.

Validar se o Código e Loja do Cliente Devedor (DDP_CLIDEV+DDP_LOJDEV) está cadastrado na Tabela SA1- Clientes. Caso não existir no cadastro, exibir mensagem ao usuário “Cliente/Loja nao cadastrado na tabela de clientes”.

4 - O campo Percentual de Rateio (DDP_PERRAT) é obrigatório e a totalização do percentual informado na grid deverá ser 100%, caso contrário deverá apresentar mensagem ao usuário “A soma do campo % do rateio deve ser igual a 100."

5 - Validação do campo AAM_REGRFIX. Se houver algum serviço ou negociação com critério de rateio configurado como A%Fixo, deve ser obrigatório o preenchimento do campo (Não permitir o 0-Não Utiliza).

Configuração da Tabela de Frete

Para um componente com calcula sobre (DT3_TIPFAI) igual a 16 (Rateio de Coleta), não permitir preencher com conteúdo igual a SIM no campo DVE_RATEIO

TMSA130

Componentes de Frete

Será criada uma nova tabela (DJE), onde serão vinculados os componentes relacionados a um componente cujo “Cal.Sobre” (DT3_TIPFAI) esteja preenchido com “16 – Herda valor”.

Validação: Nos componentes relacionados não sera possível escolher componentes que também calculam sobre “16 – Herda valor”. Também não será possível escolher componentes cujo “calcula Sobre” seja relativo ao frete a pagar.

TMSA030

Cálculo de Frete

Alterar a rotina de cálculo para calcular as Solicitações de Coleta (DT5- Solicitação de Coleta).

Incluir parâmetro na chamada do TMSA200() para identificar:

1 - Se o cálculo será da DT5 (Solicitação Coleta).

2 - Se o cálculo está sendo executado pelo Fechamento da Viagem ou Encerramento da Viagem. 

TMSA200

Origem e Destino para cálculo do frete, será com base no conteúdo do campo Alias_TIPOPE do Serviço de Negociação do Contrato do Cliente (TECA250), onde: 

1= Somente Coleta: Código de Origem para Cálculo será a Origem do Cliente Remetente e/ou Solicitante (DT5_CDRORI) e o Código de Destino para Cálculo será a Filial Logada (MV_CDRORI). 

2= Coleta com Entrega: Código de Origem para Cálculo será a Origem do Cliente Remetente e/ou Solicitante (DT5_CDRORI) e o Código de Destino para Cálculo será o Destino do Cliente Destinatário (DT5_CDRDCA).

Na valorização da coleta, após a gravação dos valores dos componentes de frete (DT8), gravar a Tabela de Histórico de Componentes (DJI), conforme campos da DT8 (de / para) e para os novos campos da DJI os dados conforme segue:

  • DJI_FILVGE  = DTQ_FILORI
  • DJI_VIAGEM = DTQ_VIAGEM
  • DJI_DATGER = Data Base do Sistema
  • DJI_HORGER = Hora Base do Sistema
  • DJI_SEQUEN = Nro Sequencial
  • DJI_TIPCAL = ‘1’ ou ‘2’  (1=Previsto, 2=Realizado). Neste campo deverá ser verificada a origem da valorização da coleta, se for pela rotina de Fechamento da Viagem ou Alteração da Viagem em Trânsito, gravar o conteúdo ‘1’ (Previsto). Se for pela rotina de Encerramento de Viagem, gravar o conteúdo ‘2’ (Realizado).
  • DJI_STATUS = ‘1’ ou ‘2’  (1= Calculado, 2=Cancelado). Se for um estorno do cálculo do frete, deverá gravar o conteúdo ‘2’-Cancelado, caso contrário o conteúdo ‘1’- Calculado.
  • DJI_CODUSR – Código do Usuário 

Calculo de Frete  x  Percentual Fixo de Rateio no Contrato do Cliente

 

1 - Criar nova função para cálculo da Regra de Rateio Fixo.

Por Quantidade – Calcular o percentual para cada cliente. Dividir o total do percentual dos clientes que não estão no lote para os clientes que estão no lote. Adicionar esta divisão aos percentuais dos clientes que estão no lote (vide exemplo 01). 

Por Proporção – Calcular a proporcionalidade entre os clientes que estão no lote. Aplicar este percentual nos clientes que não estão no lote (faltantes) (vide exemplo 02). 

A divisão será baseada no campo Critério de Rateio (DDP_CRIRAT), podendo ser por Peso Real, Peso Cubado, Vlr Mercadoria, Volumes, M3, Qtde Doctos/Coleta. 

 

Calculo do Componente Herda Valor

Na função TMSCALFRET(), será incluído processo para Cálculo do novo componente que calcula sobre – 16= Herda Valor.

Nessa função será criada uma variável do tipo array (aFreteCol) que irá conter as Solicitações de Coleta e seus respectivos componentes de Herda Valor e Notas Fiscais. Este vetor é criado com base nos dados da aNFCTRC e será utilizado posteriormente na função TMSA200Agr para ratear o valor do componente 16-Herda Valor. Ou seja, quando uma Solicitação de Coleta estiver vinculada a mais de uma Nota Fiscal gerando mais de um Documento de Transporte, o valor deste componente será rateado entre os Documentos, independente de ser um Lote de Rateio ou não. 

Função TMSFRTCOL() – Monta o array aFreteCol com a seguinte estrutura:

[01]- Filial Coleta

[02]- Numero Sol.Coleta

[03]- Array com os componentes de Frete

[03][01]- Componente

[03][02]- Valor do componente

[04]- Array com as Notas Fiscais

[04][01]- Numero da Nota

[04][02]- Serie da Nota

[04][03]- Cliente Remetente

[04][04]- Loja Remetente

[04][05]- Volumes

[04][06]- Vlr.Mercadoria

[04][07]- Peso

[04][08]- Peso Cubado

[04][09]- M3 

Função TMSVLRCMP() – Retorna o valor total do componente com base em todas as Solicitações de Coletas que estão no vetor aNFCTRC. Este valor poderá ser rateado posteriormente caso a SC estiver vinculada a mais de uma NF gerado mais de um Conhecimento de Transporte (TMSA200Agr). 

TMSXFUNB

Calculo do Componente Taxa de Devedor do Lote

Na função TMSCALFRET(), será incluído processo para cálculo do novo componente que calcula sobre – 17= Taxa de Devedor por Lote. Este componente será cobrado por Devedor do Lote apenas uma única vez.

 

Calculo do Componente KM

Para um lote de Rateio, se o critério de calculo for “A=Origem/Destino VGE”, a base de cálculo do componente KM será conforme o KM do roteiro (DTP_KM), e o valor será proporcionalizado conforme KM informado para cada documento (DTC_KM ou DT5_KM). 

Exemplo:

KM do Roteiro (DTP_KM) =  150

A base para cálculo do componente KM será 150 KM.  

Supondo que o lote tenha 3 Notas, o sistema calculará o valor proporcionalmente a distância de cada uma das Notas e/ou Solicitações de Coletas. 

Nota 1 - DTC_KM = 90         

Nota 2 - DTC_KM = 100        

Nota 3 - DTC_KM = 120         

Nas chamadas da função TMSCALFRET, quando o lote for de rateio, enviar o conteúdo do DTP->DTP_KM se o critério for igual a “A=Origem/Destino VGE”.

 

Registro de Ocorrencias

Alterar a rotina para gatilhar novos campos criados na DUA, conforme dados da tabela DT6 (posicionar pelo dua_fildoc + dua_doc + dua_serie).

  • DUA_VALMER    (DT6_VALMER)
  • DUA_PESOM3    (DT6_PESOM3)
  • DUA_METRO3    (DT6_METRO3)
  • DUA_QTDUNI      (DT6_QTDUNI)
  • DUA_BASSEG     (DT6_BASSEG)

 

 

1 - Nota Balcão - Se na digitação do Lote, o serviço selecionado estiver configurado como critério de cálculo igual a “A= %Fixo”, não poderá haver mais de um cliente devedor com contrato diferente. 

Exemplo:

Cliente Devedor SP0001 Loja 01 – Contrato 01 – Abrangencia Cliente (OK).

Cliente Devedor SP0001 Loja 02 – Contrato 01 – Abrangencia Cliente (OK).

Cliente Devedor SP0001 Loja 03 – Contrato 02 - Abrangencia Cliente/Loja.

(NÃO OK) Nesta situação, não será permitida a digitação, pois o cliente SP0001/03 possui um contrato diferente. 

TMSA050

Entrada Documento Cliente

Os serviços configurados como Critério de Rateio (Alias_CRIRAT) igual a “A= Orig/Dest Vge”, serão digitados/selecionados somente pelo processo de Viagem de Coleta/Entrega (Modelo 2), Programação de Carregamento ou Painel de Agendamento. 

Na função TMSA050Vld (), incluir validação para o campo DTC_SERVIC, não permitindo selecionar um serviço com critério de cálculo de rateio (Alias_CRIRAT) igual a “A=Orig/Dest Vge”, caso o processo tenha sido inicializado pela rotina Entrada Doc.Cliente (TMSA050) ou Viagem Express (TMSA144). 

Observação: A Validação deverá ser feita somente se o lote for do tipo Rateio.

TMSA050

2 - Nota Balcão - Se o Serviço (DTC_SERVIC) estiver configurado como critério de cálculo (Alias_PRORAT) igual a “A= %Fixo”, não poderá haver devedores (DTC_CLICAL/DTC_LOJCAL) diferentes no Lote, exceto mesmo Código de Cliente e Loja diferente. 

Incluir validação na Função TMSA050Vld (). Caso não for valido apresentar mensagem ao usuário e não permitir a digitação do lote.

“Contrato do cliente configurado para rateio com percentual fixo, não é permitido mais de um devedor no lote”. 

Observação: A Validação deverá ser feita somente se o lote for do tipo Rateio.

TMSA050

3 - Quando essa rotina é executada por meio do Painel de Agendamento, o sistema busca os dados da coleta e preenche automaticamente os campos da tabela DTC. Neste caso, se o contrato da solicitação de coleta (DT5_NCONTR) estiver com data de vigência vencida, os campos DTC_CODNEG, DTC_SERVIC e DTC_NCONTR devem ficar sem conteúdo para que o usuário informe manualmente. 

TMSA050

Calculo do Frete x Rateio

Na função TMSCALCRAT(), incluir funcionalidades referente aos novos critérios de rateio. 

TMSXFUNC

Campos novos na tabela DUX

Deverá ser removido os novos campos criados para valorização da coleta na tabela DUX e validação dos fontes, incluindo o RUPTMS, pois caso o dicionário tenha sido expedido para o cliente, o mesmo deverá ficar como "Não Usado". 

 

Campos na Tabela DDC

Deverá ser removido os campos DDC_CRDVDC, DDC_CRDVFA e DT5_LOTE criados para valorização da coleta. Este campos deverão ser incluídos no RUPTMS, pois caso o dicionário tenha sido expedido para o cliente, o mesmo deverá ficar como "Não Usado" e "Não Obrigatório".

 

Base de Calculo Ponto a Ponto com o Criterio de rateio Origem/Destino

Quando a Base Calc.Ra for igual a Ponto a Ponto, o sistema efetua o cálculo de cada um dos Documentos digitados considerando o Ponto a Ponto informado no ato da digitação do Primeiro documento do Cliente do Lote de Recebimento em questão, porém utilizando a base de cálculo (peso, volume, pesoM3, valor de mercadoria, M3, KM), de cada um dos documentos do Cliente. Contudo, se o critério de calculo for "Origem/Destino" o valor base para rateio será com base no “Maior Valor de Componente”. 

Na função TMSCALCRAT(), alterar conteúdo da variável aCRIRAT conforme abaixo:

Aadd( aCRIRAT, { StrZero(2, Len(DTP->DTP_CRIRAT)),99 } ) // Orig/Dest;           

 

Registro de Ocorrencias

Ao efetuar um apontamento de ocorrência do tipo:

04 – Retorna Docto: Se o campo _VALCOL do contrato do cliente estiver configurado como "Não", deve-se atualizar o status referente ao documento de coleta da determinada viagem na tabela de histórico (DJI) para "Cancelado- DJI_STATUS = ‘2’ e apagar os registros da tabela DT8.

Se o campo _VALCOL do contrato do cliente estiver configurado como "Sim", mantém o status referente ao documento de coleta da determinada viagem na tabela de histórico (DJI) como "Calculado" - DJI_STATUS = ‘1’ e apagar os registros da tabela DT8. 

12 – Cancelamento: Excluir o registro na tabela de componentes de frete (DT8) do determinado documento e atualizar o status da tabela de histórico (DJI) para "Cancelado" - DJI_STATUS = ‘2’.

 

Abaixo os componentes que "calcula sobre" que não serão calculados na valorização da coleta.

  • 06- Frete Despachante.
  • 07- Valor Informado.

 

Estrutura da Tabela Histórico do Componente de Frete – DJI:

DJI_FILIALDT8_FILIAL
DJI_CODPASDT8_CODPAS
DJI_VALPASDT8_VALPAS
DJI_VALIMPDT8_VALIMP
DJI_VALTOTDT8_VALTOT
DJI_FILDOCDT8_FILDOC
DJI_DOCDT8_DOC
DJI_SERIEDT8_SERIE
DJI_ITEMD2DT8_ITEMD2
DJI_FILORIDT8_FILORI
DJI_NUMCOTDT8_NUMCOT
DJI_CDRORIDT8_CDRORI
DJI_CDRDESDT8_CDRDES
DJI_CODPRODT8_CODPRO
DJI_TABFREDT8_TABFRE
DJI_TIPTABDT8_TIPTAB
DJI_SEQTABDT8_SEQTAB
DJI_PERRATDT8_PERRAT
DJI_NUMAWBDT8_NUMAWB
DJI_DESCDT8_DESC
DJI_ACRESCDT8_ACRESC
DJI_CALMINDT8_CALMIN
DJI_CODCIADT8_CODCIA
DJI_LOJCIADT8_LOJCIA
DJI_DIGAWBDT8_DIGAWB
DJI_DATGERData do Sistema
DJI_HORGERHora do Sistema
DJI_FILVGEDTQ_FILORI
DJI_VIAGEMDTQ_VIAGEM
DJI_SEQGERNro Sequencial (+ 1)
DJI_TIPCAL

1- Previsto2-Realizado

Onde: 1-Indica que o cálculo foi realizado pelo processo do Fechamento da Viagem e/ou Alteração da viagem em transito.

2-Indica que o cálculo foi realizado pelo processo do Encerramento da Viagem.

DJI_STATUS

1-Calculado; 2-Cancelado

Onde: 1-Efetuado o cálculo do frete.

2-Indica que a valorização foi cancelada, podendo ser por meio do Estorno do Encerramento da Viagem, Estorno do Fechamento da Viagem e ou Exclusão da Viagem de Coleta e ou Entrega com serviço adicional de coleta.

DJI_CODUSRCodigo do Usuario



Rotina

Tipo de Operação

Opção de Menu

Regras de Negócio

TECA250

Alteração

Atualizações/Comercial/Contrato de Cliente

-

TMSA500

Alteração

Atualizações/Transporte/Manutenção de Documentos

-

TMSXFUNAAlteraçãoFunção genérica-

TMSXFUNB

Alteração

Função genérica

-

TMSXFUNCAlteraçãoFunção genérica-
TMSA310AlteraçãoAtualizações/Viagem/Fechamento da Viagem-
TMSA170AlteraçãoAtualizações/Recebimento/Lote Entrada NF-
TMSA200AlteraçãoAtualizações/Recebimento/Calculo do Frete-
TMSA340AlteraçãoAtualizações/Viagem/Encerramento da Viagem-
TMSA050AlteraçãoAtualizações/Recebimento/Entrada Doc.Cliente-
TMSA460AlteraçãoAtualizações/SAC/Solicitacao de Coleta-
TMSA360AlteraçãoAtualizações/Ocorrencias/Reg.Ocorrencias-
TMSA200AAlteraçãoAtualizações/Recebimento/Calculo do Frete-
TMSA030AlteraçãoAtualizações/Comercial/Componentes Frete-
TMSA130AlteraçãoAtualizações/Comercial/Configuração Tabela de Frete-
TMSA040AlteraçãoAtualizações/SAC/Cotações de Fretes-
TMSA960AlteraçãoMiscelanea/Simulado/Simulado-
TMSAI70AlteraçãoAtualizações/Internacional/CRT/CRT-

 

Exemplo de Aplicação:

  • Configurar o componente de Frete.
  • Criar um componente de frete a receber que 'Calcula Sobre" - 16- Herda Valor e preencher os componentes relacionados.
  • Criar um componente de frete a receber que 'Calcula Sobre' - 17- Taxa por pagador pode lote.
  • Configurar a Tabela de Frete.
  • Incluir um contrato de cliente utilizando um serviço de coleta.
  • Incluir diversas solicitações de coleta.
  • Incluir uma viagem de coleta.
  • Fechar a viagem de coleta. Neste momento será executado o cálculo do frete e o sistema deverá respeitar as regras de calculo conforme configuração da Negociação e/ou Serviço.
  • Apontar as operações e ocorrências. 
  • Encerrar a viagem de coleta.
  • Após o encerramento será executado automaticamente o cálculo do frete e o sistema deverá respeitar as regras de cálculo conforme o serviço e efetuar o cálculo do frete conforme a configuração da Tabela de Frete.  

Tabelas Utilizadas

  • AAM - Contrato de Cliente.
  • DUX - Itens Prestação Serviço TMS.
  • DDA - Serviços Negociação do cliente.
  • DDC - Negociações por Cliente.
  • DT3 - Componentes de Frete.
  • DJE - Componentes Herdados.
  • DT5 -  Solicitação de Coleta.
  • DUM- Itens de Solicitações de Coleta.
  • DT6 - Documentos de Transporte.
  • DTC - Doc. Cliente para Transporte.
  • DT8 - Composição de Frete.
  • DUA - Registro de Ocorrências.
  • DDP - Percent. Rateio Fixo Pag. Frete.
  • DTP - Lote de Entrada Notas Fiscais.
  • DTQ - Viagem.

Protótipo de Tela  

Protótipo 01 - Contrato do Cliente

Prototipo 02 - Criterios de Rateio

 

 Prototipo 03 - Componentes de Frete 

 

 

Dicionário de Dados

 Arquivo: DDA - Servicos Negociação Cliente 

Campo

DDA_BACRAT

Tipo

Caracter

Tamanho

1

Decimal

0

Formato

@!

Título

Base Calc.Ra

Descrição

Base para Calculo de Rat.

Usado

Sim

Obrigatório

Sim

Browse

Não

Opções

1=Nao Utiliza; 2=Ponto a Ponto; 3=Consolidado

Inic. Padrão

"1"

Val. Sistema

Pertence("123") .AND. AT250Val()

Contexto

Real

Propriedade

Alterar

Ordem

27

Campo

DDA_CRIRAT

Tipo

Caracter

Tamanho

1

Decimal

0

Título

Crit.Calc.Ra

Descrição

Criterio para Calculo Rat

Usado

Sim

Obrigatório

Sim

Browse

Não

Modo Edição

AT250When()

Inic. Padrão

"1"

Val. Sistema

TmsValField("M->DDA_CRIRAT", .T., "DDA_DECRIR")  .AND. AT250Val()

Contexto

Real

Propriedade

Alterar

Cons. Padrão

DLC

Gatilhos

Sim

Ordem

28

Campo

DDA_DECRIR

Tipo

Caracter

Tamanho

30

Decimal

0

Formato

@!

Título

Desc.Cri.Cal

Descrição

Descrição Crit.Cal. Ratei

Usado

Sim

Obrigatório

Não

Browse

Não

Inic. Padrão

AT250Ini()

Contexto

Virtual

Propriedade

Visualizar

Ordem

29

  

Campo

DDA_PRORAT

Tipo

Caracter

Tamanho

1

Decimal

0

Formato

@!

Título

Criterio Rat

Descrição

Criterio Rateio

Usado

Sim

Obrigatório

Sim

Browse

Não

Modo Edição

AT250When()

Inic. Padrão

"1"

Val. Sistema

TmsValField("M->DDA_PRORAT", .T., "DDA_DEPROR")  .AND. AT250Val()

Contexto

Real

Propriedade

Alterar

Cons. Padrão

DLC

Gatilhos

Sim

Ordem

30

Campo

DDA_DEPROR

Tipo

Caracter

Tamanho

30

Decimal

0

Formato

@!

Título

Desc.Cri.Rat

Descrição

Descrição Criterio Rateio

Usado

Sim

Obrigatório

Não

Browse

Não

Inic. Padrão

AT250Ini()

Contexto

Virtual

Propriedade

Visualizar

Ordem

31

  

Campo

DDA_ADIDOC

Tipo

Numérico

Tamanho

3

Decimal

0

Formato

@E 999

Título

Taxa Adi.Doc

Descrição

Taxa Adic.Por Docto

Usado

Sim

Obrigatório

Não

Browse

Não

Val. Sistema

Positivo()

Contexto

Real

Propriedade

Alterar

Ordem

32

  

Campo

DDA_VALCOL

Tipo

Caracter

Tamanho

1

Decimal

0

Formato

@!

Título

Val.Col.N.Re

Descrição

Valoriza Coleta Nao Real.

Usado

Sim

Obrigatório

Sim

Browse

Não

Opções

0=Não Utiliza; 1=Sim; 2=Não

Modo Edição

AT250When()

Inic. Padrão

'0'

Val. Sistema

Pertence ('012')

Contexto

Real

Propriedade

Alterar

Gatilhos

Sim

Ordem

33

Campo

DDA_TIPOPE

Tipo

Caracter

Tamanho

1

Decimal

0

Formato

@!

Título

Tip.Operacao

Descrição

Tipo de Operação

Usado

Sim

Obrigatório

Sim

Browse

Não

Opções

0=Não Utiliza; 1=Somente Coleta; 2=Coleta com Entrega

Inic. Padrão

'0'

Val. Sistema

Pertence('012')

Contexto

Real

Propriedade

Alterar

Ordem

34

Campo

DDA_CRDVFA

Tipo

Caracter

Tamanho

1

Decimal

0

Formato

@!

Título

Crit.Dev.Fal

Descrição

Criterio Devedor Faltante

Usado

Sim

Obrigatório

Sim

Browse

Não

Opções

0=Não Utiliza; 1=Divisão Aritmetica; 2=Divisão Proporcional

Modo Edição

AT250When()

Inic. Padrão

'0'

Val. Sistema

Pertence('012')

Contexto

Real

Propriedade

Alterar

Ordem

35

  

Campo

DDA_CRDVDC

Tipo

Caracter

Tamanho

1

Decimal

0

Formato

@!

Título

Sub.Cri.%Fix

Descrição

Sub.Criterio %Fixo

Usado

Sim

Obrigatório

Sim

Browse

Não

Opções

0=Não Utiliza; 1=Peso Real; 2=Peso Cubado; 3=Vlr Mercadoria; 4=Volumes; 5=M3; 6=Qtd Doctos

Modo Edição

AT250When()

Inic. Padrão

'0'

Val. Sistema

Pertence('0123456')

Contexto

Real

Propriedade

Alterar

Ordem

36

  

Campo

DDA_CRDVHV

Tipo

Caracter

Tamanho

1

Decimal

0

Formato

@!

Título

Crit.Her.Vlr

Descrição

Criterio Herda Valor

Usado

Sim

Obrigatório

Sim

Browse

Não

Opções

0=Nao Utiliza; 1=Peso Real; 2=Peso Cubado; 3=Vlr Mercadoria; 4=Volumes; 5=M3; 6=Qtd Doctos

Inic. Padrão

'0'

Val. Sistema

Pertence('0123456')

Contexto

Real

Propriedade

Alterar

Ordem

37

 

 Arquivo: DDC - Negociações por Cliente

Campo

DDC_BACRAT

Tipo

Caracter

Tamanho

1

Decimal

0

Formato

@!

Título

Base Calc.Ra

Descrição

Base Calc.Rat.

Usado

Sim

Obrigatório

Sim

Browse

Não

Opções

1=Não Utiliza; 2=Ponto a Ponto; 3=Consolidado

Inic. Padrão

'1'

Val. Sistema

Pertence('123') .AND. AT250Val()

Contexto

Real

Propriedade

Alterar

Ordem

11

  

Campo

DDC_CRIRAT

Tipo

Caracter

Tamanho

1

Decimal

0

Formato

@!

Título

Crit.Calc.Ra

Descrição

Criterio Calc.Rat.

Usado

Sim

Obrigatório

Sim

Browse

Não

Modo Edição

AT250When()

Inic. Padrão

'1'

Val. Sistema

TmsValField('M->DDC_CRIRAT', .T., 'DDC_DECRIR')  .AND. AT250Val()

Contexto

Real

Propriedade

Alterar

Cons. Padrão

DLC

Gatilhos

Sim

Ordem

12

  

Campo

DDC_DECRIR

Tipo

Caracter

Tamanho

30

Decimal

0

Formato

@!

Título

Desc.Cri.Cal

Descrição

Descrição Crit.Cal. Ratei

Usado

Sim

Obrigatório

Não

Browse

Não

Inic. Padrão

AT250Ini()

Contexto

Virtual

Propriedade

Visualizar

Ordem

13

  

Campo

DDC_PRORAT

Tipo

Caracter

Tamanho

1

Decimal

0

Título

Criterio Rat

Descrição

Criterio Rateio

Usado

Sim

Obrigatório

Sim

Browse

Não

Modo Edição

AT250When()

Inic. Padrão

'1'

Val. Sistema

TmsValField('M->DDC_PRORAT', .T., 'DDC_DEPROR')  .AND. AT250Val()

Contexto

Real

Propriedade

Alterar

Cons. Padrão

DLC

Gatilhos

Sim

Ordem

14

  

Campo

DDC_DEPROR

Tipo

Caracter

Tamanho

30

Decimal

0

Formato

@!

Título

Desc.Cri.Rat

Descrição

Descrição Criterio Rateio

Usado

Sim

Obrigatório

Não

Browse

Não

Inic. Padrão

AT250Ini()

Contexto

Virtual

Propriedade

Visualizar

Ordem

15

  

Campo

DDC_ADIDOC

Tipo

Numérico

Tamanho

3

Decimal

0

Formato

@E 999

Título

Taxa Adi.Doc

Descrição

Taxa Adic.Por Docto

Usado

Sim

Obrigatório

Não

Browse

Não

Val. Sistema

Positivo()

Contexto

Real

Propriedade

Alterar

Ordem

16

  

Campo

DDC_VALCOL

Tipo

Caracter

Tamanho

1

Decimal

0

Formato

@!

Título

Val.Col.N.Re

Descrição

Valoriza Coleta Nao Real.

Usado

Sim

Obrigatório

Sim

Browse

Não

Opções

0=Não Utiliza; 1=Sim; 2=Não

Inic. Padrão

'0'

Val. Sistema

Pertence('012')

Contexto

Real

Propriedade

Alterar

Ordem

17

  

Campo

DDC_TIPOPE

Tipo

Caracter

Tamanho

1

Decimal

0

Formato

@!

Título

Tip.Operação

Descrição

Tipo de Operação

Usado

Sim

Obrigatório

Sim

Browse

Não

Opções

0=Não Utiliza; 1=Somente Coleta; 2=Coleta com Entrega

Inic. Padrão

'0'

Val. Sistema

Pertence('012')

Contexto

Real

Propriedade

Alterar

Ordem

18

  

Campo

DDC_CRDVFA

Tipo

Caracter

Tamanho

1

Decimal

0

Formato

@!

Título

Crit.Dev.Fal

Descrição

Criterio Devedor Faltante

Usado

Sim

Obrigatório

Sim

Browse

Não

Opções

0=Não Utiliza; 1=Divisão Aritmetica; 2=Divisão Proporcional

Modo Edição

AT250When()

Inic. Padrão

'0'

Val. Sistema

Pertence('012')

Contexto

Real

Propriedade

Alterar

Ordem

19

  

Campo

DDC_CRDVDC

Tipo

Caracter

Tamanho

1

Decimal

0

Formato

@!

Título

Sub.Cri.%Fix

Descrição

Sub.Criterio %Fixo

Usado

Sim

Obrigatório

Sim

Browse

Não

Opções

0=Não Utiliza; 1=Peso Real; 2=Peso Cubado; 3=Vlr Mercadoria; 4=Volumes; 5=M3; 6=Qtd Doctos

Modo Edição

AT250When()

Inic. Padrão

'0'

Val. Sistema

Pertence('0123456')

Contexto

Real

Propriedade

Alterar

Ordem

20

Campo

DDC_CRDVHV

Tipo

Caracter

Tamanho

1

Decimal

0

Formato

@!

Título

Crit.Her.Vlr

Descrição

Criterio Herda Valor

Usado

Sim

Obrigatório

Sim

Browse

Não

Opções

0=Nao Utiliza; 1=Peso Real; 2=Peso Cubado; 3=Vlr Mercadoria; 4=Volumes; 5=M3; 6=Qtd Doctos

Inic. Padrão

'0'

Val. Sistema

Pertence('0123456')

Contexto

Real

Propriedade

Alterar

Ordem

23


Arquivo DDP - Percent. rateio fixo Pag.Frete 

Campo

DDP_FILIAL

Tipo

Caracter

Tamanho

8

Decimal

0

Título

Filial

Descrição

Filial do Sistema

Usado

Não

Obrigatório

Não

Browse

Não

Contexto

Real

Propriedade

Visualizar

Grupo de Campos

033 - Tamanho da Filial

Ordem

01

  

Campo

DDP_NCONTR

Tipo

Caracter

Tamanho

15

Decimal

0

Título

No.Contrato

Descrição

Numero do Contrato

Usado

Sim

Obrigatório

Não

Browse

Sim

Val. Sistema

ExistCpo("AAM")

Contexto

Real

Propriedade

Visualizar

Ordem

02

Campo

DDP_CODNEG

Tipo

Caracter

Tamanho

2

Decimal

0

Formato

@!

Título

Cod Negociac

Descrição

Código da Negociacao

Usado

Sim

Obrigatório

Não

Browse

Sim

Val. Sistema

IIF(ALLTRIM(FUNNAME()) == "TECA250" , AT250INICP("DDP_CODNEG") , "")

Contexto

Real

Propriedade

Visualizar

Grupo de Campos

119 - Código da Negociação

Ordem

03

  

Campo

DDP_SERVIC

Tipo

Caracter

Tamanho

3

Decimal

0

Formato

@!

Título

Servico

Descrição

Codigo do Servico

Usado

Sim

Obrigatório

Não

Browse

Sim

Contexto

Real

Propriedade

Visualizar

Grupo de Campos

012 - Codigo de servico

Ordem

04

  

Campo

DDP_ITEM

Tipo

Caracter

Tamanho

2

Decimal

0

Formato

@!

Título

Item

Descrição

Item

Usado

Sim

Obrigatório

Não

Browse

Sim

Contexto

Real

Propriedade

Visualizar

Ordem

05

Campo

DDP_CLIDEV

Tipo

Caracter

Tamanho

6

Decimal

0

Formato

@!

Título

Cli.Dev.Rat

Descrição

Cliente Devedor de Rateio

Usado

Sim

Obrigatório

Sim

Browse

Sim

Modo Edição

AT250When()

Inic. Padrão

Iif(Inclui, M->AAM_CODCLI, AAM->AAM_CODCLI)

Val. Sistema

Vazio() .OR. AT250Val()

Contexto

Real

Propriedade

Alterar

Cons. Padrão

SA1

Gatilhos

Sim

Grupo de Campos

001 - Codigo Cliente/Fornecedor

Ordem

06

  

Campo

DDP_LOJDEV

Tipo

Caracter

Tamanho

2

Decimal

0

Formato

@!

Título

Loj.Dev.Rat

Descrição

Loja Cli. Devedor Rateio

Usado

Sim

Obrigatório

Sim

Browse

Sim

Modo Edição

AT250When()

Val. Sistema

Vazio() .OR. AT250Val()

Contexto

Real

Propriedade

Alterar

Gatilhos

Sim

Grupo de Campos

002 - Loja Cliente/Fornecedor

Ordem

07

  

Campo

DDP_NOMDEV

Tipo

Caracter

Tamanho

40

Decimal

0

Formato

@!

Título

Nome Cli.Dev

Descrição

Nome Cliente Devedor Rat

Usado

Sim

Obrigatório

Não

Browse

Sim

Inic. Padrão

Iif(Inclui, "", Iif(!Empty(DDP->DDP_CLIDEV), Posicione("SA1", 1, xFilial("SA1") + DDP->DDP_CLIDEV + DDP_LOJDEV, "A1_NOME"), ''))

Contexto

Virtual

Propriedade

Visualizar

Ordem

08

  

Campo

DDP_PERRAT

Tipo

Numérico

Tamanho

2

Decimal

0

Formato

99

Título

% Rateio

Descrição

Percentual de rateio

Usado

Sim

Obrigatório

Sim

Browse

Sim

Modo Edição

AT250When()

Val. Sistema

AT250Val()

Contexto

Real

Propriedade

Alterar

Ordem

09

 

Índices  

Índice

DDP

Ordem

1

Chave

DDP_FILIAL + DDP_NCONTR + DDP_CODNEG + DDP_SERVIC + DDP_ITEM

Descrição

No.Contrato + Cod Negociac + Servico + Item

Mostra Pesq.

Sim

  

Índice

DDP

Ordem

2

Chave

DDP_FILIAL + DDP_NCONTR + DDP_CLIDEV + DDP_LOJDEV + DDP_CODNEG + DDP_SERVIC + DDP_ITEM

Descrição

No.Contrato + Cli.Dev.Rat + Loj.Dev.Rat + Cod Negociac + Servico + Ite

Mostra Pesq.

Sim


Arquivo DJE - Componentes Herdados 

Campo

DJE_FILIAL

Tipo

Caracter

Tamanho

8

Decimal

0

Título

Filial

Descrição

Filial do Sistema

Usado

Não

Obrigatório

Não

Browse

Não

Contexto

Real

Propriedade

Visualizar

Grupo de Campos

033 - Tamanho da Filial

Ordem

01

  

Campo

DJE_CODPAS

Tipo

Caracter

Tamanho

2

Decimal

0

Título

Componente

Descrição

Componente

Usado

Sim

Obrigatório

Não

Browse

Não

Val. Sistema

ExistCpo("DT3", M->DJE_CODPAS)

Contexto

Real

Propriedade

Visualizar

Ordem

02

Campo

DJE_ITEM

Tipo

Caracter

Tamanho

4

Decimal

0

Formato

@!

Título

Item

Descrição

Item

Usado

Sim

Obrigatório

Não

Browse

Não

Contexto

Real

Propriedade

Visualizar

Ordem

03

Campo

DJE_CMPREL

Tipo

Caracter

Tamanho

2

Decimal

0

Formato

@!

Título

Cmp.Relac.

Descrição

Componente Relacionado

Usado

Sim

Obrigatório

Sim

Browse

Não

Modo Edição

TMSA030Wh()

Val. Sistema

ExistCpo("DT3", M->DJE_CMPREL) .AND. TmsA030Vld()

Contexto

Real

Propriedade

Alterar

Cons. Padrão

DT32

Gatilhos

Sim

Ordem

04

  

Campo

DJE_DESREL

Tipo

Caracter

Tamanho

30

Decimal

0

Formato

@!

Título

Desc.Cmp.Rel

Descrição

Descr Comp.Relacionado

Usado

Sim

Obrigatório

Não

Browse

Não

Inic. Padrão

Iif(!Inclui, Posicione("DT3", 1, xFilial("DT3") + DJE->DJE_CMPREL, "DT3_DESCRI"), "")

Contexto

Virtual

Propriedade

Visualizar

Ordem

05

 

Índices  

Índice

DJE

Ordem

1

Chave

DJE_FILIAL + DJE_CODPAS + DJE_ITEM

Descrição

Componente + Item

Mostra Pesq.

Sim

  

Índice

DJE

Ordem

2

Chave

DJE_FILIAL + DJE_CODPAS + DJE_CMPREL

Descrição

Componente + Cmp.Relac.

Mostra Pesq.

Sim

 

Arquivo DT5- Solicitação de Coleta

Campo

DT5_LOTE

Tipo

Caracter

Tamanho

6

Decimal

0

Formato

@!

Título

Lote Coleta

Descrição

Lote Coleta

Usado

Sim

Obrigatório

Não

Browse

Sim

Contexto

Real

Propriedade

Visualizar

Cons. Padrão

DTP

Ordem

74

  

Campo

DT5_KM

Tipo

Numérico

Tamanho

7

Decimal

1

Formato

@E 99,999.9

Título

KM

Descrição

KM

Usado

Não

Obrigatório

Não

Browse

Não

Val. Sistema

Positivo()

Contexto

Real

Propriedade

Alterar

Ordem

75

 

Campo

DT5_LOCCOL

Tipo

Caracter

Tamanho

1

Decimal

0

Formato

@!

Título

Local Coleta

Descrição

Local de Coleta

Usado

Sim

Obrigatório

Não

Browse

Sim

Opções

1=Solicitante; 2=Remetente

Inic. Padrão

'1'

Val. Sistema

Pertence('12') .AND. TMSA460Val()

Contexto

Real

Propriedade

Alterar

Gatilhos

Sim

Ordem

76

 

Arquivo DTP - Lote de Entrada Notas Fiscais

Campo

DTP_DECRIR

Tipo

Caracter

Tamanho

30

Decimal

0

Formato

@!

Título

Desc.Cri.Cal

Descrição

Descricao Crit.Cal. Ratei

Usado

Sim

Obrigatório

Não

Browse

Sim

Inic. Padrão

If(!Inclui, TMSValField('DTP->DTP_CRIRAT', .F., 'DTP_DECRIR'), '')

Contexto

Virtual

Propriedade

Visualizar

Inic. Browse

TMSValField('DTP->DTP_CRIRAT', .F., 'DTP_DECRIR')

Ordem

25

 

Campo

DTP_DEPROR

Tipo

Caracter

Tamanho

30

Decimal

0

Formato

@!

Título

Desc.Cri.Rat

Descrição

Descricao Criterio Rateio

Usado

Sim

Obrigatório

Não

Browse

Sim

Inic. Padrão

If(!Inclui, TMSValField('DTP->DTP_PRORAT', .F., 'DTP_DEPROR'), '')

Contexto

Virtual

Propriedade

Visualizar

Inic. Browse

TMSValField('DTP->DTP_CRIRAT', .F., 'DTP_DECRIR')

Ordem

26

 

Campo

DTP_CRDVFA

Tipo

Caracter

Tamanho

1

Decimal

0

Formato

@!

Título

Crit.Dev.Fal

Descrição

Criterio Devedor Faltante

Usado

Sim

Obrigatório

Não

Browse

Sim

Opções

0=Não Utiliza; 1=Divisão Aritmetica; 2=Divisão Proporcional

Inic. Padrão

'0'

Val. Sistema

Pertence('012')

Contexto

Real

Propriedade

Visualizar

Ordem

27

 

Campo

DTP_CRDVDC

Tipo

Caracter

Tamanho

1

Decimal

0

Formato

@!

Título

Cri.Pro.Col.

Descrição

Criterio Prop.Vlr. Coleta

Usado

Sim

Obrigatório

Não

Browse

Não

Opções

0=Não Utiliza; 1=Peso Real; 2=Peso Cubado; 3=Vlr Mercadoria; 4=Volumes; 5=M3; 6=Qtd Doctos

Inic. Padrão

'0'

Val. Sistema

Pertence('1234567')

Contexto

Real

Propriedade

Visualizar

Ordem

28

  

Campo

DTP_NCONTR

Tipo

Caracter

Tamanho

15

Decimal

0

Formato

@!

Título

No.Contrato

Descrição

No.Contrato Cli.Dev.

Usado

Sim

Obrigatório

Não

Browse

Não

Val. Sistema

Vazio() .OR. ExistCpo("AAM")

Contexto

Real

Propriedade

Visualizar

Ordem

31

  

Campo

DTP_KM

Tipo

Numérico

Tamanho

7

Decimal

1

Formato

@E 99,999.9

Título

KM

Descrição

KM

Usado

Sim

Obrigatório

Não

Browse

Não

Val. Sistema

Positivo()

Contexto

Real

Propriedade

Visualizar

Ordem

32

 

 Arquivo DUA - Registro de Ocorrencias 

Campo

DUA_VLROCO

Tipo

Numérico

Tamanho

14

Decimal

2

Formato

@E 99,999,999,999.99

Título

Vlr.Mer.Oco.

Descrição

Valor Mercadoria Ocor.

Usado

Sim

Obrigatório

Não

Browse

Não

Val. Sistema

Positivo() .AND. TMSA360VLD()

Contexto

Real

Propriedade

Alterar

Ordem

45

 

Campo

DUA_PESOM3

Tipo

Numérico

Tamanho

11

Decimal

4

Formato

@E 999,999.9999

Título

Peso Cubado

Descrição

Peso Cubado

Usado

Sim

Obrigatório

Não

Browse

Não

Inic. Padrão

if(Inclui, 0, Posicione("DT6", 1, xFilial("DT6") + DUA->(DUA_FILDOC + DUA_DOC + DUA_SERIE), "DT6_PESOM3"))

Contexto

Virtual

Propriedade

Visualizar

Ordem

46

 

Campo

DUA_PM3OCO

Tipo

Numérico

Tamanho

11

Decimal

4

Formato

@E 999,999.9999

Título

Pes.Cub.Oco

Descrição

Peso Cubado Ocorrencia

Usado

Sim

Obrigatório

Não

Browse

Não

Val. Sistema

TMSA360Vld()

Contexto

Real

Propriedade

Alterar

Ordem

47

 

Campo

DUA_METRO3

Tipo

Numérico

Tamanho

11

Decimal

4

Formato

@E 999,999.9999

Título

M3

Descrição

M3

Usado

Sim

Obrigatório

Não

Browse

Não

Inic. Padrão

if(Inclui, 0, Posicione("DT6", 1, xFilial("DT6") + DUA->(DUA_FILDOC + DUA_DOC + DUA_SERIE), "DT6_METRO3"))

Contexto

Virtual

Propriedade

Visualizar

Ordem

48

 

Campo

DUA_MT3OCO

Tipo

Numérico

Tamanho

11

Decimal

4

Formato

@E 999,999.9999

Título

M3 Oco.

Descrição

M3 Ocorrencia

Usado

Sim

Obrigatório

Não

Browse

Não

Val. Sistema

TMSA360VLD()

Contexto

Real

Propriedade

Alterar

Ordem

49

 

Campo

DUA_QTDUNI

Tipo

Numérico

Tamanho

5

Decimal

0

Formato

99999

Título

Qtde Unitiz.

Descrição

Quantidade Unitizador

Usado

Não

Obrigatório

Não

Browse

Não

Inic. Padrão

if(Inclui, 0, Posicione("DT6", 1, xFilial("DT6") + DUA->(DUA_FILDOC + DUA_DOC + DUA_SERIE), "DT6_QTDUNI"))

Contexto

Virtual

Propriedade

Visualizar

Ordem

50

 

Campo

DUA_QTUOCO

Tipo

Numérico

Tamanho

5

Decimal

0

Formato

99999

Título

Qtd.Unit.Oco

Descrição

Qtde Unitizador Ocor.

Usado

Sim

Obrigatório

Não

Browse

Não

Contexto

Real

Propriedade

Alterar

Ordem

51

 

Campo

DUA_BASSEG

Tipo

Numérico

Tamanho

14

Decimal

2

Formato

@E 99,999,999,999.99

Título

Base RR

Descrição

Base Risco Rodoviario

Usado

Sim

Obrigatório

Não

Browse

Não

Inic. Padrão

if(Inclui, 0, Posicione("DT6", 1, xFilial("DT6") + DUA->(DUA_FILDOC + DUA_DOC + DUA_SERIE), "DT6_BASSEG"))

Contexto

Virtual

Propriedade

Visualizar

Ordem

52

 

Campo

DUA_BASOCO

Tipo

Numérico

Tamanho

14

Decimal

2

Formato

@E 99,999,999,999.99

Título

Base RR Oco

Descrição

Base RR Ocorrencia

Usado

Sim

Obrigatório

Não

Browse

Não

Val. Sistema

Positivo()

Contexto

Real

Propriedade

Alterar

Ordem

53


Arquivo DUM - Itens de Solicitação de Coleta 

Campo

DUM_QTDUNI

Tipo

Numérico

Tamanho

5

Decimal

0

Formato

99999

Título

Qtde Unitiz.

Descrição

Quantidade Unitizador

Usado

Sim

Obrigatório

Não

Browse

Não

Contexto

Real

Propriedade

Alterar

Ordem

14

Campo

DUM_BASSEG

Tipo

Numérico

Tamanho

14

Decimal

2

Formato

@E 99,999,999,999.99

Título

Base RR

Descrição

Base Risco Rodoviario

Usado

Sim

Obrigatório

Não

Browse

Não


 Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico.