LC_ORCA1035.PRW 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  1. //-----------------------------------------------------
  2. // Função ORCA1035. Etapas da Negociação.
  3. // Ativado pela tecla <F6> na Alteração do Orçamento.
  4. // Solicitante: Comercial.
  5. // Autor: Fonseca.
  6. // Data: 01-04-2015.
  7. //-----------------------------------------------------
  8. #include "Protheus.ch"
  9. #include "Rwmake.ch"
  10. #include "Topconn.ch"
  11. User Function ORCA1035()
  12. Local aArea := GetArea()
  13. Local _aBrowse := {}
  14. Local aButtons := {}
  15. Private _nOpca := 0
  16. Private bOk := {|| _nOpca:=1,Sair()}
  17. Private bCancel := {|| _nOpca:=0,Sair()}
  18. Private aFields := {}
  19. Private _cOrcamen := " "
  20. Private oFont1 := TFont():New("Calibri",,018,,.T.,,,,,.F.,.F.)
  21. Private oBrwTrb
  22. Private oDlg
  23. Private cAlias as char
  24. Private oTable as object
  25. If INCLUI
  26. RestArea(aArea)
  27. Return()
  28. EndIf
  29. If FunName() <> "MATA415" // Orçamento.
  30. RestArea(aArea)
  31. Return()
  32. EndIf
  33. _cOrcamen := SCJ->CJ_NUM //M->CJ_NUM
  34. oTable := FWTemporaryTable():New()
  35. // Cria a Estrutura da Temporaria.
  36. aadd(aFields,{"TDATA" ,"D",008,0})
  37. aadd(aFields,{"THORA" ,"C",005,0})
  38. aadd(aFields,{"USUARIO" ,"C",020,0})
  39. aadd(aFields,{"ORCAMEN" ,"C",006,0})
  40. aadd(aFields,{"HISTORICO","C",250,0})
  41. oTable:SetFields(aFields)
  42. // Define os Campos do MsSelect - O que vai ser Mostrado no Browse.
  43. aadd(_aBrowse,{"TDATA" ,,"Data" })
  44. aadd(_aBrowse,{"THORA" ,,"Hora" })
  45. aadd(_aBrowse,{"USUARIO" ,,"Usuario" })
  46. aadd(_aBrowse,{"ORCAMEN" ,,"Orçamento"})
  47. aadd(_aBrowse,{"HISTORICO",,"Historico"})
  48. oTable:AddIndex("1", {"TDATA", "THORA"})
  49. oTable:Create()
  50. cAlias := oTable:GetAlias()
  51. MontaTemp()
  52. (cAlias)->(dbSetOrder(1))
  53. aAdd(aButtons,{"",{||ORCA1035A()},"","Incluir Etapa"})
  54. @ 001,001 TO 600,1700 DIALOG oDlg TITLE OemToAnsi("Etapas da Negociação..")
  55. oBrwTrb := MsSelect():New((cAlias),"","",_aBrowse,,,{035,004,283,848},,,,,)
  56. Eval(oBrwTrb:oBrowse:bGoTop)
  57. oBrwTrb:oBrowse:Refresh()
  58. Activate MsDialog oDlg On Init (EnchoiceBar(oDlg,bOk,bCancel,,aButtons)) Centered
  59. RestArea(aArea)
  60. Return()
  61. Static Function MontaTemp()
  62. If Select("QRY") > 0
  63. dbSelectArea("QRY")
  64. dbCloseArea("QRY")
  65. Endif
  66. cQuery := "SELECT * FROM " + RetSQLName("SZW") + " WHERE ZW_FILIAL = '" + xFilial("SCJ") + "' AND "
  67. cQuery += "ZW_ORCAMEN = '" + Trim(_cOrcamen) + "' AND " + RetSQLName("SZW") + ".D_E_L_E_T_ = ' ' "
  68. cQuery += "ORDER BY ZW_DATA, ZW_HORA, R_E_C_N_O_ "
  69. TcQuery cQuery New Alias "QRY"
  70. While QRY->(!EOF())
  71. RecLock((cAlias),.T.)
  72. (cAlias)->TDATA := StoD(QRY->ZW_DATA)
  73. (cAlias)->THORA := QRY->ZW_HORA
  74. (cAlias)->USUARIO := QRY->ZW_USUARIO
  75. (cAlias)->ORCAMEN := QRY->ZW_ORCAMEN
  76. (cAlias)->HISTORICO := QRY->ZW_HISTOR
  77. MsUnlock()
  78. QRY->(DbSkip())
  79. EndDo
  80. Return
  81. Static Function Sair()
  82. If _nOpca <> 0
  83. M->CJ_USUAETA := (cAlias)->USUARIO
  84. M->CJ_ATUALIZ := DDATABASE
  85. EndIf
  86. oTable:Delete()
  87. If Select("QRY") > 0
  88. dbSelectArea("QRY")
  89. dbCloseArea("QRY")
  90. Endif
  91. oDlg:END()
  92. Return
  93. //-----------------------------------------------------------
  94. // Inclusão do Histórico do Cliente.
  95. //-----------------------------------------------------------
  96. Static Function ORCA1035A()
  97. Private cTexto := Space(250)
  98. Private oFont1 := TFont():New("Calibri",,016,,.F.,,,,,.F.,.F.)
  99. Private oFont2 := TFont():New("Calibri",,016,,.T.,,,,,.F.,.F.)
  100. Private oButton1
  101. Private oGet1
  102. Private oSay1
  103. Private oDlg1
  104. DEFINE MSDIALOG oDlg1 TITLE "Etapa da Negociação - Incluir.." FROM 000,000 TO 150,330 COLORS 0,16777215 PIXEL
  105. @ 017,005 SAY oSay1 PROMPT "Texto: " SIZE 050,012 OF oDlg1 COLORS 0,16777215 FONT oFont1 PIXEL
  106. @ 013,038 MSGET oGet1 VAR cTexto SIZE 128,012 OF oDlg1 PICTURE "@!" COLORS 0,16777215 FONT oFont2 PIXEL
  107. @ 060,120 BUTTON oButton1 PROMPT "Gravar" SIZE 040,012 ACTION Gravar() OF oDlg1 PIXEL
  108. ACTIVATE MSDIALOG oDlg1 CENTERED
  109. Return()
  110. Static Function Gravar()
  111. // Gravar SZW.
  112. RecLock("SZW",.T.)
  113. ZW_FILIAL := Trim(cFilAnt)
  114. ZW_DATA := DDATABASE
  115. ZW_HORA := LEFT(TIME(),5)
  116. ZW_HISTOR := Trim(cTexto)
  117. ZW_USUARIO := Trim(cUserName)
  118. ZW_ORCAMEN := _cOrcamen
  119. MsUnlock()
  120. // Gravar Temporaria - Permite atualizar o Browse.
  121. RecLock((cAlias),.T.)
  122. (cAlias)->TDATA := DDATABASE
  123. (cAlias)->THORA := LEFT(TIME(),5)
  124. (cAlias)->USUARIO := Trim(cUserName)
  125. (cAlias)->ORCAMEN := _cOrcamen
  126. (cAlias)->HISTORICO := Trim(cTexto)
  127. MsUnlock()
  128. oDlg1:END()
  129. Return()