Hoja de Pedido – Lotes de Navidad 2026
Utilice el siguiente formulario para realizar su pedido de Lotes de Navidad 2026 del Grupo Tomás Barreto. Rellene todos los datos del cliente y seleccione los productos deseados; los importes se calculan automáticamente.
Datos del cliente
Cliente
C.I.F.
Persona de contacto
Dirección
Teléfono
Dirección de entrega
Horario
Observaciones
LOTE
Nº
Cantidad
Euros/ud.
Total
—
L01
L02
L03
L04
L05
L06
L07
L08
L09
L10
—
L01
L02
L03
L04
L05
L06
L07
L08
L09
L10
—
L01
L02
L03
L04
L05
L06
L07
L08
L09
L10
—
L01
L02
L03
L04
L05
L06
L07
L08
L09
L10
—
L01
L02
L03
L04
L05
L06
L07
L08
L09
L10
—
L01
L02
L03
L04
L05
L06
L07
L08
L09
L10
Subtotal Lotes (€)
ESTUCHES
Nº
Cantidad
Euros/ud.
Total
—
E01
E02
E03
E04
E05
E06
E07
E08
E09
E10
—
E01
E02
E03
E04
E05
E06
E07
E08
E09
E10
—
E01
E02
E03
E04
E05
E06
E07
E08
E09
E10
—
E01
E02
E03
E04
E05
E06
E07
E08
E09
E10
Subtotal Estuches (€)
CESTAS/BICOCAS
Nº
Cantidad
Euros/ud.
Total
—
C01
C02
C03
C04
C05
C06
C07
C08
C09
C10
—
C01
C02
C03
C04
C05
C06
C07
C08
C09
C10
—
C01
C02
C03
C04
C05
C06
C07
C08
C09
C10
Subtotal Cestas/Bicocas (€)
Datos del pedido
Fecha realización pedido
Fecha entrega prevista
Centro responsable del pedido
Persona receptora del pedido
Entrega GRATUITA, dentro de la Isla de La Palma
Total pedido (€)
Total a pagar (€)
Enviar pedido
(function() {
const priceTables = {
lote: {
L01: 10, L02: 20, L03: 30, L04: 40, L05: 50,
L06: 60, L07: 70, L08: 80, L09: 90, L10: 100
},
estuche: {
E01: 10, E02: 20, E03: 30, E04: 40, E05: 50,
E06: 60, E07: 70, E08: 80, E09: 90, E10: 100
},
cesta: {
C01: 10, C02: 20, C03: 30, C04: 40, C05: 50,
C06: 60, C07: 70, C08: 80, C09: 90, C10: 100
}
};
const subtotalFields = {
lote: document.getElementById(‘subtotal-lotes’),
estuche: document.getElementById(‘subtotal-estuches’),
cesta: document.getElementById(‘subtotal-cestas’)
};
const totalPedidoField = document.getElementById(‘total-pedido’);
const totalPagarField = document.getElementById(‘total-pagar’);
function formatEuros(value) {
const num = isNaN(value) ? 0 : value;
return num.toLocaleString(‘es-ES’, { minimumFractionDigits: 2, maximumFractionDigits: 2 });
}
function parseNumber(value) {
if (!value) return 0;
const normalized = value.replace(/\./g, »).replace(‘,’, ‘.’);
const n = parseFloat(normalized);
return isNaN(n) ? 0 : n;
}
function updateLineAndSubtotals(type) {
let subtotal = 0;
const selects = document.querySelectorAll(‘select[data-type=»‘ + type + ‘»]’);
selects.forEach(function(selectEl) {
const index = selectEl.getAttribute(‘data-index’);
const cantidadInput = document.querySelector(‘input[name=»‘ + capitalize(type) + ‘_’ + index + ‘_Cantidad»]’);
const precioInput = document.querySelector(‘input[name=»‘ + capitalize(type) + ‘_’ + index + ‘_Precio»]’);
const totalLineaInput = document.querySelector(‘input[name=»‘ + capitalize(type) + ‘_’ + index + ‘_Total»]’);
const code = selectEl.value;
const price = priceTables[type][code] || 0;
const cantidad = parseNumber(cantidadInput && cantidadInput.value);
const lineTotal = price * cantidad;
if (precioInput) {
precioInput.value = code ? formatEuros(price) : »;
}
if (totalLineaInput) {
totalLineaInput.value = lineTotal ? formatEuros(lineTotal) : »;
}
subtotal += lineTotal;
});
if (subtotalFields[type]) {
subtotalFields[type].value = subtotal ? formatEuros(subtotal) : »;
}
updateTotalPedido();
}
function updateTotalPedido() {
const subtotalLotes = parseNumber(subtotalFields.lote.value);
const subtotalEstuches = parseNumber(subtotalFields.estuche.value);
const subtotalCestas = parseNumber(subtotalFields.cesta.value);
const total = subtotalLotes + subtotalEstuches + subtotalCestas;
totalPedidoField.value = total ? formatEuros(total) : »;
if (!totalPagarField.value) {
totalPagarField.value = total ? formatEuros(total) : »;
}
}
function capitalize(str) {
if (!str) return »;
return str.charAt(0).toUpperCase() + str.slice(1);
}
document.addEventListener(‘change’, function(e) {
const target = e.target;
if (target.matches(‘select[data-type]’) || target.matches(‘input[data-type]’)) {
const type = target.getAttribute(‘data-type’);
updateLineAndSubtotals(type);
}
});
document.addEventListener(‘input’, function(e) {
const target = e.target;
if (target.matches(‘input[data-type]’)) {
const type = target.getAttribute(‘data-type’);
updateLineAndSubtotals(type);
}
if (target.id === ‘total-pagar’) {
const raw = target.value;
const parsed = parseNumber(raw);
if (!isNaN(parsed)) {
target.dataset.raw = parsed;
}
}
});
const form = document.getElementById(‘pedido-navidad-2026’);
if (form) {
form.addEventListener(‘submit’, function() {
if (!totalPagarField.value && totalPedidoField.value) {
totalPagarField.value = totalPedidoField.value;
}
});
}
})();