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

SIGAGFE

Segmento Executor

 

Projeto1

M_DL_GFE002

IRM1

PCREQ-8921

Requisito1

PCREQ-9324

Subtarefa1

PDRDL-2423

Chamado2

 

País

(X) Brasil  (  ) Argentina  (  ) Mexico  (  ) Chile  (  ) Paraguai  (  ) Equador

(  ) USA  (  ) Colombia   (  ) Outro _____________.

Outros

   Legenda: 1 – Inovação 2 – Manutenção (Os demais campos devem ser preenchidos para ambos os processos). 

Objetivo

 Desenvolver estrutura  e componentes que possibilitem adotar, para o processo de aprovação de documentos de fretes e faturas de fretes, um sistema de aprovações por nível de alçada com possibilidade de integração com o módulo MLA do ERP Datasul.

Definição da Regra de Negócio

Atualmente o processo de aprovação de documentos de fretes faturas de fretes no SIGAGFE é realizado diretamente pelo programa de auditoria de fretes, sem a possibilidade de adoção de um sistema de hirarquias, sequenciamento de aprovação ou por nível de alçada considerando valores envolvidos.

A partir deste desenvolvimento, será disponibilizado um novo processo aos clientes do SIGAGFE que utilizam o ERP Totvs 12 / Datasul para permitir a aprovação destes processos em nível de alçadas, com a integração ao módulo  MLA - Módulo Logístico de Aprovação (http://tdn.totvs.com/pages/releaseview.action?pageId=73077953).

O novo sistema de aprovação terá como função principal permitir a definição de  hierarquias de aprovação sobre os processos de frete (com nível de alçada), levando-se em consideração os valores de documentos de frete que foram bloqueados pelo sistema devido divergência com o valor calculado e de faturas de fretes bloqueados por divergências com os valores de pré-faturas.

 A integração com o módulo MLA deverá ser ativada no programa de parâmetros do módulo, GFEX000.

Rotina

Tipo de Operação

Opção de Menu

Regras de Negócio

GFEXWSFUNAlteração-Envio dos dados da negociação de fretes para o ERP Datasul.
GFEX000AlteraçãoAtualizações ->Cadastros -> Parâmetros -> Parâmetros do ModuloCriação de parâmetro para a ativação de integração com MLA

GFEA066

Alteração

Atualizações -> Movimentação -> Auditoria de frete -> Aprovar Doc. Frete

Alteração do processo de aprovação do documento de fretes

GFEA071AlteraçãoAtualizações -> Movimentação -> Auditoria de frete -> Aprovar FaturaAlteração do processo de aprovação de faturas
GFEA065AlteraçãoAtualizações -> Movimentação -> Doc Frete/Faturas -> Documentos FreteAlterar situação do doc. no MLA


GFEXWSFUN:

Na Function GFEWSGETDATA:

Incluir o tratamento para envio das informações ao Web Service:

 

Case cTabela == "GW3" .AND. cCodInt == '6'

// Doc Frete e Cod integração seja Recebimento
cQuery += " AND (TAB.GW3_SITMLA = '2' OR TAB.GW3_SITMLA = '5') "

 

Case cTabela == "GW6" .AND. cCodInt == '6'
// Fatura e Cod integração seja Financeiro
cQuery += " AND (TAB.GW6_SITMLA = '2' OR TAB.GW6_SITMLA = '5') "


Criar bloco de envio de informações da tabela de fretes do GFE para o Datasul: 

tabela = GW3

operação = 6

As informações do Documento de frete enviados para o Web-Services serão:

 #GW3|GW3_FILIAL|GW3_CDESP|GW3_EMISDF|GW3_SERDF|GW3_NRDF|GW3_DTEMIS|GW3_TPDF|GW3_DTENT|GW3_CFOP|GW3_SIT|GW3_USUIMP|GW3_CDREM|GW3_CDDEST|GW3_VLDF|GW3_TAXAS|GW3_FRPESO|GW3_FRVAL|GW3_PEDAG|GW3_QTDCS|GW3_QTVOL|GW3_VOLUM|GW3_PESOR|GW3_PESOC|GW3_VLCARG|GW3_TPIMP|GW3_TRBIMP|GW3_BASIMP|GW3_PCIMP|GW3_VLIMP|GW3_CTE|GW3_MOTBLQ|GW3_DTBLQ|GW3_USUBLQ|GW3_ORIGEM|GW3_TPCTE|


tabela = GW6

operação = 6

As informações da Fatura de frete enviados para o Web-Services serão:

#GW6|GW6_FILIAL|GW6_EMIFAT|GW6_SERFAT|GW6_NRFAT|GW6_DTEMIS|GW6_VLFATU|GW6_VLDESC|GW6_VLICMS|GW6_VLICRE|GW6_VLISS|GW6_VLISRE|GW6_VLJURO|GW6_DTCRIA|GW6_DTVENC|GW6_DTVENC|GW6_DTBLOQ|GW6_HRBLOQ|GW6_USUBLO|GW6_MOTBLO|GW6_OBS|


Na Function GFEWSSETDATA: 

Criar o tratamento do retorno do MLA do Datasul para o GFE.

Alterar, conforme a string de retorno  os campos:


Case cTabela == "GW3"

If cCodInt == '6'


GW3->GW3_SITMLA :=  aDados[7]  /*Situação da integração*/

GW3->GW3_MOTMLA := aDados[8] /* Motivo aprovação rejeição */

Se o campo GW3_SITMLA ficar com o valor ' 4=Atualizado ' então Executar o processo de aprovação (auditoria) de documentos de fretes através da execução da função GFEA066OK (.T.). Definir as variáveis privadas que a função utiliza, atribuindo o retorno do MLA:

Private cMemoMLA

Private cUserAprovMLA

Private dDataAprovMLA

--

dDataAprovMLA := aDados[9] 

 cUserName := aDados[10] 

 cMemo := aDados[11] 

Se ficar com o valor '3=Rejeitado' ou '7=Enviado/Aguardando' então manter o documento como bloqueado, sem alterações.     

    

Case cTabela == "GW6"

If cCodInt == '6'

GW6->GW6_SITMLA :=  aDados[6]  /*Situação da integração*/

GW6->GW6_MOTMLA := aDados[7] /* Motivo aprovação rejeição */

Se o campo GW6_SITMLA ficar com o valor ' 4=Atualizado ' então Executar o processo de aprovação (auditoria) de documentos de fretes através da execução da função GFEA071OK (aDados[11]). Definir as variáveis privadas que a função utilizará para atribuir o retorno do MLA:

Private cUserAprovMLA

Private dDataAprovMLA

Private cHRAprovMLA

--

dDataAprovMLA := aDados[8] 

cHRAprovMLA := aDados[9] 

cUserAprovMLA := aDados[10] 

 

 Se ficar com o valor '3=Rejeitado' ou '7=Enviado/Aguardando' então manter a fatura como bloqueada, sem alterações.   

  

GFEX000:

Na aba Integrações Datasul, na Seção 'Opções de Integração', incluir o parâmetro MV_DFMLA e MV_FTMLA com as opções: 1=Sim / 2=Não.


GFEA066:

Bloquear o programa para o uso quando o parâmetro MV_DFMLA estiver ativado. Ao acessar o programa, o usuário deve receber a mensagem informando que a aprovação de documentos será através da integração com o MLA e não permitir o acesso:

"Sistema parametrizado para realizar a aprovação de documentos de fretes através do módulo MLA".

Na função GFEA066OK:

Tratar os dados de aprovação vindos do MLA. Atualmente, como a função não é acessada externamente, o programa utiliza variáveis privadas para atribuir os valores aos campos de data e usuário de aprovação.

Utilizar a função que verifica a fila de programas para verificar se o GFEXWSFUN foi o chamador e alterar as variáveis de atribuição dos campos de aprovação conforme abaixo:

 

RecLock("GW3",.F.)

If !IsInCallStack("GFEXWSFUN")  

GW3->GW3_MOTAPR := cMemo
GW3->GW3_USUAPR :=  cUserName
GW3->GW3_SIT := "4"
GW3->GW3_DTAPR := DDATABASE

Else

GW3->GW3_MOTAPR := cMemoMLA
GW3->GW3_USUAPR :=cUserAprovMLA
GW3->GW3_SIT := "4"
GW3->GW3_DTAPR := dDataAprovMLA

EndIf

MsUnLock("GW3")


GFEA071:

Bloquear o programa para o uso quando o parâmetro MV_FTMLA estiver ativado. Ao acessar o programa, o usuário deve receber a mensagem informando que a aprovação de faturas de fretes será através da integração com o MLA e não permitir o acesso:

"Sistema parametrizado para realizar a aprovação de faturas de fretes através do módulo MLA".

Na função  GFEA071OK:

Alterar a função para passar a gravar os valores, nos campos de aprovação da tabela GW6, enviados pela aprovação via MLA:

Private cUserAprovMLA

Private dDataAprovMLA

Private cHRAprovMLA

-- 

RecLock("GW6", .F.)

If !IsInCallStack("GFEXWSFUN")  

GW6->GW6_MOTDES := cMemo
GW6->GW6_SITAPR := "4"
GW6->GW6_DTAPR := dDataBase
GW6->GW6_HRAPR := Time()
GW6->GW6_USUAPR := cUserName

Else

GW6->GW6_MOTDES := cMemo
GW6->GW6_SITAPR := "4"
GW6->GW6_DTAPR := dDataAprovMLA
GW6->GW6_HRAPR :=  cHRAprovMLA
GW6->GW6_USUAPR := cUserAprovMLA

Endif

GW6->( MsUnlock() )

***O campo cMemo não precisa ser atribuído por uma variável diferente pois na chamada da função já é passada como parâmetro.

 

Na Function GFEA071RA:

No bloco de alteração da sitação da fatura para '2-Bloqueado' ( GW6->GW6_SITAPR := "2" ), incluir a alteração do campo GW6_SITMLA para "2-Pendente", verificando os parâmetros de ERP Integrado ( 1=Datasul ) e Aprovação via MLA ( 1=Sim ).

 If  MV_ERPGFE == "1" .AND. MV_DFMLA                  

GW6->GW6_SITMLA := "2"
GW6->GW6_MOTMLA := " " 

         Else                                

GW6->GW6_SITMLA := "6"
GW6->GW6_MOTMLA := " "

        EndIf 

No bloco onde a fatura é aprovada pelo sistema (GW6->GW6_SITAPR := "3") atribuir o campo GW6_SITMLA := 6 (Não se aplica).

 

GFEA065:

Alterar programa para que na validação do documento de fretes o campo de situação no MLA seja atualizado.

Na Function GFEA065VP:

Incluir o campo GW3_SITMLA := 2 e GW3_MOTMLA := " " na conferência de fretes, quando o documento não for aprovado. Quando aprovado, gravar o campo com o valor '6=Não se aplica': 

 

lAprovar := GFEA065CO(oModel)

 If !lAprovar .AND. MV_ERPGFE == "1" .AND. MV_DFMLA  

                 oModel:LoadValue("GFEA065_GW3" ,"GW3_SITMLA","2")  /*Pendente Atualização */

                 oModel:LoadValue("GFEA065_GW3" ,"GW3_MOTMLA",")

         Else               

                 oModel:LoadValue("GFEA065_GW3" ,"GW3_SITMLA","6")  /* Não se aplica. */ 

                 oModel:LoadValue("GFEA065_GW3" ,"GW3_MOTMLA",")

        EndIf 

 

GFEA065C:

Na  Function Conferencia():

Incluir o campo GW3_SITMLA := 2 e GW3_MOTMLA := " " na conferência de fretes, quando o documento não for aprovado. Quando aprovado, gravar o campo com o valor '6=Não se aplica': 

lAprovado := GFEA065CO(oModelGW3)
RecLock("GW3", .F.)

If !lAprovado .AND.  MV_ERPGFE == "1" .AND. MV_DFMLA  

                 oModel:LoadValue("GFEA065_GW3" ,"GW3_SITMLA","2")  /*Pendente Atualização */

                 oModel:LoadValue("GFEA065_GW3" ,"GW3_MOTMLA",")

         Else              

                 oModel:LoadValue("GFEA065_GW3" ,"GW3_SITMLA","6")  /* Não se aplica. */

                  oModel:LoadValue("GFEA065_GW3" ,"GW3_MOTMLA",")

        EndIf

         MsUnlock()


Tabelas Utilizadas

  • GW3 - Documento de fretes
  • GW6 – Fatura de fretes

Protótipo de Tela

Não se aplica. 

 

Fluxo do Processo

 Não se aplica.

Dicionário de Dados

 

GW3 - Documento de fretes

Campo

GW3_SITMLA

GW3_MOTMLA

Tipo

N

Memo

Tamanho

2

10

Valor Inicial

1

 

Mandatório

Sim (  ) Não (X)

Sim (  ) Não (X)

Descrição

Integração com MLA

Motivo Rejeição MLA

Título

Integração com MLA

Motivo Rejeição MLA

Picture

<@E9>

 

Help de Campo

Situação da integração da negociação de fretes com o MLA.

Lista de opções:
1=Nao Enviado;2=Pendente;3=Rejeitado;4=Atualizado;5=Pendente Desatualização;6=Nao se Aplica;7-Enviado/aguardando

Motivo da rejeição do registro no MLA.

 

GW6 - Fatura de Fretes

Campo

GW6_SITMLA

GW6_MOTMLA

Tipo

N

Memo

Tamanho

2

10

Valor Inicial

1

 

Mandatório

Sim (  ) Não (X)

Sim (  ) Não (X)

Descrição

Integração com MLA

Motivo Rejeição MLA

Título

Integração com MLA

Motivo Rejeição MLA

Picture

<@E9>

 

Help de Campo

Situação da integração da negociação de fretes com o MLA.

Lista de opções:
1=Nao Enviado;2=Pendente;3=Rejeitado;4=Atualizado;5=Pendente Desatualização;6=Nao se Aplica;7-Enviado/aguardando

Motivo da rejeição do registro no MLA.

 

 

Grupo de Perguntas

Não se aplica. 

 

 

Consulta Padrão

Não se aplica.

 

Estrutura de Menu

Não se aplica. 


Cadastro de Papéis

 

Não se aplica.

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