Es gibt Fälle, in denen negative Zahlen in buchhalterischen Materialien als "△ 100.000" geschrieben werden. Yellowfin kann dies mit ** Custom Formatter ** erreichen.
** Yellowfin-Plugins ** wie benutzerdefinierte Formatierer werden in Java entwickelt. Dieses Mal verwende ich Eclipse (Plejaden, eine japanische Version von Eclipse).
Die Entwicklungsmethode ist im Online-Handbuch von Yellowfin beschrieben. Grundlagen der Plug-In-Entwicklung Erstellen eines benutzerdefinierten Formatierers In diesem Artikel werden wir beim Falten fortfahren. Lesen Sie daher das entsprechende Handbuch.
Erstellen Sie ein neues Java-Projekt. Selbst wenn die Java-Version 7 ist, ist sie im Handbuch geschrieben, daher sollte JRE java7 auswählen. ..
Klicken Sie auf Weiter und ändern Sie den Standardausgabeordner in **
Klicken Sie mit der rechten Maustaste auf das Projekt und wählen Sie Importieren.
Wählen Sie Dateisystem und klicken Sie auf Weiter.
** Navigieren Sie zu
Wählen Sie alles unter ROOT aus und aktivieren Sie das Kontrollkästchen "Links im Arbeitsbereich erstellen" im Element "Erweitert".
Klicken Sie mit der rechten Maustaste auf das Projekt und wählen Sie im Menü Build Path> Configure Build Path.
Klicken Sie auf Bibliothek.
Klicken Sie auf die Schaltfläche JAR hinzufügen und geben Sie i4 in die Suchleiste ein. Wählen Sie "i4-core.jar" und "i4-mi.jar" aus den Suchergebnissen.
Erstellen Sie einen neuen Ordner mit dem Namen ** META-INF ** unter dem Ordner src. Erstellen Sie unter diesem Ordner einen neuen Ordner mit dem Namen ** services **.
Erstellen Sie eine Datei mit dem Namen ** com.hof.mi.interfaces.CustomFormatter ** im Ordner "services".
Schreiben Sie "com.company.yellowfin.formatters.SankakuFormatter" in die erstellte Datei. Dies ist der vollständig qualifizierte Klassenname für den von Ihnen erstellten benutzerdefinierten Formatierer.
Klicken Sie mit der rechten Maustaste auf das Projekt und wählen Sie Neu> Paket. Nennen Sie das neue Paket ** com.company.yellowfin.formatters **. (Übereinstimmung mit dem zuvor festgelegten vollständig qualifizierten Klassennamen)
Klicken Sie mit der rechten Maustaste auf das von Ihnen erstellte Paket und wählen Sie Neu> Datei. Der Dateiname lautet ** SankakuFormatter.java **. (Dies wird auch mit dem vollständig qualifizierten Klassennamen kombiniert.)
Fügen Sie den folgenden Code in SankakuFormatter.java ein.
SankakuFormatter.java
package com.company.yellowfin.formatters;
import java.text.NumberFormat;
import com.hof.mi.interfaces.CustomFormatter;
public class SankakuFormatter extends CustomFormatter {
public String getName() {
return "Dreiecksformatierer";
}
public boolean acceptsNativeType(int type) {
// We only handle numeric types
if (type == TYPE_NUMERIC) return true;
return false;
}
public String render(Object value, int renderType) throws Exception {
if (value == null) return null;
if (renderType == RENDER_LINK) {
// Return a generic version of the value
return value.toString();
}
// Create a String representing the value
NumberFormat nf = NumberFormat.getNumberInstance();
String mark = "";
String valStr = value.toString();
double valNum = Double.parseDouble(valStr);
double val = valNum;
if (valNum < 0 ) {
mark = "△";
val = Math.abs(val);
}
return mark + nf.format(val);
}
}
Das Codebeispiel, auf das ich mich bezog, befindet sich übrigens im Online-Handbuch.
Klicken Sie mit der rechten Maustaste auf das Projekt und wählen Sie Exportieren.
Wählen Sie "JAR-Datei".
Wählen Sie alle ** außer ** aus. Einstellungen und ROOT, geben Sie den Namen der JAR-Datei an (hier ** SankakuFormatter.jar **) und exportieren Sie.
Fügen Sie im Bildschirm zur Verwaltung des Yellowfin-Plug-Ins die erstellte JAR-Datei als neues Plug-In hinzu.
Der diesmal erstellte benutzerdefinierte Formatierer heißt ** Dreiecksformatierer **. Der Name wird in ** getName () ** in SankakuFormatter.java angegeben. Mit diesem Formatierer können Sie negative Zahlen mit dem Symbol "△" formatieren.
Angenommen, Sie haben die folgenden einfachen Daten.
Geben Sie für diese Nummer im Format "Dreiecksformatierer" an.
Dann wird die negative Zahl als Dreiecksymbol angezeigt!
Auf den ersten Blick scheint es, als ob es zu einer Zeichenfolge mit Symbolen geändert wurde, aber in Wirklichkeit bleiben die Daten selbst ein numerischer Typ, indem nur das scheinbare Format geändert wird, sodass eine bedingte Formatierung angewendet werden kann.
Ich habe die erstellte JAR-Datei auf Github abgelegt. Bitte benutzen Sie es, wenn Sie möchten! https://github.com/hadatuna/SankakuFormatter
Recommended Posts