123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199 |
- #include 'protheus.ch'
- #include 'parmtype.ch'
- #include 'rwmake.ch'
- #include "topconn.ch"
- #INCLUDE "font.ch"
- #INCLUDE "colors.ch"
- /*__________________________________________________________________________
- ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
- ¦¦+-----------------------------------------------------------------------+¦¦
- ¦¦¦Funçäo ¦ CADZM1 ¦ Autor ¦ Lucilene Mendes ¦ Data ¦05.02.24 ¦¦¦
- ¦¦+----------+------------------------------------------------------------¦¦¦
- ¦¦¦Descriçäo ¦ Cadastro de usuários do portal ¦¦¦
- ¦¦+-----------------------------------------------------------------------+¦¦
- ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
- ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯*/
- User Function CadZM1()
- Local cAlias := "ZYG"
- Private aRotina := {}
- Private oBrowse
- Private cCadastro := "Usuários Portal SMS"
- //Opções de menu disponíveis
- aAdd(aRotina, {"Visualizar" , "u_MntZM1(2)", 0, 2})
- aAdd(aRotina, {"Incluir", "u_MntZM1(3)", 0, 3})
- aAdd(aRotina, {"Alterar", "u_MntZM1(4)", 0, 4})
- //aAdd(aRotina, {"Excluir", "AxDeleta", 0, 5})
- //Monta o browse
- oBrowse := FWmBrowse():New()
- oBrowse:SetAlias(cAlias)
- oBrowse:SetDescription( cCadastro )
- oBrowse:DisableDetails()
- //Abre a tela
- oBrowse:Activate()
- Return
- /*__________________________________________________________________________
- ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
- ¦¦+-----------------------------------------------------------------------+¦¦
- ¦¦¦Funçäo ¦ MntZM1 ¦ Autor ¦ Lucilene Mendes ¦ Data ¦05.02.24 ¦¦¦
- ¦¦+----------+------------------------------------------------------------¦¦¦
- ¦¦¦Descriçäo ¦ Manutenção de usuários do portal ¦¦¦
- ¦¦+-----------------------------------------------------------------------+¦¦
- ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
- ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯*/
- User Function MntZM1(nOpc)
- // Variaveis que controlam a interface
- Local nSuperior := 020
- Local nEsquerda := 005
- Local nInferior := 150
- Local nDireita := 389
- Local nX := 0
- Local cLinOk := "AllwaysTrue"
- Local cTudoOk := "AllwaysTrue"
- Local cDelOk := "AllwaysFalse"
- Local cFieldOk := "AllwaysTrue"
- Local cItem := "000"
- Local nStyle := Iif(nOpc = 2,0,(GD_INSERT + GD_UPDATE + GD_DELETE))
- Local oDlg1
- Local oSay1
- Local bRefresh := {|| oDlg1:Refresh() }
- Local bGDRefresh := {|| oGetDad:oBrowse:Refresh() }
- Local aHeader := {}
- Local aFields := {"ZYG_ITEM","ZYG_EST","ZYG_CODIGO"}
- Local aAlter := {}
- Local aCols := {}
- Private oGetDad
- Private cCodigo := space(6)
- Private cNome := space(30)
- Private cPerfil := ""
- Private cStatus := ""
- Private cRegional := space(6)
- Private cDescri := space(20)
- Private cSenha := space(10)
- dbSelectArea("ZM1")
- dbSelectArea("SX3")
- SX3->(dbSetOrder(2))
- //Monta o aHeader buscando na SX3 as propriedades dos campos do array aFields
- For nX := 1 to 5
- SX3->(dbSeek("ZM1_CLIENT"))
- Do Case
- Case nX = 1
- cTitulo:= "Rotina"
- Case nX = 2
- cTitulo:= "Incluir"
- Case nX = 3
- cTitulo:= "Alterar"
- Case nX = 4
- cTitulo:= "Excluir"
- Case nX = 5
- cTitulo:= "Copiar"
- Case nX = 6
- cTitulo:= "Revisar"
- Case nX = 7
- cTitulo:= "Efetivar"
- Case nX = 8
- cTitulo:= "Cancelar"
- Case nX = 9
- cTitulo:= "Todos"
- End Case
- Aadd(aHeader,{cTitulo,SX3->X3_CAMPO,SX3->X3_PICTURE,SX3->X3_TAMANHO,SX3->X3_DECIMAL,SX3->X3_VALID,; //"AllwaysTrue()"
- SX3->X3_USADO,SX3->X3_TIPO,SX3->X3_F3,SX3->X3_CONTEXT,SX3->X3_CBOX,SX3->X3_RELACAO})
- Next nX
-
- If nOpc = 4 .or. nOpc = 2
- cCodigo:= ZM1->ZM1_CODIGO
- cDescri:= ZM1->ZM1_NOME
- cQry:= " Select ZYG.R_E_C_N_O_ RECZYG, ZYG.* "
- cQry+= " From "+RetSqlName("ZYG")+" ZYG "
- cQry+= " Where ZYG_FILIAL = '"+ZYG->ZYG_FILIAL+"' "
- cQry+= " And ZYG_CODIGO = '"+ZYG->ZYG_CODIGO+"' "
- cQry+= " And ZYG.D_E_L_E_T_ = ' ' "
- If Select("QZYG") > 0
- QZYG->(dbCloseArea())
- Endif
- TcQuery cQry New Alias "QZYG"
- //Preenche o array com os itens
- While QZYG->(!Eof())
-
- //Monta o aCols
- aAdd(aCols, {QZYG->ZYG_ITEM,QZYG->ZYG_EST,QZYG->RECZYG, .F.})
-
- QZYG->(dbSkip())
- End
- Else
- aAdd(aCols,Array(Len(aHeader)+1))
- For nX := 1 To Len(aHeader)
- aCols[Len(aCols)][nX]:= CriaVar(aHeader[nX][2])
- Next nX
- aCols[Len(aCols)][Len(aHeader)+1]:= .F.
- Endif
- DEFINE FONT oBold NAME "Arial" SIZE 0, -12 BOLD
- //Monta a tela
- DEFINE MSDIALOG oDlg1 TITLE "Usuários Portal SMS" FROM 000, 000 TO 350, 780 COLORS 0,16777215 PIXEL Style 128//retira o [x] da janela
- @ 005,005 SAY oSay1 PROMPT "Código: "+ cCodigo F3 US2 SIZE 250, 030 OF oDlg1 FONT oBold COLORS CLR_BLUE, 16777215 PIXEL
- @ 005,070 Say "Nome:" SIZE 040, 010 OF oDlg1 COLORS 0, 16777215 PIXEL
- @ 005,100 MsGet cNome Picture "@!" SIZE 200, 008 Valid NaoVazio() When nOpc = 3 OF oDlg1 COLORS CLR_BLUE, 16777215 PIXEL
-
- @ 005,005 SAY oSay2 PROMPT "Perfil: "+ cPerfil SIZE 250, 030 OF oDlg1 FONT oBold COLORS CLR_BLUE, 16777215 PIXEL
- @ 005,070 Say oSay3 PROMPT "Status:" SIZE 040, 010 OF oDlg1 COLORS 0, 16777215 PIXEL
-
- // Ação a ser executada nos botões OK ou CANCELA
- @ 157,280 BUTTON oButton1 PROMPT "Confirmar" SIZE 037, 012 ACTION(u_GRVZM1(nOpc,aCols),oDlg1:End()) OF oDlg1 PIXEL
- @ 157,340 BUTTON oButton1 PROMPT "Fechar" SIZE 037, 012 ACTION(oDlg1:End()) OF oDlg1 PIXEL
- //Criação do Grid
- oGetDad := MsNewGetDados():New(nSuperior, nEsquerda, nInferior, nDireita, nStyle, cLinOk, cTudoOk,, aAlter,, 30, "AllwaysTrue", "", "AllwaysTrue", oDlg1, aHeader, aCols)
-
- Eval(bGDRefresh)//Atualiza Grid
- Eval(bRefresh) //Atualiza Tela
-
- ACTIVATE MSDIALOG oDlg1 CENTERED
- Return
- User Function GrvZM1(nOpc,aCols)
- Local aColsGrv:= oGetDad:aCols
- Local lInc:= .T.
- Local i:= 0
- For i:= 1 to Len(aColsGrv)
- lInc:= .T.
- If !aColsGrv[i,len(aColsGrv[i])] // se não estiver deletado em tela
- If !Empty(aColsGrv[i,len(aColsGrv[i])-1])
- ZYG->(dbGoto(aColsGrv[i,len(aColsGrv[i])-1]))
- lInc:= .F.
- Endif
- RecLock("ZYG", lInc)
- ZYG->ZYG_FILIAL:= xFilial("ZYG")
- ZYG->ZYG_CODIGO:= cCodigo
- ZYG->ZYG_DESCRI:= cDescri
- ZYG->ZYG_ITEM:= aColsGrv[i,1]
- ZYG->ZYG_EST:= aColsGrv[i,2]
- MsUnlock()
- Else
- If !Empty(aColsGrv[i,len(aColsGrv[i])-1])
- ZYG->(dbGoto(aColsGrv[i,len(aColsGrv[i])-1]))
- RecLock("ZYG", .F.)
- dbDelete()
- MsUnlock()
- Endif
-
- Endif
- Next
- Return
|