Auf dieser Seite ist erläutert, was wie Sie Formeln in Templates verwenden können und was dabei zu beachten ist.

Version: Dieser Artikel ist mindestens gültig ab der stabilen Version 5.5.8.


1. Voraussetzungen

Es benötigt:

  • eine vollständige Installation & Einrichtung von OCT.

  • eine Fabrik mit Produktlinie und Produkt im Bereich der Datenerfassung.


2. Verwendungsanleitung

Hintergrundinformationen


Allgemein

Die Formeln im Webclient entsprechen weitgehend denen im Excel, es ist folgendes zu beachten

  • um Formeln zu bearbeiten sollte die Seite in den Designmodus geschalten werden

  • die Formelnamen müssen in englisch erfasst werden - um Formel von deutsch nach englisch übersetzen, kann ein Tool wie dieses verwendet werden https://de.excel-translator.de/translator/

  • Kopieren aus Excel - Formeln können nur als Text (aus der Bearbeitungsleiste kopiert) für eine Zelle aus englischem Excel kopiert werden, ein kopieren im Block funktioniert nicht

  • Punkt / Komma als Dezimaltrennzeichen und Komma / Semikolon als Trenner von Formelteilen müssen passend zu eingestellten Sprache verwendet werden

  • das ziehen von Formelfeldern mit relativer Formelanpassung ist unterstützt

  • das "Durchschießen" von Formeln (per Doppelklick auf untere Ecke) wie in Excel ist leider nicht möglich, es gibt statt dessen

    • die Funktion "Füllen bis zum Ende" im rechten Mausmenü

    • man kann statt dessen mit der Tastenkombination arbeiten STRG+C → SHIFT+STRG+PFEIL UNTEN → STRG+V


Zugriff auf die Globalattribute im Template

Die Globalattribute sind in einem ausgeblendeten Bereich geladen und können per Formel referenziert werden. Dieser Bereich ist identisch für horizontale und vertikale Templateausrichtung

  • in Zelle B25 steht Globalattribut1

  • in Zelle B26 steht Globalattribut2

  • etc.


Formeln im Zusammenhang mit skalierter Speicherung

Werte werden in OCT immer mit einer festen Nachkommastelle skaliert gespeichert (z.B. Skalierung 100 = 2 Nachkommastellen). Sofern eine Formel mehr Nachkommastellen zur Laufzeit berechnet, erscheint der Wert als geändert in der Anzeige, obwohl die Werte scheinbar unverändert sind.

  • z.B. die Formel =0,5 * 7,01 ergibt mathematisch 3,505 in der Datenbank wird aber bei Skalierung 2 der Werte 3,51 gespeichert - bei jedem Öffnen des Templates wird daher der Wert als geändert anzeigt

  • es sollten daher Ergebnisse von Formelberechnungen mit mehr Nachkommastellen als Skalierung gerundet werden (somit jede Multiplikation, Division, Potenz etc.)

  • die Formel sollte daher lauten =ROUND(0,5*7,01;2) - dann wird immer 3,51 berechnet und 3,51 steht auch in der Datenbank

  • es müssen nicht alle Formeln gerundet werden, z.B. eine Addition von zwei gleich skalierten Werte benötigt keine Rundung


Formeln mit Datumsangaben

Datumsangaben sind in Formeln schwer zu verarbeiten, falls die Oberfläche in mehreren Sprachen genutzt wird. Beim Umschalten der Sprache treffen schnell Fehler auf, da andere Datumsformate erwartet werden.

Lösungsoptionen

  • Datumswerte im ISO Format erfassen 20201004 für den 4. Oktober 2020, diese lassen sich international gleich auflösen

  • ein Datum (besonders aus dem Globalattribut, wo es immer ein String ist) zunächst per LEFT / RIGHT in die einzelnen Teile schneiden und mit diesen weiter arbeiten

Formeln, welche eine andere Schreibweise als im Excel erfordern und Formeltricks

  • Beim Editieren bestehender Formeln, sollte man die Strg Taste beim anklicken von Zellen gedrückt halten. Dann wird die vorhandene Zellreferenz nicht ersetzt, sondern die neue Zellreferenz davor eingefügt

Problematik

Excel Schreibweise

Webclient Alternative

Bemerkungen

Prüfung auf leere Zelle

=WENN(A1="";1;2)

WENN(ISBLANK(A1);1;2)

Datumsdifferenz in Tagen

= DATEDIF(Datum1, Datum2, "d")

=Date(Jahr,Monat,Tag) - Date(Jahr,Monat,Tag)

Datum aus der TimeID generieren

=Datum(Jahr,Monat,Tag)

=Date(Jahr,Monat,Tag)


Wochentagermittlung

=WOCHENTAG(Datum;2)

=Weekday(Datum;1)

Typ 2 steht für Montag = 1, wird im WebClient nicht verarbeitet, es muss mit Typ 1 (Sonntag = 1) gerechnet werden

Texte mit & konkatenieren

="TEST"&"TEST"

="TEST"&"TEST"