ingenious.basic
Quellcode Ansicht

In der Quellcode Ansicht werden für die in ingenious.basic erstellten Stücklisten sämtliche Aufmaßdaten und Leistungspositionen definiert.

 

Quellcode Ansicht einer Stückliste

Quellcode Ansicht einer Stückliste

 

Der Aufmaßdatenbereich wird definiert mit der Methode:

Example Title
Kopiere Code
protected override void Build()
{
}

 

Der Leistungsdatenbereich wird definiert mit der Methode:

 

Example Title
Kopiere Code
protected override void Calculate()
{
}

 

Die einzelnen Befehle werden über eine TypeAhead-Funktionalität bereitgestellt. Sobald in einer neuen Zeile die Anfangsbuchstaben eines Befehls geschrieben werden, erscheint eine Auswahlliste mit allen verfügbaren Befehlen. Aus dieser Liste kann der gewünschte Befehl eingesetzt werden. Zur Vereinfachung der Stücklistenprogrammierung wird die gesamte Stücklisten-Befehlszeile mit ihrem Syntax eingefügt, so dass der Bearbeiter nur noch die einzelnen Werte entsprechend überschreiben muss.

Stücklistenbefehle beginnen mit einem großem Anfangsbuchstaben, C#-Schlüsselwörter sind komplett klein geschrieben.

 

Kontextmenü zur Auswahl von Stücklistenbefehlen

Kontextmenü zur Auswahl von Stücklistenbefehlen

 

Für die markierte Zeile erscheint am unteren Fensterrand außerdem ein Tooltip zum Syntax des Befehls.

 

Beispiel-Aufbau einer Befehlszeile:

Conf_Dropdown("Name", "Titel", "Tooltip", "(Default-)Wert", "Werteliste", Boolean Sichtbar, "Vordergrundfarbe", "Hintergrundfarbe");

Conf_Dropdown("vKSize", "Größe", "Bitte Kastengröße auswählen", "137", "137;165;180", true, "black", "RGB(255,200,100)");

Bedeutung: Die Option Kastengröße erhält den Variablennamen vKSize, in der Checkliste steht Größe, dem Benutzer wird als Tooltip "Bitte Kastengröße auswählen" angezeigt, Der Standardwert ist 137, Der Benutzer kann aus den Werten 137, 165 und 180 wählen, die Option ist in der Checkliste sichtbar, die Schriftfarbe ist schwarz, die Hintergrundfarbe ist ein Orangeton.

 

Befehle für die Methode Build 

Generell gilt:

Syntax Bedeutung
Name Eindeutiger Variablenname zur Identifizierung innerhalb der Stückliste
Titel Bezeichnung der Option wie sie dem Endbenutzer angezeigt werden soll 
Tooltip Hilfs- bzw. Beschreibungstext, der dem Benutzer am unteren Rand der Checkliste angezeigt wird, für die aktive Option in der Checkliste
Wert Für die Option verfügbarer Wert
Werteliste Für die Option verfügbare Werte, per Semikolon getrennt
dWert Zahl
iWert Ganzzahl
bMarkiert Boolean Definition zur Vorbelegung einer Checkbox. Mögliche Werte true und false

 

Es stehen die folgenden Stücklisten-Befehle zur Verfügung:

Befehl Beschreibung
Alert Ausgabe einer Hinweis- / Fehlermeldung ohne Abbruch
Alert("Text");
ConfLine Zeile mit Aufmaßdefinitionen in der Kompatibilitätsansicht einer aus einer ingenious Vor-Version importierten Stückliste
Conf_Checkbox Zeile zur Aufmaßdefinition in Form einer Checkbox
Conf_Checkbox("Name", "Titel", "Tooltip", bMarkiert
);
Conf_Combobox Zeile zur Aufmaßdefinition in Form einer Auswahlliste mit der Möglichkeit, Werte zu überschreiben
Conf_Combobox("Name", "Titel", "Tooltip", "Wert", "Werteliste"
);
Conf_Dropdown Zeile zur Aufmaßdefinition in Form einer festen (nicht überschreibbaren) Auswahlliste
Conf_Dropdown("Name", "Titel", "Tooltip", "Wert", "Werteliste"
);
Conf_Integer Zeile zur Aufmaßdefinition in Form einer Ganzzahl
Conf_Integer("Name", "Titel", "Tooltip", iWert
);
Conf_Number Zeile zur Aufmaßdefinition in Form einer Zahl
Conf_Number("Name", "Titel", "Tooltip", dWert
);
Conf_Section Definition einer einfachen Überschrift in der Checkliste
Conf_Section("Name", "Titel");
Conf_Size Definition der Größe der Checkliste (ohne Bildbereich), Angabe der 1. Breite und 2. Höhe in Pixeln
Conf_Size(iWert, iWert)
Conf_Split Definition des Teilers der Checkliste, bestimmt die Größe des Definitionsbereichs links und des Auwahlbereichs rechts, die Angabe erfolgt in Prozent und gilt für den Definitionsbereich 
Conf_Split(
Wert)
Conf_Text Fügt ein freies Textfeld in die Checkliste ein.
Conf_Text("Name", "Titel", "Tooltip", "Wert
");
Conf_Title Fügt eine Gruppen-Überschrift in die Checkliste ein. Ermöglicht das Ein- und Ausblenden der gesamten Gruppe.
Conf_Title("Name", "Titel")
DrawPict Ausgabe eines gespeicherten Bildes.
Error Ausgabe eines Fehlers mit Abbruch
Error("Text"
);
Eval Ausführen einer Stücklisten-Berechnung
var Fläche = Eval("jum.x * jum.y / 10000
");
GetValue Auslesen einer Stücklistenvariable.
String Breite = GetValue("jum.x"
);
GetValue<Type> Auslesen einer Stücklistenvariable und Konvertierung in einen anderen Datentyp als String.
Double dBreite = GetValue<Double>("jum.x"
);
Message Erzeugt eine Fehlermeldung deren Bedingung nach jeder Veränderung der Stückliste überprüft wird.
Message("Text");
MultiposVariable Definition einer Variable als Multipositions-Eingabevariable. Kann mehrfach aufgerufen werden.
MultiposVariable("jum.Farbe"
);
SetValue Speichert einen Wert in einer Stücklistenvariable.
SetValue("DruckBreite", "1250"
);
ValueExists Prüfung, ob eine Stücklistenvariable vorhanden ist.
Boolean DruckBreiteGesetzt = ValueExists("DruckBreite"
);

 

Befehle für die Methode Calculate

Generell gilt:

Syntax Bedeutung
Name Eindeutiger Variablenname zur Identifizierung innerhalb der Stückliste
dMenge Verbrauchte Artikelanzahl
dVerkaufspreis Verkaufspreis bei freien Hilfs-Artikeln (BOM_Price)
dEinkaufspreis Einkaufspreis bei freien Hilfs-Artikeln (BOM_Price)
dStundensatz Stundenlohn bei freien Zeit-Artikeln (BOM_Time)
dMinuten Anzahl der Minuten bei freien Zeit-Artikeln (BOM_Time)

 

Es stehen die folgenden Stücklisten-Befehle zur Verfügung:

Befehl Beschreibung
Alert Ausgabe einer Hinweis- / Fehlermeldung ohne Abbruch
Alert("Text");
BOMLine Zeile mit Leistungsdefinitionen in der Kompatibilitätsansicht einer aus einer ingenious Vor-Version importierten Stückliste
BOM_Item Aufruf eines Artikels aus dem Produktkatalog
BOM_Item("Name", "Matchcode/Artikelnummer", dMenge
);
BOM_Price Aufruf eines freien (Hilfs-)Artikels, der nicht im Produktkatalog gespeichert ist
BOM_Price("Name", "Text", dMenge, dVerkaufspreis, dEinkaufspreis);
BOM_Time TimeAufruf eines freien Zeit-Artikels, der nicht im Produktkatalog gespeichert ist
BOM_Time("Name", "Text", dMenge, dStundensatz, dMinuten);
Eval Ausführen einer Stücklisten-Berechnung
var Fläche = Eval("jum.x * jum.y / 10000
");
GetValue Auslesen einer Stücklistenvariable.
String Breite = GetValue("jum.x"
);
GetValue<Type> Auslesen einer Stücklistenvariable und Konvertierung in einen anderen Datentyp als String.
Double dBreite = GetValue<Double>("jum.x"
);
SetValue Speichert einen Wert in einer Stücklistenvariable.
SetValue("DruckBreite", "1250"
);
ValueExists Prüfung, ob eine Stücklistenvariable vorhanden ist.
Boolean DruckBreiteGesetzt = ValueExists("DruckBreite"
);

 

Eine Übersicht über alle verfügbaren C# Schlüsselwörter ist in der Microsoft MSDN Dokumentation zu finden.

 

Quellcode-Verwaltung

Zur Nachverfolgung von Änderungen an der Stückliste oder zum Wiedereinspielen einer Vorversion bei evtl. Unstimmigkeiten nach einer Änderung können Versionen der Stückliste abgelegt werden. Zusätzlich werden vom Programm automatisch Versionen gespeichert, sobald Änderungen an der Stückliste vorgenommen wurden, und die geänderte Stückliste erstmalig in einer Projekt-Position verwendet wird.

Die Stücklisten-Versionen werden außerdem zur Änderung und Rekalkulation von Projekt-Positionen herangezogen, die immer auf der Basis der zum Zeitpunkt ihrer Erstellung gültigen Version berechnet werden.

Über den Button  der Symbolleiste wird die Quellcode-Verwaltung geöffnet. Sie enthält eine Liste aller gespeicherten Versionen der Stückliste mit einem Hash, dem Kommentar, Log des Datums und der Uhrzeit der Speicherung, dem Benutzer und einer Kennzeichnung, ob mit dieser Stücklisten-Version Projekt-Positionen angelegt wurden.

 

Versionsübersicht einer Stückliste

Versionsübersicht einer Stückliste

 

Für die Stücklisten-Verwaltung stehen die folgenden Bearbeitungs-Funktionen über die Symbolleiste zur Verfügung:

 

Legt für die Stückliste in der aktuellen Form eine Version in der Historie ab.
Löscht die markierte Stücklisten-Version. Hinweis: Das Löschen ist nur möglich, solange noch keine Projekt-Position mit dieser Stücklisten-Version erstellt wurde.
Lädt die ausgewählte Version der Stückliste und überschreibt damit die bestehende.

 

 

 


© 2016 Ingenious GmbH