Dashboard
Contratos Activos
| Fecha | Código | Cliente | Servicio | Encargado | Proceso |
|---|---|---|---|---|---|
| Cargando... | |||||
| Contrato | Cliente / Univ. / Carrera | Servicio / Mención | Fecha Límite | Investigador | Dificultad | Actividad | Proceso | Condición | Estado | Pagos realizados | Drive | Obs. | Info Solicitada | Reunión | Acuerdos |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Cargando registros... | |||||||||||||||
Historial de Reportes
| Fecha | Hora | Código | Cliente | Actividad | Condición Anterior | Condición Nueva |
|---|---|---|---|---|---|---|
| Sin registros aún. | ||||||
Archivo Histórico de Evidencias Semanales
Solo lectura. Seleccione una semana del calendario operativo.
| Código | Cliente | DNI | Univ. | Carrera | Servicio | Investigador | Fecha | Proceso | Condición | Estado |
|---|
Seleccione una semana para visualizar el snapshot.
Registro de Cambios
| Fecha y Hora | Código | Cliente | Autor | Descripción del Cambio |
|---|---|---|---|---|
| Sin cambios registrados. | ||||
Panel de Clientes
| Código | DNI | Nombre Completo | Celular | Universidad | Carrera | Servicio | Estado | F. Registro | Acciones | |
|---|---|---|---|---|---|---|---|---|---|---|
| Sin clientes registrados. Haz clic en "+ Nuevo Cliente" para comenzar. | ||||||||||
Recursos
Calendario de Entregas
Calendario de Reuniones
| Contrato | Cliente | F. Registro | Servicio | Monto Total | Modalidad | Cuotas | Drive Pagos | Obs. | Acción |
|---|---|---|---|---|---|---|---|---|---|
| Sin contratos registrados. | |||||||||
Configuración del Sistema
Solo accesible para administradores.
Configure los servicios y sus siglas para la generación automática del código de contrato (ej: "Plan de Tesis" → siglas "PT").
Configure las universidades y sus siglas para el código de contrato (ej: "Universidad Continental" → "UC").
Carreras disponibles en los desplegables del sistema.
Tipos de reunión disponibles en el módulo de Capacitaciones.
🎥 Google Calendar + Meet (automático)
Usa un Google Apps Script para crear eventos con Meet automáticamente — sin verificación de Google, sin OAuth. Solo pega el código, despliega y listo.
Pasos de configuración (una sola vez):
- Ve a script.google.com → "Nuevo proyecto" → ponle nombre "Sistema SE Calendar"
- Borra todo el código y pega el código de abajo (el nuevo, sin paso de Servicios)
- Clic en Implementar → Nueva implementación
- Tipo: Aplicación web / Ejecutar como: Yo / Quién tiene acceso: Cualquier persona
- Clic Implementar → se abre una ventana de autorización → clic Revisar permisos → Permitir
- Copia la URL de la aplicación web que aparece
- Pega esa URL arriba y clic Guardar URL
Código para pegar en Apps Script (no necesita agregar Servicios):
function doGet(e) {
var cb = e.parameter.callback;
var result;
try {
var data = JSON.parse(e.parameter.data || '{}');
if (!data.action) result = { ok: true, status: 'Sistema SE Calendar OK' };
else if (data.action === 'createMeet') result = createMeetResult(data);
else result = { ok: false, error: 'Accion desconocida' };
} catch(ex) { result = { ok: false, error: ex.toString() }; }
var json = JSON.stringify(result);
if (cb) return ContentService.createTextOutput(cb + '(' + json + ')')
.setMimeType(ContentService.MimeType.JAVASCRIPT);
return ContentService.createTextOutput(json).setMimeType(ContentService.MimeType.JSON);
}
function createMeetResult(data) {
try {
CalendarApp.getDefaultCalendar();
var token = ScriptApp.getOAuthToken();
var payload = {
summary: data.summary,
description: data.description || '',
start: { dateTime: data.startDT, timeZone: 'America/Lima' },
end: { dateTime: data.endDT, timeZone: 'America/Lima' },
attendees: (data.attendees || []).map(function(e){ return { email: e }; }),
conferenceData: { createRequest: {
requestId: 'se-' + Date.now(),
conferenceSolutionKey: { type: 'hangoutsMeet' }
}}
};
var res = UrlFetchApp.fetch(
'https://www.googleapis.com/calendar/v3/calendars/primary/events?conferenceDataVersion=1&sendUpdates=all',
{ method: 'post', contentType: 'application/json',
headers: { Authorization: 'Bearer ' + token },
payload: JSON.stringify(payload), muteHttpExceptions: true }
);
var ev = JSON.parse(res.getContentText());
if (ev.error) return { ok: false, error: ev.error.message };
var ep = ((ev.conferenceData && ev.conferenceData.entryPoints) || [])
.filter(function(ep){ return ep.entryPointType === 'video'; })[0];
return { ok: true, meetUrl: ep ? ep.uri : '', calLink: ev.htmlLink || '' };
} catch(ex) { return { ok: false, error: ex.toString() }; }
}
Bitácora en Google Sheets
Pegue aquí la URL de la aplicación web del Apps Script. Cada cambio de condición se registrará automáticamente en la hoja del investigador correspondiente.
Instrucciones:
- Abrir el Google Sheet → Extensiones → Apps Script
- Pegar el contenido del archivo
apps_script.gs - Clic en "Implementar" → "Nueva implementación"
- Tipo: Aplicación web / Ejecutar como: Yo / Acceso: Cualquier persona
- Copiar la URL generada y pegarla arriba
Modalidades disponibles en el desplegable de forma de pago (ej: Cuotas, Pago único, Fraccionado).
Medios de pago disponibles por cuota (ej: Yape, Plin, Transferencia Bancaria).