<<  Visión general
Contenido
  1. Registros, Contenido de la página
  2. Ayudante
  3. Lectura/escritura
  4. Archivos
  5. Avanzada

Registros, Contenido de la página

Registro, Registros

Record RECORD

Registro actualmente abiertoList<Value> values = RECORD.getValues(); O: Record record = RECORD;
List<Value> values = record.getValues();

Lista<Record> RECORDS

Registros de la vista actual// Registros en vista
List<Record> records = RECORDS;
for(Record record : records) {
}

Valores

Leer valores

Lectura de los valores de un registro (valores visibles en la tabla o en todos los valores)// Columnas/valores visibles
List<Value> values = record.getValues();
for(Value value : values) {
    String name = value.getName(); // Nombre técnico
    String text = value.getText(); // Texto
    String obj = value.getObject(); // Java-Object (String, Long, Double, Date, Boolean)
}
Más contenido:// Todas las columnas/valores
List<Value> values = record.getValuesAll();
// Valor único
Value value = record.getValue("country");

String color = record.getBackgroundColor();
List<Annotation> annotations = record.getAnnotations();
// Subtables (Contenidos: tables.title, tables.records, tables.columns)
List<Table> tables = record.getTables();
// Attachments
List<Attachment> attachments = record.getAttachments();

Agrupación, Página

Agrupación de la página

List<Group> groups = PAGE.getGroups();
for(Group group : groups) {
    // También Título/Nivel/Número: group.title, group.level, group.count
    List<Column> columns = group.getColumns();
    List<Grabar> records = group.getRecords();

    for(Column column : columns) {
        String name = column.getName();
        String label = column.getLabel();
    }
}

Página actual


PAGE.isView: Es vista con registros
PAGE.isRecord: El registro abierto
PAGE.isWebserver: La aplicación se está ejecutando en Webserver
PAGE.title: Título de la página actualif (PAGE.isRecord) {
}
if (PAGE.isView) {
}
if (PAGE.isWebserver) {
}
String title = PAGE.title

Ayudante

Plantillas/Retorno

Leer plantilla

Permite leer un archivo de texto, útil si el contenido se debe agregar a un archivo existente. Las plantillas se leen desde:
scripts/templates/ (Predefinido o su propia aplicación)// Leer plantilla
String templateContent = TEMPLATE.read("HTML_Template1.html");

// Realizar reemplazos (Ejemplo)
String page = templateContent.replace("%CONTENT%", "MY CONTENT").replace("%PAGE_TITLE%", PAGE.title);

Valor de retorno

// Script proporciona un valor de retorno
RESULT.set("Sum for year: xx");
// Añadir texto a valor de retorno; set() no es necesario para append()
RESULT.append("\nSuma por mes: xx");

Escape/Formato

Escape para caracteres especiales

// Reemplaza caracteres especiales, por ejemplo: <, >
ESCAPE.forHtml(String text)
ESCAPE.forXml(String text)
ESCAPE.forJson(String text)
ESCAPE.forJava(String text)

HTML-Output

// Crea HTML-Code para los parámetros (también images)
HTML.toHtml(Value value)
HTML.toHtml(String text)
HTML.toHtml(List<Annotation> annotations)
HTML.toHtml(Annotation annotation)
HTML.toHtml(Attachment attachment)

Información de objeto

toString() para objetos y variables

Los objetos y las variables proporcionan información al contenido y a los métodos disponibles mediante toString()// Ejemplos de resumen de toString()
String summary = "";

summary += RECORD.toString()+"\n";
summary += RECORDS.toString()+"\n";
summary += PAGE.toString()+"\n";

summary += TEMPLATE.toString()+"\n";
summary += RESULT.toString()+"\n";

summary += READ.toString()+"\n";
summary += WRITE.toString()+"\n";

summary += UPLOADS.toString()+"\n";
summary += FILE.toString()+"\n";

RESULT.set(summary);

Lectura/escritura

Lectura/Cambio

Lectura de registros

// Lee todos los registros de la tabla nombrados por el parámetro
// Los registros solo contienen valores, sin más detalles (Anotaciones, Subtablas, ...)
List<Record> recordsWithValues = READ.getRecords(String tablename);

Cambiar valores

// Aplicar nuevo valor
WRITE.setValue(Record record, String fieldname, String newValue);

Crear/Eliminar

Insertar un registro vacío

// Añadir nuevo registro
Record newRecord = WRITE.insertNewRecord(String tablename);

Insertar registro

// Agregar nuevo registro
String tablename = "...";
Record record = new Record(tablename);
record.setValue("firstname", "theodora");

WRITE.insertRecord(record);

Eliminar un registro

// Eliminar un registro
Record myrecord = RECORD;
WRITE.deleteRecord(myrecord);
WRITE.deleteRecordLogical(myrecord); // Eliminar Logical
O:// Eliminar registro, establecer con Tablename, ID
String tablename = "...";
Long id = 1122;

Record record = new Record(tablename, id);
WRITE.deleteRecord(record);

Archivos

Campos, Subidas

Campos

// Leer bytes de valor
bytes[] bytes = FILE.readBytes(Value value);
// Leer bytes de carga
bytes[] bytes = FILE.readBytes("file.txt");
// Leer varios archivos
List<byte[]> filesBytes = FILE.readBytesList(Value value);

Agregar subidas

UPLOADS.add("file.txt", String text);
UPLOADS.add("file.bin", byte[] bytes);

Acceso a archivos

Temp-Files, Abrir/Editar

// Archivos temporales
Archivo tmp = FILE.temp();
Archivo tmp = FILE.temp(String ending);
Archivo tmp = FILE.temp(String ending, String prefix);

// Abrir/Editar en el sistema operativo (menos Webserver)
FILE.open(File file);
FILE.edit(File file);
FILE.browse(String url);

Sistema de archivos

FILE.write(File file, String text);
FILE.write(File file, byte[] bytes);

String filetext = FILE.read(File file);
bytes[] bytes = FILE.readBytes(File file);

Avanzada

Clases Java

Clases en scripts

Los scripts permiten definir clases propias.
Variables para usar en scripts sólo están disponibles fuera de Java-Classes. Debido a esto, es necesario proporcionarlos en el constructor, un ejemplo:// Variables PAGE, ESCAPE, UTIL, RESULT, ... sólo están disponibles fuera de las clases
// Solución: Utilice la variable SCRIPT como parámetro, contiene todas las demás variables
new Demo(SCRIPT);

public class Demo {
    private Script s;

    public Demo(Script script) {
        this.s = script;

        Ahora disponible:
        // s.PAGE
        // s.ESCAPE
        // s.UTIL
        // s.RESULT
        // s.RECORD
        // s.RECORDS
        // ...

        execute();
    }

    private void execute() {
        s.RESULT.set("My Result");
    }
}
Variables: RECORD, RECORDS, PAGE, ESCAPE, UTIL, TEMPLATE, FILE, HTML, READ, WRITE, RESULT, UPLOADS

Ejemplo Plantilla

Leer plantilla, rellenar contenido y escribir en archivo

Rellena una nueva plantilla y la escribe en un archivo temporal. A continuación, el archivo se abre en el sistema de sistema operativo.
// Leer la plantilla y reemplazar
String content = "MY CONTENT";

String templateContent = TEMPLATE.read("TEMPLATE_HERE.html");
String page = templateContent.replace("%CONTENT%", content).replace("%PAGE_TITLE%", PAGE.title);

// Archivo temporal
File file = FILE.temp(".html");

// Escribir archivo
FILE.write(file, page);

// Abrir archivo en sistema operativo
FILE.open(file);