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 tem como 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 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 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.
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 | |
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 |
GFEA071 | Alteração | Atualizações -> Movimentação -> Auditoria de frete -> Aprovar Fatura | Alteração do processo de aprovação de faturas |
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_
MOTBLQUSUBLQ|GW3_ORIGEM|GW3_
DTBLQTPCTE|GW3_
USUBLQ|GW3_ORIGEM|GW3_TPCTE|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_
DTVENCSITAPR|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.)
. 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 :=, passando os dados de aprovação como parâmetros:
GFEA066OK (.T., aDados[11] , aDados[10]
cMemo :=, aDados[
119]
)
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 :=
'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ãoaDados[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.
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
- 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.)
ElseGW3->GW3_MOTAPR :=
cMemoMLA cMotAprov
GW3->GW3_USUAPR :=
cUserAprov
GW3->GW3_SIT := "4"
GW3->GW3_DTAPR :=
dtAprov
GW3-> GW3_HRAPR :=hrAprov
EndIfMsUnLock("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:
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
Function GFEA071OK( cMemo, cUserAprov, dDataAprov, cHRAprov )
Default cUserAprovMLA := cUserName
Default dDataAprovMLA := dDataBase
Default cHRAprovMLA := Time()
--
RecLock("GW6", .F.)
Else
GW6->GW6_MOTDES := cMemo
GW6->GW6_SITAPR := "4"
GW6->GW6_DTAPR :=
dDataAprovMLAdDataAprov
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 MV_ERPGFEIf lAprovMLA
If GW6->GW6_SITMLA=="
1" .AND. MV_DFMLA7"
GW6->GW6_SITMLA:="28"
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
No bloco onde a fatura é aprovada pelo sistema (GW6->GW6_SITAPR := "3") atribuirGW6->(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)
IfIf !lAprovar .AND. MV_ERPGFE == "1" .AND. MV_DFMLA
oModel:LoadValue("GFEA065_GW3" ,"GW3_SITMLA","2") /*Pendente Atualização */
oModel
oModel:LoadValue("GFEA065_GW3" ,"GW3_MOTMLA",")
Else if GW3
If GW3->GW3_SITMLA == "7"
oModeloModel:LoadValue("GFEA065_GW3" ,"GW3_SITMLA","
58")
/*
pendente desatualização.Atualizar registro de pendencia no MLA*/
elseoModel:LoadValue("GFEA065_GW3" ,"GW3_
SITMLAMOTMLA",
"6")
/* Não se aplica. */endif
Else
If MV_ERPGFE == "1" .AND. MV_DFMLA
if GW3->GW3_SITMLA == "7"
oModel:LoadValue("GFEA065_GW3" ,"GW3_
MOTMLASITMLA","
Aprovado Via Sistema")endif5") /* pendente desatualização. Quer dizer que o documento foi alterado após ser enviado para o MLA */
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_
SITMLAMOTMLA",
"2") /*Pendente Atualização */")
if GW3->GW3_SITMLA == "7"
oModel:LoadValue("GFEA065_GW3" ,"GW3_
MOTMLASITMLA","8")
Else
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 */
Else
Endif
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
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. |
---|