Está en la página 1de 6

MAIN.

GS
//************************** Función llama a el HTML *************************************************************

function doGet(e) {
Logger.log( Utilities.jsonStringify(e) );

if (!e.parameter.page) {
// Cuando no se especifica una página, retorna "Pagina de inicio"
return HtmlService.createTemplateFromFile('Index').evaluate();
}
// sino, usa los parametros recogidos desde el script en un archivo HTML
var template = HtmlService.createTemplateFromFile(e.parameter.page)
template.action = ScriptApp.getService().getUrl();
return template.evaluate();
}

//************* Función que busca en la Sheet (Como BD) y retorna valor fila**************************************

function buscaReturnRow(sId){

//Variables para determinar las hojas de calculos (Reemplazar el ID de la hoja)

var hojaCalculo = SpreadsheetApp.openById("1vew9EOnb2vmaf2JYLItNn98r4IEK3dd9MLS0v9j-XvU");


var hojaDatos = hojaCalculo.getSheetByName('Datos');

var numColumns = hojaDatos.getLastColumn();


var ultimaFila = hojaDatos.getLastRow();
var sw = 0;

var row = hojaDatos.getRange(1, 1, ultimaFila, numColumns).getValues();

for (var i = 1; i < row.length; i++) {


for (var col = 0; col < row[i].length; col++) {
var id = row[i][2].toString();
if (sId == id){
var indice = i+1;
sw = 1;
}
}
}
if (sw == 1){
return indice;
}
}

//******* Función que busca en la Sheet (Como BD) y retorna la información en una fila y columna especifica*********

function buscaEnSheet(sId, columna){

var hojaCalculo = SpreadsheetApp.openById("1vew9EOnb2vmaf2JYLItNn98r4IEK3dd9MLS0v9j-XvU");


var hojaDatos = hojaCalculo.getSheetByName('Datos');

var numColumns = hojaDatos.getLastColumn();


var ultimaFila = hojaDatos.getLastRow();
var sw = 0;
var row = hojaDatos.getRange(1, 1, ultimaFila, numColumns).getValues();

for (var i = 1; i < row.length; i++) {


for (var col = 0; col < row[i].length; col++) {
var id = row[i][2].toString();
if (sId == id){
var indice = i+1;
sw = 1;
}
}
}
if (sw == 1){
var info = hojaDatos.getRange(indice, columna).getValue();
return info;
}
}

// ********************** Función que guarda los datos en la Sheet **************************************************

function procesaFormDatosPersona(e){

var sNombre = e.nombre;


var sApellido = e.apellido;
var sId = e.id;
var sSexo = e.sexo;
var sDirreccion = e.direccion;
var sCelular = e.celular;

var hojaCalculo = SpreadsheetApp.openById("1vew9EOnb2vmaf2JYLItNn98r4IEK3dd9MLS0v9j-XvU");


var hojaDatos = hojaCalculo.getSheetByName('Datos');
var ultimaFila = hojaDatos.getLastRow();

hojaDatos.getRange(ultimaFila+1, 1).setValue(sNombre);
hojaDatos.getRange(ultimaFila+1, 2).setValue(sApellido);
hojaDatos.getRange(ultimaFila+1, 3).setValue(sId);
hojaDatos.getRange(ultimaFila+1, 4).setValue(sSexo);
hojaDatos.getRange(ultimaFila+1, 5).setValue( sDirreccion);
hojaDatos.getRange(ultimaFila+1, 6).setValue( sCelular);

// ****************** Función que devuelve los nombre (Fila numero 1)***********************************************

function getNombresSS(e){
var sId = e.id;
return buscaEnSheet(sId, 1);
}

// ******************** Función que devuelve los apellidos (Fila numero 2)*******************************************

function getApellidosSS(e){
var sId = e.id;
return buscaEnSheet(sId, 2);
}

// ******************* Función que devuelve el sexo (Fila numero 4) *************************************************


function getSexoSS(e){
var sId = e.id;
return buscaEnSheet(sId, 4);
}

// ******************* Función que devuelve la dirección (Fila numero 5) *********************************************

function getDireccionSS(e){
var sId = e.id;
return buscaEnSheet(sId, 5);
}

// ******************* Función que devuelve el celular (Fila numero 6) ************************************************

function getCelularSS(e){
var sId = e.id;
return buscaEnSheet(sId, 6);
}

//********************* Función de cambia el nombre de la persona**************************************************

function setNombresSS(e){
var sId = e.id;
var sNombre = e.nombre;
var row = buscaReturnRow(sId);
var hojaCalculo = SpreadsheetApp.openById("1vew9EOnb2vmaf2JYLItNn98r4IEK3dd9MLS0v9j-XvU");
var hojaDatos = hojaCalculo.getSheetByName('Datos');
hojaDatos.getRange(row, 1).setValue(sNombre);
}
INDEX.HTML

<script src="//code.jquery.com/jquery-1.10.2.js"></script>

<link rel="stylesheet" href="https://ssl.gstatic.com/docs/script/css/add-ons.css">

<script>

function procesaFormulario(){
google.script.run.procesaFormDatosPersona(document.forms[0]);
}

function buscaInformacion(){
google.script.run.withSuccessHandler(getNombres).getNombresSS(document.forms[0]);
google.script.run.withSuccessHandler(getApellidos).getApellidosSS(document.forms[0]);
google.script.run.withSuccessHandler(getSexo).getSexoSS(document.forms[0]);
google.script.run.withSuccessHandler(getDireccion).getDireccionSS(document.forms[0]);
google.script.run.withSuccessHandler(getCelular).getCelularSS(document.forms[0]);
}

function editaInformacion(){
google.script.run.setNombresSS(document.forms[0]);
google.script.run.setApellidosSS(document.forms[0]);
google.script.run.setSexoSS(document.forms[0]);
google.script.run.setDireccionSS(document.forms[0]);
google.script.run.setCelularSS(document.forms[0]);

function getNombres(nombres){
var txtNombres = document.getElementById('nombre');
txtNombres.value = nombres;
}

function getApellidos(apellidos){
$( "#apellido" ).val(apellidos);
}

function getSexo(sexo){
$( "#sexo" ).val(sexo).change();
}

function getDireccion(direccion){
$( "#direccion" ).val(direccion);
}

function getCelular(celular){
$( "#celular" ).val(celular);
}

$(function() {
$( "#guardar" ).click(procesaFormulario);
$( "#buscar" ).click(buscaInformacion);
$( "#editar" ).click(editaInformacion);
});

</script>

<html>

<? var hojaCalculo = SpreadsheetApp.openById("1vew9EOnb2vmaf2JYLItNn98r4IEK3dd9MLS0v9j-XvU");


var hojaParametros = hojaCalculo.getSheetByName('Parametros');

var ultimaFila = hojaParametros.getLastRow();


?>

<div>

<form id="datosPersona" name="datosPersona">


<br>
Nombre (s):
<br><input type="text" id="nombre" name="nombre" placeholder="Primer y/o segundo nombre" required>

<br>
Apellido (s):
<br><input type="text" id="apellido" name="apellido" placeholder="Primer y/o segundo apellido" required>

<br>
ID:
<br><input type="text" id="id" name="id" placeholder="Numeros y letras" required>
<br>
Sexo:
<br>
<select id="sexo" name="sexo" required>
<? i= 2;
while (i<=ultimaFila){
?> <option value="<?=hojaParametros.getRange(i, 1).getValue()?>"><?=hojaParametros.getRange(i,
1).getValue()?></option>
<?
i++;
}
?>
</select>

<br>
Dirección:
<br><input type="text" id="direccion" name="direccion" placeholder="Direccion recidencia" required>
<br>
Celular:
<br><input type="number" id="celular" name="celular" placeholder="Numero del movil">
<br><br>
<button class="action" id="guardar">Guardar</button>
<button id="buscar">Buscar</button>
<button id="editar">Editar</button>

</form>
</div>
</html>

También podría gustarte