Árvore de páginas

Versões comparadas

Chave

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

Permite a adição de elementos na tela de cadastro de Solicitação de Serviço no Portal SS

Informações
titleAtenção!
  • Este ponto de entrada está disponível a partir do release 12.1.17.

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

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

MNTI5005

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

MNTI5006

Salva 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:

Permite a adição de elementos na tela de cadastro de Solicitação de Serviço no Portal de S.S.

Localização:

Portal de SS

Eventos:

Tela de SS (MNTI0052)

Programa Fonte:

MNTI5201.AHU

Observações:

O exemplo MNTI5201 mostra demonstra como inserir campos na tela de SS, sendo neste caso um campo de usuário (TQB_TESTE).

O exemplo MNTI5SXB mostra como montar demonstra a construção da tela de consulta padrão.

Informações
titleAtenção!
  • A extensão dos fontes abaixo deverão ser ".AHU", por se tratarem de fontes de usuário para Web.
Bloco de código
languagexml
themeEclipse
titleMNTI5201.AHU
linenumberstrue
<%
#include "protheus.ch"
 
//-----------------------------------------------------------
/*/{Protheus.doc} MNTI5201
/*/
//-----------------------------------------------------------
    // Procura no SX3 pelo campo TQB_TESTE onde o retorno será a Consulta padrão do campo.
    Local cSXBTest := Posicione('SX3', 2, 'TQB_TESTE', 'X3_F3')
 
    // Procura no SX3 pelo campo TQB_TESTE onde o retorno será o tamanho do campo.
    Local nTamTest := Posicione('SX3', 2, 'TQB_TESTE', 'X3_TAMANHO')
%>

<script>
			   
	<% /* Local nTamOrigserá := Posicione('SX3', 2, 'TQB_ORIGEM', 'X3_TAMANHO')
 
    %>
    necessário criar esta função, caso algum campo seja do Tipo F3. */ %>
    <% /* As funções criadas em JavaScript, são  para validação do campo e chamada da consulta padrão. */ %>
<script>
			   
	<% /* Só será necessário criar esta função, caso algum campo seja do Tipo F3. */ %>
    function fsConPad(cTabela, function fsConPad(cTabela, cCampo){
 
        <% /*Chama consulta padrão passando por parametro o campo no qual será aberto o F3 e qual a consulta padrão a ser executada.*/ %>
        <% /*A função fSXBPAD pode ser visualizada no exemplo de fonte abaixo (WEBCONS.PRW)*/ %>
        url="B_fSXBPAD.APW?TabelaF3=" + cTabela + "&CampoF3=" + cCampo;
        ji=window.open(url, "Jins2","status=no,scrollbars=yes,width=605,height=550,top=200,left=200");
        ji.focus();
    }
 
<% /* Este trecho está em Html, e é referente a inclusão dos campos em tela. */ %>
<tr class="tabelaTr">
    <td class="tdLabel"><span class="labelObrigat">Campo Usuário:</span></td>
    <td>
        <input name='TQB_TESTE' type='Text' id='TQB_TESTE' class="inputCod" maxlength='<%=nTamTest%>' value='<%=HttpSession->TQB_TESTE%>' onBlur='fValCpUsr(this.value,"TQB_TESTE")' >
    </td>
	<% /* Só será necessária a inclusão desse "Button" caso for utilizar um F3. */ %>
    <td>
        <button id='F3USER' class='buttonF3' onMouseDown='<%='fsConPad("' + cSXBTest + '","TQB_TESTE")'%>' > <img class="imgF3" src="ng_lupacons.png" border="0"> </button>
    </td>
</tr>
Bloco de código
languagesql
themeEclipse
titleMNTI5SXBWEBCONS.AHUPRW
linenumberstrue
<%
//-------------------------------------------------------------------
/*/{Protheus.doc} MNTI5SXB fSXBPAD
Monta Consulta padrão chamado no Ponto de entrada MNTI5201 pela função JavaScript fsConPad
/*/
//-------------------------------------------------------------------
WebUser Function 
fSXBPAD()
 
    Local cLINHACOLOR,cHtml lLINHACOLOR, nPos, nTamCol, lCbox, cPicture, nIndice:= ''
    Local aPages,cRecno  nRecno, nNxtRc, i, j:= '1;'
    Local cHeader  cAliasCon  := B_CHeader("Portal Inclus&atilde;o de SS - Consulta")''
    Local id_pesqcAlias    := Trim(HttpSession->cSeek)''
 
   Local cConPad// Caso seja a := HttpSession->cSearch
    Local cAlias     := HttpSession->cAliasSXBprimeira abertura da consulta padrão pega o HttpGet->TabelaF3 e HttpGet->CampoF3.
    // LocalCaso nInda busca for com a tela do := HttpSession->nIndSXB
    Local aCamposSXB := {}SXB já aberta é então utilizado HttpSession->cSearch e HttpSession->cField
    Local nTamBrwcCampo    := 5
 IIf( ValType( HttpGet->CampoF3  ) Local cRetorno   := ''== 'U', HttpSession->cField,  HttpGet->CampoF3 )
    Local cNomeConcConpad   := ''
    Local cContem    := ''
    Local cDescCmp   := ''
    Local nTamCpo    := ''
  
    cNomeCon := AllTrim( Posicione( 'SXB', 1, Padr( cConPad, 6 )+"101", 'XB_DESCRI' ) )
  
    dbSelectArea("SXB")
    dbSetOrder(1)
    // Nome da consulta padrão + Tipo + Sequencia
    dbSeek(Padr(cConPad,6)+"401")
    While !EoF() .And. SXB->(XB_ALIAS+XB_TIPO+XB_SEQ) == Padr(cConPad,6) + "401"
  
        nTamCol := 15
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 lCbox:= Padr( cConPad, := .F.6 )
 
       cPicture:= ''
        cContem := AllTrim(SXB->XB_CONTEM)
 // Busca alias para busca dos dados a serem apresentados em tela.
        cAliasCon If At(">",cContem) > 0 .and. Len(cContem) <= 154:= AllTrim( Posicione('SXB', 1, cConpad + '101' , 'XB_CONTEM') )
        cAlias    cContem := Substr(cContem, (At(">",cContem)+1))cAliasCon
 
        Endif
// nIndCon 
 será 0 quando for montar a Tela cDescCmp:= AllTrim(SXB->XB_DESCRI)
          de consulta padrão.
        //If PeganIndCon informações== na0
 SX3.   
        lCboxnIndCon   := Val( !EmptyAllTrim( Posicione( 'SX3SXB', 2, cContem1, cConpad + '201' , 'X3XB_CBOXCOLUNA' ) ) )
         nTamCpo := Posicione( 'SX3', 2, cContem, 'X3_TAMANHO' )
 EndIf
 
        If cAliasCon <> 'ST9'
       nTamCol := IIf( nTamCpo < 15, 15, ( nTamCpo + 20 ) )
 dbSelectArea(cAliasCon)
            dbSetOrder(nIndCon)
          cPicture:= AllTrim( Posicione(If 'SX3', 2, cContem, 'X3_PICTURE' ) )
_FILIAL' $ Substr( IndexKey(), 1, 10 )
                cPesquisa cDescCmp:= RetTitlexFilial( cContemcAliasCon ) + cPesquisa
          
  Endif
      nTamCol := nTamCol*5EndIf
 
       nTamBrw += nTamCol
        aAdd(aCamposSXB, {cDescCmp, AllTrim(SXB->XB_CONTEM), nTamCol, lCbox, cPicture})
        dbSelectArea("SXB")// Executa chave de pesquisa e verifica se existem itens a serem exibidos posionando no primeiro ReCnO conforme o seek.
        dbSkipdbSeek(cPesquisa)
    EndDo
  
  If  dbSelectArea("SXB")
    dbSetOrder(1)
    // Nome da consulta padrão + Tipo + Sequencia
    dbSeek(Padr(cConPad,6)+"501",.T.)
    While SXB->XB_ALIAS == Padr(cConPad,6) .And. SXB->XB_TIPO == "5"
cAlias)->( !EoF() ) .And. Substr( &( cAliasCon + '->(' + IndexKey() + ')' ), 1, Len( cPesquisa ) ) == cPesquisa
            cRetornocRecno +:= AllTrim(SXB->XB_CONTEM)+";"cValToChar( (cAliasCon)->( RecNo() ) ) + ';'
        SXB->(dbSkip()) EndIf
 
    EndDo
    cRetorno := SubStr(cRetorno,1,Len(cRetorno)-1)//Carrega variaveis de sessao
  
     //Verifica tamanho do Browse
    If nTamBrw < 560
    HttpSession->cSearch   := cConPad
        HttpSession->cField    := If Len(aCamposSXB) > 0
cCampo
        HttpSession->cAliasSXB := cAliasCon
     aCamposSXB[Len(aCamposSXB)][3] += (560 HttpSession- nTamBrw)
>nIndSXB   := nIndCon
    Endif
    HttpSession->cSeek    nTamBrw := 560cPesquisa
        HttpSession->cNumRec   := cRecno
        HttpSession->cCurPag   := '1'
 
        //Chama pagina responsavel por exibir a consulta padrão.
        cHtml += ExecInPage('MNTI5SXB')
 
    WEB EXTENDED END
 
Return cHtml



Bloco de código
languagesql
themeEclipse
titleMNTI5SXB.AHU
linenumberstrue
collapsetrue
<%
//----------Endif
%>
  
<%=cHeader%>
<%
//------------------------------------
// Inicio da estilização da pagina.
//------------------------------------
%>
<style type="text/css">
  
    body {-----------------------
/*/{Protheus.doc} MNTI5SXB
/*/
//-------------------------------------------------------------------
  
    Local cLINHACOLOR, lLINHACOLOR, nPos, nTamCol, lCbox, cPicture, nIndice
    Local aPages, nRecno, nNxtRc, i, j
    Local id_pesq    := Trim(HttpSession->cSeek)
    Local cConPad    := HttpSession->cSearch
    Local cAlias     := HttpSession->cAliasSXB
    Local nInd       := HttpSession->nIndSXB
    Local aCamposSXB := {}
    Local nTamBrw    := 5
    Local cRetorno   := ''
    Local cNomeCon   := ''
    Local cContem    := ''
    Local cDescCmp   := ''
    Local nTamCpo    := ''
    Local cHeader := ''


    cHeader += '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">'
    cHeader += '<html>'
    cHeader += '<head>'
    cHeader += '  <title>'
    cHeader += '  Portal Inclus&atilde;o de SS - Consulta '
    cHeader += '  </title>'
    cHeader += '  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">'
    cHeader += '  <link rel="stylesheet" type="text/css" href="NGCSS.css">'
    cHeader += '</head>'
  
    cNomeCon := AllTrim( Posicione( 'SXB', 1, Padr( cConPad, 6 )+"101", 'XB_DESCRI' ) )
  
    dbSelectArea("SXB")
    dbSetOrder(1)
    // Nome da consulta padrão + Tipo + Sequencia
    dbSeek(Padr(cConPad,6)+"401")
    While !EoF() .And. SXB->(XB_ALIAS+XB_TIPO+XB_SEQ) == Padr(cConPad,6) + "401"
  
        nTamCol := 15
        lCbox   := .F.
        cPicture:= ''
        cContem := AllTrim(SXB->XB_CONTEM)
        If At(">",cContem) > 0 .and. Len(cContem) <= 154
            cContem := Substr(cContem, (At(">",cContem)+1))
        Endif
  
        cDescCmp:= AllTrim(SXB->XB_DESCRI)
          
        // Pega informações na SX3.   
        lCbox   := ( !Empty( Posicione( 'SX3', 2, cContem, 'X3_CBOX' ) ) )
        nTamCpo := Posicione( 'SX3', 2, cContem, 'X3_TAMANHO' )
        nTamCol := IIf( nTamCpo < 15, 15, ( nTamCpo + 20 ) )
        margincPicture: 5px;
    }
= AllTrim( Posicione( 'SX3', 2, cContem, 'X3_PICTURE' ) )
       
 cDescCmp:= RetTitle( cContem a{)
        text-decoration: none;
  
        nTamCol color:= #253453;nTamCol*5
         font-weight: bold;nTamBrw += nTamCol
    }
     
    a:link, a:visited{aAdd(aCamposSXB, {cDescCmp, AllTrim(SXB->XB_CONTEM), nTamCol, lCbox, cPicture})
        color: #253453;dbSelectArea("SXB")
        font-weight: bold;
    }
dbSkip()
    EndDo
  
    a:hover{dbSelectArea("SXB")
    dbSetOrder(1)
    background-color:#8ca0c7;
        color: #FFFFFF;
   // Nome da consulta padrão + Tipo + Sequencia
    dbSeek(Padr(cConPad,6)+"501",.T.)
    While font-weight: bold;
    }
    a:active{
SXB->XB_ALIAS == Padr(cConPad,6) .And. SXB->XB_TIPO == "5"
        cRetorno color: #253453;+= AllTrim(SXB->XB_CONTEM)+";"
        font-weight: bold;SXB->(dbSkip())
    }EndDo
    cRetorno := 
    a.pagina{SubStr(cRetorno,1,Len(cRetorno)-1)
  
    //Verifica tamanho do Browse
 text-decoration: none;
  If nTamBrw < 560
   color: #FFFFFF;
    If Len(aCamposSXB) > 0
 font-weight: none;
    }
     
    a.pagina:link, a.pagina:visited{ aCamposSXB[Len(aCamposSXB)][3] += (560 - nTamBrw)
        color: #FFFFFF;
Endif
        nTamBrw font-weight:= none;560
    }Endif
%>
     
    a.pagina:hover{
        color: #FFFFFF;
        font-weight: bold;
    }
    a.pagina:active{
        color: #FFFFFF;
<%=cHeader%>
<%
//------------------------------------
// Inicio da estilização da pagina.
//------------------------------------
%>
<style type="text/css">
  
    body {
        font-weightmargin: bold5px;
    }
     
    .divrolagem a{
    /* define barra de rolagem automatica quando o
text-decoration: none;
      conteudo ultrapassar o limite em x ou y */
color: #253453;
        font-weight: bold;
    }
    overflow: auto;
    /* define o limite maximo da autura do div */ a:link, a:visited{
        color: #253453;
            heightfont-weight: 300pxbold;
    /*}
 define o limite maximo da
 largura do div */ a:hover{
            width: 580pxbackground-color:#8ca0c7;
     
   color: #FFFFFF;
        paddingfont-topweight: 5ptbold;
    }
     /*Mantem cabecalho do browse estatico*/
a:active{
         .rowHeader{color: #253453;
        position:relativefont-weight: bold;
    }
    top: expression(offsetParent.scrollTop);
        height:18px;a.pagina{
        ztext-indexdecoration: 20none;
        background-color: #263957#FFFFFF;
    }
<%
//------------------------------------
// Fim da estilização da pagina.
//------------------------------------
%>
</STYLE>
<script language="Javascript">
  
<%
//------------------------------------
// Seleciona registro e popula campo.
//------------------------------------
%>
function fcSeleciona(cCodRet, cCamposAtu){
    var aRet = cCodRet.split(';')
    var aCampos = cCamposAtu.split(';');
    for(i=0; i<aCampos.length;i++){
        window.opener.document.getElementById(aCampos[i]).value = aRet[i];
        window.opener.document.getElementById(aCampos[i]).focus();
    }
  
    close();
    return;
}
<%
//------------------------------------
// Pesquisa valor informados no campo
// de pesquisa.
//------------------------------------
%>
function fcPesquisar(){
    document.forms[0].cPESQUISA.value = document.forms[0].f_nome.value;
    document.forms[0].action = 'B_fSXBPAD.APW';
    document.forms[0].submit();
}
 
function getStrInPos(cSTR,nAll,nPos,cDiv){
    <%/*Funcao recebe string de campos e retorna um campo determinado*/%>
    <%/*cSTR:string de campos:"CAMPO1#CAMPO2#CAMPO3#...#" / nAll:qnt.total / nPos:campo.retorno*/%>
    aArray = new Array (nAll-1);
    cTXT = cSTR;
    nI = 0;
    for (c=0;c<nAll;c++){
        aArray[c] = "";
    }
    for (c=0;c<nAll;c++){
        nP = cTXT.indexOf(cDiv);
        aArray[c] = cTXT.substring(nI,nP);
        cTXT = cTXT.substring((nP+1),cTXT.length);
    }
    cReturn = aArray[(nPos-1)];
    return cReturn;
}
  
</script>
  
<form name='MNTI5SXB' method='post' action=''>
<opener.location.reload()>
<body onLoad="document.MNTI5SXB.f_nome.focus()">
  
<INPUT TYPE="HIDDEN" NAME="cPESQUISA" VALUE="">
<INPUT TYPE="HIDDEN" NAME="cNumRec" value='<%=HttpSession->cNumRec%>'>
<INPUT TYPE="HIDDEN" NAME="cCurPag" value='<%=HttpSession->cCurPag%>'>
  
<div id="divCabec" style="width: 580px;">
    <div id="bordaCabec" style="width: 580px;">
        <b class="bordaEsqAzul1"></b><b class="bordaEsqAzul2"></b><b class="bordaEsqAzul3"></b><b class="bordaEsqAzul4"></b>
        <div id="tituloCabec" class="divtitulo" style="width: 100%; height:15px;">
            <span style="padding: 0pt 0pt 0pt 10pt">Preencha o campo abaixo e clique em Pesquisar.</span>
        </div>
        <b class="bordaDirAzul4"></b><b class="bordaDirAzul3"></b><b class="bordaDirAzul2"></b><b class="bordaDirAzul1"></b>
    </div>
</div>
  
<div id="divIndices" style="width: 580px; background-color: #FFFFFF; padding-bottom: 10pt">
  
    <table>
        <tr width="100%">   font-weight: none;
    }
     
    a.pagina:link, a.pagina:visited{
        color: #FFFFFF;
        font-weight: none;
    }
     
    a.pagina:hover{
        color: #FFFFFF;
        font-weight: bold;
    }
    a.pagina:active{
        color: #FFFFFF;
        font-weight: bold;
    }
     
    .divrolagem {
    /* define barra de rolagem automatica quando o
    conteudo ultrapassar o limite em x ou y */
            overflow: auto;
    /* define o limite maximo da autura do div */
            height: 300px;
    /* define o limite maximo da largura do div */
            width: 580px;
     
            padding-top: 5pt;
    }
    /*Mantem cabecalho do browse estatico*/
    .rowHeader{
        position:relative;
        top: expression(offsetParent.scrollTop);
        height:18px;
        z-index: 20;
        background-color: #263957;
    }
<%
//------------------------------------
// Fim da estilização da pagina.
//------------------------------------
%>
</STYLE>
<script language="Javascript">
  
<%
//------------------------------------
// Seleciona registro e popula campo.
//------------------------------------
%>
function fcSeleciona(cCodRet, cCamposAtu){
    var aRet = cCodRet.split(';')
    var aCampos = cCamposAtu.split(';');
    for(i=0; i<aCampos.length;i++){
        window.opener.document.getElementById(aCampos[i]).value = aRet[i];
        window.opener.document.getElementById(aCampos[i]).focus();
    }
  
    close();
    return;
}
<%
//------------------------------------
// Pesquisa valor informados no campo
// de pesquisa.
//------------------------------------
%>
function fcPesquisar(){
    document.forms[0].cPESQUISA.value = document.forms[0].f_nome.value;
    document.forms[0].action = 'B_fSXBPAD.APW';
    document.forms[0].submit();
}
 
function getStrInPos(cSTR,nAll,nPos,cDiv){
    <%/*Funcao recebe string de campos e retorna um campo determinado*/%>
    <%/*cSTR:string de campos:"CAMPO1#CAMPO2#CAMPO3#...#" / nAll:qnt.total / nPos:campo.retorno*/%>
    aArray = new Array (nAll-1);
    cTXT = cSTR;
    nI = 0;
    for (c=0;c<nAll;c++){
        aArray[c] = "";
    }
    for (c=0;c<nAll;c++){
        nP = cTXT.indexOf(cDiv);
   <td colspan="2"><span class="txtTitulo" style="padding: 0pt 0pt 0pt 10pt;">Consulta <%=cNomeCon%></span></td>
aArray[c] = cTXT.substring(nI,nP);
        cTXT  </tr>
 = cTXT.substring((nP+1),cTXT.length);
    }
   <tr>
 cReturn = aArray[(nPos-1)];
    return cReturn;
}
  
</script>
  <td
<form width="290px" align="left" style='padding: 0pt 0pt 0pt 10pt'>
                <input name="f_nome"  type="text"  id="f_nome" size="50" onChange='fcPesquisar();'name='MNTI5SXB' method='post' action=''>
<opener.location.reload()>
<body onLoad="document.MNTI5SXB.f_nome.focus()">
  
<INPUT TYPE="HIDDEN" NAME="cPESQUISA" VALUE="">
<INPUT TYPE="HIDDEN" NAME="cNumRec" value='<%=HttpSession->cNumRec%>'>
<INPUT TYPE="HIDDEN" NAME="cCurPag" value='<%=HttpSession->cCurPag%>'>
  
<div id="divCabec" style="width:270px 580px;">
    <div id="bordaCabec"       </td>style="width: 580px;">
        <b class="bordaEsqAzul1"></b><b class="bordaEsqAzul2"></b><b  <td>class="bordaEsqAzul3"></b><b class="bordaEsqAzul4"></b>
                <input type<div id="buttontituloCabec" nameclass="Submitdivtitulo" valuestyle="Pesquisar" onclick="fcPesquisar();" onmouseover="this.style.cursor='pointer'"/>
            </td>width: 100%; height:15px;">
            <span style="padding: 0pt 0pt 0pt 10pt">Preencha o campo abaixo e clique em Pesquisar.</span>
        </tr>div>
        <tr<b widthclass="100%">
            <td colspan="2" width="290px" align="left" style='padding: 0pt 0pt 0pt 10pt'>
                <select size="1" name="indices" bordaDirAzul4"></b><b class="bordaDirAzul3"></b><b class="bordaDirAzul2"></b><b class="bordaDirAzul1"></b>
    </div>
</div>
  
<div id="divIndices" style="width:275px 580px;">
       background-color: #FFFFFF; padding-bottom: 10pt">
  
    <table>
      <%//Monta ComboBox com Indices da Pesquisa<tr width="100%">
            <td    If cConPad == "QUS"
         colspan="2"><span class="txtTitulo" style="padding: 0pt 0pt 0pt 10pt;">Consulta <%=cNomeCon%></span></td>
        </tr>
       For i:=1 to Len(aCamposSXB) <tr>
            <td width="290px" align="left" style='padding: 0pt 0pt     0pt 10pt'>
      nIndice := aCamposSXB[i][6]
         <input name="f_nome"  type="text"  id="f_nome" size="50" onChange='fcPesquisar();' style="width:270px;">
           If nIndice == nInd%> </td>
            <td>
                <input type="button" name="Submit"  <option selected value="<%=nIndice%>"><%=aCamposSXB[i][1]%></option>
                            <%Else%>
   value="Pesquisar" onclick="fcPesquisar();" onmouseover="this.style.cursor='pointer'"/>
            </td>
        </tr>
        <tr <option valuewidth="<%=nIndice%>"><%=aCamposSXB[i][1]%></option>100%">
            <td colspan="2" width="290px" align="left" style='padding: 0pt 0pt          <%Endif0pt 10pt'>
                <select size="1"       Next i
   name="indices" style="width:275px;">
                 Else
    <%//Monta ComboBox com Indices da Pesquisa
                    dbSelectArea("SIX")
                        dbSetOrder(1)
                        dbSeek(cAlias)
                        While !Eof() .and. SIX->INDICE == cAlias
                            If Val(SIX->ORDEM) > 0
                                nIndice := Val(SIX->ORDEM)
                            Else
                                nIndice++
                            Endif
                            If nIndice == nInd%>
                                <option selected value="<%=nIndice%>"><%=SixDescricao()%></option>
                            <%Else%>
                                <option value="<%=nIndice%>"><%=SixDescricao()%></option>
                <%           Endif
                            dbSelectArea("SIX")
                            dbSkip()
                        EndDo
                    Endif
                %>
                </select>
            </td>
        </tr>
        </tr>
    </table>
</div>
<%
    aPages := StrTokArr(HttpSession->cNumRec,';')
    nRecno := IIf(Val(HttpSession->cCurPag) <= Len(aPages), Val(aPages[Val(HttpSession->cCurPag)]  ), 0 )
    nNxtRc := IIf(Val(HttpSession->cCurPag) < Len(aPages) , Val(aPages[Val(HttpSession->cCurPag)+1]), 0 )
%>
  
<div id="bordaPags" style="width: 580px;">
    <b class="bordaEsqAzul1"></b><b class="bordaEsqAzul2"></b><b class="bordaEsqAzul3"></b><b class="bordaEsqAzul4"></b>
    <div id="divPags" class="divtitulo" style="width: 100%; height: 40px;">
        <div id="txtPags" class="divtitulo" style="width: 100%; height:20px;">
            <span style="padding: 5pt 0pt 0pt 10pt">Para selecionar um Registro, clique sobre um dos campos da linha.</span>
        </div>
    </div>
    <b class="bordaDirAzul4"></b><b class="bordaDirAzul3"></b><b class="bordaDirAzul2"></b><b class="bordaDirAzul1"></b>
</div>
  
<div class="divrolagem">
    <table width="<%=nTamBrw%>" id="browse">
        <thead>
            <tr align="left" valign="middle" class="rowHeader">
                <%For i:=1 To Len(aCamposSXB)%>
                    <th width="<%=aCamposSXB[i][3]%>">
                        <span class="headerField"><%=aCamposSXB[i][1]%></span>
                    </th>
                <%Next i%>
            </tr>
        </thead>
        <tBody>
            <%lLINHACOLOR := .T.
  
                dbSelectArea(cAlias)
                dbSetOrder(nInd)
                dbSeek(id_pesq)
                dbGoTo(nRecno)
                 
                // Faz a busca dos registros que serão apresentados em tela
                While (cAlias)->(!Eof()) .And. nNxtRc != &(cAlias+"->(RecNo())") .and. Substr(&(cAlias+"->("+IndexKey()+")"),1,Len(id_pesq)) == id_pesq
  
                    %>
  
                    <tr class="linhaBrowse">
                        <%
                        If lLINHACOLOR
                            cLINHACOLOR := "WHITE"
                            lLINHACOLOR := .F.
                        Else
                            cLINHACOLOR = "#dae3f2"
                            lLINHACOLOR := .T.
                        EndIf
                        For i:=1 To Len(aCamposSXB)
                            If aCamposSXB[i][4]
                                cColuna := Substr(NGRETSX3BOX(aCamposSXB[i][2],&(aCamposSXB[i][2])),1,aCamposSXB[i][3])
                            Else
                                cColuna := &(aCamposSXB[i][2])
                            Endif
  
                            If !Empty(aCamposSXB[i][5])
                                cColuna := Transform(cColuna,aCamposSXB[i][5])
                            Endif
                            %>
                            <td width="<%=aCamposSXB[i][3]%>" height="12" bgcolor="<%=cLINHACOLOR%>" style="text-align:left">
                                <span class="celula">
                                    <%
                                        aRet := StrTokArr(cRetorno,';')
                                        cRet := ""
                                        For j := 1 To Len(aRet)
                                            cRet += &(aRet[j])+";"
                                        Next j
                                        cRet := SubStr(cRet,1,Len(cRet)-1)
                                    %>
                                    <a href="javascript:fcSeleciona('<%=(cRet)%>', '<%=HttpSession->cField%>')">
                                    <%=cColuna%></a>
                                </span>
                            </td>
                        <%Next i%>
                    </tr>
                  <%dbSelectArea(cAlias)
                    dbSkip()
                EndDo%>
        </tBody>
    </table>
</div>
  
<div id="bordaPags" style="width: 580px;">
    <b class="bordaEsqAzul1"></b><b class="bordaEsqAzul2"></b><b class="bordaEsqAzul3"></b><b class="bordaEsqAzul4"></b>
        <div id="divPags" class="divtitulo" style="height:15px;">
            <table width="100%" border="0" cellspacing="0" cellpadding="0">
            </table>
        </div>
    <b class="bordaDirAzul4"></b><b class="bordaDirAzul3"></b><b class="bordaDirAzul2"></b><b class="bordaDirAzul1"></b>
</div>
</form>
</body>
</html>