LC_FATA1025.PRW 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. //----------------------------------------------------------------------
  2. // Função FATA1025. Pedido de Venda.
  3. // Caso seja informado o segundo vendedor a rotina divide a comissao.
  4. // Disparado por gatilho - C6_PRODUTO.
  5. // Solicitante: Comercial.
  6. // Autor: Fonseca.
  7. // Data: 05-08-2014.
  8. //----------------------------------------------------------------------
  9. #include "protheus.ch"
  10. #include "rwmake.ch"
  11. #include "topconn.ch"
  12. #include "TOTVS.CH"
  13. User Function FATA1025()
  14. Local aArea := GetArea()
  15. Local cComis := SB1->B1_COMIS
  16. If cFilAnt = '01'
  17. If C5_COMISTR <> 0
  18. cComis := (cComis / ((100 + C5_COMISTR)/100))
  19. EndIf
  20. If !Vazio(C5_VEND3)
  21. cComis := (cComis / 2)
  22. aCols[N][aScan(aHeader,{|X| ALLTRIM(X[2]) == "C6_COMIS2"})] := cComis
  23. aCols[N][aScan(aHeader,{|X| ALLTRIM(X[2]) == "C6_COMIS3"})] := cComis
  24. aCols[N][aScan(aHeader,{|X| ALLTRIM(X[2]) == "C6_COMIS4"})] := 0
  25. Else
  26. aCols[N][aScan(aHeader,{|X| ALLTRIM(X[2]) == "C6_COMIS2"})] := cComis
  27. aCols[N][aScan(aHeader,{|X| ALLTRIM(X[2]) == "C6_COMIS3"})] := 0
  28. aCols[N][aScan(aHeader,{|X| ALLTRIM(X[2]) == "C6_COMIS4"})] := 0
  29. EndIf
  30. ElseIf cFilAnt = '05'
  31. If C5_HOMECEN == "S"
  32. cComis := 3.5
  33. aCols[N][aScan(aHeader,{|X| ALLTRIM(X[2]) == "C6_COMIS3"})] := 0
  34. aCols[N][aScan(aHeader,{|X| ALLTRIM(X[2]) == "C6_COMIS4"})] := 0
  35. RestArea(aArea)
  36. Return(cComis)
  37. EndIf
  38. aCols[N][aScan(aHeader,{|X| ALLTRIM(X[2]) == "C6_COMIS3"})] := 0
  39. If !Vazio(C5_VEND3)
  40. If !Vazio(C5_VEND4)
  41. aCols[N][aScan(aHeader,{|X| ALLTRIM(X[2]) == "C6_COMIS4"})] := 1
  42. cComis := ((cComis -1) / 2)
  43. aCols[N][aScan(aHeader,{|X| ALLTRIM(X[2]) == "C6_COMIS2"})] := cComis
  44. aCols[N][aScan(aHeader,{|X| ALLTRIM(X[2]) == "C6_COMIS3"})] := cComis
  45. Else
  46. cComis := (cComis / 2)
  47. aCols[N][aScan(aHeader,{|X| ALLTRIM(X[2]) == "C6_COMIS2"})] := cComis
  48. aCols[N][aScan(aHeader,{|X| ALLTRIM(X[2]) == "C6_COMIS3"})] := cComis
  49. EndIf
  50. EndIf
  51. If !Vazio(C5_VEND4) .AND. Vazio(C5_VEND3)
  52. //.AND. aCols[N][aScan(aHeader,{|X| ALLTRIM(X[2]) == "C6_PRODUTO"})] <> 'A435-IP65' // Comissão Diferenciada de 7% - Lançamento Produto - Solicitado Fabi em 03-03-2017 .AND. aCols[N][aScan(aHeader,{|X| ALLTRIM(X[2]) == "C6_PRODUTO"})] <> 'A435-IP65'
  53. aCols[N][aScan(aHeader,{|X| ALLTRIM(X[2]) == "C6_COMIS4"})] := 1
  54. cComis := (cComis -1)
  55. aCols[N][aScan(aHeader,{|X| ALLTRIM(X[2]) == "C6_COMIS2"})] := cComis
  56. EndIf
  57. EndIf
  58. RestArea(aArea)
  59. Return(cComis)