Histórico da Página
Possibilita inserir campos no portal de SS
Informações | ||
---|---|---|
| ||
|
Características do Requisito
Linha de Produto: | Microsiga Protheus | ||||||||||||||
Segmento: | Manufatura | ||||||||||||||
Módulo: | SIGAMNT - Manutenção de Ativos e Gestão de Frotas | ||||||||||||||
Rotina: |
| ||||||||||||||
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 abaixo mostra como inserir campos na tela de SS, sendo neste caso um campo de usuário (TQB_TESTE). |
Informações | ||
---|---|---|
| ||
|
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
<% #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') Local nTamOrig := Posicione('SX3', 2, 'TQB_ORIGEM', 'X3_TAMANHO') %> <% /* 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, 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.*/ %> 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 functionestá fValCpUsr(em cValorHtml, cCampoe ){ é referente a inclusão dos campos em tela. */ %> <tr class="tabelaTr"> <% /*Chama validação do campo passando por parametro o campo no qual será validado e qual o valor inserido no campo.*/ %><td class="tdLabel"><span class="labelObrigat">Campo Usuário:</span></td> <td> document.MNTI0052.action<input name= 'W_I05VLDCPO.APW?cValor=' + cValor + '&cCampo=' + cCampo; document.MNTI0052.submit(); }TQB_TESTE' type='Text' id='TQB_TESTE' class="inputCod" maxlength='<%=nTamTest%>' value='<%=HttpSession->TQB_TESTE%>' onBlur='fValCpUsr(this.value,"TQB_TESTE")' > </script>td> <% /* EsteSó trechoserá estánecessária ema Html,inclusão edesse é"Button" referentecaso afor inclusãoutilizar dos campos em telaum F3. */ %> <tr class="tabelaTr"> <td class="tdLabel"><span class="labelObrigat">Campo Usuário:</span></td> <td> <input<button nameid='TQB_TESTEF3USER' typeclass='TextbuttonF3' idonMouseDown='TQB_TESTE' class="inputCod" maxlength='<%=nTamTest%>' value='<%=HttpSession->TQB_TESTE%>' onBlur='fValCpUsr(this.value<%='fsConPad("' + cSXBTest + '","TQB_TESTE")'%>' > <img class="imgF3" src="ng_lupacons.png" border="0"> </td>button> <% /* 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> <tr class="tabelaTr"> <td class="tdLabel"><span class="labelComum">Origem:</span></td> <td> <input name='TQB_ORIGEM' type='Text' id='TQB_ORIGEM' class="inputCod" maxlength='<%=nTamOrig%>' value='<%=HttpSession->TQB_ORIGEM%>' onBlur='fValCpUsr(this.value,"TQB_ORIGEM")' > </td> </tr> </td> </tr> |
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
<%
//-------------------------------------------------------------------
/*/{Protheus.doc} MNTI5SXB
/*/
//-------------------------------------------------------------------
Local cLINHACOLOR, lLINHACOLOR, nPos, nTamCol, lCbox, cPicture, nIndice
Local aPages, nRecno, nNxtRc, i, j
Local cHeader := B_CHeader("Portal Inclusão de SS - Consulta")
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 := ''
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 ) )
cPicture:= AllTrim( Posicione( 'SX3', 2, cContem, 'X3_PICTURE' ) )
cDescCmp:= RetTitle( cContem )
nTamCol := nTamCol*5
nTamBrw += nTamCol
aAdd(aCamposSXB, {cDescCmp, AllTrim(SXB->XB_CONTEM), nTamCol, lCbox, cPicture})
dbSelectArea("SXB")
dbSkip()
EndDo
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"
cRetorno += AllTrim(SXB->XB_CONTEM)+";"
SXB->(dbSkip())
EndDo
cRetorno := SubStr(cRetorno,1,Len(cRetorno)-1)
//Verifica tamanho do Browse
If nTamBrw < 560
If Len(aCamposSXB) > 0
aCamposSXB[Len(aCamposSXB)][3] += (560 - nTamBrw)
Endif
nTamBrw := 560
Endif
%>
<%=cHeader%>
<%
//------------------------------------
// Inicio da estilização da pagina.
//------------------------------------
%>
<style type="text/css">
body {
margin: 5px;
}
a{
text-decoration: none;
color: #253453;
font-weight: bold;
}
a:link, a:visited{
color: #253453;
font-weight: bold;
}
a:hover{
background-color:#8ca0c7;
color: #FFFFFF;
font-weight: bold;
}
a:active{
color: #253453;
font-weight: bold;
}
a.pagina{
text-decoration: none;
color: #FFFFFF;
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);
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%">
<td colspan="2"><span class="txtTitulo" style="padding: 0pt 0pt 0pt 10pt;">Consulta <%=cNomeCon%></span></td>
</tr>
<tr>
<td width="290px" align="left" style='padding: 0pt 0pt 0pt 10pt'>
<input name="f_nome" type="text" id="f_nome" size="50" onChange='fcPesquisar();' style="width:270px;">
</td>
<td>
<input type="button" name="Submit" value="Pesquisar" onclick="fcPesquisar();" onmouseover="this.style.cursor='pointer'"/>
</td>
</tr>
<tr width="100%">
<td colspan="2" width="290px" align="left" style='padding: 0pt 0pt 0pt 10pt'>
<select size="1" name="indices" style="width:275px;">
<%//Monta ComboBox com Indices da Pesquisa
If cConPad == "QUS"
For i:=1 to Len(aCamposSXB)
nIndice := aCamposSXB[i][6]
If nIndice == nInd%>
<option selected value="<%=nIndice%>"><%=aCamposSXB[i][1]%></option>
<%Else%>
<option value="<%=nIndice%>"><%=aCamposSXB[i][1]%></option>
<%Endif
Next i
Else
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> |
<%
//-------------------------------------------------------------------
/*/{Protheus.doc} MNTI5SXB
/*/
//-------------------------------------------------------------------
Local cLINHACOLOR, lLINHACOLOR, nPos, nTamCol, lCbox, cPicture, nIndice
Local aPages, nRecno, nNxtRc, i, j
Local cHeader := B_CHeader("Portal Inclusão de SS - Consulta")
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 := ''
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 ) )
cPicture:
=
AllTrim
( Posicione( 'SX3', 2, cContem, 'X3_PICTURE' ) )
cDescCmp:
=
RetTitle
( cContem )
nTamCol
:
=
nTamCol
*5
nTamBrw += nTamCol
aAdd(aCamposSXB, {cDescCmp, AllTrim(SXB->XB_CONTEM), nTamCol, lCbox, cPicture})
dbSelectArea("SXB")
dbSkip()
EndDo
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"
cRetorno += AllTrim(SXB->XB_CONTEM)+";"
SXB->(dbSkip())
EndDo
cRetorno := SubStr(cRetorno,1,Len(cRetorno)-1)
//Verifica tamanho do Browse
If nTamBrw <
560
If Len(aCamposSXB) > 0
aCamposSXB[Len(aCamposSXB)][3] += (560 - nTamBrw)
Endif
nTamBrw := 560
Endif
%>
<%=cHeader%>
<%
//------------------------------------
// Inicio da estilização da pagina.
//------------------------------------
%>
<
style
type
=
"text/css"
>
body {
margin: 5px;
}
a{
text-decoration: none;
color: #253453;
font-weight: bold;
}
a:link, a:visited{
color: #253453;
font-weight: bold;
}
a:hover{
background-color:#8ca0c7;
color: #FFFFFF;
font-weight: bold;
}
a:active{
color: #253453;
font-weight: bold;
}
a.pagina{
text-decoration: none;
color: #FFFFFF;
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);
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%"
>
<
td
colspan
=
"2"
><
span
class
=
"txtTitulo"
style
=
"padding: 0pt 0pt 0pt 10pt;"
>Consulta <%=cNomeCon%></
span
></
td
>
</
tr
>
<
tr
>
<
td
width
=
"290px"
align
=
"left"
style
=
'padding: 0pt 0pt 0pt 10pt'
>
<
input
name
=
"f_nome"
type
=
"text"
id
=
"f_nome"
size
=
"50"
onChange
=
'fcPesquisar();'
style
=
"width:270px;"
>
</
td
>
<
td
>
<
input
type
=
"button"
name
=
"Submit"
value
=
"Pesquisar"
onclick
=
"fcPesquisar();"
onmouseover
=
"this.style.cursor='pointer'"
/>
</
td
>
</
tr
>
<
tr
width
=
"100%"
>
<
td
colspan
=
"2"
width
=
"290px"
align
=
"left"
style
=
'padding: 0pt 0pt 0pt 10pt'
>
<
select
size
=
"1"
name
=
"indices"
style
=
"width:275px;"
>
<%//Monta ComboBox com Indices da Pesquisa
If cConPad == "QUS"
For i:=1 to Len(aCamposSXB)
nIndice := aCamposSXB[i][6]
If nIndice == nInd%>
<
option
selected value="<%=nIndice%>"><%=aCamposSXB[i][1]%></
option
>
<%Else%>
<
option
value="<%=nIndice%>"><%=aCamposSXB[i][1]%></
option
>
<%Endif
Next i
Else
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
>
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas