Definição da Regra de Negócio
Há casos em que a liberação para que a fatura de fretes do SIGAGFE gere um título a pagar depende da aprovação de um usuário supervisor. Enquanto a fatura não tiver a liberação deste usuário, permitindo o seu pagamento, o título a pagar não deve ser gerado no ERP.
Neste desenvolvimento, será disponibilizado parâmetro que permitirá aos clientes do SIGAGFE integrados ao ERP Datasul / Totvs 12, a utilização do módulo de aprovação logística, MLA, para criação do fluxo de liberação de pagamento com controle de alçadas.
O Tipo de documento no MLA permanece sendo o 31 - Fatura de frete, e a sua criação será solicitada pelo GFE somente após a fatura de frete aprovada. A atualização com o módulo financeiro somente será permitida, quando a situação da fatura no MLA estiver como aprovada.
Será criado um novo campo na tabela de faturas de frete para o registro do usuário de criação do registro. A criação deste novo campo é justificada pelo fato do MLA utilizar o usuário de transação em definições de fluxo de aprovação, e atualmente esta informação não é registrada pelo SIGAGFE.
Rotina | Tipo de Operação | Opção de Menu | Regras de Negócio |
GFEA070 | Alteração | Movimentação -> Doc. Frete/Faturas -> Faturas de frete | Alteração da situação de integração com o MLA. |
GFEXWSFUN | Alteração | Processo interno | Integração SIGAGFE X Datasul. |
GFEA071 | Alteração | Processo interno | Alterações no processo de conferência para criação da pendência no MLA. |
GFEA097 | Envolvida | Integração em lote de faturas | Validar se o registro está aprovado para gerar título a pagar. |
Especificação Técnica:
Programa GFEA071:
- Na Função GFEA071RA, atualizar a variável lAprovMLA com a opção "4" na lista de opções do parâmetro MV_DFMLA:
Local lAprovMLA := SuperGetMv("MV_ERPGFE",.F.,"1") == "1" .And. SuperGetMv("MV_FTMLA",.F.,"1") $ "2|3|4"
- Travar a integração automática da fatura quando o parâmetro for igual a 4:
/* Atualização automática da fatura de frete no financeiro */
IF SuperGetMv("MV_FTMLA",.F.,"1") != '4'
If SuperGetMV('MV_GFEI16',, '1') == '2'
GFEA070X(.T.)
EndIf
EndIf
- Tratar a alteração da situação do campo GW6_SITMLA ao final da conferência, quando o parâmetro utilizar a nova opção (4):
If GfeVerCmpo({"GW6_SITMLA","GW6_MOTMLA"})
RecLock("GW6",.F.)
If lAprovMLA
If GW6->GW6_SITMLA == "7"
GW6->GW6_SITMLA := "8"
GW6->GW6_MOTMLA := ""
Else
***Se o parâmetro MV_FTMLA == "4" somente atualiza a situação MLA quando aprovada a fatura ( GW6_SITAPR $ "3|4" ).
GW6->GW6_SITMLA := "2"
GW6->GW6_MOTMLA := ""
** Se o parâmetro MV_FTMLA == "4" e a situação da fatura passou para bloqueada ( GW6_SITAPR == 2 ), alterar o campo GW6_SITMLA para 5=Pendente desatualização.
EndIf
** Se o GW6_SITMLA == 5, parâmetro MV_FTMLA == "4" e a situação da fatura passou para Aprovada (GW6_SITAPR $ "3|4" ) alterar o campo para atualização ( GW6->GW6_SITMLA := "8" );
Else
GW6->GW6_SITMLA := "6" // Não se aplica - sem integração com MLA.
GW6->GW6_MOTMLA := ""
EndIf
GW6->(MsUnlock())
EndIf
Programa GFEA070:
- No momento da solicitação de atualização da fatura com o financeiro ERP, validar se o parâmetro de integração com o MLA está ativo, e se o parâmetro de integração de faturas com o MLA está para enviar permissão de pagamento. Se estiverem conforme mencionado, confirmar antes da alteração do campo GW6_SITFIN, se o campo GW6_SITMLA está como 4=Aprovado. Se não estiver, apresentar mensagem em tela, informando que a fatura deve primeiro ter aprovação de pagamento, por meio do MLA.
- Incluir o novo campo da tabela, o GW6_USUIMP, no processo de criação/manutenção da fatura de frete para atribuir o usuário corrente do sistema.
Programa GFEXWSFUN:
- No retorno da fatura de frete do processo do MLA, deve ser avaliado se o parâmetro de atualização automática da fatura com o financeiro está ativado (MV_GFEI16) e, caso positivo, atualizar a situação da fatura com o financeiro.
- Somente atualizar quando o retorno do MLA for de Aprovação:
If SuperGetMV('MV_GFEI16',, '1') == '2'
GFEA070X(.T.)
EndIf
- Enviar o valor do parâmetro MV_FTMLA no final da String de comunicação com o GFE.
No ERP Datasul, fonte CDF433.i12, de integração de faturas de frete com o MLA, alterar o programa para que gere o registro de pendência de aprovação sempre que a fatura estiver com a situação Aprovada (GW6_SITAPR ), e o valor do parâmetro MV_FTMLA for igual a 4 (Liberação para pagamento).
Tabelas Utilizadas