Histórico da Página
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-8620 |
Requisito1 |
| 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
Possibilitar a geração de contratos de carreteiros para frotas próprias e apuração da rentabilidade bruta dos contratos de carreteiros gerados para as viagens, realizando o rateio do frete a pagar entre os documentos da viagem. Permitindo ao transportador identificar se a alocação de um documento em uma determinada viagem é rentável ou não.
Definição da Regra de Negócio
Atualmente na geração do contrato de carreteiro, não temos como identificar para qual tipo de frota aquele contrato foi gerado. Sendo assim, será criado um novo campo na tabela de contrato de carreteiro (DTY), que deverá identificar o tipo de frota do contrato gerado.
Podendo ter as seguintes opções:
- 1 – Própria.
- 2 – Terceiro.
- 3 – Agregado.
O contrato deverá ser gerado de acordo com os parâmetros da rotina, sendo que para contratos por viagem, devemos verificar o conteúdo do parâmetro Tipo da Frota (MV_PAR05) e quando o contrato for por período, deverá ser verificado o conteúdo do parâmetro Tipo da Frota (MV_PAR12).
Para a geração do contrato de carreteiro para frota própria, será necessário cadastrar a transportadora como um “fornecedor”. E através da rotina de contrato de fornecedor criar um contrato para a Transportadora, informando uma tabela de frete a pagar ou uma tabela de carreteiro por rota.
Os contratos de carreteiros gerados para frota própria não irão gerar financeiro, integração com operadoras de frota e nem pedido de compra. Estes contratos deverão ser gerados apenas no módulo Gestão de Transportes (SIGATMS).
O controle de apuração do custo x receita para identificação se a viagem é rentável à transportadora, ocorrerá após a confirmação do preview do contrato da viagem para os casos que utilizarem o preview habilitado, pois neste momento o usuário pode realizar a inclusão de acréscimos ou decréscimos no contrato, e somente após a apuração do valor final a pagar para a viagem, é que se faz possível o cálculo da rentabilidade da mesma.
O Contrato pode ser gerado na inclusão da viagem desde que o parâmetro inicial Carregamento esteja configurado com a opção “Com Manif/Cont” ou “Com Contrato”. Assim, será possível identificar antes da saída da viagem, se algum dos documentos podem ter um custo maior que o determinado no contrato do cliente através da opção “% Custo sobre a receita” na tabela DDA. Este mesmo campo será criado na tabela DDC (Negociações) e no contrato do fornecedor tabela DVG (Contrato de Fornecedores). O sistema deverá primeiro verificar se existe valor na tabela DDA e caso não exista, subirá de nível para a tabela DDC não localizando se será verificada então a tabela DVG contrato do fornecedor. Caso o valor a pagar do contrato ultrapasse o limite determinado no campo, o sistema deverá apresentar uma mensagem para o usuário e será gerado o contrato com status "Bloqueado". O contrato sendo gerado com status bloqueado para sua continuidade deverá ocorrer a liberação por um usuário que tenha acesso a rotina de "Liberação de Contratos de Carreteiro".
Para o cálculo do frete a pagar nas viagens, o sistema passará a localizar a tabela do frete a pagar ou a tabela de frete carreteiro com base no serviço de negociação do contrato do cliente devedor por tipo de frota. Se não for localizada a tabela no contrato do cliente devedor, o sistema retornará ao padrão de hoje buscando a tabela do contrato do fornecedor. No contrato do fornecedor será disponibilizado o novo campo "% Cust x Rec", para definir o percentual de rentabilidade, este novo campo será criado nos itens do contrato.
Os contratos de carreteiros complementares, também serão contemplados na apuração do custo da viagem devendo ser gerado um registro na tabela DJC quando este contrato for gerado, somando o valor ao custo final do documento e verificando se não irá ultrapassar o percentual de rentabilidade determinada no contrato do cliente e ou fornecedor.
Rentabilidade do Contrato - Custo x Receita
Para identificação da rentabilidade entre os contratos de carreteiros e a receita dos documentos, será necessário identificar a receita dos documentos na viagem.
Apuração da Receita da viagem
A apuração do valor da receita da viagem será baseada na somatória do valor da receita dos componentes dos documentos da viagem através da tabela "Composição de Frete" DT8 - campo "Valor do Componente" DT8_VALPAS (Sem impostos). Estes componentes de frete devem estar configurados com o campo DT3_RECEIT igual a 1 (Sim).
Apuração do custo da viagem
A apuração do valor do frete a pagar será realizada por meio do campo "Frete" (DTY_VALFRE). Quando da existência de "pedágio" (DTY_VALPDG) no contrato este valor deverá ser somado no custo da viagem. Assim, teremos o custo da viagem apurado com a somatória dos campos DTY_VALFRE + DTY_VALPDG.
Com a apuração do custo do documento na viagem, será disponibilizada uma nova tabela DJC "Histórico do Custo do documento". Uma vez apurado o percentual de ocupação do documento na viagem e o valor do custo do documento, estas informações deverão serem gravadas nesta nova tabela.
Na apuração do custo da viagem de entrega / transferência, serão verificados os documentos da viagem, bem como os custos de suas solicitações de coleta, para a formação do rateio a pagar entre os documentos. O custo referente às viagens de coletas neste momento não será contemplado, pois neste momento podemos ainda não ter a valorização das coletas.
Regra para determinar o percentual de ocupação do documento na viagem:
% de ocup. doc viagem = (Receita do doc / Rec. Total da viagem)
Exemplo: R$ 100,00 / R$ 1.000,00 = 0,1%
O percentual de ocupação deste documento é de 0,10% do total da viagem.
Regra para determinar o valor do Custo do documento na viagem:
Custo Doc = (Custo da viagem * % de Ocupação do Doc. Na viagem)
Exemplo: R$ 500,00 * 0,10% = R$ 50,00
O custo do documento na viagem será de R$ 50,00.
A tabela DJC será composta dos campos:
- Filial do Documento.
- Documento.
- Serie do Documento.
- Filial da Viagem.
- Viagem.
- Custo.
- Percentual do Rateio.
- Número do Contrato.
- Valor da Receita.
Manutenção de Documentos
Por meio da rotina de manutenção de documentos, será disponibilizado um novo botão em "Outras Ações", o qual irá permitir visualizar a rentabilidade do documento.
Exemplo de aplicação:
Viagem de Transferência:
Número da Viagem = 000010
Valor do Custo da Viagem = R$ 1.000,00
A viagem de transferência 000010 está composta pelos documentos:
Documento | Valor Receita | Custo na Viagem |
---|---|---|
000001 | R$ 1.000,00 | R$ 250,00 |
000002 | R$ 2.000,00 | R$ 500,00 |
000003 | R$ 1.000,00 | R$ 250,00 |
Total: | R$ 4.000,00 | R$ 1.000,00 |
Após a realização do cálculo do custo do documento na viagem, serão gravados na tabela DJC os valores do custo por documento. Assim, quando este documento participar de uma nova viagem, este registro servirá como base para complementar o custo do documento na próxima viagem, conforme exemplo a seguir.
Viagem de Entrega
Número da Viagem = 000020
Valor do Custo da Viagem = 1.000,00
Documento | Valor Receita | Custo Viagem | Custo Anterior Doc. | Custo Total Documento |
---|---|---|---|---|
000001 | R$ 1.000,00 | R$ 333,00 | R$ 250,00 | R$ 583,00 |
000002 | R$ 2.000,00 | R$ 667,00 | R$ 500,00 | R$ 1.167,00 |
Total: | R$ 3.000,00 | R$ 1.000,00 | --------------------------- | --------------------------------- |
Como podemos ver no exemplo, o documento 00001 teve uma receita de R$ 1.000,00 e um custo final até a sua entrega de R$ 583,00, tendo um custo de 58% sobre a receita. Ou seja, este documento teria um lucro de 42%.
Além da rotina de manutenção de documentos, também será possível realizar a consulta da rentabilidade do contrato na visualização do mesmo por meio da opção "Outras Ações", onde será criada uma consulta com os documentos participantes do contrato e seus respectivos valores e percentuais de custo no contrato.
Regras | Rotina |
1 - Geração de Contrato de Carreteiro para Frota Própria – TMSA250Proc() Após o usuário selecionar a opção “Por Viagem” e o parâmetro MV_PAR05 “Tipo da Frota?”, estiver configurado com a opção 1= Todas ou 2 = Própria e confirmar a geração do contrato, deverá ser realizado um tratamento na função TMSA250Proc(), para permitir a geração do contrato de carreteiro para frota própria, passando o conteúdo para a variável cTipVei de acordo com o informado no MV_PAR. Caso a opção selecionada pelo usuário seja “Por período”, deverá ser considerado o conteúdo do parâmetro MV_PAR12. Deverá ser realizado o mesmo processo para a varíavel cTipVei. Ainda na função TMSA250Proc() deverá ser realizado tratamento para que mesmo com o parâmetro lGertTit verdadeiro, não execute a geração do titulo quando se tratar de frota própria. | TMSA250 |
2 - Gravação do Contrato frota própria Na função TMA250GerDTY, deverá ser realizado tratamento para que o novo campo “Tipo da Frota” (DTY_TIPFROT), receba o conteúdo de acordo com o tipo de frota que está sendo gerado o contrato através da pesquisa no campo DA3_FROVEI. O novo campo poderá receber as opções abaixo:
| TMSA250 |
3 - Rotina de pagamento de Saldo do contrato de carreteiro Quando se tratar de um contrato de carreteiro de frota própria e o usuário tentar selecionar a opção de “Pagto saldo”, deverá ser apresentada uma mensagem informando que a rotina de pagamento de saldos não está disponível para os contrato de frota própria. Para tal, será necessário realizar um tratamento na função TMSA250SLD() que deverá verificar se o campo DTY_TIPFROT é igual a 1 – Própria. | TMSA250 |
4 - Rotina de Informa Cheque Deverá ser realizado o mesmo tramento da rotina de saldo, caso o usuário tente selecionar a opção “Informa cheque”, deverá ser apresentada uma mensagem informando que a rotina de geração de cheques não está disponível para os contratos de frota própria. O tratamento deverá ser realizado na função TMSA250Sub(), verificando se o conteúdo do campo DTY_TIPFROT é igual a 1 – Própria. | TMSA250 |
5 - Rotina de Bloqueio e liberação de pagamentos Caso o usuário selecione a opção Gerir ctc e escolha a opção de bloqueio ou liberação de pagamento, deverá ser apresentada uma mensagem informando que a rotina não está disponível para os contratos de frota própria. Deverá ser realizado tratamento nas funções A250BlqPg() e A250LibPg(), verificando se o conteúdo do campo DTY_TIPFROT é igual a 1 – Própria. | TMSA250 |
6 - Buscar os documentos das viagens para o calculo do rateio a pagar – Tmsa253Doc() Deverá ser criada uma função que pesquise os documentos das viagens para serem utilizadas na rotina de rateio a pagar. A função deverá receber como parâmetro:
O retorno da função deverá ser um vetor com as informações do documento.
| TMSA253 |
7 - Apuração da receita da viagem – Tmsa253Via() Através desta função, deverá ser realizada a apuração da receita da viagem com a somatória do valor da receita dos componentes de frete referente aos documentos da viagem, por meio do campo DT8_VALPAS. Cujo os componentes de frete estejam configurados com o campo DT3_RECEIT igual a 1 – SIM. A função deverá receber os parâmetros:
O retorno será o valor da receita da viagem sem impostos. | TMSA253 |
8 - Apuração da receita do Documento – Tmsa253RDc() Esta função deverá apurar a receita de cada documento, para utilizar na apuração do percentual da ocupação do documento na viagem. A função receberá os parâmetros:
O retorno será um vetor com o valor de receita do documento. | TMSA253 |
9 - Apuração do Custo da Viagem dos contratos de Carreteiro – Tmsa253Cus() Apurar o custo da viagem sem impostos. A apuração deverá ocorrer através do campo DTY_VALFRE + DTY_VALPDG. A função deverá receber o parâmetro:
O retorno deverá ser o custo da viagem sem impostos, por meio de um vetor. | TMSA253 |
10 - Gravação do rateio do frete a pagar – Tmsa253Grv() Esta função deverá ser preparada para realizar a gravação do rateio a pagar na tabela DJC – Histórico do custo do documento. Recebendo os parâmetros:
| TMSA253 |
11 - Criação da Função para excluir o rateio do frete a pagar – Tmsa253Exc() Deverá ser criada a função TmsExcRat() para verificar se está sendo excluído um contrato de carreteiro e caso sim, deverá ser realizada a exclusão dos registros referente a este contrato na tabela DJC. A função receberá os parâmetros:
Localizando registros deverá realizar a exclusão dos itens na tabela. | TMSA253 |
12 - Criação da tela de consulta de valores do rateio a pagar Através da opção "Outras Ações" do documento, na rotina de manutenção de documentos deverá ser criada uma nova opção de consulta dos valores do rateio a pagar. Nesta opção será realizada a chamada para a nova tela por meio do fonte TMSA254. Nesta tela será demonstrada as seguintes informações:
| TMSA254 |
13 - Botão de Visualização do Histórico de Rateio a Pagar no Documento Através da opção "Outras Ações" do documento, na rotina de manutenção de documentos deverá ser criada uma nova opção de consulta dos valores do rateio a pagar. | TMSA500 |
14 - Consulta Custo dos Documentos da viagem no Contrato de Carreteiro Através da opção "Outras Ações" do contrato de carreteiro será possível consultar o histórico do custo dos documentos da viagem em outros contratos. | TMSA255 |
Mapeamento da Funções envolvidas:
Função | Objetivo |
---|---|
TMSA250Proc | Realiza o processamento dos dados para geração do contrato de carreteiro. |
TMSA250GerDTY | Função responsável por realizar a gravação dos dados do contrato de carreteiro na tabela DTY. |
TMSA250SLD | Função responsável por realizar o pagamento de saldo do contrato de carreteiro. |
TMSA250SUB | Função responsável por realizar a chamada para sub-rotinas de geração de cheque. |
A250BlqPg | Função responsável por realizar o bloqueio do pagamento do contrato de carreteiro. |
A250LibPg | Função responsável por realizar a liberação do pagamento do contrato de carreteiro. |
Tmsa253Doc | Função responsável por pesquisar os documentos pertencentes a viagem para o calculo do rateio a pagar. |
Tmsa253Via | Função responsável por realizar a apuração da receita da viagem. |
Tmsa253RDc | Função responsável por realizar a apuração da receita do documento |
Tmsa253Cus | Função responsável por realizar a apuração do custo da viagem. |
Tmsa253Grv | Função responsável por realizar a gravação do rateio a pagar. |
Tmsa253Exc | Função responsável por realizar a exclusão dos registros de rateio em caso de cancelamento do contrato de carreteiro. |
Rotina | Tipo de Operação | Opção de Menu | Regras de Negócio |
TMSA250 | Alteração | Atualizações -> Terceiros -> Contrato de Carreteiro | - |
TMSA253 | Criação | Função Genérica para controle do Cálculo do Rateio a Pagar | - |
TMSA254 | Criação | ||
TMSA255 | Criação | ||
TMSA500 | Alteração | Atualizações -> Transportes -> Manutenção de Documentos | - |
TMSA251 | Envolvida | Atualizações -> Terceiros -> Liberação de Contratos de Carreteiros |
Exemplo de Aplicação:
- Criar um contrato de fornecedor para a transportadora, informando uma tabela de frete a pagar ou uma tabela de carreteiro por rota.
- Criar o campo “% Custo sobre a receita” (DDA_PERCUS) no contrato do cliente onde o usuário informará a % do custo sobre a receita que poderá ser gerado os contratos de carreteiros.
- Na rotina de contrato de carreteiros habilitar o uso do Preview do Frete.
- Configurar o parâmetro "Tipo da Frota?" igual a Todas.
- Na rotina de viagens configurar o parâmetro de inclusão da viagem "Carregamento" com a opção "Com Contrato".
- Informar os documentos da viagem, veículo e motorista, e ao confirmar a gravação da viagem, será chamado o preview do frete a pagar.
- O sistema irá verificar se o valor do frete a pagar está dentro da rentabilidade informada no contrato do cliente. O valor sendo condizente será gerado o contrato de carreteiro, não sendo, será gerada uma mensagem ao usuário e caso o mesmo confirme, será gerado o contrato de carreteiro com status "Bloqueado" na tabela DTY.
- Caso o contrato esteja bloqueado, deverá ser realizada a sua liberação por meio da rotina "Liberação de contratos de carreteiros".
- Através da rotina manutenção de documentos, o usuário poderá verificar o histórico do custo do documento por meio a opção "Ações Relacionadas / Hist. Rat Pagar.", onde será apresentada uma tela com o custo do documento por viagem.
Tabelas Utilizadas
- DTY - Contrato de Carreteiro.
- DDA - Serviços Negociação do Cliente.
- DDC - Negociações por Cliente.
- DJC - Histórico do Custo do Documento.
- DT3 - Componentes de Frete.
- DVG - Contrato de Fornecedores.
Protótipo de Tela
Protótipo 01 - Consulta valores de Rateio do documento
Dicionário de Dados
Arquivo ou Código do Script: DJC - Histórico do Custo do Documento
Índice | Chave |
01 | DJC_FILIAL+DJC_FILDOC+DJC_DOC+DJC_SERIE+DJC_FILORI+DJC_VIAGEM+DJC_NUMCTC |
Campo | DJC_FILIAL |
Tipo | C |
Tamanho | 2 |
Descrição | Filial do Sistema |
Título | Filial |
Grupo de Campo | 033 |
Picture | @! |
Help de Campo | Filial do Sistema |
Campo | DJC_FILDOC |
Tipo | Caracter |
Tamanho | 2 |
Decimal | 0 |
Formato | @! |
Título | Fil. Docto |
Descrição | Filial Documento |
Usado | Sim |
Obrigatório | Sim |
Browse | Sim |
Contexto | Real |
Propriedade | Visualizar |
Grupo de Campos | 033 |
Help | Filial emitente do Documento |
Ordem | 02 |
Campo | DJC_DOC |
Tipo | Caracter |
Tamanho | 9 |
Decimal | 0 |
Formato | @! |
Título | Documento |
Descrição | Documento |
Usado | Sim |
Obrigatório | Sim |
Browse | Sim |
Contexto | Real |
Propriedade | Visualizar |
Help | Número do Documento de Transporte |
Ordem | 03 |
Campo | DJC_SERIE |
Tipo | C |
Tamanho | 3 |
Grupo de Campo |
|
Título | Serie Docto |
Descrição | Serie Documento |
Picture | @! |
Contexto | Real |
Visual | Visualizar |
Help de Campo | Série do documento de transporte |
Ordem | 04 |
Campo | DJC_FILORI |
Tipo | C |
Tamanho | 2 |
Grupo de Campo | 033 |
Descrição | Fil. Viagem |
Título | Filial da Viagem |
Picture | @! |
Contexto | Real |
Visual | Visualizar |
Help de Campo | Filial da viagem |
Ordem | 05 |
Campo | DJC_VIAGEM |
Tipo | C |
Tamanho | 6 |
Descrição | Viagem |
Título | Viagem |
Picture | @! |
Contexto | Real |
Visual | Visualizar |
Help de Campo | Número da viagem |
Ordem | 06 |
Campo | DJC_VLRCST |
Tipo | N |
Tamanho | 14 |
Título | Custo |
Descrição | Custo |
Picture | @E 99,999,999,999.99 |
Contexto | Real |
Visual | Visualizar |
Valid |
|
Help de Campo | Custo do Documento na viagem |
Ordem | 07 |
Campo | DJC_PERRAT |
Tipo | N |
Tamanho | 6 |
Descrição | Perc. Rat. |
Título | Percentual Rateio |
Picture | @E 999.99 |
Contexto | Real |
Visual | Visualizar |
Help de Campo |
|
Ordem | 08 |
Campo | DJC_NUMCTC |
Tipo | C |
Tamanho | 9 |
Descrição | Numero do Contrato |
Título | No.Contrato |
Picture | @! |
Contexto | Real |
Visual | Visualizar |
Help de Campo | Numero do contrato de carreteiro |
Ordem | 09 |
Arquivo ou Código do Script: DDA - Serviços Negociação Cliente
Campo | DDA_PERCUS |
Tipo | N |
Tamanho | 6 |
Descrição | % Custo sobre a Receita. |
Título | % Cust x Rec |
Picture | @E 999.99 |
Contexto | Real |
Visual | Alterar |
Help de Campo | Define o percentual do custo que o documento poderá obter sobre a receita. |
Arquivo ou Código do Script: DDC - Negociação por Cliente
Campo | DDC_PERCUS |
Tipo | N |
Tamanho | 6 |
Descrição | % Custo sobre a Receita. |
Título | % Cust x Rec |
Picture | @E 999.99 |
Contexto | Real |
Visual | Alterar |
Help de Campo | Define o percentual do custo que o documento poderá obter sobre a receita. |
Arquivo ou Código do Script: DVG - Contrato de Fornecedores
Campo | DVG_PERCUS |
Tipo | N |
Tamanho | 6 |
Descrição | % Custo sobre a Receita. |
Título | % Cust x Rec |
Picture | @E 999.99 |
Contexto | Real |
Visual | Alterar |
Help de Campo | Define o percentual do custo que o documento poderá obter sobre a receita. |
Arquivo ou Código do Script: DTY - Contrato de Carreteiro
Campo | DTY_TIPFROT |
Tipo | C |
Tamanho | 1 |
Descrição | Tipo Frota |
Título | Tip. Frota |
Picture | @! |
Contexto | Real |
Visual | Visualizar |
Valid | Pertence("123") |
Cbox | 1=Propria;2=Terceiro;3=Agregado |
Help de Campo | Tipo de frota do contrato de carreteiro gerado. |
Campo | DTY_PERCUS |
Tipo | N |
Tamanho | 6 |
Descrição | % Custo sobre a Receita. |
Título | % Cust x Rec |
Picture | @E 999.99 |
Contexto | Real |
Visual | Visualizar |
Help de Campo | Refere-se ao percentual máximo do custo x a receita aplicado no momento do calculo do contrato de carreteiro. Este percentual é aplicado de acordo com a geração do contrato de carreteiro, podendo vir do contrato de cliente por meio da tabela DDA ou DCC, ou pelo contrato de fornecedor através da tabela DVG. |
Arquivo ou Código do Script: DT3 - Componentes de frete
Campo | DT3_RECEIT |
Tipo | C |
Tamanho | 1 |
Descrição | Receita |
Título | Receita |
Picture | @! |
Contexto | Real |
Visual | Alterar |
Inic. Padrão | "2" |
Cbox | 1=Sim;2=Não |
When | If(Val(M->DT3_TIPFAI) < 50,.T.,.F.) |
Help de Campo | Determina se o componente de frete será um componente de receita, para calculo da rentabilidade entre a receita e o custo dos contratos de carreteiros. Devendo ser configurado apenas para os componentes de frete cujo o campo Calc. Sobre seja menor ou igual a 50. |
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|