Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|
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).
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.
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:
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, 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 clientes que utilizarem o novo conceito de negociação e estejam com o preview do frete a pagar habilitado, lembrando que o preview é gerado apenas por viagem e quando se tratar de uma única viagem na seleção do pergunte, não estando disponível para os contratos gerados por período.
O controle de apuração do custo x receita para identificação se a viagerm torna-se rentável à transportadora deverá ocorrer após o preview do contrato da viagem, podendo ser realizado 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) o sistema deverá v. Caso o valor a pagar do contrato ultrapasse o limite determinado no campo, o sistema deverá exibir uma mensagem para o usuário e caso ele confirme será gerado o contrato com status "Bloqueado".
O sistema passará a tentar 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 por tipo de frota. Se não for localizada a tabela o sistema retornará ao padrão de hoje buscando a tabela do contrato do fornecedor.
Acho interessante explicar como funcionará no caso das viagens de coletas. Que elas somente passarão a ter acumulados de valores de custo quando for gerado o CTe pois somente neste momento ela passará a ter uma receita vinculada. Valdemar pelo que me lembro conversamos junto com o Jefferson neste momento não seria tratado a parte de coletas, seria aberto um requisito para tratarmos como melhoria.
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).
Apuração do custo da viagem
Quando for contrato de carreteiro para "tabela de frete a pagar", deverá ser somado os valores dos componentes do contrato da viagem através da tabela "Composição Frete de Contrato" (DVP) por meio do campo "Valor do Componente" DVP_VALPAS (Sem impostos). Acho melhor pegar direto do valor do frete que irá pra DTY. Hoje fazemos isso. Valdemar pelo fonte que tenho aqui quando se trata de tabela de frete a pagar vocês pegavam o valor da tabela DVP, por isso escrevi assim.
Quando for contrato de carreteiro para "tabela de carreteiro", deverá ser realizado a apuração por meio do campo "Frete" DTY_VALFRE. É o que eu escrevi acima.
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.
Regra para determinar o percentual de ocupação do documento na viagem: Valdemar, poderia confirmar se a regra está correta pelo que li no fonte este foi o meu entendimento.
% 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:
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:
Documento | Valor Receita | Custo na Viagem |
---|---|---|
000001 | 1.000,00 | 250,00 |
000002 | 2.000,00 | 500,00 |
000003 | 1.000,00 | 250,00 |
Total: | 4.000,00 | 1.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
Documento | Valor Receita | Custo Viagem | Custo Anterior Doc. | Custo Total Documento |
---|---|---|---|---|
000001 | 1.000,00 | 333,00 | 250,00 | 583,00 |
000002 | 2.000,00 | 667,00 | 500,00 | 1.167,00 |
Total: | 3.000,00 | 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%.
Regras | Rotina |
1 - Geração de Contrato de Carreteiro para Frota Própria – TMSA250Proc() 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. 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 contato 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 saldos não está disponível para os contrato de frota própria. | TMSA250 |
4 - Rotina de Informa Cheque cheques não está disponível para os contratos de frota própria. | TMSA250 |
5 - Rotina de Bloqueio e liberação de pagamentos 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 – TmsPsqDoc() O retorno da função deverá ser um vetor com as informações do documento. | TMSRATPAG1 |
7 - Apuração da receita da viagem – TmsRecViag() A função deverá receber os parâmetros: | TMSRATPAG1 |
8 - Apuração da receita do Documento – TmsRecDoc()
| TMSRATPAG1 |
9 - Apuração do Custo da Viagem dos contratos de Carreteiro – TmsCusVge() da tabela DVP campo DVP_VALPAS. | TMSRATPAG1 |
10 - Gravação do rateio do frete a pagar – TmsGrvRat() | TMSRATPAG1 |
11 - Criação da Função para excluir o rateio do frete a pagar – TmsExcRat() | TMSRATPAG1 |
12 - Criação da tela de consulta de valores do rateio a pagar seguintes informações: | TMSA500 |
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. |
TmsRatPag | Função responsável por realizar a validação TudoOk do rateio a pagar. |
TmsPsqDoc | Função responsável por pesquisar os documentos pertencentes a viagem para o calculo do rateio a pagar. |
TmsRecViag | Função responsável por realizar a apuração da receita da viagem. |
TmsRecDoc | Função responsável por realizar a apuração da receita do documento |
TmsCusVge | Função responsável por realizar a apuração do custo da viagem. |
TmsGrvRat | Função responsável por realizar a gravação do rateio a pagar. |
TmsExcRat | 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 | - |
TMSRATPAG1 | Criação | Função Genérica | - |
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:
Tabelas Utilizadas
Protótipo 01 - Consulta valores de Rateio do documento
<Nesta etapa incluir representações gráficas que descrevam o problema a ser resolvido e o sistema a ser desenvolvido. Exemplo: Diagrama - Caso de Uso, Diagrama de Atividades, Diagrama de Classes, Diagrama de Entidade e Relacionamento e Diagrama de Sequência>.
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 |
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: 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. |
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 | "1" |
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. |
---|