Árvore de páginas

Versões comparadas

Chave

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


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 O Ponto de entrada está localizado nas funções MenuDef76 e TMSF76Qry do fonte TMSAF76.Este ponto de entrada possui duas funcionalidades (Painel de Agendamento) e  possui duas etapas que devem ser utilizadas em conjunto:

  1. Adicionar Rotinas ao MenuDef do TMSAF76 - estas rotinas serão adicionadas como abas ao painel de agendamento;
  2. Realizar filtro via query nas tabelas das rotinas adicionadas acimaao menu.

...


Informações
titleAtenção

É uma premissa para funcionamento correto do Painel de Agendamento, não alterar a primeira aba do painel.


Parâmetros:

NomeTipoDescriçãoDefaultObrigatórioReferência
ParamIXBArray

Item a ser adicionado (1=Rotinas ao MenuDef/2=

Grids Inferiores

Filtro e campos)


Sim


Retorno:

Se ParamIXB Se o ParamIXB = 1, o aRet deve:

  • Conter:
      Array 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( aRetaRot, { "Contas a Pagar", "FINA050""Cadastro de Seguradoras" )
    AAdd( aRot, "TMSA295" )
    AAdd( aRot, "MENUDEF" )
    AAdd( aRot, .T. )
    AAdd( aRot, "SE2DL6" )
    AAdd( aRot, .F. )

    AAdd( aRet, { 2, AClone(aRot) } )


    Se ParamIXB = 2, o aRet deve:

    • Conter:
      • Conter
      Array deve 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 SE2990 DL6990 DL6 "
    cQuery += " WHERE E2DL6.DL6_ORIGEM CODSEG = 'SIGATMS' "cQuery += " AND 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

    Bloco de código
    languagejava
    themeMidnight
    titleTMSCTESEFTMF76Add
    #INCLUDE 'PROTHEUS.CH'
    
    User Function TMF76CpsTMF76ADD()
    
        Local nAcao     := ParamIXB[1]
        Local aRet      := {}
        Local aRot    cAlias  := ParamIXB[2]
    {}
        Local aCampos   := Aclone(ParamIXB[3])
    
    If nAcao == 1
    	Aadd(aCampos,{})
    	Ains(aCampos,10)
    	
    	aCampos[10] := {"DF1_NOMREM","DF1_NOMREM","DF1_NOMREM",.F.}
    EndIf
    
    Return Aclone(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á.


    Templatedocumentos

    ...