Advertisement
Guest User

Untitled

a guest
Oct 23rd, 2018
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 5.08 KB | None | 0 0
  1. #Include "rwmake.ch"
  2.  
  3.  
  4. /*/{Protheus.doc} SF2460I
  5. PTO DE ENTRADA APOS GRAVACAO NF SAIDA.  
  6.  
  7. @author Rubem Cerqueira
  8. @since 23/10/2017
  9. @version 1.0
  10. @return ${return}, ${return_description}
  11.  
  12. @type function
  13. /*/
  14.  
  15. User Function SF2460I()
  16.  
  17. PRIVATE aAreaSC5  := {}
  18. PRIVATE aAreaSE1  := {}
  19. PRIVATE aAreaSD2  := {}
  20. PRIVATE aAreaSC6  := {}
  21. PRIVATE aAreaSC2  := {}
  22. PRIVATE aAreaW15  := {}
  23.  
  24.  
  25. PRIVATE nPerComis := {}
  26. Private aDadosTit := {}
  27.  
  28. DbSelectArea("SF4") ; DbSetOrder(1)
  29.  
  30. /*
  31. CHAMADA DE WORFLOW DE NF DEVOLUCAO P/ FINANCEIRO
  32. */
  33. if SF2->F2_TIPO == "D"
  34.     //  U_MED003("1")
  35. endif
  36.  
  37. aAreaSC5 := SC5->(GetArea())
  38. aAreaSE1 := SE1->(GetArea())
  39. aAreaSD2 := SD2->(GetArea())
  40. aAreaSC2 := SC2->(GetArea())
  41. aAreaSC6 := SC6->(GetArea())
  42. aAreaW15 := W15->(GetArea())
  43.  
  44. //ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
  45. //³ Exclui os titulos provisorios (PR) ainda nao substituidos por RA    ³
  46. //ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
  47. If SC5->C5_GERAPR == "1"
  48.    
  49.     dbSelectArea("SE1"); SE1->(dbSetOrder(1)); SE1->(dbGoTop())
  50.     If SE1->(dbSeek(xFilial("SE1")+"PED"+SC5->C5_NUM))
  51.         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
  52.            
  53.             For i:=1 to Fcount()
  54.                 AADD(aDadosTit,{    FieldName(i), FieldGet(i)})
  55.             Next
  56.            
  57.             If SE1->E1_TIPO == "PR " .and. SE1->E1_PEDIDO == SC5->C5_NUM
  58.                
  59.                 Begin Transaction
  60.                 lMsErroAuto := .F.
  61.                 MSExecAuto({|x,y| FINA040(x,y)},aDadosTit,5) //Exclusao
  62.                 If (lMsErroAuto)
  63.                     lRetu := .F.
  64.                     MostraErro()
  65.                 Endif
  66.                 End Transaction
  67.                
  68.             Endif
  69.            
  70.             aDadosTit := {}
  71.            
  72.             SE1->(dbSkip())
  73.             Loop
  74.            
  75.         End
  76.        
  77.         //ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
  78.         //³ Faz a compensacao dos titulos RA com os titulos gerados pela NF     ³
  79.         //ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
  80.         dbSelectArea("SE1"); SE1->(dbSetOrder(1)); SE1->(dbGoTop())
  81.         If SE1->(dbSeek(xFilial("SE1")+SF2->F2_SERIE+SF2->F2_DOC))
  82.            
  83.             While SF2->F2_FILIAL+SF2->F2_SERIE+SF2->F2_DOC == SE1->E1_FILIAL+SE1->E1_PREFIXO+SE1->E1_NUM
  84.                
  85.                 _nRecno    := Recno()
  86.                 aCompensar := {}
  87.                 aTitulo    := {}
  88.                 _nValor    := SE1->E1_SALDO
  89.                
  90.                 If SE1->(dbSeek(xFilial("SE1")+"RAA"+SC5->C5_NUM+SE1->E1_PARCELA+"RA "))
  91.                    
  92.                     aadd(aCompensar,{Recno(), _nValor, 0, dDataBase, , , , })
  93.                    
  94.                 Endif
  95.                
  96.                 dbGoTo(_nRecno)
  97.                
  98.                 aTitulo := {0, 0, 0}
  99.                 //FaCmpCR(aTitulo,aCompensar,lLctPad,lComisNCC,cOrigem,bContabil ,bBlock,aEstorno)
  100.                 If len(aCompensar) > 0
  101.                     FaCmpCR(aTitulo,aCompensar,,,,,,)
  102.                 Endif
  103.                
  104.                 dbSelectArea("SE1")
  105.                 dbSkip()
  106.                
  107.             End
  108.            
  109.         Endif
  110.        
  111.     Endif
  112.     MsgInfo("Verifique se o Titulo no Contas a Receber (PR) foi excluido. Dúvidas entre em contato com Microwiser.","Aviso","ATENCAO")
  113. Endif
  114.  
  115.  
  116. Dbselectarea("W15");Dbsetorder(1)
  117. SC2->(dbSetOrder(01))
  118. SC6->(dbSetOrder(01))      //
  119. SD2->(dbSetOrder(03))      // doc+serie+cliente+loja+cod+item   ITENS DE VENDA DA NF
  120. SD2->(dbSeek(xFilial("SD2")+SF2->F2_DOC+SF2->F2_SERIE+SF2->F2_CLIENTE+SF2->F2_LOJA))
  121. 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
  122.     If SC6->(dbSeek(xFilial("SC6")+SD2->D2_PEDIDO+SD2->D2_ITEMPV,.T.))
  123.         If W15->(dbSeek(xFilial("W15")+SD2->D2_PEDIDO+SC6->C6_ITEM))
  124.             If SC2->(dbSeek(xFilial("SC2")+SC6->C6_NUMOP+SC6->C6_ITEMOP,.T.))
  125.                 If !Empty(SC2->C2_DATRF)
  126.                    
  127.                     RecLock("SC2",.F.) //MARCA OP PARA CONTINUAR SAINDO NO WORKFLOW DE ACOMPANHAMENTO DE OP (WTOX01.PRW)
  128.                     SC2->C2_WF := 'S'
  129.                     MsUnlock("SC2")
  130.                    
  131.                     RecLock("W15",.F.)
  132.                     W15->W15_STATUS := '8' // START-UP
  133.                     MsUnlock("W15")
  134.                 Endif
  135.             Endif
  136.         Endif
  137.     Endif
  138.    
  139.     //Inclusao Base Instalada para utilizacao do modulo de Gestao de Serviços
  140.     If SF4->(DbSeek(xFilial("SF4")+SD2->D2_TES))
  141.         If SF4->F4_DUPLIC == "S" .AND. SF4->F4_ESTOQUE == "S"
  142.             RecLock("AA3",.T.) // BASE INSTALADA
  143.             AA3->AA3_FILIAL := xFilial("AA3")
  144.             AA3->AA3_CODCLI := SF2->F2_CLIENTE
  145.             AA3->AA3_LOJA   := SF2->F2_LOJA
  146.             AA3->AA3_CODPRO := SD2->D2_COD
  147.             AA3->AA3_NUMSER := SF2->F2_DOC+SD2->D2_ITEM+SF2->F2_CLIENTE  //// Será informado pelo usuario
  148.             AA3->AA3_DTVEND := SF2->F2_EMISSAO
  149.             AA3->AA3_DTGAR  := SF2->F2_EMISSAO + VAL(GETMV("MV_FORMGAR"))
  150.             AA3->AA3_NFVEND := SF2->F2_DOC
  151.             MsUnLock("AA3")
  152.         Endif
  153.     Endif
  154.    
  155.     SELE("SD2")
  156.     dbskip()
  157. End
  158. ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  159.  
  160. RestArea(aAreaSC5)
  161. RestArea(aAreaSE1)
  162. RestArea(aAreaSD2)
  163. RestArea(aAreaSC6)
  164. RestArea(aAreaSC2)
  165. RestArea(aAreaW15)
  166.  
  167. return
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement