Histórico da Página
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|
Informações Gerais
Especificação | |||||||||||
ProdutoPROTHEUS | 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 ( ) Mexico México ( ) Chile ( ) Paraguai ( ) Equador ( ) USA ( ) Colombia 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 Auditoria de fretesFretes, sem a possibilidade de adoção de um sistema de hirarquiashierarquias, 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 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 MLA - Módulo Logístico de Aprovação (http://tdn.totvs.com/pages/releaseview.action?pageId=73077953).Aprovação de Processos Logísticos.
Este sistema de aprovação terá como 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 sistema SIGAGFE devido a divergência com o valor previsto ou com os dados calculados e de carga. As faturas de fretes bloqueados por divergências com os valores de pré-faturas ou e também as aprovadas pelo sistema para serão enviadas após serem aprovadas pelo sistema, para que no MLA seja liberada a permissão de pagamento (integração de financeiro).
Também será gerada pendência de aprovação no MLA para os documentos de frete e faturas que forem Aprovados pelo Sistema, porém, para que não seja necessária a intervenção de aprovadores neste módulo e ele seja aprovado automaticamente (pois a auditoria de frete já conferiu e liberou o documento) a pendência será criada no MLA com o usuário de solicitação = "SISTEMA", o qual deve obrigatoriamente estar cadastrado como um aprovador para os documentos 30 e 31 e configurado para aprovação automática. Se este usuário não for cadastrado, os documentos serão gerados normalmente e dependerão da intervenção de algum aprovador, conforme a configuração definida no MLA para os documentos. Esta movimentação se faz necessária para manter em um mesmo ambiente todos os documentos aprovados.
A aprovação automática de documentos de frete não pode ser realizada via usuário automático.
Vai para consulta com o cliente adotar o formato de visualização no GFE dos documentos, incluindo situação MLA.
A integração com o módulo MLA deverá ser ativada no programa de parâmetros do módulo, GFEX000, onde, 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.
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 | 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 -> 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 | ||
GFEA071GFEA070 | Alteração | Atualizações - > Movimentação -> Auditoria > Doc Frete/Faturas > Fatura de frete -> Aprovar Fatura | Alteração do processo de aprovação 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
Web-ServicesWebServices 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_SITAPR|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çãofunçã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'
ouou '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 aba- 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:
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"
If MV_ERPGFE == "1" .AND. MV_DFMLA
GW6->GW6_SITMLA:="28"
GW6->GW6_MOTMLA:=""
Else
Else
GW6->GW6_SITMLA := "6"
GW6->GW6_MOTMLA SITMLA:="2"
EndIf
No bloco onde a fatura é aprovada pelo sistema (
GW6->GW6_
SITAPRMOTMLA:="
3") também atribuir ao campo GW6_SITMLA := 2 (Pendente) ou 6 (Não se aplica) considerando os mesmos valores e parâmetro mencionados acima."
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
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':
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",")
f GW3->GW3_SITMLA == "7"
Atualizar o documento no MLA com novo valor.
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 */
Else ********
oModel:LoadValue("GFEA065_GW3" ,"GW3_SITMLA","2") /*Pendente atualização. Atualização */
oModel oModel:LoadValue("GFEA065_GW3" ,"GW3_MOTMLA",")
If GW3->GW3_SITMLA == "7"
oModel:LoadValue("GFEA065_GW3" ,"GW3_
MOTMLASITMLA","
Aprovado Via Sistema")8") /*Atualizar registro de pendencia no MLA*/
Endif
Else
oModel
oModel:LoadValue("GFEA065_GW3" ,"GW3_
SITMLAMOTMLA",
"6")
endif
Else /* Não se aplica */
If MV_ERPGFE == "1" .AND. MV_DFMLA
if GW3->GW3_SITMLA == "7"
oModel:LoadValue("GFEA065_GW3" ,"GW3_
MOTMLASITMLA","5")
/* pendente desatualização. Quer dizer que o documento foi alterado após ser enviado para o MLA */
EndIF
EndIf
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_DFMLAMV_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_
MOTMLASITMLA","8")
Else ***Aplicar as atualizações da função anterior *****
if GW3/* Atualizar registro no mla */
endif
Else
If MV_ERPGFE == "1" .AND. MV_DFMLA
if GW3->GW3_SITMLA == "7"
oModel
oModel:LoadValue("GFEA065_GW3" ,"GW3_SITMLA","5") /* pendente desatualização. Quer dizer que o documento foi alterado após ser enviado para o MLA */
ElseEndif
else
oModel:LoadValue("GFEA065_GW3" ,"GW3_SITMLA","6") /* Não se aplica. */
oModel
oModel:LoadValue("GFEA065_GW3" ,"GW3_MOTMLA",") EndIf
endif
EndIf MsUnlock
MsUnlock()
Tabelas Utilizadas
GW3 - Documento de fretes
GW6 – Fatura de fretes
cHRAprov
Protótipo de Tela
Não se aplica.
Fluxo do Processo
Não se aplica.
Dicionário de
DadosDados
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. |
---|