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:
Para melhor entendimento, dividimos o processo em 3 partes, sendo:
- 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 | Remetente=Devedor–1 | Remetente=Devedor–1 |
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:
|
| C-Maior Peso Previsto x Realizado | Conceitualmente temos:
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:
|
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”):
| 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”):
| ||
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:
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)
| 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:
| ||
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:
| ||
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).
|
|
| 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_FILIAL | DT8_FILIAL |
DJI_CODPAS | DT8_CODPAS |
DJI_VALPAS | DT8_VALPAS |
DJI_VALIMP | DT8_VALIMP |
DJI_VALTOT | DT8_VALTOT |
DJI_FILDOC | DT8_FILDOC |
DJI_DOC | DT8_DOC |
DJI_SERIE | DT8_SERIE |
DJI_ITEMD2 | DT8_ITEMD2 |
DJI_FILORI | DT8_FILORI |
DJI_NUMCOT | DT8_NUMCOT |
DJI_CDRORI | DT8_CDRORI |
DJI_CDRDES | DT8_CDRDES |
DJI_CODPRO | DT8_CODPRO |
DJI_TABFRE | DT8_TABFRE |
DJI_TIPTAB | DT8_TIPTAB |
DJI_SEQTAB | DT8_SEQTAB |
DJI_PERRAT | DT8_PERRAT |
DJI_NUMAWB | DT8_NUMAWB |
DJI_DESC | DT8_DESC |
DJI_ACRESC | DT8_ACRESC |
DJI_CALMIN | DT8_CALMIN |
DJI_CODCIA | DT8_CODCIA |
DJI_LOJCIA | DT8_LOJCIA |
DJI_DIGAWB | DT8_DIGAWB |
DJI_DATGER | Data do Sistema |
DJI_HORGER | Hora do Sistema |
DJI_FILVGE | DTQ_FILORI |
DJI_VIAGEM | DTQ_VIAGEM |
DJI_SEQGER | Nro 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_CODUSR | Codigo 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 | - |
TMSXFUNA | Alteração | Função genérica | - |
TMSXFUNB | Alteração | Função genérica | - |
TMSXFUNC | Alteração | Função genérica | - |
TMSA310 | Alteração | Atualizações/Viagem/Fechamento da Viagem | - |
TMSA170 | Alteração | Atualizações/Recebimento/Lote Entrada NF | - |
TMSA200 | Alteração | Atualizações/Recebimento/Calculo do Frete | - |
TMSA340 | Alteração | Atualizações/Viagem/Encerramento da Viagem | - |
TMSA050 | Alteração | Atualizações/Recebimento/Entrada Doc.Cliente | - |
TMSA460 | Alteração | Atualizações/SAC/Solicitacao de Coleta | - |
TMSA360 | Alteração | Atualizações/Ocorrencias/Reg.Ocorrencias | - |
TMSA200A | Alteração | Atualizações/Recebimento/Calculo do Frete | - |
TMSA030 | Alteração | Atualizações/Comercial/Componentes Frete | - |
TMSA130 | Alteração | Atualizações/Comercial/Configuração Tabela de Frete | - |
TMSA040 | Alteração | Atualizações/SAC/Cotações de Fretes | - |
TMSA960 | Alteração | Miscelanea/Simulado/Simulado | - |
TMSAI70 | Alteração | Atualizaçõ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. |
---|