Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Localizado na função MenuDef da rotina WMSA150, após a inclusão das ações padrões.

04. PARÂMETROS

NomeTipoDescriçãoObrigatório
aRotinaArrayContêm as opções de menu padrão.Sim

05. RETORNO

NomeTipoDescriçãoObrigatório
aRotinaArrayContê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

...

titleExemplo
linenumberstrue
collapsetrue

------

#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>