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.
O novo 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 -se em consideração os valores de 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 calculado e de faturas de fretes bloqueados 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 deverá deve ser ativada no programa de parâmetros do módulo, GFEX000. 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 -> 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 =
GV9GW3
operação =
1Localizar a tabela de Comparativo de frete para a negociação com o índice 03 - GV9_FILIAL+GV9_CODCOT+GV9_SEQCOT;
Caso não exista cotação registrada, a tabela #GVQ será enviada sem informações (Apenas o cabeçalho '#GVQ' ).
Campos enviados:
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_
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:
GV9->GV9Case cTabela == "GW3"
If cCodInt == '6'
GW3->GW3_SITMLA := aDados[
57] /*Situação da integração*/
GV9GW3-
>GV9>GW3_MOTMLA := aDados[
68] /* Motivo aprovação rejeição */
Se o
campo GV9campo GW3_SITMLA ficar com o valor ' 4=Atualizado ' então
passar o valor do campoExecutar 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] )
GV9_SIT para ' 2=Liberada ';
Se ficar com o valor '
33=Rejeitado'
então manter o valor do campo GV9_SIT para ' 1=Em negociacao ' ;ou '7=Enviado/Aguardando' então manter a fatura como bloqueada, sem alterações.
Atualizar os campos de usuário, data
,e hora
, usuário de aprovação e motivo de reprovação. No campo GV9_MOTMLA, estarão as informações detalhadas da aprovação na ordem:GV9_DTAPR; GV9_HRAPR; GV9_USUAPR; GV9_MTVRPR.
GFEX000:
Na aba Integrações Datasul, na Seção 'Opções de Integração', incluir o parâmetro MV_TFMLA com as opções: 1=Sim / 2=Não.
Tabelas Utilizadas
- SE2 – Cadastro de Contas a Pagar
- FI9 – Controle de Emissão de DARF>.
Opcional
Protótipo de Tela
<Caso necessário inclua protótipos de telas com o objetivo de facilitar o entendimento do requisito, apresentar conceitos e funcionalidades do software>.
Protótipo 01
Opcional
Fluxo do Processo
<Nesta etapa incluir representações gráficas que descrevam o problema a ser resolvido e o sistema a ser desenvolvido. Exemplo: Diagrama - Caso de Uso, Diagrama de Atividades, Diagrama de Classes, Diagrama de Entidade e Relacionamento e Diagrama de Sequência>.
Opcional
Dicionário de Dados
Arquivo ou Código do Script: AAA – Negociação Financeira / *Versao=CP.2014.12_03*/
Índice | Chave |
01 | <FI9_FILIAL+FI9_IDDARF+FI9_STATUS> |
02 | <FI9_FILIAL+FI9_FORNEC+ FI9_LOJA+FI9_EMISS+FI9_IDDARF> |
03 | <FI9_FILIAL+FI9_FORNEC+ FI9_LOJA+FI9_PREFIX+FI9_NUM+FI9_PARCEL+FI9_TIPO> |
Campo | <AAA_PERESP> |
Tipo | <N> |
Tamanho | <6> |
Valor Inicial | <Varia de acordo com o tipo informado. Por exemplo, quando o campo “tipo” for date, neste campo pode ser informado uma data>. |
Mandatório | Sim ( ) Não ( ) |
Descrição | <Referência Mínima para Cálculo> |
Título | <Ref.Calc.> |
Picture | <@E999.99> |
Help de Campo | <Informar o % que o aluno pagará em dinheiro. Esse % poderá ser alterado durante a negociação> |
(Opcional)
Grupo de Perguntas
<Informações utilizadas na linha Protheus>.
Nome: FINSRF2
X1_ORDEM | 01 |
X1_PERGUNT | Emissão De |
X1_TIPO | D |
X1_TAMANHO | 8 |
X1_GSC | G |
X1_VAR01 | MV_PAR01 |
X1_DEF01 | Comum |
X1_CNT01 | '01/01/08' |
X1_HELP | Data inicial do intervalo de emissões das guias de DARF a serem consideradas na seleção dos dados para o relatório |
(Opcional)
Consulta Padrão
<Informações utilizadas na linha Protheus>
Consulta: AMB
Descrição | Configurações de Planejamento |
Tipo | Consulta Padrão |
Tabela | “AMB” |
Índice | “Código” |
Campo | “Código”; ”Descrição” |
Retorno | AMB->AMB_CODIGO |
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.
(Opcional)
Estrutura de Menu
<Informações utilizadas na linha Datasul>.
Procedimentos
Procedimento |
|
|
|
Descrição | (Max 40 posições) | (Max 40 posições) | (Max 40 posições) |
Módulo |
|
|
|
Programa base |
|
|
|
Nome Menu | (Max 32 posições) | (Max 32 posições) | (Max 32 posições) |
Interface | GUI/WEB/ChUI/Flex | GUI/WEB/ChUI/Flex | GUI/WEB/ChUI/Flex |
Registro padrão | Sim | Sim | Sim |
Visualiza Menu | Sim/Não | Sim/Não | Sim/Não |
Release de Liberação |
|
|
|
Programas
Programa |
|
|
|
Descrição | (Max 40 posições) | (Max 40 posições) | (Max 40 posições) |
Nome Externo |
|
|
|
Nome Menu/Programa | (Max 32 posições) | (Max 32 posições) | (Max 32 posições) |
Nome Verbalizado[1] | (Max 254 posições) | (Max 254 posições) | (Max 254 posições) |
Procedimento |
|
|
|
Template | (Verificar lista de opções no man01211) | (Verificar lista de opções no man01211) | (Verificar lista de opções no man01211) |
Tipo[2] | Consulta/Manutenção/ Relatório/Tarefas | Consulta/Manutenção/ Relatório/Tarefas | Consulta/Manutenção/ Relatório/Tarefas |
Interface | GUI/WEB/ChUI/Flex | GUI/WEB/ChUI/Flex | GUI/WEB/ChUI/Flex |
Categoria[3] |
|
|
|
Executa via RPC | Sim/Não | Sim/Não | Sim/Não |
Registro padrão | Sim | Sim | Sim |
Outro Produto | Não | Não | Não |
Visualiza Menu | Sim/Não | Sim/Não | Sim/Não |
Query on-line | Sim/Não | Sim/Não | Sim/Não |
Log Exec. | Sim/Não | Sim/Não | Sim/Não |
Rotina (EMS) |
|
|
|
Sub-Rotina (EMS) |
|
|
|
Localização dentro da Sub Rotina (EMS) |
|
|
|
Compact[4] | Sim/Não | Sim/Não | Sim/Não |
Home[5] | Sim/Não | Sim/Não | Sim/Não |
Posição do Portlet[6] | 0 – Top Left 1 – Top Right 2 – Bottom Left 3 – Bottom Right | 0 – Top Left 1 – Top Right 2 – Bottom Left 3 – Bottom Right | 0 – Top Left 1 – Top Right 2 – Bottom Left 3 – Bottom Right |
Informar os papeis com os quais o programa deve ser vinculado |
|
|
|
Cadastro de Papéis
<O cadastro de papéis é obrigatório para os projetos de desenvolvimento FLEX a partir do Datasul 10>.
<Lembrete: o nome dos papeis em inglês descrito neste ponto do documento, devem ser homologados pela equipe de tradução>.
Código Papel | (máx 3 posições) |
Descrição em Português* |
|
Descrição em Inglês* |
|
[1] Nome Verbalizado é obrigatório para desenvolvimentos no Datasul 10 em diante.
[2] Tipo é obrigatório para desenvolvimento no Datasul 10 em diante
[3] Categorias são obrigatórias para os programas FLEX.
[4] Obrigatório quando o projeto for FLEX
[5] Obrigatório quando o projeto for FLEX
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|