- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Personalizar axaltera
×
Linguagem de Programação ADVPL
Perguntas Personalizar axaltera
- alyson
- Autor do Tópico
- Visitante
12 anos 5 meses atrás #2206
por alyson
Personalizar axaltera foi criado por alyson
Alguem sabe como fazer o seguinte procedimento em um axaltera desejo exibir apenas alguns campos e na edição tambem apenas a edição de alguns campos exemplo
User Function ISFAT046()
Private cCadastro := "Produto"
Private aRotina := {}
// Private cDelFunc := ".T." // Validacao para a exclusao. Pode-se utilizarExecBlock
Private cAlias := "SB1"
AADD(aRotina,{ "Pesquisa","AxPesqui" ,0,1})
AADD(aRotina,{ "Altera" ,"u_alteraG" ,0,4})
dbSelectArea(cAlias)
dbSetOrder(1)
mBrowse( 6,1,22,75,cAlias)
Return
User Function alteraG()
Local nOpca := 0
Private aButtons := {}
Private cCadastro := "Editar"
dbSelectArea("SB1")
nOpca := AxAltera("SB1",SB1->(Recno()),4,{"B1_FILIAL", "B1_COD", "B1_DESC"},/*aCpos*/,/*nColMens*/,/*cMensagem*/,/*cTudoOk*/,;
/*cTransact*/,/*cFunc*/,aButtons,/*aParam*/,/*aAuto*/,/*lVirtual*/,/*lMaximized*/,/*cTela*/,/*lPanelFin*/,/*oFather*/,/*aDim*/,/*uArea*/)
Return nOpca
User Function ISFAT046()
Private cCadastro := "Produto"
Private aRotina := {}
// Private cDelFunc := ".T." // Validacao para a exclusao. Pode-se utilizarExecBlock
Private cAlias := "SB1"
AADD(aRotina,{ "Pesquisa","AxPesqui" ,0,1})
AADD(aRotina,{ "Altera" ,"u_alteraG" ,0,4})
dbSelectArea(cAlias)
dbSetOrder(1)
mBrowse( 6,1,22,75,cAlias)
Return
User Function alteraG()
Local nOpca := 0
Private aButtons := {}
Private cCadastro := "Editar"
dbSelectArea("SB1")
nOpca := AxAltera("SB1",SB1->(Recno()),4,{"B1_FILIAL", "B1_COD", "B1_DESC"},/*aCpos*/,/*nColMens*/,/*cMensagem*/,/*cTudoOk*/,;
/*cTransact*/,/*cFunc*/,aButtons,/*aParam*/,/*aAuto*/,/*lVirtual*/,/*lMaximized*/,/*cTela*/,/*lPanelFin*/,/*oFather*/,/*aDim*/,/*uArea*/)
Return nOpca
Por favor Acessar ou Registrar para participar da conversa.
- lalberto
- Desconectado
- Administrador
Menos
Mais
- Postagens: 3676
- Obrigados Recebidos: 6
12 anos 5 meses atrás #2207
por lalberto
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Respondido por lalberto no tópico Re: Personalizar axaltera
Veja a posição, o seu esta na posição 4, o padrão é na 5.
nOpca := AxAltera(cAlias,nReg,nOpc,aAcho,aAlter,,,"A380TudoOk()",,,,NIL,aRotAuto)
nOpca := AxAltera(cAlias,nReg,nOpc,aAcho,aAlter,,,"A380TudoOk()",,,,NIL,aRotAuto)
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Por favor Acessar ou Registrar para participar da conversa.
- lalberto
- Desconectado
- Administrador
Menos
Mais
- Postagens: 3676
- Obrigados Recebidos: 6
12 anos 5 meses atrás #2226
por lalberto
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Respondido por lalberto no tópico Re: Personalizar axaltera
Boa tarde galera tudo bom estou com a seguinte duvida quero exibir apenas alguns campos da SB1 para edição então resolvi fazer da seguinte forma personalizando a axaltera, limitando os campos a serem exibidos, algum já realizou este procedimento pois ele esta apresentando erro
User Function ISFAT046()
Private cCadastro := "Produto"
Private aRotina := {}
Private cAlias := "SB1"
AADD(aRotina,{ "Pesquisa","AxPesqui" ,0,1})
AADD(aRotina,{ "Altera" ,"U_Alte46" ,0,4})
dbSelectArea(cAlias)
dbSetOrder(1)
mBrowse( 6,1,22,75,cAlias)
Return
/*User Function Before()
MsgAlert("Chamada antes da função")
Return */
User Function Alte46()
Local nOpca := 0
//Local aParam := {}
//Private aCpos := {"B1_FILIAL", "B1_COD", "B1_DESC"}
Private aAcho := {B1_FILIAL, B1_COD, B1_DESC, B1_ESTSEG}
Private aButtons := {}
Private cCadastro := "teste" // título da tela
//adiciona botoes na Enchoice
// Add( aButtons, { "PRODUTO", {|| MsgAlert("Teste")}, "Teste", "Botão Teste" } ) //adiciona codeblock a ser executado no inicio, meio e fima
// Add( aParam, {|| U_Before() } ) //antes da abertura
// Add( aParam, {|| U_TudoOK6() } ) //ao clicar no botao
// Add( aParam, {|| U_Transaction() } ) //durante a transacao
// Add( aParam, {|| U_Fim() } ) //termino da transacao
dbSelectArea("SB1")
//AxAltera(cAlias,nReg,nOpc,aAcho,aCpos,nColMens,cMensagem,cTudoOk,cTransact,cFunc, aButtons, aParam, aAuto, lVirtual, lMaximized, cTela,lPanelFin,oFather,aDim,uArea)
//nOpca := AxAltera("SB1",SB1->(Recno()),4,/*aAcho,/*aCpos*/,,,/*"U_TudoOk6()"*/,/*"U_Transaction"*/,/*"U_Before()"*/, aButtons,/*aParam*/,,,/*.T.*/,,,,,)
nOpca := AxAltera("SB1",SB1->(Recno()),4,aAcho,,,,,,, aButtons,,,,,,,,,)
Return nOpca
/*User function TudoOK6()
MsgAlert("Clicou botao ok")
Return .T.
User function Transaction()
MsgAlert("Chamada durante transacao")
Return .T.
User function Fim()
MsgAlert("Fim transacao")
Return .T. */
User Function ISFAT046()
Private cCadastro := "Produto"
Private aRotina := {}
Private cAlias := "SB1"
AADD(aRotina,{ "Pesquisa","AxPesqui" ,0,1})
AADD(aRotina,{ "Altera" ,"U_Alte46" ,0,4})
dbSelectArea(cAlias)
dbSetOrder(1)
mBrowse( 6,1,22,75,cAlias)
Return
/*User Function Before()
MsgAlert("Chamada antes da função")
Return */
User Function Alte46()
Local nOpca := 0
//Local aParam := {}
//Private aCpos := {"B1_FILIAL", "B1_COD", "B1_DESC"}
Private aAcho := {B1_FILIAL, B1_COD, B1_DESC, B1_ESTSEG}
Private aButtons := {}
Private cCadastro := "teste" // título da tela
//adiciona botoes na Enchoice
// Add( aButtons, { "PRODUTO", {|| MsgAlert("Teste")}, "Teste", "Botão Teste" } ) //adiciona codeblock a ser executado no inicio, meio e fima
// Add( aParam, {|| U_Before() } ) //antes da abertura
// Add( aParam, {|| U_TudoOK6() } ) //ao clicar no botao
// Add( aParam, {|| U_Transaction() } ) //durante a transacao
// Add( aParam, {|| U_Fim() } ) //termino da transacao
dbSelectArea("SB1")
//AxAltera(cAlias,nReg,nOpc,aAcho,aCpos,nColMens,cMensagem,cTudoOk,cTransact,cFunc, aButtons, aParam, aAuto, lVirtual, lMaximized, cTela,lPanelFin,oFather,aDim,uArea)
//nOpca := AxAltera("SB1",SB1->(Recno()),4,/*aAcho,/*aCpos*/,,,/*"U_TudoOk6()"*/,/*"U_Transaction"*/,/*"U_Before()"*/, aButtons,/*aParam*/,,,/*.T.*/,,,,,)
nOpca := AxAltera("SB1",SB1->(Recno()),4,aAcho,,,,,,, aButtons,,,,,,,,,)
Return nOpca
/*User function TudoOK6()
MsgAlert("Clicou botao ok")
Return .T.
User function Transaction()
MsgAlert("Chamada durante transacao")
Return .T.
User function Fim()
MsgAlert("Fim transacao")
Return .T. */
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Por favor Acessar ou Registrar para participar da conversa.
- lalberto
- Desconectado
- Administrador
Menos
Mais
- Postagens: 3676
- Obrigados Recebidos: 6
12 anos 5 meses atrás #2227
por lalberto
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Respondido por lalberto no tópico Re: Personalizar axaltera
Alyson, qual é a mensagem de erro que está apresentando, nesta ultima alteração que você mandou ?
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Por favor Acessar ou Registrar para participar da conversa.
- alyson
- Autor do Tópico
- Visitante
12 anos 5 meses atrás - 12 anos 5 meses atrás #2231
por alyson
Respondido por alyson no tópico Re: Personalizar axaltera
Bom dia Fiz algumas alterações como o exemplo mostrado no forum o erro que apareceu está abaixo:
Quando clico em editar apresenta o seguinte erro:
______________________________________________________________________________
THREAD ERROR (Alyson_Martins, TI50_PR) 21/06/2012 10:10:59
variable is not array - Type [C] on ENCHAUTO(MSAUTOPR.PRW) 23/07/2008 17:49:21 line : 268
_______________________________________________________________________________________________
User Function ISFAT046()
Private cCadastro := "Produto"
Private aRotina := {}
Private cAlias := "SB1"
AADD(aRotina,{ "Pesquisa","AxPesqui" ,0,1})
AADD(aRotina,{ "Altera" ,"U_Alte46" ,0,4})
dbSelectArea(cAlias)
dbSetOrder(1)
mBrowse( 6,1,22,75,cAlias)
Return
/*User Function Before()
MsgAlert("Chamada antes da função")
Return */
User Function Alte46()
Local nOpca := 0
//Local aParam := {}
Private aAlter := {"B1_FILIAL", "B1_COD", "B1_DESC"}
Private aAcho := {"B1_FILIAL", "B1_COD", "B1_DESC", "B1_ESTSEG"}
Private aRotAuto := {"B1_FILIAL","B1_COD","B1_DESC","B1_ESTSEG"}
Private aButtons := {}
Private cCadastro := "teste" // título da tela
dbSelectArea("SB1")
//AxAltera(cAlias,nReg,nOpc,aAcho,aCpos,nColMens,cMensagem,cTudoOk,cTransact,cFunc, aButtons, aParam, aAuto, lVirtual, lMaximized, cTela,lPanelFin,oFather,aDim,uArea)
nOpca := AxAltera("SB1",SB1->(Recno()),4,aAcho,aAlter,,,"FAT46TudoOk()",,,,NIL,aRotAuto)
Return nOpca
User function FAT46TudoOk()
MsgAlert("Clicou botao ok")
Return .T.
Quando clico em editar apresenta o seguinte erro:
______________________________________________________________________________
THREAD ERROR (Alyson_Martins, TI50_PR) 21/06/2012 10:10:59
variable is not array - Type [C] on ENCHAUTO(MSAUTOPR.PRW) 23/07/2008 17:49:21 line : 268
_______________________________________________________________________________________________
User Function ISFAT046()
Private cCadastro := "Produto"
Private aRotina := {}
Private cAlias := "SB1"
AADD(aRotina,{ "Pesquisa","AxPesqui" ,0,1})
AADD(aRotina,{ "Altera" ,"U_Alte46" ,0,4})
dbSelectArea(cAlias)
dbSetOrder(1)
mBrowse( 6,1,22,75,cAlias)
Return
/*User Function Before()
MsgAlert("Chamada antes da função")
Return */
User Function Alte46()
Local nOpca := 0
//Local aParam := {}
Private aAlter := {"B1_FILIAL", "B1_COD", "B1_DESC"}
Private aAcho := {"B1_FILIAL", "B1_COD", "B1_DESC", "B1_ESTSEG"}
Private aRotAuto := {"B1_FILIAL","B1_COD","B1_DESC","B1_ESTSEG"}
Private aButtons := {}
Private cCadastro := "teste" // título da tela
dbSelectArea("SB1")
//AxAltera(cAlias,nReg,nOpc,aAcho,aCpos,nColMens,cMensagem,cTudoOk,cTransact,cFunc, aButtons, aParam, aAuto, lVirtual, lMaximized, cTela,lPanelFin,oFather,aDim,uArea)
nOpca := AxAltera("SB1",SB1->(Recno()),4,aAcho,aAlter,,,"FAT46TudoOk()",,,,NIL,aRotAuto)
Return nOpca
User function FAT46TudoOk()
MsgAlert("Clicou botao ok")
Return .T.
Ultima edição: 12 anos 5 meses atrás por alyson.
Por favor Acessar ou Registrar para participar da conversa.
- lalberto
- Desconectado
- Administrador
Menos
Mais
- Postagens: 3676
- Obrigados Recebidos: 6
12 anos 5 meses atrás #2232
por lalberto
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Respondido por lalberto no tópico Re: Personalizar axaltera
Cara substitui essa linha
Private aRotAuto := {"B1_FILIAL","B1_COD","B1_DESC","B1_ESTSEG"}
por essa
nOpc := If (nOpc == Nil,3,nOpc)
aRotAuto := Nil
MsRotAuto(nOpc,aRotAuto,"CCO")
Private aRotAuto := {"B1_FILIAL","B1_COD","B1_DESC","B1_ESTSEG"}
por essa
nOpc := If (nOpc == Nil,3,nOpc)
aRotAuto := Nil
MsRotAuto(nOpc,aRotAuto,"CCO")
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Por favor Acessar ou Registrar para participar da conversa.
- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Personalizar axaltera
Tempo para a criação da página:0.124 segundos