Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

 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 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 o 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 e nem pedido de compra, estes contratos deverão ser gerados apenas no módulo SIGATMS.

O conceito de apuração de custo x receita estará disponível apenas para transportadores que utilizarem o novo conceito de negociação.

O controle de apuração do custo x receita para identificação se a viagem torna-se rentável à transportadora  ocorrerá após o 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.

O Contrato pode ser gerado na inclusão da viagem desde que o parâmetro 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 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á exibir 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). Cujos componentes de frete estejam configurados com o campo DT3_RECEIT igual a 1.

 

Apuração do custo da viagem

A apuração do valor do frete a pagar será realizado 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 as 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:  100 / 1000 = 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: 500 * 0,10 = 50

 O custo do documento na viagem será de 50,00.  


A tabela DJC será composta dos campos: 

  • Filial Documento
  • Documento
  • Serie Documento
  • Filial da Viagem
  • Viagem
  • Custo
  • Percentual Rateio
  • Número Contrato

Manutenção de Documentos

Através da rotina de manutenção de documentos, será disponibilizado um novo botão no "Ações Relacionadas" do documento que irá permitir visualizar a rentabilidade do documento.

 Exemplo de aplicação: 

Viagem de Transferência:

Num. Viagem = 000010

Valor Custo Viagem = 1.000,00

A viagem de Transferência 000010 está composta pelos documentos: 

DocumentoValor ReceitaCusto na Viagem
0000011.000,00250,00
0000022.000,00500,00
0000031.000,00250,00
Total:4.000,001.000,00

Após a realização do calculo do custo do documento na viagem, será gravado 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

Num. Viagem = 000020

Valor Custo Viagem = 1.000,00

DocumentoValor ReceitaCusto ViagemCusto Anterior Doc.Custo Total Documento
0000011.000,00333,00250,00583,00
0000022.000,00667,00500,001.167,00
Total:3.000,001.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á criado 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 MV_PAR05 “Tipo da Frota?” estiver configurado com a opção 1= Todas ou 2 = Própria 

e confirmar a geração da 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” devera ser considerado o conteúdo do MV_PAR12. E 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:
• 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 apresentado 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 apresentado 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 apresentado 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 criado uma função que pesquise os documentos das viagens para serem utilizados na rotina de rateio a pagar. A função deverá receber como parâmetro:
• Numero 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()
Através desta função deverá ser realizado 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 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
• Numero do Documento
• Serie do Documento
• Numero 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 através do campo DTY_VALFRE + DTY_VALPDG.

A função deverá receber o parâmetro:
• Numero 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 realizado a exclusão dos registros referente a este contrato na tabela DJC.
A função receberá os parâmetros:
• Numero 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
Através da opção Outras Ações do documento na rotina de manutenção de documentos deverá ser criado 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á demonstrado 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

Através da opção Outras Ações do documento na rotina de manutenção de documentos deverá ser criado 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çã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 calculo 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ção  
TMSA255Criação  

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á o % 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, veiculo e motorista e ao confirmar a gravação da viagem, será chamado o preview do frete a pagar. 
  • Onde 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á gerado 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 realizado a sua liberação por meio da rotina "Liberação de contratos de carreteiros". 
  • Através da rotina de 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á apresentado 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

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"12"
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.