Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #Include "rwmake.ch"
- /*/{Protheus.doc} SF2460I
- PTO DE ENTRADA APOS GRAVACAO NF SAIDA.
- @author Rubem Cerqueira
- @since 23/10/2017
- @version 1.0
- @return ${return}, ${return_description}
- @type function
- /*/
- User Function SF2460I()
- PRIVATE aAreaSC5 := {}
- PRIVATE aAreaSE1 := {}
- PRIVATE aAreaSD2 := {}
- PRIVATE aAreaSC6 := {}
- PRIVATE aAreaSC2 := {}
- PRIVATE aAreaW15 := {}
- PRIVATE nPerComis := {}
- Private aDadosTit := {}
- DbSelectArea("SF4") ; DbSetOrder(1)
- /*
- CHAMADA DE WORFLOW DE NF DEVOLUCAO P/ FINANCEIRO
- */
- if SF2->F2_TIPO == "D"
- // U_MED003("1")
- endif
- aAreaSC5 := SC5->(GetArea())
- aAreaSE1 := SE1->(GetArea())
- aAreaSD2 := SD2->(GetArea())
- aAreaSC2 := SC2->(GetArea())
- aAreaSC6 := SC6->(GetArea())
- aAreaW15 := W15->(GetArea())
- //ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
- //³ Exclui os titulos provisorios (PR) ainda nao substituidos por RA ³
- //ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
- If SC5->C5_GERAPR == "1"
- dbSelectArea("SE1"); SE1->(dbSetOrder(1)); SE1->(dbGoTop())
- If SE1->(dbSeek(xFilial("SE1")+"PED"+SC5->C5_NUM))
- While !SE1->(Eof()) .and. SE1->E1_PREFIXO == "PED" .and. substr(SE1->E1_NUM,1,6) == SC5->C5_NUM// While !SE1->(Eof()) .and. SE1->E1_PREFIXO == "PED" .and. SE1->E1_NUM == SC5->C5_NUM
- For i:=1 to Fcount()
- AADD(aDadosTit,{ FieldName(i), FieldGet(i)})
- Next
- If SE1->E1_TIPO == "PR " .and. SE1->E1_PEDIDO == SC5->C5_NUM
- Begin Transaction
- lMsErroAuto := .F.
- MSExecAuto({|x,y| FINA040(x,y)},aDadosTit,5) //Exclusao
- If (lMsErroAuto)
- lRetu := .F.
- MostraErro()
- Endif
- End Transaction
- Endif
- aDadosTit := {}
- SE1->(dbSkip())
- Loop
- End
- //ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
- //³ Faz a compensacao dos titulos RA com os titulos gerados pela NF ³
- //ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
- dbSelectArea("SE1"); SE1->(dbSetOrder(1)); SE1->(dbGoTop())
- If SE1->(dbSeek(xFilial("SE1")+SF2->F2_SERIE+SF2->F2_DOC))
- While SF2->F2_FILIAL+SF2->F2_SERIE+SF2->F2_DOC == SE1->E1_FILIAL+SE1->E1_PREFIXO+SE1->E1_NUM
- _nRecno := Recno()
- aCompensar := {}
- aTitulo := {}
- _nValor := SE1->E1_SALDO
- If SE1->(dbSeek(xFilial("SE1")+"RAA"+SC5->C5_NUM+SE1->E1_PARCELA+"RA "))
- aadd(aCompensar,{Recno(), _nValor, 0, dDataBase, , , , })
- Endif
- dbGoTo(_nRecno)
- aTitulo := {0, 0, 0}
- //FaCmpCR(aTitulo,aCompensar,lLctPad,lComisNCC,cOrigem,bContabil ,bBlock,aEstorno)
- If len(aCompensar) > 0
- FaCmpCR(aTitulo,aCompensar,,,,,,)
- Endif
- dbSelectArea("SE1")
- dbSkip()
- End
- Endif
- Endif
- MsgInfo("Verifique se o Titulo no Contas a Receber (PR) foi excluido. Dúvidas entre em contato com Microwiser.","Aviso","ATENCAO")
- Endif
- Dbselectarea("W15");Dbsetorder(1)
- SC2->(dbSetOrder(01))
- SC6->(dbSetOrder(01)) //
- SD2->(dbSetOrder(03)) // doc+serie+cliente+loja+cod+item ITENS DE VENDA DA NF
- SD2->(dbSeek(xFilial("SD2")+SF2->F2_DOC+SF2->F2_SERIE+SF2->F2_CLIENTE+SF2->F2_LOJA))
- While !EOF() .and. SF2->F2_FILIAL+SF2->F2_DOC+SF2->F2_SERIE+SF2->F2_CLIENTE+SF2->F2_LOJA==SD2->D2_FILIAL+SD2->D2_DOC+SD2->D2_SERIE+SD2->D2_CLIENTE+SD2->D2_LOJA
- If SC6->(dbSeek(xFilial("SC6")+SD2->D2_PEDIDO+SD2->D2_ITEMPV,.T.))
- If W15->(dbSeek(xFilial("W15")+SD2->D2_PEDIDO+SC6->C6_ITEM))
- If SC2->(dbSeek(xFilial("SC2")+SC6->C6_NUMOP+SC6->C6_ITEMOP,.T.))
- If !Empty(SC2->C2_DATRF)
- RecLock("SC2",.F.) //MARCA OP PARA CONTINUAR SAINDO NO WORKFLOW DE ACOMPANHAMENTO DE OP (WTOX01.PRW)
- SC2->C2_WF := 'S'
- MsUnlock("SC2")
- RecLock("W15",.F.)
- W15->W15_STATUS := '8' // START-UP
- MsUnlock("W15")
- Endif
- Endif
- Endif
- Endif
- //Inclusao Base Instalada para utilizacao do modulo de Gestao de Serviços
- If SF4->(DbSeek(xFilial("SF4")+SD2->D2_TES))
- If SF4->F4_DUPLIC == "S" .AND. SF4->F4_ESTOQUE == "S"
- RecLock("AA3",.T.) // BASE INSTALADA
- AA3->AA3_FILIAL := xFilial("AA3")
- AA3->AA3_CODCLI := SF2->F2_CLIENTE
- AA3->AA3_LOJA := SF2->F2_LOJA
- AA3->AA3_CODPRO := SD2->D2_COD
- AA3->AA3_NUMSER := SF2->F2_DOC+SD2->D2_ITEM+SF2->F2_CLIENTE //// Será informado pelo usuario
- AA3->AA3_DTVEND := SF2->F2_EMISSAO
- AA3->AA3_DTGAR := SF2->F2_EMISSAO + VAL(GETMV("MV_FORMGAR"))
- AA3->AA3_NFVEND := SF2->F2_DOC
- MsUnLock("AA3")
- Endif
- Endif
- SELE("SD2")
- dbskip()
- End
- ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
- RestArea(aAreaSC5)
- RestArea(aAreaSE1)
- RestArea(aAreaSD2)
- RestArea(aAreaSC6)
- RestArea(aAreaSC2)
- RestArea(aAreaW15)
- return
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement