arquivo JS tem 2 segue os 2, pela minha analise bem leiga eu acho q ele monta no javascript 2.. mais eu preciso verificar como q ele pega o action dele.. porque é la q eu preciso alterar como q ele ta passando o parametro.. tipo.. do jeito q ta ele monta o form com o action assim... action="http://fab-n-0001/sapiensweb/conector.exe?ACAO=EXEPESQ" e precisava q fosse action="http://fab-n-0001/sapiensweb/conector.exe?SIS=CO&LOGIN=SID&ACAO=EXESENHA&NOMUSU=suporte&SENUSU=suporte&PROXACAO=EXEPESQ" function Pesquisa(sis, table, fieldret, filterfields, whereclause, title, text, sql,titulo,order)
{
if (sql)
{
sql = "(Upper(NumberToStr(" + sql + ")) LIKE '%#%')";
}
var strAux;
var i;
var lstCamposBase = new Array();
var lstCamposTela = new Array();
var lstCamposBaseRet = new Array();
var lstCamposTelaRet = new Array();
var strPesquisa;
var strCamposBase = "";
var j;
var curCampo;
var index;
curCampo = 0;
var fillfields="";
var strFieldRet="";
var strFieldName="";
var isDate = false;
var isTime = false;
var retorno = "";
var isFieldId = false;
var fieldId;
i = fieldret.indexOf(',', fieldret);
while (i != -1)
{
strAux = fieldret.substring(0, i);
j = strAux.indexOf('/', strAux);
if (j != -1)
{
lstCamposBaseRet[curCampo] = strAux.substring(0, j);
lstCamposTelaRet[curCampo] = strAux.substring(j + 1, 9999);
}
else
{
lstCamposBaseRet[curCampo] = strAux;
lstCamposTelaRet[curCampo] = strAux;
}
curCampo += 1;
fieldret = fieldret.substring(i + 1, 9999);
i = fieldret.indexOf(',', strPesquisa);
}
for(x=0; x < curCampo; x++)
{
strFieldRet = strFieldRet + lstCamposTelaRet[x] + ',';
strFieldName = strFieldName + lstCamposBaseRet[x] + ',';
}
curCampo = 0;
strPesquisa=filterfields;
i = strPesquisa.indexOf(',', strPesquisa);
while (i != -1)
{
strAux = strPesquisa.substring(0, i);
j = strAux.indexOf('/', strAux);
if (j != -1)
{
lstCamposBase[curCampo] = strAux.substring(0, j);
lstCamposTela[curCampo] = strAux.substring(j + 1, 9999);
}
else
{
lstCamposBase[curCampo] = strAux;
lstCamposTela[curCampo] = strAux;
}
curCampo += 1;
strPesquisa = strPesquisa.substring(i + 1, 9999);
i = strPesquisa.indexOf(',', strPesquisa);
}
strPesquisa = '';
for(x=0; x < curCampo; x++)
{
i = lstCamposBase[x].indexOf('TODATE(', lstCamposBase[x]);
if (i != -1)
{
var posFim = lstCamposBase[x].indexOf(')', lstCamposBase[x]);
lstCamposBase[x] = lstCamposBase[x].substring(i + 7, posFim);
isDate = true;
}
else
isDate = false;
i = lstCamposBase[x].indexOf('TOTIME(', lstCamposBase[x]);
if (i != -1)
{
var posFim = lstCamposBase[x].indexOf(')', lstCamposBase[x]);
lstCamposBase[x] = lstCamposBase[x].substring(i + 7, posFim);
isTime = true;
}
else
isTime = false;
isFieldId = (document.getElementById("id" + lstCamposTela[x]) != null);
if(isFieldId)
{fieldId = document.getElementById("id" + lstCamposTela[x]).value; }
else
{fieldId = document.forms[0].elements[lstCamposTela[x]].value; }
if (fieldId != '')
{
if(strPesquisa != '')
strPesquisa = strPesquisa + "%20" + 'AND' + "%20";
strAux = lstCamposBase[x].substring(0, 1);
if(strAux == 's')
lstCamposBase[x] = lstCamposBase[x].substring(1,9999);
strPesquisa = strPesquisa + lstCamposBase[x] + '=';
if(isFieldId)
{fieldId = document.getElementById("id" + lstCamposTela[x]).type;}
else
{fieldId = document.forms[0].elements[lstCamposTela[x]].type;}
if (fieldId == 'select-one')
{
if(isFieldId)
{index = document.getElementById("id" + lstCamposTela[x]).selectedIndex;
fieldId = document.getElementById("id" + lstCamposTela[x]).options[index].value;}
else
{index = document.forms[0].elements[lstCamposTela[x]].selectedIndex;
fieldId = document.forms[0].elements[lstCamposTela[x]].options[index].value};
strPesquisa = strPesquisa + fieldId;
}
else
{
if(isFieldId)
{fieldId = document.getElementById("id" + lstCamposTela[x]).value;}
else
{fieldId = document.forms[0].elements[lstCamposTela[x]].value};
if (isDate)
strPesquisa = strPesquisa + 'TODATE(' + fieldId + ')';
else
if (isTime)
strPesquisa = strPesquisa + 'TOTIME(' + fieldId + ')';
else
strPesquisa = strPesquisa + fieldId;
}
}
}
var strPesquisa2 ='';
if(title.length > 0)
{
retorno = window.prompt(title, text);
if(retorno != null)
{
retorno = retorno.toUpperCase();
i = sql.indexOf('#', sql);
if (i != -1)
{
strPesquisa2 = sql.substring(0, i);
strPesquisa2 = strPesquisa2 + retorno;
j = sql.indexOf('/', sql);
if (j == -1)
j = 9997;
strPesquisa2 = strPesquisa2 + sql.substring(i + 1, j);
sql = sql.substring (j+1,9999);
i = sql.indexOf('#', sql);
while (i != -1)
{
strPesquisa2 = strPesquisa2 + 'OR*' + sql.substring(0, i);
strPesquisa2 = strPesquisa2 + retorno;
j = sql.indexOf('/', sql);
if (j == -1)
j = 9997;
strPesquisa2 = strPesquisa2 + sql.substring(i + 1, j);
sql = sql.substring (j+1,9999);
i = sql.indexOf('#', sql);
}
}
}
} else
if (sql.length > 0) {
strPesquisa2 = sql;
}
for(x=0; x < curCampo; x++)
{
fillfields = fillfields + lstCamposTela[x] + ',';
strCamposBase = strCamposBase + lstCamposBase[x] + ',';
}
title = escape (title);
text = escape (text);
whereclause = escape (whereclause);
strPesquisa2 = escape (strPesquisa2);
titulo = escape (table.toUpperCase(table));
order = escape (order);
var url="http://fab-n-0001/sapiensweb/conector.exe?LOGIN=SID&ACAO=EXESENHA&NOMUSU=suporte&SENUSU=suporte&PROXACAO=EXEPESQ&STATUS=INICIAR&SIS=" + sis + "&TABLE=" + table + "&FIELDNAME=" + strFieldName + "&FIELDRET=" + strFieldRet + "&FILTERFIELDS=" + strPesquisa + "&FILLFIELDS=" + fillfields + "&BASEFIELDS=" + strCamposBase +"&WHERECLAUSE=" + whereclause + "&TITULO=" + titulo + "&ORDER=" + order + "&SQL=" + strPesquisa2;
if((retorno != null) | (title.length == 0))
window.open(url, 'pesquisa', 'dependent=yes,scrollbars,resizable,width=750,height=450,screenTop=0,screenLeft=0,titlebar=yes')
}
javascript_2
//** NÃO CHAMAR ESTE MÉTODO DE FORA DO PESQUISA_2.JS
//acrescenta um parâmetro e um valor à tela de pesquisa
function createHiddenInputPesq_2(aDoc, aName, aValue){
var xResult;
xResult = aDoc.createElement('input');
xResult.setAttribute('name', aName);
xResult.setAttribute('type', 'hidden');
xResult.setAttribute('value', aValue);
return xResult;
}
//variáveis globais usadas para passar os parâmetros para o form de pesquisa sem precisar colocar tudo em uma String e passar como parâmetro
var vSource2;
var vSis2;
var vStrFieldName2;
var vStrFieldRet2;
var vStrPesquisa2;
var vFillfields2;
var vStrCamposBase2;
var vFields2;
var vLinkfield2;
var vTables2;
var vWhereclause2;
var vTitulo2;
var vOrder2;
var vNompsq2;
var vSourceform2;
var vAbr2;
var vSqlPesquisa2;
var vWFParams = "";
var vtag;
//** NÃO CHAMAR ESTE MÉTODO DE FORA DO PESQUISA_2.JS
//Método usado pelo PesqForm (form criado dinamicamente em PerformPesq_2) para armazenar os parâmetros e valores a serem passados para a aplicação
function loadParamsPesq_2(aDoc){
var xForm;
//xForm = aDoc.getElementById('PesqForm');
//xForm.appendChild(createHiddenInputPesq_2(aDoc, 'LOGIN', 'SID'));
//xForm.appendChild(createHiddenInputPesq_2(aDoc, 'ACAO', 'EXESENHA'));
//xForm.appendChild(createHiddenInputPesq_2(aDoc, 'NOMUSU', 'suporte'));
//xForm.appendChild(createHiddenInputPesq_2(aDoc, 'SENUSU', 'suporte'));
//xForm.appendChild(createHiddenInputPesq_2(aDoc, 'PROXACAO', 'PesqForm'));
xForm.appendChild(createHiddenInputPesq_2(aDoc, 'SOURCE', vSource2));
xForm.appendChild(createHiddenInputPesq_2(aDoc, 'STATUS', 'INICIAR'));
xForm.appendChild(createHiddenInputPesq_2(aDoc, 'SIS', vSis2));
xForm.appendChild(createHiddenInputPesq_2(aDoc, 'FIELDNAME', vStrFieldName2));
xForm.appendChild(createHiddenInputPesq_2(aDoc, 'FIELDRET', vStrFieldRet2));
xForm.appendChild(createHiddenInputPesq_2(aDoc, 'FILTERFIELDS', vStrPesquisa2));
xForm.appendChild(createHiddenInputPesq_2(aDoc, 'FILLFIELDS', vFillfields2));
xForm.appendChild(createHiddenInputPesq_2(aDoc, 'BASEFIELDS', vStrCamposBase2));
xForm.appendChild(createHiddenInputPesq_2(aDoc, 'FIELDS', vFields2));
xForm.appendChild(createHiddenInputPesq_2(aDoc, 'LINKFIELD', vLinkfield2));
xForm.appendChild(createHiddenInputPesq_2(aDoc, 'TABLES', vTables2));
xForm.appendChild(createHiddenInputPesq_2(aDoc, 'WHERECLAUSE', vWhereclause2));
xForm.appendChild(createHiddenInputPesq_2(aDoc, 'TITULO', vTitulo2));
xForm.appendChild(createHiddenInputPesq_2(aDoc, 'ORDER', vOrder2));
xForm.appendChild(createHiddenInputPesq_2(aDoc, 'NOMPSQ', vNompsq2));
xForm.appendChild(createHiddenInputPesq_2(aDoc, 'SOURCEFORM', vSourceform2));
xForm.appendChild(createHiddenInputPesq_2(aDoc, 'ABR', vAbr2));
xForm.appendChild(createHiddenInputPesq_2(aDoc, 'SQL', vSqlPesquisa2));
if (vWFParams != "") //Somente deve ser enviado caso existam valores - Excluivo para Workflow
xForm.appendChild(createHiddenInputPesq(aDoc, 'WFPARAMS', vWFParams));
xForm.appendChild(createHiddenInputPesq_2(aDoc, 'TAG', vtag));
xForm.submit();
}
//** NÃO CHAMAR ESTE MÉTODO DE FORA DO PESQUISA_2.JS
//Formata os parâmetros da pesquisa de acordo com o método de request
function FormatFieldsPesq_2ForMethod(method, source, sis, fieldret, filterfields, fields, tables, whereclause, titulo, order, nompsq, sourceform, title, text, sql, linkfield, tag){
var lstCamposBaseRet = new Array();
var lstCamposTelaRet = new Array();
var lstCamposBase = new Array();
var lstCamposTela = new Array();
var strFieldRet="";
var strFieldName="";
var strPesquisa;
var strCamposBase = "";
var strAux;
var i;
var j;
var curCampo;
var fillfields="";
var retorno;
var isGetMethod = method == 'GET';
var isPostMethod = method == 'POST';
var result = true;
if (!source)
source='';
if (!linkfield)
linkfield = '';
if (!tag)
tag = '';
curCampo = 0;
i = fieldret.indexOf(',');
while (i != -1){
strAux = fieldret.substring(0, i);
j = strAux.indexOf('/');
if (j != -1){
lstCamposBaseRet[curCampo] = strAux.substring(0, j);
lstCamposTelaRet[curCampo] = strAux.substring(j + 1, 9999);
} else {
lstCamposBaseRet[curCampo] = strAux;
lstCamposTelaRet[curCampo] = strAux;
}
curCampo += 1;
fieldret = fieldret.substring(i + 1, 9999);
i = fieldret.indexOf(',');
}
for(x=0; x < curCampo; x++){
strFieldRet = strFieldRet + lstCamposTelaRet[x] + ',';
strFieldName = strFieldName + lstCamposBaseRet[x] + ',';
}
curCampo = 0;
strPesquisa = filterfields;
i = strPesquisa.indexOf(',');
while (i != -1){
strAux = strPesquisa.substring(0, i);
j = strAux.indexOf('/');
if (j != -1){
lstCamposBase[curCampo] = strAux.substring(0, j);
lstCamposTela[curCampo] = strAux.substring(j + 1, 9999);
} else{
lstCamposBase[curCampo] = strAux;
lstCamposTela[curCampo] = strAux;
}
curCampo += 1;
strPesquisa = strPesquisa.substring(i + 1, 9999);
i = strPesquisa.indexOf(',');
}
for(x=0; x < curCampo; x++){
isTime = false;
isDate = false;
i = lstCamposBase[x].indexOf('TODATE(');
if (i != -1){
var posFim = lstCamposBase[x].indexOf(')');
lstCamposBase[x] = lstCamposBase[x].substring(i + 7, posFim);
isDate = true;
} else{
i = lstCamposBase[x].indexOf('TOTIME(');
if (i != -1){
var posFim = lstCamposBase[x].indexOf(')');
lstCamposBase[x] = lstCamposBase[x].substring(i + 7, posFim);
isTime = true;
}
}
if (document.forms[0].elements[lstCamposTela[x]].value != ''){
if(strPesquisa != '') {
if (isGetMethod)
strPesquisa = strPesquisa + "%20" + 'AND' + "%20";
else
strPesquisa = strPesquisa + " AND ";
}
strAux = lstCamposBase[x].substring(0, 1);
if(strAux == 's')
lstCamposBase[x] = lstCamposBase[x].substring(1,9999);
strPesquisa = strPesquisa + lstCamposBase[x] + '=';
if (document.forms[0].elements[lstCamposTela[x]].type == 'select-one'){
index = document.forms[0].elements[lstCamposTela[x]].selectedIndex;
strPesquisa = strPesquisa + document.forms[0].elements[lstCamposTela[x]].options[index].value;
} else{
if(strAux == 's'){
if (isGetMethod)
strPesquisa = strPesquisa + "%27";
else
strPesquisa = strPesquisa + "'";
}
if (isDate)
strPesquisa = strPesquisa + 'TODATE(' + document.forms[0].elements[lstCamposTela[x]].value + ')';
else if (isTime)
strPesquisa = strPesquisa + 'TOTIME(' + document.forms[0].elements[lstCamposTela[x]].value + ')';
else
strPesquisa = strPesquisa + document.forms[0].elements[lstCamposTela[x]].value;
if(strAux == 's'){
if (isGetMethod)
strPesquisa = strPesquisa + "%27";
else
strPesquisa = strPesquisa + "'";
}
}
}
}
for(x=0; x < curCampo; x++){
fillfields = fillfields + lstCamposTela[x] + ',';
strCamposBase = strCamposBase + lstCamposBase[x] + ',';
}
i = tables.indexOf('*');
if (i != -1){
abr = 'S';
tables = tables.substring(i + 1, 9999);
} else{
abr = 'N';
}
var strPesquisa2 ='';
if(title.length > 0){
retorno = window.prompt(title, text);
if(retorno == null){
result = false;
} else{
retorno = retorno.toUpperCase();
i = sql.indexOf('#');
if (i != -1){
strPesquisa2 = sql.substring(0, i);
strPesquisa2 = strPesquisa2 + retorno;
j = sql.indexOf('/');
if (j == -1)
j = 9997;
strPesquisa2 = strPesquisa2 + sql.substring(i + 1, j);
sql = sql.substring (j+1,9999);
i = sql.indexOf('#');
while (i != -1){
if (isGetMethod)
strPesquisa2 = strPesquisa2 + "%20" + 'OR*' + "%20" + sql.substring(0, i);
else
strPesquisa2 = strPesquisa2 + " OR* " + sql.substring(0, i);
strPesquisa2 = strPesquisa2 + retorno;
j = sql.indexOf('/');
if (j == -1)
j = 9997;
strPesquisa2 = strPesquisa2 + sql.substring(i + 1, j);
sql = sql.substring (j+1,9999);
i = sql.indexOf('#');
}
}
}
} else if (sql.length > 0){
strPesquisa2 = sql;
}
if (result){
vSource2 = source;
vSis2 = sis;
vStrFieldName2 = strFieldName;
vStrFieldRet2 = strFieldRet;
vStrPesquisa2 = strPesquisa;
vFillfields2 = fillfields;
vStrCamposBase2 = strCamposBase;
vFields2 = fields;
vLinkfield2 = linkfield;
vTables2 = tables;
vWhereclause2 = whereclause;
vTitulo2 = titulo;
vOrder2 = order;
vNompsq2 = nompsq;
vSourceform2 = sourceform;
vAbr2 = abr;
vSqlPesquisa2 = strPesquisa2;
vtag = tag;
}
return result;
}
//Método mantido para compatibilidade com scripts de sistema e páginas personalizadas.
//Este método retorna uma String com os parâmetros e valores formatados para ser usada em requests com método GET, e não deve ser usado a partir da versão 14 do conector.exe.
function FormatFieldsPesq_2(sis, fieldret, filterfields, fields, tables, whereclause, titulo, order, nompsq, sourceform, title, text, sql, linkfield){
if (FormatFieldsPesq_2ForMethod('GET', '', sis, fieldret, filterfields, fields, tables, whereclause, titulo, order, nompsq, sourceform, title, text, sql, linkfield)) {
vTitle2 = escape(vTitle2);
vText2 = escape(vText2);
vStrPesquisa2 = escape(vStrPesquisa2);
vTitulo2 = escape(vTitulo2);
vOrder2 = escape(vOrder2);
return "LOGIN=SID&ACAO=EXESENHA&NOMUSU=suporte&SENUSU=suporte&STATUS=INICIAR&SIS=" + vSis2 + "&FIELDNAME=" + vStrFieldName2 + "&FIELDRET=" + vStrFieldRet2 + "&FILTERFIELDS=" + vStrPesquisa2 + "&FILLFIELDS=" + vFillfields2 + "&BASEFIELDS=" + vStrCamposBase2 + "&FIELDS=" + vFields2 + "&LINKFIELD=" + vLinkfield2 + "&TABLES=" + vTables2 + "&WHERECLAUSE=" + vWhereclause2 + "&TITULO=" + vTitulo2 + "&ORDER=" + vOrder2 + "&NOMPSQ=" + vNompsq2 + "&SOURCEFORM=" + vSourceform2 + "&ABR=" + vAbr2 + "&SQL=" + vSqlPesquisa2;
} else {
return "";
}
}
//** NÃO CHAMAR ESTE MÉTODO DE FORA DO PESQUISA_2.JS
//Cria e chama a tela de pesquisa.
//Método a ser usado apenas internamente pelos métodos Pesquisa_2 e NewPesqAction.
function PerformPesq_2(action, sis, fieldret, filterfields, fields, tables, whereclause, titulo, order, nompsq, sourceform, title, text, sql, source, linkfield, tag, customParams) {
if (FormatFieldsPesq_2ForMethod('POST', source, sis, fieldret, filterfields, fields, tables, whereclause, titulo, order, nompsq, sourceform, title, text, sql, linkfield, tag)){
pesquisa =
'<html>'+
' <head>'+
' <title>Pesquisa</title>'+
' </head>'+
' <body onload="java script:parent.opener.loadParamsPesq_2(document)">'+
' <form id="PesqForm" method="post" action="http://fab-n-0001/conector.exe?SIS=CO&LOGIN=SID&ACAO=EXESENHA&NOMUSU=suporte&SENUSU=suporte&PROXACAO='+ action + customParams +'">'+
' </form>'+
' </body>'+
'</html>';
window.open('java script:parent.opener.pesquisa', 'pesquisa', 'dependent=yes,scrollbars,resizable,');
}
}
//Executa a ação de pesquisa (EXEPESQ_2)
function Pesquisa_2(sis, fieldret, filterfields, fields, tables, whereclause, titulo, order, nompsq, sourceform, title, text, sql, source, linkfield, tag) {
PerformPesq_2('EXEPESQ_2', sis, fieldret, filterfields, fields, tables, whereclause, titulo, order, nompsq, sourceform, title, text, sql, source, linkfield, tag, "");
}
function mountWFParam(flowName) {
if (flowName) {
vWFParams = "<?xml version=\'1.0\' encoding=\'ISO-8859-1\'?><workflow><input><field name=\'FLOWNAME\'>" + flowName + "</field></input></workflow>";
} else {
vWFParams = "";
}
}
function Pesquisa_2WF(sis, fieldret, filterfields, fields, tables, whereclause, titulo, order, nompsq, sourceform, title, text, sql, source, linkfield, tag, flowName) {
/*
Seta a variável vWFParams para que o nome do fluxo seja passado como parâmetro para a aplicação e, desta maneira,
sejam carregadas automaticamente as abrangências do fluxo para o substituto quando houver um substituto.
Com isso, sempre que for chamado uma tela do PesquisaWF, deve-se informar o nome correto do fluxo para que suas
abrangências sejam carregadas, caso contrário, o usuário não receberá as permissões de visualizar os valores
definidos no cadastro de "Substitutos do Workflow"
*/
mountWFParam(flowName);
PerformPesq_2('EXEPESQ_2', sis, fieldret, filterfields, fields, tables, whereclause, titulo, order, nompsq, sourceform, title, text, sql, source, linkfield, tag, "");
}
//Permite executar uma nova ação (parâmetro "action") como se fosse uma pesquisa (Ex.: CHAVEESTFORM do Vetorh) sem que o sistema precise replicar um monte de código deste script.
function NewPesqAction(action, sis, fieldret, filterfields, fields, tables, whereclause, titulo, order, nompsq, sourceform, title, text, sql, source, linkfield, tag, flowName, customParams) {
mountWFParam(flowName);
PerformPesq_2(action, sis, fieldret, filterfields, fields, tables, whereclause, titulo, order, nompsq, sourceform, title, text, sql, source, linkfield, tag, customParams);
}