Linha de Produto: | Microsiga Protheus® |
---|---|
Segmento: | Logística |
Módulo: | SIGATMS - Gestão de Transportes |
Permite ao usuário incluir botões no formulário de gestão de pendências.
O primeiro parâmetro de entrada trata do modelo principal de controle do formulário de gestão da pendência. Abaixo dele estão todos os demais modelos de formulários filhos.
O segundo parâmetro de entrada trata do número da rotina externa. A rotina externa indica as demais chamadas do botão de outras ações do browse de pendências, onde 10=Indenizar, 11=Encerrar, 12=Estornar e 13=Visualizar Conciliação. Este controle se faz necessário porque internamente o programa trata estas opções como alteração.
Estes parâmetros devem ser capturados por meio da variável ParamIXB.
Parâmetros de entrada:
Nome | Tipo | Descrição | Default | Obrigatório | Referência | ||||||||||||
oModel | Objeto | Objeto principal do fonte | Não há | Sim | |||||||||||||
nRotExt | Numérico | Número da rotina externa | Não há | Sim |
A variável de retorno é um array contendo os dados de acionamento dos botões.
A primeira posição é o ícone do botão.
A segunda posição é um bloco de código com a função que será executada quando o botão for acionado.
A terceira posição é o descritivo do nome do botão.
Retorno:
Nome | Tipo | Descrição | Default | Obrigatório | Referência | ||||||||||||
aBotões | Array | Array com as informações da nova rotina | Não há | Sim | |||||||||||||
Programa Fonte TMSAF89PE.PRW Sintaxe: TMSAF89- Pontos de Entrada MVC ( [ aParam ] ) --> Variável Lógica, Array ou Null. Exemplo: #INCLUDE "PROTHEUS.CH" #INCLUDE "FWMVCDEF.CH" User Function TMSAF89() Local lNewReg := .T. Local nOperation := 0 Local aParam := ParamIxb Local cIdLocal := "" Local cIdForm := "" Local xRet := .T. Local oIdModel If ValType(aParam) == "A" //-- Carrega informações dos parâmetros oIdModel := aParam[1] //-- Objeto do formulário ou do modelo cIdLocal := aParam[2] //-- Id do local de execução do ponto cIdForm := aParam[3] //-- Id do formulário nOperation := oIdModel:GetOperation() If cIdLocal == "MODELPRE" //-- Antes da alteração de qualquer campo do modelo xRet := U_TMS89Vld(oIdModel,cIdLocal,cIdForm) ElseIf cIdLocal == "MODELPOS" //-- Na validação total do modelo xRet := U_TMS89Vld(oIdModel,cIdLocal,cIdForm) ElseIf cIdLocal == "FORMPRE" //-- Antes da alteração de qualquer campo do formulário xRet := U_TMS89Vld(oIdModel,cIdLocal,cIdForm) ElseIf cIdLocal == "FORMPOS" //-- Na validação total do formulário xRet := U_TMS89Vld(oIdModel,cIdLocal,cIdForm) ElseIf cIdLocal == "FORMLINEPRE" //-- Antes da alteração da linha do formulário FwFormGrid xRet := U_TMS89Li1(oIdModel,cIdLocal,cIdForm,nLinGrd,cAcaoGrd,cIdCampo) ElseIf cIdLocal == "FORMLINEPOS" //-- Na validação total da linha do formulário FwFormGrid xRet := U_TMS89Li2(oIdModel,cIdLocal,cIdForm,nLinGrd) ElseIf cIdLocal == "MODELCOMMITTTS" //-- Após a gravação total do modelo e dentro da transação U_TMS89Gr1(oIdModel,cIdLocal,cIdForm) ElseIf cIdLocal == "MODELCOMMITNTTS" //-- Após a gravação total do modelo e fora da transação U_TMS89Gr1(oIdModel,cIdLocal,cIdForm) ElseIf cIdLocal == "FORMCOMMITTTSPRE" //-- Antes da gravação da tabela do formulário U_TMS89Gr2(oIdModel,cIdLocal,cIdForm,lNewReg) ElseIf cIdLocal == "FORMCOMMITTTSPOS" //-- Após a gravação da tabela do formulário U_TMS89Gr2(oIdModel,cIdLocal,cIdForm,lNewReg) ElseIf cIdLocal == "FORMCANCEL" //-- No cancelamento do botão xRet := U_TMS89Vld(oIdModel,cIdLocal,cIdForm) ElseIf cIdLocal == "MODELVLDACTIVE" //-- Na ativação do modelo xRet := U_TMS89Vld(oIdModel,cIdLocal,cIdForm) ElseIf cIdLocal == "BUTTONBAR" //-- Para a inclusão de botões na ControlBar xRet := U_TMS89But(oIdModel,cIdLocal,cIdForm) EndIf EndIf Return xRet User Function TMS89Vld(oIdModel,cIdLocal,cIdForm) Local lRet := .T. Default oIdModel := Nil Default cIdLocal := "" Default cIdForm := "" Return lRet User Function TMS89Li1(oIdModel,cIdLocal,cIdForm,nLinGrd,cAcaoGrd,cIdCampo) Local lRet := .T. Default oIdModel := Nil Default cIdLocal := "" Default cIdForm := "" Default nLinGrd := 0 Default cAcaoGrd := "" Default cIdCampo := "" Return lRet User Function TMS89Li2(oIdModel,cIdLocal,cIdForm,nLinGrd) Local lRet := .T. Default oIdModel := Nil Default cIdLocal := "" Default cIdForm := "" Default nLinGrd := 0 Return lRet User Function TMS89Gr1(oIdModel,cIdLocal,cIdForm) Default oIdModel := Nil Default cIdLocal := "" Default cIdForm := "" Return User Function TMS89Gr2(oIdModel,cIdLocal,cIdForm,lNewReg) Default oIdModel := Nil Default cIdLocal := "" Default cIdForm := "" Default lNewReg := .T. Return User Function TMS89But(oIdModel,cIdLocal,cIdForm) Local aRet := {} Default oIdModel := Nil Default cIdLocal := "" Default cIdForm := "" aRet := U_TMS89Ret(oIdModel) Return Aclone(aRet) User Function TMS89Ret(oIdModel) Local aRet := {} Aadd(aRet,{"Nome do Botão","BMPPOST",{|| U_TMS89New(oIdModel)},"ToolTip do Botão"}) Return Aclone(aRet) User Function TMS89New(oIdModel) MsgAlert("Teste de execução de Ponto de Entrada","Atenção") 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; } </style> |