MATA030 / CRMA980 **: Necessário verificar o parâmetro no Protheus MV_MVCSA1, caso o parâmetro esteja como ".T." deve ser usado o adapter "CRMA980" caso esteja como ".F." deve ser usado o "MATA030". * Rota: Informar Importante: * - Informar a Rota de acordo com o Cadastro de Rotas EAI. ** Versão: Manter a versão que for carrega ao incluir a Rotina no Protheus. 1 - Mensagem e Descrição precisa ser colocado exatamente como está no quadro 2 –- Recomendado na configuração deixar tanto o “Envia” como o “Recebe” com “Não”, pois o cliente está em produção e existe uma sequência correta de cargas antes que se faça a integração de Vendedor, Produto e Cliente, deixando já ativo o diagrama começara a enviar para a integração estes cadastros com erro. 3 - Mensagem é gerada na Liberação do Pedido, para gerar a mensagem no Faturamento necessário utilizar o ponto de entrada SF2460I.PRW e na transmissão da nota SPDNFDANF.prw, segue os dois abaixo. (Caso o PE já esteja sendo utilizado acrescentar o código do PE entrada abaixo dentro do PE já utilizado) Ponto de Entrada PI_SF2460I.PRW Bloco de código |
---|
//-------------------------------------------------------------------
/*/{Protheus.doc} SF2460I
Ponto de entrada para enviar a mensagem documenttraceability na emissão da nota
@author Alessandro Afonso
@version P12
@since 02/02/2021
/*/
//-------------------------------------------------------------------
User Function SF2460I()
Local aAreaSF2 := SF2->(GetArea())
Local aAreaSD2 := SD2->(GetArea())
Local aAreaSC5 := SC5->(GetArea())
Local sf2doc := SF2->F2_DOC //ParamIxb[1]
Local sf2serie := SF2->F2_SERIE //ParamIxb[2]
SF2->(DbSetOrder(1))
If SF2->(DbSeek(xFilial("SF2")+sf2doc+sf2serie ) )
DbSelectArea("SD2")
SD2->(DbSetOrder(3)) //D2_FILIAL, D2_DOC, D2_SERIE
If SD2->(DbSeek(xFilial("SD2")+sf2doc+sf2serie ) )
DbSelectArea("SC5")
SC5->(DbSetOrder(1)) //C5_FILIAL+C5_NUM
If SC5->(DbSeek(xFilial("SC5")+SD2->D2_PEDIDO ) )
//Envio rastreabilidade de pedidos
If FWHasEAI("MATA410B",.T.,,.T.) .And. Alltrim(SC5->C5_ORIGEM) == 'MSGEAI'
//Verifica se é um pedido gerado pelo Loja e atualiza status do pedido (C5_STATUS)
If ExistFunc("LjxjAtStTr") .And. !Empty(SC5->C5_ORCRES)
LjxjAtStTr()
EndIf
FwIntegDef("MATA410B")
EndIf
EndIf
EndIf
EndIf
RestArea(aAreaSF2)
RestArea(aAreaSD2)
RestArea(aAreaSC5)
aSize(aAreaSF2,0)
aSize(aAreaSD2,0)
aSize(aAreaSC5,0)
Return Nil
|
Ponto de Entrada PI_SPDNFDANF.prw Bloco de código | #INCLUDE "PROTHEUS.CH"
//-------------------------------------------------------------------
/*/{Protheus.doc} SPDNFDANF
Ponto de entrada para enviar a mensagem documenttraceability na impressão da danfe.
@author Alessandro Afonso
@version P12
@since 02/02/2021
/*/
//-------------------------------------------------------------------
User Function SPDNFDANF()
Local aAreaSF2 := SF2->(GetArea())
Local aAreaSD2 := SD2->(GetArea())
Local aAreaSC5 := SC5->(GetArea())
Local sf2doc := ParamIxb[1]
Local sf2serie := ParamIxb[2]
SF2->(DbSetOrder(1))
If SF2->(DbSeek(xFilial("SF2")+sf2doc+sf2serie ) )
DbSelectArea("SD2")
SD2->(DbSetOrder(3)) //D2_FILIAL, D2_DOC, D2_SERIE
If SD2->(DbSeek(xFilial("SD2")+sf2doc+sf2serie ) )
DbSelectArea("SC5")
SC5->(DbSetOrder(1)) //C5_FILIAL+C5_NUM
If SC5->(DbSeek(xFilial("SC5")+SD2->D2_PEDIDO ) )
//Envio rastreabilidade de pedidos
If FWHasEAI("MATA410B",.T.,,.T.) .And. Alltrim(SC5->C5_ORIGEM) == 'MSGEAI'
//Verifica se é um pedido gerado pelo Loja e atualiza status do pedido (C5_STATUS)
If ExistFunc("LjxjAtStTr") .And. !Empty(SC5->C5_ORCRES)
LjxjAtStTr()
EndIf
FwIntegDef("MATA410B")
EndIf
EndIf
EndIf
EndIf
RestArea(aAreaSF2)
RestArea(aAreaSD2)
RestArea(aAreaSC5)
aSize(aAreaSF2,0)
aSize(aAreaSD2,0)
aSize(aAreaSC5,0)
Return
Para a integração de Transportadora é necessário que o cliente esteja com o Acumulado do Faturamento atualizado superior à 15/09/2023, verificando o extrato de fontes é preciso ter o fonte MATI050O.prw com data superior à 31/05/2023. |