123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181 |
- #include 'protheus.ch'
- #Include 'FWMVCDef.ch'
- /*__________________________________________________________________________
- ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
- ¦¦+-----------------------------------------------------------------------+¦¦
- ¦¦¦Funçäo ¦ CADZM1 ¦ Autor ¦ Lucilene Mendes ¦ Data ¦05.02.24 ¦¦¦
- ¦¦+----------+------------------------------------------------------------¦¦¦
- ¦¦¦Descriçäo ¦ Cadastro de usuários do portal ¦¦¦
- ¦¦+-----------------------------------------------------------------------+¦¦
- ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
- ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯*/
- User Function CadZM1()
- Local cAlias := "ZM1"
- Private aRotina := MenuDef()
- Private oBrowse
- Private cCadastro := "Usuários Portal SMS"
- //Monta o browse
- oBrowse := FWmBrowse():New()
- oBrowse:SetAlias(cAlias)
- oBrowse:SetDescription( cCadastro )
- oBrowse:DisableDetails()
- oBrowse:AddLegend( "ZM1->ZM1_STATUS<>'2'", "GREEN", "Ativo" )
- oBrowse:AddLegend( "ZM1->ZM1_STATUS='2'", "RED", "Bloqueado" )
- //Abre a tela
- oBrowse:Activate()
- Return
- /***********
- Cria Menu
- ***********/
- Static Function MenuDef()
- Local aRotina := {}
- aAdd( aRotina, { 'Visualizar', 'VIEWDEF.CadZM1', 0, 2, 0, NIL } )
- aAdd( aRotina, { 'Incluir' , 'VIEWDEF.CadZM1', 0, 3, 0, NIL } )
- aAdd( aRotina, { 'Alterar' , 'VIEWDEF.CadZM1', 0, 4, 0, NIL } )
- // aAdd( aRotina, { 'Excluir' , 'VIEWDEF.CadZM1', 0, 5, 0, NIL } )
- Return aRotina
- /***********
- Cria Model
- ***********/
- Static Function ModelDef()
- Local oModel
- Local oStr1 := FWFormStruct(1,'ZM1')
- Local oStr2 := FWFormModelStruct():New()
- Local aZM1Rel:= {}
- Local aRotinas:= {"Cadastro de Cliente","Homologação","Orçamento","Pedido de Venda"}
- oStr1:RemoveField('ZM1_FILIAL','ZM1_CLIENT','ZM1_OPORT','ZM1_ORCTO','ZM1_PEDIDO')
- oStr2:AddTable('TMP', {'Rotina', 'OP1', 'OP2' ,'OP3', 'OP4', 'OP5', 'OP6', 'OP7','OP8','OP9'}, "Itens")
-
- //Adiciona o campo
- oStr2:AddField(;
- "Rotina",; // [01] C Titulo do campo
- "Rotina",; // [02] C ToolTip do campo
- "ROTINA",; // [03] C Id do Field
- "C",; // [04] C Tipo do campo
- 40,; // [05] N Tamanho do campo
- 0,; // [06] N Decimal do campo
- Nil,; // [07] B Code-block de validacao do campo
- Nil,; // [08] B Code-block de validacao When do campo
- {},; // [09] A Lista de valores permitido do campo
- .T.,; // [10] L Indica se o campo tem preenchimento obrigatè´¸rio
- FwBuildFeature( STRUCT_FEATURE_INIPAD, "Iif(!INCLUI,ZM1->ZM1_PEDIDO,'')" ),; // [11] B Code-block de inicializacao do campo
- .F.,; // [12] L Indica se trata-se de um campo chave
- .F.,; // [13] L Indica se o campo pode receber valor em uma operacao de update.
- .T.)
- //Adiciona o checkbox
- oStr2:AddField('SELECT1', ' ', 'SELECT1', 'L', 1, 0, , , {}, .F.,FWBuildFeature( STRUCT_FEATURE_INIPAD, ".F."))
- oStr2:AddField('SELECT2', ' ', 'SELECT2', 'L', 1, 0, , , {}, .F.,FWBuildFeature( STRUCT_FEATURE_INIPAD, ".F."))
- oStr2:AddField('SELECT3', ' ', 'SELECT3', 'L', 1, 0, , , {}, .F.,FWBuildFeature( STRUCT_FEATURE_INIPAD, ".F."))
- oStr2:AddField('SELECT4', ' ', 'SELECT4', 'L', 1, 0, , , {}, .F.,FWBuildFeature( STRUCT_FEATURE_INIPAD, ".F."))
- oStr2:AddField('SELECT5', ' ', 'SELECT5', 'L', 1, 0, , , {}, .F.,FWBuildFeature( STRUCT_FEATURE_INIPAD, ".F."))
- oStr2:AddField('SELECT6', ' ', 'SELECT6', 'L', 1, 0, , , {}, .F.,FWBuildFeature( STRUCT_FEATURE_INIPAD, ".F."))
- oStr2:AddField('SELECT7', ' ', 'SELECT7', 'L', 1, 0, , , {}, .F.,FWBuildFeature( STRUCT_FEATURE_INIPAD, ".F."))
- oStr2:AddField('SELECT8', ' ', 'SELECT8', 'L', 1, 0, , , {}, .F.,FWBuildFeature( STRUCT_FEATURE_INIPAD, ".F."))
- oStr2:AddField('SELECT9', ' ', 'SELECT9', 'L', 1, 0, , , {}, .F.,FWBuildFeature( STRUCT_FEATURE_INIPAD, ".F."))
- oModel := MPFormModel():New('CadZM1M')
- oModel:AddFields('ZM1MASTER', /*cOwner*/,oStr1, /*bPreValidacao*/,/*bPosValidacao*/, /*bCarga*/ )
- oModel:AddGrid( 'ZM1DETAIL','ZM1MASTER',oStr2,/*bLinePre*/,/*bLinePost*/, /*bPreVal*/, /*bPosVal*/)
- aAdd(aZM1Rel, {'ZM1_FILIAL' , 'Iif(!INCLUI, ZM1->ZM1_FILIAL, FWxFilial("ZM1"))'} )
- oModel:SetRelation('ZM1DETAIL', aZM1Rel, ZM1->(IndexKey(1)))
-
- //Setando outras informacaoes do Modelo de Dados
- oModel:SetDescription(cCadastro)
- oModel:SetPrimaryKey({"ZM1_FILIAL","ZM1_CODIGO"})
- oModel:GetModel("ZM1MASTER"):SetDescription("Formulario - "+cCadastro)
- Return oModel
- /////////////////////////////////////////
- Static Function ViewDef()
- Local oModel := FWLoadModel("CadZM1")
- Local oStr1 := FWFormStruct(2,'ZM1')
- Local oStr2 := FWFormViewStruct():New()
- Local oView := Nil
- //Adiciona o campo
- oStr2:AddField( 'ROTINA' ,'01','Rotina','Rotina',, 'C')
- oStr2:AddField( 'SELECT1','02','Incluir','Incluir',, 'Check')
- oStr2:AddField( 'SELECT2','03','Alterar','Altear',, 'Check')
- oStr2:AddField( 'SELECT3','04','Excluir','Excluir',, 'Check')
- oStr2:AddField( 'SELECT4','05','Excluir','Excluir',, 'Check')
- oStr2:AddField( 'SELECT5','06','Copiar','Copiar',, 'Check')
- oStr2:AddField( 'SELECT6','07','Revisar','Revisar',, 'Check')
- oStr2:AddField( 'SELECT7','08','Efetivar','Efetivar',, 'Check')
- oStr2:AddField( 'SELECT8','09','Cancelar','Cancelar',, 'Check')
- oStr2:AddField( 'SELECT9','10','Todos','Todos',, 'Check')
- //Criando a view que sera o retorno da funcao e setando o modelo da rotina
- oView := FWFormView():New()
- oView:SetModel(oModel)
- oView:AddField("VIEW_CAB", oStr1, "ZM1MASTER")
- oView:AddGrid('VIEW_DET',oStr2,'ZM1DETAIL')
-
- //Setando o dimensionamento de tamanho
- oView:CreateHorizontalBox('CABEC',40)
- oView:CreateHorizontalBox('GRID',60)
-
- //Amarrando a view com as box
- oView:SetOwnerView('VIEW_CAB','CABEC')
- oView:SetOwnerView('VIEW_DET','GRID')
- //Gatilho para alimentar o grid
- oView:SetFieldAction("ZM1_CODIGO", {|oView, cIdView, cField, xValue| U_ATUGRIDZM1(oView, cIdView, cField, xValue)})
- //Incrementando o campo sequencia
- //oView:AddIncrementField( 'VIEW_ZC0', 'ZC0_SEQUEN' )
-
- //Habilitando titulo
- oView:EnableTitleView('VIEW_CAB','Cadastro')
- oView:EnableTitleView('VIEW_DET','Acessos')
-
- //Tratativa padrao para fechar a tela
- oView:SetCloseOnOk({||.T.})
-
- //Remove os campos de Filial e Tabela da Grid
- oStr1:RemoveField('ZM1_FILIAL')
- oStr1:RemoveField('ZM1_CLIENT')
- oStr1:RemoveField('ZM1_OPORT')
- oStr1:RemoveField('ZM1_ORCTO')
- oStr1:RemoveField('ZM1_PEDIDO')
-
- Return oView
- ////////////////////
- User Function AtuGridZM1(oView, cIdView, cField, xValue)
- Local nOperation := 0
- Local nI := 0
- Local aRotinas := {"CADASTRO DE CLIENTE","HOMOLOGAÇÃO","ORÇAMENTO","PEDIDO DE VENDA"}
- Local oModel := oView:GetModel()
- nOperation := oModel:GetOperation()
- If nOperation == MODEL_OPERATION_INSERT
- If oModel:GetModel("ZM1DETAIL"):CanClearData()
- oModel:GetModel("ZM1DETAIL"):ClearData()
- For nI:= 1 to Len(aRotinas)
- IF oModel:GetModel("ZM1DETAIL"):AddLine() == ++nI
- oModel:GetModel("ZM1DETAIL"):GoLine(nI)
- If oModel:GetModel("ZM1DETAIL"):AddLine()
- oModel:GetModel("ZM1DETAIL"):GoLine(nI)
- oModel:GetModel("ZM1DETAIL"):SetValue("ROTINA" , aRotina[nI] )
- Endif
- Endif
- Next
- oView:Refresh()
- Endif
- Endif
- oModel:GetModel("ZM1DETAIL"):GoLine(1)
- Return
|