// Funciones relacionadas con el tratamiento de las ventanas emergentes relacionadas con Gcatabla. // 1.- FUNCIÓN FuncioObreVista: Función para abrir vistas que accedan a Gcatabla de forma multilingüe. // 2.- FUNCIÓN FuncioObreVistaTitulaciones: Función para abrir las titulaciones de Gcatabla. // 3.- FUNCIÓN consultaCodificaciones: recoge los valores que devuelve Gcatabla y después vamos a la función que introducirá los valores // dependiendo del caso en el que nos encontramos. // 4.- FUNCIÓN SetContrato: Recuperamos el valor seleccionado en la vista de Contratos de la bd de tablas // 5.- FUNCIÓN SetCNAE: Recuperamos el valor seleccionado en la vista de CNAE de la bd de tablas // 6.- FUNCIÓN EpigrafeCat:Abrimos la vista de Epigrafes de la bd de Tablas // 7.- FUNCIÓN SetEPIGCat: Recuperamos el valor seleccionado en la vista de Epígrafes de la bd de tablas // 8.- FUNCIÓN SetMunicipio: Recuperamos el valor seleccionado en la vista de Municipios de la bd de tablas // 9.- FUNCIÓN SetAgente: Recuperamos el valor seleccionado en la vista de Agentes causantes de la bd de tablas // 10.- FUNCIÓN SetCNO: Recuperamos el valor seleccionado en la vista de CNOs de la bd de tablas // 11.- FUNCIÓN Paises: Abrimos la vista de Paises en la bd de Tablas // 12.- FUNCIÓN SetPaises: Recuperamos el valor seleccionado en la vista de Paises de la bd de tablas // 13.- FUNCIÓN onSelectTitulacion: Recuperamos el valor seleccionado en la vista de Titulaciones de la bd de tablas var TipoCampoPoblacion; //para especificar que campo recibe el codigo postal el SetMunicipio var TipoCampoVista; //para especificar que campo recibe de Gcatabla los valores que pueden ser castellano o catalán var CampDestiEpi; // per dir a on s'ha d'assignar l'epigraf var TipoPais; //para diferenciar diferentes Paises var cnaeEmp; // Función para abrir vistas que accedan a Gcatabla de forma multilingüe. function FuncioObreVista(valor) { switch (f.name.toUpperCase()) { case "_NEWSOC": case "NEWSOC": case "_DOCPROPASOC": case "DOCPROPASOC": case "_BAJA": case "BAJA": var idiomasol=IdiomaSolTx; break; case "_PINFF09": case "PINFF09": var idiomasol="SP"; break; default: var idiomasol=language; break; } var count=15; if(idiomasol=="CT") { var vista1= "(TodasCodificacionesPorCodigoCAT)"; var vista2="(TodasCodificacionesPorDescripcionCAT)"; switch (TipoCampoVista) { case "CNAE": var text="Seleccioni un CNAE:"; break; case "MunicipioPedania": var text="Seleccioni un Municipi/Pedania:"; break; case "Provincia": var text="Seleccioni una Província:"; break; case "ContratosTrabajo": var text="Seleccioni un Contracte:"; break; case "Epigrafe": var text="Seleccioni un Epígraf:"; count=2; break; default: var text="Seleccioni una codificació:"; break; } } else { var vista1= "(TodasCodificacionesPorCodigo)"; var vista2= "(TodasCodificacionesPorDescripcion)"; switch (TipoCampoVista) { case "CNAE": var text="Seleccione un CNAE:"; break; case "MunicipioPedania": var text="Seleccione un Municipio/Pedanía:"; break; case "Provincia": var text="Seleccione una Provincia:"; break; case "ContratosTrabajo": var text="Seleccione un Contrato:"; break; case "Epigrafe": var text="Seleccione un Epígrafe:"; count=2; break; default: var text="Seleccione una codificación:"; break; } } var url1="/"+ JSPRFLGcatabla + "/" + vista1 + "?OpenView"; var url2="/" + JSPRFLGcatabla + "/" + vista2 + "?OpenView"; var urlfinal="&Count="+ count +"&Codificacion="+ TipoCampoVista +"&CodDescr=" + Webstring2Unicode(text) + "&Filter=[form]=(" + TipoCampoVista + ")&Rnd="; var ancho = 750; var alto = 440; var x = (screen.width/2) - (ancho/2); var y = (screen.height/2) - (alto/2) - 20; var finalurl; if (valor!="") { finalurl = url1 + "&StartPos="+ valor; } else { finalurl = url2 + "&StartKey="+ TipoCampoVista; } SelBinderWin = window.open(finalurl + urlfinal, "SelBinderWin", "top=" + y + ",left=" + x + ",resizable=1,scrollbars=yes,width=" + ancho + ",height=" + alto); } //Función que sirve para abrir la vista de titulaciones en GCATABLA function FuncioObreVistaTitulaciones() { var idiomasol=language; if (idiomasol == "CT"){ var fin= "&Idioma=CAT&"; }else{ var fin ="&Idioma=CAS&"; } var urlfinal="/" + JSPRFLTextos + "/TEXTFO10?Openform" + fin; var finalurl=""; var ancho = 550; var alto = 300; var x = (screen.width/2) - (ancho/2); var y = (screen.height/2) - (alto/2) - 20; SelBinderWin = window.open(finalurl + urlfinal, "SelBinderWin", "top=" + y + ",left=" + x + ",resizable=1,scrollbars=yes,width=" + ancho + ",height=" + alto); } // Función que recoge los valores que devuelve Gcatabla y después vamos a la función que introducirá los valores dependiendo del caso. function consultaCodificaciones(texto,coddescr) { switch (TipoCampoVista) { case "CNAE": SetCNAE(coddescr); break; case "MunicipioPedania": var coddescrnuevo = replaceSubstring(coddescr, "&&","*"); SetMunicipio(coddescrnuevo); break; case "Provincia": SetProvincia(coddescr); break; case "ContratosTrabajo": SetContrato(coddescr); break; case "Epigrafe": var codigo = coddescr.substr(0, coddescr.indexOf("-")); var desc = coddescr.substr(coddescr.indexOf("-")+1); if (desc.indexOf("&&")!=-1) { var descripcion = desc.substr(0, desc.indexOf("&&")); var resto = desc.substr(desc.indexOf("&&")+2); var Div = resto.substr(0, resto.indexOf("&")); var resto2 = resto.substr(resto.indexOf("&")+1); var ILT = resto2.substr(0, resto2.indexOf("&")); resto = resto2.substr(resto2.indexOf("&")+1); var IMS = resto.substr(0, resto.indexOf("&")); resto2 = resto.substr(resto.indexOf("&")+1); var TOT = resto2.substr(0, resto2.indexOf("&")); } else { var descripcion = desc; var Div=""; var ILT=""; var IMS=""; var TOT=""; } SetEPIGCat(Div, ILT, IMS, TOT, codigo, descripcion); break; } } function SetContrato(Contrato) // Recuperamos el valor seleccionado en la vista de Contratos de la bd de tablas { var codigo = Contrato.substr(0, Contrato.indexOf("-")); var descripcion = Contrato.substr(Contrato.indexOf("-")+1); f.TipoCont.value = codigo; escriuaDIV ("RTContrato", codigo + " - " + descripcion); // En el Parte AT l'epigraf no es obligatori en alguns casos, aquest troç de codi canvia el color en aquests casos (inc. 313) if ((f.name =="_BajaAT") || (f.name =="BajaAT")) { if (ConsultarEpiObligatori()) { elem("IDDivEpiObli").style.color="orange"; } else { elem("IDDivEpiObli").style.color="blue"; } } } function SetCNAE(CNAE) // Recuperamos el valor seleccionado en la vista de CNAE de la bd de tablas { var codigo = CNAE.substr(0, CNAE.indexOf("-")); var descripcion = CNAE.substr(CNAE.indexOf("-")+1); switch (f.name) { case "_DocPropAsocEd": case "DocPropAsocEd": f.CodCNAE.value = codigo; f.CNAE.value = descripcion; elem("RCodCNAE").innerHTML= codigo + " - " + descripcion; break; case "_Afiliacion": case "Afiliacion": f.WActiv.value = codigo; elem("DspWActiv").innerHTML= codigo + " - "; f.Act.value = descripcion; break; case "_PINFF08": case "PINFF08": f.CODCNAETX.value = codigo; elem("DIVDESCCNAETX").innerHTML= descripcion; f.DESCCNAETX.value = descripcion; //InicializarImportes(); break; case "_PINFFO05": case "PINFFO05": f.CODCNAETX.value = codigo; elem("DIVDESCCNAETX").innerHTML= descripcion; f.DESCCNAETX.value = descripcion; //InicializarImportes(); break; case "_PINFF09": case "PINFF09": f.CoAcSoAsTx.value = codigo; elem("DIVDESCCNAETX").innerHTML= descripcion; f.DeAcSoAsTx.value = descripcion; break; case "_SINIF02": case "SINIF02": if(cnaeEmp==1) { elem("DspCNAECO").innerText=codigo; elem("DspCNAEDE").innerText=descripcion; f.Actividad.value=codigo+" - "+descripcion; } else { f.CET2CNCOTX.value = codigo; //elem("DIVDESCCNAETX").innerHTML= descripcion; f.CETCNDETX.value = descripcion; } break; case "_PINFF18": case "PINFF18": f.EmprCNAETx.value = codigo; elem("DIVEmprCNAE").innerHTML = descripcion; break; default: f.WActiv.value = codigo; f.WActD.value = descripcion; break; } } function EpigrafeCat(CampDesti) // Abrimos la vista de Epigrafes de la bd de Tablas { // S'asigna a una variable global per saber on haurá de retornar el valor la finestra que ara s'obrirá CampDestiEpi=CampDesti; switch (CampDestiEpi) { case "EpigrafePrima": // BajaAT var cod=f.EpigrafePrima.value; f.EpigrafeDescr.value=f.DivPrima.value=""; break; case "Numero": // Principal PropAsoc/Ed var cod=f.Numero.value; f.Epigrafe.value=f.ILTPral.value=f.IMSPral.value=f.TOTALPral.value=f.DivisionPral.value=""; break; case "NumeroC": // Complementari PropAsoc/Ed cod = f.NumeroC.value; f.EpigrafeC.value=f.ILTC.value=f.IMSC.value=f.TOTALC.value=f.DivisionC.value=""; break; default: alert ("CampDesti incorrecto ("+ CampDestiEpi+")"); return; break; } TipoCampoVista="Epigrafe"; FuncioObreVista(cod); } function SetEPIGCat(Div,Ilt,Ims,Tot,Codigo,Descr) // Recuperamos el valor seleccionado en la vista de Epigrafes de la bd de GCATABLA.NSF { switch (CampDestiEpi) { case "EpigrafePrima": // BajaAT f.EpigrafePrima.value=Codigo; f.EpigrafeDescr.value=Descr; f.DivPrima.value = Div; break; case "Numero": // Principal PropAsoc/Ed if (comprobarPral(Codigo)) return; f.Numero.value = Codigo; f.Epigrafe.value = Descr; f.DivisionPral.value = Div; f.ILTPral.value = Ilt; f.IMSPral.value = Ims; f.TOTALPral.value = Tot; break; case "NumeroC": // Complementari PropAsoc/Ed if (comprobarPral(Codigo) | comprobarComp(Codigo)) return; f.NumeroC.value = Codigo; f.EpigrafeC.value= Descr; f.DivisionC.value = Div; f.ILTC.value = Ilt; f.IMSC.value = Ims; f.TOTALC.value = Tot; break; default: alert ("CampDesti incorrecto ("+ CampDestiEpi+")"); } CampDestiEpi="No especificat" } // Recuperamos el valor seleccionado en la vista de Provincias de la bd de tablas function SetMunicipio(Municipio) { var codigo = Municipio.substr(0, Municipio.indexOf("-")); var descripcion = Municipio.substr(Municipio.indexOf("-")+1,Municipio.indexOf("*")-Municipio.indexOf("-")-1); var prov=Municipio.substr(Municipio.indexOf("*")+1,Municipio.indexOf("{")-Municipio.indexOf("*")-1); var pos=Municipio.indexOf(";") var CP=Municipio.substr(Municipio.indexOf("{")+1,pos-Municipio.indexOf("{")-1); // S'afegeix al final per fer Localidad, LocalidadCen, LocalidadEmp ... var NomCamps; switch (TipoCampoPoblacion) { case "T": NomCamps="";break; case "E": NomCamps="Emp";break; case "C": NomCamps="Cen";break; case "B": NomCamps="Ben";break; case "A": NomCamps="Acc";break; //Accidente fuera trabajo case "O": NomCamps="OCn";break; //Otro Centro Empresa default: //alert ("Tipo de campo no definido (Tipo=" + tipo+")");return;break; alert ("Tipo de campo no definido");return;break; } f.elements["Provincia"+NomCamps].value = codigo.substr(0,2)+"-"+prov; f.elements["DspLocalidad"+NomCamps].value = codigo; if (NomCamps=="Acc") { f.elements["Localidad"+NomCamps].value = descripcion; } else { f.elements["Localidad"+NomCamps].value = codigo + "-" + descripcion; } while (f.elements["CP"+NomCamps].options.length>0) f.elements["CP"+NomCamps].options[0] = null; var i; var ArrCP = Municipio.substring(Municipio.indexOf("{")+1,Municipio.lastIndexOf(";")).split(";"); if (ArrCP.length <= 1) { f.elements["CP"+NomCamps].options[0] = new Option(ArrCP[0],ArrCP[0],true,false); } else { // Si té mes d'un CP fica un en blanc primer i despres la llista f.elements["CP"+NomCamps].options[0] = new Option("",""); f.elements["CP"+NomCamps].options[0].selected = true; for ( i=0; i < ArrCP.length; i++) { f.elements["CP"+NomCamps].options[i+1] = new Option(ArrCP[i],ArrCP[i]); } } f.elements["CP"+NomCamps].options[0].selected = true; //fin de añadir los nuevos CP f.elements["Localidad"+NomCamps].size=f.elements["Localidad"+NomCamps].value.length; if ((f.name=="_SINIF02") || (f.name=="SINIF02")) { //Para evitar los problemas de CP cuando realizamos un history.back en Siniestros if (ArrCP.length <= 1) { switch (TipoCampoPoblacion) { case "T": f.TemporalCP.value=ArrCP[0];break; case "A": f.TemporalCPAcc.value=ArrCP[0];break; //Accidente fuera trabajo case "O": f.TemporalCPOCn.value=ArrCP[0];break; //Otro Centro Empresa } } else { switch (TipoCampoPoblacion) { case "T": f.TemporalCP.value="";break; case "A": f.TemporalCPAcc.value="";break; //Accidente fuera trabajo case "O": f.TemporalCPOCn.value="";break; //Otro Centro Empresa } } } } function SetAgente(Epi) { var codigo = Epi.substr(0, Epi.indexOf("-")); var descripcion = Epi.substr(Epi.indexOf("-")+1); f.CodCausanteAcc.value = codigo; elem("RTCodCausante").innerHTML = codigo + " - " + descripcion; f.Campo.value="cFormaAcc"; } function SetCNO(CodOcup) // Recuperamos el valor seleccionado en la vista de CNOs de la bd de tablas { var codigo = CodOcup.substr(0, CodOcup.indexOf("-")); var descripcion = CodOcup.substr(CodOcup.indexOf("-")+1); f.CodOcupacion.value = codigo; if ((f.name == "_BajaAT") || (f.name == "BajaAT")) { elem ("RTOcupacion").innerHTML = codigo + "-" + descripcion; } else { elem ("RTOcupacion").innerHTML = codigo + "-" + descripcion; } f.Ocupacion.value = codigo + "-" + descripcion; } function Paises(vPaises) { var ancho = 750; var alto = 440; var x = (screen.width/2) - (ancho/2); var y = (screen.height/2) - (alto/2) - 20; var finalurl; var newurl = "/" + JSPRFLGcatabla + "/(Ayudas)/FormPaises?OpenDocument&Ayuda&Start=1"; var newurl2 = "/"+ JSPRFLGcatabla + "/(Ayudas)/FormPaises2?OpenDocument&Ayuda&Start=1"; contrato= f.TipoCont.value; if (contrato!="") { finalurl = newurl + "&StartKey="+ contrato; } else { finalurl = newurl2; } SelBinderWin = window.open(finalurl, "SelBinderWin", "top=" + y + ",left=" + x + ",resizable=1,scrollbars=yes,width=" + ancho + ",height=" + alto); } function SetPaises(vPaises) { switch (TipoPais) { case "A": var codigo = vPaises.substr(0, vPaises.indexOf("-")); var descripcion = vPaises.substr(vPaises.indexOf("-")+1); f.CEACPACOTX.value = codigo; //f.CEACPADTTX.value = codigo + "-" + descripcion; f.CEACPADTTX.value = descripcion; break; case "T": var codigo = vPaises.substr(0, vPaises.indexOf("-")); var descripcion = vPaises.substr(vPaises.indexOf("-")+1); f.TRPAISCOTX.value = codigo; f.TRPAISDETX.value = descripcion; break; default: alert ("Tipo de campo no definido (Tipo=" + TipoPais+")");return;break; } } function onSelectTitulacion( Tipo, Titulo, Especialidad, otrosEspecialidad, Homologacion ) { var codigo = Tipo.substr(0, Tipo.indexOf("&")); var descripcion = Tipo.substr(Tipo.indexOf("&")+1); f.FoTipoTx.value = descripcion; f.FoTipoCodTx.value = codigo; var codigo = Titulo.substr(0, Titulo.indexOf("&")); var descripcion = Titulo.substr(Titulo.indexOf("&")+1); f.FoTituTx.value = descripcion; f.FoTituCodTx.value = codigo; var codigo = Especialidad.substr(0, Especialidad.indexOf("&")); var descripcion = Especialidad.substr(Especialidad.indexOf("&")+1); if (descripcion == ""){ f.FoEspeTx.value = " "; f.FoEspeCodTx.value = " "; f.FoEspeOtraTx.value = " "; } else { if (otrosEspecialidad == "") { f.FoEspeTx.value = descripcion; f.FoEspeCodTx.value = codigo; f.FoEspeOtraTx.value = " "; } else { f.FoEspeTx.value = otrosEspecialidad; f.FoEspeCodTx.value = codigo; f.FoEspeOtraTx.value = otrosEspecialidad; } } f.FoHomologacionTx.value = Homologacion; }