01. DADOS GERAIS
Linha de Produto: | Microsiga Protheus® |
---|---|
Segmento: | Logística |
Módulo: | SIGATMS - Gestão de Transportes |
02. DESCRIÇÃO
Através deste ponto de entrada é possível adicionar abas ao Painel de Agendamento.
O ponto de entrada está localizado nas funções MenuDef76 e TMSF76Qry do fonte TMSAF76 (Painel de Agendamento) e possui duas etapas que devem ser utilizadas em conjunto:
- Adicionar Rotinas ao MenuDef do TMSAF76 - estas rotinas serão adicionadas como abas ao painel de agendamento;
- Realizar filtro via query nas tabelas das rotinas adicionadas ao menu.
Atenção
É uma premissa para funcionamento correto do Painel de Agendamento, não alterar a primeira aba do painel.
Parâmetros:
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
---|---|---|---|---|---|
ParamIXB | Array | Item a ser adicionado (1=Rotinas ao MenuDef/2=Filtro e campos) | Sim |
Retorno:
Se o ParamIXB = 1, o aRet deve:
- Conter:
- A posição onde o sistema deve adicionar a nova aba no Painel de Agendamento;
- Um array contendo o nome da rotina, função, MenuDef (inclusão, alteração, visualização, exclusão e etc.), variável lógica verdadeira, a tabela da rotina e variável lógica falsa;
- Ex:
AAdd( aRot, "Cadastro de Seguradoras" )
AAdd( aRot, "TMSA295" )
AAdd( aRot, "MENUDEF" )
AAdd( aRot, .T. )
AAdd( aRot, "DL6" )
AAdd( aRot, .F. )
AAdd( aRet, { 2, AClone(aRot) } )
Se ParamIXB = 2, o aRet deve:
- Conter:
- Conter uma query SQL para ser executada;
- Um array com a estrutura SX3 da tabela a ser apresentada na nova aba a ser adicionada no Painel de Agendamento;
Ex:
cQuery := " SELECT DL6.DL6_CODSEG,DL6.DL6_CODFOR,DL6.DL6_LOJFOR,DL6.DL6_LOGAVB "
cQuery += " FROM DL6990 DL6 "
cQuery += " WHERE DL6.DL6_CODSEG = '001' AND DL6.D_E_L_E_T_ = ' ' "
dbSelectArea("SX3")
SX3->( DbSetOrder(1) )
If SX3->( DbSeek( "DL6" ) )
AAdd( aRet, cQuery )
AAdd( aCampos, { "DL6_CODSEG", FWX3Titulo("DL6_CODSEG"), TamSX3("DL6_CODSEG")[3], TamSX3("DL6_CODSEG")[1], TamSX3("DL6_CODSEG")[2], PesqPict( "DL6", "DL6_CODSEG" ), AClone( StrToKArr( AllTrim( X3CBox() ) , ";" ) ), .F., "", "" } )
AAdd( aCampos, { "DL6_CODFOR", FWX3Titulo("DL6_CODFOR"), TamSX3("DL6_CODFOR")[3], TamSX3("DL6_CODFOR")[1], TamSX3("DL6_CODFOR")[2], PesqPict( "DL6", "DL6_CODFOR" ), AClone( StrToKArr( AllTrim( X3CBox() ) , ";" ) ), .F., "", "" } )
AAdd( aCampos, { "DL6_LOJFOR", FWX3Titulo("DL6_LOJFOR"), TamSX3("DL6_LOJFOR")[3], TamSX3("DL6_LOJFOR")[1], TamSX3("DL6_LOJFOR")[2], PesqPict( "DL6", "DL6_LOJFOR" ), AClone( StrToKArr( AllTrim( X3CBox() ) , ";" ) ), .F., "", "" } )
AAdd( aCampos, { "DL6_LOGAVB", FWX3Titulo("DL6_LOGAVB"), TamSX3("DL6_LOGAVB")[3], TamSX3("DL6_LOGAVB")[1], TamSX3("DL6_LOGAVB")[2], PesqPict( "DL6", "DL6_LOGAVB" ), AClone( StrToKArr( AllTrim( X3CBox() ) , ";" ) ), .F., "", "" } )
AAdd( aRet, aCampos )
EndIf
03. EXEMPLO DE UTILIZAÇÃO
#INCLUDE 'PROTHEUS.CH' User Function TMF76ADD() Local nAcao := ParamIXB[1] Local aRet := {} Local aRot := {} Local aCampos := {} If nAcao == 1 AAdd( aRot, "Cadastro de Seguradoras" ) AAdd( aRot, "TMSA295" ) AAdd( aRot, "MENUDEF" ) AAdd( aRot, .T. ) AAdd( aRot, "DL6" ) AAdd( aRot, .F. ) AAdd( aRet, { 2, AClone(aRot) } ) ElseIf nAcao == 2 cQuery := " SELECT DL6.DL6_CODSEG,DL6.DL6_CODFOR,DL6.DL6_LOJFOR,DL6.DL6_LOGAVB " cQuery += " FROM DL6990 DL6 " cQuery += " WHERE DL6.DL6_CODSEG = '001' AND DL6.D_E_L_E_T_ = ' ' " dbSelectArea("SX3") SX3->( DbSetOrder(1) ) If SX3->( DbSeek( "DL6" ) ) AAdd( aRet, cQuery ) AAdd( aCampos, { "DL6_CODSEG", FWX3Titulo("DL6_CODSEG"), TamSX3("DL6_CODSEG")[3], TamSX3("DL6_CODSEG")[1], TamSX3("DL6_CODSEG")[2], PesqPict( "DL6", "DL6_CODSEG" ), AClone( StrToKArr( AllTrim( X3CBox() ) , ";" ) ), .F., "", "" } ) AAdd( aCampos, { "DL6_CODFOR", FWX3Titulo("DL6_CODFOR"), TamSX3("DL6_CODFOR")[3], TamSX3("DL6_CODFOR")[1], TamSX3("DL6_CODFOR")[2], PesqPict( "DL6", "DL6_CODFOR" ), AClone( StrToKArr( AllTrim( X3CBox() ) , ";" ) ), .F., "", "" } ) AAdd( aCampos, { "DL6_LOJFOR", FWX3Titulo("DL6_LOJFOR"), TamSX3("DL6_LOJFOR")[3], TamSX3("DL6_LOJFOR")[1], TamSX3("DL6_LOJFOR")[2], PesqPict( "DL6", "DL6_LOJFOR" ), AClone( StrToKArr( AllTrim( X3CBox() ) , ";" ) ), .F., "", "" } ) AAdd( aCampos, { "DL6_LOGAVB", FWX3Titulo("DL6_LOGAVB"), TamSX3("DL6_LOGAVB")[3], TamSX3("DL6_LOGAVB")[1], TamSX3("DL6_LOGAVB")[2], PesqPict( "DL6", "DL6_LOGAVB" ), AClone( StrToKArr( AllTrim( X3CBox() ) , ";" ) ), .F., "", "" } ) AAdd( aRet, aCampos ) EndIf EndIf Return AClone( aRet )
04. DEMAIS INFORMAÇÕES
Não há.
05. ASSUNTOS RELACIONADOS
Não há.