//----------------------------------------------------- // Função ORCA1035. Etapas da Negociação. // Ativado pela tecla na Alteração do Orçamento. // Solicitante: Comercial. // Autor: Fonseca. // Data: 01-04-2015. //----------------------------------------------------- #include "Protheus.ch" #include "Rwmake.ch" #include "Topconn.ch" User Function ORCA1035() Local aArea := GetArea() Local _aBrowse := {} Local aButtons := {} Private _nOpca := 0 Private bOk := {|| _nOpca:=1,Sair()} Private bCancel := {|| _nOpca:=0,Sair()} Private aFields := {} Private _cOrcamen := " " Private oFont1 := TFont():New("Calibri",,018,,.T.,,,,,.F.,.F.) Private oBrwTrb Private oDlg Private cAlias as char Private oTable as object If INCLUI RestArea(aArea) Return() EndIf If FunName() <> "MATA415" // Orçamento. RestArea(aArea) Return() EndIf _cOrcamen := SCJ->CJ_NUM //M->CJ_NUM oTable := FWTemporaryTable():New() // Cria a Estrutura da Temporaria. aadd(aFields,{"TDATA" ,"D",008,0}) aadd(aFields,{"THORA" ,"C",005,0}) aadd(aFields,{"USUARIO" ,"C",020,0}) aadd(aFields,{"ORCAMEN" ,"C",006,0}) aadd(aFields,{"HISTORICO","C",250,0}) oTable:SetFields(aFields) // Define os Campos do MsSelect - O que vai ser Mostrado no Browse. aadd(_aBrowse,{"TDATA" ,,"Data" }) aadd(_aBrowse,{"THORA" ,,"Hora" }) aadd(_aBrowse,{"USUARIO" ,,"Usuario" }) aadd(_aBrowse,{"ORCAMEN" ,,"Orçamento"}) aadd(_aBrowse,{"HISTORICO",,"Historico"}) oTable:AddIndex("1", {"TDATA", "THORA"}) oTable:Create() cAlias := oTable:GetAlias() MontaTemp() (cAlias)->(dbSetOrder(1)) aAdd(aButtons,{"",{||ORCA1035A()},"","Incluir Etapa"}) @ 001,001 TO 600,1700 DIALOG oDlg TITLE OemToAnsi("Etapas da Negociação..") oBrwTrb := MsSelect():New((cAlias),"","",_aBrowse,,,{035,004,283,848},,,,,) Eval(oBrwTrb:oBrowse:bGoTop) oBrwTrb:oBrowse:Refresh() Activate MsDialog oDlg On Init (EnchoiceBar(oDlg,bOk,bCancel,,aButtons)) Centered RestArea(aArea) Return() Static Function MontaTemp() If Select("QRY") > 0 dbSelectArea("QRY") dbCloseArea("QRY") Endif cQuery := "SELECT * FROM " + RetSQLName("SZW") + " WHERE ZW_FILIAL = '" + xFilial("SCJ") + "' AND " cQuery += "ZW_ORCAMEN = '" + Trim(_cOrcamen) + "' AND " + RetSQLName("SZW") + ".D_E_L_E_T_ = ' ' " cQuery += "ORDER BY ZW_DATA, ZW_HORA, R_E_C_N_O_ " TcQuery cQuery New Alias "QRY" While QRY->(!EOF()) RecLock((cAlias),.T.) (cAlias)->TDATA := StoD(QRY->ZW_DATA) (cAlias)->THORA := QRY->ZW_HORA (cAlias)->USUARIO := QRY->ZW_USUARIO (cAlias)->ORCAMEN := QRY->ZW_ORCAMEN (cAlias)->HISTORICO := QRY->ZW_HISTOR MsUnlock() QRY->(DbSkip()) EndDo Return Static Function Sair() If _nOpca <> 0 M->CJ_USUAETA := (cAlias)->USUARIO M->CJ_ATUALIZ := DDATABASE EndIf oTable:Delete() If Select("QRY") > 0 dbSelectArea("QRY") dbCloseArea("QRY") Endif oDlg:END() Return //----------------------------------------------------------- // Inclusão do Histórico do Cliente. //----------------------------------------------------------- Static Function ORCA1035A() Private cTexto := Space(250) Private oFont1 := TFont():New("Calibri",,016,,.F.,,,,,.F.,.F.) Private oFont2 := TFont():New("Calibri",,016,,.T.,,,,,.F.,.F.) Private oButton1 Private oGet1 Private oSay1 Private oDlg1 DEFINE MSDIALOG oDlg1 TITLE "Etapa da Negociação - Incluir.." FROM 000,000 TO 150,330 COLORS 0,16777215 PIXEL @ 017,005 SAY oSay1 PROMPT "Texto: " SIZE 050,012 OF oDlg1 COLORS 0,16777215 FONT oFont1 PIXEL @ 013,038 MSGET oGet1 VAR cTexto SIZE 128,012 OF oDlg1 PICTURE "@!" COLORS 0,16777215 FONT oFont2 PIXEL @ 060,120 BUTTON oButton1 PROMPT "Gravar" SIZE 040,012 ACTION Gravar() OF oDlg1 PIXEL ACTIVATE MSDIALOG oDlg1 CENTERED Return() Static Function Gravar() // Gravar SZW. RecLock("SZW",.T.) ZW_FILIAL := Trim(cFilAnt) ZW_DATA := DDATABASE ZW_HORA := LEFT(TIME(),5) ZW_HISTOR := Trim(cTexto) ZW_USUARIO := Trim(cUserName) ZW_ORCAMEN := _cOrcamen MsUnlock() // Gravar Temporaria - Permite atualizar o Browse. RecLock((cAlias),.T.) (cAlias)->TDATA := DDATABASE (cAlias)->THORA := LEFT(TIME(),5) (cAlias)->USUARIO := Trim(cUserName) (cAlias)->ORCAMEN := _cOrcamen (cAlias)->HISTORICO := Trim(cTexto) MsUnlock() oDlg1:END() Return()