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 | Microsiga Protheus | Módulo | SIGAGFE |
Segmento Executor | Supply Chain - Logística | ||
Projeto1 | M_DL_GFE002 | IRM1 | PCREQ-8921 |
Requisito1 | PCREQ-9324 | Subtarefa1 | PDRDL-2423 |
Chamado2 |
| ||
País | (X) Brasil ( ) Argentina ( ) México ( ) Chile ( ) Paraguai ( ) Equador ( ) USA ( ) Colômbia ( ) Outro _____________. | ||
Outros |
ER_PCREQ_9319_Alçada_de_Aprovação_no_Documento_de_Frete_e_Fatura_(DTS) |
Legenda: 1 – Inovação 2 – Manutenção (Os demais campos devem ser preenchidos para ambos os processos).
Objetivo
Desenvolver a estrutura e os 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 hierarquias, sequenciamento de aprovação ou por nível de alçada considerando os 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 - Aprovação de Processos Logísticos.
Este sistema de aprovação tem 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 sempre para o MLA documento que passou pela conferência de fretes. Assim, serão integrados os documentos de frete que foram bloqueados pelo SIGAGFE devido a divergência com o valor previsto ou com os dados de carga. As faturas de fretes serão enviadas após serem aprovadas pelo sistema, para que no MLA seja liberada a permissão de pagamento (integração com o módulo Financeiro).
As faturas que forem bloqueadas por divergências com os valores de pré-faturas (para os clientes que optarem por utilizar a pré-fatura) gerará o registro de pendência de aprovação no MLA no momento do seu bloqueio no GFE. Neste caso, a aprovação da divergência entre Fatura de frete x Pré-fatura já libera para a integração com o Financeiro, não necessitando aprovação dupla da fatura no MLA.
A integração com o módulo MLA deve ser ativada no programa de Parâmetros do Módulo - GFEX000, no qual, além da definição da integração da aprovação dos processos com o MLA, também será definido se o valor a ser considerado para definição da alçada de aprovação será o valor total do documento ou a diferença entre previsto e realizado.
Rotina | Tipo de Operação | Opção de Menu | Regras de Negócio |
GFEXWSFUN | Alteração | - | Envio dos dados da negociação de fretes para o ERP Datasul. |
GFEX000 | Alteração | Atualizações > Cadastros > Parâmetros > Parâmetros do Modulo | Criaçã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 |
GFEA070 | Alteração | Atualizações > Movimentação > Doc Frete/Faturas > Fatura de frete | Alteração do processo de envio de faturas para o Finaneceiro |
GFEA065 | Alteração | Atualizações > Movimentação > Doc Frete/Faturas > Documentos Frete | Alterar 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' OR TAB.GW3_SITMLA = '8') "
Case cTabela == "GW6" .AND. cCodInt == '6'
// Fatura e Cod integração seja Financeiro
cQuery += " AND (TAB.GW6_SITMLA = '2' OR TAB.GW6_SITMLA = '5' OR TAB.GW3_SITMLA = '8') "
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 WebServices 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|GW3_SITMLA|
- Tratar o campo de valor do documento de frete (GW3_VLDF) para que seja enviada a diferença entre previsto e realizado, se o parâmetro MV_VLDFMLA == 2.
A mensagem será complementada com a descrição do resultado da conferência de frete (Campo Observação) para apresentação na consulta do MLA.
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_ORIGEM|GW6_SITAPR|GW6_DTBLOQ|GW6_HRBLOQ|GW6_USUBLO|GW6_MOTBLO|GW6_OBS|GW6_SITMLA|
- Tratar o campo de valor do documento de frete (GW6_VLFATU) para que seja enviada a diferença entre previsto e realizado, se o parâmetro MV_VLFTMLA == 2.
- 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.), passando os dados de aprovação como parâmetros:
GFEA066OK (.T., aDados[11] , aDados[10] , aDados[9] )
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, passando os dados de aprovação como parâmetros:
GFEA071OK(aDados[11], aDados[10] , aDados[8], aDados[9] )
Se ficar com o valor '3=Rejeitado' ou '7=Enviado/Aguardando' então manter a fatura como bloqueada, sem alterações.
Atualizar os campos de usuário, data e hora de aprovação ou rejeição no MLA:
GW6->GW6_DTAPR:= aDados[8]
GW6->GW6_USUAPR := aDados[9]
GW6->GW6_HRAPR := aDados[10]
GFEX000:
- Na pasta Integrações Datasul, seção Opções de Integração, incluir os parâmetros:
- MV_DFMLA - Aprovação de Doc. frete via MLA - opções: 1=Não integra / 2=Integra com valor doc./ 3=Integra valor diferença prev./realizado.
- MV_FTMLA - Aprovação de faturas via MLA - opções: 1=Não integra / 2=Integra com valor doc./ 3=Integra valor diferença prev./realizado.
GFEA066:
- Bloquear o programa para o uso quando o parâmetro MV_DFMLA estiver ativo (diferente de 1). Ao acessar o programa, o usuário deve receber a mensagem informando que a aprovação de documentos será pela 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.
- Criar novos parâmetros de entrada da função com atribuição do motivo, usuário e data de aprovação. Definir os valores de padrão dos mesmos para os casos em que a função for chamada sem informação destes parâmetros:
Function GFEA066OK(lMotivo, cMotAprov, cUserAprov, dtAprov, hrAprov)
Default cMotAprov := cMemo
Default cUserAprov := cUserAprov
Default dtAprov := DDATABASE
...
RecLock("GW3",.F.)
GW3->GW3_MOTAPR := cMotAprov
GW3->GW3_USUAPR := cUserAprov
GW3->GW3_SIT := "4"
GW3->GW3_DTAPR := dtAprov
GW3-> GW3_HRAPR :=hrAprov
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á pela 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:
- Alterar a função para passar a gravar os valores, nos campos de aprovação da tabela GW6, enviados pela aprovação via MLA:
Function GFEA071OK( cMemo, cUserAprov, dDataAprov, cHRAprov )
Default cUserAprovMLA := cUserName
Default dDataAprovMLA := dDataBase
Default cHRAprovMLA := Time()
--
RecLock("GW6", .F.)
GW6->GW6_MOTDES := cMemo
GW6->GW6_SITAPR := "4"
GW6->GW6_DTAPR := dDataAprov
GW6->GW6_HRAPR := cHRAprov
GW6->GW6_USUAPR := cUserAprov
Endif
GW6->( MsUnlock() )
***O campo cMemo não precisa ser atribuído por uma variável diferente pois na chamada da função atual já é passada como parâmetro.
- Na Function GFEA071RA:
- 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 ).
RecLock("GW6",.F.)
If lAprovMLA
If GW6->GW6_SITMLA == "7"
GW6->GW6_SITMLA := "8"
GW6->GW6_MOTMLA := ""
Else
GW6->GW6_SITMLA := "2"
GW6->GW6_MOTMLA := ""
EndIf
Else
GW6->GW6_SITMLA := "6" // Não se aplica - sem integração com MLA.
GW6->GW6_MOTMLA := ""
EndIf
GW6->(MsUnlock())
GFEA070:
- Quando for solicitada a exclusão da fatura no SIGAGFE, atualizar o campo GW6_SITMLA para 9-Excluir, se a situação no MLA for 3=Rejeitado, 4=Atualizado ou 7-Enviado/aguardando.
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 for ou não aprovado ( quando MV_ERPGFE == "1" .AND. MV_DFMLA ). Caso contrário, gravar o campo com o valor 6=Não se aplica.
- Se o registro estiver aguardando aprovação no MLA (GW3_SITMLA == "7" ) e houve atualização no registro que alterou a situação para aprovado via Sistema, então, deve ser enviada solicitação de desatualização do registro no MLA.
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",")
If GW3->GW3_SITMLA == "7"
oModel:LoadValue("GFEA065_GW3" ,"GW3_SITMLA","8") /*Atualizar registro de pendencia no MLA*/
oModel:LoadValue("GFEA065_GW3" ,"GW3_MOTMLA",")
endif
Else
If MV_ERPGFE == "1" .AND. MV_DFMLA
if GW3->GW3_SITMLA == "7"
oModel:LoadValue("GFEA065_GW3" ,"GW3_SITMLA","5") /* pendente desatualização. Quer dizer que o documento foi alterado após ser enviado para o MLA */
EndIf
GFEA065C:
- Na Function Conferencia():
- Incluir o campo GW3_SITMLA := 2 e GW3_MOTMLA := " " na conferência de fretes, quando o documento for ou não aprovado (considerar os parâmetros do módulo). Gravar o campo com o valor 6=Não se aplica quando não ativada a integração com o MLA de documentos de frete:
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",")
if GW3->GW3_SITMLA == "7"
oModel:LoadValue("GFEA065_GW3" ,"GW3_SITMLA","8") /* Atualizar registro no mla */
endif
Else
If MV_ERPGFE == "1" .AND. MV_DFMLA
if GW3->GW3_SITMLA == "7"
oModel:LoadValue("GFEA065_GW3" ,"GW3_SITMLA","5") /* pendente desatualização. Quer dizer que o documento foi alterado após ser enviado para o MLA */
Endif
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 | GW3_HRAPR |
Tipo | C | Memo | C |
Tamanho | 1 | 10 | 5 |
Valor Inicial | 1 | ||
Mandatório | Sim ( ) Não (X) | Sim ( ) Não (X) | Sim ( ) Não (X) |
Descrição | Integração com MLA | Motivo Rejeição MLA | Hora de aprovacao |
Título | Integração com MLA | Motivo Rejeição MLA | Hora Aprov |
Picture | <@E9> | @R 99:99 | |
Help de Campo | Situação da integração da negociação de fretes com o MLA. Lista de opções: | Motivo da rejeição do registro no MLA. | Hora de aprovação |
GW6 - Fatura de Fretes
Campo | GW6_SITMLA | GW6_MOTMLA |
Tipo | C | Memo |
Tamanho | 1 | 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: | 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. |
---|