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

LOGTMS01

IRM/EPIC1

LOGTMS01-935

Requisito/Story/Issue1

 

Subtarefa1

 

Chamado/Ticket2

 

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

Implementar o conceito de ocorrência de receita e despesa, reentrega e devolução com controle de liberação por alçada de valor e entrega por trecho de redespacho.

 

Neste requisito serão implementadas as seguintes melhorias:

 

  1. Funcionalidade para registro de ocorrência de receita/despesa, reentrega, devolução e entrega por trecho.
  2. Funcionalidade para liberação de ocorrência com controle de alçada de valor e reprovação
  3. Funcionalidade para geração de complemento de contrato de carreteiro via ocorrência de despesa ou receita/despesa
  4. Funcionalidade para geração de CTe de complemento via ocorrência de receita/despesa
  5. Funcionalidade para geração de CTe de reentrega via ocorrência de reentrega
  6. Funcionalidade para geração de CTe de devolução via ocorrência de devolução
  7. Funcionalidade para geração de contrato de carreteiro para fornecedor adicional da viagem
  8. Ajuste na funcionalidade de cadastro de tipo de ocorrência GFE para validar tipo de ocorrência TMS
  9. Ajuste na funcionalidade de apontamento de ocorrência GFE para informe de NF devolvida
  10. Ajuste na funcionalidade de valor informado da viagem

 

 

Definição da Regra de Negócio

 

Cadastro de Viagens

 

 

 

Será criada funcionalidade para cadastro do vinculo de fornecedores adicionais da viagem.

 

Essa funcionalidade visa gerar contrato de carreteiro para fornecedores não relacionados aos veículos utilizados na viagem, ex.: escolta, serviço de descarga de terceiros.

 

Será permitido o vinculo de fornecedores adicionais a viagem independente do status da mesma.

 

O CNPJ do fornecedor vinculado deverá ser ou terceiro ou agregado.

 

Quando  o CNPJ constar do cadastro de empresas usuárias do Protheus não será permitido o vinculo.

 

No vinculo será indicado o código e loja do fornecedor e a opção de gerar ou titulo a pagar ou pedido de compra ou nenhum dos dois, quando da geração do contrato de carreteiro.

 

O vinculo será gravado em nova tabela DJM.

 

Não será permitido exclusão ou alteração do vinculo se houver registro de ocorrência para o fornecedor adicional. O usuário será informado sobre o motivo da restrição.

 

 

 

Complemento de viagens

 

 

 

Será criada funcionalidade para verificação da existência de registro de ocorrência para a viagem e os respectivos fornecedores proprietários dos veiculos da viagem.

 

Em caso afirmativo não será permitida ou alteração ou exclusão

 

O usuário será informado sobre o motivo da restrição.

 

 

 

Cadastro de tabela de ocorrência (TMSA020)

 

 

 

No cadastro da tabela de ocorrência (DT2), serão incluídos 05 tipos de ocorrência com as seguintes opções:

 

  • 16- receita
  • 17- despesa
  • 18- receita/despesa
  • 19 - reentrega
  • 20 - devolução
  • 21 - entrega trecho GFE

 

 

 

Será criado campo para a indicação do tipo de componente de frete de receita, cuja digitação será habilitada somente para as ocorrências dos tipos 16 e 18 e o seu conteúdo será obrigatório, sendo validado seu registro junto ao cadastro de componentes de frete. O componente deverá possuir critério de calculo inferior a 50.

 

 

 

Será criado campo para o informe do tipo de componente de frete de despesa, cuja digitação será habilitada somente para as ocorrências dos tipos 17 e 18, sendo validado seu registro junto ao cadastro de componentes de frete. O componente deverá possuir critério de calculo superior a 49.

 

 

 

Será criado campo para o informe do tipo de despesa de frete cuja digitação será habilitada somente para as ocorrências dos tipos 17 e 18, sendo validado seu registro junto ao cadastro de despesas de frete, cuja configuração  deve indicar não geração de movimento bancário e movimento de estoque.

 

 

 

Será criado campo para indicar a natureza financeira do titulo a pagar (SE2), relacionado ao complemento de CTC gerado a partir da ocorrência, cuja digitação será habilitada somente para as ocorrências dos tipos 17 e 18, sendo validado seu registro ao cadastro de naturezas (SED), cuja configuração deve indicar tipo analitico.  

 

 

 

Será criado campo para indicar liberação automática da ocorrência quando do registro da mesma.

 

Se indicado aprovação automática o registro de bloqueio será gravado como liberado, desde que exista um valor informado no registro da ocorrência, e esse valor esteja dentro do limite de valor alçada de aprovação do usuário de inclusão da ocorrência.

 

Quando não houver informe de valor no registro da ocorrência de tipos 19 e 20 a liberação seria por nivel.

 

 

 

Será criado campo para indicar geração automática de  complemento (CTe/CTC), quando da liberação do bloqueio da ocorrência.

 

Quando o registro de bloqueio da ocorrência for aprovado, quer seja manual ou automáticamente, e houver a indicação de geração de complemento automático, será gerado o respectivo complemento de ou receita (CTe) ou despesa (CTC), conforme indicado no cadastro do tipo da ocorrência.

 

 

 

Será criado campo para indicar opção de alteração de  valores na aprovação da ocorrencia, cuja digitação será habilitada somente para as ocorrências dos tipos 16, 17 e 18.

 

Ao efetuar a liberação do bloqueio da ocorrência, será verificado se há indicação de permissão de alteração em sua configuração e, em caso afirmativo, o liberador poderá alterar o valor informado no registro da ocorrência, desde que esse valor esteja dentro do seu limite de alçada.

 

 

 

Será criado campo para indicar opção de herdar o motivo informado no registro da ocorrência para a observação do CTe e impressão no DACTE.

 

Ao gerar o CTe vinculado a uma ocorrência e sendo indicado na configuração da mesma a herança do texto digitado quando do registro da mesma no campo de motivo, este será herdado para o campo de observação do CTe sendo enviado no XML gerado para a SEFAZ e impresso no DACTE do respectivo CTe.

 

 

 

A ocorrência do tipo 19 (reentrega) gerará CTe de reentrega conforme critérios de calculo indicados no perfil do pagador do frete, seguindo o padrão atual de geração de CTe de reentrega, porém, ao apontar registro de ocorrência de reentrega e ao efetuar a liberação do bloqueio da mesma, existindo indicação de permissão de alteração de valores na configuração de cadastro da mesma, será habilitado o campo de digitação de valores e então esse valor, se informado, será assumido com o valor do CTe de reentrega. Nesse caso a liberação do bloqueio será via controle de alçada de valores, caso contrário a aprovação será por nivel.

 

 

 

A ocorrência do tipo 20 (devolução) gerará CTe Devolução conforme critérios padrão de geração atuais,  porém, ao apontar registro de ocorrência de reentrega e ao efetuar a liberação do bloqueio da mesma, existindo indicação de permissão de alteração de valores na configuração de cadastro da mesma, será habilitado o campo de digitação de valores e então esse valor, se informado, será assumido com o valor do CTe de devolução. Nesse caso a liberação do bloqueio será via controle de alçada de valores, caso contrário a aprovação será por nivel.   

 

 

 

Quando o parâmetro MV_TMS3GFE indicar integração da viagem TMS com o GFE, ao executar a rotina de cadastro de ocorrência TMS disponibilizar aba de cadastro das ocorrência GFE.            

 

 

 

               

 

                Cadastro de tipos de bloqueio e regras de liberação (TMSA025)

 

 

 

No cadastro de tipos de bloqueio (DDV)  e regras de liberação (DDX) incluir os registro relacionados aos novos tipos de ocorrência.

 

                        Descrição dos bloqueios:

 

  • Tipo 16 = Bloqueio de receita (CTe Complemento) - ocorrência do tipo 16
  • Tipo 17 = Bloqueio de despesa (Compl.contr.carreteiro) - ocorrência do tipo 17
  • Tipo 18 = Bloqueio de receita/despesa (CTe/CTC) - ocorrência do tipo 18
  • Tipo 19 = Bloqueio de receita (CTe reentrega) - ocorrência do tipo 19
  • Tipo 20 = Bloqueio de receita (CTe devolução) - ocorrência do tipo 20

 

 

 

                Cadastro de Aprovadores TMS (TMSA026)

 

 

 

No cadastro de aprovadores TMS (DDY) será implementado o conceito de alçada de valor para bloqueio de ocorrência dos tipos 16-Bloqueio de receita-CTe Complemento, 17-Bloqueio de despesa-Compl.contr.carreteiro, 18-Bloqueio de receita/despesa-CTe/CTC, 19-Bloqueio de receita(CTe reentrega) e 20-Bloqueio de receita (CTe devolução).

 

 

 

Ao cadastrar a alçada de valores será exigido ao menos um usuario aprovador com valor ilimitado de aprovação.

 

 

 

                Manut.Bloqueios (TMSA029)

 

 

 

Será disponibilizado  o conceito de alçada de valores com opção de ou aprovação ou reprovação na liberação do bloqueio de ocorrência do tipos ou 16 (Bloqueio de receita-CTe Complemento) ou 17 (Bloqueio de despesa-Compl.contr.carreteiro) ou 18 (Bloqueio de receita/despesa-CTe/CTC) 19-Bloqueio de receita(CTe reentrega) ou 20-Bloqueio de receita (CTe devolução)

 

 

 

A alçada de valores considerará o limite de valor do usuário por aprovação, ou seja, será verificado o valor vinculado ao bloqueio de receita ou despesa em relação ao valor do limite do usuário.

 

 

 

Apenas registros de bloqueio cujos valores estejam dentro do limite do usuário aprovador serão exibidos para o mesmo aprovar ou reprovar.

 

 

 

Os bloqueios dos tipos 19 (Bloqueio de receita-CTe reentrega) e 20 (Bloqueio de receita-CTe Devolução) serão liberados ou reprovados por nivel de aprovação, sem controle de alçada de valores, quando a respectiva ocorrência indicar não permissão de alteração de valores na liberação.

 

 

 

                Ao efetuar a liberação de bloqueio de ocorrência será verificado se há indicação de permissão de alteração de valores no cadastro da ocorrência e, em caso afirmativo, serão exibidos os respectivos campos de valor de receita, quando tipo ou 16 ou 18 ou 19  ou 20, e de despesa, quando tipos ou 17 ou 18.

 

Para os bloqueios tipos ou 16 ou 17 ou 18 não será permitido valor zerado.

 

 

 

Ao efetuar a liberação de bloqueio de ocorrência será verificada a existencia de valores de receita (apenas para os tipos ou 16 ou 18) ou despesa (tipos ou 17 ou 18) informados na ocorrência (DUA) e, em  estando algum valor zerado, será solicitado ao aprovador a alteração do respectivo valor, independentemente  de existir ou não indicação de alteração de valor na configuração da respectiva ocorrência.

 

 

 

O aprovador poderá alterar o valor dentro de seu limite de aprovação.

 

 

 

Quando houver reprovação do bloqueio de ocorrência será solicitado o motivo da reprovação e os registro será mantido para efeito histórico.

 

A reprovação impedirá a geração de CTe ou CTC vinculado a ocorrência.

 

 

 

                Ao efetuar a liberação do bloqueio da ocorrência do tipo 17 ou 18 será verificado se a ocorrência possui indicação de geração automática de complemento.

 

 

 

                Em caso afirmativo e existindo contrato de carreteiro gerado (DTY) para  a viagem da ocorrência, será gerado o complemento do contrato de carreteiro (CTC) e o movimento de despesa (SDG), cujos valores serão herdados do valor da despesa informada na ocorrência.

 

 

 

                Em caso afirmativo, não existindo contrato de carreteiro gerado (DTY) para  a viagem da ocorrência e havendo componente de frete a pagar do tipo valor informado na ocorrência, será gravado um registro no controle de valor informado de componentes da viagem (DVW) para o respectivo componente. Esse registro não poderá ser alterado pelo usuário e será utilizado no calculo do frete quando geração do contrato de carreteiro. Neste caso não haverá contrato de complemento uma vez que o componente fará parte do contrato principal quando este for gerado.

 

 

 

                Em caso afirmativo, não existindo contrato de carreteiro gerado (DTY) para  a viagem da ocorrência e não havendo componente de frete a pagar do tipo valor informado na ocorrência, o contrato de complemento será gerado  ao gerar o contrato principal da viagem vinculada a ocorrência.

 

 

 

                Será gravado o vinculo da ocorrência com o contrato de complemento de carreteiro (CTC) gerado para efeito de consulta e controle.

 

               

 

                Ao efetuar a liberação do bloqueio da ocorrência do tipo ou 16 ou 18 ou 19 ou 20, será verificado se a ocorrência possui indicação de geração automática de complemento.

 

                Em caso afirmativo, seerá gerado o o CTe, conforme o tipo da ocorrência (16/18-CTe complemento; 19-CTe reentrega; 20-CTe Devolução).

 

                Quando se tratar de bloqueio de ocorrência do tipo ou 16 ou 18 será herdado para o valor do CTe complementar o valor de receita informado na ocorrência e será gravado o componentes de frete (DT8) conforme o código de componente informado na ocorrência.

 

                Quando se tratar de bloqueio de ocorrência do tipo 19 será gerado o CTe de reentrega conforme indicação no perfil do cliente pagador do frete.

 

                Quando se tratar de bloqueio de ocorrência do tipo 20 será gerado o CTe de devolução conforme os critérios padrão de geração já existentes.

 

                Será gravado o vinculo da ocorrência com o CTe gerado para efeito de consulta e controle.

 

                Quando, via parâmetro 'Transmite Ct-e?' da rotina de calculo de frete, houver a indicação de transmissão automática do CTe para a SEFAZ, será exibida a tela padrão de transmisão, permitindo ao usuário  efetuar a transmissão e, após o retorno de autorização do CTe pela SEFAZ, emitir o DACTE.

 

 

 

                              

 

                Registro de ocorrência (TMSA360)

 

       

 

Será criado campo para informe do valor da receita cuja digitação será habilitada  ao apontar ocorrência dos tipo 16 ou 18.

 

Será criado campo para informe do tipo de veículo cuja digitação será habilitada  ao apontar ocorrência dos tipo 16 ou 18. O tipo de veículo será utilizado no calculo do componente de frete a receber indicado no cadastro da ocorrência.

 

 O valor da receita seja sugerido automáticamente quando o componente de receita, indicado no cadastro da ocorrência, constar da tabela utilizada no calculo do documento de frete informado no regsitro da ocorrência.

 

O valor poderá ser alterado pelo usuário, porém, quando  informado valor zerado, ao efetuar a liberação do registro de bloqueio será solicitado obrigatoriamente o informe de valor. Neste caso o registro de bloqueio nunca será liberado automáticamente.

 

Esse campo também será habilitado para digitação no apontamento de ocorrência dos tipos 19 e 20, desde que o seu respectivo cadastro indique permissão de alteração de valor, porém, não haverá sugestão de valor. Quando for informado um valor, a liberação de bloqueio de ocorrência do tipo 19 e 20 será via controle de alçada, caso contrato por será por nivel.

 

                               

 

                Será criado campo para indicar integração da ocorrência TMS a ocorrência GFE.

 

Serão criados campos para informe do código e loja de fornecedor, cuja digitação será habilitada somente ao apontar ocorrência dos tipos 17 ou 18 ou 21. 

 

 

 

O fornecedor indicado na ocorrência deve ser ou proprietário de um dos veículos informados no complemento da viagem e ser ou terceiro ou agregado, ou constar do vinculo de fornecedores adicionais da viagem informada na ocorrência ou um dos fornecedores de redespacho ou da viagem ou do lote de redespacho.

 

Quando a ocorrência estiver integrada ao GFE o informe do fornecedor será obrigatório.

 

Quando a ocorrência for dos tipos 17 ou 18 ou 21 o fornecedor default será o proprietário do veículo tracionador da viagem.

 

O fornecedor indicado na ocorrência será utilizado ou na geração do contrato de carreteiro no TMS ou no apontamento da ocorrência GFE quando houver integração.

 

Na ocorrência do tipo 21 (entrega trecho GFE) o fornecedor indicado deve constar de ao menos um trecho pago do documento de carga no GFE. Ao apontar ocorrência de entrega por trecho GFE, será verificado se todos os trechos pagos possuem ocorrencia de entrega registrada e, em caso afirmativo, será solicitado ao operador de deseja apontar a ocorrência de encerra processo do CTe TMS. Em sendo afirmativa a resposta será incluída automaticamente uma ocorrência de encerra processo para o documento. O parâmetro MV_OCORENT determinará o código da ocorrênci a ser utilizado no registro automático.

 

O registro da ocorrência possibilitará o informe de apenas um código e loja de fornecedor exigindo assim, a inclusão de registro individual para cada fornecedor e, consequentemente, a liberação do bloqueio da ocorrência também será individual.

 

 

 

                Será criado campo para informe do valor da despesa cuja digitação será habilitada  ao apontar ocorrência dos tipo 17 ou 18 não integrada ao GFE, pois, na integração o valor da despesa será determinado pela configuração do cadastro da ocorrência no GFE.

 

O valor da despesa será sugerido automáticamente quando a ocorrência não for integrada ao GFE e o componente de frete de despesa, indicado no cadastro da ocorrência, constar da tabela utilizada no calculo de frete do fornecedor proprietário de veículo indicado no complemento da viagem da ocorrência.

 

Quando ser tratar de fornecedor adicional da viagem não haverá sugestão de valor de despesa.

 

O valor poderá ser alterado pelo usuário, porém, quando informado valor zerado, ao efetuar a liberação do registro de bloqueio será solicitado obrigatoriamente o informe de valor. Neste caso o registro de bloqueio nunca será liberado automáticamente.

 

 

 

                Será criado campo, cuja digitação será obrigatória e habilitada  somente ao apontar ocorrência dos tipo  16 e 18 ou 17 não integrada ao GFE, para informe de quantidade a ser utilizada na base de calculo de frete de componentes indicados no cadastro da ocorrência, e que possua faixa de calculo do tipo valor informado em seu cadastro.

 

               

 

Quando informado um código de ocorrência do tipo 16 e 18 ou 17 não integrada do GFE serão habilitados para digitação obrigatória os campos Qtd. Km. Doc, Vlr.Mer.Oco., Pes.Cub.Oco, M3 Oco., Qtd.Unit.Oco e Base RR Oco. Os dados informados serão utilizado no calculo de frete para a sugestão de valor no campos de ou receita ou despesa ou ambos , segundo o tipo da ocorrência.

 

                               

 

        Quando informado um código de ocorrência do tipo 17 não integrada ao GFE não será exigido o informe dos dados do documento de frete da ocorrência, porém, o informe da viagem será obrigatório.

 

 

 

        Quando informado um código de ocorrência do tipo 18 o informe da viagem será obrigatório desde que a ocorrencia não seja integrada ao GFE.

 

 

 

                Quando não informado documento de frete na ocorrência, a despesa será considerada como custo da viagem e, ao ao processar a rotina de custos de transporte, o valor será rateado entre os documento de frete vinculados a viagem da ocorrência. Caso contrário o custo será exclusivo do documento de frete informado.

 

       

 

                Ao confirmar o apontamento, será incluido, no cadastro de bloqueios TMS (DDU), um registro para ou posterior liberação conforme as funcionalidades padrão da rotina de  Manutenção Bloqueios TMS (TMSA029) ou, liberado automáticamente se indicada essa condição no cadastro da ocorrência. Porém, quando indicada a liberação automática e  o usuário de inclusão não possuir ou alçada de valor suficiente na liberação por valores ou nivel inferior na liberação via nivel, o bloqueio não será liberado automáticamente. Em se tratando de ocorrência integrada ao GFE a aprovação será automática quando for liberada a ocorrência TMS.

 

 

 

                Quando for indicada no cadastro da ocorrência a geração automática de complemento de receita(CTe) ou despesa (CTC), ao liberar o bloqueio da ocorrência,  será gerado automaticamente e conforme o tipo de ocorrência, ou o  CTe ou o CTC ou ambos, retornando informe ao usuário sobre o complemento gerado.

 

 

 

                O complemento do contrato de carreteiro será gerado (DTY) quando a viagem possuir um contrato de carreteiro e a ocorrência TMS não estiver integrada a ocorrência GFE, pois, quando houver a integração, o controle da despesa adicional será via GFE.

 

 

 

                Quando não houver contrato de carreteiro para a viagem e a ocorrência TMS não estiver integrada a ocorrência GFE, será verificado se existe componente de frete a pagar do tipo valor informado na ocorrência.

 

                Em caso positivo, será gravado um registro no controle de valor informado de componentes da viagem (DVW) para o respectivo componente. Esse registro nao poderá ser alterado pelo usuário e será utilizado no calculo do frete quando geração do contrato de carreteiro. Neste caso não haverá contrato de complemento uma vez que o componente fará parte do contrato de carreteiro principal quando este for gerado.

 

Em caso negativo, o contrato de complemento será gerado ao gerar o contrato principal da viagem vinculada a ocorrência.

 

Quando informado um código de ocorrência do tipo ou 17 ou 18 não integrada ao GFE e existir registro para o componente de valor informado na ocorrência na tabela de valor informado por viagem (DVW),  e a viagem não possuir contrato de carreteiro, não será permitido o apontamento da ocorrência, pois, houve informe de valor para o componente na viagem e este valor, uma vez que ainda foi utilizado no contrato de carreteiro não poderá ser alterado pelo registro da ocorrência. Quando não existir contrato de carreteiro para a viagem e o componente de frete de valor informado da ocorrência não constar do layout da tabela de frete do contrato do fornecedor da ocorrência, não será permitido o apontamento da ocorrência.

 

 

 

Quando for gerado CTe e o parâmetro 'Transmite Ct-e?' da rotina de calculo de frete indicar transmissão automática, será exibida a tela padrão de transmisão, permitindo ao usuário  efetuar a transmissão e, após o retorno de autorização do CTe pela SEFAZ, emitir o DACTE.

 

 

 

Será permitido apontamento de registro de ocorrência do tipo receita (DT2_TIPOCO$'16/18/19/20) apenas para documento fiscal original (2-CTe; 5-Nota Fiscal).

 

               

 

                Manutenção de documentos (TMSA500)

 

 

 

                Ao executar a opção de geração de CTe de complemento será verificado se o documento de frete original possui ocorrência de receita liberada e não vinculada a CTe e, em caso afirmativo, serão exibidos os valores liberados para o usuário com opção de seleção de multiplos registros.

 

                Após a confirmação da seleção será gerado o CTe complementar com os valores selecionados, gravando os componentes de frete (DT8) agrupados por código de componente indicados no cadastro das ocorrências.

 

                Na gravação da composição do frete (DT8) será considerado o componente informado na tabela de ocorrência, independente deste constar ou não do layout da tabela de frete do CTe original.

 

 

 

                Ao executar a opção de geração de CTe de reentrega será verificado se o documento de frete original possui ocorrência de receita de reentrega liberada e não vinculada a CTe e, em caso afirmativo, serão exibidos os registros de bloqueio liberados para o usuário com opção de seleção de multiplos registros.

 

                Na sequencia será exibida a tela de seleção de indicação de NF para reentrega (item em homologação).

 

                Após a confirmação das seleções será gerado o CTe de reentrega baseado no valor indicado na ocorrência selecionada.

 

                Quando não houver indicação de valor na ocorrência selecionada, serão considerados os critérios padrão, baseados na indicação do perfil do cliente pagador para o calculo do valor da reentrega.

 

                Não será permitida seleção conjunta de ocorrências com e sem indicação de valor.

 

                A funcionalidade atual de geração de CTe de reentrega, através da ocorrência de retorno de documento e do parâmetro MV_OCORREE, será mantida.

 

 

 

                Ao executar a opção de geração de CTe de devolução será verificado se o documento de frete original possui ocorrência de receita de devolução liberada e não vinculada a CTe e, em caso afirmativo, serão exibidos os registros de bloqueio liberados para o usuário com opção de seleção de multiplos registros.

 

                Na sequencia será exibida a tela de seleção de indicação de NF para devolução (item em homologação).

 

                Após a confirmação das seleções será gerado o CTe de devolução baseado no valor indicado na ocorrência selecionada.

 

                Quando não houver indicação de valor na ocorrência selecionada, serão considerados os critérios padrão de geração de CTe de devolução.

 

                Não será permitida seleção conjunta de ocorrências com e sem indicação de valor.

 

 

 

                Ao final da geração do CTe será gravado o vinculo do CTe com o código da ocorrência.

 

 

 

Quando o parâmetro 'Transmite Ct-e?' da rotina de calculo de frete indicar transmissão automática, será exibida a tela padrão de transmisão, permitindo ao usuário  efetuar a transmissão e, após o retorno de autorização do CTe pela SEFAZ, emitir o DACTE.

 

 

 

 

 

                Contrato de carreteiro (TMSA250)

 

 

 

Ao executar a geração de complemento de contrato de carreteiro, será verificado se a viagem do contrato possui  ocorrência de despesa liberada e não vinculada a contrato de carreteiro e não integrada ao GFE, em caso positivo,  serão exibidos os valores liberados permitindo ao usuário selecionar multiplos registros.

 

 

 

Após a confirmação da seleção pelo usuário será  gerado contrato de carreteiro complementar para os valores selecionados.

 

 

 

Será gerado um contrato complementar para cada código e loja de fornecedor e natureza financeira identificados.

 

O código e loja do fornecedor será obtido do registro da ocorrência e quando não indicado na ocorrência, será considerado o código e loja do fornecedor do contrato principal da viagem.

 

A natureza será definida pela indicação no cadastro de ocorrência.

 

Quando ocorrência não possuir indicação de natureza e houver indicação de código e loja do fornecedor será considerada a natureza do cadastro do fornecedor. Não existindo informe no cadastro do fornecedor, será considerada a natureza indicada no parâmetro MV_NATCTC.

 

Quando ocorrência não possuir indicação de natureza e não houver indicação de código e loja do fornecedor será considerada a natureza do cadastro do código e loja do fornecedor do contrato principal da viagem. Não existindo informe no cadastro do fornecedor, será considerada a natureza indicada no parâmetro MV_NATCTC.

 

 

 

O movimento de custo de transporte do contrato complementar será gravado agrupando valores por despesa identificada.

 

A despesa será definida pela indicação no cadastro da ocorrência e, quando não indicada, será a despesa indicada no parâmetro MV_DESCTC.

 

 

 

Será gravado o vinculo do contrato complementar com o registro selecionado de ocorrência da despesa possibilitando assim, consulta a ocorrência geradora na visualização do contrato de carreteiro.

 

 

 

                       A funcionalidade atual de geração de CTC complementar via informe de valor pelo usuário será mantida.

 

 

 

Ao final da geração do contrato de carreteiro principal (DTY)  será verificado se a viagem do contrato possui  ocorrência de despesa liberada e não vinculada a contrato de carreteiro, em caso positivo, será executada, automaticamente, a função de geração de contrato complementar, conforme os procedimentos acima descritos.

 

 

 

Ainda ao final da geração do contrato de carreteiro principal (DTY) será verificado se há informe de valor para a viagem oriundo da liberação de bloqueio de ocorrência de despesa e, em caso positivo, será o gravado o vinculo do contrato principal com a ocorrência geradora do valor, concluindo assim o processo de informe de despesa por ocorrência e possibilitando sua consulta ao visualizar o contrato.

 

 

 

 

 

Tipo de ocorrência (GFEA030)

 

 

 

Será ajustada a validação do campo 'Cod Ocor TMS' (GU5_OCOTMS) para tratar os tipos de ocorrência 16 (receita), 18 (receita/despesa), 19(reentrega) e 20(devolução).

 

 

 

Quando indicado codigo de  ocorrência TMS de receita, o tipo de calculo GFE deverá ser serviço  e o tipo de evento GFE deverá ser calculo adicional.

 

 

 

Quando indicado codigo de  ocorrência TMS de reentrega, o tipo de calculo GFE deverá ser reentrega e o tipo de evento GFE deverá ser calculo adicional.

 

A ocorrência TMS não precisará constar do parâmetro MV_OCORREE;

 

 

 

Quando indicado codigo de  ocorrência TMS de devolução , o tipo de calculo GFE deverá ser retorno  e o tipo de evento GFE deverá ser calculo adicional.

 

 

 

Apontamento de ocorrencia GFE

 

 

 

Ao apontar ocorrencia tipo 19 (reentrega) e 20(devolução) será exibida tela para o usuário informar as notas relacionadas a ocorrência.

 

As notas indicadas serão exibidas ao usuário na geração do CTe ou de reentrega ou devolução no módulo TMS.  

 

 

 

Essse requisito será atendido via especificação '001830_Integração com TMS_REQ002'.

 

 

 

Será implementado consistencia para não permitir exclusão de ocorrência integrada via ocorrência TMS.

 

 

 

 

 

Valor informado da viagem (TmsValInf())

 

 

 

Será incluido de tratamento de identificação de origem do registro para não permitir ou alteração ou exclusão quando o registro tiver origem diferente da rotina de complemento ou encerramento de viagem.

 

Definição da Regra de Negócio

 

Processo

Regras

Rotina

Cadastro de tabela de ocorrência (DT2)

 

 

 

 

 

No cadastro da tabela de ocorrência criar os seguites campos:

  • DT2_CDPASR: Código do componente de frete de receita habilitando digitação somente para as ocorrências dos tipos 16 e 18 e validando o conteúdo junto ao cadastro de componentes de frete (DT3_CODPAS) permitindo apenas componente com o critério de calculo inferior a 50.
  • Incluir tratamento na função TmsA020Whe() para habilitar digitação quando o conteúdo do campo DT2_TIPOCO for igual a '16' ou '18';
  • Incluir validação na função TmsA020Vld() verificando se a faixa do componente (DT3_TIPFAI) é inferior a 50.
    • DT2_DEPASR:  descrição do componente de frete da receita.
    • DT2_CDPASD: Código do componente de frete de despesa habilitando digitação somente para as ocorrências dos tipos 17 e 18 e validando o conteúdo junto ao cadastro de componentes de frete (DT3_CODPAS) permitindo apenas componente com o critério de calculo superior a 49.
    • Incluir tratamento na função TmsA020Whe() para habilitar digitação quando o conteúdo do campo DT2_TIPOCO for igual a '17' ou '18';
      • Incluir validação na função TmsA020Vld() verificando se a faixa do componente (DT3_TIPFAI) é superior a 49.
  • DT2_DEPASD:  descrição do componente de frete da despesa.
  • DT2_CODDES: Código da despesa de transporte habilitando digitação somente para as ocorrências dos tipos 17 e 18 e validando o  conteúdo junto ao cadastro de despesas de frete permitindo apenas despesa que não gere movimento bancário  e movimento de estoque.
  • Incluir tratamento na função TmsA020Whe() para habilitar digitação quando o conteúdo do campo DT2_TIPOCO for igual a '17' ou '18'.
  • Incluir validação na função TmsA020Vld() verificando se a despesa não movimenta banco (DT7_MOVBCO=2) e não movimenta estoque (DT7_CONEST=2) e não integrada ao GFE (DT2_CDTIPO='').
    • DT2_DESDSP:  descrição da despesa de transporte.
    • DT2_CMPAUT: indicador de geração automática do CTe/CTC na liberação da ocorrência
    • DT2_LIBPAUT: indicador de liberação automática da ocorrência.
      • Incluir validação na função TmsA020Vld() consistindo configuração entre o campo de aprovação automática TMS e o campo de aprovação automática GFE (DT2_LIBPAUT='1' .AND. GU6_APRAUT='1' .or DT2_LIBPAUT='2' .AND. GU6_APRAUT='2') - DT2_CDTIPO<>'' .AND. (GU5_CDTIPO=DT2_CDTIPO; GU4_CDTIPO=GU5_CDTIPO; GU6_CDMOT=GU4_CDMOT). Alertar o operador sobre o motivo da inconsistencia.
  • DT2_CODNAT: código da natureza financeira vinculado ao complemento do CTC.
  • Incluir tratamento na função TmsA020Whe() para habilitar digitação quando o conteúdo do campo DT2_TIPOCO for igual a '17' ou '18' e não for integrada ao GFE (DT2_CDTIPO='').
    • DT2_MOTDT6: indicador de herança do motivo informado no registro da ocorrência para a observação do CTe gerado.
      • Incluir tratamento na função TmsA020Whe() para habilitar digitação quando o conteúdo do campo DT2_TIPOCO for igual a ou '16' ou '18' ou '19' ou '20'.
  • DT2_ALTVLR: indicador de permissão de alterar valores na liberação da ocorrência
    • Incluir tratamento na função TmsA020Whe() para habilitar digitação quando o conteúdo do campo DT2_TIPOCO for igual a '16' ou '18 ou '19' ou '20'
  • DT2_CDTIPO: indicador do código do tipo de ocorrência no GFE.
    • Incluir tratamento na função TmsA020Whe() para habilitar digitação quando o parâmetro MV_TMS2GFE indicar o conteúdo .T. e a ocorrência não for do tipo receita (DT2_TIPOCO$'16;19;20').
    • Incluir validação na função TmsA020Vld() consistindo, na ocorrencia tipo 17 ou 18, a configuração entre o campo de aprovação automática TMS e o campo de aprovação automática GFE (DT2_LIBPAUT='1' .AND. GU6_APRAUT='1' .or DT2_LIBPAUT='2' .AND. GU6_APRAUT='2') - DT2_CDTIPO<>'' .AND.  (GU4_CDTIPO=GU5_CDTIPO; GU6_CDMOT=GU4_CDMOT) - e se há registro de apenas um motivo (GU4_CDTIPO=GU5_CDTIPO ) para a ocorrência; quando for ocorrência do tipo 21 a ocorrência GFE deve ser de registro de entrega (GU5_EVENTO='4').Alertar o operador sobre o motivo da inconsistencia.

 

 

Verificar se o parâmetro esta habilitado (MV_TMS3GFE<>'N') e, em caso afirmativo, disponibilizar na tela do cadastro de ocorrência TMS nova aba executando chamada a rotina de cadastro de ocorrência GFE (GFEA030) para o cadastro simultâneo de ocorrência em ambos os módulos.

TMSA020

No cadastro da tabela de ocorrência (DT2), disponibilizar novas opções de tipo novas opções. Incluir na função TMSValField() para o campo “Tipo” (DT2_TIPOCO) as seguintes opções:

  • 16- receita
  • 17- despesa
  • 18- receita/despesa
  • 19- reentrega
  • 20-devolução
  • 21-entrega por trecho

Ajustar a função TMSValField() e o include "TMSXFUNA.CH" alterando a descrição de tipos de documento de frete de CTRC para CTe.

 

TMSXFUNA

 

Registro de ocorrência (DUA)

 

Na tabela de registro de ocorrência (DUA) criar os seguintes campos:

  • DUA_VLRRCT: campo para informe do valor da receita de frete com habilitação para digitação somente for informada ocorrências dos tipos 16 e 18 e, 19 e 20 quando indicada permissão de alteração de valor no cadastro da ocorrência.
    • Incluir tratamento na função TMSA360Whe() para habilitar digitação quando o conteúdo do campo DT2_TIPOCO for igual ou '16' ou '18' ou '19' ou '20' e o contéudo do campo DT2_ALTVLR for igual a '1'.  
  • DUA_TIPVEI: campo para informe do tipo de veículo com habilitação para digitação somente for informada ocorrências dos tipos 16 e 18.
    • Incluir tratamento na função TMSA360Whe() para habilitar digitação quando o conteúdo do campo DT2_TIPOCO for igual a '16' ou '18'.
  • DUA_VLRDSP: campo para informe do valor da despesa de transporte com habilitação para digitação somente for informada ocorrências dos tipos 17 e 18 e não for integrada ao GFE.
    • Incluir tratamento na função TMSA360Whe() para habilitar digitação quando o conteúdo do campo DT2_TIPOCO for igual a '17' ou '18' e a ocorrência não for integrada ao GFE (DT2_CDTIPO='') - quando integrada o calculo do valor será via configuração do cadastro da ocorrência no GFE (GU5).
  • DUA_CODFOR: campo para informe do código do fornecedor para o contrato de carreteiro, com habilitação para digitação somente quando for informada ocorrências dos tipos 17 e 18.
    • Incluir tratamento na função TMSA360Whe() para habilitar digitação quando
      • Ou o conteúdo do campo DT2_TIPOCO for igual a '17' ou '18' ou '21';
      • Ou (DUD_FILDOC+DUD_DOC+DUD_SERIE=DUA_FILDOC+DUA_DOC+DUA-SERIE .AND. DUA_FILORI+DUA_VIAGEM = DUD_FILORI+DUA_VIAGEM .AND. DUD_PAGGFE='1' .AND. DT2_CODOCO=DUA_OCOTMS) - pagto.GFE via viagem;
      • Ou (DFV_FILDOC+DFV_DOC+DFV_SERIE=DUA_FILDOC+DUA_DOC+DUA-SERIE .AND. DUA_FILORI=DFV_FILOR .AND. DFV_CHVEXT<>'' .AND. DUA_CODOCO=GU5_OCOTMS) - pagto.GFE via lote redespacho.
      •  Incluir tratamento na função TMSA360Vld() para não permitir informe de código de fornecedor:
        • Ou diferente ou dos proprietários de veículos indicados no complemento da viagem e cujo tipo deve ser ou terceiro ou agregado (DA3_FROVEI$'2/3'), ou no vinculo de fornecedores adicionais da viagem quando ocorrência de despesa (DT2_TIPOCO$'17/18');
        • Ou diferente ou do proprietário do veículo tracionador (DA3_CODFOR+DA3_LOJFOR; DA3_COD=DTR_CODVEI) ou do fornecedor de redespacho (DUD_CODFOR+DUD_LOJFOR) ou do fornecedor do lote de redespacho (DFV_CODFOR_DFV_LOJFOR) quando ocorrência vinculada ao GFE.
        • Na ocorrência tipo 21 o fornecedor deve constar de um trecho pago GFE  não entregue - (GWU_DTENT=''; GWU_CHVEXT=''; GWU_PAGAR='1'; GWU_CDTRP=GU3_CDEMIT; GU3_CDERP+GU3_CDCERP= DUA_CODFOR+DUA_LOJFOR).
        • O código do fornecedor será obrigatório quando for ocorrência integrada ao GFE (DT2_CDTIPO<>'').
  • DUA_LOJFOR: campo para informe da loja do fornecedor para o contrato de carreteiro, com habilitação para digitação somente for informada ocorrências dos tipos 17 e 18 ou para ocorrência integrada ao GFE.
    • Incluir tratamento na função TMSA360Whe() para habilitar digitação quando:
      • Ou o conteúdo do campo DT2_TIPOCO for igual a '17' ou '18';
      • Ou (DUD_FILDOC+DUD_DOC+DUD_SERIE=DUA_FILDOC+DUA_DOC+DUA-SERIE .AND. DUA_FILORI+DUA_VIAGEM = DUD_FILORI+DUA_VIAGEM .AND. DUD_PAGGFE='1' .AND. DUA_CODOCO=GU5_OCOTMS) - pagto.GFE via viagem;
      • Ou ( DFV_FILDOC+DFV_DOC+DFV_SERIE=DUA_FILDOC+DUA_DOC+DUA-SERIE .AND. DUA_FILORI=DFV_FILOR .AND. DFV_CHVEXT<>'' .AND. DUA_CODOCO=GU5_OCOTMS) - pagto.GFE via lote redespacho.
      • Incluir tratamento na função TMSA360Vld() para não permitir informe de código e loja de fornecedor:
        • Ou diferente ou dos proprietários de veículos indicados no complemento da viagem e cujo tipo deve ser ou terceiro ou agregado (DA3_FROVEI$'2/3'), ou no vinculo de fornecedores adicionais da viagem quando ocorrência de despesa (DT2_TIPOCO$'17/18');
        • Ou diferente do proprietário do veículo tracionador (DA3_CODFOR+DA3_LOJFOR; DA3_COD=DTR_CODVEI) ou do fornecedor de redespacho da viagem  (DUD_CODFOR+DUD_LOJFOR) ou do fornecedor do lote de redespacho (DFV_CODFOR_DFV_LOJFOR) quando ocorrência vinculada ao GFE.
        • Na ocorrência tipo 21 o fornecedor deve constar de um trecho pago GFE  não entregue - (GWU_DTENT=''; GWU_CHVEXT=''; GWU_PAGAR='1'; GWU_CDTRP=GU3_CDEMIT; GU3_CDERP+GU3_CDCERP= DUA_CODFOR+DUA_LOJFOR).
        • A loja do fornecedor será obrigatória quando for ocorrência integrada ao GFE (DT2_CDTIPO<>'').
  • DUA_VALINF: campo para informe de valor a ser utilizado na base de calculo de componentes de frete com faixa de calculo por valor informado., com habilitação para digitação somente for informada ocorrências dos tipos ou 16 ou 17 ou 18.
    • Incluir tratamento na função TMSA360Whe() para habilitar digitação quando o conteúdo do campo DT2_TIPOCO for ou igual a 16 ou '18' ou igual '17' e não integrada ao GFE DT2_CDTIPO='';
    • Incluir tratamento na função TMSA360Vld() para não permitir valor zerado quando não executado via rotina automática.
  • DUA_FLOCTE: código da filial do CTe vinculado a ocorrência.
  • DUA_NUMCTE: numero do CTe vinculado a ocorrência.
  • DUA_SERCTE: série do CTe vinculado a ocorrência.
  • DUA_FLOCTC: código da filial do contrato de carreteiro.
  • DUA_NUMCTC: número do contrato de carreteiro.
  • DUA_SERVIC: campo para informe do serviço de negociação do contrato do cliente pagador do documento de frete da ocorrência com habilitação para digitação somente for informada ocorrências dos tipos 16 e 18 e, 19 e 20.
    • Incluir tratamento na função TMSA360Whe() para habilitar digitação quando o conteúdo do campo DT2_TIPOCO for igual a '16' ou '18' ou DT2_TIPOCO for igual a '19' ou '20'.
    • Criar função de exibição dos serviços negociados válidos cadastrados no contrato do pagador do documento de frete da ocorrência.
    • Incluir tratamento na função TMSA360Vld() para verificar a existência do código do serviço informado no contrato do cliente pagador do documento de frete da ocorrência.

Incluir tratamento na função TMSA360Vld():

  • Campos DUA_CODOCO e DUA_VIAGEM: não permitir registro da ocorrência quando houver registro para o componente (DT2_CDPASD) na tabela de valor informado por viagem (DVW) e a viagem não possuir contrato de carreteiro. Quando não existir contrato de carreteiro para a viagem e o componente de frete de valor informado da ocorrência não constar do layout da tabela de frete do contrato do fornecedor da ocorrência, não permitir o apontamento da ocorrência.
  • Campos DUA_FILDOC, DUA_DOC e DUA SERIE, quando ocorrência do tipo 21, não permitir apontamento quando  o CTe TMS constar como encerrado (DT6_STATUS='7').
  • Alertar o usuário sobre o motivo do impedimento.

 

Incluir tratamento na função TMSA360Vld() para o campos DUA_FILDOC, DUA_CODOCO e DUA_SERDOC permitindo registro da ocorrência sem informe de dados quando houver registro para ocorrência do tipo 17 não integrada ao GFE (DT2_CDTIPO='').

 

Incluir tratamento na função TMSA360Vld() para o campos DUA_FILORI e DUA_VIAGEM exigindo informe de dados quando houver registro para ocorrência dos tipos ou 17 ou 18 não integrada do GFE (DT2_CDTIPO=''). Alertar o usuário sobre o motivo da exigência: para gerar contrato de carreteiro (DTY) é necessário o informe da viagem.

 

Ajustar a função TMSA360Vld() para os campos DUA_FILDOC, DUA_DOC e DUA_SERIE, permitindo apontar registro de ocorrência do tipo receita (DT2_TIPOCO$'16/17/18/19/20) apenas para documento fiscal original (DT6_DOCTMS$'2/5'). 

 

Ajustar a função TMSA360Whe() habilitando a digitação para os campos DUA_KMDOC, DUA_VLROCO, DUA_PM3OCO, DUA_MT3OCO, DUA_QTUOCO e DUA_BASOCO quando apontado registro de ocorrência do tipo receita (DT2_TIPOCO$'16;18') ou despesa não integrada ao GFE (DT2_TIPOCO='17' .AND. DT2_CDTIPO='').  Incluido X3_WHEN no RupTMS pois os campos não existiam no projeto do AtuSX

  

Ao informar o código de ocorrências do tipo receita de complemento (DT2_TIPOCO$'16/18), executar a função TmsCalFre() considerando como parâmetros o pagador e regiões do documento de frete da ocorrência e o contéudo dos campos DUA_TIPVEI, DUA_KMDOC, DUA_VLROCO, DUA_PM3OCO, DUA_MT3OCO, DUA_QTUOCO, DUA_BASOCO, DUA_PESOCO, DUA_VALINF e DUA_SERVIC , herdando o valor do componente indicado na ocorrência (DT2_CDPASR) para o campo de valor da receita (DUA_VLRRCT) e permitindo sua alteração. Os demais componentes retornados na execução da função TmsCalFre() serão ignorados. Precisa Conferir se os campos passados por parâmetro no calculo do TMSCALFRET estão corretos.

Campos: DUA_VLROCO, DUA_PM3OCO,DUA_MT3OCO, DUA_QTUOCO ,DUA_BASOCO não criado gatilho pois não pertencem ao pacote (estão no pacote da Cargolift).

 

 

 

 

Ao informar o código de ocorrências do tipo despesa não integrada ao GFE (DT2_TIPOCO$'17/18 .AND. DT2_CDTIPO=''), e não se tratando de fornecedor adicional da viagem, executar a função TmsCalFrePag() considerando como parâmetros o contéudo dos campos DUA_FILORI, DUA_VIAGEM, DUA_KMDOC, DUA_VLROCO, DUA_PM3OCO, DUA_MT3OCO, DUA_QTUOCO, DUA_BASOCO, DUA_PESOCO e DUA_VALINF , herdando o valor do componente indicado na ocorrência (DT2_CDPASD) para o campo de valor da despesa (DUA_VLRDSP) e permitindo sua alteração. Os demais componentes retornados na execução da função TmsCalFrePag() serão ignorados.

Campos: DUA_VLROCO, DUA_PM3OCO,DUA_MT3OCO, DUA_QTUOCO ,DUA_BASOCO não criado gatilho pois não pertencem ao pacote (estão no pacote da Cargolift).

Ajustar a função TMSA360GRV() para gerar a ocorrência no GFE (GFEA032()) quando o documento da ocorrência indicar pagamento via módulo GFE e a ocorrência indicar integração GFE (DT2_CDTIPO<>''), para ocorrência de despesa (DT2_TIPOCO$='17;18') - (DUD_FILDOC+DUD_DOC+DUD_SERIE = DUA_FILDOC+DUA_DOC+DUA-SERIE .AND. DUA_FILORI+DUA_VIAGEM = DUD_FILORI+DUA_VIAGEM .AND. DUD_PAGGFE='1') e a ocorrência constar do cadastro de tipo de ocorrência no GFE (DUA_CODOCO=GU5_OCOTMS): executar a rotina GFEA032() para gravar a ocorrência no GFE sem exibir a tela para o operador, exceto quando houver indicação de alteração de valor para ou serviço (MV_CALSER='1' .AND. GU5_TPCALC='3'), ou reentrega (MV_CALREN .AND. GU5_TPCALC='1') ou devolução (MV_CALDEV .AND. GU5_TPCALC='2'). Gravar os dados com os seguintes critérios:

GWD - ocorrências

  • GWD_CDTRP := DUA_CODFOR+DUA_LOJFOR (tratar codigo de emitente no GFE)
  • GWD_DSOCOR := DT2_DESCRI
  • GWD_ORIGEM := '2'
  • GWD_CDTIPO:= DT2_CDTIPO (DT2_CODOCO=DUA_CODOCO)
  • GWD_CDMOT := GU4_CDMOT (GU4_CDTIPO= GU5_CDTIPO)
  • GWD_FLOROC := DUA_FILORI
  • GWD_QTDVOL := DUA_QTDOCO
  • GWD_QTPERN := DUA_VALINF
  • GWD_DSPROB := IF(Empty(MSMM(DUA->DUA_CODMOT)),'.',MSMM(DUA->DUA_CODMOT))
  • GWD_CHVEXT := DUA_CODOCO+DUA_SEQOCO

 

GWL - documentos de carga da ocorrência

  • GWL_NROCO := GWD_NROCO
  • GWL_NRDC  := GWE_NRDC
  • GWL_FILDC := GWE_FILIAL
  • GWL_EMITDC := GWE_EMISDC
  • GWL_SERDC := GWE_SERDC
  • GWL_TPDC  := GWE_CDTPDC

                Ao montar os dados de gravação da GWL (documentos de carga da ocorrência) relacionar todos os documentos de carga vinculados ao CTe TMS (GWE_FILDT+GWE_NRDT+GWE_SERDT = DUA_FILDOC+DUA_DOC+DUA_SERIE), tratando as seguintes exceções:

  1. Quando for apontada ocorrência de encerra processo (DT2_TIPOCO='16') verificar, no grid (acols) de apontamento, se há ocorrência do tipo pendencia com retorno (DT2_TIPOCO='06';DT2_TIPPND='19') para o mesmo CTe TMS e excluir, da relação de documentos de carga da ocorrência (GWL) de encerra processo, as notas vinculadas a ocorrência de pendencia (DV4).
  2. Quando for apontada ocorrência do tipo pendência (DT2_TIPOCO='06') considerar como documento de carga da ocorrencia (GWL) apenas as notas vinculadas a ocorrência (DV4). Se não houver o vinculo, relacionar todos os documentos de carga vinculados ao CTe TMS (GWE).

Quando apontada ocorrência tipo 21, gravar a chave externa no trecho da ocorrência (GWU_DTENT=''; GWU_CHVEXT=''; GWU_PAGAR='1'; GWU_CDTRP=GU3_CDEMIT; GU3_CDERP+GU3_CDCERP= DUA_CODFOR+DUA_LOJFOR) para todos os documentos de carga vinculados do CTe TMS (GWE):

  • GWU_CHVEXT := DUA_CODOCO+DUA_SEQOCO

Quando apontada ocorrência tipo 21, verificar se todos os trechos pagos dos documentos de carga do CTE TMS (GWE) possuem registro de entrega por trecho (GWU_DTENT<>'') e perguntar ao operador se deseja apontar o encerramento do processo do CTe TMS. Em caso afirmativo, apontar ocorrencia automaticamente para o CTe obtendo o código da ocorrência do parâmetro MV_OCORENT considerando como dados de volume e peso da ocorrência o total do CTe. A ocorrência dever ter categoria por documento (DT2_CATOCO='1') permitindo apontar ocorrência sem informe de viagem.

Ao estornar a ocorrência TMS verificar a existencia de vinculo da ocorrência com o GFE (GWD_FLOROC= DUA_FILORI;(Alltrim(GWD_CHVEXT)=DUA_FILOCO+DUA_NUMOCO)) e executar a função GFEA032DEL(). Quando a ocorrência estiver aprovada  (GWD_SIT='2) executar a função GFEA032CAN().  Somente permitir estorno da ocorrência no TMS quando for excluída a ocorrência no GFE.

Limpar o conteúdo da chave externa do trecho (GWU_CHVEXT) ao estornar a ocorrência com sucesso.

TMSA360

 

Ajustar a função TMSA340Grv() para permitir encerrar viagem com ocorrência do tipo 21. Foi ajustado tmsa360 para tal necessidade, se alterado o Tmsa340Grv os dados do DT6 (DT6_STATUS) e DUD (DUD_STATUS) iam ficar errados.

TMSA340

Criar funcionalidade de verificação de vinculo de registro de ocorrência e os fornecedores proprietários dos veiculos da viagem (DUA_CODFOR+DUA_LOJFOR=DA3_CODFOR+DA3_LOJFOR;DTR_CODVEI, DTR_CODRB1, DTR_CODRB2, DTR_CODRB3).

Na existência de registro de ocorrência de  um dos fornecedores não permitir a exclusão do regsitro.

Na existencia de ocorrência para o fornecedor do veículo (DTR_CODVEI, DTR_CODRB1, DTR_CODRB2, DTR_CODRB3) não permitir alteração do respectivo campo.

Em ambos os casos o usuário será alertado sobre o motivo da restrição. 

TMSA240

Complemento Da Viagem.

Rotinas X Bloqueios

Ajustar a função AjustaTab() incluindo o tratamento da rotina TMSA360 com 05 opções de bloqueio conforme os seguintes critérios:

Motivo do bloqueio (DDV)

Filial (DDV_FILIAL) = xFilial('DDV')

Rotina (DDV_ROTINA) = TMSA360

Código do bloqueio (DDV_CODBLQ):

16; 17; 18; 19; 20

      Descrição do bloqueio (DDV_DESCB):

16 = Bloqueio de receita (CTe Complemento)

17 = Bloqueio de despesa (Compl.contr.carreteiro)

18 = Bloqueio de receita/despesa (CTe compl./compl.CTC)

19 = Bloqueio de receita (CTe reentrega)

20 = Bloqueio de receita (CTe devolução)

Regra de liberação (DDX)

      Filial (DDX_FILIAL) = xFilial('DDX')

      Rotina (DDX_ROTINA) = TMSA360

      Descrição da rotina (DDX_DESCR) = Apontamento de ocorrência

      Descrição Sintética da Rotina(DDX_DESCRS) = Ocorrência

      Tipo de liberação (DDX_TPLIB) = 1

Qtde.Niveis de liberação (DDX_NIVEIS) = 0

Ativo (DDX_ATIVO) = 1

Tratar a opção de liberação por alçada nestes novos bloqueios.

TMSA025

Aprovadores TMS

Incluir conceito de alçada de liberação por valor quando for boqueio de ocorrência (DDX_ROTINA = TMSA360). 

Exigir o registro de ao menos um aprovador com valor ilimitado para liberação.

TMSA026

Manutenção de Bloqueio TMS

Quando se tratar de bloqueio de ocorrência (DDU_ROTINA = TMSA360) tratar o conceito de alçada de valores na liberação e a opção de reprovação de liberação, exigindo, nesse ultimo, o informe do motivo da reprovação para efeito de consulta histórica.

 

Exibir, na tela de aprovação por alçada de valores, apenas registros de bloqueio cujos valores estejam dentro do limite do usuário aprovador.

Os bloqueios de receita de reentrega ou devolução (DDU_ROTINA = TMSA360; DDU_TIPBLQ$'19/20') serão considerados na liberação por alçada de valores somente quando houver indicação de permissão de alteração de valor no cadastro da ocorrência geradora do bloqueio (DT2_ALTVLR=='1'), caso contrário devem ser processados na liberação por nível.

 

Criar nova opção de reprovação do bloqueio (DDU_STATUS) com exigencia de informe do motivo da reprovação (DDU_MTVLIB). Quando a ocorrência for integrada ao GFE ou seja, quando DUA_FILOCO+DUA_NUMOCO for localizada na GWD( GWD_CHVEXT) - (Alltrim(GWD_CHVEXT) = DUA_FILOCO+DUA_NUMOCO=.T.) reprovar automáticamente a ocorrência no GFE - GFEA032()-GFEA032APR().

 

Na liberação de bloqueio de despesa de ocorrencia não integrada ao GFE (DDU_ROTINA = TMSA360; DDU_TIPBLQ$'17/18' - e DUA_FILOCO+DUA_NUMOCO não for localizada na GWD( GWD_CHVEXT) - (Alltrim(GWD_CHVEXT) = DUA_FILOCO+DUA_NUMOCO=.F.)) verificar se há valor de despesa (DUA_VLRDSP) e estando zerado, solicitar ao aprovador o informe do valor não permitindo ou valor zerado ou valor superior ao limite de alçada do usuário.

 

Na liberação de bloqueio de receita (DDU_ROTINA = TMSA360; DDU_TIPBLQ$'16/18') verificar se há valor de receita (DUA_VLRRCT) e estando zerado, solicitar ao aprovador o informe do valor.

 

Na liberação de bloqueio de receita (DDU_ROTINA = TMSA360; DDU_TIPBLQ$'16/18/19/20') verificar se há indicação de permissão de alteração de valor no cadastro da ocorrência (DT2_ALTVLR=='1') , em caso afirmativo, editar o campo de valor de receita (DUA_VLRRCT) não permitindo valor zerado para bloqueio dos tipos ou 16 ou 18. Para os tipos ou 19 ou 20 o valor zerado será permitido e nesse caso a geração de CTe será conforme as regras do padrão de reentrega ou devolução respectivamente.

 

Na alteração de valor da receita consistir o valor informado pelo usuário e seu respectivo limite de alçada, não permitindo informe de valor superior ao limite do usuário.

TMSA029

Ao confirmar o apontamento de ocorrência dos tipos receita/despesa (DT2_TIPOCO$'16/17/18/19/20') incluir, no cadastro de bloqueios TMS (DDU), registro para posterior liberação conforme as funcionalidades padrão da rotina de  Manutenção Bloqueios TMS (TMSA029).

 

Quando indicada a liberação automática (DT2_LIBPAUT='1') na ocorrência dos tipos ou receita ou despesa ou receita/despesa (DT2_TIPOCO$'16/17/18'), existindo valor de receita (DUA_VLRRCT) ou da despesa informado (DUA_VLRDSP) e  o usuário de inclusão possuir alçada de liberação (DDY) apta ao valor, gerar o registro de bloqueio com liberação automática e, quando ocorrência integrada ao GFE (DT2_CDTIPO<>'') para despesa (DT2_TIPOCO$'/17/18') gerar a ocorrência GFE já aprovada (GFEA032()).

 

Quando indicada a liberação automática (DT2_LIBPAUT='1') na ocorrência dos tipos ou receita reentrega

ou receita devolução  (DT2_TIPOCO$'19/20') e existindo valor de receita informado na ocorrência (DUA_VLRRCT > 0) verificar se o usuário de inclusão possui  alçada de liberação (DDY) apta ao valor e gerar o registro de bloqueio com liberação automática.

 

Quando indicada a liberação automática (DT2_LIBPAUT='1') na ocorrência dos tipos ou receita reentrega

ou receita devolução  (DT2_TIPOCO$'19/20') e não existindo valor de receita informado na ocorrência (DUA_VLRRCT <= 0) verificar se o usuário de inclusão possui  nivel de liberação suficiente (DDY) e gerar o registro de bloqueio com liberação automática.

 

  • Inclusão de Bloqueio Por Receita - ocorrência tipo 16: ajustar a função TMSA360Grv() para executar a função Tmsa029Blq() considerando o bloqueio por alçada, ex.:

Tmsa029Blq(3,'TMSA360','16',M->DUA_FILOCO,'DUA','1', XFILIAL('DUA')+M->DUA_FILOCO+M->DUA_NUMOCO+M->DUA_FILORI+M->DUA_VIAGEM+M->DUA_SEQOCO,M->DUA_NUMOCO,cMotivo)

  • Inclusão de Bloqueio Por Despesa - ocorrência tipo 17: ajustar a função TMSA360Grv() para executar a função Tmsa029Blq() considerando o bloqueio por alçada, ex.:

Tmsa029Blq(3,'TMSA360','17',M->DUA_FILOCO,'DUA','1', XFILIAL('DUA')+M->DUA_FILOCO+M->DUA_NUMOCO+M->DUA_FILORI+M->DUA_VIAGEM+M->DUA_SEQOCO,M->DUA_NUMOCO,cMotivo)

  • Inclusão de Bloqueio Por Receita - ocorrência tipo 18: ajustar a função TMSA360Grv() para executar a função Tmsa029Blq() considerando o bloqueio por alçada, ex.:

Tmsa029Blq(3,'TMSA360','18',M->DUA_FILOCO,'DUA','1', XFILIAL('DUA')+M->DUA_FILOCO+M->DUA_NUMOCO+M->DUA_FILORI+M->DUA_VIAGEM+M->DUA_SEQOCO,M->DUA_NUMOCO,cMotivo)

  • Inclusão de Bloqueio Por Receita - ocorrência tipo 19: ajustar a função TMSA360Grv() para executar a função Tmsa029Blq() considerando o bloqueio ou por alçada ou por nivel, ex.:

Tmsa029Blq(3,'TMSA360','19',M->DUA_FILOCO,'DUA','1', XFILIAL('DUA')+M->DUA_FILOCO+M->DUA_NUMOCO+M->DUA_FILORI+M->DUA_VIAGEM+M->DUA_SEQOCO,M->DUA_NUMOCO,cMotivo)

  • Inclusão de Bloqueio Por Receita - ocorrência tipo 20: ajustar a função TMSA360Grv() para executar a função Tmsa029Blq() considerando o bloqueio ou por alçada ou por nivel, ex.:

Tmsa029Blq(3,'TMSA360','20',M->DUA_FILOCO,'DUA','1', XFILIAL('DUA')+M->DUA_FILOCO+M->DUA_NUMOCO+M->DUA_FILORI+M->DUA_VIAGEM+M->DUA_SEQOCO,M->DUA_NUMOCO,cMotivo)

 

  • Não permitir o estorno de ocorrência vinculada a bloqueio reprovado (DDU) ajustando a função TMSA360Vld() para o campo DUA_ESTOCO

Ao estornar ocorrência dos tipos ou receita ou despesa (DT2_TIPOCO$'16/17/18/19/20'), excluir o respectivo bloqueio (DDU): ajustar a função TmsA360Est() para executar a função Tmsa029Blq():

Tmsa029Blq(5,TMSA360', Nil', M->DUA_FILORI,          'DUA','1', XFILIAL('DUA')+M->DUA_FILOCO+ M->DUA_NUMOCO+ M->DUA_FILORI+ M->DUA_VIAGEM+ M->DUA_SEQOCO, "","",)

 

Ao estornar ocorrência dos tipos ou despesa ou receita/despesa (DT2_TIPOCO$'/17/18') excluir o respectivo registro de valor informado da viagem (DVW) se houver.

 

TMSA360

Manutenção de documentos

Ao executar a opção de geração de CTe de ou complemento -TMSA500Mnt( cAlias, nReg, nOpcx=6) ou  reentrega - TMSA500Mnt( cAlias, nReg, nOpcx=5) ou devolução - TMSA500Mnt( cAlias, nReg, nOpcx=4) tratar existencia, para o documento de frete original,  de ocorrência de receita (DT6_FILDOC + DT6_DOC + DT6_SERIE= DUA_FILDOC + DUA_DOC + DUA_SERIE;DUA_CODOCO=DT2_CODOCO; DT2_DT2_TIPOCO in (16/18/19/20) liberada DUA_FILIAL+DUA_FILOCO+DUA_NUMOCO+DUA_FILORI+DUA_VIAGEM+DUA_SEQOCO=DDU_CHAVE;DDU_USRLIB<>' ')  e não vinculada a CTe   DUA_FILCTE + DUA_FLOCTE + DUA_NUMCTE + DUA_SERCTE=' ') .

 

Criar funcionalidade,  de uso opcional no CTe de complemento,  para exibição dos valores liberados (DT2_DT2_TIPOCO in (16/18); DUA_VLRREC) permitindo  visualizar a ocorrência original, possibilitando ao operador selecionar multiplos registros, herdando os valores selecionados e  gravando os componentes de frete   (DT8), agrupados pelos códigos de componentes indicados no cadastro das ocorrências selecionadas (DUA_CODOCO=DT2_CODOCO; DT2_CDPASR). Na gravação da composição do frete (DT8) considerar o componente informado na tabela de ocorrência, independente de constar ou não no layout da tabela de frete original: DT8_CODPAS=DT2_CDPASR.

A funcionalidade atual de geração de CTe de devolução complemento nos critérios atuais deve ser mantida.

 

Ajustar a rotina de geração de CTe de reentrega considerando ocorrência do tipo 19.

Criar funcionalidade,  de uso opcional no CTe de reentrega,  para exibição dos valores liberados (DT2_DT2_TIPOCO=='19') permitindo  visualizar a ocorrência original, possibilitando ao operador selecionar multiplos registros.

Quando selecionadas ocorrências com valor informado gerar o CTe com os valores herdados da ocorrência (DUA_VLRRCT<>0) .

Quando selecionadas ocorrências sem valor informado (DUA_VLRRCT=0) calcular o valor da reentrega baseado na indicação do perfil do cliente pagador.

Não permitir seleção de ocorrências com e sem valor informado (DUA_VLRRCT=0; DUA_VLRRCT<>0).

A funcionalidade atual de geração de CTe de reentrega via ocorrência de retorno de documento e o parâmetro MV_OCORREE deve ser mantida.

 

Ajustar a rotina de geração de CTe de devolução considerando ocorrência do tipo 20.

Criar funcionalidade,  de uso opcional no CTe de Devolução,  para exibição dos registros liberados (DT2_DT2_TIPOCO=='20') permitindo  visualizar a ocorrência original, possibilitando ao operador selecionar multiplos registros.

Quando selecionadas ocorrências com valor informado gerar o CTe com os valores herdados da ocorrência (DUA_VLRRCT<>0) .

Quando selecionadas ocorrências sem valor informado (DUA_VLRRCT=0) calcular o valor da devolução nos mesmos critérios atuais.

Não permitir seleção de ocorrências com e sem valor informado (DUA_VLRRCT=0; DUA_VLRRCT<>0).

A funcionalidade atual de geração de CTe de devolução via informe de ou valores ou % deve ser mantida.

 

Criar funciondalidade para herdar o motivo informado na ocorrência (DUA_CODMOT) para a observação do CTe (DT6_CODOBS) quando indicada a herança no cadastro da ocorrência (DT2_MOTDT6='1') -  (DUA_CODOCO=DT2_CODOCO; DT2_CDPASR); (DT2_DT2_TIPOCO in (16/18/19/20).

 

Gravar o vinculo do CTe com as ocorrências (DUA) selecionadas com o seguinte critério:

                Fil.Origem do CTe (DUA_FLOCTE) = DT6_FILORI

Numero do CTe (DUA_NUMCTE) = DT6_NUMCTE

Série do CTe (DUA_SERCTE) =  DT6_SERCTE

 

No cancelamento do CTe excluir o vinculo com a ocorrência.

 

Ajustar a funcionalidade de exibição de ocorrência para exibir a ocorrência de receita do CTe original ao visualizar o CTe complementar.

TMSA500

Na liberação do bloqueio de receita (DDU_ROTINA = TMSA360; DDU_TIPBLQ$'16/18/19/20') verificar se a ocorrência possui indicação de geração automática de complemento (DT2_CMPAUT='1').

Em caso afirmativo, gerar o o CTe, conforme o tipo do bloqueio: DDU_TIPBLQ$'16/18'-CTe complemento; DDU_TIPBLQ=='19'-CTe reentrega; DDU_TIPBLQ=='20'-CTe Devolução.

Quando for bloqueio tipo de receita  de complemento (DDU_ROTINA = TMSA360; DDU_TIPBLQ$'16/18') herdar o valor do CTe complemento dos valor de receita informado na ocorrência (DUA_VLRRCT).

Gerar o CTe via função TMSA500Mnt( cAlias, nReg, nOpcx=6)-complemento; TMSA500Mnt( cAlias, nReg, nOpcx=5)-reentrega;  TMSA500Mnt( cAlias, nReg, nOpcx=4) -devolução.

Nos bloqueios de tipo 19 e 20, quando existir valor informado no registro da ocorrência, o valor da ocorrência deve ser herdado pela função TMSA500Mnt(), caracterizando o informe de valor via digitação e não via calculo automático segundo os respectivos critérios do padrão para CTe de reentrega ou devolução.

TMSA029

Quando  a ocorrência possuir indicação de liberação automática (DT2_LIBPAUT='1') e de geração automática de complemento (DT2_CMPAUT='1'), verificar na ocorrência dos tipos ou receita ou receita/despesa ou receita reentrega ou receita devolução (DT2_TIPOCO$'16/18/19/20') se o respectivo registro de bloqueio consta como liberado e, em caso afirmativo,  gerar o CTe, conforme o tipo do da ocorrência (DT2_TIPOCO$'16/18'-CTe complemento; DT2_TIPOCO$='19'-CTe reentrega; DT2_TIPOCO$='20'-CTe Devolução.

 

Quando for ocorrência dos tipos ou receita ou receita/despesa (DT2_TIPOCO$'16/18') herdar o valor do CTe complemento dos valor de receita informado na ocorrência (DUA_VLRRCT).

 

Quando for ocorrência dos tipos ou receita reentrega ou devolução (DT2_TIPOCO$'19/20') e existindo valor informado no registro da ocorrência, o valor da ocorrência deve ser herdado pela função TMSA500Mnt(), caracterizando o informe de valor via digitação e não via calculo automático segundo os respectivos critérios do padrão para CTe de reentrega ou devolução.

 

Gerar o CTe via função TMSA500Mnt( cAlias, nReg, nOpcx=6)-complemento; TMSA500Mnt( cAlias, nReg, nOpcx=5)-reentrega;  TMSA500Mnt( cAlias, nReg, nOpcx=4) -devolução.

 

Não permitir o estorno de ocorrência vinculada a CTe ajustando a função TMSA360Vld() para o campo DUA_ESTOCO, quando houver o preenchimento dos campos de vinculo: (DUA_FLOCTE+DUA_NUMCTE+DUA_SERCTE).

TMSA360

Contrato de carreteiro

 

Ajustar a rotina de geração de complemento de contrato TMSA250Com() para chamada automática.

 

Ajustar a rotina de geração de complemento de contrato TMSA250Com() para gerar contrato complementar considerando o fornecedor indicado no registro da ocorrência (DUA_CODFOR, DUA_LOJFOR) mesmo quando for diferente do fornecedor do contrato principal.

 

Ao executar a geração ou do contrato original ou do complemento de contrato de carreteiro (DTY) tratar existencia, para a viagem do contrato original,  de ocorrência de despesa (DTY_FILORI+DTY_VIAGEM = DUA_FILORI+DUA_VIAGEM; DUA_CODOCO=DT2_CODOCO; DT2_DT2_TIPOCO in (17/18)) liberada (DUA_FILIAL+DUA_FILOCO+DUA_NUMOCO+DUA_FILORI+DUA_VIAGEM+DUA_SEQOCO = DDU_CHAVE; DDU_USRLIB <> ' '), não vinculada a contrato de carreteiro( DUA_FILIAL+DUA_FILORI+DUA_NUMCTC =' ') e não integrada ao GFE ou seja, quando DUA_FILOCO+DUA_NUMOCO não for localizada na GWD( GWD_CHVEXT) - (Alltrim(GWD_CHVEXT)=DUA_FILOCO+DUA_NUMOCO=.F.).

 

Criar funcionalidade,  de uso opcional,  para exibição dos valores liberados (DUA_VLRDSP) permitindo  visualizar a ocorrência original, possibilitando ao operador selecionar multiplos registros. Não permitir seleção de fornecedores ou naturezas financeiras distintas.

 

Após a seleção, gerar o CTC complementar conforme os valores selecionados ,agrupados por fornecedor (DUA_CODFOR+DUA_LOJFOR) e natureza financeira ou indicada na ocorrência (DUA_CODOCO=DT2_CODOCO;DT2_CODNAT), gravando os movimentos de custo de transporte (SDG), agrupados pelo código de despesa (DG_CODDES) indicado nas ocorrências selecionadas (DUA_CODOCO=DT2_CODOCO; DT2_CODDES) e o vinculo do CTC com as ocorrências (DUA).

 

Quando não houver informe de natureza financeira no cadastro da ocorrência (DT2_CODNAT) adotar o critério atual de obtenção de natureza do contrato de carreteiro. Em não existindo informe de código e loja de fornecedor (DUA_CODFOR+DUA_LOJFOR) considerar o fornecedor do contrato principal da viagem para obtenção da natureza.

 

Quando não houver despesa informada na ocorrência (DT2_CODDES) obter a despesa via parâmetro MV_DESCTC.

 

Quando não houver fornecedor informado no registro da ocorrência (DUA_CODFOR;DUA_LOJFOR) o fornecedor do contrato de complemento será o fornecedor do contrato original (DTY_CODFOR;DTY_LOJFOR).

 

Na visualização do contrato de carreteiro disponibilizar opção de exibição do vinculo com a ocorrência.

 

A funcionalidade de gerar complemento de contrato de carreteiro com informe manual do valor deve ser mantida.

 

Na gravação do vinculo do CTC com a ocorrência (DUA) adotar o seguinte critério:

Fil.Origem do Contrato (DUA_FLOCTC) = DTY_FILORI

Numero do contrato (DUA_NUMCTC) = DTY_NUMCTC

 

Na exclusão do CTC excluir o vinculo com a ocorrência e os repectivos movimentos de custo de transporte.

       

Ao final da geração do contrato principal,  verificar a existencia de valor informado da viagem (DVW) vinculado a ocorrência (DVW_ORIGEM='TMSA029') e gravar o vinculo do contrato com a ocorrência (DTY_FILORI+DTY_VIAGEM=DUA_FILORI+DUA_VIAGEM; (DUA_FILIAL + DUA_FILOCO + DUA_NUMOCO + DUA_FILORI + DUA_VIAGEM+DUA_SEQOCO = DDU_CHAVE; DUA_CODOCO = DT2_CODOCO; DVW_CODPAS = DT2_CDPASD).

 

Ao final da geração do contrato principal,  verficar a existencia de ocorrência de despesa para a viagem do contrato (DTY_FILORI+DTY_VIAGEM = DUA_FILORI+DUA_VIAGEM; DUA_CODOCO=DT2_CODOCO; DT2_DT2_TIPOCO in (17/18)) liberada (DUA_FILIAL + DUA_FILOCO + DUA_NUMOCO + DUA_FILORI + DUA_VIAGEM+DUA_SEQOCO = DDU_CHAVE; DDU_USRLIB <> ' ') e não vinculada a contrato de carreteiro (DUA_FILIAL+DUA_FILORI+DUA_NUMCTC = ' ') e, em caso afirmativo, executar a função TMSA250Com() automáticamente.

 

Não permitir o estorno de ocorrência vinculada a CTC, ajustando a função TMSA360Vld() para o campo DUA_ESTOCO, quando houver preenchimento dos campos de vinculo: (DUA_FLOCTC;DUA_NUMCTC).

TMSA250

Na liberação do bloqueio de despesa (DDU_ROTINA = TMSA360; DDU_TIPBLQ$'17/18') verificar se a ocorrência possui indicação de geração automática de complemento (DT2_CMPAUT='1') e não integrada ao GFE ou seja, quando DUA_FILOCO+DUA_NUMOCO não for localizada na GWD( GWD_CHVEXT) - (Alltrim(GWD_CHVEXT)=DUA_FILOCO+DUA_NUMOCO=.F.). Quando a ocorrencia for integrada ao GFE efetuar a aprovação automáticamente -  - GFEA032()-GFEA032APR().

 

Em caso afirmativo e existindo contrato de carreteiro gerado (DTY) para  a viagem da ocorrência, gerar, via função TMSA250Com(), o complemento do contrato de carreteiro (CTC) e o movimento de despesa (SDG), herdando o valor do complemento da despesa informada na ocorrência.

 

Em caso afirmativo, não existindo contrato de carreteiro gerado (DTY) para  a viagem da ocorrência e havendo componente de frete a pagar do tipo valor informado na ocorrência (DT3_CODPAS=DT2_CDPASD;DT3_TIPFAI='61'), gravar registro no controle de valor informado de componentes da viagem (DVW) para o respectivo componente e viagem da ocorrência (DVW_FILORI=DTQ_FILORI; DVW_VIAGEM=DTQ_FILORI DVW_CODPAS=DT2_CDPASD, DVW_VALOR=DUA_VALINF; DVW_TIPUSO='1'; DVW_ORIGEM='TMSA029'). Neste caso não haverá contrato de complemento uma vez que o componente fará parte do contrato original.

TMSA029

Criar campo para controle de origem do registro (DVW_ORIGEM).

Ajustar a função TmsValInf() para gravar a origem do registro de valor informado da viagem (DVW)

Ajustar a função TmsValInf() para não permitir ou exclusão ou alteração quando a origem for diferente das rotinas TMSA240 ou TMSA340.

TMSXFUNB

Criar funcionalidade de vinculo de fornecedores adicionais da viagem (DTQ).

Disponibilizar a opção no submenu 'Outras ações'; 'Manutenção'.

Essa funcionalidade visa gerar contrato de carreteiro (DTY) para fornecedores (SA2) não relacionados aos veículos(DA3) utilizados na viagem (DTR).

Será permitido o vinculo de fornecedores adicionais a viagem independente do status da mesma (DTQ_STATUS).

O CNPJ do fornecedor vinculado (A2_CGC) não deve constar do cadastro de empresas usuárias do Protheus (SIGAMAT-SM0), ou seja, deverá ser ou terceiro ou agregado.

O vinculo será gravado em nova tabela denominada DJM - Fornecedores adicionais na viagem.

No vinculo será indicado o código (DJM_CODFOR) e loja do fornecedor (DJM_CODFOR) e a opção de gerar ou titulo a pagar ou pedido de compra ou nenhum (DJM_GERAPC) quando da geração do contrato de carreteiro (DTY).

Não permitir exclusão ou alteração do vinculo se houver ocorrência registrada para a viagem e o respectivo fornecedor adicional (DJM_CODFOR+DUA_LOJFOR=DUA_CODFOR+DUA_LOJFOR).

Em caso afirmativo não será permitida ou a alteração ou a exclusão e o usuário será informado sobre o motivo da restrição.

Incluir validação na exclusão da viagem para verificar se há ocorrência apontada para a viagem.

Em caso afirmativo não será permitida a exclusão e o usuário será informado sobre o motivo da restrição.

TMSA141;

TMSA144

 

 

 

Quando  a ocorrência possuir indicação de liberação automática (DT2_LIBPAUT='1') e de geração automática de complemento (DT2_CMPAUT='1') verificar na ocorrência dos tipos ou despesa ou receita/despesa (DT2_TIPOCO$'17/18') se o respectivo registro de bloqueio consta como liberado e se a ocorrência não esta integrada ao GFE ou seja, quando DUA_FILOCO+DUA_NUMOCO não for localizada na GWD) - (Alltrim(GWD_CHVEXT)=DUA_FILOCO+DUA_NUMOCO=.F.).

 

Em caso afirmativo e existindo contrato de carreteiro (DTY) para a viagem da ocorrência, gerar, via função TMSA250Com(), o complemento do contrato de carreteiro (CTC), herdando o valor do complemento da despesa informada na ocorrência.

 

Em caso afirmativo e não existindo contrato de carreteiro gerado (DTY) para  a viagem da ocorrência e havendo componente de frete a pagar do tipo valor informado na ocorrência (DT3_CODPAS=DT2_CDPASD;DT3_TIPFAI='61'), gravar registro no controle de valor informado de componentes da viagem (DVW) para o respectivo componente e viagem da ocorrência (DVW_FILORI=DUA_FILORI; DVW_VIAGEM=DUA_VIAGEM DVW_CODPAS=DT2_CDPASD, DVW_VALOR=DUA_VALINF; DVW_TIPUSO='1'; DVW_ORIGEM='TMSA029'). Quando houver registro anterior deste componente para a viagem (DVW) cuja origem for a rotina TMSA029, somar o contéudo do campo DUA_VALINF ao contéudo do campo DVW_VALINF. Neste caso não haverá contrato de complemento uma vez que o componente fará parte do contrato original quando este for gerado.

TMSA360

 

Parei Aqui

Tipo de ocorrência

Ajustar a função GFE30VLDT2() para o campo 'Cod Ocor TMS' (GU5_OCOTMS) tratando os tipos de ocorrência TMS:

  • Quando indicado codigo de  ocorrência TMS de receita (DT2_TIPOCO$'16/18') o tipo de calculo GFE deve ser serviço (GU5_TPCALC=='3') e o tipo de evento deve ser calculo adicional (GU5_EVENTO=="1") ;
  • Quando indicado codigo de  ocorrência TMS de reentrega (DT2_TIPOCO=='19') o tipo de calculo GFE deve ser reentrega (GU5_TPCALC=='1') e o tipo de evento deve ser calculo adicional (GU5_EVENTO=="1") e a ocorrência TMS (GU5_OCOTMS) não precisa constar do parâmetro MV_OCORREE;
  • Quando indicado codigo de  ocorrência TMS de devolução (DT2_TIPOCO=='20') o tipo de calculo GFE deve ser retorno (GU5_TPCALC=='2') e o tipo de evento deve ser calculo adicional (GU5_EVENTO=="1").

GFEA030

Apontamento de ocorrencia GFE

 

Ao apontar ocorrencia tipo 19 (reentrega) e 20(devolução) será exibida tela para o usuário informar as notas relacionadas a ocorrência

As notas indicadas serão exibidas ao usuário na geração do CTe ou de reentrega ou devolução no módulo TMS.

No TMSA500 são exibidas as NFe que não possuem indicação de entrega (DTC_NFENTR)...por que precisariamos tratar isso no GFE?

 

Ajustar a validação de exclusão para não permitir exclusão de ocorrência originada via interface (GWD_CHVEXT<>'').

GFEA032

 

 

 

Protótipo de Tela

 

 

 

 

 

Opcional

Fluxo do Processo

 

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

Opcional

Dicionário de Dados

 

Arquivo ou Código do Script: AAA – Negociação Financeira / *Versao=CP.2014.12_03*/

  

Índice

Chave

01

<FI9_FILIAL+FI9_IDDARF+FI9_STATUS>

02

<FI9_FILIAL+FI9_FORNEC+ FI9_LOJA+FI9_EMISS+FI9_IDDARF>

03

<FI9_FILIAL+FI9_FORNEC+ FI9_LOJA+FI9_PREFIX+FI9_NUM+FI9_PARCEL+FI9_TIPO>

Campo

<AAA_PERESP>

Tipo

<N>

Tamanho

<6>

Valor Inicial

<Varia de acordo com o tipo informado. Por exemplo, quando o campo “tipo” for date, neste campo pode ser informado uma data>. 

Mandatório

Sim (  ) Não (  )

Descrição

<Referência Mínima para Cálculo>

Título

<Ref.Calc.>

Picture

<@E999.99>

Help de Campo

<Informar o % que o aluno pagará em dinheiro. Esse % poderá ser alterado durante a negociação>

 

(Opcional)

Grupo de Perguntas

 

<Informações utilizadas na linha Protheus>.

 

Nome: FINSRF2

X1_ORDEM

01

X1_PERGUNT

Emissão De

X1_TIPO

D

X1_TAMANHO

8

X1_GSC

G

X1_VAR01

MV_PAR01

X1_DEF01

Comum

X1_CNT01

'01/01/08'

X1_HELP

Data inicial do intervalo de emissões das guias de DARF a serem consideradas na seleção dos dados para o relatório 

 

(Opcional)

Consulta Padrão

<Informações utilizadas na linha Protheus>

 

Consulta: AMB

Descrição

Configurações de Planejamento

Tipo

Consulta Padrão

Tabela

“AMB”

Índice

“Código”

Campo

“Código”; ”Descrição”

Retorno

AMB->AMB_CODIGO

 

(Opcional)

Estrutura de Menu

 

<Informações utilizadas na linha Datasul>.

 

Procedimentos

 

Procedimento

 

 

 

Descrição

(Max 40 posições)

(Max 40 posições)

(Max 40 posições)

Módulo

 

 

 

Programa base

 

 

 

Nome Menu

(Max 32 posições)

(Max 32 posições)

(Max 32 posições)

Interface

GUI/WEB/ChUI/Flex

GUI/WEB/ChUI/Flex

GUI/WEB/ChUI/Flex

Registro padrão

Sim

Sim

Sim

Visualiza Menu

Sim/Não

Sim/Não

Sim/Não

Release de Liberação

 

 

 

 

 

 

Programas

 

Programa

 

 

 

Descrição

(Max 40 posições)

(Max 40 posições)

(Max 40 posições)

Nome Externo

 

 

 

Nome Menu/Programa

(Max 32 posições)

(Max 32 posições)

(Max 32 posições)

Nome Verbalizado[1]

(Max 254 posições)

(Max 254 posições)

(Max 254 posições)

Procedimento

 

 

 

Template

(Verificar lista de opções no man01211)

(Verificar lista de opções no man01211)

(Verificar lista de opções no man01211)

Tipo[2]

Consulta/Manutenção/ Relatório/Tarefas

Consulta/Manutenção/ Relatório/Tarefas

Consulta/Manutenção/ Relatório/Tarefas

Interface

GUI/WEB/ChUI/Flex

GUI/WEB/ChUI/Flex

GUI/WEB/ChUI/Flex

Categoria[3]

 

 

 

Executa via RPC

Sim/Não

Sim/Não

Sim/Não

Registro padrão

Sim

Sim

Sim

Outro Produto

Não

Não

Não

Visualiza Menu

Sim/Não

Sim/Não

Sim/Não

Query on-line

Sim/Não

Sim/Não

Sim/Não

Log Exec.

Sim/Não

Sim/Não

Sim/Não

Rotina (EMS)

 

 

 

Sub-Rotina (EMS)

 

 

 

Localização dentro da Sub Rotina (EMS)

 

 

 

Compact[4]

Sim/Não

Sim/Não

Sim/Não

Home[5]

Sim/Não

Sim/Não

Sim/Não

Posição do Portlet[6]

0 – Top Left

1 – Top Right

2 – Bottom Left

3 – Bottom Right

0 – Top Left

1 – Top Right

2 – Bottom Left

3 – Bottom Right

0 – Top Left

1 – Top Right

2 – Bottom Left

3 – Bottom Right

Informar os papeis com os quais o programa deve ser vinculado

 

 

 

 

Cadastro de Papéis

<O cadastro de papéis é obrigatório para os projetos de desenvolvimento FLEX a partir do Datasul 10>.

<Lembrete: o nome dos papeis em inglês descrito neste ponto do documento, devem ser homologados pela equipe de tradução>.

 

Código Papel

(máx 3 posições)

Descrição em Português*

 

Descrição em Inglês*

 


[1] Nome Verbalizado é obrigatório para desenvolvimentos no Datasul 10 em diante.

[2] Tipo é obrigatório para desenvolvimento no Datasul 10 em diante

[3] Categorias são obrigatórias para os programas FLEX.

[4] Obrigatório quando o projeto for FLEX

[5] Obrigatório quando o projeto for FLEX

[6] Obrigatório quando o projeto for FLEX

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