Histórico da Página
...
Produto: |
| ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Linha de Produto: |
| ||||||||||||||||
Segmento: |
| ||||||||||||||||
Módulo: | SIGAWMS - Gestão de Armazenagem | ||||||||||||||||
Função: | WMSA560 WMSA150 - Bloqueio Execução de Saldo WMSServiços | ||||||||||||||||
País: | Todos Países | ||||||||||||||||
Ticket: | - | ||||||||||||||||
Requisito/Story/Issue (informe o requisito relacionado) : | - |
...
Este Ponto de Entrada permite incluir um filtro personalizado na tela inicial e ao pressionar a tecla F12 na rotina WMSA560 (Bloqueio de Saldo WMS)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.
03. LOCALIZAÇÃO
Localizado antes da abertura da tela, na função principal WMSA560na 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
Uma literal, no padrão SQL, com o filtro personalizado.
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
12.1.27.
07. OBSERVAÇÃO
Não se aplicaTodos os parâmetros são recebidos na User Function via PARAMIXB, conforme consta em Execblock / Customização.
08. EXEMPLO
Bloco de código | |||||||
---|---|---|---|---|---|---|---|
| |||||||
#INCLUDE "PROTHEUS.CH" #INCLUDE "TOTVS.CH" #INCLUDE "FWMVCDEF.CH" User Function DL560FILDL150MNU() Local cRetaRotina := 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())" cRet 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 := " EXISTS (SELECT 1 FROM " + RetSQLName("SA1") + " WHERE A1_COD = '000001')" Return cRetReplicate(' ', 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> |
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas