Árvore de páginas

Possibilita validar os campos inseridos em tela pelo usuário, montar consulta padrão e manipular cabeçalho da tela de consulta padrão

Atenção!

  • Este ponto de entrada está disponível a partir da versão 12.1.17 - Set/2018.
  • Este ponto de entrada é dependente dos demais pontos de entrada citados em "Pontos de Entrada Envolvidos".

Características do Requisito

Linha de Produto:

Microsiga Protheus

Segmento:

Manufatura

Módulo:

SIGAMNT - Manutenção de Ativos e Gestão de Frotas

Rotina:

Rotina

Nome Técnico

MNTI0052

Portal SS - Tela de inclusão de SS

Ponto(s) de Entrada Envolvido(s)

Descrição

MNTCAMUSPermite inserir campos na tela inclusão de SS, quando aberto pelo portal SS

MNTI5SXB

Monta tela consulta padrão (F3).

MNTPORSS

Possibilita validar campos inclusos pelo usuário, montar consulta padrão e manipular o cabeçalho da tela de consulta padrão.
MNTSAVSSSalva informações dos campos inseridos em tela pelo usuário.

Issues Relacionadas

DNG-357

País(es):

Todos

Banco(s) de Dados:

Todos

Sistema(s) Operacional(is):

Todos

Ponto de Entrada

Descrição:

Possibilita ao usuário validar os campos inseridos tem tela através da função VLDUSRCP, manipular a criação da consulta padrão através da função fSXBPAD e a manipulação do cabeçalho da tela de consulta padrão através da função CHeader.

Localização:

Portal de SS.

Eventos:

Inclusão de SS(MNTI0052)

Programa Fonte:

MNTPORSS.prw

 

Exemplo
#include "protheus.ch"
#include "apwebex.ch"


//-------------------------------------------------------------------
/*/{Protheus.doc} VLDUSRCP
Valida Campos de usuário no portal de SS

No Ponto de Entrada MNTCAMUS é chamada a 
função JavaScript fValCpUsr que por sua vez
faz a chamada da validação padrão do sistema
através da função I05VLDCPO, após as validações
padrões é chamada a função de validação dos 
campos de usuário VLDUSRCP.
/*/
//-------------------------------------------------------------------
WebUser Function VLDUSRCP(cCampo, cValor)

    Local cHtml := ''
    Local cMsg  := ''
    Local lRet  := .T.

    // Campos inclusos em tela pelo usuário
    Local cValCamps := 'TQB_TESTE/TQB_ORIGEM'

    WEB EXTENDED INIT cHtml START 'I005ENV'

    If cCampo $ cValCamps

        // Validação dos campos inclusos em tela.
        If cCampo == 'TQB_TESTE'
            If AllTrim( cValor ) >= '000004'
                HttpSession->TQB_TESTE := cValor
            ElseIf !Empty( cValor )
                HttpSession->TQB_TESTE := ''
                cMsg := 'Nao foi possivel selecionar a O.S.!'
            Endif
        ElseIf cCampo == 'TQB_ORIGEM'
            If 'PORTAL' $ Upper( AllTrim( cValor ) )
                HttpSession->TQB_ORIGEM := Upper( cValor )
            ElseIf !Empty( cValor )
                HttpSession->TQB_ORIGEM := ''
                cMsg := 'Origem invalida!'
            Endif
        Endif

        lRet := Empty(cMsg)

        // Caso o lRet for .F. será apresentada a mensagem passada pelo cMsg em tela referente ao campo informado no cCampo.
        VldUsrSS(cCampo, lRet, cMsg)

    EndIf

    WEB EXTENDED END

Return cHtml

//-------------------------------------------------------------------
/*/{Protheus.doc} fSXBPAD
Monta Consulta padrão
chamado no Ponto de entrada MNTCAMUS pela função JavaScript fsConPad
/*/
//-------------------------------------------------------------------
WebUser Function fSXBPAD()

    Local cHtml     := ''
    Local cRecno    := '1;'
    Local cAliasCon := ''
    Local cAlias    := ''

    // Caso seja a primeira abertura da consulta padrão pega o HttpGet->TabelaF3 e HttpGet->CampoF3.
    // Caso a busca for com a tela do SXB já aberta é então utilizado HttpSession->cSearch e HttpSession->cField
    Local cCampo    := IIf( ValType( HttpGet->CampoF3  ) == 'U', HttpSession->cField,  HttpGet->CampoF3 )
    Local cConpad   := IIf( ValType( HttpGet->TabelaF3 ) == 'U', HttpSession->cSearch, HttpGet->TabelaF3)

    // Caso seja realizada a consulta de um registro dentro da tela de consulta padrão,
    // serão utilizados a chave de pesquisa e indices escolhidos pelo usuário
    Local cPesquisa := IIf( ValType( HttpPost->cPesquisa ) == 'U', '', HttpPost->cPesquisa )
    Local nIndCon   := IIf( ValType( HttpPost->indices   ) == 'U',  0, Val( HttpPost->indices ) )

    WEB EXTENDED INIT cHtml START 'I005ENV'

        // Alinha strnig a direita com o tamanho máximo de 6.
        cConPad := Padr( cConPad, 6 )

        // Busca alias para busca dos dados a serem apresentados em tela.
        cAliasCon := AllTrim( Posicione('SXB', 1, cConpad + '101' , 'XB_CONTEM') )
        cAlias    := cAliasCon

        // nIndCon só será 0 quando for montar a Tela de consulta padrão.
        If nIndCon == 0
            nIndCon   := Val( AllTrim( Posicione('SXB', 1, cConpad + '201' , 'XB_COLUNA') ) )
        EndIf

        If cAliasCon <> 'ST9'
            dbSelectArea(cAliasCon)
            dbSetOrder(nIndCon)
            If '_FILIAL' $ Substr( IndexKey(), 1, 10 )
                cPesquisa := xFilial( cAliasCon ) + cPesquisa
            Endif
        EndIf

        // Executa chave de pesquisa e verifica se existem itens a serem exibidos posionando no primeiro ReCnO conforme o seek.
        dbSeek(cPesquisa)
        If (cAlias)->( !EoF() ) .And. Substr( &( cAliasCon + '->(' + IndexKey() + ')' ), 1, Len( cPesquisa ) ) == cPesquisa
            cRecno := cValToChar( (cAliasCon)->( RecNo() ) ) + ';'
        EndIf

        //Carrega variaveis de sessao
        HttpSession->cSearch   := cConPad
        HttpSession->cField    := cCampo
        HttpSession->cAliasSXB := cAliasCon
        HttpSession->nIndSXB   := nIndCon
        HttpSession->cSeek     := cPesquisa
        HttpSession->cNumRec   := cRecno
        HttpSession->cCurPag   := '1'

        //Chama pagina responsavel por exibir a consulta padrão.
        cHtml += ExecInPage('MNTI5SXB')

    WEB EXTENDED END

Return cHtml

//-------------------------------------------------------------------
/*/{Protheus.doc} CHeader
Cria cabeçalho da tela de consulta padrão
chamado no Ponto de entrada MNTCAMUS
@param   cTitle, Caractér, Titulo da janela.
/*/
//-------------------------------------------------------------------
WebUser Function CHeader(cTitle)

    Local cHtml := ''

    cHtml += '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">'
    cHtml += '<html>'
    cHtml += '<head>'
    cHtml += '  <title>'
    cHtml += '  ' + cTitle
    cHtml += '  </title>'
    cHtml += '  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">'
    cHtml += '  <link rel="stylesheet" type="text/css" href="NGCSS.css">'
    cHtml += '</head>'

Return cHtml