Eigenschaften der Tabellenerweiterung mit den Eigenschaften der Tabelle vergleichen
Mit einer Tabellenerweiterung können Sie einige Eigenschaften in der Tabelle und in den Feldern überschreiben. Die Liste der Eigenschaften, die geändert werden können, ist jedoch begrenzt.
Sie können nur die folgenden Tabelleneigenschaften mithilfe einer Tabellenerweiterung ändern:
Untertitel
DataCaptionFields
Beschreibung
DrillDownPageId
LookupPageId
Ebenso können Sie nur die folgenden Feldeigenschaften ändern:
BlankZero
Untertitel
CaptionClass
Beschreibung
OptionCaption (nur für Datentypoption)
TableRelation
Breite (gibt an, wie groß ein Feld auf einer Seite angezeigt werden soll; gibt nicht die Länge eines Felds in einer Tabelle an)
Die Indexoptimierung ist ein wichtiges Tool, mit dem Partner Leistungsprobleme aufgrund von Datenverteilungen bearbeiten können, die sich von denen des Demounternehmens unterscheiden. Partner können Tabellen und Tabellenerweiterungen in einer Umgebung über eine Tabellenerweiterung Schlüssel (Indizes) hinzufügen. Es werden sowohl normale Schlüssel als auch SIFT-Schlüssel unterstützt.
Der folgende Code veranschaulicht einfache Beispiele für ein Tabellenobjekt und ein Tabellenerweiterungsobjekt.
table 50120 MyBaseTable
{
fields
{
field(1; MyBaseField1; Integer)
{
}
field(2; MyBaseField2; Integer)
{
}
}
keys
{
key(PK; MyBaseField1) //primary key
{
Clustered = true;
}
key(Key1; MyBaseField2) //secondary key
{
}
}
}
tableextension 50121 MyBaseTableExt extends MyBaseTable
{
fields
{
field(3; MyExtField1; Integer)
{
}
field(4; MyExtField2; Integer)
{
}
}
keys
{
key(ExtKey1; MyExtField1) //secondary key
{
}
key(ExtKey2; MyBaseField1, MyBaseField2) //secondary key
{
}
// The following key isn't allowed because it contains fields from the base table and the table extension
//key(ExtKey3; MyBaseField1, MyExtField2)
//{
//}
}
}
In Tabellenerweiterungsobjekten können Sie wie in einem Tabellenobjekt mehrere Schlüssel definieren. Es gelten jedoch folgende Beschränkungen:
In älteren Versionen von Business Central (Business Central 2020 Veröffentlichungszyklus 2 und älter) können Schlüssel in Tabellenerweiterungsobjekten nur Felder aus dem Tabellenerweiterungsobjekt selbst enthalten.
In höheren Versionen von Business Central (Business Central 2021 Veröffentlichungszyklus 1 und höher) können Schlüssel in Tabellenerweiterungsobjekten Felder aus dem Basistabellenobjekt und dem Tabellenerweiterungsobjekt enthalten. Ein einzelner Schlüssel kann jedoch keine Felder sowohl aus dem Basistabellenobjekt als auch aus dem Tabellenerweiterungsobjekt enthalten. Mit anderen Worten: Jeder Schlüssel muss Felder aus dem Basistabellenobjekt oder dem Tabellenerweiterungsobjekt enthalten.
Sie können denselben Schlüsselnamen in der Tabellenerweiterung verwenden, es sei denn, der Schlüssel enthält Felder aus dem Basistabellenobjekt.
Beachten Sie beim Entwickeln einer neuen Version einer Erweiterung die folgenden Einschränkungen, um Schemasynchronisierungsfehler zu vermeiden, die Sie daran hindern, die neue Version zu veröffentlichen:
Löschen Sie keine Primärschlüssel.
Fügen Sie keine Primärschlüsselfelder hinzu bzw. entfernen Sie sie nicht und ändern Sie ihre Reihenfolge nicht.
Ändern Sie nicht die Eigenschaften vorhandener Primärschlüssel.
Fügen Sie keine weiteren eindeutigen Schlüssel hinzu.
Fügen Sie keine weiteren gruppierten Schlüssel hinzu.
Fügen Sie keine Schlüssel hinzu, die Felder der Basistabelle sind.