Histórico da Página
...
Localizado na função MenuDef da rotina WMSA150, após a inclusão das ações padrões.
04. PARÂMETROS
Nome | Tipo | Descrição | Obrigatório |
---|---|---|---|
aRotina | Array | Contêm as opções de menu padrão. | Sim |
05. RETORNO
Nome | Tipo | Descrição | Obrigatório |
---|---|---|---|
aRotina | Array | Contêm as opções de menu após a modificação com inclusão e/ou exclusão de itens. | Sim |
06. VERSÕES
Protheus 12.1.27.
07. OBSERVAÇÃO
Todos os parâmetros são recebidos na User Function via PARAMIXB, conforme consta em Execblock / Customização.
08. EXEMPLO
...
title | Exemplo |
---|---|
linenumbers | true |
collapse | true |
------
#INCLUDE
...
"PROTHEUS.CH"
...
#INCLUDE
...
"TOTVS.CH"
...
#INCLUDE
...
"FWMVCDEF.CH"
...
User
...
Function
...
DL150MNU()
...
Local
...
aRotina
...
:=
...
ParamIxb[1]
...
//A
...
função
...
GetMark150
...
está
...
contida
...
no
...
WMSA150
...
e
...
retorna
...
o
...
conteúdo
...
que
...
identifica
...
quais
...
os
...
registros
...
selecionados
...
na
...
execução
...
atual.
...
ADD OPTION aRotina TITLE "Minha Ação" ACTION "U_MyAction(GetMark150())"
...
OPERATION
...
2
...
ACCESS
...
0
...
Return
...
aRotina
...
//Função
...
executada
...
ao
...
clicar
...
no
...
item
...
de
...
menu
...
específico
...
User
...
Function
...
MyAction(cMark)
...
Local
...
cAliasDCF
...
:=
...
GetNextAlias()
...
Local
...
cDocto
...
:=
...
''
...
Local
...
cEnd
...
:=
...
Replicate('
...
',
...
TamSX3('DCF_ENDER')[1])
...
Local
...
cQry
...
:=
...
''
...
BeginSql
...
Alias
...
cAliasDCF
SELECT DISTINCT DCF_DOCTO
FROM %Table:DCF% DCF
WHERE DCF.DCF_FILIAL
...
=
...
%xFilial:DCF%
...
AND DCF_OK
...
=
...
%Exp:cMark%
...
AND DCF.%NotDel%
...
EndSql
Do While !(cAliasDCF)
...
→ (Eof())
...
cDocto +=
...
(cAliasDCF)
...
→ DCF_DOCTO
...
+
...
',
...
'
(cAliasDCF)
...
→ (dbSkip())
...
EndDo
(cAliasDCF)->(dbCloseArea())
...
If
...
Len(cDocto)
...
>
...
0
cDocto :=
...
Substr(cDocto,
...
1,
...
Len(cDocto)
...
-
...
2)
...
//Monta
...
tela
...
para
...
permitir
...
alterar
...
o
...
endereço
DEFINE MSDIALOG oDlg TITLE 'Confirme o endereço' From 0,0
...
To
...
160,500
...
of
...
oMainWnd
...
PIXEL
@ 25,
...
10
...
SAY
...
'Documentos:
...
'
...
+
...
cDocto
...
OF
...
oDlg
...
PIXEL
@ 40,
...
10
...
SAY
...
'Endereço:
...
'
...
OF
...
oDlg
...
PIXEL
@ 40,
...
50
...
MSGET
...
cEnd
...
OF
...
oDlg
...
PIXEL
@ 60,
...
50
...
BUTTON
...
oBtn
...
PROMPT
...
'Confirmar'
...
SIZE
...
040,012
...
OF
...
oDlg
...
PIXEL
...
ACTION
...
oDlg:End()
...
oDlg:lEscClose
...
:=
...
.F.
...
ACTIVATE MSDIALOG oDlg CENTERED
//Se
...
informado
...
endereço
...
vazio
...
nada
...
é
...
feito.
...
//Do
...
contrário,
...
altera
...
o
...
endereço
...
origem
...
com
...
o
...
conteúdo
...
informado
...
em
...
tela.
...
If !Empty(cEnd)
...
cQry := "UPDATE " + RetSqlName("DCF")
...
cQry += " SET DCF_ENDER
...
=
...
'"
...
+
...
cEnd
...
+
...
"'"
...
cQry += " WHERE DCF_FILIAL
...
=
...
'"
...
+
...
xFilial("DCF")
...
+
...
"'"
...
cQry += " AND DCF_OK
...
=
...
'"
...
+
...
cMark
...
+
...
"'"
...
cQry += " AND D_E_L_E_T_
...
=
...
''"
...
If TcSQLExec(cQry)
...
<
...
0
MsgAlert('Erro
...
na
...
atualização
...
via
...
PE:
...
'
...
+
...
CRLF
...
+
...
TcSQLError(),
...
'Erro')
...
EndIf
EndIf
EndIf
Return
------
Templatedocumentos |
---|
HTML |
---|
<style> div.theme-default .ia-splitter #main { margin-left: 0px; } .ia-fixed-sidebar, .ia-splitter-left { display: none; } #main { padding-left: 10px; padding-right: 10px; overflow-x: hidden; } .aui-header-primary .aui-nav, .aui-page-panel { margin-left: 0px !important; } .aui-header-primary .aui-nav { margin-left: 0px !important; } .aui-tabs.horizontal-tabs>.tabs-menu>.menu-item.active-tab a::after { background: #FF9900; !important } .menu-item.active-tab { border-bottom: none !important; } </style> |