|
Bem Vindo, Visitante
|
Todos os Fórums
ADVPL
|
Imprimir
Enviar Para um Amigo Precisa estar Logado
|
|
|
Assunto: |
Duvida com tela em MVC |
|
Versão: |
12.1.33 |
|
Plataforma: |
Microsoft |
Complemento: |
|
|
DB: |
Oracle |
Complemento: |
|
|
|
|
|
Mensagem do
GUDEFENDI
em 15/03/2023, 16:14 h
Local: SP Registro: 10/07/2018 Postagens: 52 |
Boa tarde a todos!
Tenho uma rotina personalizada desenvolvida em MVC e inclui uma validação para "arquivar" os itens da tela.
Para visualizar os itens "arquivados", desenvolvi outra rotina que esta funcionando, porém nessa rotina eu precisaria desabilitar os botões de incluir, alterar e excluir.
Alguém pode me dar uma ajuda?
--------------------------------------------------------------------------------
Fonte da rotina principal
#Include "TOTVS.ch"
#Include "FWMVCDEF.ch"
//ORCCOM
// FUNÇÃO PRINCIPAL
User Function Z42ORC()
Local oBrowse := FwLoadBrw("Z42ORC")
oBrowse:Activate()
Return (NIL)
// BROWSEDEF() SERÁ ÚTIL PARA FUTURAS HERANÇAS: FWLOADBRW()
Static Function BrowseDef()
Local oBrowse := FwMBrowse():New()
Local cFilter := " Z42_STATUS == ‘1‘ "
oBrowse:SetAlias("Z42")
oBrowse:SetDescription("Orçamento Comercial")
// DEFINE DE ONDE SERÁ RETIRADO O MENUDEF
oBrowse:SetMenuDef("Z42ORC")
oBrowse:SetFilterDefault(cFilter)
// DEFINE O BOTÃO DOS RELATORIOS
// oBrowse:AddUserButton("Relatorio BA","Itens",{|oBrowse|U_RELORC()})
Return (oBrowse)
// OPERAÇÕES DA ROTINA
Static Function MenuDef()
// FUNÇÃO PARA CRIAR MENUDEF
Local aRotina := FwMVCMenu("Z42ORC")
Add Option aRotina Title ‘Relatorio BA‘ Action ‘U_RELORC()‘ Operation 5 Access 0
Add Option aRotina Title ‘Relatorio TA‘ Action ‘U_RELORC2()‘ Operation 6 Access 0
Add Option aRotina Title ‘Relatorio TP e BC‘ Action ‘U_RELORC3()‘ Operation 7 Access 0
Add Option aRotina Title ‘Arquivar‘ Action ‘U_Z42Arqv()‘ Operation 8 Access 0
Add Option aRotina Title ‘Mostrar arquivados‘ Action ‘U_Z42ARQ()‘ Operation 9 Access 0
Return (aRotina)
// REGRAS DE NEGÓCIO
Static Function ModelDef()
// INSTANCIA O MODELO
Local oModel := MPFormModel():New("COMP021M")
// INSTANCIA OS SUBMODELOS
Local oStruZ42 := FwFormStruct(1, "Z42")
Local oStruZ43 := FwFormStruct(1, "Z43")
// DEFINE SE OS SUBMODELOS SERÃO FIELD OU GRID
oModel:AddFields("Z42MASTER", NIL, oStruZ42)
oModel:AddGrid("Z43DETAIL", "Z42MASTER", oStruZ43)
// DEFINE A RELAÇÃO ENTRE OS SUBMODELOS
oModel:SetRelation("Z43DETAIL", {{"Z43_FILIAL", "FwXFilial(‘Z43‘)"}, {"Z43_NUMERO", "Z42_NUMERO"}}, Z43->(IndexKey( 2 )))
// DEFINE A PRIMARYEY
oModel:SetPrimaryKey({"Z42_NUMERO"},{"Z43_ITEM"})
// DESCRIÇÃO DO MODELO
oModel:SetDescription("Orçamento Comercial" )
// DESCRIÇÃO DOS SUBMODELOS
oModel:GetModel("Z42MASTER"):SetDescription("Dados do Orçamento")
oModel:GetModel("Z43DETAIL"):SetDescription("Dados do produtos")
Return (oModel)
// INTERFACE GRÁFICA
Static Function ViewDef()
// INSTANCIA A VIEW
Local oView := FwFormView():New()
// INSTANCIA AS SUBVIEWS
Local oStruZ42 := FwFormStruct(2, "Z42")
Local oStruZ43 := FwFormStruct(2, "Z43")
// RECEBE O MODELO DE DADOS
Local oModel := FwLoadModel("Z42ORC")
// INDICA O MODELO DA VIEW
oView:SetModel(oModel)
// CRIA ESTRUTURA VISUAL DE CAMPOS
oView:AddField("VIEW_Z42", oStruZ42, "Z42MASTER")
oView:AddGrid("VIEW_Z43", oStruZ43, "Z43DETAIL")
// CRIA BOXES HORIZONTAIS
oView:CreateHorizontalBox("SUPERIOR", 30)
oView:CreateHorizontalBox("INFERIOR", 70)
// RELACIONA OS BOXES COM AS ESTRUTURAS VISUAIS
oView:SetOwnerView("VIEW_Z42", "SUPERIOR")
oView:SetOwnerView("VIEW_Z43", "INFERIOR")
// DEFINE AUTO-INCREMENTO AO CAMPO
oView:AddIncrementField("VIEW_Z43", "Z43_ITEM")
// DEFINE OS TÍTULOS DAS SUBVIEWS
oView:EnableTitleView("VIEW_Z43","Dados")
// // DEFINE O BOTÃO DOS RELATORIOS
// oView:addUserButton("Relatorio BA","Itens",{|oView|U_RELORC()})
Return (oView)
//------------------------------------------
//Validação que "arquivos" os itens da tela
User Function Z42Arqv()
If Z42->Z42_STATUS == "1"
If MsgYesNo("Deseja arquivar o orçamento comercial?","Arquivar")
RecLock("Z42", .F.)
Z42->Z42_STATUS := "2"
MsUnLock()
EndIf
ElseIf Z36->Z36_STATUS == "2"
MsgInfo("Orçamento comercial ja arquivado.")
EndIf
return .T.
-----------------------------------------------------------------------------------------------
Fonte que abre a tela dos itens arquivados e que eu precisaria remover os botões.
#Include "TOTVS.ch"
#Include "FWMVCDEF.ch"
//ORCCOM
// FUNÇÃO PRINCIPAL
User Function Z42ARQ()
Local oBrowse := FwLoadBrw("Z42ARQ")
oBrowse:Activate()
Return (NIL)
// BROWSEDEF() SERÁ ÚTIL PARA FUTURAS HERANÇAS: FWLOADBRW()
Static Function BrowseDef()
Local oBrowse := FwMBrowse():New()
Local cFilter := " Z42_STATUS == ‘2‘ "
oBrowse:SetAlias("Z42")
oBrowse:SetDescription("Orçamento Comercial")
// DEFINE DE ONDE SERÁ RETIRADO O MENUDEF
oBrowse:SetMenuDef("Z42ARQ")
oBrowse:SetFilterDefault(cFilter)
// DEFINE O BOTÃO DOS RELATORIOS
// oBrowse:AddUserButton("Relatorio BA","Itens",{|oBrowse|U_RELORC()})
Return (oBrowse)
// OPERAÇÕES DA ROTINA
Static Function MenuDef()
// FUNÇÃO PARA CRIAR MENUDEF
Local aRotina := FwMVCMenu("Z42ARQ")
Add Option aRotina Title ‘Relatorio BA‘ Action ‘U_RELORC()‘ Operation 5 Access 0
Add Option aRotina Title ‘Relatorio TA‘ Action ‘U_RELORC2()‘ Operation 6 Access 0
Add Option aRotina Title ‘Relatorio TP e BC‘ Action ‘U_RELORC3()‘ Operation 7 Access 0
Return (aRotina)
// REGRAS DE NEGÓCIO
Static Function ModelDef()
// INSTANCIA O MODELO
Local oModel := MPFormModel():New("COMP021M")
// INSTANCIA OS SUBMODELOS
Local oStruZ42 := FwFormStruct(1, "Z42")
Local oStruZ43 := FwFormStruct(1, "Z43")
// DEFINE SE OS SUBMODELOS SERÃO FIELD OU GRID
oModel:AddFields("Z42MASTER", NIL, oStruZ42)
oModel:AddGrid("Z43DETAIL", "Z42MASTER", oStruZ43)
// DEFINE A RELAÇÃO ENTRE OS SUBMODELOS
oModel:SetRelation("Z43DETAIL", {{"Z43_FILIAL", "FwXFilial(‘Z43‘)"}, {"Z43_NUMERO", "Z42_NUMERO"}}, Z43->(IndexKey( 2 )))
// DEFINE A PRIMARYEY
oModel:SetPrimaryKey({"Z42_NUMERO"},{"Z43_ITEM"})
// DESCRIÇÃO DO MODELO
oModel:SetDescription("Orçamento Comercial" )
// DESCRIÇÃO DOS SUBMODELOS
oModel:GetModel("Z42MASTER"):SetDescription("Dados do Orçamento")
oModel:GetModel("Z43DETAIL"):SetDescription("Dados do produtos")
Return (oModel)
// INTERFACE GRÁFICA
Static Function ViewDef()
// INSTANCIA A VIEW
Local oView := FwFormView():New()
// INSTANCIA AS SUBVIEWS
Local oStruZ42 := FwFormStruct(2, "Z42")
Local oStruZ43 := FwFormStruct(2, "Z43")
// RECEBE O MODELO DE DADOS
Local oModel := FwLoadModel("Z42ARQ")
// INDICA O MODELO DA VIEW
oView:SetModel(oModel)
// CRIA ESTRUTURA VISUAL DE CAMPOS
oView:AddField("VIEW_Z42", oStruZ42, "Z42MASTER")
oView:AddGrid("VIEW_Z43", oStruZ43, "Z43DETAIL")
// CRIA BOXES HORIZONTAIS
oView:CreateHorizontalBox("SUPERIOR", 30)
oView:CreateHorizontalBox("INFERIOR", 70)
// RELACIONA OS BOXES COM AS ESTRUTURAS VISUAIS
oView:SetOwnerView("VIEW_Z42", "SUPERIOR")
oView:SetOwnerView("VIEW_Z43", "INFERIOR")
// DEFINE AUTO-INCREMENTO AO CAMPO
oView:AddIncrementField("VIEW_Z43", "Z43_ITEM")
// DEFINE OS TÍTULOS DAS SUBVIEWS
oView:EnableTitleView("VIEW_Z43","Dados")
// // DEFINE O BOTÃO DOS RELATORIOS
// oView:addUserButton("Relatorio BA","Itens",{|oView|U_RELORC()})
Return (oView) |
|
|
Mensagem do
GUDEFENDI
em 22/03/2023, 14:17 h
Local: SP Registro: 10/07/2018 Postagens: 52 |
Ninguém consegue me ajudar? |
|
|
Mensagem do
CIRO
em 22/03/2023, 16:16 h
Local: SP Registro: 27/03/2007 Postagens: 11 |
Boa tarde,
Tente fazer o seguinte, ao invés de usar a linha:
Local aRotina := FwMVCMenu("Z42ORC")
na Static Function MenuDef, utilize a linha abaixo:
Local aRotina := {}
Até onde sei, os botões de incluir, alterar e excluir são feitos na função MenuDef(), estou achando que essa função FWMVCMenu está criando eles.
At.te,
Ciro. |
|
|
Mensagem do
LEOSSANTOS
em 28/03/2023, 11:23 h
Local: SP Registro: 28/08/2020 Postagens: 21 |
Se a rotina "U_Z42ARQ()" tambem for em MVC, voce precisa fazer o seguinte:
User Function Z42ARQ()
Local cFunBkp := FunName()
SetFunName("Z42ARQ")
//Seu codigo...
SetFunName(cFunBkp)
Return |
|
|
Mensagem do
GUDEFENDI
em 31/03/2023, 11:04 h
Local: SP Registro: 10/07/2018 Postagens: 52 |
Bom dia,
Fiz o procedimento abaixo e funcionou como precisava.
Obrigado.
--------------------------------
Boa tarde,
Tente fazer o seguinte, ao invés de usar a linha:
Local aRotina := FwMVCMenu("Z42ORC")
na Static Function MenuDef, utilize a linha abaixo:
Local aRotina := {}
Até onde sei, os botões de incluir, alterar e excluir são feitos na função MenuDef(), estou achando que essa função FWMVCMenu está criando eles.
At.te,
Ciro. |
|
Para postar no Fórum você precisa efetuar o seu login ou se registrar
|
|