Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|
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).
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.
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 |
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|
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|
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]
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")
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.
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())
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
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()
GW3 - Documento de fretes
GW6 – Fatura de fretes
Não se aplica.
Não se aplica.
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 |
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. |
Não se aplica.
Não se aplica.
Não se aplica.
Não se aplica.
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|