Search Results for 'script'
-
Search Results
-
Hi,
When in a Custom layout, if I go to print and use the Save as PDF function, is it possible to give a tile different than the layout?
It’s an invoice layout, so I’d like it to have a formatted title like “YYMMDD_ClientName-Inv#”.
Is this something possible? Maybe with a script, I don’t know.
What do you think?
Thanks.
Hello everyone, I have an amount search script in the table field of all records. But it works for me with some quantities and not with others. And I don’t understand why.
This is the script:// Definiciones de IDs de campos dentro de la tabla
var pagos_cobros_tabla_id = ‘fld-a878bb1af5534101bcfab905279b1180’; // ID del campo Pagos/Cobros dentro de la tabla
var movs_banco_tabla_id = ‘fld-57a5fdcd593e46b298948845321d78ac’; // ID del campo Mvtos. Banco dentro de la tabla
var fecha_id = ‘fld-547c13e982e84d0793b0aba6c220cf76’; // ID del campo de fecha dentro de la tabla
var nombre_id = ‘fld-baf116cd116e4cde9b65e79014a49f28’; // ID del campo de nombre dentro de la tabla
var tabla_id = ‘fld-d8a58dbf35914f3c858c6dfb880c1c48’;
var nota_id = ‘fld-7918261f865b489a8f7672cf733712a9’;
var listado_de_script_id = ‘fld-555622f4bf0344f9b9e92af0806210fc’;
// Reemplazar ‘XXXXXX’ con el ID del campo “Listado de script”// Define el importe a buscar
var buscarImporte = “19.99”; // Ajusta este valor según el importe que desees buscarconsole.log(“”);
console.log(“*************************************”);
console.log(“Importe buscado: ” + buscarImporte);
console.log(“*************************************”);
console.log(“”);// Inicializar el contenido del campo “Listado de script”
var output = “”;// Función para parsear el importe independientemente del formato
function parseImporte(importeStr) {
if (typeof importeStr === ‘string’) {
return parseFloat(importeStr.replace(/[^\d.-]/g, ”)) || 0; // Devolver 0 si el valor no se puede convertir a número
} else {
return parseFloat(importeStr) || 0; // Devolver 0 si el valor no se puede convertir a número
}
}buscarImporte = parseImporte(buscarImporte);
var records = form.getRecords();
for (var i = 0; i < records.length; i++) {
var record = records;
var registrosTabla = record.getFieldValue(‘fld-d8a58dbf35914f3c858c6dfb880c1c48’) || []; // Reemplaza ‘tabla_id’ con el ID del campo de la tabla
var nombre = record.getFieldValue(‘fld-baf116cd116e4cde9b65e79014a49f28’); // Obtener el nombre fuera del bucle de la tabla// Array para almacenar los movimientos correspondientes a cada nombre
var movimientosNombre = [];for (var j = 0; j < registrosTabla.length; j++) {
var registroTabla = registrosTabla[j];
var pagosCobros = parseImporte(registroTabla.getFieldValue(pagos_cobros_tabla_id));
var movsBanco = parseImporte(registroTabla.getFieldValue(movs_banco_tabla_id));
var fechaRaw = new Date(registroTabla.getFieldValue(fecha_id));
var fecha =${('0' + fechaRaw.getDate()).slice(-2)}/${('0' + (fechaRaw.getMonth() + 1)).slice(-2)}/${fechaRaw.getFullYear().toString().substr(-2)}
;
var nota = registroTabla.getFieldValue(nota_id);// Comparar el valor absoluto de los importes
if (Math.abs(pagosCobros) === Math.abs(buscarImporte) || Math.abs(movsBanco) === Math.abs(buscarImporte)) {
movimientosNombre.push({ fecha: fecha, movsBanco: movsBanco, pagosCobros: pagosCobros, nota: nota });
}
}// Mostrar el nombre y luego los movimientos correspondientes
if (movimientosNombre.length > 0) {
output += “\n” + nombre + “\n\n”;
console.log(“” + nombre);
console.log(“”);
for (var k = 0; k < movimientosNombre.length; k++) {
var movimiento = movimientosNombre[k];
output +=${movimiento.fecha}: ${movimiento.movsBanco} | ${movimiento.pagosCobros}\n\n${movimiento.nota}\n
;
console.log(${movimiento.fecha}: ${movimiento.movsBanco} | ${movimiento.pagosCobros}
);
console.log(“” + movimiento.nota);
console.log(“”);
}
}
}// Actualizar el campo “Listado de script” del primer registro con el texto generado
record.setFieldValue(listado_de_script_id, output);// Guardar los cambios en los registros
form.saveAllChanges();Any help will be welcome.
Hi Everyone,
I am new to Tapforms and experimenting right now with JavaScript. Is there an option to run a Script automatically during the “normal” saving process?
Thanks for your Help.
Hannes
I would like to know if this will be possible sometime. Now I have to copy lists and paste them on another app. It would be better can print directly.
thank you.I am trying to learn to use loops in JavaScript combined with a saved search. I have been able to create a script that can obtain the required data from fields in records found by a saved search. However, I cannot write some data to a field for the records found by a saved search.
Could I have some help in identifying what is wrong or what needs adding. The sample database is attached.
// Fields var date_id = 'fld-93ed9225fc674e7c840266726e160538'; var first_name_id = 'fld-edfdac34b4de4df79e5aced3c3ddc9be'; var completed_id = 'fld-6a9df78c9df744e292f47e11077d3d6d'; var client_name_id = 'fld-ec4fb9b85cb54d52813a9cd69c08198f'; // Push variable var txt = []; // Getting saved search var saved_search = form.getSearchNamed('Completed'); // get the records for the saved search var dupes_search = saved_search.getRecords(); // Looping through the records for the saved search for (var index = 0, count = dupes_search.length; index < count; index++){ var dupes_search_details = dupes_search[index]; // getting the contents of fields var completed = dupes_search_details.getFieldValue(completed_id); var client_name = dupes_search_details.getFieldValue(client_name_id); // writing data to fields dupes_search_details.setFieldValue(first_name_id, "Johnny"); //dupes_search_details.setFieldValue(date_id, "2024-03-06"); // putting data from fields together txt.push((index+1) + ". " + client_name + " = " + completed + ", and the count of records found by saved search: " + count + "\n"); } txt.join(); console.log(txt);
I have a script that concatenates a bunch of linked records as text and inserts the concatenated text into a field, so that I can easily scroll through a bunch of entries at once.
Currently, the script runs any time a linked field is updated, so every record has concatenated text stored in its designated field. But I don’t really need that text stored, since it’s redundant. It’s just useful to browse through the text when needed.
What would work nicely is if there was a script command to produce a modal or popover for viewing scrollable text that can be dismissed. The idea is that this would be ephemeral. Click a button to run the script, which concatenates the field and displays the full text for viewing, but doesn’t store it to the file.
The Prompter() class would work, except any text beyond a few lines is cut off and not scrollable.
Maybe this is such a unique request that it isn’t worth developing, but I thought I’d ask!