Produto: | |
---|---|
Linha de Produto: | |
Segmento: | |
Módulo: | SIGAWMS - Gestão de Armazenagem |
Função: | WMSA150 - Execução de Serviços |
País: | Todos Países |
Ticket: | - |
Requisito/Story/Issue (informe o requisito relacionado) : | - |
Este Ponto de Entrada permite manipular as opções do menu Ações Relacionadas, da rotina WMSA150 (Execução de Serviços), tanto na inclusão como na exclusão de opções.
Localizado na função MenuDef da rotina WMSA150, após a inclusão das ações padrões.
Nome | Tipo | Descrição | Obrigatório |
---|---|---|---|
aRotina | Array | Contêm as opções de menu padrão. | Sim |
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 |
Protheus 12.1.27.
Todos os parâmetros são recebidos na User Function via PARAMIXB, conforme consta em Execblock / Customização.
------
#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
------
<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> |