Árvore de páginas

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

  

Informações Gerais 

Especificação

Produto

Protheus

Módulo

SIGATMS

Segmento Executor

 

Projeto1

PDRDL

IRM1

PCREQ-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. Permite 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 por intermédio 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 por meio 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 será verificado 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 por meio 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 ser 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: 

DocumentoValor ReceitaCusto na Viagem
000001R$ 1.000,00R$ 250,00
000002R$ 2.000,00R$ 500,00
000003R$ 1.000,00R$ 250,00
Total:R$ 4.000,00R$ 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

DocumentoValor ReceitaCusto ViagemCusto Anterior Doc.Custo Total Documento
000001R$ 1.000,00R$ 333,00R$ 250,00R$ 583,00
000002R$ 2.000,00R$ 667,00R$ 500,00R$ 1.167,00
Total:R$ 3.000,00R$ 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 "Cons Custo Doc", onde será criada uma consulta com os documentos participantes do contrato e seus respectivos valores e percentuais de custo no contrato. 

RegrasRotina

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_PAR05Tipo 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 por intermédio da pesquisa no campo DA3_FROVEI.

O novo campo poderá receber as opções abaixo:

  • 1 – Própria.
  • 2 – Terceiro.
  • 3 - Agregado.
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 saldo não está disponível para os contratos do tipo 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 tratamento 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 do tipo 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 do tipo 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:

  • Número da Viagem.
  • Indica se exibe Help.

O retorno da função deverá ser um vetor com as informações do documento.

  • [01] = Filial do Documento.
  • [02] = Numero do Documento.
  • [03] = Série do Documento.
TMSA253

7 - Apuração da receita da viagem – Tmsa253Via()

Por meio 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:

  • Número da Viagem.
  • Indica se exibe Help.

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:

  • Filial do Documento.
  • Número do Documento.
  • Série do Documento.
  • Número da Viagem.
  • Indica se exibe help.

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 por meio do campo DTY_VALFRE + DTY_VALPDG.

A função deverá receber o parâmetro:

  • Número da Viagem.

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:

  • Receita da viagem.
  • Custo da viagem.
  • Vetor com os documentos da viagem.
  • Filial de origem da viagem.
  • Número da Viagem. 
  • Número do Contrato de Carreteiro.
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:

  • Número do contrato de carreteiro.
  • Filial de origem da viagem.
  • Numero da viagem.

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

Por meio 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:

  • Fil. Docto.
  • No. Docto.
  • Serie Docto.
  • Fil. Viagem.
  • Viagem.
  • Custo.
  • Percentual Rateio.
  • Número Contrato.
TMSA254

13 - Botão de Visualização do Histórico de Rateio a Pagar no Documento

Por meio 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

Por meio da opção "Cons Custo Doc" 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çãoObjetivo
TMSA250ProcRealiza o processamento dos dados para geração do contrato de carreteiro.
TMSA250GerDTYFunção responsável por realizar a gravação dos dados do contrato de carreteiro na tabela DTY.
TMSA250SLDFunção responsável por realizar o pagamento de saldo do contrato de carreteiro.
TMSA250SUBFunção responsável por realizar a chamada para sub-rotinas de geração de cheque.
A250BlqPgFunção responsável por realizar o bloqueio do pagamento do contrato de carreteiro.
A250LibPgFunção responsável por realizar a liberação do pagamento do contrato de carreteiro.
Tmsa253DocFunção responsável por pesquisar os documentos pertencentes a viagem para o cálculo do rateio a pagar.
Tmsa253ViaFunção responsável por realizar a apuração da receita da viagem.
Tmsa253RDcFunção responsável por realizar a apuração da receita do documento.
Tmsa253CusFunção responsável por realizar a apuração do custo da viagem.
Tmsa253GrvFunção responsável por realizar a gravação do rateio a pagar.
Tmsa253ExcFunçã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

-

TMSA254CriaçãoConsulta Custo dos Documentos
TMSA255CriaçãoConsulta Custo dos Documentos da Viagem-

TMSA500

Alteração

Atualizações -> Transportes -> Manutenção de Documentos

-

TMSA251EnvolvidaAtualizaçõ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 gerada os contratos de carreteiros.
  • Na rotina 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". 
  • Por intermédio 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

   

 

Protótipo 02 - Consulta Custo Documento no contrato de carreteiro. 


 

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

ValidPertence("123")
Cbox1=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"
Cbox1=Sim;2=Não
WhenIf(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.