Planet
Recepción de Mercadería
⚡ Usamos Google Apps Script como puente — sin API Key, sin bloqueos CORS.
1
Abrí el editor de tu planilla
En Google Sheets → Extensiones → Apps Script
2
Pegá este código exacto y guardá
Borrá todo lo existente y pegá esto:
function doGet(e) { var ss = SpreadsheetApp.getActiveSpreadsheet(); var action = e.parameter.action || 'list'; var callback = e.parameter.callback || ''; var result; if (action === 'list') { var names = ss.getSheets() .map(function(s){ return s.getName(); }) .filter(function(n){ return n.toLowerCase().indexOf('paquete') >= 0; }); result = JSON.stringify({ sheets: names }); } else if (action === 'data') { var sheet = ss.getSheetByName(e.parameter.sheet); if (!sheet) { result = JSON.stringify({ error: 'Hoja no encontrada' }); } else { var rows = sheet.getDataRange().getValues(); result = JSON.stringify({ rows: rows }); } } else if (action === 'write') { var sheet = ss.getSheetByName(e.parameter.sheet); if (!sheet) { result = JSON.stringify({ error: 'Hoja no encontrada' }); } else { var code = e.parameter.code; var qty = parseInt(e.parameter.qty) || 0; var ccIdx = (e.parameter.cc || 'C').toUpperCase().charCodeAt(0) - 64; var writeCol = (e.parameter.cw || 'E').toUpperCase().charCodeAt(0) - 64; var data = sheet.getDataRange().getValues(); var found = false; for (var i = 1; i < data.length; i++) { if (String(data[i][ccIdx-1]).trim() === code) { sheet.getRange(i+1, writeCol).setValue(qty); found = true; break; } } result = JSON.stringify({ ok: found }); } } else { result = JSON.stringify({ error: 'Accion desconocida' }); } if (callback) { return ContentService .createTextOutput(callback + '(' + result + ')') .setMimeType(ContentService.MimeType.JAVASCRIPT); } return ContentService .createTextOutput(result) .setMimeType(ContentService.MimeType.JSON); }
3
Publicá como Web App
Implementar → Nueva implementación → Web App
· Ejecutar como: Yo
· Acceso: Cualquier persona
Implementar → autorizá → copiá la URL /exec
4
Pegá la URL aquí abajo
URL del Web App (termina en /exec)
Col. Código
Col. Esperado
Col. Recibido ✍️
Nombre de quien revisa
Se guardará en la celda I2 de cada paquete junto con los horarios.
Envío de reporte por email (opcional)
Usamos EmailJS — gratis hasta 200 emails/mes.
Creá una cuenta en emailjs.com, un Email Service y un Template con las variables: pkg_name, report_body, sent_at.
Pegá los IDs abajo y listo.
EmailJS Public Key
Service ID
Template ID
Email destino
Planet
0
Correctos
0
Diferencia
0
Sin recibir
Progreso0%
🔫
Listo para escanear
Tocá para activar el escáner Bluetooth
Productos
Planet
Reporte de recepción
Guardando...
Ajustar cantidad
0
⚠ No esperado
Este código no está en el paquete.
¿Querés registrarlo como producto extra?
1
Conectando...