<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.bergau.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Nimz</id>
	<title>OBS Wiki - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.bergau.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Nimz"/>
	<link rel="alternate" type="text/html" href="https://wiki.bergau.de/Spezial:Beitr%C3%A4ge/Nimz"/>
	<updated>2026-10-10T23:14:15Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://wiki.bergau.de/index.php?title=FRMUP_UB_AUFTRAVERT&amp;diff=64853</id>
		<title>FRMUP UB AUFTRAVERT</title>
		<link rel="alternate" type="text/html" href="https://wiki.bergau.de/index.php?title=FRMUP_UB_AUFTRAVERT&amp;diff=64853"/>
		<updated>2026-09-22T10:12:11Z</updated>

		<summary type="html">&lt;p&gt;Nimz: Weiterleitung nach OBS/Auftragsbearbeitung/Rahmenverträge erstellt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[OBS/Auftragsbearbeitung/Rahmenverträge]]&lt;/div&gt;</summary>
		<author><name>Nimz</name></author>
	</entry>
	<entry>
		<id>https://wiki.bergau.de/index.php?title=OBS/Kostenpflichtige_Module/Fleet_Management/SimpleClicksXML&amp;diff=64602</id>
		<title>OBS/Kostenpflichtige Module/Fleet Management/SimpleClicksXML</title>
		<link rel="alternate" type="text/html" href="https://wiki.bergau.de/index.php?title=OBS/Kostenpflichtige_Module/Fleet_Management/SimpleClicksXML&amp;diff=64602"/>
		<updated>2026-08-05T15:25:59Z</updated>

		<summary type="html">&lt;p&gt;Nimz: /* Reiter Einstellungen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{kostenpflichtige Module}}&lt;br /&gt;
[https://www.fleetmanager.eu/ SimpleClicks] ist eine Software der Firma [https://sequisoft.com/#simpleclicks SequiSoft GmbH]. Mit &amp;quot;SimpleClicks XML&amp;quot; unterstützt OBS den Import der Zählerstände aus den XML-Dateien von SimpleClicks. Der direkte Zugriff per SOAP-Schnittstelle wird &#039;&#039;&#039;nicht&#039;&#039;&#039; unterstützt.&lt;br /&gt;
=Maske=&lt;br /&gt;
Die Eingabemaske für SimpleClicks XML sieht wie folgt aus:&lt;br /&gt;
&lt;br /&gt;
[[image:Mps_maske_simpleclicksxml.jpg]]&lt;br /&gt;
==Kopf==&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Shoppflege / alternative Bezeichnung / Schlagworte&lt;br /&gt;
|-&lt;br /&gt;
! Feld !! Beschreibung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Nummer|| Nummer der Schnittstelle. Wird automatisch gefüllt und dient zur internen Zuordnung und Identifikation.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Fleet-Management Typ|| Typ der Schnittstelle. Werte für diese Schnittstelle &#039;&#039;&#039;docuFORM&#039;&#039;&#039;.&lt;br /&gt;
|}&lt;br /&gt;
==Reiter Einstellungen==&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Definitionen Daten&lt;br /&gt;
|-&lt;br /&gt;
! Feld !! Beschreibung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Nur{{nb_space}}Vertragsgeräte || Häkchen gesetzt sorgt dafür, dass Daten nur zu Geräten übernommen werden, die einem Vertrag zugeordnet sind.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Gerätestamm{{nb_space}}FM{{nb_hyphen}}Stammnummer{{nb_space}}setzen || Häkchen gesetzt sorgt dafür, dass im Import für gefundene Geräte (Datensatz Gerätestamm) das Häkchen &#039;&#039;FM-Gerät&#039;&#039; und die Schnittstelle als Importschnittstelle gesetzt wird. {{Hinweis|Theoretisch lassen sich Gerätedaten aus mehreren Quellen importieren (z. B. Geräteeigene E-Mails wie &#039;&#039;UTAX E-Mail&#039;&#039; aber gleichzeitig auch per &amp;quot;Managed Print Service&amp;quot;). Mit der Vorgabe einer Schnittstelle im Gerätestamm, werden nur noch Daten über die angegebene Schnittstelle importiert.}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| erweiterte{{nb_space}}Gerätesuche || Die Geräte werden anhand der Seriennummer identifiziert. Standardmäßig muss die in der Datei gelieferte Seriennummer mit der Seriennummer im Gerätestamm übereinstimmen. Es gibt jedoch Lieferanten, bei denen die Seriennummer an verschiedenen Stellen nicht 100% identisch geliefert wird (z. B. mit &amp;quot;0&amp;quot; aufgefüllt vs. ohne &amp;quot;0&amp;quot;). Haben Sie solche Geräte in den Daten kann über diese Option eine erweiterte Suche aktiviert werden. OBS findet so auch Geräte, deren Seriennummern im Vergleich zur gelieferten Seriennummer die vollständige Angabe in eine der beiden Richtungen finden kann.&amp;lt;br /&amp;gt;Beispiel:&amp;lt;br /&amp;gt;Gerätestamm-Seriennummer: ABCD123456&amp;lt;br /&amp;gt;Seriennummer in Daten:ABCD12345600&amp;lt;br /&amp;gt;Hier stimmt der Anfang der gelieferten Seriennummer vollständig mit der Seriennummer aus dem Gerätestamm überein und würde mit dieser Option gefunden werden.{{Hinweis|Es werden nur eindeutige Treffer verwendet. Sollte z. B. noch eine Seriennummer ABCD1234560 im Gerätestamm existieren, so gäbe es zwei Treffer und das gemeldete Gerät wäre nicht eindeutig zu identifizieren.}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Zählerstände{{nb_space}}einlesen || Aktiviert im Import die Anlage von Zählerständen.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Typspezifische Einstellungen&lt;br /&gt;
|-&lt;br /&gt;
! Feld !! Beschreibung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|  abw.{{nb_space}}Datei{{nb_hyphen}}Verzeichnis|| Der Import der Dateien erfolgt standardmäßig aus dem OBS-Verzeichnis &amp;quot;SimpleClicks&amp;quot; unter \data\fmimport. In diesem Feld können Sie ein weiteres Verzeichnis anlegen, falls die Dateien auf dem Server bzw. im lokalen Netzwerk vorliegen (z. B. durch den SimpleClicks-Client in dessen Arbeitsverzeichnis). Beim Import zieht OBS sich alle XML-Dateien, die mit &amp;quot;scCounters&amp;quot; beginnen, aus diesem Verzeichnis.{{Hinweis|Die Vorgabe &amp;quot;scCounters&amp;quot; gilt auch für den Import selbst! OBS wird die Dateien also nur verarbeiten, wenn die XML-Dateien mit dieser Bezeichnung beginnen.}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Archive&lt;br /&gt;
|-&lt;br /&gt;
! Feld !! Beschreibung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|  Archivierte{{nb_space}}Dateien{{nb_space}}löschen|| OBS löscht die die importierten Dateien nicht sofort, sondern legt diese in einem Archiv-Verzeichnis ab. So können später Importe geprüft oder neu ausgeführt werden. Damit dieses Archiv über die Zeit nicht übermäßig viele Dateien vorhält, können Sie hier die Löschbedingung definieren. Folgende Optionen stehen Ihnen zur Verfügung:&lt;br /&gt;
*;mit MPS-Zähler&lt;br /&gt;
:löscht die Dateien zusammen mit den MPS-Zählerständen. Diese werden standardmäßig nach 3 Jahren gelöscht (einstellbar in den [[OBS/Stammdaten/Programmparameter#E_-_Konfiguartion_Systemeinstellungen|System-Einstellungen]]).&lt;br /&gt;
*;maximal x Archive&lt;br /&gt;
:hält nur eine feste Anzahl an Archiven vor. Tragen Sie in &#039;&#039;&#039;x=&#039;&#039;&#039; ein, wie viele Archive beibehalten werden sollen. {{Hinweis|Es werden immer mindestens 5 Archive beibehalten!}}&lt;br /&gt;
*;älter als x Wochen&lt;br /&gt;
:hält eine variable Anzahl an Archiven vor. Die Löschung erfolgt nach Alter der Dateien. Tragen Sie in &#039;&#039;&#039;x=&#039;&#039;&#039; ein, wie viele Wochen zurück Sie die Dateien vorhalten möchten. {{Hinweis|Es werden immer mindestens 2 Wochen beibehalten!}}&lt;br /&gt;
*;älter als x Monate&lt;br /&gt;
:hält eine variable Anzahl an Archiven vor. Die Löschung erfolgt nach Alter der Dateien. Tragen Sie in &#039;&#039;&#039;x=&#039;&#039;&#039; ein, wie viele Monate zurück Sie die Dateien vorhalten möchten. {{Hinweis|Es wird immer mindestens 1 Monat beibehalten!}}&lt;br /&gt;
*;älter als x Jahre&lt;br /&gt;
:hält eine variable Anzahl an Archiven vor. Die Löschung erfolgt nach Alter der Dateien. Tragen Sie in &#039;&#039;&#039;x=&#039;&#039;&#039; ein, wie viele Jahre zurück Sie die Dateien vorhalten möchten. {{Hinweis|Es wird immer mindestens 1 Jahr beibehalten!}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Felder für Zählerstandsimport==&lt;br /&gt;
Die &#039;&#039;Reiter&#039;&#039; entsprechen den OBS-Zählern. Geben Sie hier im Feld &#039;&#039;Felder&#039;&#039; den jeweiligen Element-Namen ein, welcher für den entsprechenden OBS-Zähler übernommen werden soll. Mehrere Elemente sind mit Komma zu trennen. Die Werte aller angegebenen Elemente werden beim Import addiert.&lt;/div&gt;</summary>
		<author><name>Nimz</name></author>
	</entry>
	<entry>
		<id>https://wiki.bergau.de/index.php?title=OBS/Kostenpflichtige_Module/Fleet_Management/SimpleClicksXML&amp;diff=64601</id>
		<title>OBS/Kostenpflichtige Module/Fleet Management/SimpleClicksXML</title>
		<link rel="alternate" type="text/html" href="https://wiki.bergau.de/index.php?title=OBS/Kostenpflichtige_Module/Fleet_Management/SimpleClicksXML&amp;diff=64601"/>
		<updated>2026-08-05T12:56:05Z</updated>

		<summary type="html">&lt;p&gt;Nimz: /* Maske */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{kostenpflichtige Module}}&lt;br /&gt;
[https://www.fleetmanager.eu/ SimpleClicks] ist eine Software der Firma [https://sequisoft.com/#simpleclicks SequiSoft GmbH]. Mit &amp;quot;SimpleClicks XML&amp;quot; unterstützt OBS den Import der Zählerstände aus den XML-Dateien von SimpleClicks. Der direkte Zugriff per SOAP-Schnittstelle wird &#039;&#039;&#039;nicht&#039;&#039;&#039; unterstützt.&lt;br /&gt;
=Maske=&lt;br /&gt;
Die Eingabemaske für SimpleClicks XML sieht wie folgt aus:&lt;br /&gt;
&lt;br /&gt;
[[image:Mps_maske_simpleclicksxml.jpg]]&lt;br /&gt;
==Kopf==&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Shoppflege / alternative Bezeichnung / Schlagworte&lt;br /&gt;
|-&lt;br /&gt;
! Feld !! Beschreibung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Nummer|| Nummer der Schnittstelle. Wird automatisch gefüllt und dient zur internen Zuordnung und Identifikation.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Fleet-Management Typ|| Typ der Schnittstelle. Werte für diese Schnittstelle &#039;&#039;&#039;docuFORM&#039;&#039;&#039;.&lt;br /&gt;
|}&lt;br /&gt;
==Reiter Einstellungen==&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Definitionen Daten&lt;br /&gt;
|-&lt;br /&gt;
! Feld !! Beschreibung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Nur{{nb_space}}Vertragsgeräte || Häkchen gesetzt sorgt dafür, dass Daten nur zu Geräten übernommen werden, die einem Vertrag zugeordnet sind.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Gerätestamm{{nb_space}}FM{{nb_hyphen}}Stammnummer{{nb_space}}setzen || Häkchen gesetzt sorgt dafür, dass im Import für gefundene Geräte (Datensatz Gerätestamm) das Häkchen &#039;&#039;FM-Gerät&#039;&#039; und die Schnittstelle als Importschnittstelle gesetzt wird. {{Hinweis|Theoretisch lassen sich Gerätedaten aus mehreren Quellen importieren (z. B. Geräteeigene E-Mails wie &#039;&#039;UTAX E-Mail&#039;&#039; aber gleichzeitig auch per &amp;quot;Managed Print Service&amp;quot;). Mit der Vorgabe einer Schnittstelle im Gerätestamm, werden nur noch Daten über die angegebene Schnittstelle importiert.}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| erweiterte{{nb_space}}Gerätesuche || Die Geräte werden anhand der Seriennummer identifiziert. Standardmäßig muss die in der Datei gelieferte Seriennummer mit der Seriennummer im Gerätestamm übereinstimmen. Es gibt jedoch Lieferanten, bei denen die Seriennummer an verschiedenen Stellen nicht 100% identisch geliefert wird (z. B. mit &amp;quot;0&amp;quot; aufgefüllt vs. ohne &amp;quot;0&amp;quot;). Haben Sie solche Geräte in den Daten kann über diese Option eine erweiterte Suche aktiviert werden. OBS findet so auch Geräte, deren Seriennummern im Vergleich zur gelieferten Seriennummer die vollständige Angabe in eine der beiden Richtungen finden kann.&amp;lt;br /&amp;gt;Beispiel:&amp;lt;br /&amp;gt;Gerätestamm-Seriennummer: ABCD123456&amp;lt;br /&amp;gt;Seriennummer in Daten:ABCD12345600&amp;lt;br /&amp;gt;Hier stimmt der Anfang der gelieferten Seriennummer vollständig mit der Seriennummer aus dem Gerätestamm überein und würde mit dieser Option gefunden werden.{{Hinweis|Es werden nur eindeutige Treffer verwendet. Sollte z. B. noch eine Seriennummer ABCD1234560 im Gerätestamm existieren, so gäbe es zwei Treffer und das gemeldete Gerät wäre nicht eindeutig zu identifizieren.}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Zählerstände{{nb_space}}einlesen || Aktiviert im Import die Anlage von Zählerständen.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Typspezifische Einstellungen&lt;br /&gt;
|-&lt;br /&gt;
! Feld !! Beschreibung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|  abw.{{nb_space}}Datei{{nb_hyphen}}Verzeichnis|| Der Import der Dateien erfolgt standardmäßig aus dem OBS-Verzeichnis &amp;quot;SimpleClicks&amp;quot; unter \data\fmimport. In diesem Feld können Sie ein weiteres Verzeichnis anlegen, falls die Dateien auf dem Server bzw. im lokalen Netzwerk vorliegen (z. B. durch den SimpleClicks-Client in dessen Arbeitsverzeichnis). Beim Import zieht OBS sich alle XML-Dateien, die mit &amp;quot;scCounters&amp;quot; beginnen, aus diesem Verzeichnis.{{Hinweis|Die Vorgabe &amp;quot;scCounters&amp;quot; gilt auch für den Import selbst! OBS wird die Dateien also nur verarbeiten, wenn die XML-Dateien mit dieser Bezeichnung beginnen.}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Archive&lt;br /&gt;
|-&lt;br /&gt;
! Feld !! Beschreibung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|  Archivierte{{nb_space}}Dateien{{nb_space}}löschen|| OBS löscht die die importierten Dateien nicht sofort, sondern legt diese in einem Archiv-Verzeichnis ab. So können später Importe geprüft oder neu ausgeführt werden. Damit dieses Archiv über die Zeit nicht übermäßig viele Dateien vorhält, können Sie hier die Löschbedingung definieren.Folgende Optionen stehen Ihnen zur verfügung:&lt;br /&gt;
*;mit MPS-Zähler&lt;br /&gt;
:löscht die Dateien zusammen mit den MPS-Zählerständen. Diese werden standardmäßig nach 3 Jahren gelöscht (einstellbar in den [[OBS/Stammdaten/Programmparameter#E_-_Konfiguartion_Systemeinstellungen|System-Einstellungen]]).&lt;br /&gt;
*;maximal x Archive&lt;br /&gt;
:hält nur eine feste Anzahl an Archiven vor. Tragen Sie in &#039;&#039;&#039;x=&#039;&#039;&#039; ein, wie viele Archive beibehalten werden sollen. {{Hinweis|Es werden immer mindestens 5 Archive beibehalten!}}&lt;br /&gt;
*;älter als x Wochen&lt;br /&gt;
:hält eine variable Anzahl an Archiven vor. Die Löschung erfolgt nach Alter der Dateien. Tragen Sie in &#039;&#039;&#039;x=&#039;&#039;&#039; ein, wie viele Wochen zurück Sie die Dateien vorhalten möchten. {{Hinweis|Es werden immer mindestens 2 Wochen beibehalten!}}&lt;br /&gt;
*;älter als x Monate&lt;br /&gt;
:hält eine variable Anzahl an Archiven vor. Die Löschung erfolgt nach Alter der Dateien. Tragen Sie in &#039;&#039;&#039;x=&#039;&#039;&#039; ein, wie viele Monate zurück Sie die Dateien vorhalten möchten. {{Hinweis|Es wird immer mindestens 1 Monat beibehalten!}}&lt;br /&gt;
*;älter als x Jahre&lt;br /&gt;
:hält eine variable Anzahl an Archiven vor. Die Löschung erfolgt nach Alter der Dateien. Tragen Sie in &#039;&#039;&#039;x=&#039;&#039;&#039; ein, wie viele Jahre zurück Sie die Dateien vorhalten möchten. {{Hinweis|Es wird immer mindestens 1 Jahr beibehalten!}}&lt;br /&gt;
|}&lt;br /&gt;
==Felder für Zählerstandsimport==&lt;br /&gt;
Die &#039;&#039;Reiter&#039;&#039; entsprechen den OBS-Zählern. Geben Sie hier im Feld &#039;&#039;Felder&#039;&#039; den jeweiligen Element-Namen ein, welcher für den entsprechenden OBS-Zähler übernommen werden soll. Mehrere Elemente sind mit Komma zu trennen. Die Werte aller angegebenen Elemente werden beim Import addiert.&lt;/div&gt;</summary>
		<author><name>Nimz</name></author>
	</entry>
	<entry>
		<id>https://wiki.bergau.de/index.php?title=Datei:Mps_maske_simpleclicksxml.jpg&amp;diff=64600</id>
		<title>Datei:Mps maske simpleclicksxml.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.bergau.de/index.php?title=Datei:Mps_maske_simpleclicksxml.jpg&amp;diff=64600"/>
		<updated>2026-08-05T12:55:54Z</updated>

		<summary type="html">&lt;p&gt;Nimz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Nimz</name></author>
	</entry>
	<entry>
		<id>https://wiki.bergau.de/index.php?title=OBS/Kostenpflichtige_Module/Fleet_Management/SimpleClicksXML&amp;diff=64599</id>
		<title>OBS/Kostenpflichtige Module/Fleet Management/SimpleClicksXML</title>
		<link rel="alternate" type="text/html" href="https://wiki.bergau.de/index.php?title=OBS/Kostenpflichtige_Module/Fleet_Management/SimpleClicksXML&amp;diff=64599"/>
		<updated>2026-08-05T12:54:18Z</updated>

		<summary type="html">&lt;p&gt;Nimz: /* Stammdaten */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{kostenpflichtige Module}}&lt;br /&gt;
[https://www.fleetmanager.eu/ SimpleClicks] ist eine Software der Firma [https://sequisoft.com/#simpleclicks SequiSoft GmbH]. Mit &amp;quot;SimpleClicks XML&amp;quot; unterstützt OBS den Import der Zählerstände aus den XML-Dateien von SimpleClicks. Der direkte Zugriff per SOAP-Schnittstelle wird &#039;&#039;&#039;nicht&#039;&#039;&#039; unterstützt.&lt;br /&gt;
=Maske=&lt;br /&gt;
Die Eingabemaske für SimpleClicks XML sieht wie folgt aus:&lt;br /&gt;
&lt;br /&gt;
[[image:EditSimpleClicksXMLStamm.png]]&lt;br /&gt;
==Kopf==&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Shoppflege / alternative Bezeichnung / Schlagworte&lt;br /&gt;
|-&lt;br /&gt;
! Feld !! Beschreibung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Nummer|| Nummer der Schnittstelle. Wird automatisch gefüllt und dient zur internen Zuordnung und Identifikation.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Fleet-Management Typ|| Typ der Schnittstelle. Werte für diese Schnittstelle &#039;&#039;&#039;docuFORM&#039;&#039;&#039;.&lt;br /&gt;
|}&lt;br /&gt;
==Reiter Einstellungen==&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Definitionen Daten&lt;br /&gt;
|-&lt;br /&gt;
! Feld !! Beschreibung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Nur{{nb_space}}Vertragsgeräte || Häkchen gesetzt sorgt dafür, dass Daten nur zu Geräten übernommen werden, die einem Vertrag zugeordnet sind.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Gerätestamm{{nb_space}}FM{{nb_hyphen}}Stammnummer{{nb_space}}setzen || Häkchen gesetzt sorgt dafür, dass im Import für gefundene Geräte (Datensatz Gerätestamm) das Häkchen &#039;&#039;FM-Gerät&#039;&#039; und die Schnittstelle als Importschnittstelle gesetzt wird. {{Hinweis|Theoretisch lassen sich Gerätedaten aus mehreren Quellen importieren (z. B. Geräteeigene E-Mails wie &#039;&#039;UTAX E-Mail&#039;&#039; aber gleichzeitig auch per &amp;quot;Managed Print Service&amp;quot;). Mit der Vorgabe einer Schnittstelle im Gerätestamm, werden nur noch Daten über die angegebene Schnittstelle importiert.}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| erweiterte{{nb_space}}Gerätesuche || Die Geräte werden anhand der Seriennummer identifiziert. Standardmäßig muss die in der Datei gelieferte Seriennummer mit der Seriennummer im Gerätestamm übereinstimmen. Es gibt jedoch Lieferanten, bei denen die Seriennummer an verschiedenen Stellen nicht 100% identisch geliefert wird (z. B. mit &amp;quot;0&amp;quot; aufgefüllt vs. ohne &amp;quot;0&amp;quot;). Haben Sie solche Geräte in den Daten kann über diese Option eine erweiterte Suche aktiviert werden. OBS findet so auch Geräte, deren Seriennummern im Vergleich zur gelieferten Seriennummer die vollständige Angabe in eine der beiden Richtungen finden kann.&amp;lt;br /&amp;gt;Beispiel:&amp;lt;br /&amp;gt;Gerätestamm-Seriennummer: ABCD123456&amp;lt;br /&amp;gt;Seriennummer in Daten:ABCD12345600&amp;lt;br /&amp;gt;Hier stimmt der Anfang der gelieferten Seriennummer vollständig mit der Seriennummer aus dem Gerätestamm überein und würde mit dieser Option gefunden werden.{{Hinweis|Es werden nur eindeutige Treffer verwendet. Sollte z. B. noch eine Seriennummer ABCD1234560 im Gerätestamm existieren, so gäbe es zwei Treffer und das gemeldete Gerät wäre nicht eindeutig zu identifizieren.}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Zählerstände{{nb_space}}einlesen || Aktiviert im Import die Anlage von Zählerständen.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Typspezifische Einstellungen&lt;br /&gt;
|-&lt;br /&gt;
! Feld !! Beschreibung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|  abw.{{nb_space}}Datei{{nb_hyphen}}Verzeichnis|| Der Import der Dateien erfolgt standardmäßig aus dem OBS-Verzeichnis &amp;quot;SimpleClicks&amp;quot; unter \data\fmimport. In diesem Feld können Sie ein weiteres Verzeichnis anlegen, falls die Dateien auf dem Server bzw. im lokalen Netzwerk vorliegen (z. B. durch den SimpleClicks-Client in dessen Arbeitsverzeichnis). Beim Import zieht OBS sich alle XML-Dateien, die mit &amp;quot;scCounters&amp;quot; beginnen, aus diesem Verzeichnis.{{Hinweis|Die Vorgabe &amp;quot;scCounters&amp;quot; gilt auch für den Import selbst! OBS wird die Dateien also nur verarbeiten, wenn die XML-Dateien mit dieser Bezeichnung beginnen.}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Archive&lt;br /&gt;
|-&lt;br /&gt;
! Feld !! Beschreibung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|  Archivierte{{nb_space}}Dateien{{nb_space}}löschen|| OBS löscht die die importierten Dateien nicht sofort, sondern legt diese in einem Archiv-Verzeichnis ab. So können später Importe geprüft oder neu ausgeführt werden. Damit dieses Archiv über die Zeit nicht übermäßig viele Dateien vorhält, können Sie hier die Löschbedingung definieren.Folgende Optionen stehen Ihnen zur verfügung:&lt;br /&gt;
*;mit MPS-Zähler&lt;br /&gt;
:löscht die Dateien zusammen mit den MPS-Zählerständen. Diese werden standardmäßig nach 3 Jahren gelöscht (einstellbar in den [[OBS/Stammdaten/Programmparameter#E_-_Konfiguartion_Systemeinstellungen|System-Einstellungen]]).&lt;br /&gt;
*;maximal x Archive&lt;br /&gt;
:hält nur eine feste Anzahl an Archiven vor. Tragen Sie in &#039;&#039;&#039;x=&#039;&#039;&#039; ein, wie viele Archive beibehalten werden sollen. {{Hinweis|Es werden immer mindestens 5 Archive beibehalten!}}&lt;br /&gt;
*;älter als x Wochen&lt;br /&gt;
:hält eine variable Anzahl an Archiven vor. Die Löschung erfolgt nach Alter der Dateien. Tragen Sie in &#039;&#039;&#039;x=&#039;&#039;&#039; ein, wie viele Wochen zurück Sie die Dateien vorhalten möchten. {{Hinweis|Es werden immer mindestens 2 Wochen beibehalten!}}&lt;br /&gt;
*;älter als x Monate&lt;br /&gt;
:hält eine variable Anzahl an Archiven vor. Die Löschung erfolgt nach Alter der Dateien. Tragen Sie in &#039;&#039;&#039;x=&#039;&#039;&#039; ein, wie viele Monate zurück Sie die Dateien vorhalten möchten. {{Hinweis|Es wird immer mindestens 1 Monat beibehalten!}}&lt;br /&gt;
*;älter als x Jahre&lt;br /&gt;
:hält eine variable Anzahl an Archiven vor. Die Löschung erfolgt nach Alter der Dateien. Tragen Sie in &#039;&#039;&#039;x=&#039;&#039;&#039; ein, wie viele Jahre zurück Sie die Dateien vorhalten möchten. {{Hinweis|Es wird immer mindestens 1 Jahr beibehalten!}}&lt;br /&gt;
|}&lt;br /&gt;
==Felder für Zählerstandsimport==&lt;br /&gt;
Die &#039;&#039;Reiter&#039;&#039; entsprechen den OBS-Zählern. Geben Sie hier im Feld &#039;&#039;Felder&#039;&#039; den jeweiligen Element-Namen ein, welcher für den entsprechenden OBS-Zähler übernommen werden soll. Mehrere Elemente sind mit Komma zu trennen. Die Werte aller angegebenen Elemente werden beim Import addiert.&lt;/div&gt;</summary>
		<author><name>Nimz</name></author>
	</entry>
	<entry>
		<id>https://wiki.bergau.de/index.php?title=OBS/Kostenpflichtige_Module/Fleet_Management/SimpleClicksXML&amp;diff=64598</id>
		<title>OBS/Kostenpflichtige Module/Fleet Management/SimpleClicksXML</title>
		<link rel="alternate" type="text/html" href="https://wiki.bergau.de/index.php?title=OBS/Kostenpflichtige_Module/Fleet_Management/SimpleClicksXML&amp;diff=64598"/>
		<updated>2026-08-05T12:54:08Z</updated>

		<summary type="html">&lt;p&gt;Nimz: /* Stammdaten */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{kostenpflichtige Module}}&lt;br /&gt;
[https://www.fleetmanager.eu/ SimpleClicks] ist eine Software der Firma [https://sequisoft.com/#simpleclicks SequiSoft GmbH]. Mit &amp;quot;SimpleClicks XML&amp;quot; unterstützt OBS den Import der Zählerstände aus den XML-Dateien von SimpleClicks. Der direkte Zugriff per SOAP-Schnittstelle wird &#039;&#039;&#039;nicht&#039;&#039;&#039; unterstützt.&lt;br /&gt;
=Stammdaten=&lt;br /&gt;
Die Eingabemaske für SimpleClicks XML sieht wie folgt aus:&lt;br /&gt;
&lt;br /&gt;
[[image:EditSimpleClicksXMLStamm.png]]&lt;br /&gt;
==Kopf==&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Shoppflege / alternative Bezeichnung / Schlagworte&lt;br /&gt;
|-&lt;br /&gt;
! Feld !! Beschreibung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Nummer|| Nummer der Schnittstelle. Wird automatisch gefüllt und dient zur internen Zuordnung und Identifikation.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Fleet-Management Typ|| Typ der Schnittstelle. Werte für diese Schnittstelle &#039;&#039;&#039;docuFORM&#039;&#039;&#039;.&lt;br /&gt;
|}&lt;br /&gt;
==Reiter Einstellungen==&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Definitionen Daten&lt;br /&gt;
|-&lt;br /&gt;
! Feld !! Beschreibung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Nur{{nb_space}}Vertragsgeräte || Häkchen gesetzt sorgt dafür, dass Daten nur zu Geräten übernommen werden, die einem Vertrag zugeordnet sind.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Gerätestamm{{nb_space}}FM{{nb_hyphen}}Stammnummer{{nb_space}}setzen || Häkchen gesetzt sorgt dafür, dass im Import für gefundene Geräte (Datensatz Gerätestamm) das Häkchen &#039;&#039;FM-Gerät&#039;&#039; und die Schnittstelle als Importschnittstelle gesetzt wird. {{Hinweis|Theoretisch lassen sich Gerätedaten aus mehreren Quellen importieren (z. B. Geräteeigene E-Mails wie &#039;&#039;UTAX E-Mail&#039;&#039; aber gleichzeitig auch per &amp;quot;Managed Print Service&amp;quot;). Mit der Vorgabe einer Schnittstelle im Gerätestamm, werden nur noch Daten über die angegebene Schnittstelle importiert.}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| erweiterte{{nb_space}}Gerätesuche || Die Geräte werden anhand der Seriennummer identifiziert. Standardmäßig muss die in der Datei gelieferte Seriennummer mit der Seriennummer im Gerätestamm übereinstimmen. Es gibt jedoch Lieferanten, bei denen die Seriennummer an verschiedenen Stellen nicht 100% identisch geliefert wird (z. B. mit &amp;quot;0&amp;quot; aufgefüllt vs. ohne &amp;quot;0&amp;quot;). Haben Sie solche Geräte in den Daten kann über diese Option eine erweiterte Suche aktiviert werden. OBS findet so auch Geräte, deren Seriennummern im Vergleich zur gelieferten Seriennummer die vollständige Angabe in eine der beiden Richtungen finden kann.&amp;lt;br /&amp;gt;Beispiel:&amp;lt;br /&amp;gt;Gerätestamm-Seriennummer: ABCD123456&amp;lt;br /&amp;gt;Seriennummer in Daten:ABCD12345600&amp;lt;br /&amp;gt;Hier stimmt der Anfang der gelieferten Seriennummer vollständig mit der Seriennummer aus dem Gerätestamm überein und würde mit dieser Option gefunden werden.{{Hinweis|Es werden nur eindeutige Treffer verwendet. Sollte z. B. noch eine Seriennummer ABCD1234560 im Gerätestamm existieren, so gäbe es zwei Treffer und das gemeldete Gerät wäre nicht eindeutig zu identifizieren.}}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Zählerstände{{nb_space}}einlesen || Aktiviert im Import die Anlage von Zählerständen.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Typspezifische Einstellungen&lt;br /&gt;
|-&lt;br /&gt;
! Feld !! Beschreibung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|  abw.{{nb_space}}Datei{{nb_hyphen}}Verzeichnis|| Der Import der Dateien erfolgt standardmäßig aus dem OBS-Verzeichnis &amp;quot;SimpleClicks&amp;quot; unter \data\fmimport. In diesem Feld können Sie ein weiteres Verzeichnis anlegen, falls die Dateien auf dem Server bzw. im lokalen Netzwerk vorliegen (z. B. durch den SimpleClicks-Client in dessen Arbeitsverzeichnis). Beim Import zieht OBS sich alle XML-Dateien, die mit &amp;quot;scCounters&amp;quot; beginnen, aus diesem Verzeichnis.{{Hinweis|Die Vorgabe &amp;quot;scCounters&amp;quot; gilt auch für den Import selbst! OBS wird die Dateien also nur verarbeiten, wenn die XML-Dateien mit dieser Bezeichnung beginnen.}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Archive&lt;br /&gt;
|-&lt;br /&gt;
! Feld !! Beschreibung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|  Archivierte{{nb_space}}Dateien{{nb_space}}löschen|| OBS löscht die die importierten Dateien nicht sofort, sondern legt diese in einem Archiv-Verzeichnis ab. So können später Importe geprüft oder neu ausgeführt werden. Damit dieses Archiv über die Zeit nicht übermäßig viele Dateien vorhält, können Sie hier die Löschbedingung definieren.Folgende Optionen stehen Ihnen zur verfügung:&lt;br /&gt;
*;mit MPS-Zähler&lt;br /&gt;
:löscht die Dateien zusammen mit den MPS-Zählerständen. Diese werden standardmäßig nach 3 Jahren gelöscht (einstellbar in den [[OBS/Stammdaten/Programmparameter#E_-_Konfiguartion_Systemeinstellungen|System-Einstellungen]]).&lt;br /&gt;
*;maximal x Archive&lt;br /&gt;
:hält nur eine feste Anzahl an Archiven vor. Tragen Sie in &#039;&#039;&#039;x=&#039;&#039;&#039; ein, wie viele Archive beibehalten werden sollen. {{Hinweis|Es werden immer mindestens 5 Archive beibehalten!}}&lt;br /&gt;
*;älter als x Wochen&lt;br /&gt;
:hält eine variable Anzahl an Archiven vor. Die Löschung erfolgt nach Alter der Dateien. Tragen Sie in &#039;&#039;&#039;x=&#039;&#039;&#039; ein, wie viele Wochen zurück Sie die Dateien vorhalten möchten. {{Hinweis|Es werden immer mindestens 2 Wochen beibehalten!}}&lt;br /&gt;
*;älter als x Monate&lt;br /&gt;
:hält eine variable Anzahl an Archiven vor. Die Löschung erfolgt nach Alter der Dateien. Tragen Sie in &#039;&#039;&#039;x=&#039;&#039;&#039; ein, wie viele Monate zurück Sie die Dateien vorhalten möchten. {{Hinweis|Es wird immer mindestens 1 Monat beibehalten!}}&lt;br /&gt;
*;älter als x Jahre&lt;br /&gt;
:hält eine variable Anzahl an Archiven vor. Die Löschung erfolgt nach Alter der Dateien. Tragen Sie in &#039;&#039;&#039;x=&#039;&#039;&#039; ein, wie viele Jahre zurück Sie die Dateien vorhalten möchten. {{Hinweis|Es wird immer mindestens 1 Jahr beibehalten!}}&lt;br /&gt;
|}&lt;br /&gt;
==Felder für Zählerstandsimport==&lt;br /&gt;
Die &#039;&#039;Reiter&#039;&#039; entsprechen den OBS-Zählern. Geben Sie hier im Feld &#039;&#039;Felder&#039;&#039; den jeweiligen Element-Namen ein, welcher für den entsprechenden OBS-Zähler übernommen werden soll. Mehrere Elemente sind mit Komma zu trennen. Die Werte aller angegebenen Elemente werden beim Import addiert.&lt;/div&gt;</summary>
		<author><name>Nimz</name></author>
	</entry>
	<entry>
		<id>https://wiki.bergau.de/index.php?title=Kostenpflichtige_Module/Internet-Shop/brShop24/Preise_%C3%BCbertragen&amp;diff=64594</id>
		<title>Kostenpflichtige Module/Internet-Shop/brShop24/Preise übertragen</title>
		<link rel="alternate" type="text/html" href="https://wiki.bergau.de/index.php?title=Kostenpflichtige_Module/Internet-Shop/brShop24/Preise_%C3%BCbertragen&amp;diff=64594"/>
		<updated>2026-07-29T12:41:31Z</updated>

		<summary type="html">&lt;p&gt;Nimz: /* Weitere Funktionen (Artikel F10) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Vorlage:Kostenpflichtige Module}}&lt;br /&gt;
{{Achtung|Für die Preisübertragung wird das kostenpflichtige Modul [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] vorausgesetzt!}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Achtung|Es kann vorkommen, dass im Shop mehere Preiseinträge zu einer bestimmten Menge eines Artikels auftauchen. Siehe dazu FAQ [[#brshop24_faq_preis_4|Warum hat der Shop zwei Preiseinträge für einen Artikel?]].}}&lt;br /&gt;
=Voraussetzungen=&lt;br /&gt;
#[[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner#Depots.2FLager_in_Schnittstelle_brShop24|Depots]] sind eingerichtet (über Schnittstellenkonfiguration {{F8}})&lt;br /&gt;
#Preissystem im OBS ist auf das kostenpflichtige Modul [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] umgestellt&lt;br /&gt;
#Preisliste(n) ist/sind zum Zeitpunkt des Exports gültig.&amp;lt;br /&amp;gt;Eingabemaske [[OBS/Kostenpflichtige_Module/Preislisten|Preislistenverwaltung]]: &lt;br /&gt;
##Preisliste ist aktiv (Checkbox)&lt;br /&gt;
##aktuelles Datum ist innerhalb des Gültigkeitszeitraums (Datum von/bis)&lt;br /&gt;
##Gültigkeit enthält &amp;quot;Shop&amp;quot; (Default: &amp;quot;Shop &amp;amp; Kasse &amp;amp; WaWi&amp;quot;)&lt;br /&gt;
#Preisliste ist für Schnittstelle freigegeben (Häkchen gesetzt unter [[OBS/Kostenpflichtige_Module/Preislisten|Preislistenverwaltung]] &amp;amp;rarr; {{F10}} &amp;amp;rarr; S3)&lt;br /&gt;
#Kunden im Shop vorhanden&lt;br /&gt;
#Preisliste ist für mindestens einen der Kunden gültig (über Kundennummer in brShop24-Kundengruppe oder brShop24-Benutzer). Siehe dazu auch [[OBS/Preislisten/FAQ_Preislisten|FAQ Preislisten]] &amp;quot;Welche Möglichkeiten der Zuordnung gibt es?&amp;quot;.&lt;br /&gt;
#[[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] enthalten mindestens einen Artikel aus dem Shop&lt;br /&gt;
&lt;br /&gt;
=Shop-Menü: Preislisten verwalten=&lt;br /&gt;
==Preislisten verwalten==&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;ul&amp;gt; &lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:BrShop24_ShpPl.jpg|thumb|none|600px|Preislisten einer Schnittstelle]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
Die Liste zeigt Ihnen alle [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]], die bei &#039;&#039;&#039;bisherigen&#039;&#039;&#039; Exporten für die Schnittstelle übernommen wurden und welchen Status diese bei der letzten Übertragung bekommen haben. Aktive [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] werden dabei in schwarz angezeigt. Rote Einträge sind gelöschte [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]]. Außerdem wird wie in der [[OBS/Stammdaten/Artikel:_H2_-_Bildverwaltung|Bildverwaltung]] und [[OBS/Stammdaten/Artikel:_H3_-_Shoppflege/A_Texte|externen Artikeltexten]] in Fett die Zuordnung zur Schnittstelle hervorgehoben, indem die Zeile in Fett dargestellt wird.&lt;br /&gt;
{{Hinweis|&#039;&#039;&#039;&amp;quot;Bisherige Exporte&amp;quot;&#039;&#039;&#039; meint alle zuvor ausgeführten Übertragungen von [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] über diese Shop-Schnittstelle. Diese Liste ist als eine Art Historie zu sehen. Sie zeigt nur das Ergebnis der bisherigen Übertragung. Je nach Anpassungen in der [[OBS/Kostenpflichtige_Module/Preislisten|Preislistenverwaltung]] (Artikel oder Freigaben) oder Zuordnung zu Kunden kann das Ergebnis nach der nächsten Übertragung anders aussehen. Auch tauchen neue [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] erst in dieser Liste auf, sobald diese einmal über einen Preislistenexport übertragen wurde.}}&lt;br /&gt;
===Tasten und Schaltflächen (Preisliste)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Taste!! width=&amp;quot;800px&amp;quot;|Erklärung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F5 Mark}}|| Markiert einen Datensatz&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F6 Export}}|| Exportiert eine oder alle Preislisten (Auswahl).{{Hinweis|Die initiale Einzelübertragung neuer Preislisten muss über die [[OBS/Kostenpflichtige_Module/Preislisten|Preislistenverwaltung]] erfolgen.}}&amp;lt;br /&amp;gt;Auswahl&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
*A Alle&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; vollständige Aktualisierung aller Preislisten im Shop. Dies bezieht auch Preislisten ein, die in der Preislistenverwaltung neu erstellt wurden!&lt;br /&gt;
*B akt. Preisliste&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; Überträgt die aktuell gewählte Preisliste neu. Abhängig von den Einstellungen oder Daten wird hier die Preisliste aktualisiert oder &#039;&#039;gelöscht&#039;&#039;(!).&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F7 Artikel}}|| Zeigt eine [[#Liste_Artikel_zu_Preisliste|Liste]] der zur Preisliste selektierten Artikel u. a. mit Lager, Shop-Artikelnummer, Staffelmenge und Preis.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F9 PLV}}|| Öffnet die [[OBS/Kostenpflichtige_Module/Preislisten#Liste|Preislistenverwaltung]]&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F10 Weit.}}|| Zugriff auf [[#Weitere_Funktionen_(Preisliste_F10)|weitere Funktionen]] der Liste&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|Einfg Einf.}}|| Setzt Zuordnung zur aktuellen Schnittstelle für markierte oder aktuelle Preisliste(n).&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|Entf Lösch.}}|| Entfernt Zuordnung zur aktuellen Schnittstelle für markierte oder aktuelle Preisliste(n).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Weitere Funktionen (Preisliste F10)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Menüpunkt!! width=&amp;quot;800px&amp;quot;|Erklärung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| A1{{nb_space}}Analyse{{nb_hyphen}}Modus{{nb_space}}(shopbezogen)|| Schaltet den [[#Analyse-Modus|Analyse-Modus]] an bzw. aus. Es werden nur die in die in der Schnittstelle vorhandenen Preislisten analysiert.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| A2{{nb_space}}Analyse{{nb_hyphen}}Modus{{nb_space}}(alle)|| Schaltet den [[#Analyse-Modus|Analyse-Modus]] an bzw. aus. Es werden alle OBS-Preislisten analysiert.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| L1{{nb_space}}Preisliste{{nb_space}}leeren|| Leert im Shop die Preisliste. Das bedeutet, dass alle Preiseinträge der Preisliste gelöscht werden. Die Preisliste sollte direkt danach neu exportiert werden.{{Achtung|Dies löscht nicht die Preisliste! Die Preisliste hat im Shop lediglich keine Preiseinträge mehr. Ist ein löschen der Preisliste gewünscht, dann sollte die Shop-Zuordnung entfernt oder die Preisliste anderweitig deaktiviert und anschließend exportiert werden.}}&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| P{{nb_space}}Job{{nb_hyphen}}Protokolle{{nb_space}}zu{{nb_space}}Preisliste|| Öffnet ie [[Kostenpflichtige_Module/Internet-Shop/brShop24/Jobinformationen#Liste_Jobs|Protokollliste]] gefiltert nach Job für die Preisliste.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Z1{{nb_space}}Preislistenzuordnung{{nb_space}}neu{{nb_space}}übertragen{{nb_space}}(Person)|| Übertragen der Preislistenzuordnung einer Person{{Hinweis|Nur verfügbar über die Webshop-Einstellungen von Personen!}}&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Z2{{nb_space}}Preislistenzuordnung{{nb_space}}neu{{nb_space}}übertragen{{nb_space}}(Preisliste)|| Übertragen der Preislistenzuordnung der genannten Preisliste&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Z3{{nb_space}}Preislistenzuordnung{{nb_space}}neu{{nb_space}}übertragen{{nb_space}}(Alle)|| Übertragen der Preislistenzuordnung aller Preisliste&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Analyse-Modus (Preislisten)===&lt;br /&gt;
{{Hinweis|Abhängig von der Anzahl der Preislisten kann die Analyse einen Moment dauern, da dies für jede Preisliste ausgeführt wird!}}&lt;br /&gt;
Der Analyse-Modus zeigt Ihnen in einer eigenen Spalte &#039;&#039;Probleme&#039;&#039; Ursachen an, warum eine Preisliste nicht exportiert wird. Dies kann aktuell umfassen:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Problem!! width=&amp;quot;800px&amp;quot;|Erklärung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Nicht{{nb_space}}aktiv|| Die Preisliste ist nicht aktiviert (Häkchen in Maske).&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Außerhalb{{nb_space}}Gültigkeitszeitraum|| Das aktuelle Datum liegt außerhalb des in der Preisliste definierten Gültigkeitszeitraum (Datum von/bis).&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Typ{{nb_space}}enthält{{nb_space}}nicht{{nb_space}}Shop|| Die Preisliste ist auf WaWi und/oder Kasse beschränkt (Auswahlfeld in Preislistenmaske).&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Nicht{{nb_space}}der{{nb_space}}Schnittstelle{{nb_space}}zugeordnet|| Die Zuordnung zur Schnittstelle fehlt. Dies kann einfach mit {{Key|Einfg Einf.}} geändert werden.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Keine{{nb_space}}Personenzuordnung|| Es wurden keine Personen(nummern) zur Zuordnung gefunden. Je nach Zuordnung im OBS muss eine der Personennummern im Shop in mindestens einem Benutzer oder einer Kundengruppe vorkommen.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Keine{{nb_space}}Preise{{nb_space}}hinterlegt|| Die Preisliste verfügt über keine gültigen Preiseeinträge für den Export. Sollte Preiseinträge in der Preisliste vorhanden sein, können Sie dies mit dem Analyse-Modus der [[#Liste_Artikel_zu_Preisliste|Artikel-Liste]] ({{Key|F7 Artikel}}) prüfen.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Liste Artikel zu Preisliste==&lt;br /&gt;
{{Achtung|Verfügbar ab Version 004840!}}&lt;br /&gt;
Zeigt die historischen Preisdaten zur Preisliste, welche über die Schnittstelle verarbeitet wurden.&lt;br /&gt;
{{Hinweis|Die Selektion der Preisdaten passiert mit dem Export einer Preisliste. Diese Liste zeigt den Datenstand der letzten Selektion. Die hier angezeigten Preisdaten können daher von den aktuellen Preisen der Preisliste abweichen.}}&lt;br /&gt;
===Spalten===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Bezeichnung!! width=&amp;quot;800px&amp;quot;|Erläuterung&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| OBS-Art-Nr.|| Zeigt die OBS-Artikelnummer aus Ihrem [[OBS/Stammdaten/Artikel|Artikelstamm]] an&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Shop-Art.-Nr.|| Zeigt die Artikelnummer im Shop an unter der dieser Preisdatensatz gepflegt wird.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Lager|| Name des [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner|Shop-Lagers]]&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Bezeichnung|| Artikelbezeichnung; Zeigt Name 1 aus dem Artikel. Bei eigenen Artikeln wird - sofern gesetzt - die alternative Bezeichnung aus den [[OBS/Stammdaten/Artikel/Registerkarte:_Shop/Einstellungsliste/Artikelauswahl|Artikel-Shop-Einstellungen]] angezeigt.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Menge|| (Staffel-)Menge des Preisdatensatzes&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| VK Netto|| Netto-Preis des Preisdatensatzes&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Preisstatus|| Je nach status bei der letzten Selektion wird Ihnen hier &#039;&#039;Pflegen&#039;&#039; oder &#039;&#039;Löschen&#039;&#039; angezeigt.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Grund|| Zeigt den [[#Spalte_Grund|Grund]], warum ein Preis nicht exportiert werden kann bzw. konnte.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Aktualisiert|| Zeigt das Datum an dem OBS zuletzt den Preis per API in den Shop übertragen hat.{{Hinweis|Wird bei Datensätzen, deren letzte Änderung per API länger zurück liegt, nicht angezeigt, da diese Information im Datensatz selbst erst Version 004721 (November 2024) gespeichert wird.}}&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Gelöscht|| Zeigt das Datum an dem OBS zuletzt den Preis per API aus dem Shop gelöscht hat.{{Hinweis|Wird bei Datensätzen, deren letzte Änderung per API länger zurück liegt, nicht angezeigt, da diese Information im Datensatz selbst erst Version 004721 (November 2024) gespeichert wird.}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Spalte Grund===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Problem!! width=&amp;quot;800px&amp;quot;|Erklärung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Artikel{{nb_space}}inaktiv|| Im Artikelstamm ist das Häkchen &amp;quot;Inaktiv&amp;quot; gesetzt. Bei eigenen Artikeln ist dies ebenfalls abhängig von der Pflege-Einstellung (Allgemein und Lagerbezogen).&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Nicht{{nb_space}}lieferbar|| Abhängig von der Pflege (Lieferantenbezogen oder eigener Artikel ohne Lieferantenbezug) ist entweder kein oder der Lieferantbezogene EK-Eintrag als &amp;quot;nicht lieferbar&amp;quot; markiert.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Nicht{{nb_space}}für{{nb_space}}Shop{{nb_space}}freigegeben|| Artikel wurde (noch) nicht in die Liste der Shop-Artikel übernommen. Diese Liste erstellt OBS während des Preisexports automatisch auf Basis der Einstellungen in den Shop-Lager und Definitionen eigener Artikel. Sollte ein Artikel fehlen, ist entweder die Übernahme noch nicht ausgeführt wurden oder es fehlt ein benötigter Eintrag in den EK-Lieferanten oder die Freigabe als eigener Artikel.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Kein{{nb_space}}Matching|| Kann passieren, wenn sich z. B. eine Referenznummer wie die Bestellnummer ändert und OBS die Daten nicht mehr miteinander verknüpfen kann.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Vom{{nb_space}}Shop{{nb_space}}als{{nb_space}}fehlend{{nb_space}}gemeldet|| OBS hat für diesen Artikel (Referenz ist Lager + Referenznummer) in der Vergangenheit einen Preis übertragen. Die API hat den Preis jedoch nicht angelegt mit dem Grund, dass der Artikel nicht im Shop vorhanden ist. Der Artikel wird dann für das Lager von der Pflege ausgeschlossen. Ändern z. B. Artikel die Lagerzugehörigkeit (z. B. Zentrallager zu Außenlager) oder Artikel kommen früher über die Artikelpflege ins OBS, kann es zu diesem Problem kommen. Mit {{Key|F6 Check}} können Sie den Status prüfen lassen. Kann der Artikel darüber gefunden werden, aktiviert OBS die pflege wieder.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Menge{{nb_space}}&amp;lt;={{nb_space}}0|| Die Menge muss für eine gülige Definition einen positiven Wert haben.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| VK{{nb_space}}&amp;lt;={{nb_space}}0|| Preiseinträge mit 0 werden von der API gelöscht. Entsprechende VK-Preise werden von OBS daher im Vorfeld bereits abgelehnt.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| VK{{nb_space}}&amp;lt;={{nb_space}}EK|| Mit der Einstellung &#039;&#039;&#039;Export.Preise.Preis.VK.Check&#039;&#039;&#039; kann die Ertragsprüfung aktiviert werden. Es werden dann nur noch Preise übertragen, deren VK größer ist als der EK. Einzige Ausnahme sind Preislisten mit dem Häkchen &#039;&#039;&#039;Preisgarantie&#039;&#039;&#039;. Für diese Preislisten werden VK-Preise immer übertragen, sofern kein anderer Grund (z. B. VK ist 0) zur Ablehnung vorhanden ist.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Hervorhebungen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Stil!! width=&amp;quot;800px&amp;quot;|Bedeutung&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Kursiv|| Preis hat den Status &amp;quot;Löschen&amp;quot;.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Textfarbe Rot|| Artikel ist als &amp;quot;fehlend&amp;quot; markiert. Dies kann z. B. passieren, wenn Artikel im OBS bereits vorhanden sind, aber im Shop zum Zeitpunkt der Preispflege nicht gefunden/identifiziert werden können. OBS ignoriert &amp;quot;fehlende&amp;quot; Artikel im weiteren Verlauf. Sollte der Artikel im Shop vorhanden sein, können Sie mit {{Key|F6 Check}} eine neue Abfrage starten, um den Status zu ändern.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Textfarbe Grau|| Artikel ist inaktiv (Artikelstamm Häkchen &amp;quot;inaktiv&amp;quot;).&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Textfarbe Grün|| Eigener Artikel ist aktiv.&lt;br /&gt;
|}&lt;br /&gt;
===Tasten und Schaltflächen (Artikel)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Taste!! width=&amp;quot;800px&amp;quot;|Erklärung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F4 Sort}}|| Sortierung wechseln. Sortierungen mit dem Zusatz &amp;quot;(nicht gefunden)&amp;quot; zeigen nur die Einträge an, zu denen der Shop bei der letzten Übertragung den Artikel als &amp;quot;nicht gefunden&amp;quot; gemeldet hat.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F5 Mark}}|| Markiert einen Datensatz für die Verwendung in {{Key|F6 Check}} oder {{Key|F7 Zurück}}&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F6 Check}}|| Prüft für den aktuellen Datensatz, ob der zugehörige Artikel im Shop gefunden werden kann. Je nach Pflege Zeitpunkt kann es z.{{nb_space}}B. bei neuen Artikeln passieren, dass OBS einen Preis überträgt, der Artikel aber noch nicht im Shop angelegt wurde. Da OBS dann den Artikel für die weitere Pflege deaktiviert, muss der Artikel auf diese Weise erst wieder freigegeben werden.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F7 Zurück}}|| Setzt den aktuellen oder die markierten Preiseinträge zurück, so dass eine erneute Übertragung stattfindet.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F10 Weit.}}|| Zugriff auf weitere Funktionen der Liste.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Weitere Funktionen (Artikel F10)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Menüpunkt!! width=&amp;quot;800px&amp;quot;|Erklärung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| A{{nb_space}}Artikelstatus{{nb_space}}Massenprüfung|| Führt die Statusprüfung ({{Key|F6 Check}}) für für eine gewählte Gruppe von Artikeln der Preisliste aus. Gewählt werden kann zwischen:&lt;br /&gt;
*Vorhandene&lt;br /&gt;
*Fehlende&lt;br /&gt;
*Alle&lt;br /&gt;
{{Achtung|Diese Funktionalität ist für personenbezogene Preislisten mit wenigen Hundert Artikel gedacht. Bei größeren Preislisten kann die Abfrage entsprechend lange dauern!}}&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| D{{nb_space}}Datenabgleich{{nb_space}}mit{{nb_space}}brShop24{{nb_space}}API|| Fragt die Preisdaten zur Preisliste über die API ab und zeigt das Ergebnis in Spalte &#039;&#039;D&#039;&#039; mit Kürzeln an.&amp;lt;br /&amp;gt;F = Preis fehlt, sollte aber vorhanden sein&amp;lt;br /&amp;gt;V = Preis vorhanden, sollte aber gelöscht sein&amp;lt;br /&amp;gt;P = Preis ist vorhanden, jedoch abweichend{{Hinweis|Steht aktuell nur Benutzern mit Administratorlevel 9 für Shop-Schnittstellen zur Verfügung!}}&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| P{{nb_space}}Job{{nb_hyphen}}Protokolle{{nb_space}}zu{{nb_space}}Preis|| Aufruf der Job-Protokolle für den Preiseintrag.{{Hinweis|Für alte Preisexporte fehlt hier die Verknüpfung in den Protokolldaten. Diese können daher nicht geladen werden.}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Preisdaten exportieren=&lt;br /&gt;
Sie können Preise auf verschiedenen Wegen exportieren. Es werden dabei immer nur die Veränderungen zum letzten Export übertragen.&amp;lt;br /&amp;gt;&lt;br /&gt;
Gestartet werden kann der Export auf folgenden Wegen:&lt;br /&gt;
*Shop-Menü &amp;quot;B Preislisten verwalten&amp;quot;&lt;br /&gt;
:Per {{F6}} starten Sie hier den Export für alle Preislisten&lt;br /&gt;
*Preislistenverwaltung&lt;br /&gt;
:{{F10}} + S1{{Hinweis|Der Punkt ist erst sichtbar, wenn die Preisliste mindestens einer Shop-Schnittstelle zugeordnet ist.}}&lt;br /&gt;
*Personenstamm Webshop-Einstellungen&lt;br /&gt;
:{{F8}} für die Übertragung der personenbezogenen Preise. Dieser Punkt öffnet die Shop-Preislisten-Verwaltung mit einem Filter, so dass nur die Preislisten des Kunden angezeigt werden. Auch beim Export werden nur die Preislisten des Kunden übertragen.&lt;br /&gt;
{{Hinweis|OBS überträgt die Preise pro Liste &amp;quot;gesammelt&amp;quot; in einem &amp;quot;batch&amp;quot;-Modus. Das heißt es werden mehrere hundert Einträge auf einmal übertragen und vom Shop-Server auf eine Todo-Liste gesetzt. Diese Liste arbeitet der Server relativ zeitnah ab. Es kann daher dazu kommen, dass die Preise nach der Übertragung erst mit einer kurzen Verzögerung im Shop angezeigt werden. Die Verzögerung sollte jedoch nur wenige Minuten betragen.}}&lt;br /&gt;
&lt;br /&gt;
=Wie der Export funktioniert=&lt;br /&gt;
Für den Export selbst sind die im Shop vorhandenen Personen interessant. Preislisten im OBS, die nur Kunden zugeordnet sind, die gar nicht im Shop vorkommen, werden nicht exportiert.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Stellen Sie daher für den Export einer Preisliste folgendes sicher:&#039;&#039;&#039;&lt;br /&gt;
*mindestens ein Kunde, dem die Preisliste im OBS zugeordnet ist, ist im Shop vorhanden.&lt;br /&gt;
*die Preisliste ist aktiv und gültig:&lt;br /&gt;
**Häkchen in &amp;quot;Preisliste aktiv&amp;quot; ist gesetzt.&lt;br /&gt;
**Das aktuelles Datum liegt innerhalb des angegebenen Zeitraums (Datum von/bis) der Preisliste.&lt;br /&gt;
**Das Feld &amp;quot;Gültigkeit&amp;quot; enthält den Wert &#039;&#039;Shop&#039;&#039;.&lt;br /&gt;
**Preisliste ist für die Schnittstelle freigegeben (Preislistenverwaltung {{F10}} + S3)&lt;br /&gt;
*Die Preisliste enthält mindestens einen Artikel, der im Shop gepflegt ist. (siehe auch [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner#Depots.2FLager_in_Schnittstelle_brShop24|Depots brShop24]])&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Neben den genannten Voraussetzungen gibt es noch zwei Einstellungen, die auf die Übertragung einzelner Preise Auswirkungen haben:&lt;br /&gt;
*[[Kostenpflichtige_Module/Internet-Shop/brShop24/Konfiguration#Übersicht_aller_Einstellungen_für_brShop24|Konfiguration]] Export.Preise.Preis.VK.Check&lt;br /&gt;
:Wenn aktiviert, dann werden die VK-Preise mit den aktuellen EK-Preisen, abhängig der Preislisteneinstellung (aus Preisliste oder EK1 aus Artikelstamm) verglichen und der Preis nur exportiert, wenn VK &amp;gt; EK ist.&lt;br /&gt;
*[[OBS/Kostenpflichtige_Module/Preislisten|Preisliste]] Preisgarantie&lt;br /&gt;
:Preislisten mit gesetztem Häkchen in &#039;&#039;Preisgarantie&#039;&#039; werden in der Preisprüfung übersprungen.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
OBS ermittelt lokal die Änderungen zur letzten Übertragung. Dies passiert abhängig von den Übertragungsparameter für alle Preislisten, alle Preislisten einer Person(-ennummer) oder einer einzelnen Preisliste.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Preise werden nicht direkt in den Shop geschrieben. Der Shop erhält eine Liste der Preisdaten und legt diese in eine Aufgabenliste, welche dann automatisch abgearbeitet wird.&lt;br /&gt;
{{Achtung|Je nach Auslastung des Shop-Systems kann es also einige Minuten dauern, bis die Preise vollständig übernommen wurden.}}&lt;br /&gt;
{{Hinweis|Laut Informationen von Büroring werden 0-Preise in der API verworfen. OBS setzt entsprechende Preiseinträge intern auf den Status &amp;quot;löschen&amp;quot; und entfernt die jeweilige Preisstaffel aus dem Shop, sollte sie zuvor mit einem regulären Preis angelegt worden sein.}}&lt;br /&gt;
==Priorität und Bestprice-Findung==&lt;br /&gt;
Im Unterschied zum VShop gibt es im brShop24 eine Bestprice-Findung wie im OBS (siehe [[OBS/Preislisten/FAQ_Preislisten#preisfindung|FAQ Preislisten &amp;quot;Wie funktioniert die Preisfindung?&amp;quot;]]). Daher findet das Preislistenfeld &#039;&#039;Prio Shop&#039;&#039; in dieser Schnittstelle keine Anwendung. Die Preislisten erhalten im Shop also die gleiche Priorität, wie sie zum Zeitpunkt des Exports im OBS in &#039;&#039;Prio Preisfind.&#039;&#039; eingestellt ist und somit auch in der WaWi Anwendung finden würde.&lt;br /&gt;
{{Hinweis|Möglichweise muss die Bestprice-Findung im Shop aktiviert werden.}}&lt;br /&gt;
&lt;br /&gt;
=Häufig gestellt Fragen (FAQ)=&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|brshop24_faq_preis_1&lt;br /&gt;
|Warum fehlt Preisliste X im Shop?&lt;br /&gt;
|Es gibt ein paar Punkte, die es zu Prüfen gilt, wenn eine Preisliste in den Shop übertragen werden soll. Abhängig ist die Übertragung von folgenden Punkten:&lt;br /&gt;
#Preisliste ist aktiv und gültig (Datum beachten)&lt;br /&gt;
#Preisliste ist für den Shop freigegeben (Gültigkeit enthält &amp;quot;Shop&amp;quot; und Häkchen in Zuordnung ist für die Schnittstelle gesetzt)&lt;br /&gt;
#Preisliste ist mindestens einem Kunden im Shop zugeordnet&lt;br /&gt;
#Preisliste hat mindestens einen Artikel, der im Shop enthalten ist (siehe auch [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner#Depots.2FLager_in_Schnittstelle_brShop24|Depots brShop24]])&lt;br /&gt;
Siehe auch [[Kostenpflichtige_Module/Internet-Shop/brShop24/Preise_übertragen#Wie_der_Export_funktioniert|Wie der Export funktioniert]].&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|brshop24_faq_preis_2&lt;br /&gt;
|Warum wird eine Preisliste nicht in den Shop übertragen?&lt;br /&gt;
|Bitte beachten Sie hier die [[Kostenpflichtige_Module/Internet-Shop/brShop24/Preise_übertragen#Voraussetzungen|Voraussetzungen]] für die Übertragung von Preislisten. Der Knackpunkt bei der Übertragung von Preislisten ist der Abgleich der Artikel. Um den Datenverkehr möglichst gering zu halten, versucht OBS nur die benötigten Daten zu übertragen. Das bedeutet, dass Artikelpreise für Artikel  nicht übertragen werden, sollte der Artikel gar nicht im Shop vorkommen. Ein Abgleich aller Artikel mit dem Shop würde jedoch zu viel Zeit in Anspruch nehmen. Daher gleicht OBS die Daten über die in der Schnittstelle gepflegten [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner#Depots.2FLager_in_Schnittstelle_brShop24|Depots]] ab. Stellen Sie also sicher, dass die Depots entsprechend gepflegt sind.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|brshop24_faq_preis_3&lt;br /&gt;
|Ist es möglich die Artikelpreise automatisiert zu pflegen?&lt;br /&gt;
|Ja, dies ist möglich. Weitere Informationen finden Sie im Artikel zu den [[OBS/Internet-Shop/Einrichtung/Automatiken#Preise_aktualisieren|Shop-Automatiken]].&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|brshop24_faq_preis_4&lt;br /&gt;
|Warum hat der Shop zwei Preiseinträge für einen Artikel?&lt;br /&gt;
|Der Shop unterscheidet bei den Preisen auch nach der Einheit. Der Preisexport übergibt keine Einheit. Für den Preis übernimmt die API die Standard-Einheit des Artikels im Shop. Sollten Sie zwei Einträge zu einer bestimmten Menge bei einem Artikel mit unterschiedlicher Einheit vorfinden, so bekommen Sie dies über OBS nur bereinigt, indem Sie die Preisliste aus dem Shop nehmen und anschließend wieder anlegen.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Eine Preisliste können Sie aus dem Shop nehmen, indem Sie über das Shop-Menü in die Preislistenverwaltung für den Shop gehen. Suchen Sie die Preisliste und drücken Sie auf dem Datensatz {{Entf}}. Dies nimmt die Shop-Zuordnung aus der Preisliste. Danach exportieren Sie die einzelne Preisliste per {{F6}}. Anschließend drücken Sie {{Einfg}}, um die Shop-Zuordnung wieder zu setzen und exportieren erneut die Preisliste. Der erste Export löscht die Preisliste im Shop und der zweite Export legt die Daten neu an.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|brshop24_faq_preis_5&lt;br /&gt;
|Warum wird der Preis eines Artikels nicht in den Shop übertragen?&lt;br /&gt;
|Vorraussetzungen, damit Artikelpreise übertragen werden:&lt;br /&gt;
#Preisliste muss die Voraussetzungen für den Export erfüllen&lt;br /&gt;
#Der Preis selbst muss größer als 0 sein&lt;br /&gt;
#Der Artikel muss über ein [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner|Lager (Shop-Depot)]] mit der Schnittstelle verknüpft sein&lt;br /&gt;
#Artikel darf vom Shop nicht als fehlend gemeldet worden sein (betrifft Artikel, die durch Büroring gepflegt werden)&lt;br /&gt;
#Eigene Artikel müssen im OBS und für die Schnittstelle aktiv sein&lt;br /&gt;
Für eigene Artikel liegt die Pflege des Artikels im Shop bei Ihnen. Das Büroring-Sortiment wird von Büroring im Shop gepflegt. Die Pflege von Preisen für Büroringartikel ist somit abhängig von zwei Faktoren: Zeitpunkte der Pflege/Anlage im Shop und der Zeitpunkt im OBS. Hierzu gab es bereits diverse Meldungen, dass Artikelpreise nicht übertragen wurden, obwohl der Artikel im Shop vorkommt. Da OBS die zu übertragenen Artikel bei [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner#Zuordnung_von_Artikeln|entsprechender Einstellung]] über die EK-Informationen des Artikelstamms ermittelt und dann Preise für die &amp;quot;verfügbaren&amp;quot; Artikel übermittelt, muss der Shop zu dem Zeitpunkt den jeweiligen Artikel auch im jeweiligen Lager wiederfinden können. Ist dies nicht der Fall, meldet der Shop den entsprechenden Artikel als &amp;quot;fehlend&amp;quot; und OBS merkt sich diese Rückmeldung. &amp;quot;Fehlende&amp;quot; Artikel werden bei weiteren Exporten ignoriert. Es kann also vorkommen, dass ein Artikel aus OBS im Shop einen Preis bekommen sollte, den der Shop zu dem Zeitpunkt nicht in seinem Sortiment wiedergefunden hat. Sollten Sie zu diesen Artikeln den Preis vermissen, so prüfen Sie bitte die [[#Liste_Artikel_zu_Preisliste|Preisdaten]] zu zur Preisliste (siehe oben Verwaltung Shop-Preislisten {{Key|F7 Artikel}}) oder die [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner#Zuordnung_von_Artikeln|Artikelliste]] des jeweiligen Lagers. &amp;quot;Fehlende&amp;quot; Artikel werden hier rot dargestellt. Sie können außerdem per Sortierung sich nur die fehlenden Artikel anzeigen lassen. Ist der Artikel hier als &amp;quot;fehlend&amp;quot; markiert, so führen Sie auf dem Artikel stehend mit {{Key|F6 Check}} eine erneute Prüfung aus. Wird der Artikel gefunden, erhalten Sie eine entsprechende Rückmeldung und der Status wird geändert.&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Nimz</name></author>
	</entry>
	<entry>
		<id>https://wiki.bergau.de/index.php?title=Kostenpflichtige_Module/Internet-Shop/brShop24/Preise_%C3%BCbertragen&amp;diff=64593</id>
		<title>Kostenpflichtige Module/Internet-Shop/brShop24/Preise übertragen</title>
		<link rel="alternate" type="text/html" href="https://wiki.bergau.de/index.php?title=Kostenpflichtige_Module/Internet-Shop/brShop24/Preise_%C3%BCbertragen&amp;diff=64593"/>
		<updated>2026-07-29T12:41:14Z</updated>

		<summary type="html">&lt;p&gt;Nimz: /* Weitere Funktionen (Artikel F10) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Vorlage:Kostenpflichtige Module}}&lt;br /&gt;
{{Achtung|Für die Preisübertragung wird das kostenpflichtige Modul [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] vorausgesetzt!}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Achtung|Es kann vorkommen, dass im Shop mehere Preiseinträge zu einer bestimmten Menge eines Artikels auftauchen. Siehe dazu FAQ [[#brshop24_faq_preis_4|Warum hat der Shop zwei Preiseinträge für einen Artikel?]].}}&lt;br /&gt;
=Voraussetzungen=&lt;br /&gt;
#[[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner#Depots.2FLager_in_Schnittstelle_brShop24|Depots]] sind eingerichtet (über Schnittstellenkonfiguration {{F8}})&lt;br /&gt;
#Preissystem im OBS ist auf das kostenpflichtige Modul [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] umgestellt&lt;br /&gt;
#Preisliste(n) ist/sind zum Zeitpunkt des Exports gültig.&amp;lt;br /&amp;gt;Eingabemaske [[OBS/Kostenpflichtige_Module/Preislisten|Preislistenverwaltung]]: &lt;br /&gt;
##Preisliste ist aktiv (Checkbox)&lt;br /&gt;
##aktuelles Datum ist innerhalb des Gültigkeitszeitraums (Datum von/bis)&lt;br /&gt;
##Gültigkeit enthält &amp;quot;Shop&amp;quot; (Default: &amp;quot;Shop &amp;amp; Kasse &amp;amp; WaWi&amp;quot;)&lt;br /&gt;
#Preisliste ist für Schnittstelle freigegeben (Häkchen gesetzt unter [[OBS/Kostenpflichtige_Module/Preislisten|Preislistenverwaltung]] &amp;amp;rarr; {{F10}} &amp;amp;rarr; S3)&lt;br /&gt;
#Kunden im Shop vorhanden&lt;br /&gt;
#Preisliste ist für mindestens einen der Kunden gültig (über Kundennummer in brShop24-Kundengruppe oder brShop24-Benutzer). Siehe dazu auch [[OBS/Preislisten/FAQ_Preislisten|FAQ Preislisten]] &amp;quot;Welche Möglichkeiten der Zuordnung gibt es?&amp;quot;.&lt;br /&gt;
#[[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] enthalten mindestens einen Artikel aus dem Shop&lt;br /&gt;
&lt;br /&gt;
=Shop-Menü: Preislisten verwalten=&lt;br /&gt;
==Preislisten verwalten==&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;ul&amp;gt; &lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:BrShop24_ShpPl.jpg|thumb|none|600px|Preislisten einer Schnittstelle]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
Die Liste zeigt Ihnen alle [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]], die bei &#039;&#039;&#039;bisherigen&#039;&#039;&#039; Exporten für die Schnittstelle übernommen wurden und welchen Status diese bei der letzten Übertragung bekommen haben. Aktive [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] werden dabei in schwarz angezeigt. Rote Einträge sind gelöschte [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]]. Außerdem wird wie in der [[OBS/Stammdaten/Artikel:_H2_-_Bildverwaltung|Bildverwaltung]] und [[OBS/Stammdaten/Artikel:_H3_-_Shoppflege/A_Texte|externen Artikeltexten]] in Fett die Zuordnung zur Schnittstelle hervorgehoben, indem die Zeile in Fett dargestellt wird.&lt;br /&gt;
{{Hinweis|&#039;&#039;&#039;&amp;quot;Bisherige Exporte&amp;quot;&#039;&#039;&#039; meint alle zuvor ausgeführten Übertragungen von [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] über diese Shop-Schnittstelle. Diese Liste ist als eine Art Historie zu sehen. Sie zeigt nur das Ergebnis der bisherigen Übertragung. Je nach Anpassungen in der [[OBS/Kostenpflichtige_Module/Preislisten|Preislistenverwaltung]] (Artikel oder Freigaben) oder Zuordnung zu Kunden kann das Ergebnis nach der nächsten Übertragung anders aussehen. Auch tauchen neue [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] erst in dieser Liste auf, sobald diese einmal über einen Preislistenexport übertragen wurde.}}&lt;br /&gt;
===Tasten und Schaltflächen (Preisliste)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Taste!! width=&amp;quot;800px&amp;quot;|Erklärung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F5 Mark}}|| Markiert einen Datensatz&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F6 Export}}|| Exportiert eine oder alle Preislisten (Auswahl).{{Hinweis|Die initiale Einzelübertragung neuer Preislisten muss über die [[OBS/Kostenpflichtige_Module/Preislisten|Preislistenverwaltung]] erfolgen.}}&amp;lt;br /&amp;gt;Auswahl&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
*A Alle&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; vollständige Aktualisierung aller Preislisten im Shop. Dies bezieht auch Preislisten ein, die in der Preislistenverwaltung neu erstellt wurden!&lt;br /&gt;
*B akt. Preisliste&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; Überträgt die aktuell gewählte Preisliste neu. Abhängig von den Einstellungen oder Daten wird hier die Preisliste aktualisiert oder &#039;&#039;gelöscht&#039;&#039;(!).&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F7 Artikel}}|| Zeigt eine [[#Liste_Artikel_zu_Preisliste|Liste]] der zur Preisliste selektierten Artikel u. a. mit Lager, Shop-Artikelnummer, Staffelmenge und Preis.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F9 PLV}}|| Öffnet die [[OBS/Kostenpflichtige_Module/Preislisten#Liste|Preislistenverwaltung]]&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F10 Weit.}}|| Zugriff auf [[#Weitere_Funktionen_(Preisliste_F10)|weitere Funktionen]] der Liste&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|Einfg Einf.}}|| Setzt Zuordnung zur aktuellen Schnittstelle für markierte oder aktuelle Preisliste(n).&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|Entf Lösch.}}|| Entfernt Zuordnung zur aktuellen Schnittstelle für markierte oder aktuelle Preisliste(n).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Weitere Funktionen (Preisliste F10)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Menüpunkt!! width=&amp;quot;800px&amp;quot;|Erklärung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| A1{{nb_space}}Analyse{{nb_hyphen}}Modus{{nb_space}}(shopbezogen)|| Schaltet den [[#Analyse-Modus|Analyse-Modus]] an bzw. aus. Es werden nur die in die in der Schnittstelle vorhandenen Preislisten analysiert.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| A2{{nb_space}}Analyse{{nb_hyphen}}Modus{{nb_space}}(alle)|| Schaltet den [[#Analyse-Modus|Analyse-Modus]] an bzw. aus. Es werden alle OBS-Preislisten analysiert.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| L1{{nb_space}}Preisliste{{nb_space}}leeren|| Leert im Shop die Preisliste. Das bedeutet, dass alle Preiseinträge der Preisliste gelöscht werden. Die Preisliste sollte direkt danach neu exportiert werden.{{Achtung|Dies löscht nicht die Preisliste! Die Preisliste hat im Shop lediglich keine Preiseinträge mehr. Ist ein löschen der Preisliste gewünscht, dann sollte die Shop-Zuordnung entfernt oder die Preisliste anderweitig deaktiviert und anschließend exportiert werden.}}&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| P{{nb_space}}Job{{nb_hyphen}}Protokolle{{nb_space}}zu{{nb_space}}Preisliste|| Öffnet ie [[Kostenpflichtige_Module/Internet-Shop/brShop24/Jobinformationen#Liste_Jobs|Protokollliste]] gefiltert nach Job für die Preisliste.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Z1{{nb_space}}Preislistenzuordnung{{nb_space}}neu{{nb_space}}übertragen{{nb_space}}(Person)|| Übertragen der Preislistenzuordnung einer Person{{Hinweis|Nur verfügbar über die Webshop-Einstellungen von Personen!}}&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Z2{{nb_space}}Preislistenzuordnung{{nb_space}}neu{{nb_space}}übertragen{{nb_space}}(Preisliste)|| Übertragen der Preislistenzuordnung der genannten Preisliste&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Z3{{nb_space}}Preislistenzuordnung{{nb_space}}neu{{nb_space}}übertragen{{nb_space}}(Alle)|| Übertragen der Preislistenzuordnung aller Preisliste&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Analyse-Modus (Preislisten)===&lt;br /&gt;
{{Hinweis|Abhängig von der Anzahl der Preislisten kann die Analyse einen Moment dauern, da dies für jede Preisliste ausgeführt wird!}}&lt;br /&gt;
Der Analyse-Modus zeigt Ihnen in einer eigenen Spalte &#039;&#039;Probleme&#039;&#039; Ursachen an, warum eine Preisliste nicht exportiert wird. Dies kann aktuell umfassen:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Problem!! width=&amp;quot;800px&amp;quot;|Erklärung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Nicht{{nb_space}}aktiv|| Die Preisliste ist nicht aktiviert (Häkchen in Maske).&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Außerhalb{{nb_space}}Gültigkeitszeitraum|| Das aktuelle Datum liegt außerhalb des in der Preisliste definierten Gültigkeitszeitraum (Datum von/bis).&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Typ{{nb_space}}enthält{{nb_space}}nicht{{nb_space}}Shop|| Die Preisliste ist auf WaWi und/oder Kasse beschränkt (Auswahlfeld in Preislistenmaske).&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Nicht{{nb_space}}der{{nb_space}}Schnittstelle{{nb_space}}zugeordnet|| Die Zuordnung zur Schnittstelle fehlt. Dies kann einfach mit {{Key|Einfg Einf.}} geändert werden.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Keine{{nb_space}}Personenzuordnung|| Es wurden keine Personen(nummern) zur Zuordnung gefunden. Je nach Zuordnung im OBS muss eine der Personennummern im Shop in mindestens einem Benutzer oder einer Kundengruppe vorkommen.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Keine{{nb_space}}Preise{{nb_space}}hinterlegt|| Die Preisliste verfügt über keine gültigen Preiseeinträge für den Export. Sollte Preiseinträge in der Preisliste vorhanden sein, können Sie dies mit dem Analyse-Modus der [[#Liste_Artikel_zu_Preisliste|Artikel-Liste]] ({{Key|F7 Artikel}}) prüfen.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Liste Artikel zu Preisliste==&lt;br /&gt;
{{Achtung|Verfügbar ab Version 004840!}}&lt;br /&gt;
Zeigt die historischen Preisdaten zur Preisliste, welche über die Schnittstelle verarbeitet wurden.&lt;br /&gt;
{{Hinweis|Die Selektion der Preisdaten passiert mit dem Export einer Preisliste. Diese Liste zeigt den Datenstand der letzten Selektion. Die hier angezeigten Preisdaten können daher von den aktuellen Preisen der Preisliste abweichen.}}&lt;br /&gt;
===Spalten===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Bezeichnung!! width=&amp;quot;800px&amp;quot;|Erläuterung&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| OBS-Art-Nr.|| Zeigt die OBS-Artikelnummer aus Ihrem [[OBS/Stammdaten/Artikel|Artikelstamm]] an&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Shop-Art.-Nr.|| Zeigt die Artikelnummer im Shop an unter der dieser Preisdatensatz gepflegt wird.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Lager|| Name des [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner|Shop-Lagers]]&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Bezeichnung|| Artikelbezeichnung; Zeigt Name 1 aus dem Artikel. Bei eigenen Artikeln wird - sofern gesetzt - die alternative Bezeichnung aus den [[OBS/Stammdaten/Artikel/Registerkarte:_Shop/Einstellungsliste/Artikelauswahl|Artikel-Shop-Einstellungen]] angezeigt.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Menge|| (Staffel-)Menge des Preisdatensatzes&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| VK Netto|| Netto-Preis des Preisdatensatzes&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Preisstatus|| Je nach status bei der letzten Selektion wird Ihnen hier &#039;&#039;Pflegen&#039;&#039; oder &#039;&#039;Löschen&#039;&#039; angezeigt.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Grund|| Zeigt den [[#Spalte_Grund|Grund]], warum ein Preis nicht exportiert werden kann bzw. konnte.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Aktualisiert|| Zeigt das Datum an dem OBS zuletzt den Preis per API in den Shop übertragen hat.{{Hinweis|Wird bei Datensätzen, deren letzte Änderung per API länger zurück liegt, nicht angezeigt, da diese Information im Datensatz selbst erst Version 004721 (November 2024) gespeichert wird.}}&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Gelöscht|| Zeigt das Datum an dem OBS zuletzt den Preis per API aus dem Shop gelöscht hat.{{Hinweis|Wird bei Datensätzen, deren letzte Änderung per API länger zurück liegt, nicht angezeigt, da diese Information im Datensatz selbst erst Version 004721 (November 2024) gespeichert wird.}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Spalte Grund===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Problem!! width=&amp;quot;800px&amp;quot;|Erklärung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Artikel{{nb_space}}inaktiv|| Im Artikelstamm ist das Häkchen &amp;quot;Inaktiv&amp;quot; gesetzt. Bei eigenen Artikeln ist dies ebenfalls abhängig von der Pflege-Einstellung (Allgemein und Lagerbezogen).&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Nicht{{nb_space}}lieferbar|| Abhängig von der Pflege (Lieferantenbezogen oder eigener Artikel ohne Lieferantenbezug) ist entweder kein oder der Lieferantbezogene EK-Eintrag als &amp;quot;nicht lieferbar&amp;quot; markiert.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Nicht{{nb_space}}für{{nb_space}}Shop{{nb_space}}freigegeben|| Artikel wurde (noch) nicht in die Liste der Shop-Artikel übernommen. Diese Liste erstellt OBS während des Preisexports automatisch auf Basis der Einstellungen in den Shop-Lager und Definitionen eigener Artikel. Sollte ein Artikel fehlen, ist entweder die Übernahme noch nicht ausgeführt wurden oder es fehlt ein benötigter Eintrag in den EK-Lieferanten oder die Freigabe als eigener Artikel.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Kein{{nb_space}}Matching|| Kann passieren, wenn sich z. B. eine Referenznummer wie die Bestellnummer ändert und OBS die Daten nicht mehr miteinander verknüpfen kann.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Vom{{nb_space}}Shop{{nb_space}}als{{nb_space}}fehlend{{nb_space}}gemeldet|| OBS hat für diesen Artikel (Referenz ist Lager + Referenznummer) in der Vergangenheit einen Preis übertragen. Die API hat den Preis jedoch nicht angelegt mit dem Grund, dass der Artikel nicht im Shop vorhanden ist. Der Artikel wird dann für das Lager von der Pflege ausgeschlossen. Ändern z. B. Artikel die Lagerzugehörigkeit (z. B. Zentrallager zu Außenlager) oder Artikel kommen früher über die Artikelpflege ins OBS, kann es zu diesem Problem kommen. Mit {{Key|F6 Check}} können Sie den Status prüfen lassen. Kann der Artikel darüber gefunden werden, aktiviert OBS die pflege wieder.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Menge{{nb_space}}&amp;lt;={{nb_space}}0|| Die Menge muss für eine gülige Definition einen positiven Wert haben.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| VK{{nb_space}}&amp;lt;={{nb_space}}0|| Preiseinträge mit 0 werden von der API gelöscht. Entsprechende VK-Preise werden von OBS daher im Vorfeld bereits abgelehnt.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| VK{{nb_space}}&amp;lt;={{nb_space}}EK|| Mit der Einstellung &#039;&#039;&#039;Export.Preise.Preis.VK.Check&#039;&#039;&#039; kann die Ertragsprüfung aktiviert werden. Es werden dann nur noch Preise übertragen, deren VK größer ist als der EK. Einzige Ausnahme sind Preislisten mit dem Häkchen &#039;&#039;&#039;Preisgarantie&#039;&#039;&#039;. Für diese Preislisten werden VK-Preise immer übertragen, sofern kein anderer Grund (z. B. VK ist 0) zur Ablehnung vorhanden ist.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Hervorhebungen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Stil!! width=&amp;quot;800px&amp;quot;|Bedeutung&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Kursiv|| Preis hat den Status &amp;quot;Löschen&amp;quot;.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Textfarbe Rot|| Artikel ist als &amp;quot;fehlend&amp;quot; markiert. Dies kann z. B. passieren, wenn Artikel im OBS bereits vorhanden sind, aber im Shop zum Zeitpunkt der Preispflege nicht gefunden/identifiziert werden können. OBS ignoriert &amp;quot;fehlende&amp;quot; Artikel im weiteren Verlauf. Sollte der Artikel im Shop vorhanden sein, können Sie mit {{Key|F6 Check}} eine neue Abfrage starten, um den Status zu ändern.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Textfarbe Grau|| Artikel ist inaktiv (Artikelstamm Häkchen &amp;quot;inaktiv&amp;quot;).&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Textfarbe Grün|| Eigener Artikel ist aktiv.&lt;br /&gt;
|}&lt;br /&gt;
===Tasten und Schaltflächen (Artikel)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Taste!! width=&amp;quot;800px&amp;quot;|Erklärung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F4 Sort}}|| Sortierung wechseln. Sortierungen mit dem Zusatz &amp;quot;(nicht gefunden)&amp;quot; zeigen nur die Einträge an, zu denen der Shop bei der letzten Übertragung den Artikel als &amp;quot;nicht gefunden&amp;quot; gemeldet hat.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F5 Mark}}|| Markiert einen Datensatz für die Verwendung in {{Key|F6 Check}} oder {{Key|F7 Zurück}}&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F6 Check}}|| Prüft für den aktuellen Datensatz, ob der zugehörige Artikel im Shop gefunden werden kann. Je nach Pflege Zeitpunkt kann es z.{{nb_space}}B. bei neuen Artikeln passieren, dass OBS einen Preis überträgt, der Artikel aber noch nicht im Shop angelegt wurde. Da OBS dann den Artikel für die weitere Pflege deaktiviert, muss der Artikel auf diese Weise erst wieder freigegeben werden.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F7 Zurück}}|| Setzt den aktuellen oder die markierten Preiseinträge zurück, so dass eine erneute Übertragung stattfindet.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F10 Weit.}}|| Zugriff auf weitere Funktionen der Liste.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Weitere Funktionen (Artikel F10)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Menüpunkt!! width=&amp;quot;800px&amp;quot;|Erklärung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| A{{nb_space}}Artikelstatus{{nb_space}}Massenprüfung|| Führt die Statusprüfung ({{Key|F6 Check}}) für für eine gewählte Gruppe von Artikeln der Preisliste aus. Gewählt werden kann zwischen:&lt;br /&gt;
*Vorhandene&lt;br /&gt;
*Fehlende&lt;br /&gt;
*Alle&lt;br /&gt;
{{Achtung|Diese Funktionalität ist für personenbezogene Preislisten mit wenigen Hundert Artikel gedacht. Bei größeren Preislisten kann die Abfrage entsprechend lange dauern!}}&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| D{{nb_space}}Datenabgleich{{nb_space}}mit{{nb_space}}brShop24{{nb_space}}API|| Fragt die Preisdaten zur Preisliste über die API ab und zeigt das Ergebnis in Spalte &#039;&#039;D&#039;&#039; mit Kürzeln an.&amp;lt;br /&amp;gt;F = Preis fehlt, sollte aber vorhanden sein&amp;lt;br /&amp;gt;F = Preis vorhanden, sollte aber gelöscht sein&amp;lt;br /&amp;gt;P = Preis ist vorhanden, jedoch abweichend{{Hinweis|Steht aktuell nur Benutzern mit Administratorlevel 9 für Shop-Schnittstellen zur Verfügung!}}&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| P{{nb_space}}Job{{nb_hyphen}}Protokolle{{nb_space}}zu{{nb_space}}Preis|| Aufruf der Job-Protokolle für den Preiseintrag.{{Hinweis|Für alte Preisexporte fehlt hier die Verknüpfung in den Protokolldaten. Diese können daher nicht geladen werden.}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Preisdaten exportieren=&lt;br /&gt;
Sie können Preise auf verschiedenen Wegen exportieren. Es werden dabei immer nur die Veränderungen zum letzten Export übertragen.&amp;lt;br /&amp;gt;&lt;br /&gt;
Gestartet werden kann der Export auf folgenden Wegen:&lt;br /&gt;
*Shop-Menü &amp;quot;B Preislisten verwalten&amp;quot;&lt;br /&gt;
:Per {{F6}} starten Sie hier den Export für alle Preislisten&lt;br /&gt;
*Preislistenverwaltung&lt;br /&gt;
:{{F10}} + S1{{Hinweis|Der Punkt ist erst sichtbar, wenn die Preisliste mindestens einer Shop-Schnittstelle zugeordnet ist.}}&lt;br /&gt;
*Personenstamm Webshop-Einstellungen&lt;br /&gt;
:{{F8}} für die Übertragung der personenbezogenen Preise. Dieser Punkt öffnet die Shop-Preislisten-Verwaltung mit einem Filter, so dass nur die Preislisten des Kunden angezeigt werden. Auch beim Export werden nur die Preislisten des Kunden übertragen.&lt;br /&gt;
{{Hinweis|OBS überträgt die Preise pro Liste &amp;quot;gesammelt&amp;quot; in einem &amp;quot;batch&amp;quot;-Modus. Das heißt es werden mehrere hundert Einträge auf einmal übertragen und vom Shop-Server auf eine Todo-Liste gesetzt. Diese Liste arbeitet der Server relativ zeitnah ab. Es kann daher dazu kommen, dass die Preise nach der Übertragung erst mit einer kurzen Verzögerung im Shop angezeigt werden. Die Verzögerung sollte jedoch nur wenige Minuten betragen.}}&lt;br /&gt;
&lt;br /&gt;
=Wie der Export funktioniert=&lt;br /&gt;
Für den Export selbst sind die im Shop vorhandenen Personen interessant. Preislisten im OBS, die nur Kunden zugeordnet sind, die gar nicht im Shop vorkommen, werden nicht exportiert.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Stellen Sie daher für den Export einer Preisliste folgendes sicher:&#039;&#039;&#039;&lt;br /&gt;
*mindestens ein Kunde, dem die Preisliste im OBS zugeordnet ist, ist im Shop vorhanden.&lt;br /&gt;
*die Preisliste ist aktiv und gültig:&lt;br /&gt;
**Häkchen in &amp;quot;Preisliste aktiv&amp;quot; ist gesetzt.&lt;br /&gt;
**Das aktuelles Datum liegt innerhalb des angegebenen Zeitraums (Datum von/bis) der Preisliste.&lt;br /&gt;
**Das Feld &amp;quot;Gültigkeit&amp;quot; enthält den Wert &#039;&#039;Shop&#039;&#039;.&lt;br /&gt;
**Preisliste ist für die Schnittstelle freigegeben (Preislistenverwaltung {{F10}} + S3)&lt;br /&gt;
*Die Preisliste enthält mindestens einen Artikel, der im Shop gepflegt ist. (siehe auch [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner#Depots.2FLager_in_Schnittstelle_brShop24|Depots brShop24]])&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Neben den genannten Voraussetzungen gibt es noch zwei Einstellungen, die auf die Übertragung einzelner Preise Auswirkungen haben:&lt;br /&gt;
*[[Kostenpflichtige_Module/Internet-Shop/brShop24/Konfiguration#Übersicht_aller_Einstellungen_für_brShop24|Konfiguration]] Export.Preise.Preis.VK.Check&lt;br /&gt;
:Wenn aktiviert, dann werden die VK-Preise mit den aktuellen EK-Preisen, abhängig der Preislisteneinstellung (aus Preisliste oder EK1 aus Artikelstamm) verglichen und der Preis nur exportiert, wenn VK &amp;gt; EK ist.&lt;br /&gt;
*[[OBS/Kostenpflichtige_Module/Preislisten|Preisliste]] Preisgarantie&lt;br /&gt;
:Preislisten mit gesetztem Häkchen in &#039;&#039;Preisgarantie&#039;&#039; werden in der Preisprüfung übersprungen.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
OBS ermittelt lokal die Änderungen zur letzten Übertragung. Dies passiert abhängig von den Übertragungsparameter für alle Preislisten, alle Preislisten einer Person(-ennummer) oder einer einzelnen Preisliste.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Preise werden nicht direkt in den Shop geschrieben. Der Shop erhält eine Liste der Preisdaten und legt diese in eine Aufgabenliste, welche dann automatisch abgearbeitet wird.&lt;br /&gt;
{{Achtung|Je nach Auslastung des Shop-Systems kann es also einige Minuten dauern, bis die Preise vollständig übernommen wurden.}}&lt;br /&gt;
{{Hinweis|Laut Informationen von Büroring werden 0-Preise in der API verworfen. OBS setzt entsprechende Preiseinträge intern auf den Status &amp;quot;löschen&amp;quot; und entfernt die jeweilige Preisstaffel aus dem Shop, sollte sie zuvor mit einem regulären Preis angelegt worden sein.}}&lt;br /&gt;
==Priorität und Bestprice-Findung==&lt;br /&gt;
Im Unterschied zum VShop gibt es im brShop24 eine Bestprice-Findung wie im OBS (siehe [[OBS/Preislisten/FAQ_Preislisten#preisfindung|FAQ Preislisten &amp;quot;Wie funktioniert die Preisfindung?&amp;quot;]]). Daher findet das Preislistenfeld &#039;&#039;Prio Shop&#039;&#039; in dieser Schnittstelle keine Anwendung. Die Preislisten erhalten im Shop also die gleiche Priorität, wie sie zum Zeitpunkt des Exports im OBS in &#039;&#039;Prio Preisfind.&#039;&#039; eingestellt ist und somit auch in der WaWi Anwendung finden würde.&lt;br /&gt;
{{Hinweis|Möglichweise muss die Bestprice-Findung im Shop aktiviert werden.}}&lt;br /&gt;
&lt;br /&gt;
=Häufig gestellt Fragen (FAQ)=&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|brshop24_faq_preis_1&lt;br /&gt;
|Warum fehlt Preisliste X im Shop?&lt;br /&gt;
|Es gibt ein paar Punkte, die es zu Prüfen gilt, wenn eine Preisliste in den Shop übertragen werden soll. Abhängig ist die Übertragung von folgenden Punkten:&lt;br /&gt;
#Preisliste ist aktiv und gültig (Datum beachten)&lt;br /&gt;
#Preisliste ist für den Shop freigegeben (Gültigkeit enthält &amp;quot;Shop&amp;quot; und Häkchen in Zuordnung ist für die Schnittstelle gesetzt)&lt;br /&gt;
#Preisliste ist mindestens einem Kunden im Shop zugeordnet&lt;br /&gt;
#Preisliste hat mindestens einen Artikel, der im Shop enthalten ist (siehe auch [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner#Depots.2FLager_in_Schnittstelle_brShop24|Depots brShop24]])&lt;br /&gt;
Siehe auch [[Kostenpflichtige_Module/Internet-Shop/brShop24/Preise_übertragen#Wie_der_Export_funktioniert|Wie der Export funktioniert]].&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|brshop24_faq_preis_2&lt;br /&gt;
|Warum wird eine Preisliste nicht in den Shop übertragen?&lt;br /&gt;
|Bitte beachten Sie hier die [[Kostenpflichtige_Module/Internet-Shop/brShop24/Preise_übertragen#Voraussetzungen|Voraussetzungen]] für die Übertragung von Preislisten. Der Knackpunkt bei der Übertragung von Preislisten ist der Abgleich der Artikel. Um den Datenverkehr möglichst gering zu halten, versucht OBS nur die benötigten Daten zu übertragen. Das bedeutet, dass Artikelpreise für Artikel  nicht übertragen werden, sollte der Artikel gar nicht im Shop vorkommen. Ein Abgleich aller Artikel mit dem Shop würde jedoch zu viel Zeit in Anspruch nehmen. Daher gleicht OBS die Daten über die in der Schnittstelle gepflegten [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner#Depots.2FLager_in_Schnittstelle_brShop24|Depots]] ab. Stellen Sie also sicher, dass die Depots entsprechend gepflegt sind.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|brshop24_faq_preis_3&lt;br /&gt;
|Ist es möglich die Artikelpreise automatisiert zu pflegen?&lt;br /&gt;
|Ja, dies ist möglich. Weitere Informationen finden Sie im Artikel zu den [[OBS/Internet-Shop/Einrichtung/Automatiken#Preise_aktualisieren|Shop-Automatiken]].&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|brshop24_faq_preis_4&lt;br /&gt;
|Warum hat der Shop zwei Preiseinträge für einen Artikel?&lt;br /&gt;
|Der Shop unterscheidet bei den Preisen auch nach der Einheit. Der Preisexport übergibt keine Einheit. Für den Preis übernimmt die API die Standard-Einheit des Artikels im Shop. Sollten Sie zwei Einträge zu einer bestimmten Menge bei einem Artikel mit unterschiedlicher Einheit vorfinden, so bekommen Sie dies über OBS nur bereinigt, indem Sie die Preisliste aus dem Shop nehmen und anschließend wieder anlegen.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Eine Preisliste können Sie aus dem Shop nehmen, indem Sie über das Shop-Menü in die Preislistenverwaltung für den Shop gehen. Suchen Sie die Preisliste und drücken Sie auf dem Datensatz {{Entf}}. Dies nimmt die Shop-Zuordnung aus der Preisliste. Danach exportieren Sie die einzelne Preisliste per {{F6}}. Anschließend drücken Sie {{Einfg}}, um die Shop-Zuordnung wieder zu setzen und exportieren erneut die Preisliste. Der erste Export löscht die Preisliste im Shop und der zweite Export legt die Daten neu an.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|brshop24_faq_preis_5&lt;br /&gt;
|Warum wird der Preis eines Artikels nicht in den Shop übertragen?&lt;br /&gt;
|Vorraussetzungen, damit Artikelpreise übertragen werden:&lt;br /&gt;
#Preisliste muss die Voraussetzungen für den Export erfüllen&lt;br /&gt;
#Der Preis selbst muss größer als 0 sein&lt;br /&gt;
#Der Artikel muss über ein [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner|Lager (Shop-Depot)]] mit der Schnittstelle verknüpft sein&lt;br /&gt;
#Artikel darf vom Shop nicht als fehlend gemeldet worden sein (betrifft Artikel, die durch Büroring gepflegt werden)&lt;br /&gt;
#Eigene Artikel müssen im OBS und für die Schnittstelle aktiv sein&lt;br /&gt;
Für eigene Artikel liegt die Pflege des Artikels im Shop bei Ihnen. Das Büroring-Sortiment wird von Büroring im Shop gepflegt. Die Pflege von Preisen für Büroringartikel ist somit abhängig von zwei Faktoren: Zeitpunkte der Pflege/Anlage im Shop und der Zeitpunkt im OBS. Hierzu gab es bereits diverse Meldungen, dass Artikelpreise nicht übertragen wurden, obwohl der Artikel im Shop vorkommt. Da OBS die zu übertragenen Artikel bei [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner#Zuordnung_von_Artikeln|entsprechender Einstellung]] über die EK-Informationen des Artikelstamms ermittelt und dann Preise für die &amp;quot;verfügbaren&amp;quot; Artikel übermittelt, muss der Shop zu dem Zeitpunkt den jeweiligen Artikel auch im jeweiligen Lager wiederfinden können. Ist dies nicht der Fall, meldet der Shop den entsprechenden Artikel als &amp;quot;fehlend&amp;quot; und OBS merkt sich diese Rückmeldung. &amp;quot;Fehlende&amp;quot; Artikel werden bei weiteren Exporten ignoriert. Es kann also vorkommen, dass ein Artikel aus OBS im Shop einen Preis bekommen sollte, den der Shop zu dem Zeitpunkt nicht in seinem Sortiment wiedergefunden hat. Sollten Sie zu diesen Artikeln den Preis vermissen, so prüfen Sie bitte die [[#Liste_Artikel_zu_Preisliste|Preisdaten]] zu zur Preisliste (siehe oben Verwaltung Shop-Preislisten {{Key|F7 Artikel}}) oder die [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner#Zuordnung_von_Artikeln|Artikelliste]] des jeweiligen Lagers. &amp;quot;Fehlende&amp;quot; Artikel werden hier rot dargestellt. Sie können außerdem per Sortierung sich nur die fehlenden Artikel anzeigen lassen. Ist der Artikel hier als &amp;quot;fehlend&amp;quot; markiert, so führen Sie auf dem Artikel stehend mit {{Key|F6 Check}} eine erneute Prüfung aus. Wird der Artikel gefunden, erhalten Sie eine entsprechende Rückmeldung und der Status wird geändert.&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Nimz</name></author>
	</entry>
	<entry>
		<id>https://wiki.bergau.de/index.php?title=Kostenpflichtige_Module/Internet-Shop/brShop24/Preise_%C3%BCbertragen&amp;diff=64592</id>
		<title>Kostenpflichtige Module/Internet-Shop/brShop24/Preise übertragen</title>
		<link rel="alternate" type="text/html" href="https://wiki.bergau.de/index.php?title=Kostenpflichtige_Module/Internet-Shop/brShop24/Preise_%C3%BCbertragen&amp;diff=64592"/>
		<updated>2026-07-29T11:37:49Z</updated>

		<summary type="html">&lt;p&gt;Nimz: /* Tasten und Schaltflächen (Artikel) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Vorlage:Kostenpflichtige Module}}&lt;br /&gt;
{{Achtung|Für die Preisübertragung wird das kostenpflichtige Modul [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] vorausgesetzt!}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Achtung|Es kann vorkommen, dass im Shop mehere Preiseinträge zu einer bestimmten Menge eines Artikels auftauchen. Siehe dazu FAQ [[#brshop24_faq_preis_4|Warum hat der Shop zwei Preiseinträge für einen Artikel?]].}}&lt;br /&gt;
=Voraussetzungen=&lt;br /&gt;
#[[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner#Depots.2FLager_in_Schnittstelle_brShop24|Depots]] sind eingerichtet (über Schnittstellenkonfiguration {{F8}})&lt;br /&gt;
#Preissystem im OBS ist auf das kostenpflichtige Modul [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] umgestellt&lt;br /&gt;
#Preisliste(n) ist/sind zum Zeitpunkt des Exports gültig.&amp;lt;br /&amp;gt;Eingabemaske [[OBS/Kostenpflichtige_Module/Preislisten|Preislistenverwaltung]]: &lt;br /&gt;
##Preisliste ist aktiv (Checkbox)&lt;br /&gt;
##aktuelles Datum ist innerhalb des Gültigkeitszeitraums (Datum von/bis)&lt;br /&gt;
##Gültigkeit enthält &amp;quot;Shop&amp;quot; (Default: &amp;quot;Shop &amp;amp; Kasse &amp;amp; WaWi&amp;quot;)&lt;br /&gt;
#Preisliste ist für Schnittstelle freigegeben (Häkchen gesetzt unter [[OBS/Kostenpflichtige_Module/Preislisten|Preislistenverwaltung]] &amp;amp;rarr; {{F10}} &amp;amp;rarr; S3)&lt;br /&gt;
#Kunden im Shop vorhanden&lt;br /&gt;
#Preisliste ist für mindestens einen der Kunden gültig (über Kundennummer in brShop24-Kundengruppe oder brShop24-Benutzer). Siehe dazu auch [[OBS/Preislisten/FAQ_Preislisten|FAQ Preislisten]] &amp;quot;Welche Möglichkeiten der Zuordnung gibt es?&amp;quot;.&lt;br /&gt;
#[[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] enthalten mindestens einen Artikel aus dem Shop&lt;br /&gt;
&lt;br /&gt;
=Shop-Menü: Preislisten verwalten=&lt;br /&gt;
==Preislisten verwalten==&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;ul&amp;gt; &lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:BrShop24_ShpPl.jpg|thumb|none|600px|Preislisten einer Schnittstelle]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
Die Liste zeigt Ihnen alle [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]], die bei &#039;&#039;&#039;bisherigen&#039;&#039;&#039; Exporten für die Schnittstelle übernommen wurden und welchen Status diese bei der letzten Übertragung bekommen haben. Aktive [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] werden dabei in schwarz angezeigt. Rote Einträge sind gelöschte [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]]. Außerdem wird wie in der [[OBS/Stammdaten/Artikel:_H2_-_Bildverwaltung|Bildverwaltung]] und [[OBS/Stammdaten/Artikel:_H3_-_Shoppflege/A_Texte|externen Artikeltexten]] in Fett die Zuordnung zur Schnittstelle hervorgehoben, indem die Zeile in Fett dargestellt wird.&lt;br /&gt;
{{Hinweis|&#039;&#039;&#039;&amp;quot;Bisherige Exporte&amp;quot;&#039;&#039;&#039; meint alle zuvor ausgeführten Übertragungen von [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] über diese Shop-Schnittstelle. Diese Liste ist als eine Art Historie zu sehen. Sie zeigt nur das Ergebnis der bisherigen Übertragung. Je nach Anpassungen in der [[OBS/Kostenpflichtige_Module/Preislisten|Preislistenverwaltung]] (Artikel oder Freigaben) oder Zuordnung zu Kunden kann das Ergebnis nach der nächsten Übertragung anders aussehen. Auch tauchen neue [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] erst in dieser Liste auf, sobald diese einmal über einen Preislistenexport übertragen wurde.}}&lt;br /&gt;
===Tasten und Schaltflächen (Preisliste)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Taste!! width=&amp;quot;800px&amp;quot;|Erklärung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F5 Mark}}|| Markiert einen Datensatz&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F6 Export}}|| Exportiert eine oder alle Preislisten (Auswahl).{{Hinweis|Die initiale Einzelübertragung neuer Preislisten muss über die [[OBS/Kostenpflichtige_Module/Preislisten|Preislistenverwaltung]] erfolgen.}}&amp;lt;br /&amp;gt;Auswahl&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
*A Alle&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; vollständige Aktualisierung aller Preislisten im Shop. Dies bezieht auch Preislisten ein, die in der Preislistenverwaltung neu erstellt wurden!&lt;br /&gt;
*B akt. Preisliste&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; Überträgt die aktuell gewählte Preisliste neu. Abhängig von den Einstellungen oder Daten wird hier die Preisliste aktualisiert oder &#039;&#039;gelöscht&#039;&#039;(!).&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F7 Artikel}}|| Zeigt eine [[#Liste_Artikel_zu_Preisliste|Liste]] der zur Preisliste selektierten Artikel u. a. mit Lager, Shop-Artikelnummer, Staffelmenge und Preis.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F9 PLV}}|| Öffnet die [[OBS/Kostenpflichtige_Module/Preislisten#Liste|Preislistenverwaltung]]&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F10 Weit.}}|| Zugriff auf [[#Weitere_Funktionen_(Preisliste_F10)|weitere Funktionen]] der Liste&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|Einfg Einf.}}|| Setzt Zuordnung zur aktuellen Schnittstelle für markierte oder aktuelle Preisliste(n).&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|Entf Lösch.}}|| Entfernt Zuordnung zur aktuellen Schnittstelle für markierte oder aktuelle Preisliste(n).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Weitere Funktionen (Preisliste F10)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Menüpunkt!! width=&amp;quot;800px&amp;quot;|Erklärung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| A1{{nb_space}}Analyse{{nb_hyphen}}Modus{{nb_space}}(shopbezogen)|| Schaltet den [[#Analyse-Modus|Analyse-Modus]] an bzw. aus. Es werden nur die in die in der Schnittstelle vorhandenen Preislisten analysiert.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| A2{{nb_space}}Analyse{{nb_hyphen}}Modus{{nb_space}}(alle)|| Schaltet den [[#Analyse-Modus|Analyse-Modus]] an bzw. aus. Es werden alle OBS-Preislisten analysiert.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| L1{{nb_space}}Preisliste{{nb_space}}leeren|| Leert im Shop die Preisliste. Das bedeutet, dass alle Preiseinträge der Preisliste gelöscht werden. Die Preisliste sollte direkt danach neu exportiert werden.{{Achtung|Dies löscht nicht die Preisliste! Die Preisliste hat im Shop lediglich keine Preiseinträge mehr. Ist ein löschen der Preisliste gewünscht, dann sollte die Shop-Zuordnung entfernt oder die Preisliste anderweitig deaktiviert und anschließend exportiert werden.}}&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| P{{nb_space}}Job{{nb_hyphen}}Protokolle{{nb_space}}zu{{nb_space}}Preisliste|| Öffnet ie [[Kostenpflichtige_Module/Internet-Shop/brShop24/Jobinformationen#Liste_Jobs|Protokollliste]] gefiltert nach Job für die Preisliste.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Z1{{nb_space}}Preislistenzuordnung{{nb_space}}neu{{nb_space}}übertragen{{nb_space}}(Person)|| Übertragen der Preislistenzuordnung einer Person{{Hinweis|Nur verfügbar über die Webshop-Einstellungen von Personen!}}&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Z2{{nb_space}}Preislistenzuordnung{{nb_space}}neu{{nb_space}}übertragen{{nb_space}}(Preisliste)|| Übertragen der Preislistenzuordnung der genannten Preisliste&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Z3{{nb_space}}Preislistenzuordnung{{nb_space}}neu{{nb_space}}übertragen{{nb_space}}(Alle)|| Übertragen der Preislistenzuordnung aller Preisliste&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Analyse-Modus (Preislisten)===&lt;br /&gt;
{{Hinweis|Abhängig von der Anzahl der Preislisten kann die Analyse einen Moment dauern, da dies für jede Preisliste ausgeführt wird!}}&lt;br /&gt;
Der Analyse-Modus zeigt Ihnen in einer eigenen Spalte &#039;&#039;Probleme&#039;&#039; Ursachen an, warum eine Preisliste nicht exportiert wird. Dies kann aktuell umfassen:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Problem!! width=&amp;quot;800px&amp;quot;|Erklärung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Nicht{{nb_space}}aktiv|| Die Preisliste ist nicht aktiviert (Häkchen in Maske).&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Außerhalb{{nb_space}}Gültigkeitszeitraum|| Das aktuelle Datum liegt außerhalb des in der Preisliste definierten Gültigkeitszeitraum (Datum von/bis).&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Typ{{nb_space}}enthält{{nb_space}}nicht{{nb_space}}Shop|| Die Preisliste ist auf WaWi und/oder Kasse beschränkt (Auswahlfeld in Preislistenmaske).&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Nicht{{nb_space}}der{{nb_space}}Schnittstelle{{nb_space}}zugeordnet|| Die Zuordnung zur Schnittstelle fehlt. Dies kann einfach mit {{Key|Einfg Einf.}} geändert werden.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Keine{{nb_space}}Personenzuordnung|| Es wurden keine Personen(nummern) zur Zuordnung gefunden. Je nach Zuordnung im OBS muss eine der Personennummern im Shop in mindestens einem Benutzer oder einer Kundengruppe vorkommen.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Keine{{nb_space}}Preise{{nb_space}}hinterlegt|| Die Preisliste verfügt über keine gültigen Preiseeinträge für den Export. Sollte Preiseinträge in der Preisliste vorhanden sein, können Sie dies mit dem Analyse-Modus der [[#Liste_Artikel_zu_Preisliste|Artikel-Liste]] ({{Key|F7 Artikel}}) prüfen.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Liste Artikel zu Preisliste==&lt;br /&gt;
{{Achtung|Verfügbar ab Version 004840!}}&lt;br /&gt;
Zeigt die historischen Preisdaten zur Preisliste, welche über die Schnittstelle verarbeitet wurden.&lt;br /&gt;
{{Hinweis|Die Selektion der Preisdaten passiert mit dem Export einer Preisliste. Diese Liste zeigt den Datenstand der letzten Selektion. Die hier angezeigten Preisdaten können daher von den aktuellen Preisen der Preisliste abweichen.}}&lt;br /&gt;
===Spalten===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Bezeichnung!! width=&amp;quot;800px&amp;quot;|Erläuterung&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| OBS-Art-Nr.|| Zeigt die OBS-Artikelnummer aus Ihrem [[OBS/Stammdaten/Artikel|Artikelstamm]] an&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Shop-Art.-Nr.|| Zeigt die Artikelnummer im Shop an unter der dieser Preisdatensatz gepflegt wird.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Lager|| Name des [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner|Shop-Lagers]]&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Bezeichnung|| Artikelbezeichnung; Zeigt Name 1 aus dem Artikel. Bei eigenen Artikeln wird - sofern gesetzt - die alternative Bezeichnung aus den [[OBS/Stammdaten/Artikel/Registerkarte:_Shop/Einstellungsliste/Artikelauswahl|Artikel-Shop-Einstellungen]] angezeigt.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Menge|| (Staffel-)Menge des Preisdatensatzes&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| VK Netto|| Netto-Preis des Preisdatensatzes&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Preisstatus|| Je nach status bei der letzten Selektion wird Ihnen hier &#039;&#039;Pflegen&#039;&#039; oder &#039;&#039;Löschen&#039;&#039; angezeigt.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Grund|| Zeigt den [[#Spalte_Grund|Grund]], warum ein Preis nicht exportiert werden kann bzw. konnte.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Aktualisiert|| Zeigt das Datum an dem OBS zuletzt den Preis per API in den Shop übertragen hat.{{Hinweis|Wird bei Datensätzen, deren letzte Änderung per API länger zurück liegt, nicht angezeigt, da diese Information im Datensatz selbst erst Version 004721 (November 2024) gespeichert wird.}}&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Gelöscht|| Zeigt das Datum an dem OBS zuletzt den Preis per API aus dem Shop gelöscht hat.{{Hinweis|Wird bei Datensätzen, deren letzte Änderung per API länger zurück liegt, nicht angezeigt, da diese Information im Datensatz selbst erst Version 004721 (November 2024) gespeichert wird.}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Spalte Grund===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Problem!! width=&amp;quot;800px&amp;quot;|Erklärung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Artikel{{nb_space}}inaktiv|| Im Artikelstamm ist das Häkchen &amp;quot;Inaktiv&amp;quot; gesetzt. Bei eigenen Artikeln ist dies ebenfalls abhängig von der Pflege-Einstellung (Allgemein und Lagerbezogen).&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Nicht{{nb_space}}lieferbar|| Abhängig von der Pflege (Lieferantenbezogen oder eigener Artikel ohne Lieferantenbezug) ist entweder kein oder der Lieferantbezogene EK-Eintrag als &amp;quot;nicht lieferbar&amp;quot; markiert.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Nicht{{nb_space}}für{{nb_space}}Shop{{nb_space}}freigegeben|| Artikel wurde (noch) nicht in die Liste der Shop-Artikel übernommen. Diese Liste erstellt OBS während des Preisexports automatisch auf Basis der Einstellungen in den Shop-Lager und Definitionen eigener Artikel. Sollte ein Artikel fehlen, ist entweder die Übernahme noch nicht ausgeführt wurden oder es fehlt ein benötigter Eintrag in den EK-Lieferanten oder die Freigabe als eigener Artikel.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Kein{{nb_space}}Matching|| Kann passieren, wenn sich z. B. eine Referenznummer wie die Bestellnummer ändert und OBS die Daten nicht mehr miteinander verknüpfen kann.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Vom{{nb_space}}Shop{{nb_space}}als{{nb_space}}fehlend{{nb_space}}gemeldet|| OBS hat für diesen Artikel (Referenz ist Lager + Referenznummer) in der Vergangenheit einen Preis übertragen. Die API hat den Preis jedoch nicht angelegt mit dem Grund, dass der Artikel nicht im Shop vorhanden ist. Der Artikel wird dann für das Lager von der Pflege ausgeschlossen. Ändern z. B. Artikel die Lagerzugehörigkeit (z. B. Zentrallager zu Außenlager) oder Artikel kommen früher über die Artikelpflege ins OBS, kann es zu diesem Problem kommen. Mit {{Key|F6 Check}} können Sie den Status prüfen lassen. Kann der Artikel darüber gefunden werden, aktiviert OBS die pflege wieder.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Menge{{nb_space}}&amp;lt;={{nb_space}}0|| Die Menge muss für eine gülige Definition einen positiven Wert haben.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| VK{{nb_space}}&amp;lt;={{nb_space}}0|| Preiseinträge mit 0 werden von der API gelöscht. Entsprechende VK-Preise werden von OBS daher im Vorfeld bereits abgelehnt.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| VK{{nb_space}}&amp;lt;={{nb_space}}EK|| Mit der Einstellung &#039;&#039;&#039;Export.Preise.Preis.VK.Check&#039;&#039;&#039; kann die Ertragsprüfung aktiviert werden. Es werden dann nur noch Preise übertragen, deren VK größer ist als der EK. Einzige Ausnahme sind Preislisten mit dem Häkchen &#039;&#039;&#039;Preisgarantie&#039;&#039;&#039;. Für diese Preislisten werden VK-Preise immer übertragen, sofern kein anderer Grund (z. B. VK ist 0) zur Ablehnung vorhanden ist.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Hervorhebungen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Stil!! width=&amp;quot;800px&amp;quot;|Bedeutung&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Kursiv|| Preis hat den Status &amp;quot;Löschen&amp;quot;.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Textfarbe Rot|| Artikel ist als &amp;quot;fehlend&amp;quot; markiert. Dies kann z. B. passieren, wenn Artikel im OBS bereits vorhanden sind, aber im Shop zum Zeitpunkt der Preispflege nicht gefunden/identifiziert werden können. OBS ignoriert &amp;quot;fehlende&amp;quot; Artikel im weiteren Verlauf. Sollte der Artikel im Shop vorhanden sein, können Sie mit {{Key|F6 Check}} eine neue Abfrage starten, um den Status zu ändern.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Textfarbe Grau|| Artikel ist inaktiv (Artikelstamm Häkchen &amp;quot;inaktiv&amp;quot;).&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Textfarbe Grün|| Eigener Artikel ist aktiv.&lt;br /&gt;
|}&lt;br /&gt;
===Tasten und Schaltflächen (Artikel)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Taste!! width=&amp;quot;800px&amp;quot;|Erklärung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F4 Sort}}|| Sortierung wechseln. Sortierungen mit dem Zusatz &amp;quot;(nicht gefunden)&amp;quot; zeigen nur die Einträge an, zu denen der Shop bei der letzten Übertragung den Artikel als &amp;quot;nicht gefunden&amp;quot; gemeldet hat.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F5 Mark}}|| Markiert einen Datensatz für die Verwendung in {{Key|F6 Check}} oder {{Key|F7 Zurück}}&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F6 Check}}|| Prüft für den aktuellen Datensatz, ob der zugehörige Artikel im Shop gefunden werden kann. Je nach Pflege Zeitpunkt kann es z.{{nb_space}}B. bei neuen Artikeln passieren, dass OBS einen Preis überträgt, der Artikel aber noch nicht im Shop angelegt wurde. Da OBS dann den Artikel für die weitere Pflege deaktiviert, muss der Artikel auf diese Weise erst wieder freigegeben werden.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F7 Zurück}}|| Setzt den aktuellen oder die markierten Preiseinträge zurück, so dass eine erneute Übertragung stattfindet.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F10 Weit.}}|| Zugriff auf weitere Funktionen der Liste.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Weitere Funktionen (Artikel F10)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Menüpunkt!! width=&amp;quot;800px&amp;quot;|Erklärung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| A{{nb_space}}Artikelstatus{{nb_space}}Massenprüfung|| Führt die Statusprüfung aus {{Key|F6 Check}} für alle Artikel der Preisliste aus.{{Achtung|Diese Funktionalität ist für personenbezogene Preislisten mit wenigen Hundert Artikel gedacht. Bei größeren Preislisten kann die Abfrage entsprechend lange dauern!}}&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| D{{nb_space}}Datenabgleich{{nb_space}}mit{{nb_space}}brShop24{{nb_space}}API|| Fragt die Preisdaten zur Preisliste über die API ab und zeigt das Ergebnis in Spalte &#039;&#039;D&#039;&#039; mit Kürzeln an.&amp;lt;br /&amp;gt;F = Preis fehlt, sollte aber vorhanden sein&amp;lt;br /&amp;gt;F = Preis vorhanden, sollte aber gelöscht sein&amp;lt;br /&amp;gt;P = Preis ist vorhanden, jedoch abweichend{{Hinweis|Steht aktuell nur Benutzern mit Administratorlevel 9 für Shop-Schnittstellen zur Verfügung!}}&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| P{{nb_space}}Job{{nb_hyphen}}Protokolle{{nb_space}}zu{{nb_space}}Preis|| Aufruf der Job-Protokolle für den Preiseintrag.{{Hinweis|Für alte Preisexporte fehlt hier die Verknüpfung in den Protokolldaten. Diese können daher nicht geladen werden.}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Preisdaten exportieren=&lt;br /&gt;
Sie können Preise auf verschiedenen Wegen exportieren. Es werden dabei immer nur die Veränderungen zum letzten Export übertragen.&amp;lt;br /&amp;gt;&lt;br /&gt;
Gestartet werden kann der Export auf folgenden Wegen:&lt;br /&gt;
*Shop-Menü &amp;quot;B Preislisten verwalten&amp;quot;&lt;br /&gt;
:Per {{F6}} starten Sie hier den Export für alle Preislisten&lt;br /&gt;
*Preislistenverwaltung&lt;br /&gt;
:{{F10}} + S1{{Hinweis|Der Punkt ist erst sichtbar, wenn die Preisliste mindestens einer Shop-Schnittstelle zugeordnet ist.}}&lt;br /&gt;
*Personenstamm Webshop-Einstellungen&lt;br /&gt;
:{{F8}} für die Übertragung der personenbezogenen Preise. Dieser Punkt öffnet die Shop-Preislisten-Verwaltung mit einem Filter, so dass nur die Preislisten des Kunden angezeigt werden. Auch beim Export werden nur die Preislisten des Kunden übertragen.&lt;br /&gt;
{{Hinweis|OBS überträgt die Preise pro Liste &amp;quot;gesammelt&amp;quot; in einem &amp;quot;batch&amp;quot;-Modus. Das heißt es werden mehrere hundert Einträge auf einmal übertragen und vom Shop-Server auf eine Todo-Liste gesetzt. Diese Liste arbeitet der Server relativ zeitnah ab. Es kann daher dazu kommen, dass die Preise nach der Übertragung erst mit einer kurzen Verzögerung im Shop angezeigt werden. Die Verzögerung sollte jedoch nur wenige Minuten betragen.}}&lt;br /&gt;
&lt;br /&gt;
=Wie der Export funktioniert=&lt;br /&gt;
Für den Export selbst sind die im Shop vorhandenen Personen interessant. Preislisten im OBS, die nur Kunden zugeordnet sind, die gar nicht im Shop vorkommen, werden nicht exportiert.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Stellen Sie daher für den Export einer Preisliste folgendes sicher:&#039;&#039;&#039;&lt;br /&gt;
*mindestens ein Kunde, dem die Preisliste im OBS zugeordnet ist, ist im Shop vorhanden.&lt;br /&gt;
*die Preisliste ist aktiv und gültig:&lt;br /&gt;
**Häkchen in &amp;quot;Preisliste aktiv&amp;quot; ist gesetzt.&lt;br /&gt;
**Das aktuelles Datum liegt innerhalb des angegebenen Zeitraums (Datum von/bis) der Preisliste.&lt;br /&gt;
**Das Feld &amp;quot;Gültigkeit&amp;quot; enthält den Wert &#039;&#039;Shop&#039;&#039;.&lt;br /&gt;
**Preisliste ist für die Schnittstelle freigegeben (Preislistenverwaltung {{F10}} + S3)&lt;br /&gt;
*Die Preisliste enthält mindestens einen Artikel, der im Shop gepflegt ist. (siehe auch [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner#Depots.2FLager_in_Schnittstelle_brShop24|Depots brShop24]])&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Neben den genannten Voraussetzungen gibt es noch zwei Einstellungen, die auf die Übertragung einzelner Preise Auswirkungen haben:&lt;br /&gt;
*[[Kostenpflichtige_Module/Internet-Shop/brShop24/Konfiguration#Übersicht_aller_Einstellungen_für_brShop24|Konfiguration]] Export.Preise.Preis.VK.Check&lt;br /&gt;
:Wenn aktiviert, dann werden die VK-Preise mit den aktuellen EK-Preisen, abhängig der Preislisteneinstellung (aus Preisliste oder EK1 aus Artikelstamm) verglichen und der Preis nur exportiert, wenn VK &amp;gt; EK ist.&lt;br /&gt;
*[[OBS/Kostenpflichtige_Module/Preislisten|Preisliste]] Preisgarantie&lt;br /&gt;
:Preislisten mit gesetztem Häkchen in &#039;&#039;Preisgarantie&#039;&#039; werden in der Preisprüfung übersprungen.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
OBS ermittelt lokal die Änderungen zur letzten Übertragung. Dies passiert abhängig von den Übertragungsparameter für alle Preislisten, alle Preislisten einer Person(-ennummer) oder einer einzelnen Preisliste.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Preise werden nicht direkt in den Shop geschrieben. Der Shop erhält eine Liste der Preisdaten und legt diese in eine Aufgabenliste, welche dann automatisch abgearbeitet wird.&lt;br /&gt;
{{Achtung|Je nach Auslastung des Shop-Systems kann es also einige Minuten dauern, bis die Preise vollständig übernommen wurden.}}&lt;br /&gt;
{{Hinweis|Laut Informationen von Büroring werden 0-Preise in der API verworfen. OBS setzt entsprechende Preiseinträge intern auf den Status &amp;quot;löschen&amp;quot; und entfernt die jeweilige Preisstaffel aus dem Shop, sollte sie zuvor mit einem regulären Preis angelegt worden sein.}}&lt;br /&gt;
==Priorität und Bestprice-Findung==&lt;br /&gt;
Im Unterschied zum VShop gibt es im brShop24 eine Bestprice-Findung wie im OBS (siehe [[OBS/Preislisten/FAQ_Preislisten#preisfindung|FAQ Preislisten &amp;quot;Wie funktioniert die Preisfindung?&amp;quot;]]). Daher findet das Preislistenfeld &#039;&#039;Prio Shop&#039;&#039; in dieser Schnittstelle keine Anwendung. Die Preislisten erhalten im Shop also die gleiche Priorität, wie sie zum Zeitpunkt des Exports im OBS in &#039;&#039;Prio Preisfind.&#039;&#039; eingestellt ist und somit auch in der WaWi Anwendung finden würde.&lt;br /&gt;
{{Hinweis|Möglichweise muss die Bestprice-Findung im Shop aktiviert werden.}}&lt;br /&gt;
&lt;br /&gt;
=Häufig gestellt Fragen (FAQ)=&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|brshop24_faq_preis_1&lt;br /&gt;
|Warum fehlt Preisliste X im Shop?&lt;br /&gt;
|Es gibt ein paar Punkte, die es zu Prüfen gilt, wenn eine Preisliste in den Shop übertragen werden soll. Abhängig ist die Übertragung von folgenden Punkten:&lt;br /&gt;
#Preisliste ist aktiv und gültig (Datum beachten)&lt;br /&gt;
#Preisliste ist für den Shop freigegeben (Gültigkeit enthält &amp;quot;Shop&amp;quot; und Häkchen in Zuordnung ist für die Schnittstelle gesetzt)&lt;br /&gt;
#Preisliste ist mindestens einem Kunden im Shop zugeordnet&lt;br /&gt;
#Preisliste hat mindestens einen Artikel, der im Shop enthalten ist (siehe auch [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner#Depots.2FLager_in_Schnittstelle_brShop24|Depots brShop24]])&lt;br /&gt;
Siehe auch [[Kostenpflichtige_Module/Internet-Shop/brShop24/Preise_übertragen#Wie_der_Export_funktioniert|Wie der Export funktioniert]].&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|brshop24_faq_preis_2&lt;br /&gt;
|Warum wird eine Preisliste nicht in den Shop übertragen?&lt;br /&gt;
|Bitte beachten Sie hier die [[Kostenpflichtige_Module/Internet-Shop/brShop24/Preise_übertragen#Voraussetzungen|Voraussetzungen]] für die Übertragung von Preislisten. Der Knackpunkt bei der Übertragung von Preislisten ist der Abgleich der Artikel. Um den Datenverkehr möglichst gering zu halten, versucht OBS nur die benötigten Daten zu übertragen. Das bedeutet, dass Artikelpreise für Artikel  nicht übertragen werden, sollte der Artikel gar nicht im Shop vorkommen. Ein Abgleich aller Artikel mit dem Shop würde jedoch zu viel Zeit in Anspruch nehmen. Daher gleicht OBS die Daten über die in der Schnittstelle gepflegten [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner#Depots.2FLager_in_Schnittstelle_brShop24|Depots]] ab. Stellen Sie also sicher, dass die Depots entsprechend gepflegt sind.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|brshop24_faq_preis_3&lt;br /&gt;
|Ist es möglich die Artikelpreise automatisiert zu pflegen?&lt;br /&gt;
|Ja, dies ist möglich. Weitere Informationen finden Sie im Artikel zu den [[OBS/Internet-Shop/Einrichtung/Automatiken#Preise_aktualisieren|Shop-Automatiken]].&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|brshop24_faq_preis_4&lt;br /&gt;
|Warum hat der Shop zwei Preiseinträge für einen Artikel?&lt;br /&gt;
|Der Shop unterscheidet bei den Preisen auch nach der Einheit. Der Preisexport übergibt keine Einheit. Für den Preis übernimmt die API die Standard-Einheit des Artikels im Shop. Sollten Sie zwei Einträge zu einer bestimmten Menge bei einem Artikel mit unterschiedlicher Einheit vorfinden, so bekommen Sie dies über OBS nur bereinigt, indem Sie die Preisliste aus dem Shop nehmen und anschließend wieder anlegen.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Eine Preisliste können Sie aus dem Shop nehmen, indem Sie über das Shop-Menü in die Preislistenverwaltung für den Shop gehen. Suchen Sie die Preisliste und drücken Sie auf dem Datensatz {{Entf}}. Dies nimmt die Shop-Zuordnung aus der Preisliste. Danach exportieren Sie die einzelne Preisliste per {{F6}}. Anschließend drücken Sie {{Einfg}}, um die Shop-Zuordnung wieder zu setzen und exportieren erneut die Preisliste. Der erste Export löscht die Preisliste im Shop und der zweite Export legt die Daten neu an.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|brshop24_faq_preis_5&lt;br /&gt;
|Warum wird der Preis eines Artikels nicht in den Shop übertragen?&lt;br /&gt;
|Vorraussetzungen, damit Artikelpreise übertragen werden:&lt;br /&gt;
#Preisliste muss die Voraussetzungen für den Export erfüllen&lt;br /&gt;
#Der Preis selbst muss größer als 0 sein&lt;br /&gt;
#Der Artikel muss über ein [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner|Lager (Shop-Depot)]] mit der Schnittstelle verknüpft sein&lt;br /&gt;
#Artikel darf vom Shop nicht als fehlend gemeldet worden sein (betrifft Artikel, die durch Büroring gepflegt werden)&lt;br /&gt;
#Eigene Artikel müssen im OBS und für die Schnittstelle aktiv sein&lt;br /&gt;
Für eigene Artikel liegt die Pflege des Artikels im Shop bei Ihnen. Das Büroring-Sortiment wird von Büroring im Shop gepflegt. Die Pflege von Preisen für Büroringartikel ist somit abhängig von zwei Faktoren: Zeitpunkte der Pflege/Anlage im Shop und der Zeitpunkt im OBS. Hierzu gab es bereits diverse Meldungen, dass Artikelpreise nicht übertragen wurden, obwohl der Artikel im Shop vorkommt. Da OBS die zu übertragenen Artikel bei [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner#Zuordnung_von_Artikeln|entsprechender Einstellung]] über die EK-Informationen des Artikelstamms ermittelt und dann Preise für die &amp;quot;verfügbaren&amp;quot; Artikel übermittelt, muss der Shop zu dem Zeitpunkt den jeweiligen Artikel auch im jeweiligen Lager wiederfinden können. Ist dies nicht der Fall, meldet der Shop den entsprechenden Artikel als &amp;quot;fehlend&amp;quot; und OBS merkt sich diese Rückmeldung. &amp;quot;Fehlende&amp;quot; Artikel werden bei weiteren Exporten ignoriert. Es kann also vorkommen, dass ein Artikel aus OBS im Shop einen Preis bekommen sollte, den der Shop zu dem Zeitpunkt nicht in seinem Sortiment wiedergefunden hat. Sollten Sie zu diesen Artikeln den Preis vermissen, so prüfen Sie bitte die [[#Liste_Artikel_zu_Preisliste|Preisdaten]] zu zur Preisliste (siehe oben Verwaltung Shop-Preislisten {{Key|F7 Artikel}}) oder die [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner#Zuordnung_von_Artikeln|Artikelliste]] des jeweiligen Lagers. &amp;quot;Fehlende&amp;quot; Artikel werden hier rot dargestellt. Sie können außerdem per Sortierung sich nur die fehlenden Artikel anzeigen lassen. Ist der Artikel hier als &amp;quot;fehlend&amp;quot; markiert, so führen Sie auf dem Artikel stehend mit {{Key|F6 Check}} eine erneute Prüfung aus. Wird der Artikel gefunden, erhalten Sie eine entsprechende Rückmeldung und der Status wird geändert.&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Nimz</name></author>
	</entry>
	<entry>
		<id>https://wiki.bergau.de/index.php?title=Kostenpflichtige_Module/Internet-Shop/brShop24/Preise_%C3%BCbertragen&amp;diff=64591</id>
		<title>Kostenpflichtige Module/Internet-Shop/brShop24/Preise übertragen</title>
		<link rel="alternate" type="text/html" href="https://wiki.bergau.de/index.php?title=Kostenpflichtige_Module/Internet-Shop/brShop24/Preise_%C3%BCbertragen&amp;diff=64591"/>
		<updated>2026-07-29T11:37:31Z</updated>

		<summary type="html">&lt;p&gt;Nimz: /* Tasten und Schaltflächen (Artikel) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Vorlage:Kostenpflichtige Module}}&lt;br /&gt;
{{Achtung|Für die Preisübertragung wird das kostenpflichtige Modul [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] vorausgesetzt!}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Achtung|Es kann vorkommen, dass im Shop mehere Preiseinträge zu einer bestimmten Menge eines Artikels auftauchen. Siehe dazu FAQ [[#brshop24_faq_preis_4|Warum hat der Shop zwei Preiseinträge für einen Artikel?]].}}&lt;br /&gt;
=Voraussetzungen=&lt;br /&gt;
#[[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner#Depots.2FLager_in_Schnittstelle_brShop24|Depots]] sind eingerichtet (über Schnittstellenkonfiguration {{F8}})&lt;br /&gt;
#Preissystem im OBS ist auf das kostenpflichtige Modul [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] umgestellt&lt;br /&gt;
#Preisliste(n) ist/sind zum Zeitpunkt des Exports gültig.&amp;lt;br /&amp;gt;Eingabemaske [[OBS/Kostenpflichtige_Module/Preislisten|Preislistenverwaltung]]: &lt;br /&gt;
##Preisliste ist aktiv (Checkbox)&lt;br /&gt;
##aktuelles Datum ist innerhalb des Gültigkeitszeitraums (Datum von/bis)&lt;br /&gt;
##Gültigkeit enthält &amp;quot;Shop&amp;quot; (Default: &amp;quot;Shop &amp;amp; Kasse &amp;amp; WaWi&amp;quot;)&lt;br /&gt;
#Preisliste ist für Schnittstelle freigegeben (Häkchen gesetzt unter [[OBS/Kostenpflichtige_Module/Preislisten|Preislistenverwaltung]] &amp;amp;rarr; {{F10}} &amp;amp;rarr; S3)&lt;br /&gt;
#Kunden im Shop vorhanden&lt;br /&gt;
#Preisliste ist für mindestens einen der Kunden gültig (über Kundennummer in brShop24-Kundengruppe oder brShop24-Benutzer). Siehe dazu auch [[OBS/Preislisten/FAQ_Preislisten|FAQ Preislisten]] &amp;quot;Welche Möglichkeiten der Zuordnung gibt es?&amp;quot;.&lt;br /&gt;
#[[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] enthalten mindestens einen Artikel aus dem Shop&lt;br /&gt;
&lt;br /&gt;
=Shop-Menü: Preislisten verwalten=&lt;br /&gt;
==Preislisten verwalten==&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;ul&amp;gt; &lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:BrShop24_ShpPl.jpg|thumb|none|600px|Preislisten einer Schnittstelle]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
Die Liste zeigt Ihnen alle [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]], die bei &#039;&#039;&#039;bisherigen&#039;&#039;&#039; Exporten für die Schnittstelle übernommen wurden und welchen Status diese bei der letzten Übertragung bekommen haben. Aktive [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] werden dabei in schwarz angezeigt. Rote Einträge sind gelöschte [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]]. Außerdem wird wie in der [[OBS/Stammdaten/Artikel:_H2_-_Bildverwaltung|Bildverwaltung]] und [[OBS/Stammdaten/Artikel:_H3_-_Shoppflege/A_Texte|externen Artikeltexten]] in Fett die Zuordnung zur Schnittstelle hervorgehoben, indem die Zeile in Fett dargestellt wird.&lt;br /&gt;
{{Hinweis|&#039;&#039;&#039;&amp;quot;Bisherige Exporte&amp;quot;&#039;&#039;&#039; meint alle zuvor ausgeführten Übertragungen von [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] über diese Shop-Schnittstelle. Diese Liste ist als eine Art Historie zu sehen. Sie zeigt nur das Ergebnis der bisherigen Übertragung. Je nach Anpassungen in der [[OBS/Kostenpflichtige_Module/Preislisten|Preislistenverwaltung]] (Artikel oder Freigaben) oder Zuordnung zu Kunden kann das Ergebnis nach der nächsten Übertragung anders aussehen. Auch tauchen neue [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] erst in dieser Liste auf, sobald diese einmal über einen Preislistenexport übertragen wurde.}}&lt;br /&gt;
===Tasten und Schaltflächen (Preisliste)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Taste!! width=&amp;quot;800px&amp;quot;|Erklärung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F5 Mark}}|| Markiert einen Datensatz&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F6 Export}}|| Exportiert eine oder alle Preislisten (Auswahl).{{Hinweis|Die initiale Einzelübertragung neuer Preislisten muss über die [[OBS/Kostenpflichtige_Module/Preislisten|Preislistenverwaltung]] erfolgen.}}&amp;lt;br /&amp;gt;Auswahl&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
*A Alle&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; vollständige Aktualisierung aller Preislisten im Shop. Dies bezieht auch Preislisten ein, die in der Preislistenverwaltung neu erstellt wurden!&lt;br /&gt;
*B akt. Preisliste&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; Überträgt die aktuell gewählte Preisliste neu. Abhängig von den Einstellungen oder Daten wird hier die Preisliste aktualisiert oder &#039;&#039;gelöscht&#039;&#039;(!).&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F7 Artikel}}|| Zeigt eine [[#Liste_Artikel_zu_Preisliste|Liste]] der zur Preisliste selektierten Artikel u. a. mit Lager, Shop-Artikelnummer, Staffelmenge und Preis.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F9 PLV}}|| Öffnet die [[OBS/Kostenpflichtige_Module/Preislisten#Liste|Preislistenverwaltung]]&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F10 Weit.}}|| Zugriff auf [[#Weitere_Funktionen_(Preisliste_F10)|weitere Funktionen]] der Liste&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|Einfg Einf.}}|| Setzt Zuordnung zur aktuellen Schnittstelle für markierte oder aktuelle Preisliste(n).&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|Entf Lösch.}}|| Entfernt Zuordnung zur aktuellen Schnittstelle für markierte oder aktuelle Preisliste(n).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Weitere Funktionen (Preisliste F10)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Menüpunkt!! width=&amp;quot;800px&amp;quot;|Erklärung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| A1{{nb_space}}Analyse{{nb_hyphen}}Modus{{nb_space}}(shopbezogen)|| Schaltet den [[#Analyse-Modus|Analyse-Modus]] an bzw. aus. Es werden nur die in die in der Schnittstelle vorhandenen Preislisten analysiert.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| A2{{nb_space}}Analyse{{nb_hyphen}}Modus{{nb_space}}(alle)|| Schaltet den [[#Analyse-Modus|Analyse-Modus]] an bzw. aus. Es werden alle OBS-Preislisten analysiert.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| L1{{nb_space}}Preisliste{{nb_space}}leeren|| Leert im Shop die Preisliste. Das bedeutet, dass alle Preiseinträge der Preisliste gelöscht werden. Die Preisliste sollte direkt danach neu exportiert werden.{{Achtung|Dies löscht nicht die Preisliste! Die Preisliste hat im Shop lediglich keine Preiseinträge mehr. Ist ein löschen der Preisliste gewünscht, dann sollte die Shop-Zuordnung entfernt oder die Preisliste anderweitig deaktiviert und anschließend exportiert werden.}}&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| P{{nb_space}}Job{{nb_hyphen}}Protokolle{{nb_space}}zu{{nb_space}}Preisliste|| Öffnet ie [[Kostenpflichtige_Module/Internet-Shop/brShop24/Jobinformationen#Liste_Jobs|Protokollliste]] gefiltert nach Job für die Preisliste.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Z1{{nb_space}}Preislistenzuordnung{{nb_space}}neu{{nb_space}}übertragen{{nb_space}}(Person)|| Übertragen der Preislistenzuordnung einer Person{{Hinweis|Nur verfügbar über die Webshop-Einstellungen von Personen!}}&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Z2{{nb_space}}Preislistenzuordnung{{nb_space}}neu{{nb_space}}übertragen{{nb_space}}(Preisliste)|| Übertragen der Preislistenzuordnung der genannten Preisliste&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Z3{{nb_space}}Preislistenzuordnung{{nb_space}}neu{{nb_space}}übertragen{{nb_space}}(Alle)|| Übertragen der Preislistenzuordnung aller Preisliste&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Analyse-Modus (Preislisten)===&lt;br /&gt;
{{Hinweis|Abhängig von der Anzahl der Preislisten kann die Analyse einen Moment dauern, da dies für jede Preisliste ausgeführt wird!}}&lt;br /&gt;
Der Analyse-Modus zeigt Ihnen in einer eigenen Spalte &#039;&#039;Probleme&#039;&#039; Ursachen an, warum eine Preisliste nicht exportiert wird. Dies kann aktuell umfassen:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Problem!! width=&amp;quot;800px&amp;quot;|Erklärung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Nicht{{nb_space}}aktiv|| Die Preisliste ist nicht aktiviert (Häkchen in Maske).&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Außerhalb{{nb_space}}Gültigkeitszeitraum|| Das aktuelle Datum liegt außerhalb des in der Preisliste definierten Gültigkeitszeitraum (Datum von/bis).&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Typ{{nb_space}}enthält{{nb_space}}nicht{{nb_space}}Shop|| Die Preisliste ist auf WaWi und/oder Kasse beschränkt (Auswahlfeld in Preislistenmaske).&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Nicht{{nb_space}}der{{nb_space}}Schnittstelle{{nb_space}}zugeordnet|| Die Zuordnung zur Schnittstelle fehlt. Dies kann einfach mit {{Key|Einfg Einf.}} geändert werden.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Keine{{nb_space}}Personenzuordnung|| Es wurden keine Personen(nummern) zur Zuordnung gefunden. Je nach Zuordnung im OBS muss eine der Personennummern im Shop in mindestens einem Benutzer oder einer Kundengruppe vorkommen.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Keine{{nb_space}}Preise{{nb_space}}hinterlegt|| Die Preisliste verfügt über keine gültigen Preiseeinträge für den Export. Sollte Preiseinträge in der Preisliste vorhanden sein, können Sie dies mit dem Analyse-Modus der [[#Liste_Artikel_zu_Preisliste|Artikel-Liste]] ({{Key|F7 Artikel}}) prüfen.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Liste Artikel zu Preisliste==&lt;br /&gt;
{{Achtung|Verfügbar ab Version 004840!}}&lt;br /&gt;
Zeigt die historischen Preisdaten zur Preisliste, welche über die Schnittstelle verarbeitet wurden.&lt;br /&gt;
{{Hinweis|Die Selektion der Preisdaten passiert mit dem Export einer Preisliste. Diese Liste zeigt den Datenstand der letzten Selektion. Die hier angezeigten Preisdaten können daher von den aktuellen Preisen der Preisliste abweichen.}}&lt;br /&gt;
===Spalten===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Bezeichnung!! width=&amp;quot;800px&amp;quot;|Erläuterung&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| OBS-Art-Nr.|| Zeigt die OBS-Artikelnummer aus Ihrem [[OBS/Stammdaten/Artikel|Artikelstamm]] an&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Shop-Art.-Nr.|| Zeigt die Artikelnummer im Shop an unter der dieser Preisdatensatz gepflegt wird.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Lager|| Name des [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner|Shop-Lagers]]&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Bezeichnung|| Artikelbezeichnung; Zeigt Name 1 aus dem Artikel. Bei eigenen Artikeln wird - sofern gesetzt - die alternative Bezeichnung aus den [[OBS/Stammdaten/Artikel/Registerkarte:_Shop/Einstellungsliste/Artikelauswahl|Artikel-Shop-Einstellungen]] angezeigt.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Menge|| (Staffel-)Menge des Preisdatensatzes&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| VK Netto|| Netto-Preis des Preisdatensatzes&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Preisstatus|| Je nach status bei der letzten Selektion wird Ihnen hier &#039;&#039;Pflegen&#039;&#039; oder &#039;&#039;Löschen&#039;&#039; angezeigt.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Grund|| Zeigt den [[#Spalte_Grund|Grund]], warum ein Preis nicht exportiert werden kann bzw. konnte.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Aktualisiert|| Zeigt das Datum an dem OBS zuletzt den Preis per API in den Shop übertragen hat.{{Hinweis|Wird bei Datensätzen, deren letzte Änderung per API länger zurück liegt, nicht angezeigt, da diese Information im Datensatz selbst erst Version 004721 (November 2024) gespeichert wird.}}&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Gelöscht|| Zeigt das Datum an dem OBS zuletzt den Preis per API aus dem Shop gelöscht hat.{{Hinweis|Wird bei Datensätzen, deren letzte Änderung per API länger zurück liegt, nicht angezeigt, da diese Information im Datensatz selbst erst Version 004721 (November 2024) gespeichert wird.}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Spalte Grund===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Problem!! width=&amp;quot;800px&amp;quot;|Erklärung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Artikel{{nb_space}}inaktiv|| Im Artikelstamm ist das Häkchen &amp;quot;Inaktiv&amp;quot; gesetzt. Bei eigenen Artikeln ist dies ebenfalls abhängig von der Pflege-Einstellung (Allgemein und Lagerbezogen).&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Nicht{{nb_space}}lieferbar|| Abhängig von der Pflege (Lieferantenbezogen oder eigener Artikel ohne Lieferantenbezug) ist entweder kein oder der Lieferantbezogene EK-Eintrag als &amp;quot;nicht lieferbar&amp;quot; markiert.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Nicht{{nb_space}}für{{nb_space}}Shop{{nb_space}}freigegeben|| Artikel wurde (noch) nicht in die Liste der Shop-Artikel übernommen. Diese Liste erstellt OBS während des Preisexports automatisch auf Basis der Einstellungen in den Shop-Lager und Definitionen eigener Artikel. Sollte ein Artikel fehlen, ist entweder die Übernahme noch nicht ausgeführt wurden oder es fehlt ein benötigter Eintrag in den EK-Lieferanten oder die Freigabe als eigener Artikel.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Kein{{nb_space}}Matching|| Kann passieren, wenn sich z. B. eine Referenznummer wie die Bestellnummer ändert und OBS die Daten nicht mehr miteinander verknüpfen kann.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Vom{{nb_space}}Shop{{nb_space}}als{{nb_space}}fehlend{{nb_space}}gemeldet|| OBS hat für diesen Artikel (Referenz ist Lager + Referenznummer) in der Vergangenheit einen Preis übertragen. Die API hat den Preis jedoch nicht angelegt mit dem Grund, dass der Artikel nicht im Shop vorhanden ist. Der Artikel wird dann für das Lager von der Pflege ausgeschlossen. Ändern z. B. Artikel die Lagerzugehörigkeit (z. B. Zentrallager zu Außenlager) oder Artikel kommen früher über die Artikelpflege ins OBS, kann es zu diesem Problem kommen. Mit {{Key|F6 Check}} können Sie den Status prüfen lassen. Kann der Artikel darüber gefunden werden, aktiviert OBS die pflege wieder.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Menge{{nb_space}}&amp;lt;={{nb_space}}0|| Die Menge muss für eine gülige Definition einen positiven Wert haben.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| VK{{nb_space}}&amp;lt;={{nb_space}}0|| Preiseinträge mit 0 werden von der API gelöscht. Entsprechende VK-Preise werden von OBS daher im Vorfeld bereits abgelehnt.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| VK{{nb_space}}&amp;lt;={{nb_space}}EK|| Mit der Einstellung &#039;&#039;&#039;Export.Preise.Preis.VK.Check&#039;&#039;&#039; kann die Ertragsprüfung aktiviert werden. Es werden dann nur noch Preise übertragen, deren VK größer ist als der EK. Einzige Ausnahme sind Preislisten mit dem Häkchen &#039;&#039;&#039;Preisgarantie&#039;&#039;&#039;. Für diese Preislisten werden VK-Preise immer übertragen, sofern kein anderer Grund (z. B. VK ist 0) zur Ablehnung vorhanden ist.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Hervorhebungen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Stil!! width=&amp;quot;800px&amp;quot;|Bedeutung&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Kursiv|| Preis hat den Status &amp;quot;Löschen&amp;quot;.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Textfarbe Rot|| Artikel ist als &amp;quot;fehlend&amp;quot; markiert. Dies kann z. B. passieren, wenn Artikel im OBS bereits vorhanden sind, aber im Shop zum Zeitpunkt der Preispflege nicht gefunden/identifiziert werden können. OBS ignoriert &amp;quot;fehlende&amp;quot; Artikel im weiteren Verlauf. Sollte der Artikel im Shop vorhanden sein, können Sie mit {{Key|F6 Check}} eine neue Abfrage starten, um den Status zu ändern.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Textfarbe Grau|| Artikel ist inaktiv (Artikelstamm Häkchen &amp;quot;inaktiv&amp;quot;).&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Textfarbe Grün|| Eigener Artikel ist aktiv.&lt;br /&gt;
|}&lt;br /&gt;
===Tasten und Schaltflächen (Artikel)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Taste!! width=&amp;quot;800px&amp;quot;|Erklärung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F4 Sort}}|| Sortierung wechseln. Sortierungen mit dem Zusatz &amp;quot;(nicht gefunden)&amp;quot; zeigen nur die Einträge an, zu denen der Shop bei der letzten Übertragung den Artikel als &amp;quot;nicht gefunden&amp;quot; gemeldet hat.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F5 Mark}}|| Markiert einen Datensatz für die Verwendung in {{Key|F6 Check}} oder {{Key|F7 Zurück}}&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F6 Check}}|| Prüft für den aktuellen Datensatz, ob der zugehörige Artikel im Shop gefunden werden kann. Je nach Pflege Zeitpunkt kann es z.{{nb_space}}B. bei neuen Artikeln passieren, dass OBS einen Preis überträgt, der Artikel aber noch nicht im Shop angelegt wurde. Da OBS dann den Artikel für die weitere Pflege deaktiviert, muss der Artikel auf diese Weise erst wieder freigegeben werden.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F7 Zurück}}|| Setzt den aktuellen oder die markierten Preiseinträge zurück, so dass eine erneute Übertragung stattfindet.&lt;br /&gt;
| {{Key|F10 Weit.}}|| Zugriff auf weitere Funktionen der Liste.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Weitere Funktionen (Artikel F10)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Menüpunkt!! width=&amp;quot;800px&amp;quot;|Erklärung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| A{{nb_space}}Artikelstatus{{nb_space}}Massenprüfung|| Führt die Statusprüfung aus {{Key|F6 Check}} für alle Artikel der Preisliste aus.{{Achtung|Diese Funktionalität ist für personenbezogene Preislisten mit wenigen Hundert Artikel gedacht. Bei größeren Preislisten kann die Abfrage entsprechend lange dauern!}}&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| D{{nb_space}}Datenabgleich{{nb_space}}mit{{nb_space}}brShop24{{nb_space}}API|| Fragt die Preisdaten zur Preisliste über die API ab und zeigt das Ergebnis in Spalte &#039;&#039;D&#039;&#039; mit Kürzeln an.&amp;lt;br /&amp;gt;F = Preis fehlt, sollte aber vorhanden sein&amp;lt;br /&amp;gt;F = Preis vorhanden, sollte aber gelöscht sein&amp;lt;br /&amp;gt;P = Preis ist vorhanden, jedoch abweichend{{Hinweis|Steht aktuell nur Benutzern mit Administratorlevel 9 für Shop-Schnittstellen zur Verfügung!}}&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| P{{nb_space}}Job{{nb_hyphen}}Protokolle{{nb_space}}zu{{nb_space}}Preis|| Aufruf der Job-Protokolle für den Preiseintrag.{{Hinweis|Für alte Preisexporte fehlt hier die Verknüpfung in den Protokolldaten. Diese können daher nicht geladen werden.}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Preisdaten exportieren=&lt;br /&gt;
Sie können Preise auf verschiedenen Wegen exportieren. Es werden dabei immer nur die Veränderungen zum letzten Export übertragen.&amp;lt;br /&amp;gt;&lt;br /&gt;
Gestartet werden kann der Export auf folgenden Wegen:&lt;br /&gt;
*Shop-Menü &amp;quot;B Preislisten verwalten&amp;quot;&lt;br /&gt;
:Per {{F6}} starten Sie hier den Export für alle Preislisten&lt;br /&gt;
*Preislistenverwaltung&lt;br /&gt;
:{{F10}} + S1{{Hinweis|Der Punkt ist erst sichtbar, wenn die Preisliste mindestens einer Shop-Schnittstelle zugeordnet ist.}}&lt;br /&gt;
*Personenstamm Webshop-Einstellungen&lt;br /&gt;
:{{F8}} für die Übertragung der personenbezogenen Preise. Dieser Punkt öffnet die Shop-Preislisten-Verwaltung mit einem Filter, so dass nur die Preislisten des Kunden angezeigt werden. Auch beim Export werden nur die Preislisten des Kunden übertragen.&lt;br /&gt;
{{Hinweis|OBS überträgt die Preise pro Liste &amp;quot;gesammelt&amp;quot; in einem &amp;quot;batch&amp;quot;-Modus. Das heißt es werden mehrere hundert Einträge auf einmal übertragen und vom Shop-Server auf eine Todo-Liste gesetzt. Diese Liste arbeitet der Server relativ zeitnah ab. Es kann daher dazu kommen, dass die Preise nach der Übertragung erst mit einer kurzen Verzögerung im Shop angezeigt werden. Die Verzögerung sollte jedoch nur wenige Minuten betragen.}}&lt;br /&gt;
&lt;br /&gt;
=Wie der Export funktioniert=&lt;br /&gt;
Für den Export selbst sind die im Shop vorhandenen Personen interessant. Preislisten im OBS, die nur Kunden zugeordnet sind, die gar nicht im Shop vorkommen, werden nicht exportiert.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Stellen Sie daher für den Export einer Preisliste folgendes sicher:&#039;&#039;&#039;&lt;br /&gt;
*mindestens ein Kunde, dem die Preisliste im OBS zugeordnet ist, ist im Shop vorhanden.&lt;br /&gt;
*die Preisliste ist aktiv und gültig:&lt;br /&gt;
**Häkchen in &amp;quot;Preisliste aktiv&amp;quot; ist gesetzt.&lt;br /&gt;
**Das aktuelles Datum liegt innerhalb des angegebenen Zeitraums (Datum von/bis) der Preisliste.&lt;br /&gt;
**Das Feld &amp;quot;Gültigkeit&amp;quot; enthält den Wert &#039;&#039;Shop&#039;&#039;.&lt;br /&gt;
**Preisliste ist für die Schnittstelle freigegeben (Preislistenverwaltung {{F10}} + S3)&lt;br /&gt;
*Die Preisliste enthält mindestens einen Artikel, der im Shop gepflegt ist. (siehe auch [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner#Depots.2FLager_in_Schnittstelle_brShop24|Depots brShop24]])&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Neben den genannten Voraussetzungen gibt es noch zwei Einstellungen, die auf die Übertragung einzelner Preise Auswirkungen haben:&lt;br /&gt;
*[[Kostenpflichtige_Module/Internet-Shop/brShop24/Konfiguration#Übersicht_aller_Einstellungen_für_brShop24|Konfiguration]] Export.Preise.Preis.VK.Check&lt;br /&gt;
:Wenn aktiviert, dann werden die VK-Preise mit den aktuellen EK-Preisen, abhängig der Preislisteneinstellung (aus Preisliste oder EK1 aus Artikelstamm) verglichen und der Preis nur exportiert, wenn VK &amp;gt; EK ist.&lt;br /&gt;
*[[OBS/Kostenpflichtige_Module/Preislisten|Preisliste]] Preisgarantie&lt;br /&gt;
:Preislisten mit gesetztem Häkchen in &#039;&#039;Preisgarantie&#039;&#039; werden in der Preisprüfung übersprungen.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
OBS ermittelt lokal die Änderungen zur letzten Übertragung. Dies passiert abhängig von den Übertragungsparameter für alle Preislisten, alle Preislisten einer Person(-ennummer) oder einer einzelnen Preisliste.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Preise werden nicht direkt in den Shop geschrieben. Der Shop erhält eine Liste der Preisdaten und legt diese in eine Aufgabenliste, welche dann automatisch abgearbeitet wird.&lt;br /&gt;
{{Achtung|Je nach Auslastung des Shop-Systems kann es also einige Minuten dauern, bis die Preise vollständig übernommen wurden.}}&lt;br /&gt;
{{Hinweis|Laut Informationen von Büroring werden 0-Preise in der API verworfen. OBS setzt entsprechende Preiseinträge intern auf den Status &amp;quot;löschen&amp;quot; und entfernt die jeweilige Preisstaffel aus dem Shop, sollte sie zuvor mit einem regulären Preis angelegt worden sein.}}&lt;br /&gt;
==Priorität und Bestprice-Findung==&lt;br /&gt;
Im Unterschied zum VShop gibt es im brShop24 eine Bestprice-Findung wie im OBS (siehe [[OBS/Preislisten/FAQ_Preislisten#preisfindung|FAQ Preislisten &amp;quot;Wie funktioniert die Preisfindung?&amp;quot;]]). Daher findet das Preislistenfeld &#039;&#039;Prio Shop&#039;&#039; in dieser Schnittstelle keine Anwendung. Die Preislisten erhalten im Shop also die gleiche Priorität, wie sie zum Zeitpunkt des Exports im OBS in &#039;&#039;Prio Preisfind.&#039;&#039; eingestellt ist und somit auch in der WaWi Anwendung finden würde.&lt;br /&gt;
{{Hinweis|Möglichweise muss die Bestprice-Findung im Shop aktiviert werden.}}&lt;br /&gt;
&lt;br /&gt;
=Häufig gestellt Fragen (FAQ)=&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|brshop24_faq_preis_1&lt;br /&gt;
|Warum fehlt Preisliste X im Shop?&lt;br /&gt;
|Es gibt ein paar Punkte, die es zu Prüfen gilt, wenn eine Preisliste in den Shop übertragen werden soll. Abhängig ist die Übertragung von folgenden Punkten:&lt;br /&gt;
#Preisliste ist aktiv und gültig (Datum beachten)&lt;br /&gt;
#Preisliste ist für den Shop freigegeben (Gültigkeit enthält &amp;quot;Shop&amp;quot; und Häkchen in Zuordnung ist für die Schnittstelle gesetzt)&lt;br /&gt;
#Preisliste ist mindestens einem Kunden im Shop zugeordnet&lt;br /&gt;
#Preisliste hat mindestens einen Artikel, der im Shop enthalten ist (siehe auch [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner#Depots.2FLager_in_Schnittstelle_brShop24|Depots brShop24]])&lt;br /&gt;
Siehe auch [[Kostenpflichtige_Module/Internet-Shop/brShop24/Preise_übertragen#Wie_der_Export_funktioniert|Wie der Export funktioniert]].&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|brshop24_faq_preis_2&lt;br /&gt;
|Warum wird eine Preisliste nicht in den Shop übertragen?&lt;br /&gt;
|Bitte beachten Sie hier die [[Kostenpflichtige_Module/Internet-Shop/brShop24/Preise_übertragen#Voraussetzungen|Voraussetzungen]] für die Übertragung von Preislisten. Der Knackpunkt bei der Übertragung von Preislisten ist der Abgleich der Artikel. Um den Datenverkehr möglichst gering zu halten, versucht OBS nur die benötigten Daten zu übertragen. Das bedeutet, dass Artikelpreise für Artikel  nicht übertragen werden, sollte der Artikel gar nicht im Shop vorkommen. Ein Abgleich aller Artikel mit dem Shop würde jedoch zu viel Zeit in Anspruch nehmen. Daher gleicht OBS die Daten über die in der Schnittstelle gepflegten [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner#Depots.2FLager_in_Schnittstelle_brShop24|Depots]] ab. Stellen Sie also sicher, dass die Depots entsprechend gepflegt sind.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|brshop24_faq_preis_3&lt;br /&gt;
|Ist es möglich die Artikelpreise automatisiert zu pflegen?&lt;br /&gt;
|Ja, dies ist möglich. Weitere Informationen finden Sie im Artikel zu den [[OBS/Internet-Shop/Einrichtung/Automatiken#Preise_aktualisieren|Shop-Automatiken]].&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|brshop24_faq_preis_4&lt;br /&gt;
|Warum hat der Shop zwei Preiseinträge für einen Artikel?&lt;br /&gt;
|Der Shop unterscheidet bei den Preisen auch nach der Einheit. Der Preisexport übergibt keine Einheit. Für den Preis übernimmt die API die Standard-Einheit des Artikels im Shop. Sollten Sie zwei Einträge zu einer bestimmten Menge bei einem Artikel mit unterschiedlicher Einheit vorfinden, so bekommen Sie dies über OBS nur bereinigt, indem Sie die Preisliste aus dem Shop nehmen und anschließend wieder anlegen.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Eine Preisliste können Sie aus dem Shop nehmen, indem Sie über das Shop-Menü in die Preislistenverwaltung für den Shop gehen. Suchen Sie die Preisliste und drücken Sie auf dem Datensatz {{Entf}}. Dies nimmt die Shop-Zuordnung aus der Preisliste. Danach exportieren Sie die einzelne Preisliste per {{F6}}. Anschließend drücken Sie {{Einfg}}, um die Shop-Zuordnung wieder zu setzen und exportieren erneut die Preisliste. Der erste Export löscht die Preisliste im Shop und der zweite Export legt die Daten neu an.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|brshop24_faq_preis_5&lt;br /&gt;
|Warum wird der Preis eines Artikels nicht in den Shop übertragen?&lt;br /&gt;
|Vorraussetzungen, damit Artikelpreise übertragen werden:&lt;br /&gt;
#Preisliste muss die Voraussetzungen für den Export erfüllen&lt;br /&gt;
#Der Preis selbst muss größer als 0 sein&lt;br /&gt;
#Der Artikel muss über ein [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner|Lager (Shop-Depot)]] mit der Schnittstelle verknüpft sein&lt;br /&gt;
#Artikel darf vom Shop nicht als fehlend gemeldet worden sein (betrifft Artikel, die durch Büroring gepflegt werden)&lt;br /&gt;
#Eigene Artikel müssen im OBS und für die Schnittstelle aktiv sein&lt;br /&gt;
Für eigene Artikel liegt die Pflege des Artikels im Shop bei Ihnen. Das Büroring-Sortiment wird von Büroring im Shop gepflegt. Die Pflege von Preisen für Büroringartikel ist somit abhängig von zwei Faktoren: Zeitpunkte der Pflege/Anlage im Shop und der Zeitpunkt im OBS. Hierzu gab es bereits diverse Meldungen, dass Artikelpreise nicht übertragen wurden, obwohl der Artikel im Shop vorkommt. Da OBS die zu übertragenen Artikel bei [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner#Zuordnung_von_Artikeln|entsprechender Einstellung]] über die EK-Informationen des Artikelstamms ermittelt und dann Preise für die &amp;quot;verfügbaren&amp;quot; Artikel übermittelt, muss der Shop zu dem Zeitpunkt den jeweiligen Artikel auch im jeweiligen Lager wiederfinden können. Ist dies nicht der Fall, meldet der Shop den entsprechenden Artikel als &amp;quot;fehlend&amp;quot; und OBS merkt sich diese Rückmeldung. &amp;quot;Fehlende&amp;quot; Artikel werden bei weiteren Exporten ignoriert. Es kann also vorkommen, dass ein Artikel aus OBS im Shop einen Preis bekommen sollte, den der Shop zu dem Zeitpunkt nicht in seinem Sortiment wiedergefunden hat. Sollten Sie zu diesen Artikeln den Preis vermissen, so prüfen Sie bitte die [[#Liste_Artikel_zu_Preisliste|Preisdaten]] zu zur Preisliste (siehe oben Verwaltung Shop-Preislisten {{Key|F7 Artikel}}) oder die [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner#Zuordnung_von_Artikeln|Artikelliste]] des jeweiligen Lagers. &amp;quot;Fehlende&amp;quot; Artikel werden hier rot dargestellt. Sie können außerdem per Sortierung sich nur die fehlenden Artikel anzeigen lassen. Ist der Artikel hier als &amp;quot;fehlend&amp;quot; markiert, so führen Sie auf dem Artikel stehend mit {{Key|F6 Check}} eine erneute Prüfung aus. Wird der Artikel gefunden, erhalten Sie eine entsprechende Rückmeldung und der Status wird geändert.&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Nimz</name></author>
	</entry>
	<entry>
		<id>https://wiki.bergau.de/index.php?title=Kostenpflichtige_Module/Internet-Shop/brShop24/Preise_%C3%BCbertragen&amp;diff=64574</id>
		<title>Kostenpflichtige Module/Internet-Shop/brShop24/Preise übertragen</title>
		<link rel="alternate" type="text/html" href="https://wiki.bergau.de/index.php?title=Kostenpflichtige_Module/Internet-Shop/brShop24/Preise_%C3%BCbertragen&amp;diff=64574"/>
		<updated>2026-07-27T10:16:29Z</updated>

		<summary type="html">&lt;p&gt;Nimz: /* Tasten und Schaltflächen (Artikel) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Vorlage:Kostenpflichtige Module}}&lt;br /&gt;
{{Achtung|Für die Preisübertragung wird das kostenpflichtige Modul [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] vorausgesetzt!}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Achtung|Es kann vorkommen, dass im Shop mehere Preiseinträge zu einer bestimmten Menge eines Artikels auftauchen. Siehe dazu FAQ [[#brshop24_faq_preis_4|Warum hat der Shop zwei Preiseinträge für einen Artikel?]].}}&lt;br /&gt;
=Voraussetzungen=&lt;br /&gt;
#[[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner#Depots.2FLager_in_Schnittstelle_brShop24|Depots]] sind eingerichtet (über Schnittstellenkonfiguration {{F8}})&lt;br /&gt;
#Preissystem im OBS ist auf das kostenpflichtige Modul [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] umgestellt&lt;br /&gt;
#Preisliste(n) ist/sind zum Zeitpunkt des Exports gültig.&amp;lt;br /&amp;gt;Eingabemaske [[OBS/Kostenpflichtige_Module/Preislisten|Preislistenverwaltung]]: &lt;br /&gt;
##Preisliste ist aktiv (Checkbox)&lt;br /&gt;
##aktuelles Datum ist innerhalb des Gültigkeitszeitraums (Datum von/bis)&lt;br /&gt;
##Gültigkeit enthält &amp;quot;Shop&amp;quot; (Default: &amp;quot;Shop &amp;amp; Kasse &amp;amp; WaWi&amp;quot;)&lt;br /&gt;
#Preisliste ist für Schnittstelle freigegeben (Häkchen gesetzt unter [[OBS/Kostenpflichtige_Module/Preislisten|Preislistenverwaltung]] &amp;amp;rarr; {{F10}} &amp;amp;rarr; S3)&lt;br /&gt;
#Kunden im Shop vorhanden&lt;br /&gt;
#Preisliste ist für mindestens einen der Kunden gültig (über Kundennummer in brShop24-Kundengruppe oder brShop24-Benutzer). Siehe dazu auch [[OBS/Preislisten/FAQ_Preislisten|FAQ Preislisten]] &amp;quot;Welche Möglichkeiten der Zuordnung gibt es?&amp;quot;.&lt;br /&gt;
#[[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] enthalten mindestens einen Artikel aus dem Shop&lt;br /&gt;
&lt;br /&gt;
=Shop-Menü: Preislisten verwalten=&lt;br /&gt;
==Preislisten verwalten==&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;ul&amp;gt; &lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:BrShop24_ShpPl.jpg|thumb|none|600px|Preislisten einer Schnittstelle]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
Die Liste zeigt Ihnen alle [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]], die bei &#039;&#039;&#039;bisherigen&#039;&#039;&#039; Exporten für die Schnittstelle übernommen wurden und welchen Status diese bei der letzten Übertragung bekommen haben. Aktive [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] werden dabei in schwarz angezeigt. Rote Einträge sind gelöschte [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]]. Außerdem wird wie in der [[OBS/Stammdaten/Artikel:_H2_-_Bildverwaltung|Bildverwaltung]] und [[OBS/Stammdaten/Artikel:_H3_-_Shoppflege/A_Texte|externen Artikeltexten]] in Fett die Zuordnung zur Schnittstelle hervorgehoben, indem die Zeile in Fett dargestellt wird.&lt;br /&gt;
{{Hinweis|&#039;&#039;&#039;&amp;quot;Bisherige Exporte&amp;quot;&#039;&#039;&#039; meint alle zuvor ausgeführten Übertragungen von [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] über diese Shop-Schnittstelle. Diese Liste ist als eine Art Historie zu sehen. Sie zeigt nur das Ergebnis der bisherigen Übertragung. Je nach Anpassungen in der [[OBS/Kostenpflichtige_Module/Preislisten|Preislistenverwaltung]] (Artikel oder Freigaben) oder Zuordnung zu Kunden kann das Ergebnis nach der nächsten Übertragung anders aussehen. Auch tauchen neue [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] erst in dieser Liste auf, sobald diese einmal über einen Preislistenexport übertragen wurde.}}&lt;br /&gt;
===Tasten und Schaltflächen (Preisliste)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Taste!! width=&amp;quot;800px&amp;quot;|Erklärung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F5 Mark}}|| Markiert einen Datensatz&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F6 Export}}|| Exportiert eine oder alle Preislisten (Auswahl).{{Hinweis|Die initiale Einzelübertragung neuer Preislisten muss über die [[OBS/Kostenpflichtige_Module/Preislisten|Preislistenverwaltung]] erfolgen.}}&amp;lt;br /&amp;gt;Auswahl&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
*A Alle&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; vollständige Aktualisierung aller Preislisten im Shop. Dies bezieht auch Preislisten ein, die in der Preislistenverwaltung neu erstellt wurden!&lt;br /&gt;
*B akt. Preisliste&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; Überträgt die aktuell gewählte Preisliste neu. Abhängig von den Einstellungen oder Daten wird hier die Preisliste aktualisiert oder &#039;&#039;gelöscht&#039;&#039;(!).&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F7 Artikel}}|| Zeigt eine [[#Liste_Artikel_zu_Preisliste|Liste]] der zur Preisliste selektierten Artikel u. a. mit Lager, Shop-Artikelnummer, Staffelmenge und Preis.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F9 PLV}}|| Öffnet die [[OBS/Kostenpflichtige_Module/Preislisten#Liste|Preislistenverwaltung]]&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F10 Weit.}}|| Zugriff auf [[#Weitere_Funktionen_(Preisliste_F10)|weitere Funktionen]] der Liste&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|Einfg Einf.}}|| Setzt Zuordnung zur aktuellen Schnittstelle für markierte oder aktuelle Preisliste(n).&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|Entf Lösch.}}|| Entfernt Zuordnung zur aktuellen Schnittstelle für markierte oder aktuelle Preisliste(n).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Weitere Funktionen (Preisliste F10)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Menüpunkt!! width=&amp;quot;800px&amp;quot;|Erklärung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| A1{{nb_space}}Analyse{{nb_hyphen}}Modus{{nb_space}}(shopbezogen)|| Schaltet den [[#Analyse-Modus|Analyse-Modus]] an bzw. aus. Es werden nur die in die in der Schnittstelle vorhandenen Preislisten analysiert.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| A2{{nb_space}}Analyse{{nb_hyphen}}Modus{{nb_space}}(alle)|| Schaltet den [[#Analyse-Modus|Analyse-Modus]] an bzw. aus. Es werden alle OBS-Preislisten analysiert.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| L1{{nb_space}}Preisliste{{nb_space}}leeren|| Leert im Shop die Preisliste. Das bedeutet, dass alle Preiseinträge der Preisliste gelöscht werden. Die Preisliste sollte direkt danach neu exportiert werden.{{Achtung|Dies löscht nicht die Preisliste! Die Preisliste hat im Shop lediglich keine Preiseinträge mehr. Ist ein löschen der Preisliste gewünscht, dann sollte die Shop-Zuordnung entfernt oder die Preisliste anderweitig deaktiviert und anschließend exportiert werden.}}&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| P{{nb_space}}Job{{nb_hyphen}}Protokolle{{nb_space}}zu{{nb_space}}Preisliste|| Öffnet ie [[Kostenpflichtige_Module/Internet-Shop/brShop24/Jobinformationen#Liste_Jobs|Protokollliste]] gefiltert nach Job für die Preisliste.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Z1{{nb_space}}Preislistenzuordnung{{nb_space}}neu{{nb_space}}übertragen{{nb_space}}(Person)|| Übertragen der Preislistenzuordnung einer Person{{Hinweis|Nur verfügbar über die Webshop-Einstellungen von Personen!}}&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Z2{{nb_space}}Preislistenzuordnung{{nb_space}}neu{{nb_space}}übertragen{{nb_space}}(Preisliste)|| Übertragen der Preislistenzuordnung der genannten Preisliste&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Z3{{nb_space}}Preislistenzuordnung{{nb_space}}neu{{nb_space}}übertragen{{nb_space}}(Alle)|| Übertragen der Preislistenzuordnung aller Preisliste&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Analyse-Modus (Preislisten)===&lt;br /&gt;
{{Hinweis|Abhängig von der Anzahl der Preislisten kann die Analyse einen Moment dauern, da dies für jede Preisliste ausgeführt wird!}}&lt;br /&gt;
Der Analyse-Modus zeigt Ihnen in einer eigenen Spalte &#039;&#039;Probleme&#039;&#039; Ursachen an, warum eine Preisliste nicht exportiert wird. Dies kann aktuell umfassen:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Problem!! width=&amp;quot;800px&amp;quot;|Erklärung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Nicht{{nb_space}}aktiv|| Die Preisliste ist nicht aktiviert (Häkchen in Maske).&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Außerhalb{{nb_space}}Gültigkeitszeitraum|| Das aktuelle Datum liegt außerhalb des in der Preisliste definierten Gültigkeitszeitraum (Datum von/bis).&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Typ{{nb_space}}enthält{{nb_space}}nicht{{nb_space}}Shop|| Die Preisliste ist auf WaWi und/oder Kasse beschränkt (Auswahlfeld in Preislistenmaske).&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Nicht{{nb_space}}der{{nb_space}}Schnittstelle{{nb_space}}zugeordnet|| Die Zuordnung zur Schnittstelle fehlt. Dies kann einfach mit {{Key|Einfg Einf.}} geändert werden.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Keine{{nb_space}}Personenzuordnung|| Es wurden keine Personen(nummern) zur Zuordnung gefunden. Je nach Zuordnung im OBS muss eine der Personennummern im Shop in mindestens einem Benutzer oder einer Kundengruppe vorkommen.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Keine{{nb_space}}Preise{{nb_space}}hinterlegt|| Die Preisliste verfügt über keine gültigen Preiseeinträge für den Export. Sollte Preiseinträge in der Preisliste vorhanden sein, können Sie dies mit dem Analyse-Modus der [[#Liste_Artikel_zu_Preisliste|Artikel-Liste]] ({{Key|F7 Artikel}}) prüfen.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Liste Artikel zu Preisliste==&lt;br /&gt;
{{Achtung|Verfügbar ab Version 004840!}}&lt;br /&gt;
Zeigt die historischen Preisdaten zur Preisliste, welche über die Schnittstelle verarbeitet wurden.&lt;br /&gt;
{{Hinweis|Die Selektion der Preisdaten passiert mit dem Export einer Preisliste. Diese Liste zeigt den Datenstand der letzten Selektion. Die hier angezeigten Preisdaten können daher von den aktuellen Preisen der Preisliste abweichen.}}&lt;br /&gt;
===Spalten===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Bezeichnung!! width=&amp;quot;800px&amp;quot;|Erläuterung&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| OBS-Art-Nr.|| Zeigt die OBS-Artikelnummer aus Ihrem [[OBS/Stammdaten/Artikel|Artikelstamm]] an&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Shop-Art.-Nr.|| Zeigt die Artikelnummer im Shop an unter der dieser Preisdatensatz gepflegt wird.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Lager|| Name des [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner|Shop-Lagers]]&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Bezeichnung|| Artikelbezeichnung; Zeigt Name 1 aus dem Artikel. Bei eigenen Artikeln wird - sofern gesetzt - die alternative Bezeichnung aus den [[OBS/Stammdaten/Artikel/Registerkarte:_Shop/Einstellungsliste/Artikelauswahl|Artikel-Shop-Einstellungen]] angezeigt.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Menge|| (Staffel-)Menge des Preisdatensatzes&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| VK Netto|| Netto-Preis des Preisdatensatzes&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Preisstatus|| Je nach status bei der letzten Selektion wird Ihnen hier &#039;&#039;Pflegen&#039;&#039; oder &#039;&#039;Löschen&#039;&#039; angezeigt.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Grund|| Zeigt den [[#Spalte_Grund|Grund]], warum ein Preis nicht exportiert werden kann bzw. konnte.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Aktualisiert|| Zeigt das Datum an dem OBS zuletzt den Preis per API in den Shop übertragen hat.{{Hinweis|Wird bei Datensätzen, deren letzte Änderung per API länger zurück liegt, nicht angezeigt, da diese Information im Datensatz selbst erst Version 004721 (November 2024) gespeichert wird.}}&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Gelöscht|| Zeigt das Datum an dem OBS zuletzt den Preis per API aus dem Shop gelöscht hat.{{Hinweis|Wird bei Datensätzen, deren letzte Änderung per API länger zurück liegt, nicht angezeigt, da diese Information im Datensatz selbst erst Version 004721 (November 2024) gespeichert wird.}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Spalte Grund===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Problem!! width=&amp;quot;800px&amp;quot;|Erklärung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Artikel{{nb_space}}inaktiv|| Im Artikelstamm ist das Häkchen &amp;quot;Inaktiv&amp;quot; gesetzt. Bei eigenen Artikeln ist dies ebenfalls abhängig von der Pflege-Einstellung (Allgemein und Lagerbezogen).&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Nicht{{nb_space}}lieferbar|| Abhängig von der Pflege (Lieferantenbezogen oder eigener Artikel ohne Lieferantenbezug) ist entweder kein oder der Lieferantbezogene EK-Eintrag als &amp;quot;nicht lieferbar&amp;quot; markiert.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Nicht{{nb_space}}für{{nb_space}}Shop{{nb_space}}freigegeben|| Artikel wurde (noch) nicht in die Liste der Shop-Artikel übernommen. Diese Liste erstellt OBS während des Preisexports automatisch auf Basis der Einstellungen in den Shop-Lager und Definitionen eigener Artikel. Sollte ein Artikel fehlen, ist entweder die Übernahme noch nicht ausgeführt wurden oder es fehlt ein benötigter Eintrag in den EK-Lieferanten oder die Freigabe als eigener Artikel.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Kein{{nb_space}}Matching|| Kann passieren, wenn sich z. B. eine Referenznummer wie die Bestellnummer ändert und OBS die Daten nicht mehr miteinander verknüpfen kann.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Vom{{nb_space}}Shop{{nb_space}}als{{nb_space}}fehlend{{nb_space}}gemeldet|| OBS hat für diesen Artikel (Referenz ist Lager + Referenznummer) in der Vergangenheit einen Preis übertragen. Die API hat den Preis jedoch nicht angelegt mit dem Grund, dass der Artikel nicht im Shop vorhanden ist. Der Artikel wird dann für das Lager von der Pflege ausgeschlossen. Ändern z. B. Artikel die Lagerzugehörigkeit (z. B. Zentrallager zu Außenlager) oder Artikel kommen früher über die Artikelpflege ins OBS, kann es zu diesem Problem kommen. Mit {{Key|F6 Check}} können Sie den Status prüfen lassen. Kann der Artikel darüber gefunden werden, aktiviert OBS die pflege wieder.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Menge{{nb_space}}&amp;lt;={{nb_space}}0|| Die Menge muss für eine gülige Definition einen positiven Wert haben.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| VK{{nb_space}}&amp;lt;={{nb_space}}0|| Preiseinträge mit 0 werden von der API gelöscht. Entsprechende VK-Preise werden von OBS daher im Vorfeld bereits abgelehnt.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| VK{{nb_space}}&amp;lt;={{nb_space}}EK|| Mit der Einstellung &#039;&#039;&#039;Export.Preise.Preis.VK.Check&#039;&#039;&#039; kann die Ertragsprüfung aktiviert werden. Es werden dann nur noch Preise übertragen, deren VK größer ist als der EK. Einzige Ausnahme sind Preislisten mit dem Häkchen &#039;&#039;&#039;Preisgarantie&#039;&#039;&#039;. Für diese Preislisten werden VK-Preise immer übertragen, sofern kein anderer Grund (z. B. VK ist 0) zur Ablehnung vorhanden ist.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Hervorhebungen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Stil!! width=&amp;quot;800px&amp;quot;|Bedeutung&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Kursiv|| Preis hat den Status &amp;quot;Löschen&amp;quot;.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Textfarbe Rot|| Artikel ist als &amp;quot;fehlend&amp;quot; markiert. Dies kann z. B. passieren, wenn Artikel im OBS bereits vorhanden sind, aber im Shop zum Zeitpunkt der Preispflege nicht gefunden/identifiziert werden können. OBS ignoriert &amp;quot;fehlende&amp;quot; Artikel im weiteren Verlauf. Sollte der Artikel im Shop vorhanden sein, können Sie mit {{Key|F6 Check}} eine neue Abfrage starten, um den Status zu ändern.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Textfarbe Grau|| Artikel ist inaktiv (Artikelstamm Häkchen &amp;quot;inaktiv&amp;quot;).&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Textfarbe Grün|| Eigener Artikel ist aktiv.&lt;br /&gt;
|}&lt;br /&gt;
===Tasten und Schaltflächen (Artikel)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Taste!! width=&amp;quot;800px&amp;quot;|Erklärung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F4 Sort}}|| Sortierung wechseln. Sortierungen mit dem Zusatz &amp;quot;(nicht gefunden)&amp;quot; zeigen nur die Einträge an, zu denen der Shop bei der letzten Übertragung den Artikel als &amp;quot;nicht gefunden&amp;quot; gemeldet hat.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F6 Check}}|| Prüft für den aktuellen Datensatz, ob der zugehörige Artikel im Shop gefunden werden kann. Je nach Pflege Zeitpunkt kann es z.{{nb_space}}B. bei neuen Artikeln passieren, dass OBS einen Preis überträgt, der Artikel aber noch nicht im Shop angelegt wurde. Da OBS dann den Artikel für die weitere Pflege deaktiviert, muss der Artikel auf diese Weise erst wieder freigegeben werden.&lt;br /&gt;
| {{Key|F10 Weit.}}|| Zugriff auf weitere Funktionen der Liste.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Weitere Funktionen (Artikel F10)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Menüpunkt!! width=&amp;quot;800px&amp;quot;|Erklärung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| A{{nb_space}}Artikelstatus{{nb_space}}Massenprüfung|| Führt die Statusprüfung aus {{Key|F6 Check}} für alle Artikel der Preisliste aus.{{Achtung|Diese Funktionalität ist für personenbezogene Preislisten mit wenigen Hundert Artikel gedacht. Bei größeren Preislisten kann die Abfrage entsprechend lange dauern!}}&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| D{{nb_space}}Datenabgleich{{nb_space}}mit{{nb_space}}brShop24{{nb_space}}API|| Fragt die Preisdaten zur Preisliste über die API ab und zeigt das Ergebnis in Spalte &#039;&#039;D&#039;&#039; mit Kürzeln an.&amp;lt;br /&amp;gt;F = Preis fehlt, sollte aber vorhanden sein&amp;lt;br /&amp;gt;F = Preis vorhanden, sollte aber gelöscht sein&amp;lt;br /&amp;gt;P = Preis ist vorhanden, jedoch abweichend{{Hinweis|Steht aktuell nur Benutzern mit Administratorlevel 9 für Shop-Schnittstellen zur Verfügung!}}&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| P{{nb_space}}Job{{nb_hyphen}}Protokolle{{nb_space}}zu{{nb_space}}Preis|| Aufruf der Job-Protokolle für den Preiseintrag.{{Hinweis|Für alte Preisexporte fehlt hier die Verknüpfung in den Protokolldaten. Diese können daher nicht geladen werden.}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Preisdaten exportieren=&lt;br /&gt;
Sie können Preise auf verschiedenen Wegen exportieren. Es werden dabei immer nur die Veränderungen zum letzten Export übertragen.&amp;lt;br /&amp;gt;&lt;br /&gt;
Gestartet werden kann der Export auf folgenden Wegen:&lt;br /&gt;
*Shop-Menü &amp;quot;B Preislisten verwalten&amp;quot;&lt;br /&gt;
:Per {{F6}} starten Sie hier den Export für alle Preislisten&lt;br /&gt;
*Preislistenverwaltung&lt;br /&gt;
:{{F10}} + S1{{Hinweis|Der Punkt ist erst sichtbar, wenn die Preisliste mindestens einer Shop-Schnittstelle zugeordnet ist.}}&lt;br /&gt;
*Personenstamm Webshop-Einstellungen&lt;br /&gt;
:{{F8}} für die Übertragung der personenbezogenen Preise. Dieser Punkt öffnet die Shop-Preislisten-Verwaltung mit einem Filter, so dass nur die Preislisten des Kunden angezeigt werden. Auch beim Export werden nur die Preislisten des Kunden übertragen.&lt;br /&gt;
{{Hinweis|OBS überträgt die Preise pro Liste &amp;quot;gesammelt&amp;quot; in einem &amp;quot;batch&amp;quot;-Modus. Das heißt es werden mehrere hundert Einträge auf einmal übertragen und vom Shop-Server auf eine Todo-Liste gesetzt. Diese Liste arbeitet der Server relativ zeitnah ab. Es kann daher dazu kommen, dass die Preise nach der Übertragung erst mit einer kurzen Verzögerung im Shop angezeigt werden. Die Verzögerung sollte jedoch nur wenige Minuten betragen.}}&lt;br /&gt;
&lt;br /&gt;
=Wie der Export funktioniert=&lt;br /&gt;
Für den Export selbst sind die im Shop vorhandenen Personen interessant. Preislisten im OBS, die nur Kunden zugeordnet sind, die gar nicht im Shop vorkommen, werden nicht exportiert.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Stellen Sie daher für den Export einer Preisliste folgendes sicher:&#039;&#039;&#039;&lt;br /&gt;
*mindestens ein Kunde, dem die Preisliste im OBS zugeordnet ist, ist im Shop vorhanden.&lt;br /&gt;
*die Preisliste ist aktiv und gültig:&lt;br /&gt;
**Häkchen in &amp;quot;Preisliste aktiv&amp;quot; ist gesetzt.&lt;br /&gt;
**Das aktuelles Datum liegt innerhalb des angegebenen Zeitraums (Datum von/bis) der Preisliste.&lt;br /&gt;
**Das Feld &amp;quot;Gültigkeit&amp;quot; enthält den Wert &#039;&#039;Shop&#039;&#039;.&lt;br /&gt;
**Preisliste ist für die Schnittstelle freigegeben (Preislistenverwaltung {{F10}} + S3)&lt;br /&gt;
*Die Preisliste enthält mindestens einen Artikel, der im Shop gepflegt ist. (siehe auch [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner#Depots.2FLager_in_Schnittstelle_brShop24|Depots brShop24]])&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Neben den genannten Voraussetzungen gibt es noch zwei Einstellungen, die auf die Übertragung einzelner Preise Auswirkungen haben:&lt;br /&gt;
*[[Kostenpflichtige_Module/Internet-Shop/brShop24/Konfiguration#Übersicht_aller_Einstellungen_für_brShop24|Konfiguration]] Export.Preise.Preis.VK.Check&lt;br /&gt;
:Wenn aktiviert, dann werden die VK-Preise mit den aktuellen EK-Preisen, abhängig der Preislisteneinstellung (aus Preisliste oder EK1 aus Artikelstamm) verglichen und der Preis nur exportiert, wenn VK &amp;gt; EK ist.&lt;br /&gt;
*[[OBS/Kostenpflichtige_Module/Preislisten|Preisliste]] Preisgarantie&lt;br /&gt;
:Preislisten mit gesetztem Häkchen in &#039;&#039;Preisgarantie&#039;&#039; werden in der Preisprüfung übersprungen.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
OBS ermittelt lokal die Änderungen zur letzten Übertragung. Dies passiert abhängig von den Übertragungsparameter für alle Preislisten, alle Preislisten einer Person(-ennummer) oder einer einzelnen Preisliste.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Preise werden nicht direkt in den Shop geschrieben. Der Shop erhält eine Liste der Preisdaten und legt diese in eine Aufgabenliste, welche dann automatisch abgearbeitet wird.&lt;br /&gt;
{{Achtung|Je nach Auslastung des Shop-Systems kann es also einige Minuten dauern, bis die Preise vollständig übernommen wurden.}}&lt;br /&gt;
{{Hinweis|Laut Informationen von Büroring werden 0-Preise in der API verworfen. OBS setzt entsprechende Preiseinträge intern auf den Status &amp;quot;löschen&amp;quot; und entfernt die jeweilige Preisstaffel aus dem Shop, sollte sie zuvor mit einem regulären Preis angelegt worden sein.}}&lt;br /&gt;
==Priorität und Bestprice-Findung==&lt;br /&gt;
Im Unterschied zum VShop gibt es im brShop24 eine Bestprice-Findung wie im OBS (siehe [[OBS/Preislisten/FAQ_Preislisten#preisfindung|FAQ Preislisten &amp;quot;Wie funktioniert die Preisfindung?&amp;quot;]]). Daher findet das Preislistenfeld &#039;&#039;Prio Shop&#039;&#039; in dieser Schnittstelle keine Anwendung. Die Preislisten erhalten im Shop also die gleiche Priorität, wie sie zum Zeitpunkt des Exports im OBS in &#039;&#039;Prio Preisfind.&#039;&#039; eingestellt ist und somit auch in der WaWi Anwendung finden würde.&lt;br /&gt;
{{Hinweis|Möglichweise muss die Bestprice-Findung im Shop aktiviert werden.}}&lt;br /&gt;
&lt;br /&gt;
=Häufig gestellt Fragen (FAQ)=&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|brshop24_faq_preis_1&lt;br /&gt;
|Warum fehlt Preisliste X im Shop?&lt;br /&gt;
|Es gibt ein paar Punkte, die es zu Prüfen gilt, wenn eine Preisliste in den Shop übertragen werden soll. Abhängig ist die Übertragung von folgenden Punkten:&lt;br /&gt;
#Preisliste ist aktiv und gültig (Datum beachten)&lt;br /&gt;
#Preisliste ist für den Shop freigegeben (Gültigkeit enthält &amp;quot;Shop&amp;quot; und Häkchen in Zuordnung ist für die Schnittstelle gesetzt)&lt;br /&gt;
#Preisliste ist mindestens einem Kunden im Shop zugeordnet&lt;br /&gt;
#Preisliste hat mindestens einen Artikel, der im Shop enthalten ist (siehe auch [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner#Depots.2FLager_in_Schnittstelle_brShop24|Depots brShop24]])&lt;br /&gt;
Siehe auch [[Kostenpflichtige_Module/Internet-Shop/brShop24/Preise_übertragen#Wie_der_Export_funktioniert|Wie der Export funktioniert]].&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|brshop24_faq_preis_2&lt;br /&gt;
|Warum wird eine Preisliste nicht in den Shop übertragen?&lt;br /&gt;
|Bitte beachten Sie hier die [[Kostenpflichtige_Module/Internet-Shop/brShop24/Preise_übertragen#Voraussetzungen|Voraussetzungen]] für die Übertragung von Preislisten. Der Knackpunkt bei der Übertragung von Preislisten ist der Abgleich der Artikel. Um den Datenverkehr möglichst gering zu halten, versucht OBS nur die benötigten Daten zu übertragen. Das bedeutet, dass Artikelpreise für Artikel  nicht übertragen werden, sollte der Artikel gar nicht im Shop vorkommen. Ein Abgleich aller Artikel mit dem Shop würde jedoch zu viel Zeit in Anspruch nehmen. Daher gleicht OBS die Daten über die in der Schnittstelle gepflegten [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner#Depots.2FLager_in_Schnittstelle_brShop24|Depots]] ab. Stellen Sie also sicher, dass die Depots entsprechend gepflegt sind.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|brshop24_faq_preis_3&lt;br /&gt;
|Ist es möglich die Artikelpreise automatisiert zu pflegen?&lt;br /&gt;
|Ja, dies ist möglich. Weitere Informationen finden Sie im Artikel zu den [[OBS/Internet-Shop/Einrichtung/Automatiken#Preise_aktualisieren|Shop-Automatiken]].&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|brshop24_faq_preis_4&lt;br /&gt;
|Warum hat der Shop zwei Preiseinträge für einen Artikel?&lt;br /&gt;
|Der Shop unterscheidet bei den Preisen auch nach der Einheit. Der Preisexport übergibt keine Einheit. Für den Preis übernimmt die API die Standard-Einheit des Artikels im Shop. Sollten Sie zwei Einträge zu einer bestimmten Menge bei einem Artikel mit unterschiedlicher Einheit vorfinden, so bekommen Sie dies über OBS nur bereinigt, indem Sie die Preisliste aus dem Shop nehmen und anschließend wieder anlegen.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Eine Preisliste können Sie aus dem Shop nehmen, indem Sie über das Shop-Menü in die Preislistenverwaltung für den Shop gehen. Suchen Sie die Preisliste und drücken Sie auf dem Datensatz {{Entf}}. Dies nimmt die Shop-Zuordnung aus der Preisliste. Danach exportieren Sie die einzelne Preisliste per {{F6}}. Anschließend drücken Sie {{Einfg}}, um die Shop-Zuordnung wieder zu setzen und exportieren erneut die Preisliste. Der erste Export löscht die Preisliste im Shop und der zweite Export legt die Daten neu an.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|brshop24_faq_preis_5&lt;br /&gt;
|Warum wird der Preis eines Artikels nicht in den Shop übertragen?&lt;br /&gt;
|Vorraussetzungen, damit Artikelpreise übertragen werden:&lt;br /&gt;
#Preisliste muss die Voraussetzungen für den Export erfüllen&lt;br /&gt;
#Der Preis selbst muss größer als 0 sein&lt;br /&gt;
#Der Artikel muss über ein [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner|Lager (Shop-Depot)]] mit der Schnittstelle verknüpft sein&lt;br /&gt;
#Artikel darf vom Shop nicht als fehlend gemeldet worden sein (betrifft Artikel, die durch Büroring gepflegt werden)&lt;br /&gt;
#Eigene Artikel müssen im OBS und für die Schnittstelle aktiv sein&lt;br /&gt;
Für eigene Artikel liegt die Pflege des Artikels im Shop bei Ihnen. Das Büroring-Sortiment wird von Büroring im Shop gepflegt. Die Pflege von Preisen für Büroringartikel ist somit abhängig von zwei Faktoren: Zeitpunkte der Pflege/Anlage im Shop und der Zeitpunkt im OBS. Hierzu gab es bereits diverse Meldungen, dass Artikelpreise nicht übertragen wurden, obwohl der Artikel im Shop vorkommt. Da OBS die zu übertragenen Artikel bei [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner#Zuordnung_von_Artikeln|entsprechender Einstellung]] über die EK-Informationen des Artikelstamms ermittelt und dann Preise für die &amp;quot;verfügbaren&amp;quot; Artikel übermittelt, muss der Shop zu dem Zeitpunkt den jeweiligen Artikel auch im jeweiligen Lager wiederfinden können. Ist dies nicht der Fall, meldet der Shop den entsprechenden Artikel als &amp;quot;fehlend&amp;quot; und OBS merkt sich diese Rückmeldung. &amp;quot;Fehlende&amp;quot; Artikel werden bei weiteren Exporten ignoriert. Es kann also vorkommen, dass ein Artikel aus OBS im Shop einen Preis bekommen sollte, den der Shop zu dem Zeitpunkt nicht in seinem Sortiment wiedergefunden hat. Sollten Sie zu diesen Artikeln den Preis vermissen, so prüfen Sie bitte die [[#Liste_Artikel_zu_Preisliste|Preisdaten]] zu zur Preisliste (siehe oben Verwaltung Shop-Preislisten {{Key|F7 Artikel}}) oder die [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner#Zuordnung_von_Artikeln|Artikelliste]] des jeweiligen Lagers. &amp;quot;Fehlende&amp;quot; Artikel werden hier rot dargestellt. Sie können außerdem per Sortierung sich nur die fehlenden Artikel anzeigen lassen. Ist der Artikel hier als &amp;quot;fehlend&amp;quot; markiert, so führen Sie auf dem Artikel stehend mit {{Key|F6 Check}} eine erneute Prüfung aus. Wird der Artikel gefunden, erhalten Sie eine entsprechende Rückmeldung und der Status wird geändert.&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Nimz</name></author>
	</entry>
	<entry>
		<id>https://wiki.bergau.de/index.php?title=Kostenpflichtige_Module/Internet-Shop/brShop24/Preise_%C3%BCbertragen&amp;diff=64573</id>
		<title>Kostenpflichtige Module/Internet-Shop/brShop24/Preise übertragen</title>
		<link rel="alternate" type="text/html" href="https://wiki.bergau.de/index.php?title=Kostenpflichtige_Module/Internet-Shop/brShop24/Preise_%C3%BCbertragen&amp;diff=64573"/>
		<updated>2026-07-27T10:00:49Z</updated>

		<summary type="html">&lt;p&gt;Nimz: /* Tasten und Schaltflächen (Artikel) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Vorlage:Kostenpflichtige Module}}&lt;br /&gt;
{{Achtung|Für die Preisübertragung wird das kostenpflichtige Modul [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] vorausgesetzt!}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Achtung|Es kann vorkommen, dass im Shop mehere Preiseinträge zu einer bestimmten Menge eines Artikels auftauchen. Siehe dazu FAQ [[#brshop24_faq_preis_4|Warum hat der Shop zwei Preiseinträge für einen Artikel?]].}}&lt;br /&gt;
=Voraussetzungen=&lt;br /&gt;
#[[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner#Depots.2FLager_in_Schnittstelle_brShop24|Depots]] sind eingerichtet (über Schnittstellenkonfiguration {{F8}})&lt;br /&gt;
#Preissystem im OBS ist auf das kostenpflichtige Modul [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] umgestellt&lt;br /&gt;
#Preisliste(n) ist/sind zum Zeitpunkt des Exports gültig.&amp;lt;br /&amp;gt;Eingabemaske [[OBS/Kostenpflichtige_Module/Preislisten|Preislistenverwaltung]]: &lt;br /&gt;
##Preisliste ist aktiv (Checkbox)&lt;br /&gt;
##aktuelles Datum ist innerhalb des Gültigkeitszeitraums (Datum von/bis)&lt;br /&gt;
##Gültigkeit enthält &amp;quot;Shop&amp;quot; (Default: &amp;quot;Shop &amp;amp; Kasse &amp;amp; WaWi&amp;quot;)&lt;br /&gt;
#Preisliste ist für Schnittstelle freigegeben (Häkchen gesetzt unter [[OBS/Kostenpflichtige_Module/Preislisten|Preislistenverwaltung]] &amp;amp;rarr; {{F10}} &amp;amp;rarr; S3)&lt;br /&gt;
#Kunden im Shop vorhanden&lt;br /&gt;
#Preisliste ist für mindestens einen der Kunden gültig (über Kundennummer in brShop24-Kundengruppe oder brShop24-Benutzer). Siehe dazu auch [[OBS/Preislisten/FAQ_Preislisten|FAQ Preislisten]] &amp;quot;Welche Möglichkeiten der Zuordnung gibt es?&amp;quot;.&lt;br /&gt;
#[[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] enthalten mindestens einen Artikel aus dem Shop&lt;br /&gt;
&lt;br /&gt;
=Shop-Menü: Preislisten verwalten=&lt;br /&gt;
==Preislisten verwalten==&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;ul&amp;gt; &lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:BrShop24_ShpPl.jpg|thumb|none|600px|Preislisten einer Schnittstelle]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
Die Liste zeigt Ihnen alle [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]], die bei &#039;&#039;&#039;bisherigen&#039;&#039;&#039; Exporten für die Schnittstelle übernommen wurden und welchen Status diese bei der letzten Übertragung bekommen haben. Aktive [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] werden dabei in schwarz angezeigt. Rote Einträge sind gelöschte [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]]. Außerdem wird wie in der [[OBS/Stammdaten/Artikel:_H2_-_Bildverwaltung|Bildverwaltung]] und [[OBS/Stammdaten/Artikel:_H3_-_Shoppflege/A_Texte|externen Artikeltexten]] in Fett die Zuordnung zur Schnittstelle hervorgehoben, indem die Zeile in Fett dargestellt wird.&lt;br /&gt;
{{Hinweis|&#039;&#039;&#039;&amp;quot;Bisherige Exporte&amp;quot;&#039;&#039;&#039; meint alle zuvor ausgeführten Übertragungen von [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] über diese Shop-Schnittstelle. Diese Liste ist als eine Art Historie zu sehen. Sie zeigt nur das Ergebnis der bisherigen Übertragung. Je nach Anpassungen in der [[OBS/Kostenpflichtige_Module/Preislisten|Preislistenverwaltung]] (Artikel oder Freigaben) oder Zuordnung zu Kunden kann das Ergebnis nach der nächsten Übertragung anders aussehen. Auch tauchen neue [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] erst in dieser Liste auf, sobald diese einmal über einen Preislistenexport übertragen wurde.}}&lt;br /&gt;
===Tasten und Schaltflächen (Preisliste)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Taste!! width=&amp;quot;800px&amp;quot;|Erklärung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F5 Mark}}|| Markiert einen Datensatz&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F6 Export}}|| Exportiert eine oder alle Preislisten (Auswahl).{{Hinweis|Die initiale Einzelübertragung neuer Preislisten muss über die [[OBS/Kostenpflichtige_Module/Preislisten|Preislistenverwaltung]] erfolgen.}}&amp;lt;br /&amp;gt;Auswahl&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
*A Alle&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; vollständige Aktualisierung aller Preislisten im Shop. Dies bezieht auch Preislisten ein, die in der Preislistenverwaltung neu erstellt wurden!&lt;br /&gt;
*B akt. Preisliste&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; Überträgt die aktuell gewählte Preisliste neu. Abhängig von den Einstellungen oder Daten wird hier die Preisliste aktualisiert oder &#039;&#039;gelöscht&#039;&#039;(!).&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F7 Artikel}}|| Zeigt eine [[#Liste_Artikel_zu_Preisliste|Liste]] der zur Preisliste selektierten Artikel u. a. mit Lager, Shop-Artikelnummer, Staffelmenge und Preis.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F9 PLV}}|| Öffnet die [[OBS/Kostenpflichtige_Module/Preislisten#Liste|Preislistenverwaltung]]&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F10 Weit.}}|| Zugriff auf [[#Weitere_Funktionen_(Preisliste_F10)|weitere Funktionen]] der Liste&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|Einfg Einf.}}|| Setzt Zuordnung zur aktuellen Schnittstelle für markierte oder aktuelle Preisliste(n).&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|Entf Lösch.}}|| Entfernt Zuordnung zur aktuellen Schnittstelle für markierte oder aktuelle Preisliste(n).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Weitere Funktionen (Preisliste F10)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Menüpunkt!! width=&amp;quot;800px&amp;quot;|Erklärung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| A1{{nb_space}}Analyse{{nb_hyphen}}Modus{{nb_space}}(shopbezogen)|| Schaltet den [[#Analyse-Modus|Analyse-Modus]] an bzw. aus. Es werden nur die in die in der Schnittstelle vorhandenen Preislisten analysiert.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| A2{{nb_space}}Analyse{{nb_hyphen}}Modus{{nb_space}}(alle)|| Schaltet den [[#Analyse-Modus|Analyse-Modus]] an bzw. aus. Es werden alle OBS-Preislisten analysiert.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| L1{{nb_space}}Preisliste{{nb_space}}leeren|| Leert im Shop die Preisliste. Das bedeutet, dass alle Preiseinträge der Preisliste gelöscht werden. Die Preisliste sollte direkt danach neu exportiert werden.{{Achtung|Dies löscht nicht die Preisliste! Die Preisliste hat im Shop lediglich keine Preiseinträge mehr. Ist ein löschen der Preisliste gewünscht, dann sollte die Shop-Zuordnung entfernt oder die Preisliste anderweitig deaktiviert und anschließend exportiert werden.}}&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| P{{nb_space}}Job{{nb_hyphen}}Protokolle{{nb_space}}zu{{nb_space}}Preisliste|| Öffnet ie [[Kostenpflichtige_Module/Internet-Shop/brShop24/Jobinformationen#Liste_Jobs|Protokollliste]] gefiltert nach Job für die Preisliste.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Z1{{nb_space}}Preislistenzuordnung{{nb_space}}neu{{nb_space}}übertragen{{nb_space}}(Person)|| Übertragen der Preislistenzuordnung einer Person{{Hinweis|Nur verfügbar über die Webshop-Einstellungen von Personen!}}&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Z2{{nb_space}}Preislistenzuordnung{{nb_space}}neu{{nb_space}}übertragen{{nb_space}}(Preisliste)|| Übertragen der Preislistenzuordnung der genannten Preisliste&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Z3{{nb_space}}Preislistenzuordnung{{nb_space}}neu{{nb_space}}übertragen{{nb_space}}(Alle)|| Übertragen der Preislistenzuordnung aller Preisliste&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Analyse-Modus (Preislisten)===&lt;br /&gt;
{{Hinweis|Abhängig von der Anzahl der Preislisten kann die Analyse einen Moment dauern, da dies für jede Preisliste ausgeführt wird!}}&lt;br /&gt;
Der Analyse-Modus zeigt Ihnen in einer eigenen Spalte &#039;&#039;Probleme&#039;&#039; Ursachen an, warum eine Preisliste nicht exportiert wird. Dies kann aktuell umfassen:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Problem!! width=&amp;quot;800px&amp;quot;|Erklärung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Nicht{{nb_space}}aktiv|| Die Preisliste ist nicht aktiviert (Häkchen in Maske).&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Außerhalb{{nb_space}}Gültigkeitszeitraum|| Das aktuelle Datum liegt außerhalb des in der Preisliste definierten Gültigkeitszeitraum (Datum von/bis).&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Typ{{nb_space}}enthält{{nb_space}}nicht{{nb_space}}Shop|| Die Preisliste ist auf WaWi und/oder Kasse beschränkt (Auswahlfeld in Preislistenmaske).&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Nicht{{nb_space}}der{{nb_space}}Schnittstelle{{nb_space}}zugeordnet|| Die Zuordnung zur Schnittstelle fehlt. Dies kann einfach mit {{Key|Einfg Einf.}} geändert werden.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Keine{{nb_space}}Personenzuordnung|| Es wurden keine Personen(nummern) zur Zuordnung gefunden. Je nach Zuordnung im OBS muss eine der Personennummern im Shop in mindestens einem Benutzer oder einer Kundengruppe vorkommen.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Keine{{nb_space}}Preise{{nb_space}}hinterlegt|| Die Preisliste verfügt über keine gültigen Preiseeinträge für den Export. Sollte Preiseinträge in der Preisliste vorhanden sein, können Sie dies mit dem Analyse-Modus der [[#Liste_Artikel_zu_Preisliste|Artikel-Liste]] ({{Key|F7 Artikel}}) prüfen.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Liste Artikel zu Preisliste==&lt;br /&gt;
{{Achtung|Verfügbar ab Version 004840!}}&lt;br /&gt;
Zeigt die historischen Preisdaten zur Preisliste, welche über die Schnittstelle verarbeitet wurden.&lt;br /&gt;
{{Hinweis|Die Selektion der Preisdaten passiert mit dem Export einer Preisliste. Diese Liste zeigt den Datenstand der letzten Selektion. Die hier angezeigten Preisdaten können daher von den aktuellen Preisen der Preisliste abweichen.}}&lt;br /&gt;
===Spalten===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Bezeichnung!! width=&amp;quot;800px&amp;quot;|Erläuterung&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| OBS-Art-Nr.|| Zeigt die OBS-Artikelnummer aus Ihrem [[OBS/Stammdaten/Artikel|Artikelstamm]] an&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Shop-Art.-Nr.|| Zeigt die Artikelnummer im Shop an unter der dieser Preisdatensatz gepflegt wird.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Lager|| Name des [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner|Shop-Lagers]]&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Bezeichnung|| Artikelbezeichnung; Zeigt Name 1 aus dem Artikel. Bei eigenen Artikeln wird - sofern gesetzt - die alternative Bezeichnung aus den [[OBS/Stammdaten/Artikel/Registerkarte:_Shop/Einstellungsliste/Artikelauswahl|Artikel-Shop-Einstellungen]] angezeigt.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Menge|| (Staffel-)Menge des Preisdatensatzes&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| VK Netto|| Netto-Preis des Preisdatensatzes&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Preisstatus|| Je nach status bei der letzten Selektion wird Ihnen hier &#039;&#039;Pflegen&#039;&#039; oder &#039;&#039;Löschen&#039;&#039; angezeigt.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Grund|| Zeigt den [[#Spalte_Grund|Grund]], warum ein Preis nicht exportiert werden kann bzw. konnte.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Aktualisiert|| Zeigt das Datum an dem OBS zuletzt den Preis per API in den Shop übertragen hat.{{Hinweis|Wird bei Datensätzen, deren letzte Änderung per API länger zurück liegt, nicht angezeigt, da diese Information im Datensatz selbst erst Version 004721 (November 2024) gespeichert wird.}}&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Gelöscht|| Zeigt das Datum an dem OBS zuletzt den Preis per API aus dem Shop gelöscht hat.{{Hinweis|Wird bei Datensätzen, deren letzte Änderung per API länger zurück liegt, nicht angezeigt, da diese Information im Datensatz selbst erst Version 004721 (November 2024) gespeichert wird.}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Spalte Grund===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Problem!! width=&amp;quot;800px&amp;quot;|Erklärung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Artikel{{nb_space}}inaktiv|| Im Artikelstamm ist das Häkchen &amp;quot;Inaktiv&amp;quot; gesetzt. Bei eigenen Artikeln ist dies ebenfalls abhängig von der Pflege-Einstellung (Allgemein und Lagerbezogen).&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Nicht{{nb_space}}lieferbar|| Abhängig von der Pflege (Lieferantenbezogen oder eigener Artikel ohne Lieferantenbezug) ist entweder kein oder der Lieferantbezogene EK-Eintrag als &amp;quot;nicht lieferbar&amp;quot; markiert.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Nicht{{nb_space}}für{{nb_space}}Shop{{nb_space}}freigegeben|| Artikel wurde (noch) nicht in die Liste der Shop-Artikel übernommen. Diese Liste erstellt OBS während des Preisexports automatisch auf Basis der Einstellungen in den Shop-Lager und Definitionen eigener Artikel. Sollte ein Artikel fehlen, ist entweder die Übernahme noch nicht ausgeführt wurden oder es fehlt ein benötigter Eintrag in den EK-Lieferanten oder die Freigabe als eigener Artikel.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Kein{{nb_space}}Matching|| Kann passieren, wenn sich z. B. eine Referenznummer wie die Bestellnummer ändert und OBS die Daten nicht mehr miteinander verknüpfen kann.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Vom{{nb_space}}Shop{{nb_space}}als{{nb_space}}fehlend{{nb_space}}gemeldet|| OBS hat für diesen Artikel (Referenz ist Lager + Referenznummer) in der Vergangenheit einen Preis übertragen. Die API hat den Preis jedoch nicht angelegt mit dem Grund, dass der Artikel nicht im Shop vorhanden ist. Der Artikel wird dann für das Lager von der Pflege ausgeschlossen. Ändern z. B. Artikel die Lagerzugehörigkeit (z. B. Zentrallager zu Außenlager) oder Artikel kommen früher über die Artikelpflege ins OBS, kann es zu diesem Problem kommen. Mit {{Key|F6 Check}} können Sie den Status prüfen lassen. Kann der Artikel darüber gefunden werden, aktiviert OBS die pflege wieder.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Menge{{nb_space}}&amp;lt;={{nb_space}}0|| Die Menge muss für eine gülige Definition einen positiven Wert haben.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| VK{{nb_space}}&amp;lt;={{nb_space}}0|| Preiseinträge mit 0 werden von der API gelöscht. Entsprechende VK-Preise werden von OBS daher im Vorfeld bereits abgelehnt.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| VK{{nb_space}}&amp;lt;={{nb_space}}EK|| Mit der Einstellung &#039;&#039;&#039;Export.Preise.Preis.VK.Check&#039;&#039;&#039; kann die Ertragsprüfung aktiviert werden. Es werden dann nur noch Preise übertragen, deren VK größer ist als der EK. Einzige Ausnahme sind Preislisten mit dem Häkchen &#039;&#039;&#039;Preisgarantie&#039;&#039;&#039;. Für diese Preislisten werden VK-Preise immer übertragen, sofern kein anderer Grund (z. B. VK ist 0) zur Ablehnung vorhanden ist.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Hervorhebungen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Stil!! width=&amp;quot;800px&amp;quot;|Bedeutung&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Kursiv|| Preis hat den Status &amp;quot;Löschen&amp;quot;.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Textfarbe Rot|| Artikel ist als &amp;quot;fehlend&amp;quot; markiert. Dies kann z. B. passieren, wenn Artikel im OBS bereits vorhanden sind, aber im Shop zum Zeitpunkt der Preispflege nicht gefunden/identifiziert werden können. OBS ignoriert &amp;quot;fehlende&amp;quot; Artikel im weiteren Verlauf. Sollte der Artikel im Shop vorhanden sein, können Sie mit {{Key|F6 Check}} eine neue Abfrage starten, um den Status zu ändern.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Textfarbe Grau|| Artikel ist inaktiv (Artikelstamm Häkchen &amp;quot;inaktiv&amp;quot;).&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Textfarbe Grün|| Eigener Artikel ist aktiv.&lt;br /&gt;
|}&lt;br /&gt;
===Tasten und Schaltflächen (Artikel)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Taste!! width=&amp;quot;800px&amp;quot;|Erklärung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F4 Sort}}|| Sortierung wechseln. Sortierungen mit dem Zusatz &amp;quot;(nicht gefunden)&amp;quot; zeigen nur die Einträge an, zu denen der Shop bei der letzten Übertragung den Artikel als &amp;quot;nicht gefunden&amp;quot; gemeldet hat.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F6 Check}}|| Prüft für den aktuellen Datensatz, ob der zugehörige Artikel im Shop gefunden werden kann. Je nach Pflege Zeitpunkt kann es z.{{nb_space}}B. bei neuen Artikeln passieren, dass OBS einen Preis überträgt, der Artikel aber noch nicht im Shop angelegt wurde. Da OBS dann den Artikel für die weitere Pflege deaktiviert, muss der Artikel auf diese Weise erst wieder freigegeben werden.&lt;br /&gt;
| {{Key|F10 Weit.}}|| Zugriff auf weitere Funktionen der Liste.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Preisdaten exportieren=&lt;br /&gt;
Sie können Preise auf verschiedenen Wegen exportieren. Es werden dabei immer nur die Veränderungen zum letzten Export übertragen.&amp;lt;br /&amp;gt;&lt;br /&gt;
Gestartet werden kann der Export auf folgenden Wegen:&lt;br /&gt;
*Shop-Menü &amp;quot;B Preislisten verwalten&amp;quot;&lt;br /&gt;
:Per {{F6}} starten Sie hier den Export für alle Preislisten&lt;br /&gt;
*Preislistenverwaltung&lt;br /&gt;
:{{F10}} + S1{{Hinweis|Der Punkt ist erst sichtbar, wenn die Preisliste mindestens einer Shop-Schnittstelle zugeordnet ist.}}&lt;br /&gt;
*Personenstamm Webshop-Einstellungen&lt;br /&gt;
:{{F8}} für die Übertragung der personenbezogenen Preise. Dieser Punkt öffnet die Shop-Preislisten-Verwaltung mit einem Filter, so dass nur die Preislisten des Kunden angezeigt werden. Auch beim Export werden nur die Preislisten des Kunden übertragen.&lt;br /&gt;
{{Hinweis|OBS überträgt die Preise pro Liste &amp;quot;gesammelt&amp;quot; in einem &amp;quot;batch&amp;quot;-Modus. Das heißt es werden mehrere hundert Einträge auf einmal übertragen und vom Shop-Server auf eine Todo-Liste gesetzt. Diese Liste arbeitet der Server relativ zeitnah ab. Es kann daher dazu kommen, dass die Preise nach der Übertragung erst mit einer kurzen Verzögerung im Shop angezeigt werden. Die Verzögerung sollte jedoch nur wenige Minuten betragen.}}&lt;br /&gt;
&lt;br /&gt;
=Wie der Export funktioniert=&lt;br /&gt;
Für den Export selbst sind die im Shop vorhandenen Personen interessant. Preislisten im OBS, die nur Kunden zugeordnet sind, die gar nicht im Shop vorkommen, werden nicht exportiert.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Stellen Sie daher für den Export einer Preisliste folgendes sicher:&#039;&#039;&#039;&lt;br /&gt;
*mindestens ein Kunde, dem die Preisliste im OBS zugeordnet ist, ist im Shop vorhanden.&lt;br /&gt;
*die Preisliste ist aktiv und gültig:&lt;br /&gt;
**Häkchen in &amp;quot;Preisliste aktiv&amp;quot; ist gesetzt.&lt;br /&gt;
**Das aktuelles Datum liegt innerhalb des angegebenen Zeitraums (Datum von/bis) der Preisliste.&lt;br /&gt;
**Das Feld &amp;quot;Gültigkeit&amp;quot; enthält den Wert &#039;&#039;Shop&#039;&#039;.&lt;br /&gt;
**Preisliste ist für die Schnittstelle freigegeben (Preislistenverwaltung {{F10}} + S3)&lt;br /&gt;
*Die Preisliste enthält mindestens einen Artikel, der im Shop gepflegt ist. (siehe auch [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner#Depots.2FLager_in_Schnittstelle_brShop24|Depots brShop24]])&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Neben den genannten Voraussetzungen gibt es noch zwei Einstellungen, die auf die Übertragung einzelner Preise Auswirkungen haben:&lt;br /&gt;
*[[Kostenpflichtige_Module/Internet-Shop/brShop24/Konfiguration#Übersicht_aller_Einstellungen_für_brShop24|Konfiguration]] Export.Preise.Preis.VK.Check&lt;br /&gt;
:Wenn aktiviert, dann werden die VK-Preise mit den aktuellen EK-Preisen, abhängig der Preislisteneinstellung (aus Preisliste oder EK1 aus Artikelstamm) verglichen und der Preis nur exportiert, wenn VK &amp;gt; EK ist.&lt;br /&gt;
*[[OBS/Kostenpflichtige_Module/Preislisten|Preisliste]] Preisgarantie&lt;br /&gt;
:Preislisten mit gesetztem Häkchen in &#039;&#039;Preisgarantie&#039;&#039; werden in der Preisprüfung übersprungen.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
OBS ermittelt lokal die Änderungen zur letzten Übertragung. Dies passiert abhängig von den Übertragungsparameter für alle Preislisten, alle Preislisten einer Person(-ennummer) oder einer einzelnen Preisliste.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Preise werden nicht direkt in den Shop geschrieben. Der Shop erhält eine Liste der Preisdaten und legt diese in eine Aufgabenliste, welche dann automatisch abgearbeitet wird.&lt;br /&gt;
{{Achtung|Je nach Auslastung des Shop-Systems kann es also einige Minuten dauern, bis die Preise vollständig übernommen wurden.}}&lt;br /&gt;
{{Hinweis|Laut Informationen von Büroring werden 0-Preise in der API verworfen. OBS setzt entsprechende Preiseinträge intern auf den Status &amp;quot;löschen&amp;quot; und entfernt die jeweilige Preisstaffel aus dem Shop, sollte sie zuvor mit einem regulären Preis angelegt worden sein.}}&lt;br /&gt;
==Priorität und Bestprice-Findung==&lt;br /&gt;
Im Unterschied zum VShop gibt es im brShop24 eine Bestprice-Findung wie im OBS (siehe [[OBS/Preislisten/FAQ_Preislisten#preisfindung|FAQ Preislisten &amp;quot;Wie funktioniert die Preisfindung?&amp;quot;]]). Daher findet das Preislistenfeld &#039;&#039;Prio Shop&#039;&#039; in dieser Schnittstelle keine Anwendung. Die Preislisten erhalten im Shop also die gleiche Priorität, wie sie zum Zeitpunkt des Exports im OBS in &#039;&#039;Prio Preisfind.&#039;&#039; eingestellt ist und somit auch in der WaWi Anwendung finden würde.&lt;br /&gt;
{{Hinweis|Möglichweise muss die Bestprice-Findung im Shop aktiviert werden.}}&lt;br /&gt;
&lt;br /&gt;
=Häufig gestellt Fragen (FAQ)=&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|brshop24_faq_preis_1&lt;br /&gt;
|Warum fehlt Preisliste X im Shop?&lt;br /&gt;
|Es gibt ein paar Punkte, die es zu Prüfen gilt, wenn eine Preisliste in den Shop übertragen werden soll. Abhängig ist die Übertragung von folgenden Punkten:&lt;br /&gt;
#Preisliste ist aktiv und gültig (Datum beachten)&lt;br /&gt;
#Preisliste ist für den Shop freigegeben (Gültigkeit enthält &amp;quot;Shop&amp;quot; und Häkchen in Zuordnung ist für die Schnittstelle gesetzt)&lt;br /&gt;
#Preisliste ist mindestens einem Kunden im Shop zugeordnet&lt;br /&gt;
#Preisliste hat mindestens einen Artikel, der im Shop enthalten ist (siehe auch [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner#Depots.2FLager_in_Schnittstelle_brShop24|Depots brShop24]])&lt;br /&gt;
Siehe auch [[Kostenpflichtige_Module/Internet-Shop/brShop24/Preise_übertragen#Wie_der_Export_funktioniert|Wie der Export funktioniert]].&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|brshop24_faq_preis_2&lt;br /&gt;
|Warum wird eine Preisliste nicht in den Shop übertragen?&lt;br /&gt;
|Bitte beachten Sie hier die [[Kostenpflichtige_Module/Internet-Shop/brShop24/Preise_übertragen#Voraussetzungen|Voraussetzungen]] für die Übertragung von Preislisten. Der Knackpunkt bei der Übertragung von Preislisten ist der Abgleich der Artikel. Um den Datenverkehr möglichst gering zu halten, versucht OBS nur die benötigten Daten zu übertragen. Das bedeutet, dass Artikelpreise für Artikel  nicht übertragen werden, sollte der Artikel gar nicht im Shop vorkommen. Ein Abgleich aller Artikel mit dem Shop würde jedoch zu viel Zeit in Anspruch nehmen. Daher gleicht OBS die Daten über die in der Schnittstelle gepflegten [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner#Depots.2FLager_in_Schnittstelle_brShop24|Depots]] ab. Stellen Sie also sicher, dass die Depots entsprechend gepflegt sind.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|brshop24_faq_preis_3&lt;br /&gt;
|Ist es möglich die Artikelpreise automatisiert zu pflegen?&lt;br /&gt;
|Ja, dies ist möglich. Weitere Informationen finden Sie im Artikel zu den [[OBS/Internet-Shop/Einrichtung/Automatiken#Preise_aktualisieren|Shop-Automatiken]].&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|brshop24_faq_preis_4&lt;br /&gt;
|Warum hat der Shop zwei Preiseinträge für einen Artikel?&lt;br /&gt;
|Der Shop unterscheidet bei den Preisen auch nach der Einheit. Der Preisexport übergibt keine Einheit. Für den Preis übernimmt die API die Standard-Einheit des Artikels im Shop. Sollten Sie zwei Einträge zu einer bestimmten Menge bei einem Artikel mit unterschiedlicher Einheit vorfinden, so bekommen Sie dies über OBS nur bereinigt, indem Sie die Preisliste aus dem Shop nehmen und anschließend wieder anlegen.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Eine Preisliste können Sie aus dem Shop nehmen, indem Sie über das Shop-Menü in die Preislistenverwaltung für den Shop gehen. Suchen Sie die Preisliste und drücken Sie auf dem Datensatz {{Entf}}. Dies nimmt die Shop-Zuordnung aus der Preisliste. Danach exportieren Sie die einzelne Preisliste per {{F6}}. Anschließend drücken Sie {{Einfg}}, um die Shop-Zuordnung wieder zu setzen und exportieren erneut die Preisliste. Der erste Export löscht die Preisliste im Shop und der zweite Export legt die Daten neu an.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|brshop24_faq_preis_5&lt;br /&gt;
|Warum wird der Preis eines Artikels nicht in den Shop übertragen?&lt;br /&gt;
|Vorraussetzungen, damit Artikelpreise übertragen werden:&lt;br /&gt;
#Preisliste muss die Voraussetzungen für den Export erfüllen&lt;br /&gt;
#Der Preis selbst muss größer als 0 sein&lt;br /&gt;
#Der Artikel muss über ein [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner|Lager (Shop-Depot)]] mit der Schnittstelle verknüpft sein&lt;br /&gt;
#Artikel darf vom Shop nicht als fehlend gemeldet worden sein (betrifft Artikel, die durch Büroring gepflegt werden)&lt;br /&gt;
#Eigene Artikel müssen im OBS und für die Schnittstelle aktiv sein&lt;br /&gt;
Für eigene Artikel liegt die Pflege des Artikels im Shop bei Ihnen. Das Büroring-Sortiment wird von Büroring im Shop gepflegt. Die Pflege von Preisen für Büroringartikel ist somit abhängig von zwei Faktoren: Zeitpunkte der Pflege/Anlage im Shop und der Zeitpunkt im OBS. Hierzu gab es bereits diverse Meldungen, dass Artikelpreise nicht übertragen wurden, obwohl der Artikel im Shop vorkommt. Da OBS die zu übertragenen Artikel bei [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner#Zuordnung_von_Artikeln|entsprechender Einstellung]] über die EK-Informationen des Artikelstamms ermittelt und dann Preise für die &amp;quot;verfügbaren&amp;quot; Artikel übermittelt, muss der Shop zu dem Zeitpunkt den jeweiligen Artikel auch im jeweiligen Lager wiederfinden können. Ist dies nicht der Fall, meldet der Shop den entsprechenden Artikel als &amp;quot;fehlend&amp;quot; und OBS merkt sich diese Rückmeldung. &amp;quot;Fehlende&amp;quot; Artikel werden bei weiteren Exporten ignoriert. Es kann also vorkommen, dass ein Artikel aus OBS im Shop einen Preis bekommen sollte, den der Shop zu dem Zeitpunkt nicht in seinem Sortiment wiedergefunden hat. Sollten Sie zu diesen Artikeln den Preis vermissen, so prüfen Sie bitte die [[#Liste_Artikel_zu_Preisliste|Preisdaten]] zu zur Preisliste (siehe oben Verwaltung Shop-Preislisten {{Key|F7 Artikel}}) oder die [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner#Zuordnung_von_Artikeln|Artikelliste]] des jeweiligen Lagers. &amp;quot;Fehlende&amp;quot; Artikel werden hier rot dargestellt. Sie können außerdem per Sortierung sich nur die fehlenden Artikel anzeigen lassen. Ist der Artikel hier als &amp;quot;fehlend&amp;quot; markiert, so führen Sie auf dem Artikel stehend mit {{Key|F6 Check}} eine erneute Prüfung aus. Wird der Artikel gefunden, erhalten Sie eine entsprechende Rückmeldung und der Status wird geändert.&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Nimz</name></author>
	</entry>
	<entry>
		<id>https://wiki.bergau.de/index.php?title=Kostenpflichtige_Module/Internet-Shop/brShop24/Preise_%C3%BCbertragen&amp;diff=64572</id>
		<title>Kostenpflichtige Module/Internet-Shop/brShop24/Preise übertragen</title>
		<link rel="alternate" type="text/html" href="https://wiki.bergau.de/index.php?title=Kostenpflichtige_Module/Internet-Shop/brShop24/Preise_%C3%BCbertragen&amp;diff=64572"/>
		<updated>2026-07-27T09:58:22Z</updated>

		<summary type="html">&lt;p&gt;Nimz: /* Liste Artikel zu Preisliste */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Vorlage:Kostenpflichtige Module}}&lt;br /&gt;
{{Achtung|Für die Preisübertragung wird das kostenpflichtige Modul [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] vorausgesetzt!}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Achtung|Es kann vorkommen, dass im Shop mehere Preiseinträge zu einer bestimmten Menge eines Artikels auftauchen. Siehe dazu FAQ [[#brshop24_faq_preis_4|Warum hat der Shop zwei Preiseinträge für einen Artikel?]].}}&lt;br /&gt;
=Voraussetzungen=&lt;br /&gt;
#[[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner#Depots.2FLager_in_Schnittstelle_brShop24|Depots]] sind eingerichtet (über Schnittstellenkonfiguration {{F8}})&lt;br /&gt;
#Preissystem im OBS ist auf das kostenpflichtige Modul [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] umgestellt&lt;br /&gt;
#Preisliste(n) ist/sind zum Zeitpunkt des Exports gültig.&amp;lt;br /&amp;gt;Eingabemaske [[OBS/Kostenpflichtige_Module/Preislisten|Preislistenverwaltung]]: &lt;br /&gt;
##Preisliste ist aktiv (Checkbox)&lt;br /&gt;
##aktuelles Datum ist innerhalb des Gültigkeitszeitraums (Datum von/bis)&lt;br /&gt;
##Gültigkeit enthält &amp;quot;Shop&amp;quot; (Default: &amp;quot;Shop &amp;amp; Kasse &amp;amp; WaWi&amp;quot;)&lt;br /&gt;
#Preisliste ist für Schnittstelle freigegeben (Häkchen gesetzt unter [[OBS/Kostenpflichtige_Module/Preislisten|Preislistenverwaltung]] &amp;amp;rarr; {{F10}} &amp;amp;rarr; S3)&lt;br /&gt;
#Kunden im Shop vorhanden&lt;br /&gt;
#Preisliste ist für mindestens einen der Kunden gültig (über Kundennummer in brShop24-Kundengruppe oder brShop24-Benutzer). Siehe dazu auch [[OBS/Preislisten/FAQ_Preislisten|FAQ Preislisten]] &amp;quot;Welche Möglichkeiten der Zuordnung gibt es?&amp;quot;.&lt;br /&gt;
#[[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] enthalten mindestens einen Artikel aus dem Shop&lt;br /&gt;
&lt;br /&gt;
=Shop-Menü: Preislisten verwalten=&lt;br /&gt;
==Preislisten verwalten==&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;ul&amp;gt; &lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:BrShop24_ShpPl.jpg|thumb|none|600px|Preislisten einer Schnittstelle]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
Die Liste zeigt Ihnen alle [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]], die bei &#039;&#039;&#039;bisherigen&#039;&#039;&#039; Exporten für die Schnittstelle übernommen wurden und welchen Status diese bei der letzten Übertragung bekommen haben. Aktive [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] werden dabei in schwarz angezeigt. Rote Einträge sind gelöschte [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]]. Außerdem wird wie in der [[OBS/Stammdaten/Artikel:_H2_-_Bildverwaltung|Bildverwaltung]] und [[OBS/Stammdaten/Artikel:_H3_-_Shoppflege/A_Texte|externen Artikeltexten]] in Fett die Zuordnung zur Schnittstelle hervorgehoben, indem die Zeile in Fett dargestellt wird.&lt;br /&gt;
{{Hinweis|&#039;&#039;&#039;&amp;quot;Bisherige Exporte&amp;quot;&#039;&#039;&#039; meint alle zuvor ausgeführten Übertragungen von [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] über diese Shop-Schnittstelle. Diese Liste ist als eine Art Historie zu sehen. Sie zeigt nur das Ergebnis der bisherigen Übertragung. Je nach Anpassungen in der [[OBS/Kostenpflichtige_Module/Preislisten|Preislistenverwaltung]] (Artikel oder Freigaben) oder Zuordnung zu Kunden kann das Ergebnis nach der nächsten Übertragung anders aussehen. Auch tauchen neue [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] erst in dieser Liste auf, sobald diese einmal über einen Preislistenexport übertragen wurde.}}&lt;br /&gt;
===Tasten und Schaltflächen (Preisliste)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Taste!! width=&amp;quot;800px&amp;quot;|Erklärung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F5 Mark}}|| Markiert einen Datensatz&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F6 Export}}|| Exportiert eine oder alle Preislisten (Auswahl).{{Hinweis|Die initiale Einzelübertragung neuer Preislisten muss über die [[OBS/Kostenpflichtige_Module/Preislisten|Preislistenverwaltung]] erfolgen.}}&amp;lt;br /&amp;gt;Auswahl&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
*A Alle&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; vollständige Aktualisierung aller Preislisten im Shop. Dies bezieht auch Preislisten ein, die in der Preislistenverwaltung neu erstellt wurden!&lt;br /&gt;
*B akt. Preisliste&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; Überträgt die aktuell gewählte Preisliste neu. Abhängig von den Einstellungen oder Daten wird hier die Preisliste aktualisiert oder &#039;&#039;gelöscht&#039;&#039;(!).&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F7 Artikel}}|| Zeigt eine [[#Liste_Artikel_zu_Preisliste|Liste]] der zur Preisliste selektierten Artikel u. a. mit Lager, Shop-Artikelnummer, Staffelmenge und Preis.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F9 PLV}}|| Öffnet die [[OBS/Kostenpflichtige_Module/Preislisten#Liste|Preislistenverwaltung]]&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F10 Weit.}}|| Zugriff auf [[#Weitere_Funktionen_(Preisliste_F10)|weitere Funktionen]] der Liste&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|Einfg Einf.}}|| Setzt Zuordnung zur aktuellen Schnittstelle für markierte oder aktuelle Preisliste(n).&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|Entf Lösch.}}|| Entfernt Zuordnung zur aktuellen Schnittstelle für markierte oder aktuelle Preisliste(n).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Weitere Funktionen (Preisliste F10)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Menüpunkt!! width=&amp;quot;800px&amp;quot;|Erklärung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| A1{{nb_space}}Analyse{{nb_hyphen}}Modus{{nb_space}}(shopbezogen)|| Schaltet den [[#Analyse-Modus|Analyse-Modus]] an bzw. aus. Es werden nur die in die in der Schnittstelle vorhandenen Preislisten analysiert.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| A2{{nb_space}}Analyse{{nb_hyphen}}Modus{{nb_space}}(alle)|| Schaltet den [[#Analyse-Modus|Analyse-Modus]] an bzw. aus. Es werden alle OBS-Preislisten analysiert.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| L1{{nb_space}}Preisliste{{nb_space}}leeren|| Leert im Shop die Preisliste. Das bedeutet, dass alle Preiseinträge der Preisliste gelöscht werden. Die Preisliste sollte direkt danach neu exportiert werden.{{Achtung|Dies löscht nicht die Preisliste! Die Preisliste hat im Shop lediglich keine Preiseinträge mehr. Ist ein löschen der Preisliste gewünscht, dann sollte die Shop-Zuordnung entfernt oder die Preisliste anderweitig deaktiviert und anschließend exportiert werden.}}&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| P{{nb_space}}Job{{nb_hyphen}}Protokolle{{nb_space}}zu{{nb_space}}Preisliste|| Öffnet ie [[Kostenpflichtige_Module/Internet-Shop/brShop24/Jobinformationen#Liste_Jobs|Protokollliste]] gefiltert nach Job für die Preisliste.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Z1{{nb_space}}Preislistenzuordnung{{nb_space}}neu{{nb_space}}übertragen{{nb_space}}(Person)|| Übertragen der Preislistenzuordnung einer Person{{Hinweis|Nur verfügbar über die Webshop-Einstellungen von Personen!}}&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Z2{{nb_space}}Preislistenzuordnung{{nb_space}}neu{{nb_space}}übertragen{{nb_space}}(Preisliste)|| Übertragen der Preislistenzuordnung der genannten Preisliste&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Z3{{nb_space}}Preislistenzuordnung{{nb_space}}neu{{nb_space}}übertragen{{nb_space}}(Alle)|| Übertragen der Preislistenzuordnung aller Preisliste&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Analyse-Modus (Preislisten)===&lt;br /&gt;
{{Hinweis|Abhängig von der Anzahl der Preislisten kann die Analyse einen Moment dauern, da dies für jede Preisliste ausgeführt wird!}}&lt;br /&gt;
Der Analyse-Modus zeigt Ihnen in einer eigenen Spalte &#039;&#039;Probleme&#039;&#039; Ursachen an, warum eine Preisliste nicht exportiert wird. Dies kann aktuell umfassen:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Problem!! width=&amp;quot;800px&amp;quot;|Erklärung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Nicht{{nb_space}}aktiv|| Die Preisliste ist nicht aktiviert (Häkchen in Maske).&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Außerhalb{{nb_space}}Gültigkeitszeitraum|| Das aktuelle Datum liegt außerhalb des in der Preisliste definierten Gültigkeitszeitraum (Datum von/bis).&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Typ{{nb_space}}enthält{{nb_space}}nicht{{nb_space}}Shop|| Die Preisliste ist auf WaWi und/oder Kasse beschränkt (Auswahlfeld in Preislistenmaske).&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Nicht{{nb_space}}der{{nb_space}}Schnittstelle{{nb_space}}zugeordnet|| Die Zuordnung zur Schnittstelle fehlt. Dies kann einfach mit {{Key|Einfg Einf.}} geändert werden.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Keine{{nb_space}}Personenzuordnung|| Es wurden keine Personen(nummern) zur Zuordnung gefunden. Je nach Zuordnung im OBS muss eine der Personennummern im Shop in mindestens einem Benutzer oder einer Kundengruppe vorkommen.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Keine{{nb_space}}Preise{{nb_space}}hinterlegt|| Die Preisliste verfügt über keine gültigen Preiseeinträge für den Export. Sollte Preiseinträge in der Preisliste vorhanden sein, können Sie dies mit dem Analyse-Modus der [[#Liste_Artikel_zu_Preisliste|Artikel-Liste]] ({{Key|F7 Artikel}}) prüfen.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Liste Artikel zu Preisliste==&lt;br /&gt;
{{Achtung|Verfügbar ab Version 004840!}}&lt;br /&gt;
Zeigt die historischen Preisdaten zur Preisliste, welche über die Schnittstelle verarbeitet wurden.&lt;br /&gt;
{{Hinweis|Die Selektion der Preisdaten passiert mit dem Export einer Preisliste. Diese Liste zeigt den Datenstand der letzten Selektion. Die hier angezeigten Preisdaten können daher von den aktuellen Preisen der Preisliste abweichen.}}&lt;br /&gt;
===Spalten===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Bezeichnung!! width=&amp;quot;800px&amp;quot;|Erläuterung&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| OBS-Art-Nr.|| Zeigt die OBS-Artikelnummer aus Ihrem [[OBS/Stammdaten/Artikel|Artikelstamm]] an&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Shop-Art.-Nr.|| Zeigt die Artikelnummer im Shop an unter der dieser Preisdatensatz gepflegt wird.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Lager|| Name des [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner|Shop-Lagers]]&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Bezeichnung|| Artikelbezeichnung; Zeigt Name 1 aus dem Artikel. Bei eigenen Artikeln wird - sofern gesetzt - die alternative Bezeichnung aus den [[OBS/Stammdaten/Artikel/Registerkarte:_Shop/Einstellungsliste/Artikelauswahl|Artikel-Shop-Einstellungen]] angezeigt.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Menge|| (Staffel-)Menge des Preisdatensatzes&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| VK Netto|| Netto-Preis des Preisdatensatzes&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Preisstatus|| Je nach status bei der letzten Selektion wird Ihnen hier &#039;&#039;Pflegen&#039;&#039; oder &#039;&#039;Löschen&#039;&#039; angezeigt.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Grund|| Zeigt den [[#Spalte_Grund|Grund]], warum ein Preis nicht exportiert werden kann bzw. konnte.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Aktualisiert|| Zeigt das Datum an dem OBS zuletzt den Preis per API in den Shop übertragen hat.{{Hinweis|Wird bei Datensätzen, deren letzte Änderung per API länger zurück liegt, nicht angezeigt, da diese Information im Datensatz selbst erst Version 004721 (November 2024) gespeichert wird.}}&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Gelöscht|| Zeigt das Datum an dem OBS zuletzt den Preis per API aus dem Shop gelöscht hat.{{Hinweis|Wird bei Datensätzen, deren letzte Änderung per API länger zurück liegt, nicht angezeigt, da diese Information im Datensatz selbst erst Version 004721 (November 2024) gespeichert wird.}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Spalte Grund===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Problem!! width=&amp;quot;800px&amp;quot;|Erklärung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Artikel{{nb_space}}inaktiv|| Im Artikelstamm ist das Häkchen &amp;quot;Inaktiv&amp;quot; gesetzt. Bei eigenen Artikeln ist dies ebenfalls abhängig von der Pflege-Einstellung (Allgemein und Lagerbezogen).&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Nicht{{nb_space}}lieferbar|| Abhängig von der Pflege (Lieferantenbezogen oder eigener Artikel ohne Lieferantenbezug) ist entweder kein oder der Lieferantbezogene EK-Eintrag als &amp;quot;nicht lieferbar&amp;quot; markiert.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Nicht{{nb_space}}für{{nb_space}}Shop{{nb_space}}freigegeben|| Artikel wurde (noch) nicht in die Liste der Shop-Artikel übernommen. Diese Liste erstellt OBS während des Preisexports automatisch auf Basis der Einstellungen in den Shop-Lager und Definitionen eigener Artikel. Sollte ein Artikel fehlen, ist entweder die Übernahme noch nicht ausgeführt wurden oder es fehlt ein benötigter Eintrag in den EK-Lieferanten oder die Freigabe als eigener Artikel.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Kein{{nb_space}}Matching|| Kann passieren, wenn sich z. B. eine Referenznummer wie die Bestellnummer ändert und OBS die Daten nicht mehr miteinander verknüpfen kann.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Vom{{nb_space}}Shop{{nb_space}}als{{nb_space}}fehlend{{nb_space}}gemeldet|| OBS hat für diesen Artikel (Referenz ist Lager + Referenznummer) in der Vergangenheit einen Preis übertragen. Die API hat den Preis jedoch nicht angelegt mit dem Grund, dass der Artikel nicht im Shop vorhanden ist. Der Artikel wird dann für das Lager von der Pflege ausgeschlossen. Ändern z. B. Artikel die Lagerzugehörigkeit (z. B. Zentrallager zu Außenlager) oder Artikel kommen früher über die Artikelpflege ins OBS, kann es zu diesem Problem kommen. Mit {{Key|F6 Check}} können Sie den Status prüfen lassen. Kann der Artikel darüber gefunden werden, aktiviert OBS die pflege wieder.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Menge{{nb_space}}&amp;lt;={{nb_space}}0|| Die Menge muss für eine gülige Definition einen positiven Wert haben.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| VK{{nb_space}}&amp;lt;={{nb_space}}0|| Preiseinträge mit 0 werden von der API gelöscht. Entsprechende VK-Preise werden von OBS daher im Vorfeld bereits abgelehnt.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| VK{{nb_space}}&amp;lt;={{nb_space}}EK|| Mit der Einstellung &#039;&#039;&#039;Export.Preise.Preis.VK.Check&#039;&#039;&#039; kann die Ertragsprüfung aktiviert werden. Es werden dann nur noch Preise übertragen, deren VK größer ist als der EK. Einzige Ausnahme sind Preislisten mit dem Häkchen &#039;&#039;&#039;Preisgarantie&#039;&#039;&#039;. Für diese Preislisten werden VK-Preise immer übertragen, sofern kein anderer Grund (z. B. VK ist 0) zur Ablehnung vorhanden ist.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Hervorhebungen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Stil!! width=&amp;quot;800px&amp;quot;|Bedeutung&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Kursiv|| Preis hat den Status &amp;quot;Löschen&amp;quot;.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Textfarbe Rot|| Artikel ist als &amp;quot;fehlend&amp;quot; markiert. Dies kann z. B. passieren, wenn Artikel im OBS bereits vorhanden sind, aber im Shop zum Zeitpunkt der Preispflege nicht gefunden/identifiziert werden können. OBS ignoriert &amp;quot;fehlende&amp;quot; Artikel im weiteren Verlauf. Sollte der Artikel im Shop vorhanden sein, können Sie mit {{Key|F6 Check}} eine neue Abfrage starten, um den Status zu ändern.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Textfarbe Grau|| Artikel ist inaktiv (Artikelstamm Häkchen &amp;quot;inaktiv&amp;quot;).&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Textfarbe Grün|| Eigener Artikel ist aktiv.&lt;br /&gt;
|}&lt;br /&gt;
===Tasten und Schaltflächen (Artikel)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Taste!! width=&amp;quot;800px&amp;quot;|Erklärung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F4 Sort}}|| Sortierung wechseln. Sortierungen mit dem Zusatz &amp;quot;(nicht gefunden)&amp;quot; zeigen nur die Einträge an, zu denen der Shop bei der letzten Übertragung den Artikel als &amp;quot;nicht gefunden&amp;quot; gemeldet hat.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F6 Check}}|| Prüft für den aktuellen Datensatz, ob der zugehörige Artikel im Shop gefunden werden kann. Je nach Pflege Zeitpunkt kann es z.{{nb_space}}B. bei neuen Artikeln passieren, dass OBS einen Preis überträgt, der Artikel aber noch nicht im Shop angelegt wurde. Da OBS dann den Artikel für die weitere Pflege deaktiviert, muss der Artikel auf diese Weise erst wieder freigegeben werden.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Preisdaten exportieren=&lt;br /&gt;
Sie können Preise auf verschiedenen Wegen exportieren. Es werden dabei immer nur die Veränderungen zum letzten Export übertragen.&amp;lt;br /&amp;gt;&lt;br /&gt;
Gestartet werden kann der Export auf folgenden Wegen:&lt;br /&gt;
*Shop-Menü &amp;quot;B Preislisten verwalten&amp;quot;&lt;br /&gt;
:Per {{F6}} starten Sie hier den Export für alle Preislisten&lt;br /&gt;
*Preislistenverwaltung&lt;br /&gt;
:{{F10}} + S1{{Hinweis|Der Punkt ist erst sichtbar, wenn die Preisliste mindestens einer Shop-Schnittstelle zugeordnet ist.}}&lt;br /&gt;
*Personenstamm Webshop-Einstellungen&lt;br /&gt;
:{{F8}} für die Übertragung der personenbezogenen Preise. Dieser Punkt öffnet die Shop-Preislisten-Verwaltung mit einem Filter, so dass nur die Preislisten des Kunden angezeigt werden. Auch beim Export werden nur die Preislisten des Kunden übertragen.&lt;br /&gt;
{{Hinweis|OBS überträgt die Preise pro Liste &amp;quot;gesammelt&amp;quot; in einem &amp;quot;batch&amp;quot;-Modus. Das heißt es werden mehrere hundert Einträge auf einmal übertragen und vom Shop-Server auf eine Todo-Liste gesetzt. Diese Liste arbeitet der Server relativ zeitnah ab. Es kann daher dazu kommen, dass die Preise nach der Übertragung erst mit einer kurzen Verzögerung im Shop angezeigt werden. Die Verzögerung sollte jedoch nur wenige Minuten betragen.}}&lt;br /&gt;
&lt;br /&gt;
=Wie der Export funktioniert=&lt;br /&gt;
Für den Export selbst sind die im Shop vorhandenen Personen interessant. Preislisten im OBS, die nur Kunden zugeordnet sind, die gar nicht im Shop vorkommen, werden nicht exportiert.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Stellen Sie daher für den Export einer Preisliste folgendes sicher:&#039;&#039;&#039;&lt;br /&gt;
*mindestens ein Kunde, dem die Preisliste im OBS zugeordnet ist, ist im Shop vorhanden.&lt;br /&gt;
*die Preisliste ist aktiv und gültig:&lt;br /&gt;
**Häkchen in &amp;quot;Preisliste aktiv&amp;quot; ist gesetzt.&lt;br /&gt;
**Das aktuelles Datum liegt innerhalb des angegebenen Zeitraums (Datum von/bis) der Preisliste.&lt;br /&gt;
**Das Feld &amp;quot;Gültigkeit&amp;quot; enthält den Wert &#039;&#039;Shop&#039;&#039;.&lt;br /&gt;
**Preisliste ist für die Schnittstelle freigegeben (Preislistenverwaltung {{F10}} + S3)&lt;br /&gt;
*Die Preisliste enthält mindestens einen Artikel, der im Shop gepflegt ist. (siehe auch [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner#Depots.2FLager_in_Schnittstelle_brShop24|Depots brShop24]])&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Neben den genannten Voraussetzungen gibt es noch zwei Einstellungen, die auf die Übertragung einzelner Preise Auswirkungen haben:&lt;br /&gt;
*[[Kostenpflichtige_Module/Internet-Shop/brShop24/Konfiguration#Übersicht_aller_Einstellungen_für_brShop24|Konfiguration]] Export.Preise.Preis.VK.Check&lt;br /&gt;
:Wenn aktiviert, dann werden die VK-Preise mit den aktuellen EK-Preisen, abhängig der Preislisteneinstellung (aus Preisliste oder EK1 aus Artikelstamm) verglichen und der Preis nur exportiert, wenn VK &amp;gt; EK ist.&lt;br /&gt;
*[[OBS/Kostenpflichtige_Module/Preislisten|Preisliste]] Preisgarantie&lt;br /&gt;
:Preislisten mit gesetztem Häkchen in &#039;&#039;Preisgarantie&#039;&#039; werden in der Preisprüfung übersprungen.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
OBS ermittelt lokal die Änderungen zur letzten Übertragung. Dies passiert abhängig von den Übertragungsparameter für alle Preislisten, alle Preislisten einer Person(-ennummer) oder einer einzelnen Preisliste.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Preise werden nicht direkt in den Shop geschrieben. Der Shop erhält eine Liste der Preisdaten und legt diese in eine Aufgabenliste, welche dann automatisch abgearbeitet wird.&lt;br /&gt;
{{Achtung|Je nach Auslastung des Shop-Systems kann es also einige Minuten dauern, bis die Preise vollständig übernommen wurden.}}&lt;br /&gt;
{{Hinweis|Laut Informationen von Büroring werden 0-Preise in der API verworfen. OBS setzt entsprechende Preiseinträge intern auf den Status &amp;quot;löschen&amp;quot; und entfernt die jeweilige Preisstaffel aus dem Shop, sollte sie zuvor mit einem regulären Preis angelegt worden sein.}}&lt;br /&gt;
==Priorität und Bestprice-Findung==&lt;br /&gt;
Im Unterschied zum VShop gibt es im brShop24 eine Bestprice-Findung wie im OBS (siehe [[OBS/Preislisten/FAQ_Preislisten#preisfindung|FAQ Preislisten &amp;quot;Wie funktioniert die Preisfindung?&amp;quot;]]). Daher findet das Preislistenfeld &#039;&#039;Prio Shop&#039;&#039; in dieser Schnittstelle keine Anwendung. Die Preislisten erhalten im Shop also die gleiche Priorität, wie sie zum Zeitpunkt des Exports im OBS in &#039;&#039;Prio Preisfind.&#039;&#039; eingestellt ist und somit auch in der WaWi Anwendung finden würde.&lt;br /&gt;
{{Hinweis|Möglichweise muss die Bestprice-Findung im Shop aktiviert werden.}}&lt;br /&gt;
&lt;br /&gt;
=Häufig gestellt Fragen (FAQ)=&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|brshop24_faq_preis_1&lt;br /&gt;
|Warum fehlt Preisliste X im Shop?&lt;br /&gt;
|Es gibt ein paar Punkte, die es zu Prüfen gilt, wenn eine Preisliste in den Shop übertragen werden soll. Abhängig ist die Übertragung von folgenden Punkten:&lt;br /&gt;
#Preisliste ist aktiv und gültig (Datum beachten)&lt;br /&gt;
#Preisliste ist für den Shop freigegeben (Gültigkeit enthält &amp;quot;Shop&amp;quot; und Häkchen in Zuordnung ist für die Schnittstelle gesetzt)&lt;br /&gt;
#Preisliste ist mindestens einem Kunden im Shop zugeordnet&lt;br /&gt;
#Preisliste hat mindestens einen Artikel, der im Shop enthalten ist (siehe auch [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner#Depots.2FLager_in_Schnittstelle_brShop24|Depots brShop24]])&lt;br /&gt;
Siehe auch [[Kostenpflichtige_Module/Internet-Shop/brShop24/Preise_übertragen#Wie_der_Export_funktioniert|Wie der Export funktioniert]].&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|brshop24_faq_preis_2&lt;br /&gt;
|Warum wird eine Preisliste nicht in den Shop übertragen?&lt;br /&gt;
|Bitte beachten Sie hier die [[Kostenpflichtige_Module/Internet-Shop/brShop24/Preise_übertragen#Voraussetzungen|Voraussetzungen]] für die Übertragung von Preislisten. Der Knackpunkt bei der Übertragung von Preislisten ist der Abgleich der Artikel. Um den Datenverkehr möglichst gering zu halten, versucht OBS nur die benötigten Daten zu übertragen. Das bedeutet, dass Artikelpreise für Artikel  nicht übertragen werden, sollte der Artikel gar nicht im Shop vorkommen. Ein Abgleich aller Artikel mit dem Shop würde jedoch zu viel Zeit in Anspruch nehmen. Daher gleicht OBS die Daten über die in der Schnittstelle gepflegten [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner#Depots.2FLager_in_Schnittstelle_brShop24|Depots]] ab. Stellen Sie also sicher, dass die Depots entsprechend gepflegt sind.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|brshop24_faq_preis_3&lt;br /&gt;
|Ist es möglich die Artikelpreise automatisiert zu pflegen?&lt;br /&gt;
|Ja, dies ist möglich. Weitere Informationen finden Sie im Artikel zu den [[OBS/Internet-Shop/Einrichtung/Automatiken#Preise_aktualisieren|Shop-Automatiken]].&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|brshop24_faq_preis_4&lt;br /&gt;
|Warum hat der Shop zwei Preiseinträge für einen Artikel?&lt;br /&gt;
|Der Shop unterscheidet bei den Preisen auch nach der Einheit. Der Preisexport übergibt keine Einheit. Für den Preis übernimmt die API die Standard-Einheit des Artikels im Shop. Sollten Sie zwei Einträge zu einer bestimmten Menge bei einem Artikel mit unterschiedlicher Einheit vorfinden, so bekommen Sie dies über OBS nur bereinigt, indem Sie die Preisliste aus dem Shop nehmen und anschließend wieder anlegen.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Eine Preisliste können Sie aus dem Shop nehmen, indem Sie über das Shop-Menü in die Preislistenverwaltung für den Shop gehen. Suchen Sie die Preisliste und drücken Sie auf dem Datensatz {{Entf}}. Dies nimmt die Shop-Zuordnung aus der Preisliste. Danach exportieren Sie die einzelne Preisliste per {{F6}}. Anschließend drücken Sie {{Einfg}}, um die Shop-Zuordnung wieder zu setzen und exportieren erneut die Preisliste. Der erste Export löscht die Preisliste im Shop und der zweite Export legt die Daten neu an.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|brshop24_faq_preis_5&lt;br /&gt;
|Warum wird der Preis eines Artikels nicht in den Shop übertragen?&lt;br /&gt;
|Vorraussetzungen, damit Artikelpreise übertragen werden:&lt;br /&gt;
#Preisliste muss die Voraussetzungen für den Export erfüllen&lt;br /&gt;
#Der Preis selbst muss größer als 0 sein&lt;br /&gt;
#Der Artikel muss über ein [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner|Lager (Shop-Depot)]] mit der Schnittstelle verknüpft sein&lt;br /&gt;
#Artikel darf vom Shop nicht als fehlend gemeldet worden sein (betrifft Artikel, die durch Büroring gepflegt werden)&lt;br /&gt;
#Eigene Artikel müssen im OBS und für die Schnittstelle aktiv sein&lt;br /&gt;
Für eigene Artikel liegt die Pflege des Artikels im Shop bei Ihnen. Das Büroring-Sortiment wird von Büroring im Shop gepflegt. Die Pflege von Preisen für Büroringartikel ist somit abhängig von zwei Faktoren: Zeitpunkte der Pflege/Anlage im Shop und der Zeitpunkt im OBS. Hierzu gab es bereits diverse Meldungen, dass Artikelpreise nicht übertragen wurden, obwohl der Artikel im Shop vorkommt. Da OBS die zu übertragenen Artikel bei [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner#Zuordnung_von_Artikeln|entsprechender Einstellung]] über die EK-Informationen des Artikelstamms ermittelt und dann Preise für die &amp;quot;verfügbaren&amp;quot; Artikel übermittelt, muss der Shop zu dem Zeitpunkt den jeweiligen Artikel auch im jeweiligen Lager wiederfinden können. Ist dies nicht der Fall, meldet der Shop den entsprechenden Artikel als &amp;quot;fehlend&amp;quot; und OBS merkt sich diese Rückmeldung. &amp;quot;Fehlende&amp;quot; Artikel werden bei weiteren Exporten ignoriert. Es kann also vorkommen, dass ein Artikel aus OBS im Shop einen Preis bekommen sollte, den der Shop zu dem Zeitpunkt nicht in seinem Sortiment wiedergefunden hat. Sollten Sie zu diesen Artikeln den Preis vermissen, so prüfen Sie bitte die [[#Liste_Artikel_zu_Preisliste|Preisdaten]] zu zur Preisliste (siehe oben Verwaltung Shop-Preislisten {{Key|F7 Artikel}}) oder die [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner#Zuordnung_von_Artikeln|Artikelliste]] des jeweiligen Lagers. &amp;quot;Fehlende&amp;quot; Artikel werden hier rot dargestellt. Sie können außerdem per Sortierung sich nur die fehlenden Artikel anzeigen lassen. Ist der Artikel hier als &amp;quot;fehlend&amp;quot; markiert, so führen Sie auf dem Artikel stehend mit {{Key|F6 Check}} eine erneute Prüfung aus. Wird der Artikel gefunden, erhalten Sie eine entsprechende Rückmeldung und der Status wird geändert.&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Nimz</name></author>
	</entry>
	<entry>
		<id>https://wiki.bergau.de/index.php?title=Kostenpflichtige_Module/Internet-Shop/brShop24/Preise_%C3%BCbertragen&amp;diff=64571</id>
		<title>Kostenpflichtige Module/Internet-Shop/brShop24/Preise übertragen</title>
		<link rel="alternate" type="text/html" href="https://wiki.bergau.de/index.php?title=Kostenpflichtige_Module/Internet-Shop/brShop24/Preise_%C3%BCbertragen&amp;diff=64571"/>
		<updated>2026-07-27T09:57:02Z</updated>

		<summary type="html">&lt;p&gt;Nimz: /* Spalte Grund */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Vorlage:Kostenpflichtige Module}}&lt;br /&gt;
{{Achtung|Für die Preisübertragung wird das kostenpflichtige Modul [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] vorausgesetzt!}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Achtung|Es kann vorkommen, dass im Shop mehere Preiseinträge zu einer bestimmten Menge eines Artikels auftauchen. Siehe dazu FAQ [[#brshop24_faq_preis_4|Warum hat der Shop zwei Preiseinträge für einen Artikel?]].}}&lt;br /&gt;
=Voraussetzungen=&lt;br /&gt;
#[[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner#Depots.2FLager_in_Schnittstelle_brShop24|Depots]] sind eingerichtet (über Schnittstellenkonfiguration {{F8}})&lt;br /&gt;
#Preissystem im OBS ist auf das kostenpflichtige Modul [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] umgestellt&lt;br /&gt;
#Preisliste(n) ist/sind zum Zeitpunkt des Exports gültig.&amp;lt;br /&amp;gt;Eingabemaske [[OBS/Kostenpflichtige_Module/Preislisten|Preislistenverwaltung]]: &lt;br /&gt;
##Preisliste ist aktiv (Checkbox)&lt;br /&gt;
##aktuelles Datum ist innerhalb des Gültigkeitszeitraums (Datum von/bis)&lt;br /&gt;
##Gültigkeit enthält &amp;quot;Shop&amp;quot; (Default: &amp;quot;Shop &amp;amp; Kasse &amp;amp; WaWi&amp;quot;)&lt;br /&gt;
#Preisliste ist für Schnittstelle freigegeben (Häkchen gesetzt unter [[OBS/Kostenpflichtige_Module/Preislisten|Preislistenverwaltung]] &amp;amp;rarr; {{F10}} &amp;amp;rarr; S3)&lt;br /&gt;
#Kunden im Shop vorhanden&lt;br /&gt;
#Preisliste ist für mindestens einen der Kunden gültig (über Kundennummer in brShop24-Kundengruppe oder brShop24-Benutzer). Siehe dazu auch [[OBS/Preislisten/FAQ_Preislisten|FAQ Preislisten]] &amp;quot;Welche Möglichkeiten der Zuordnung gibt es?&amp;quot;.&lt;br /&gt;
#[[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] enthalten mindestens einen Artikel aus dem Shop&lt;br /&gt;
&lt;br /&gt;
=Shop-Menü: Preislisten verwalten=&lt;br /&gt;
==Preislisten verwalten==&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;ul&amp;gt; &lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:BrShop24_ShpPl.jpg|thumb|none|600px|Preislisten einer Schnittstelle]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
Die Liste zeigt Ihnen alle [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]], die bei &#039;&#039;&#039;bisherigen&#039;&#039;&#039; Exporten für die Schnittstelle übernommen wurden und welchen Status diese bei der letzten Übertragung bekommen haben. Aktive [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] werden dabei in schwarz angezeigt. Rote Einträge sind gelöschte [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]]. Außerdem wird wie in der [[OBS/Stammdaten/Artikel:_H2_-_Bildverwaltung|Bildverwaltung]] und [[OBS/Stammdaten/Artikel:_H3_-_Shoppflege/A_Texte|externen Artikeltexten]] in Fett die Zuordnung zur Schnittstelle hervorgehoben, indem die Zeile in Fett dargestellt wird.&lt;br /&gt;
{{Hinweis|&#039;&#039;&#039;&amp;quot;Bisherige Exporte&amp;quot;&#039;&#039;&#039; meint alle zuvor ausgeführten Übertragungen von [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] über diese Shop-Schnittstelle. Diese Liste ist als eine Art Historie zu sehen. Sie zeigt nur das Ergebnis der bisherigen Übertragung. Je nach Anpassungen in der [[OBS/Kostenpflichtige_Module/Preislisten|Preislistenverwaltung]] (Artikel oder Freigaben) oder Zuordnung zu Kunden kann das Ergebnis nach der nächsten Übertragung anders aussehen. Auch tauchen neue [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] erst in dieser Liste auf, sobald diese einmal über einen Preislistenexport übertragen wurde.}}&lt;br /&gt;
===Tasten und Schaltflächen (Preisliste)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Taste!! width=&amp;quot;800px&amp;quot;|Erklärung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F5 Mark}}|| Markiert einen Datensatz&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F6 Export}}|| Exportiert eine oder alle Preislisten (Auswahl).{{Hinweis|Die initiale Einzelübertragung neuer Preislisten muss über die [[OBS/Kostenpflichtige_Module/Preislisten|Preislistenverwaltung]] erfolgen.}}&amp;lt;br /&amp;gt;Auswahl&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
*A Alle&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; vollständige Aktualisierung aller Preislisten im Shop. Dies bezieht auch Preislisten ein, die in der Preislistenverwaltung neu erstellt wurden!&lt;br /&gt;
*B akt. Preisliste&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; Überträgt die aktuell gewählte Preisliste neu. Abhängig von den Einstellungen oder Daten wird hier die Preisliste aktualisiert oder &#039;&#039;gelöscht&#039;&#039;(!).&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F7 Artikel}}|| Zeigt eine [[#Liste_Artikel_zu_Preisliste|Liste]] der zur Preisliste selektierten Artikel u. a. mit Lager, Shop-Artikelnummer, Staffelmenge und Preis.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F9 PLV}}|| Öffnet die [[OBS/Kostenpflichtige_Module/Preislisten#Liste|Preislistenverwaltung]]&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F10 Weit.}}|| Zugriff auf [[#Weitere_Funktionen_(Preisliste_F10)|weitere Funktionen]] der Liste&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|Einfg Einf.}}|| Setzt Zuordnung zur aktuellen Schnittstelle für markierte oder aktuelle Preisliste(n).&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|Entf Lösch.}}|| Entfernt Zuordnung zur aktuellen Schnittstelle für markierte oder aktuelle Preisliste(n).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Weitere Funktionen (Preisliste F10)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Menüpunkt!! width=&amp;quot;800px&amp;quot;|Erklärung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| A1{{nb_space}}Analyse{{nb_hyphen}}Modus{{nb_space}}(shopbezogen)|| Schaltet den [[#Analyse-Modus|Analyse-Modus]] an bzw. aus. Es werden nur die in die in der Schnittstelle vorhandenen Preislisten analysiert.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| A2{{nb_space}}Analyse{{nb_hyphen}}Modus{{nb_space}}(alle)|| Schaltet den [[#Analyse-Modus|Analyse-Modus]] an bzw. aus. Es werden alle OBS-Preislisten analysiert.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| L1{{nb_space}}Preisliste{{nb_space}}leeren|| Leert im Shop die Preisliste. Das bedeutet, dass alle Preiseinträge der Preisliste gelöscht werden. Die Preisliste sollte direkt danach neu exportiert werden.{{Achtung|Dies löscht nicht die Preisliste! Die Preisliste hat im Shop lediglich keine Preiseinträge mehr. Ist ein löschen der Preisliste gewünscht, dann sollte die Shop-Zuordnung entfernt oder die Preisliste anderweitig deaktiviert und anschließend exportiert werden.}}&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| P{{nb_space}}Job{{nb_hyphen}}Protokolle{{nb_space}}zu{{nb_space}}Preisliste|| Öffnet ie [[Kostenpflichtige_Module/Internet-Shop/brShop24/Jobinformationen#Liste_Jobs|Protokollliste]] gefiltert nach Job für die Preisliste.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Z1{{nb_space}}Preislistenzuordnung{{nb_space}}neu{{nb_space}}übertragen{{nb_space}}(Person)|| Übertragen der Preislistenzuordnung einer Person{{Hinweis|Nur verfügbar über die Webshop-Einstellungen von Personen!}}&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Z2{{nb_space}}Preislistenzuordnung{{nb_space}}neu{{nb_space}}übertragen{{nb_space}}(Preisliste)|| Übertragen der Preislistenzuordnung der genannten Preisliste&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Z3{{nb_space}}Preislistenzuordnung{{nb_space}}neu{{nb_space}}übertragen{{nb_space}}(Alle)|| Übertragen der Preislistenzuordnung aller Preisliste&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Analyse-Modus (Preislisten)===&lt;br /&gt;
{{Hinweis|Abhängig von der Anzahl der Preislisten kann die Analyse einen Moment dauern, da dies für jede Preisliste ausgeführt wird!}}&lt;br /&gt;
Der Analyse-Modus zeigt Ihnen in einer eigenen Spalte &#039;&#039;Probleme&#039;&#039; Ursachen an, warum eine Preisliste nicht exportiert wird. Dies kann aktuell umfassen:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Problem!! width=&amp;quot;800px&amp;quot;|Erklärung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Nicht{{nb_space}}aktiv|| Die Preisliste ist nicht aktiviert (Häkchen in Maske).&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Außerhalb{{nb_space}}Gültigkeitszeitraum|| Das aktuelle Datum liegt außerhalb des in der Preisliste definierten Gültigkeitszeitraum (Datum von/bis).&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Typ{{nb_space}}enthält{{nb_space}}nicht{{nb_space}}Shop|| Die Preisliste ist auf WaWi und/oder Kasse beschränkt (Auswahlfeld in Preislistenmaske).&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Nicht{{nb_space}}der{{nb_space}}Schnittstelle{{nb_space}}zugeordnet|| Die Zuordnung zur Schnittstelle fehlt. Dies kann einfach mit {{Key|Einfg Einf.}} geändert werden.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Keine{{nb_space}}Personenzuordnung|| Es wurden keine Personen(nummern) zur Zuordnung gefunden. Je nach Zuordnung im OBS muss eine der Personennummern im Shop in mindestens einem Benutzer oder einer Kundengruppe vorkommen.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Keine{{nb_space}}Preise{{nb_space}}hinterlegt|| Die Preisliste verfügt über keine gültigen Preiseeinträge für den Export. Sollte Preiseinträge in der Preisliste vorhanden sein, können Sie dies mit dem Analyse-Modus der [[#Liste_Artikel_zu_Preisliste|Artikel-Liste]] ({{Key|F7 Artikel}}) prüfen.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Liste Artikel zu Preisliste==&lt;br /&gt;
{{Achtung|Verfügbar ab Version 004840!}}&lt;br /&gt;
Zeigt die historischen Preisdaten zur Preisliste, welche über die Schnittstelle verarbeitet wurden.&lt;br /&gt;
{{Hinweis|Die Selektion der Preisdaten passiert mit dem Export einer Preisliste. Diese Liste zeigt den Datenstand der letzten Selektion. Die hier angezeigten Preisdaten können daher von den aktuellen Preisen der Preisliste abweichen.}}&lt;br /&gt;
===Spalten===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Bezeichnung!! width=&amp;quot;800px&amp;quot;|Erläuterung&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| OBS-Art-Nr.|| Zeigt die OBS-Artikelnummer aus Ihrem [[OBS/Stammdaten/Artikel|Artikelstamm]] an&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Shop-Art.-Nr.|| Zeigt die Artikelnummer im Shop an unter der dieser Preisdatensatz gepflegt wird.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Lager|| Name des [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner|Shop-Lagers]]&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Bezeichnung|| Artikelbezeichnung; Zeigt Name 1 aus dem Artikel. Bei eigenen Artikeln wird - sofern gesetzt - die alternative Bezeichnung aus den [[OBS/Stammdaten/Artikel/Registerkarte:_Shop/Einstellungsliste/Artikelauswahl|Artikel-Shop-Einstellungen]] angezeigt.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Menge|| (Staffel-)Menge des Preisdatensatzes&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| VK Netto|| Netto-Preis des Preisdatensatzes&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Preisstatus|| Je nach status bei der letzten Selektion wird Ihnen hier &#039;&#039;Pflegen&#039;&#039; oder &#039;&#039;Löschen&#039;&#039; angezeigt.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Grund|| Zeigt den [[#Spalte_Grund|Grund]], warum ein Preis nicht exportiert werden kann bzw. konnte.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Aktualisiert|| Zeigt das Datum an dem OBS zuletzt den Preis per API in den Shop übertragen hat.{{Hinweis|Wird bei Datensätzen, deren letzte Änderung per API länger zurück liegt, nicht angezeigt, da diese Information im Datensatz selbst erst Version 004721 (November 2024) gespeichert wird.}}&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Gelöscht|| Zeigt das Datum an dem OBS zuletzt den Preis per API aus dem Shop gelöscht hat.{{Hinweis|Wird bei Datensätzen, deren letzte Änderung per API länger zurück liegt, nicht angezeigt, da diese Information im Datensatz selbst erst Version 004721 (November 2024) gespeichert wird.}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Spalte Grund===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Problem!! width=&amp;quot;800px&amp;quot;|Erklärung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Artikel{{nb_space}}inaktiv|| Im Artikelstamm ist das Häkchen &amp;quot;Inaktiv&amp;quot; gesetzt. Bei eigenen Artikeln ist dies ebenfalls abhängig von der Pflege-Einstellung (Allgemein und Lagerbezogen).&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Nicht{{nb_space}}lieferbar|| Abhängig von der Pflege (Lieferantenbezogen oder eigener Artikel ohne Lieferantenbezug) ist entweder kein oder der Lieferantbezogene EK-Eintrag als &amp;quot;nicht lieferbar&amp;quot; markiert.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Nicht{{nb_space}}für{{nb_space}}Shop{{nb_space}}freigegeben|| Artikel wurde (noch) nicht in die Liste der Shop-Artikel übernommen. Diese Liste erstellt OBS während des Preisexports automatisch auf Basis der Einstellungen in den Shop-Lager und Definitionen eigener Artikel. Sollte ein Artikel fehlen, ist entweder die Übernahme noch nicht ausgeführt wurden oder es fehlt ein benötigter Eintrag in den EK-Lieferanten oder die Freigabe als eigener Artikel.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Kein{{nb_space}}Matching|| Kann passieren, wenn sich z. B. eine Referenznummer wie die Bestellnummer ändert und OBS die Daten nicht mehr miteinander verknüpfen kann.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Vom{{nb_space}}Shop{{nb_space}}als{{nb_space}}fehlend{{nb_space}}gemeldet|| OBS hat für diesen Artikel (Referenz ist Lager + Referenznummer) in der Vergangenheit einen Preis übertragen. Die API hat den Preis jedoch nicht angelegt mit dem Grund, dass der Artikel nicht im Shop vorhanden ist. Der Artikel wird dann für das Lager von der Pflege ausgeschlossen. Ändern z. B. Artikel die Lagerzugehörigkeit (z. B. Zentrallager zu Außenlager) oder Artikel kommen früher über die Artikelpflege ins OBS, kann es zu diesem Problem kommen. Mit F6 können Sie den Status prüfen lassen. Kann der Artikel darüber gefunden werden, aktiviert OBS die pflege wieder.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Menge{{nb_space}}&amp;lt;={{nb_space}}0|| Die Menge muss für eine gülige Definition einen positiven Wert haben.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| VK{{nb_space}}&amp;lt;={{nb_space}}0|| Preiseinträge mit 0 werden von der API gelöscht. Entsprechende VK-Preise werden von OBS daher im Vorfeld bereits abgelehnt.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| VK{{nb_space}}&amp;lt;={{nb_space}}EK|| Mit der Einstellung &#039;&#039;&#039;Export.Preise.Preis.VK.Check&#039;&#039;&#039; kann die Ertragsprüfung aktiviert werden. Es werden dann nur noch Preise übertragen, deren VK größer ist als der EK. Einzige Ausnahme sind Preislisten mit dem Häkchen &#039;&#039;&#039;Preisgarantie&#039;&#039;&#039;. Für diese Preislisten werden VK-Preise immer übertragen, sofern kein anderer Grund (z. B. VK ist 0) zur Ablehnung vorhanden ist.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Hervorhebungen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Stil!! width=&amp;quot;800px&amp;quot;|Bedeutung&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Kursiv|| Preis hat den Status &amp;quot;Löschen&amp;quot;.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Textfarbe Rot|| Artikel ist als &amp;quot;fehlend&amp;quot; markiert. Dies kann z. B. passieren, wenn Artikel im OBS bereits vorhanden sind, aber im Shop zum Zeitpunkt der Preispflege nicht gefunden/identifiziert werden können. OBS ignoriert &amp;quot;fehlende&amp;quot; Artikel im weiteren Verlauf. Sollte der Artikel im Shop vorhanden sein, können Sie mit {{Key|F6 Check}} eine neue Abfrage starten, um den Status zu ändern.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Textfarbe Grau|| Artikel ist inaktiv (Artikelstamm Häkchen &amp;quot;inaktiv&amp;quot;).&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Textfarbe Grün|| Eigener Artikel ist aktiv.&lt;br /&gt;
|}&lt;br /&gt;
===Tasten und Schaltflächen (Artikel)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Taste!! width=&amp;quot;800px&amp;quot;|Erklärung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F4 Sort}}|| Sortierung wechseln. Sortierungen mit dem Zusatz &amp;quot;(nicht gefunden)&amp;quot; zeigen nur die Einträge an, zu denen der Shop bei der letzten Übertragung den Artikel als &amp;quot;nicht gefunden&amp;quot; gemeldet hat.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F6 Check}}|| Prüft für den aktuellen Datensatz, ob der zugehörige Artikel im Shop gefunden werden kann. Je nach Pflege Zeitpunkt kann es z.{{nb_space}}B. bei neuen Artikeln passieren, dass OBS einen Preis überträgt, der Artikel aber noch nicht im Shop angelegt wurde. Da OBS dann den Artikel für die weitere Pflege deaktiviert, muss der Artikel auf diese Weise erst wieder freigegeben werden.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Preisdaten exportieren=&lt;br /&gt;
Sie können Preise auf verschiedenen Wegen exportieren. Es werden dabei immer nur die Veränderungen zum letzten Export übertragen.&amp;lt;br /&amp;gt;&lt;br /&gt;
Gestartet werden kann der Export auf folgenden Wegen:&lt;br /&gt;
*Shop-Menü &amp;quot;B Preislisten verwalten&amp;quot;&lt;br /&gt;
:Per {{F6}} starten Sie hier den Export für alle Preislisten&lt;br /&gt;
*Preislistenverwaltung&lt;br /&gt;
:{{F10}} + S1{{Hinweis|Der Punkt ist erst sichtbar, wenn die Preisliste mindestens einer Shop-Schnittstelle zugeordnet ist.}}&lt;br /&gt;
*Personenstamm Webshop-Einstellungen&lt;br /&gt;
:{{F8}} für die Übertragung der personenbezogenen Preise. Dieser Punkt öffnet die Shop-Preislisten-Verwaltung mit einem Filter, so dass nur die Preislisten des Kunden angezeigt werden. Auch beim Export werden nur die Preislisten des Kunden übertragen.&lt;br /&gt;
{{Hinweis|OBS überträgt die Preise pro Liste &amp;quot;gesammelt&amp;quot; in einem &amp;quot;batch&amp;quot;-Modus. Das heißt es werden mehrere hundert Einträge auf einmal übertragen und vom Shop-Server auf eine Todo-Liste gesetzt. Diese Liste arbeitet der Server relativ zeitnah ab. Es kann daher dazu kommen, dass die Preise nach der Übertragung erst mit einer kurzen Verzögerung im Shop angezeigt werden. Die Verzögerung sollte jedoch nur wenige Minuten betragen.}}&lt;br /&gt;
&lt;br /&gt;
=Wie der Export funktioniert=&lt;br /&gt;
Für den Export selbst sind die im Shop vorhandenen Personen interessant. Preislisten im OBS, die nur Kunden zugeordnet sind, die gar nicht im Shop vorkommen, werden nicht exportiert.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Stellen Sie daher für den Export einer Preisliste folgendes sicher:&#039;&#039;&#039;&lt;br /&gt;
*mindestens ein Kunde, dem die Preisliste im OBS zugeordnet ist, ist im Shop vorhanden.&lt;br /&gt;
*die Preisliste ist aktiv und gültig:&lt;br /&gt;
**Häkchen in &amp;quot;Preisliste aktiv&amp;quot; ist gesetzt.&lt;br /&gt;
**Das aktuelles Datum liegt innerhalb des angegebenen Zeitraums (Datum von/bis) der Preisliste.&lt;br /&gt;
**Das Feld &amp;quot;Gültigkeit&amp;quot; enthält den Wert &#039;&#039;Shop&#039;&#039;.&lt;br /&gt;
**Preisliste ist für die Schnittstelle freigegeben (Preislistenverwaltung {{F10}} + S3)&lt;br /&gt;
*Die Preisliste enthält mindestens einen Artikel, der im Shop gepflegt ist. (siehe auch [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner#Depots.2FLager_in_Schnittstelle_brShop24|Depots brShop24]])&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Neben den genannten Voraussetzungen gibt es noch zwei Einstellungen, die auf die Übertragung einzelner Preise Auswirkungen haben:&lt;br /&gt;
*[[Kostenpflichtige_Module/Internet-Shop/brShop24/Konfiguration#Übersicht_aller_Einstellungen_für_brShop24|Konfiguration]] Export.Preise.Preis.VK.Check&lt;br /&gt;
:Wenn aktiviert, dann werden die VK-Preise mit den aktuellen EK-Preisen, abhängig der Preislisteneinstellung (aus Preisliste oder EK1 aus Artikelstamm) verglichen und der Preis nur exportiert, wenn VK &amp;gt; EK ist.&lt;br /&gt;
*[[OBS/Kostenpflichtige_Module/Preislisten|Preisliste]] Preisgarantie&lt;br /&gt;
:Preislisten mit gesetztem Häkchen in &#039;&#039;Preisgarantie&#039;&#039; werden in der Preisprüfung übersprungen.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
OBS ermittelt lokal die Änderungen zur letzten Übertragung. Dies passiert abhängig von den Übertragungsparameter für alle Preislisten, alle Preislisten einer Person(-ennummer) oder einer einzelnen Preisliste.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Preise werden nicht direkt in den Shop geschrieben. Der Shop erhält eine Liste der Preisdaten und legt diese in eine Aufgabenliste, welche dann automatisch abgearbeitet wird.&lt;br /&gt;
{{Achtung|Je nach Auslastung des Shop-Systems kann es also einige Minuten dauern, bis die Preise vollständig übernommen wurden.}}&lt;br /&gt;
{{Hinweis|Laut Informationen von Büroring werden 0-Preise in der API verworfen. OBS setzt entsprechende Preiseinträge intern auf den Status &amp;quot;löschen&amp;quot; und entfernt die jeweilige Preisstaffel aus dem Shop, sollte sie zuvor mit einem regulären Preis angelegt worden sein.}}&lt;br /&gt;
==Priorität und Bestprice-Findung==&lt;br /&gt;
Im Unterschied zum VShop gibt es im brShop24 eine Bestprice-Findung wie im OBS (siehe [[OBS/Preislisten/FAQ_Preislisten#preisfindung|FAQ Preislisten &amp;quot;Wie funktioniert die Preisfindung?&amp;quot;]]). Daher findet das Preislistenfeld &#039;&#039;Prio Shop&#039;&#039; in dieser Schnittstelle keine Anwendung. Die Preislisten erhalten im Shop also die gleiche Priorität, wie sie zum Zeitpunkt des Exports im OBS in &#039;&#039;Prio Preisfind.&#039;&#039; eingestellt ist und somit auch in der WaWi Anwendung finden würde.&lt;br /&gt;
{{Hinweis|Möglichweise muss die Bestprice-Findung im Shop aktiviert werden.}}&lt;br /&gt;
&lt;br /&gt;
=Häufig gestellt Fragen (FAQ)=&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|brshop24_faq_preis_1&lt;br /&gt;
|Warum fehlt Preisliste X im Shop?&lt;br /&gt;
|Es gibt ein paar Punkte, die es zu Prüfen gilt, wenn eine Preisliste in den Shop übertragen werden soll. Abhängig ist die Übertragung von folgenden Punkten:&lt;br /&gt;
#Preisliste ist aktiv und gültig (Datum beachten)&lt;br /&gt;
#Preisliste ist für den Shop freigegeben (Gültigkeit enthält &amp;quot;Shop&amp;quot; und Häkchen in Zuordnung ist für die Schnittstelle gesetzt)&lt;br /&gt;
#Preisliste ist mindestens einem Kunden im Shop zugeordnet&lt;br /&gt;
#Preisliste hat mindestens einen Artikel, der im Shop enthalten ist (siehe auch [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner#Depots.2FLager_in_Schnittstelle_brShop24|Depots brShop24]])&lt;br /&gt;
Siehe auch [[Kostenpflichtige_Module/Internet-Shop/brShop24/Preise_übertragen#Wie_der_Export_funktioniert|Wie der Export funktioniert]].&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|brshop24_faq_preis_2&lt;br /&gt;
|Warum wird eine Preisliste nicht in den Shop übertragen?&lt;br /&gt;
|Bitte beachten Sie hier die [[Kostenpflichtige_Module/Internet-Shop/brShop24/Preise_übertragen#Voraussetzungen|Voraussetzungen]] für die Übertragung von Preislisten. Der Knackpunkt bei der Übertragung von Preislisten ist der Abgleich der Artikel. Um den Datenverkehr möglichst gering zu halten, versucht OBS nur die benötigten Daten zu übertragen. Das bedeutet, dass Artikelpreise für Artikel  nicht übertragen werden, sollte der Artikel gar nicht im Shop vorkommen. Ein Abgleich aller Artikel mit dem Shop würde jedoch zu viel Zeit in Anspruch nehmen. Daher gleicht OBS die Daten über die in der Schnittstelle gepflegten [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner#Depots.2FLager_in_Schnittstelle_brShop24|Depots]] ab. Stellen Sie also sicher, dass die Depots entsprechend gepflegt sind.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|brshop24_faq_preis_3&lt;br /&gt;
|Ist es möglich die Artikelpreise automatisiert zu pflegen?&lt;br /&gt;
|Ja, dies ist möglich. Weitere Informationen finden Sie im Artikel zu den [[OBS/Internet-Shop/Einrichtung/Automatiken#Preise_aktualisieren|Shop-Automatiken]].&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|brshop24_faq_preis_4&lt;br /&gt;
|Warum hat der Shop zwei Preiseinträge für einen Artikel?&lt;br /&gt;
|Der Shop unterscheidet bei den Preisen auch nach der Einheit. Der Preisexport übergibt keine Einheit. Für den Preis übernimmt die API die Standard-Einheit des Artikels im Shop. Sollten Sie zwei Einträge zu einer bestimmten Menge bei einem Artikel mit unterschiedlicher Einheit vorfinden, so bekommen Sie dies über OBS nur bereinigt, indem Sie die Preisliste aus dem Shop nehmen und anschließend wieder anlegen.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Eine Preisliste können Sie aus dem Shop nehmen, indem Sie über das Shop-Menü in die Preislistenverwaltung für den Shop gehen. Suchen Sie die Preisliste und drücken Sie auf dem Datensatz {{Entf}}. Dies nimmt die Shop-Zuordnung aus der Preisliste. Danach exportieren Sie die einzelne Preisliste per {{F6}}. Anschließend drücken Sie {{Einfg}}, um die Shop-Zuordnung wieder zu setzen und exportieren erneut die Preisliste. Der erste Export löscht die Preisliste im Shop und der zweite Export legt die Daten neu an.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|brshop24_faq_preis_5&lt;br /&gt;
|Warum wird der Preis eines Artikels nicht in den Shop übertragen?&lt;br /&gt;
|Vorraussetzungen, damit Artikelpreise übertragen werden:&lt;br /&gt;
#Preisliste muss die Voraussetzungen für den Export erfüllen&lt;br /&gt;
#Der Preis selbst muss größer als 0 sein&lt;br /&gt;
#Der Artikel muss über ein [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner|Lager (Shop-Depot)]] mit der Schnittstelle verknüpft sein&lt;br /&gt;
#Artikel darf vom Shop nicht als fehlend gemeldet worden sein (betrifft Artikel, die durch Büroring gepflegt werden)&lt;br /&gt;
#Eigene Artikel müssen im OBS und für die Schnittstelle aktiv sein&lt;br /&gt;
Für eigene Artikel liegt die Pflege des Artikels im Shop bei Ihnen. Das Büroring-Sortiment wird von Büroring im Shop gepflegt. Die Pflege von Preisen für Büroringartikel ist somit abhängig von zwei Faktoren: Zeitpunkte der Pflege/Anlage im Shop und der Zeitpunkt im OBS. Hierzu gab es bereits diverse Meldungen, dass Artikelpreise nicht übertragen wurden, obwohl der Artikel im Shop vorkommt. Da OBS die zu übertragenen Artikel bei [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner#Zuordnung_von_Artikeln|entsprechender Einstellung]] über die EK-Informationen des Artikelstamms ermittelt und dann Preise für die &amp;quot;verfügbaren&amp;quot; Artikel übermittelt, muss der Shop zu dem Zeitpunkt den jeweiligen Artikel auch im jeweiligen Lager wiederfinden können. Ist dies nicht der Fall, meldet der Shop den entsprechenden Artikel als &amp;quot;fehlend&amp;quot; und OBS merkt sich diese Rückmeldung. &amp;quot;Fehlende&amp;quot; Artikel werden bei weiteren Exporten ignoriert. Es kann also vorkommen, dass ein Artikel aus OBS im Shop einen Preis bekommen sollte, den der Shop zu dem Zeitpunkt nicht in seinem Sortiment wiedergefunden hat. Sollten Sie zu diesen Artikeln den Preis vermissen, so prüfen Sie bitte die [[#Liste_Artikel_zu_Preisliste|Preisdaten]] zu zur Preisliste (siehe oben Verwaltung Shop-Preislisten {{Key|F7 Artikel}}) oder die [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner#Zuordnung_von_Artikeln|Artikelliste]] des jeweiligen Lagers. &amp;quot;Fehlende&amp;quot; Artikel werden hier rot dargestellt. Sie können außerdem per Sortierung sich nur die fehlenden Artikel anzeigen lassen. Ist der Artikel hier als &amp;quot;fehlend&amp;quot; markiert, so führen Sie auf dem Artikel stehend mit {{Key|F6 Check}} eine erneute Prüfung aus. Wird der Artikel gefunden, erhalten Sie eine entsprechende Rückmeldung und der Status wird geändert.&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Nimz</name></author>
	</entry>
	<entry>
		<id>https://wiki.bergau.de/index.php?title=Kostenpflichtige_Module/Internet-Shop/brShop24/Preise_%C3%BCbertragen&amp;diff=64570</id>
		<title>Kostenpflichtige Module/Internet-Shop/brShop24/Preise übertragen</title>
		<link rel="alternate" type="text/html" href="https://wiki.bergau.de/index.php?title=Kostenpflichtige_Module/Internet-Shop/brShop24/Preise_%C3%BCbertragen&amp;diff=64570"/>
		<updated>2026-07-27T09:32:27Z</updated>

		<summary type="html">&lt;p&gt;Nimz: /* Spalten */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Vorlage:Kostenpflichtige Module}}&lt;br /&gt;
{{Achtung|Für die Preisübertragung wird das kostenpflichtige Modul [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] vorausgesetzt!}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Achtung|Es kann vorkommen, dass im Shop mehere Preiseinträge zu einer bestimmten Menge eines Artikels auftauchen. Siehe dazu FAQ [[#brshop24_faq_preis_4|Warum hat der Shop zwei Preiseinträge für einen Artikel?]].}}&lt;br /&gt;
=Voraussetzungen=&lt;br /&gt;
#[[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner#Depots.2FLager_in_Schnittstelle_brShop24|Depots]] sind eingerichtet (über Schnittstellenkonfiguration {{F8}})&lt;br /&gt;
#Preissystem im OBS ist auf das kostenpflichtige Modul [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] umgestellt&lt;br /&gt;
#Preisliste(n) ist/sind zum Zeitpunkt des Exports gültig.&amp;lt;br /&amp;gt;Eingabemaske [[OBS/Kostenpflichtige_Module/Preislisten|Preislistenverwaltung]]: &lt;br /&gt;
##Preisliste ist aktiv (Checkbox)&lt;br /&gt;
##aktuelles Datum ist innerhalb des Gültigkeitszeitraums (Datum von/bis)&lt;br /&gt;
##Gültigkeit enthält &amp;quot;Shop&amp;quot; (Default: &amp;quot;Shop &amp;amp; Kasse &amp;amp; WaWi&amp;quot;)&lt;br /&gt;
#Preisliste ist für Schnittstelle freigegeben (Häkchen gesetzt unter [[OBS/Kostenpflichtige_Module/Preislisten|Preislistenverwaltung]] &amp;amp;rarr; {{F10}} &amp;amp;rarr; S3)&lt;br /&gt;
#Kunden im Shop vorhanden&lt;br /&gt;
#Preisliste ist für mindestens einen der Kunden gültig (über Kundennummer in brShop24-Kundengruppe oder brShop24-Benutzer). Siehe dazu auch [[OBS/Preislisten/FAQ_Preislisten|FAQ Preislisten]] &amp;quot;Welche Möglichkeiten der Zuordnung gibt es?&amp;quot;.&lt;br /&gt;
#[[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] enthalten mindestens einen Artikel aus dem Shop&lt;br /&gt;
&lt;br /&gt;
=Shop-Menü: Preislisten verwalten=&lt;br /&gt;
==Preislisten verwalten==&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;ul&amp;gt; &lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:BrShop24_ShpPl.jpg|thumb|none|600px|Preislisten einer Schnittstelle]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
Die Liste zeigt Ihnen alle [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]], die bei &#039;&#039;&#039;bisherigen&#039;&#039;&#039; Exporten für die Schnittstelle übernommen wurden und welchen Status diese bei der letzten Übertragung bekommen haben. Aktive [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] werden dabei in schwarz angezeigt. Rote Einträge sind gelöschte [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]]. Außerdem wird wie in der [[OBS/Stammdaten/Artikel:_H2_-_Bildverwaltung|Bildverwaltung]] und [[OBS/Stammdaten/Artikel:_H3_-_Shoppflege/A_Texte|externen Artikeltexten]] in Fett die Zuordnung zur Schnittstelle hervorgehoben, indem die Zeile in Fett dargestellt wird.&lt;br /&gt;
{{Hinweis|&#039;&#039;&#039;&amp;quot;Bisherige Exporte&amp;quot;&#039;&#039;&#039; meint alle zuvor ausgeführten Übertragungen von [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] über diese Shop-Schnittstelle. Diese Liste ist als eine Art Historie zu sehen. Sie zeigt nur das Ergebnis der bisherigen Übertragung. Je nach Anpassungen in der [[OBS/Kostenpflichtige_Module/Preislisten|Preislistenverwaltung]] (Artikel oder Freigaben) oder Zuordnung zu Kunden kann das Ergebnis nach der nächsten Übertragung anders aussehen. Auch tauchen neue [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] erst in dieser Liste auf, sobald diese einmal über einen Preislistenexport übertragen wurde.}}&lt;br /&gt;
===Tasten und Schaltflächen (Preisliste)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Taste!! width=&amp;quot;800px&amp;quot;|Erklärung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F5 Mark}}|| Markiert einen Datensatz&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F6 Export}}|| Exportiert eine oder alle Preislisten (Auswahl).{{Hinweis|Die initiale Einzelübertragung neuer Preislisten muss über die [[OBS/Kostenpflichtige_Module/Preislisten|Preislistenverwaltung]] erfolgen.}}&amp;lt;br /&amp;gt;Auswahl&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
*A Alle&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; vollständige Aktualisierung aller Preislisten im Shop. Dies bezieht auch Preislisten ein, die in der Preislistenverwaltung neu erstellt wurden!&lt;br /&gt;
*B akt. Preisliste&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; Überträgt die aktuell gewählte Preisliste neu. Abhängig von den Einstellungen oder Daten wird hier die Preisliste aktualisiert oder &#039;&#039;gelöscht&#039;&#039;(!).&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F7 Artikel}}|| Zeigt eine [[#Liste_Artikel_zu_Preisliste|Liste]] der zur Preisliste selektierten Artikel u. a. mit Lager, Shop-Artikelnummer, Staffelmenge und Preis.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F9 PLV}}|| Öffnet die [[OBS/Kostenpflichtige_Module/Preislisten#Liste|Preislistenverwaltung]]&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F10 Weit.}}|| Zugriff auf [[#Weitere_Funktionen_(Preisliste_F10)|weitere Funktionen]] der Liste&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|Einfg Einf.}}|| Setzt Zuordnung zur aktuellen Schnittstelle für markierte oder aktuelle Preisliste(n).&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|Entf Lösch.}}|| Entfernt Zuordnung zur aktuellen Schnittstelle für markierte oder aktuelle Preisliste(n).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Weitere Funktionen (Preisliste F10)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Menüpunkt!! width=&amp;quot;800px&amp;quot;|Erklärung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| A1{{nb_space}}Analyse{{nb_hyphen}}Modus{{nb_space}}(shopbezogen)|| Schaltet den [[#Analyse-Modus|Analyse-Modus]] an bzw. aus. Es werden nur die in die in der Schnittstelle vorhandenen Preislisten analysiert.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| A2{{nb_space}}Analyse{{nb_hyphen}}Modus{{nb_space}}(alle)|| Schaltet den [[#Analyse-Modus|Analyse-Modus]] an bzw. aus. Es werden alle OBS-Preislisten analysiert.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| L1{{nb_space}}Preisliste{{nb_space}}leeren|| Leert im Shop die Preisliste. Das bedeutet, dass alle Preiseinträge der Preisliste gelöscht werden. Die Preisliste sollte direkt danach neu exportiert werden.{{Achtung|Dies löscht nicht die Preisliste! Die Preisliste hat im Shop lediglich keine Preiseinträge mehr. Ist ein löschen der Preisliste gewünscht, dann sollte die Shop-Zuordnung entfernt oder die Preisliste anderweitig deaktiviert und anschließend exportiert werden.}}&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| P{{nb_space}}Job{{nb_hyphen}}Protokolle{{nb_space}}zu{{nb_space}}Preisliste|| Öffnet ie [[Kostenpflichtige_Module/Internet-Shop/brShop24/Jobinformationen#Liste_Jobs|Protokollliste]] gefiltert nach Job für die Preisliste.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Z1{{nb_space}}Preislistenzuordnung{{nb_space}}neu{{nb_space}}übertragen{{nb_space}}(Person)|| Übertragen der Preislistenzuordnung einer Person{{Hinweis|Nur verfügbar über die Webshop-Einstellungen von Personen!}}&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Z2{{nb_space}}Preislistenzuordnung{{nb_space}}neu{{nb_space}}übertragen{{nb_space}}(Preisliste)|| Übertragen der Preislistenzuordnung der genannten Preisliste&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Z3{{nb_space}}Preislistenzuordnung{{nb_space}}neu{{nb_space}}übertragen{{nb_space}}(Alle)|| Übertragen der Preislistenzuordnung aller Preisliste&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Analyse-Modus (Preislisten)===&lt;br /&gt;
{{Hinweis|Abhängig von der Anzahl der Preislisten kann die Analyse einen Moment dauern, da dies für jede Preisliste ausgeführt wird!}}&lt;br /&gt;
Der Analyse-Modus zeigt Ihnen in einer eigenen Spalte &#039;&#039;Probleme&#039;&#039; Ursachen an, warum eine Preisliste nicht exportiert wird. Dies kann aktuell umfassen:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Problem!! width=&amp;quot;800px&amp;quot;|Erklärung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Nicht{{nb_space}}aktiv|| Die Preisliste ist nicht aktiviert (Häkchen in Maske).&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Außerhalb{{nb_space}}Gültigkeitszeitraum|| Das aktuelle Datum liegt außerhalb des in der Preisliste definierten Gültigkeitszeitraum (Datum von/bis).&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Typ{{nb_space}}enthält{{nb_space}}nicht{{nb_space}}Shop|| Die Preisliste ist auf WaWi und/oder Kasse beschränkt (Auswahlfeld in Preislistenmaske).&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Nicht{{nb_space}}der{{nb_space}}Schnittstelle{{nb_space}}zugeordnet|| Die Zuordnung zur Schnittstelle fehlt. Dies kann einfach mit {{Key|Einfg Einf.}} geändert werden.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Keine{{nb_space}}Personenzuordnung|| Es wurden keine Personen(nummern) zur Zuordnung gefunden. Je nach Zuordnung im OBS muss eine der Personennummern im Shop in mindestens einem Benutzer oder einer Kundengruppe vorkommen.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Keine{{nb_space}}Preise{{nb_space}}hinterlegt|| Die Preisliste verfügt über keine gültigen Preiseeinträge für den Export. Sollte Preiseinträge in der Preisliste vorhanden sein, können Sie dies mit dem Analyse-Modus der [[#Liste_Artikel_zu_Preisliste|Artikel-Liste]] ({{Key|F7 Artikel}}) prüfen.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Liste Artikel zu Preisliste==&lt;br /&gt;
{{Achtung|Verfügbar ab Version 004840!}}&lt;br /&gt;
Zeigt die historischen Preisdaten zur Preisliste, welche über die Schnittstelle verarbeitet wurden.&lt;br /&gt;
{{Hinweis|Die Selektion der Preisdaten passiert mit dem Export einer Preisliste. Diese Liste zeigt den Datenstand der letzten Selektion. Die hier angezeigten Preisdaten können daher von den aktuellen Preisen der Preisliste abweichen.}}&lt;br /&gt;
===Spalten===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Bezeichnung!! width=&amp;quot;800px&amp;quot;|Erläuterung&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| OBS-Art-Nr.|| Zeigt die OBS-Artikelnummer aus Ihrem [[OBS/Stammdaten/Artikel|Artikelstamm]] an&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Shop-Art.-Nr.|| Zeigt die Artikelnummer im Shop an unter der dieser Preisdatensatz gepflegt wird.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Lager|| Name des [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner|Shop-Lagers]]&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Bezeichnung|| Artikelbezeichnung; Zeigt Name 1 aus dem Artikel. Bei eigenen Artikeln wird - sofern gesetzt - die alternative Bezeichnung aus den [[OBS/Stammdaten/Artikel/Registerkarte:_Shop/Einstellungsliste/Artikelauswahl|Artikel-Shop-Einstellungen]] angezeigt.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Menge|| (Staffel-)Menge des Preisdatensatzes&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| VK Netto|| Netto-Preis des Preisdatensatzes&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Preisstatus|| Je nach status bei der letzten Selektion wird Ihnen hier &#039;&#039;Pflegen&#039;&#039; oder &#039;&#039;Löschen&#039;&#039; angezeigt.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Grund|| Zeigt den [[#Spalte_Grund|Grund]], warum ein Preis nicht exportiert werden kann bzw. konnte.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Aktualisiert|| Zeigt das Datum an dem OBS zuletzt den Preis per API in den Shop übertragen hat.{{Hinweis|Wird bei Datensätzen, deren letzte Änderung per API länger zurück liegt, nicht angezeigt, da diese Information im Datensatz selbst erst Version 004721 (November 2024) gespeichert wird.}}&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Gelöscht|| Zeigt das Datum an dem OBS zuletzt den Preis per API aus dem Shop gelöscht hat.{{Hinweis|Wird bei Datensätzen, deren letzte Änderung per API länger zurück liegt, nicht angezeigt, da diese Information im Datensatz selbst erst Version 004721 (November 2024) gespeichert wird.}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Spalte Grund===&lt;br /&gt;
&lt;br /&gt;
===Hervorhebungen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Stil!! width=&amp;quot;800px&amp;quot;|Bedeutung&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Kursiv|| Preis hat den Status &amp;quot;Löschen&amp;quot;.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Textfarbe Rot|| Artikel ist als &amp;quot;fehlend&amp;quot; markiert. Dies kann z. B. passieren, wenn Artikel im OBS bereits vorhanden sind, aber im Shop zum Zeitpunkt der Preispflege nicht gefunden/identifiziert werden können. OBS ignoriert &amp;quot;fehlende&amp;quot; Artikel im weiteren Verlauf. Sollte der Artikel im Shop vorhanden sein, können Sie mit {{Key|F6 Check}} eine neue Abfrage starten, um den Status zu ändern.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Textfarbe Grau|| Artikel ist inaktiv (Artikelstamm Häkchen &amp;quot;inaktiv&amp;quot;).&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Textfarbe Grün|| Eigener Artikel ist aktiv.&lt;br /&gt;
|}&lt;br /&gt;
===Tasten und Schaltflächen (Artikel)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Taste!! width=&amp;quot;800px&amp;quot;|Erklärung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F4 Sort}}|| Sortierung wechseln. Sortierungen mit dem Zusatz &amp;quot;(nicht gefunden)&amp;quot; zeigen nur die Einträge an, zu denen der Shop bei der letzten Übertragung den Artikel als &amp;quot;nicht gefunden&amp;quot; gemeldet hat.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F6 Check}}|| Prüft für den aktuellen Datensatz, ob der zugehörige Artikel im Shop gefunden werden kann. Je nach Pflege Zeitpunkt kann es z.{{nb_space}}B. bei neuen Artikeln passieren, dass OBS einen Preis überträgt, der Artikel aber noch nicht im Shop angelegt wurde. Da OBS dann den Artikel für die weitere Pflege deaktiviert, muss der Artikel auf diese Weise erst wieder freigegeben werden.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Preisdaten exportieren=&lt;br /&gt;
Sie können Preise auf verschiedenen Wegen exportieren. Es werden dabei immer nur die Veränderungen zum letzten Export übertragen.&amp;lt;br /&amp;gt;&lt;br /&gt;
Gestartet werden kann der Export auf folgenden Wegen:&lt;br /&gt;
*Shop-Menü &amp;quot;B Preislisten verwalten&amp;quot;&lt;br /&gt;
:Per {{F6}} starten Sie hier den Export für alle Preislisten&lt;br /&gt;
*Preislistenverwaltung&lt;br /&gt;
:{{F10}} + S1{{Hinweis|Der Punkt ist erst sichtbar, wenn die Preisliste mindestens einer Shop-Schnittstelle zugeordnet ist.}}&lt;br /&gt;
*Personenstamm Webshop-Einstellungen&lt;br /&gt;
:{{F8}} für die Übertragung der personenbezogenen Preise. Dieser Punkt öffnet die Shop-Preislisten-Verwaltung mit einem Filter, so dass nur die Preislisten des Kunden angezeigt werden. Auch beim Export werden nur die Preislisten des Kunden übertragen.&lt;br /&gt;
{{Hinweis|OBS überträgt die Preise pro Liste &amp;quot;gesammelt&amp;quot; in einem &amp;quot;batch&amp;quot;-Modus. Das heißt es werden mehrere hundert Einträge auf einmal übertragen und vom Shop-Server auf eine Todo-Liste gesetzt. Diese Liste arbeitet der Server relativ zeitnah ab. Es kann daher dazu kommen, dass die Preise nach der Übertragung erst mit einer kurzen Verzögerung im Shop angezeigt werden. Die Verzögerung sollte jedoch nur wenige Minuten betragen.}}&lt;br /&gt;
&lt;br /&gt;
=Wie der Export funktioniert=&lt;br /&gt;
Für den Export selbst sind die im Shop vorhandenen Personen interessant. Preislisten im OBS, die nur Kunden zugeordnet sind, die gar nicht im Shop vorkommen, werden nicht exportiert.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Stellen Sie daher für den Export einer Preisliste folgendes sicher:&#039;&#039;&#039;&lt;br /&gt;
*mindestens ein Kunde, dem die Preisliste im OBS zugeordnet ist, ist im Shop vorhanden.&lt;br /&gt;
*die Preisliste ist aktiv und gültig:&lt;br /&gt;
**Häkchen in &amp;quot;Preisliste aktiv&amp;quot; ist gesetzt.&lt;br /&gt;
**Das aktuelles Datum liegt innerhalb des angegebenen Zeitraums (Datum von/bis) der Preisliste.&lt;br /&gt;
**Das Feld &amp;quot;Gültigkeit&amp;quot; enthält den Wert &#039;&#039;Shop&#039;&#039;.&lt;br /&gt;
**Preisliste ist für die Schnittstelle freigegeben (Preislistenverwaltung {{F10}} + S3)&lt;br /&gt;
*Die Preisliste enthält mindestens einen Artikel, der im Shop gepflegt ist. (siehe auch [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner#Depots.2FLager_in_Schnittstelle_brShop24|Depots brShop24]])&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Neben den genannten Voraussetzungen gibt es noch zwei Einstellungen, die auf die Übertragung einzelner Preise Auswirkungen haben:&lt;br /&gt;
*[[Kostenpflichtige_Module/Internet-Shop/brShop24/Konfiguration#Übersicht_aller_Einstellungen_für_brShop24|Konfiguration]] Export.Preise.Preis.VK.Check&lt;br /&gt;
:Wenn aktiviert, dann werden die VK-Preise mit den aktuellen EK-Preisen, abhängig der Preislisteneinstellung (aus Preisliste oder EK1 aus Artikelstamm) verglichen und der Preis nur exportiert, wenn VK &amp;gt; EK ist.&lt;br /&gt;
*[[OBS/Kostenpflichtige_Module/Preislisten|Preisliste]] Preisgarantie&lt;br /&gt;
:Preislisten mit gesetztem Häkchen in &#039;&#039;Preisgarantie&#039;&#039; werden in der Preisprüfung übersprungen.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
OBS ermittelt lokal die Änderungen zur letzten Übertragung. Dies passiert abhängig von den Übertragungsparameter für alle Preislisten, alle Preislisten einer Person(-ennummer) oder einer einzelnen Preisliste.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Preise werden nicht direkt in den Shop geschrieben. Der Shop erhält eine Liste der Preisdaten und legt diese in eine Aufgabenliste, welche dann automatisch abgearbeitet wird.&lt;br /&gt;
{{Achtung|Je nach Auslastung des Shop-Systems kann es also einige Minuten dauern, bis die Preise vollständig übernommen wurden.}}&lt;br /&gt;
{{Hinweis|Laut Informationen von Büroring werden 0-Preise in der API verworfen. OBS setzt entsprechende Preiseinträge intern auf den Status &amp;quot;löschen&amp;quot; und entfernt die jeweilige Preisstaffel aus dem Shop, sollte sie zuvor mit einem regulären Preis angelegt worden sein.}}&lt;br /&gt;
==Priorität und Bestprice-Findung==&lt;br /&gt;
Im Unterschied zum VShop gibt es im brShop24 eine Bestprice-Findung wie im OBS (siehe [[OBS/Preislisten/FAQ_Preislisten#preisfindung|FAQ Preislisten &amp;quot;Wie funktioniert die Preisfindung?&amp;quot;]]). Daher findet das Preislistenfeld &#039;&#039;Prio Shop&#039;&#039; in dieser Schnittstelle keine Anwendung. Die Preislisten erhalten im Shop also die gleiche Priorität, wie sie zum Zeitpunkt des Exports im OBS in &#039;&#039;Prio Preisfind.&#039;&#039; eingestellt ist und somit auch in der WaWi Anwendung finden würde.&lt;br /&gt;
{{Hinweis|Möglichweise muss die Bestprice-Findung im Shop aktiviert werden.}}&lt;br /&gt;
&lt;br /&gt;
=Häufig gestellt Fragen (FAQ)=&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|brshop24_faq_preis_1&lt;br /&gt;
|Warum fehlt Preisliste X im Shop?&lt;br /&gt;
|Es gibt ein paar Punkte, die es zu Prüfen gilt, wenn eine Preisliste in den Shop übertragen werden soll. Abhängig ist die Übertragung von folgenden Punkten:&lt;br /&gt;
#Preisliste ist aktiv und gültig (Datum beachten)&lt;br /&gt;
#Preisliste ist für den Shop freigegeben (Gültigkeit enthält &amp;quot;Shop&amp;quot; und Häkchen in Zuordnung ist für die Schnittstelle gesetzt)&lt;br /&gt;
#Preisliste ist mindestens einem Kunden im Shop zugeordnet&lt;br /&gt;
#Preisliste hat mindestens einen Artikel, der im Shop enthalten ist (siehe auch [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner#Depots.2FLager_in_Schnittstelle_brShop24|Depots brShop24]])&lt;br /&gt;
Siehe auch [[Kostenpflichtige_Module/Internet-Shop/brShop24/Preise_übertragen#Wie_der_Export_funktioniert|Wie der Export funktioniert]].&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|brshop24_faq_preis_2&lt;br /&gt;
|Warum wird eine Preisliste nicht in den Shop übertragen?&lt;br /&gt;
|Bitte beachten Sie hier die [[Kostenpflichtige_Module/Internet-Shop/brShop24/Preise_übertragen#Voraussetzungen|Voraussetzungen]] für die Übertragung von Preislisten. Der Knackpunkt bei der Übertragung von Preislisten ist der Abgleich der Artikel. Um den Datenverkehr möglichst gering zu halten, versucht OBS nur die benötigten Daten zu übertragen. Das bedeutet, dass Artikelpreise für Artikel  nicht übertragen werden, sollte der Artikel gar nicht im Shop vorkommen. Ein Abgleich aller Artikel mit dem Shop würde jedoch zu viel Zeit in Anspruch nehmen. Daher gleicht OBS die Daten über die in der Schnittstelle gepflegten [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner#Depots.2FLager_in_Schnittstelle_brShop24|Depots]] ab. Stellen Sie also sicher, dass die Depots entsprechend gepflegt sind.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|brshop24_faq_preis_3&lt;br /&gt;
|Ist es möglich die Artikelpreise automatisiert zu pflegen?&lt;br /&gt;
|Ja, dies ist möglich. Weitere Informationen finden Sie im Artikel zu den [[OBS/Internet-Shop/Einrichtung/Automatiken#Preise_aktualisieren|Shop-Automatiken]].&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|brshop24_faq_preis_4&lt;br /&gt;
|Warum hat der Shop zwei Preiseinträge für einen Artikel?&lt;br /&gt;
|Der Shop unterscheidet bei den Preisen auch nach der Einheit. Der Preisexport übergibt keine Einheit. Für den Preis übernimmt die API die Standard-Einheit des Artikels im Shop. Sollten Sie zwei Einträge zu einer bestimmten Menge bei einem Artikel mit unterschiedlicher Einheit vorfinden, so bekommen Sie dies über OBS nur bereinigt, indem Sie die Preisliste aus dem Shop nehmen und anschließend wieder anlegen.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Eine Preisliste können Sie aus dem Shop nehmen, indem Sie über das Shop-Menü in die Preislistenverwaltung für den Shop gehen. Suchen Sie die Preisliste und drücken Sie auf dem Datensatz {{Entf}}. Dies nimmt die Shop-Zuordnung aus der Preisliste. Danach exportieren Sie die einzelne Preisliste per {{F6}}. Anschließend drücken Sie {{Einfg}}, um die Shop-Zuordnung wieder zu setzen und exportieren erneut die Preisliste. Der erste Export löscht die Preisliste im Shop und der zweite Export legt die Daten neu an.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|brshop24_faq_preis_5&lt;br /&gt;
|Warum wird der Preis eines Artikels nicht in den Shop übertragen?&lt;br /&gt;
|Vorraussetzungen, damit Artikelpreise übertragen werden:&lt;br /&gt;
#Preisliste muss die Voraussetzungen für den Export erfüllen&lt;br /&gt;
#Der Preis selbst muss größer als 0 sein&lt;br /&gt;
#Der Artikel muss über ein [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner|Lager (Shop-Depot)]] mit der Schnittstelle verknüpft sein&lt;br /&gt;
#Artikel darf vom Shop nicht als fehlend gemeldet worden sein (betrifft Artikel, die durch Büroring gepflegt werden)&lt;br /&gt;
#Eigene Artikel müssen im OBS und für die Schnittstelle aktiv sein&lt;br /&gt;
Für eigene Artikel liegt die Pflege des Artikels im Shop bei Ihnen. Das Büroring-Sortiment wird von Büroring im Shop gepflegt. Die Pflege von Preisen für Büroringartikel ist somit abhängig von zwei Faktoren: Zeitpunkte der Pflege/Anlage im Shop und der Zeitpunkt im OBS. Hierzu gab es bereits diverse Meldungen, dass Artikelpreise nicht übertragen wurden, obwohl der Artikel im Shop vorkommt. Da OBS die zu übertragenen Artikel bei [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner#Zuordnung_von_Artikeln|entsprechender Einstellung]] über die EK-Informationen des Artikelstamms ermittelt und dann Preise für die &amp;quot;verfügbaren&amp;quot; Artikel übermittelt, muss der Shop zu dem Zeitpunkt den jeweiligen Artikel auch im jeweiligen Lager wiederfinden können. Ist dies nicht der Fall, meldet der Shop den entsprechenden Artikel als &amp;quot;fehlend&amp;quot; und OBS merkt sich diese Rückmeldung. &amp;quot;Fehlende&amp;quot; Artikel werden bei weiteren Exporten ignoriert. Es kann also vorkommen, dass ein Artikel aus OBS im Shop einen Preis bekommen sollte, den der Shop zu dem Zeitpunkt nicht in seinem Sortiment wiedergefunden hat. Sollten Sie zu diesen Artikeln den Preis vermissen, so prüfen Sie bitte die [[#Liste_Artikel_zu_Preisliste|Preisdaten]] zu zur Preisliste (siehe oben Verwaltung Shop-Preislisten {{Key|F7 Artikel}}) oder die [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner#Zuordnung_von_Artikeln|Artikelliste]] des jeweiligen Lagers. &amp;quot;Fehlende&amp;quot; Artikel werden hier rot dargestellt. Sie können außerdem per Sortierung sich nur die fehlenden Artikel anzeigen lassen. Ist der Artikel hier als &amp;quot;fehlend&amp;quot; markiert, so führen Sie auf dem Artikel stehend mit {{Key|F6 Check}} eine erneute Prüfung aus. Wird der Artikel gefunden, erhalten Sie eine entsprechende Rückmeldung und der Status wird geändert.&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Nimz</name></author>
	</entry>
	<entry>
		<id>https://wiki.bergau.de/index.php?title=Kostenpflichtige_Module/Internet-Shop/brShop24/Preise_%C3%BCbertragen&amp;diff=64569</id>
		<title>Kostenpflichtige Module/Internet-Shop/brShop24/Preise übertragen</title>
		<link rel="alternate" type="text/html" href="https://wiki.bergau.de/index.php?title=Kostenpflichtige_Module/Internet-Shop/brShop24/Preise_%C3%BCbertragen&amp;diff=64569"/>
		<updated>2026-07-27T09:25:57Z</updated>

		<summary type="html">&lt;p&gt;Nimz: /* Analyse-Modus (Preislisten) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Vorlage:Kostenpflichtige Module}}&lt;br /&gt;
{{Achtung|Für die Preisübertragung wird das kostenpflichtige Modul [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] vorausgesetzt!}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Achtung|Es kann vorkommen, dass im Shop mehere Preiseinträge zu einer bestimmten Menge eines Artikels auftauchen. Siehe dazu FAQ [[#brshop24_faq_preis_4|Warum hat der Shop zwei Preiseinträge für einen Artikel?]].}}&lt;br /&gt;
=Voraussetzungen=&lt;br /&gt;
#[[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner#Depots.2FLager_in_Schnittstelle_brShop24|Depots]] sind eingerichtet (über Schnittstellenkonfiguration {{F8}})&lt;br /&gt;
#Preissystem im OBS ist auf das kostenpflichtige Modul [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] umgestellt&lt;br /&gt;
#Preisliste(n) ist/sind zum Zeitpunkt des Exports gültig.&amp;lt;br /&amp;gt;Eingabemaske [[OBS/Kostenpflichtige_Module/Preislisten|Preislistenverwaltung]]: &lt;br /&gt;
##Preisliste ist aktiv (Checkbox)&lt;br /&gt;
##aktuelles Datum ist innerhalb des Gültigkeitszeitraums (Datum von/bis)&lt;br /&gt;
##Gültigkeit enthält &amp;quot;Shop&amp;quot; (Default: &amp;quot;Shop &amp;amp; Kasse &amp;amp; WaWi&amp;quot;)&lt;br /&gt;
#Preisliste ist für Schnittstelle freigegeben (Häkchen gesetzt unter [[OBS/Kostenpflichtige_Module/Preislisten|Preislistenverwaltung]] &amp;amp;rarr; {{F10}} &amp;amp;rarr; S3)&lt;br /&gt;
#Kunden im Shop vorhanden&lt;br /&gt;
#Preisliste ist für mindestens einen der Kunden gültig (über Kundennummer in brShop24-Kundengruppe oder brShop24-Benutzer). Siehe dazu auch [[OBS/Preislisten/FAQ_Preislisten|FAQ Preislisten]] &amp;quot;Welche Möglichkeiten der Zuordnung gibt es?&amp;quot;.&lt;br /&gt;
#[[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] enthalten mindestens einen Artikel aus dem Shop&lt;br /&gt;
&lt;br /&gt;
=Shop-Menü: Preislisten verwalten=&lt;br /&gt;
==Preislisten verwalten==&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;ul&amp;gt; &lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:BrShop24_ShpPl.jpg|thumb|none|600px|Preislisten einer Schnittstelle]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
Die Liste zeigt Ihnen alle [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]], die bei &#039;&#039;&#039;bisherigen&#039;&#039;&#039; Exporten für die Schnittstelle übernommen wurden und welchen Status diese bei der letzten Übertragung bekommen haben. Aktive [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] werden dabei in schwarz angezeigt. Rote Einträge sind gelöschte [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]]. Außerdem wird wie in der [[OBS/Stammdaten/Artikel:_H2_-_Bildverwaltung|Bildverwaltung]] und [[OBS/Stammdaten/Artikel:_H3_-_Shoppflege/A_Texte|externen Artikeltexten]] in Fett die Zuordnung zur Schnittstelle hervorgehoben, indem die Zeile in Fett dargestellt wird.&lt;br /&gt;
{{Hinweis|&#039;&#039;&#039;&amp;quot;Bisherige Exporte&amp;quot;&#039;&#039;&#039; meint alle zuvor ausgeführten Übertragungen von [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] über diese Shop-Schnittstelle. Diese Liste ist als eine Art Historie zu sehen. Sie zeigt nur das Ergebnis der bisherigen Übertragung. Je nach Anpassungen in der [[OBS/Kostenpflichtige_Module/Preislisten|Preislistenverwaltung]] (Artikel oder Freigaben) oder Zuordnung zu Kunden kann das Ergebnis nach der nächsten Übertragung anders aussehen. Auch tauchen neue [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] erst in dieser Liste auf, sobald diese einmal über einen Preislistenexport übertragen wurde.}}&lt;br /&gt;
===Tasten und Schaltflächen (Preisliste)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Taste!! width=&amp;quot;800px&amp;quot;|Erklärung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F5 Mark}}|| Markiert einen Datensatz&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F6 Export}}|| Exportiert eine oder alle Preislisten (Auswahl).{{Hinweis|Die initiale Einzelübertragung neuer Preislisten muss über die [[OBS/Kostenpflichtige_Module/Preislisten|Preislistenverwaltung]] erfolgen.}}&amp;lt;br /&amp;gt;Auswahl&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
*A Alle&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; vollständige Aktualisierung aller Preislisten im Shop. Dies bezieht auch Preislisten ein, die in der Preislistenverwaltung neu erstellt wurden!&lt;br /&gt;
*B akt. Preisliste&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; Überträgt die aktuell gewählte Preisliste neu. Abhängig von den Einstellungen oder Daten wird hier die Preisliste aktualisiert oder &#039;&#039;gelöscht&#039;&#039;(!).&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F7 Artikel}}|| Zeigt eine [[#Liste_Artikel_zu_Preisliste|Liste]] der zur Preisliste selektierten Artikel u. a. mit Lager, Shop-Artikelnummer, Staffelmenge und Preis.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F9 PLV}}|| Öffnet die [[OBS/Kostenpflichtige_Module/Preislisten#Liste|Preislistenverwaltung]]&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F10 Weit.}}|| Zugriff auf [[#Weitere_Funktionen_(Preisliste_F10)|weitere Funktionen]] der Liste&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|Einfg Einf.}}|| Setzt Zuordnung zur aktuellen Schnittstelle für markierte oder aktuelle Preisliste(n).&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|Entf Lösch.}}|| Entfernt Zuordnung zur aktuellen Schnittstelle für markierte oder aktuelle Preisliste(n).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Weitere Funktionen (Preisliste F10)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Menüpunkt!! width=&amp;quot;800px&amp;quot;|Erklärung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| A1{{nb_space}}Analyse{{nb_hyphen}}Modus{{nb_space}}(shopbezogen)|| Schaltet den [[#Analyse-Modus|Analyse-Modus]] an bzw. aus. Es werden nur die in die in der Schnittstelle vorhandenen Preislisten analysiert.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| A2{{nb_space}}Analyse{{nb_hyphen}}Modus{{nb_space}}(alle)|| Schaltet den [[#Analyse-Modus|Analyse-Modus]] an bzw. aus. Es werden alle OBS-Preislisten analysiert.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| L1{{nb_space}}Preisliste{{nb_space}}leeren|| Leert im Shop die Preisliste. Das bedeutet, dass alle Preiseinträge der Preisliste gelöscht werden. Die Preisliste sollte direkt danach neu exportiert werden.{{Achtung|Dies löscht nicht die Preisliste! Die Preisliste hat im Shop lediglich keine Preiseinträge mehr. Ist ein löschen der Preisliste gewünscht, dann sollte die Shop-Zuordnung entfernt oder die Preisliste anderweitig deaktiviert und anschließend exportiert werden.}}&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| P{{nb_space}}Job{{nb_hyphen}}Protokolle{{nb_space}}zu{{nb_space}}Preisliste|| Öffnet ie [[Kostenpflichtige_Module/Internet-Shop/brShop24/Jobinformationen#Liste_Jobs|Protokollliste]] gefiltert nach Job für die Preisliste.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Z1{{nb_space}}Preislistenzuordnung{{nb_space}}neu{{nb_space}}übertragen{{nb_space}}(Person)|| Übertragen der Preislistenzuordnung einer Person{{Hinweis|Nur verfügbar über die Webshop-Einstellungen von Personen!}}&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Z2{{nb_space}}Preislistenzuordnung{{nb_space}}neu{{nb_space}}übertragen{{nb_space}}(Preisliste)|| Übertragen der Preislistenzuordnung der genannten Preisliste&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Z3{{nb_space}}Preislistenzuordnung{{nb_space}}neu{{nb_space}}übertragen{{nb_space}}(Alle)|| Übertragen der Preislistenzuordnung aller Preisliste&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Analyse-Modus (Preislisten)===&lt;br /&gt;
{{Hinweis|Abhängig von der Anzahl der Preislisten kann die Analyse einen Moment dauern, da dies für jede Preisliste ausgeführt wird!}}&lt;br /&gt;
Der Analyse-Modus zeigt Ihnen in einer eigenen Spalte &#039;&#039;Probleme&#039;&#039; Ursachen an, warum eine Preisliste nicht exportiert wird. Dies kann aktuell umfassen:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Problem!! width=&amp;quot;800px&amp;quot;|Erklärung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Nicht{{nb_space}}aktiv|| Die Preisliste ist nicht aktiviert (Häkchen in Maske).&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Außerhalb{{nb_space}}Gültigkeitszeitraum|| Das aktuelle Datum liegt außerhalb des in der Preisliste definierten Gültigkeitszeitraum (Datum von/bis).&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Typ{{nb_space}}enthält{{nb_space}}nicht{{nb_space}}Shop|| Die Preisliste ist auf WaWi und/oder Kasse beschränkt (Auswahlfeld in Preislistenmaske).&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Nicht{{nb_space}}der{{nb_space}}Schnittstelle{{nb_space}}zugeordnet|| Die Zuordnung zur Schnittstelle fehlt. Dies kann einfach mit {{Key|Einfg Einf.}} geändert werden.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Keine{{nb_space}}Personenzuordnung|| Es wurden keine Personen(nummern) zur Zuordnung gefunden. Je nach Zuordnung im OBS muss eine der Personennummern im Shop in mindestens einem Benutzer oder einer Kundengruppe vorkommen.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Keine{{nb_space}}Preise{{nb_space}}hinterlegt|| Die Preisliste verfügt über keine gültigen Preiseeinträge für den Export. Sollte Preiseinträge in der Preisliste vorhanden sein, können Sie dies mit dem Analyse-Modus der [[#Liste_Artikel_zu_Preisliste|Artikel-Liste]] ({{Key|F7 Artikel}}) prüfen.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Liste Artikel zu Preisliste==&lt;br /&gt;
{{Achtung|Verfügbar ab Version 004840!}}&lt;br /&gt;
Zeigt die historischen Preisdaten zur Preisliste, welche über die Schnittstelle verarbeitet wurden.&lt;br /&gt;
{{Hinweis|Die Selektion der Preisdaten passiert mit dem Export einer Preisliste. Diese Liste zeigt den Datenstand der letzten Selektion. Die hier angezeigten Preisdaten können daher von den aktuellen Preisen der Preisliste abweichen.}}&lt;br /&gt;
===Spalten===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Bezeichnung!! width=&amp;quot;800px&amp;quot;|Erläuterung&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| OBS-Art-Nr.|| Zeigt die OBS-Artikelnummer aus Ihrem [[OBS/Stammdaten/Artikel|Artikelstamm]] an&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Shop-Art.-Nr.|| Zeigt die Artikelnummer im Shop an unter der dieser Preisdatensatz gepflegt wird.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Lager|| Name des [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner|Shop-Lagers]]&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Bezeichnung|| Artikelbezeichnung; Zeigt Name 1 aus dem Artikel. Bei eigenen Artikeln wird - sofern gesetzt - die alternative Bezeichnung aus den [[OBS/Stammdaten/Artikel/Registerkarte:_Shop/Einstellungsliste/Artikelauswahl|Artikel-Shop-Einstellungen]] angezeigt.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Menge|| (Staffel-)Menge des Preisdatensatzes&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| VK Netto|| Netto-Preis des Preisdatensatzes&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Preisstatus|| Je nach status bei der letzten Selektion wird Ihnen hier &#039;&#039;Pflegen&#039;&#039; oder &#039;&#039;Löschen&#039;&#039; angezeigt.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Aktualisiert|| Zeigt das Datum an dem OBS zuletzt den Preis per API in den Shop übertragen hat.{{Hinweis|Wird bei Datensätzen, deren letzte Änderung per API länger zurück liegt, nicht angezeigt, da diese Information im Datensatz selbst erst Version 004721 (November 2024) gespeichert wird.}}&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Gelöscht|| Zeigt das Datum an dem OBS zuletzt den Preis per API aus dem Shop gelöscht hat.{{Hinweis|Wird bei Datensätzen, deren letzte Änderung per API länger zurück liegt, nicht angezeigt, da diese Information im Datensatz selbst erst Version 004721 (November 2024) gespeichert wird.}}&lt;br /&gt;
|}&lt;br /&gt;
===Hervorhebungen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Stil!! width=&amp;quot;800px&amp;quot;|Bedeutung&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Kursiv|| Preis hat den Status &amp;quot;Löschen&amp;quot;.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Textfarbe Rot|| Artikel ist als &amp;quot;fehlend&amp;quot; markiert. Dies kann z. B. passieren, wenn Artikel im OBS bereits vorhanden sind, aber im Shop zum Zeitpunkt der Preispflege nicht gefunden/identifiziert werden können. OBS ignoriert &amp;quot;fehlende&amp;quot; Artikel im weiteren Verlauf. Sollte der Artikel im Shop vorhanden sein, können Sie mit {{Key|F6 Check}} eine neue Abfrage starten, um den Status zu ändern.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Textfarbe Grau|| Artikel ist inaktiv (Artikelstamm Häkchen &amp;quot;inaktiv&amp;quot;).&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Textfarbe Grün|| Eigener Artikel ist aktiv.&lt;br /&gt;
|}&lt;br /&gt;
===Tasten und Schaltflächen (Artikel)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Taste!! width=&amp;quot;800px&amp;quot;|Erklärung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F4 Sort}}|| Sortierung wechseln. Sortierungen mit dem Zusatz &amp;quot;(nicht gefunden)&amp;quot; zeigen nur die Einträge an, zu denen der Shop bei der letzten Übertragung den Artikel als &amp;quot;nicht gefunden&amp;quot; gemeldet hat.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F6 Check}}|| Prüft für den aktuellen Datensatz, ob der zugehörige Artikel im Shop gefunden werden kann. Je nach Pflege Zeitpunkt kann es z.{{nb_space}}B. bei neuen Artikeln passieren, dass OBS einen Preis überträgt, der Artikel aber noch nicht im Shop angelegt wurde. Da OBS dann den Artikel für die weitere Pflege deaktiviert, muss der Artikel auf diese Weise erst wieder freigegeben werden.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Preisdaten exportieren=&lt;br /&gt;
Sie können Preise auf verschiedenen Wegen exportieren. Es werden dabei immer nur die Veränderungen zum letzten Export übertragen.&amp;lt;br /&amp;gt;&lt;br /&gt;
Gestartet werden kann der Export auf folgenden Wegen:&lt;br /&gt;
*Shop-Menü &amp;quot;B Preislisten verwalten&amp;quot;&lt;br /&gt;
:Per {{F6}} starten Sie hier den Export für alle Preislisten&lt;br /&gt;
*Preislistenverwaltung&lt;br /&gt;
:{{F10}} + S1{{Hinweis|Der Punkt ist erst sichtbar, wenn die Preisliste mindestens einer Shop-Schnittstelle zugeordnet ist.}}&lt;br /&gt;
*Personenstamm Webshop-Einstellungen&lt;br /&gt;
:{{F8}} für die Übertragung der personenbezogenen Preise. Dieser Punkt öffnet die Shop-Preislisten-Verwaltung mit einem Filter, so dass nur die Preislisten des Kunden angezeigt werden. Auch beim Export werden nur die Preislisten des Kunden übertragen.&lt;br /&gt;
{{Hinweis|OBS überträgt die Preise pro Liste &amp;quot;gesammelt&amp;quot; in einem &amp;quot;batch&amp;quot;-Modus. Das heißt es werden mehrere hundert Einträge auf einmal übertragen und vom Shop-Server auf eine Todo-Liste gesetzt. Diese Liste arbeitet der Server relativ zeitnah ab. Es kann daher dazu kommen, dass die Preise nach der Übertragung erst mit einer kurzen Verzögerung im Shop angezeigt werden. Die Verzögerung sollte jedoch nur wenige Minuten betragen.}}&lt;br /&gt;
&lt;br /&gt;
=Wie der Export funktioniert=&lt;br /&gt;
Für den Export selbst sind die im Shop vorhandenen Personen interessant. Preislisten im OBS, die nur Kunden zugeordnet sind, die gar nicht im Shop vorkommen, werden nicht exportiert.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Stellen Sie daher für den Export einer Preisliste folgendes sicher:&#039;&#039;&#039;&lt;br /&gt;
*mindestens ein Kunde, dem die Preisliste im OBS zugeordnet ist, ist im Shop vorhanden.&lt;br /&gt;
*die Preisliste ist aktiv und gültig:&lt;br /&gt;
**Häkchen in &amp;quot;Preisliste aktiv&amp;quot; ist gesetzt.&lt;br /&gt;
**Das aktuelles Datum liegt innerhalb des angegebenen Zeitraums (Datum von/bis) der Preisliste.&lt;br /&gt;
**Das Feld &amp;quot;Gültigkeit&amp;quot; enthält den Wert &#039;&#039;Shop&#039;&#039;.&lt;br /&gt;
**Preisliste ist für die Schnittstelle freigegeben (Preislistenverwaltung {{F10}} + S3)&lt;br /&gt;
*Die Preisliste enthält mindestens einen Artikel, der im Shop gepflegt ist. (siehe auch [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner#Depots.2FLager_in_Schnittstelle_brShop24|Depots brShop24]])&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Neben den genannten Voraussetzungen gibt es noch zwei Einstellungen, die auf die Übertragung einzelner Preise Auswirkungen haben:&lt;br /&gt;
*[[Kostenpflichtige_Module/Internet-Shop/brShop24/Konfiguration#Übersicht_aller_Einstellungen_für_brShop24|Konfiguration]] Export.Preise.Preis.VK.Check&lt;br /&gt;
:Wenn aktiviert, dann werden die VK-Preise mit den aktuellen EK-Preisen, abhängig der Preislisteneinstellung (aus Preisliste oder EK1 aus Artikelstamm) verglichen und der Preis nur exportiert, wenn VK &amp;gt; EK ist.&lt;br /&gt;
*[[OBS/Kostenpflichtige_Module/Preislisten|Preisliste]] Preisgarantie&lt;br /&gt;
:Preislisten mit gesetztem Häkchen in &#039;&#039;Preisgarantie&#039;&#039; werden in der Preisprüfung übersprungen.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
OBS ermittelt lokal die Änderungen zur letzten Übertragung. Dies passiert abhängig von den Übertragungsparameter für alle Preislisten, alle Preislisten einer Person(-ennummer) oder einer einzelnen Preisliste.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Preise werden nicht direkt in den Shop geschrieben. Der Shop erhält eine Liste der Preisdaten und legt diese in eine Aufgabenliste, welche dann automatisch abgearbeitet wird.&lt;br /&gt;
{{Achtung|Je nach Auslastung des Shop-Systems kann es also einige Minuten dauern, bis die Preise vollständig übernommen wurden.}}&lt;br /&gt;
{{Hinweis|Laut Informationen von Büroring werden 0-Preise in der API verworfen. OBS setzt entsprechende Preiseinträge intern auf den Status &amp;quot;löschen&amp;quot; und entfernt die jeweilige Preisstaffel aus dem Shop, sollte sie zuvor mit einem regulären Preis angelegt worden sein.}}&lt;br /&gt;
==Priorität und Bestprice-Findung==&lt;br /&gt;
Im Unterschied zum VShop gibt es im brShop24 eine Bestprice-Findung wie im OBS (siehe [[OBS/Preislisten/FAQ_Preislisten#preisfindung|FAQ Preislisten &amp;quot;Wie funktioniert die Preisfindung?&amp;quot;]]). Daher findet das Preislistenfeld &#039;&#039;Prio Shop&#039;&#039; in dieser Schnittstelle keine Anwendung. Die Preislisten erhalten im Shop also die gleiche Priorität, wie sie zum Zeitpunkt des Exports im OBS in &#039;&#039;Prio Preisfind.&#039;&#039; eingestellt ist und somit auch in der WaWi Anwendung finden würde.&lt;br /&gt;
{{Hinweis|Möglichweise muss die Bestprice-Findung im Shop aktiviert werden.}}&lt;br /&gt;
&lt;br /&gt;
=Häufig gestellt Fragen (FAQ)=&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|brshop24_faq_preis_1&lt;br /&gt;
|Warum fehlt Preisliste X im Shop?&lt;br /&gt;
|Es gibt ein paar Punkte, die es zu Prüfen gilt, wenn eine Preisliste in den Shop übertragen werden soll. Abhängig ist die Übertragung von folgenden Punkten:&lt;br /&gt;
#Preisliste ist aktiv und gültig (Datum beachten)&lt;br /&gt;
#Preisliste ist für den Shop freigegeben (Gültigkeit enthält &amp;quot;Shop&amp;quot; und Häkchen in Zuordnung ist für die Schnittstelle gesetzt)&lt;br /&gt;
#Preisliste ist mindestens einem Kunden im Shop zugeordnet&lt;br /&gt;
#Preisliste hat mindestens einen Artikel, der im Shop enthalten ist (siehe auch [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner#Depots.2FLager_in_Schnittstelle_brShop24|Depots brShop24]])&lt;br /&gt;
Siehe auch [[Kostenpflichtige_Module/Internet-Shop/brShop24/Preise_übertragen#Wie_der_Export_funktioniert|Wie der Export funktioniert]].&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|brshop24_faq_preis_2&lt;br /&gt;
|Warum wird eine Preisliste nicht in den Shop übertragen?&lt;br /&gt;
|Bitte beachten Sie hier die [[Kostenpflichtige_Module/Internet-Shop/brShop24/Preise_übertragen#Voraussetzungen|Voraussetzungen]] für die Übertragung von Preislisten. Der Knackpunkt bei der Übertragung von Preislisten ist der Abgleich der Artikel. Um den Datenverkehr möglichst gering zu halten, versucht OBS nur die benötigten Daten zu übertragen. Das bedeutet, dass Artikelpreise für Artikel  nicht übertragen werden, sollte der Artikel gar nicht im Shop vorkommen. Ein Abgleich aller Artikel mit dem Shop würde jedoch zu viel Zeit in Anspruch nehmen. Daher gleicht OBS die Daten über die in der Schnittstelle gepflegten [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner#Depots.2FLager_in_Schnittstelle_brShop24|Depots]] ab. Stellen Sie also sicher, dass die Depots entsprechend gepflegt sind.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|brshop24_faq_preis_3&lt;br /&gt;
|Ist es möglich die Artikelpreise automatisiert zu pflegen?&lt;br /&gt;
|Ja, dies ist möglich. Weitere Informationen finden Sie im Artikel zu den [[OBS/Internet-Shop/Einrichtung/Automatiken#Preise_aktualisieren|Shop-Automatiken]].&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|brshop24_faq_preis_4&lt;br /&gt;
|Warum hat der Shop zwei Preiseinträge für einen Artikel?&lt;br /&gt;
|Der Shop unterscheidet bei den Preisen auch nach der Einheit. Der Preisexport übergibt keine Einheit. Für den Preis übernimmt die API die Standard-Einheit des Artikels im Shop. Sollten Sie zwei Einträge zu einer bestimmten Menge bei einem Artikel mit unterschiedlicher Einheit vorfinden, so bekommen Sie dies über OBS nur bereinigt, indem Sie die Preisliste aus dem Shop nehmen und anschließend wieder anlegen.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Eine Preisliste können Sie aus dem Shop nehmen, indem Sie über das Shop-Menü in die Preislistenverwaltung für den Shop gehen. Suchen Sie die Preisliste und drücken Sie auf dem Datensatz {{Entf}}. Dies nimmt die Shop-Zuordnung aus der Preisliste. Danach exportieren Sie die einzelne Preisliste per {{F6}}. Anschließend drücken Sie {{Einfg}}, um die Shop-Zuordnung wieder zu setzen und exportieren erneut die Preisliste. Der erste Export löscht die Preisliste im Shop und der zweite Export legt die Daten neu an.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|brshop24_faq_preis_5&lt;br /&gt;
|Warum wird der Preis eines Artikels nicht in den Shop übertragen?&lt;br /&gt;
|Vorraussetzungen, damit Artikelpreise übertragen werden:&lt;br /&gt;
#Preisliste muss die Voraussetzungen für den Export erfüllen&lt;br /&gt;
#Der Preis selbst muss größer als 0 sein&lt;br /&gt;
#Der Artikel muss über ein [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner|Lager (Shop-Depot)]] mit der Schnittstelle verknüpft sein&lt;br /&gt;
#Artikel darf vom Shop nicht als fehlend gemeldet worden sein (betrifft Artikel, die durch Büroring gepflegt werden)&lt;br /&gt;
#Eigene Artikel müssen im OBS und für die Schnittstelle aktiv sein&lt;br /&gt;
Für eigene Artikel liegt die Pflege des Artikels im Shop bei Ihnen. Das Büroring-Sortiment wird von Büroring im Shop gepflegt. Die Pflege von Preisen für Büroringartikel ist somit abhängig von zwei Faktoren: Zeitpunkte der Pflege/Anlage im Shop und der Zeitpunkt im OBS. Hierzu gab es bereits diverse Meldungen, dass Artikelpreise nicht übertragen wurden, obwohl der Artikel im Shop vorkommt. Da OBS die zu übertragenen Artikel bei [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner#Zuordnung_von_Artikeln|entsprechender Einstellung]] über die EK-Informationen des Artikelstamms ermittelt und dann Preise für die &amp;quot;verfügbaren&amp;quot; Artikel übermittelt, muss der Shop zu dem Zeitpunkt den jeweiligen Artikel auch im jeweiligen Lager wiederfinden können. Ist dies nicht der Fall, meldet der Shop den entsprechenden Artikel als &amp;quot;fehlend&amp;quot; und OBS merkt sich diese Rückmeldung. &amp;quot;Fehlende&amp;quot; Artikel werden bei weiteren Exporten ignoriert. Es kann also vorkommen, dass ein Artikel aus OBS im Shop einen Preis bekommen sollte, den der Shop zu dem Zeitpunkt nicht in seinem Sortiment wiedergefunden hat. Sollten Sie zu diesen Artikeln den Preis vermissen, so prüfen Sie bitte die [[#Liste_Artikel_zu_Preisliste|Preisdaten]] zu zur Preisliste (siehe oben Verwaltung Shop-Preislisten {{Key|F7 Artikel}}) oder die [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner#Zuordnung_von_Artikeln|Artikelliste]] des jeweiligen Lagers. &amp;quot;Fehlende&amp;quot; Artikel werden hier rot dargestellt. Sie können außerdem per Sortierung sich nur die fehlenden Artikel anzeigen lassen. Ist der Artikel hier als &amp;quot;fehlend&amp;quot; markiert, so führen Sie auf dem Artikel stehend mit {{Key|F6 Check}} eine erneute Prüfung aus. Wird der Artikel gefunden, erhalten Sie eine entsprechende Rückmeldung und der Status wird geändert.&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Nimz</name></author>
	</entry>
	<entry>
		<id>https://wiki.bergau.de/index.php?title=Kostenpflichtige_Module/Internet-Shop/brShop24/Preise_%C3%BCbertragen&amp;diff=64568</id>
		<title>Kostenpflichtige Module/Internet-Shop/brShop24/Preise übertragen</title>
		<link rel="alternate" type="text/html" href="https://wiki.bergau.de/index.php?title=Kostenpflichtige_Module/Internet-Shop/brShop24/Preise_%C3%BCbertragen&amp;diff=64568"/>
		<updated>2026-07-27T09:25:22Z</updated>

		<summary type="html">&lt;p&gt;Nimz: /* Preislisten verwalten */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Vorlage:Kostenpflichtige Module}}&lt;br /&gt;
{{Achtung|Für die Preisübertragung wird das kostenpflichtige Modul [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] vorausgesetzt!}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Achtung|Es kann vorkommen, dass im Shop mehere Preiseinträge zu einer bestimmten Menge eines Artikels auftauchen. Siehe dazu FAQ [[#brshop24_faq_preis_4|Warum hat der Shop zwei Preiseinträge für einen Artikel?]].}}&lt;br /&gt;
=Voraussetzungen=&lt;br /&gt;
#[[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner#Depots.2FLager_in_Schnittstelle_brShop24|Depots]] sind eingerichtet (über Schnittstellenkonfiguration {{F8}})&lt;br /&gt;
#Preissystem im OBS ist auf das kostenpflichtige Modul [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] umgestellt&lt;br /&gt;
#Preisliste(n) ist/sind zum Zeitpunkt des Exports gültig.&amp;lt;br /&amp;gt;Eingabemaske [[OBS/Kostenpflichtige_Module/Preislisten|Preislistenverwaltung]]: &lt;br /&gt;
##Preisliste ist aktiv (Checkbox)&lt;br /&gt;
##aktuelles Datum ist innerhalb des Gültigkeitszeitraums (Datum von/bis)&lt;br /&gt;
##Gültigkeit enthält &amp;quot;Shop&amp;quot; (Default: &amp;quot;Shop &amp;amp; Kasse &amp;amp; WaWi&amp;quot;)&lt;br /&gt;
#Preisliste ist für Schnittstelle freigegeben (Häkchen gesetzt unter [[OBS/Kostenpflichtige_Module/Preislisten|Preislistenverwaltung]] &amp;amp;rarr; {{F10}} &amp;amp;rarr; S3)&lt;br /&gt;
#Kunden im Shop vorhanden&lt;br /&gt;
#Preisliste ist für mindestens einen der Kunden gültig (über Kundennummer in brShop24-Kundengruppe oder brShop24-Benutzer). Siehe dazu auch [[OBS/Preislisten/FAQ_Preislisten|FAQ Preislisten]] &amp;quot;Welche Möglichkeiten der Zuordnung gibt es?&amp;quot;.&lt;br /&gt;
#[[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] enthalten mindestens einen Artikel aus dem Shop&lt;br /&gt;
&lt;br /&gt;
=Shop-Menü: Preislisten verwalten=&lt;br /&gt;
==Preislisten verwalten==&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;ul&amp;gt; &lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:BrShop24_ShpPl.jpg|thumb|none|600px|Preislisten einer Schnittstelle]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
Die Liste zeigt Ihnen alle [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]], die bei &#039;&#039;&#039;bisherigen&#039;&#039;&#039; Exporten für die Schnittstelle übernommen wurden und welchen Status diese bei der letzten Übertragung bekommen haben. Aktive [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] werden dabei in schwarz angezeigt. Rote Einträge sind gelöschte [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]]. Außerdem wird wie in der [[OBS/Stammdaten/Artikel:_H2_-_Bildverwaltung|Bildverwaltung]] und [[OBS/Stammdaten/Artikel:_H3_-_Shoppflege/A_Texte|externen Artikeltexten]] in Fett die Zuordnung zur Schnittstelle hervorgehoben, indem die Zeile in Fett dargestellt wird.&lt;br /&gt;
{{Hinweis|&#039;&#039;&#039;&amp;quot;Bisherige Exporte&amp;quot;&#039;&#039;&#039; meint alle zuvor ausgeführten Übertragungen von [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] über diese Shop-Schnittstelle. Diese Liste ist als eine Art Historie zu sehen. Sie zeigt nur das Ergebnis der bisherigen Übertragung. Je nach Anpassungen in der [[OBS/Kostenpflichtige_Module/Preislisten|Preislistenverwaltung]] (Artikel oder Freigaben) oder Zuordnung zu Kunden kann das Ergebnis nach der nächsten Übertragung anders aussehen. Auch tauchen neue [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] erst in dieser Liste auf, sobald diese einmal über einen Preislistenexport übertragen wurde.}}&lt;br /&gt;
===Tasten und Schaltflächen (Preisliste)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Taste!! width=&amp;quot;800px&amp;quot;|Erklärung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F5 Mark}}|| Markiert einen Datensatz&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F6 Export}}|| Exportiert eine oder alle Preislisten (Auswahl).{{Hinweis|Die initiale Einzelübertragung neuer Preislisten muss über die [[OBS/Kostenpflichtige_Module/Preislisten|Preislistenverwaltung]] erfolgen.}}&amp;lt;br /&amp;gt;Auswahl&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
*A Alle&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; vollständige Aktualisierung aller Preislisten im Shop. Dies bezieht auch Preislisten ein, die in der Preislistenverwaltung neu erstellt wurden!&lt;br /&gt;
*B akt. Preisliste&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; Überträgt die aktuell gewählte Preisliste neu. Abhängig von den Einstellungen oder Daten wird hier die Preisliste aktualisiert oder &#039;&#039;gelöscht&#039;&#039;(!).&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F7 Artikel}}|| Zeigt eine [[#Liste_Artikel_zu_Preisliste|Liste]] der zur Preisliste selektierten Artikel u. a. mit Lager, Shop-Artikelnummer, Staffelmenge und Preis.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F9 PLV}}|| Öffnet die [[OBS/Kostenpflichtige_Module/Preislisten#Liste|Preislistenverwaltung]]&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F10 Weit.}}|| Zugriff auf [[#Weitere_Funktionen_(Preisliste_F10)|weitere Funktionen]] der Liste&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|Einfg Einf.}}|| Setzt Zuordnung zur aktuellen Schnittstelle für markierte oder aktuelle Preisliste(n).&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|Entf Lösch.}}|| Entfernt Zuordnung zur aktuellen Schnittstelle für markierte oder aktuelle Preisliste(n).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Weitere Funktionen (Preisliste F10)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Menüpunkt!! width=&amp;quot;800px&amp;quot;|Erklärung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| A1{{nb_space}}Analyse{{nb_hyphen}}Modus{{nb_space}}(shopbezogen)|| Schaltet den [[#Analyse-Modus|Analyse-Modus]] an bzw. aus. Es werden nur die in die in der Schnittstelle vorhandenen Preislisten analysiert.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| A2{{nb_space}}Analyse{{nb_hyphen}}Modus{{nb_space}}(alle)|| Schaltet den [[#Analyse-Modus|Analyse-Modus]] an bzw. aus. Es werden alle OBS-Preislisten analysiert.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| L1{{nb_space}}Preisliste{{nb_space}}leeren|| Leert im Shop die Preisliste. Das bedeutet, dass alle Preiseinträge der Preisliste gelöscht werden. Die Preisliste sollte direkt danach neu exportiert werden.{{Achtung|Dies löscht nicht die Preisliste! Die Preisliste hat im Shop lediglich keine Preiseinträge mehr. Ist ein löschen der Preisliste gewünscht, dann sollte die Shop-Zuordnung entfernt oder die Preisliste anderweitig deaktiviert und anschließend exportiert werden.}}&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| P{{nb_space}}Job{{nb_hyphen}}Protokolle{{nb_space}}zu{{nb_space}}Preisliste|| Öffnet ie [[Kostenpflichtige_Module/Internet-Shop/brShop24/Jobinformationen#Liste_Jobs|Protokollliste]] gefiltert nach Job für die Preisliste.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Z1{{nb_space}}Preislistenzuordnung{{nb_space}}neu{{nb_space}}übertragen{{nb_space}}(Person)|| Übertragen der Preislistenzuordnung einer Person{{Hinweis|Nur verfügbar über die Webshop-Einstellungen von Personen!}}&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Z2{{nb_space}}Preislistenzuordnung{{nb_space}}neu{{nb_space}}übertragen{{nb_space}}(Preisliste)|| Übertragen der Preislistenzuordnung der genannten Preisliste&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Z3{{nb_space}}Preislistenzuordnung{{nb_space}}neu{{nb_space}}übertragen{{nb_space}}(Alle)|| Übertragen der Preislistenzuordnung aller Preisliste&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Analyse-Modus (Preislisten)===&lt;br /&gt;
Der Analyse-Modus zeigt Ihnen in einer eigenen Spalte &#039;&#039;Probleme&#039;&#039; Ursachen an, warum eine Preisliste nicht exportiert wird. Dies kann aktuell umfassen:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Problem!! width=&amp;quot;800px&amp;quot;|Erklärung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Nicht{{nb_space}}aktiv|| Die Preisliste ist nicht aktiviert (Häkchen in Maske).&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Außerhalb{{nb_space}}Gültigkeitszeitraum|| Das aktuelle Datum liegt außerhalb des in der Preisliste definierten Gültigkeitszeitraum (Datum von/bis).&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Typ{{nb_space}}enthält{{nb_space}}nicht{{nb_space}}Shop|| Die Preisliste ist auf WaWi und/oder Kasse beschränkt (Auswahlfeld in Preislistenmaske).&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Nicht{{nb_space}}der{{nb_space}}Schnittstelle{{nb_space}}zugeordnet|| Die Zuordnung zur Schnittstelle fehlt. Dies kann einfach mit {{Key|Einfg Einf.}} geändert werden.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Keine{{nb_space}}Personenzuordnung|| Es wurden keine Personen(nummern) zur Zuordnung gefunden. Je nach Zuordnung im OBS muss eine der Personennummern im Shop in mindestens einem Benutzer oder einer Kundengruppe vorkommen.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Keine{{nb_space}}Preise{{nb_space}}hinterlegt|| Die Preisliste verfügt über keine gültigen Preiseeinträge für den Export. Sollte Preiseinträge in der Preisliste vorhanden sein, können Sie dies mit dem Analyse-Modus der [[#Liste_Artikel_zu_Preisliste|Artikel-Liste]] ({{Key|F7 Artikel}}) prüfen.&lt;br /&gt;
|}&lt;br /&gt;
{{Hinweis|Abhängig von der Anzahl der Preislisten kann die Analyse einen Moment dauern, da dies für jede Preisliste ausgeführt wird!}}&lt;br /&gt;
&lt;br /&gt;
==Liste Artikel zu Preisliste==&lt;br /&gt;
{{Achtung|Verfügbar ab Version 004840!}}&lt;br /&gt;
Zeigt die historischen Preisdaten zur Preisliste, welche über die Schnittstelle verarbeitet wurden.&lt;br /&gt;
{{Hinweis|Die Selektion der Preisdaten passiert mit dem Export einer Preisliste. Diese Liste zeigt den Datenstand der letzten Selektion. Die hier angezeigten Preisdaten können daher von den aktuellen Preisen der Preisliste abweichen.}}&lt;br /&gt;
===Spalten===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Bezeichnung!! width=&amp;quot;800px&amp;quot;|Erläuterung&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| OBS-Art-Nr.|| Zeigt die OBS-Artikelnummer aus Ihrem [[OBS/Stammdaten/Artikel|Artikelstamm]] an&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Shop-Art.-Nr.|| Zeigt die Artikelnummer im Shop an unter der dieser Preisdatensatz gepflegt wird.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Lager|| Name des [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner|Shop-Lagers]]&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Bezeichnung|| Artikelbezeichnung; Zeigt Name 1 aus dem Artikel. Bei eigenen Artikeln wird - sofern gesetzt - die alternative Bezeichnung aus den [[OBS/Stammdaten/Artikel/Registerkarte:_Shop/Einstellungsliste/Artikelauswahl|Artikel-Shop-Einstellungen]] angezeigt.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Menge|| (Staffel-)Menge des Preisdatensatzes&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| VK Netto|| Netto-Preis des Preisdatensatzes&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Preisstatus|| Je nach status bei der letzten Selektion wird Ihnen hier &#039;&#039;Pflegen&#039;&#039; oder &#039;&#039;Löschen&#039;&#039; angezeigt.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Aktualisiert|| Zeigt das Datum an dem OBS zuletzt den Preis per API in den Shop übertragen hat.{{Hinweis|Wird bei Datensätzen, deren letzte Änderung per API länger zurück liegt, nicht angezeigt, da diese Information im Datensatz selbst erst Version 004721 (November 2024) gespeichert wird.}}&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Gelöscht|| Zeigt das Datum an dem OBS zuletzt den Preis per API aus dem Shop gelöscht hat.{{Hinweis|Wird bei Datensätzen, deren letzte Änderung per API länger zurück liegt, nicht angezeigt, da diese Information im Datensatz selbst erst Version 004721 (November 2024) gespeichert wird.}}&lt;br /&gt;
|}&lt;br /&gt;
===Hervorhebungen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Stil!! width=&amp;quot;800px&amp;quot;|Bedeutung&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Kursiv|| Preis hat den Status &amp;quot;Löschen&amp;quot;.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Textfarbe Rot|| Artikel ist als &amp;quot;fehlend&amp;quot; markiert. Dies kann z. B. passieren, wenn Artikel im OBS bereits vorhanden sind, aber im Shop zum Zeitpunkt der Preispflege nicht gefunden/identifiziert werden können. OBS ignoriert &amp;quot;fehlende&amp;quot; Artikel im weiteren Verlauf. Sollte der Artikel im Shop vorhanden sein, können Sie mit {{Key|F6 Check}} eine neue Abfrage starten, um den Status zu ändern.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Textfarbe Grau|| Artikel ist inaktiv (Artikelstamm Häkchen &amp;quot;inaktiv&amp;quot;).&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Textfarbe Grün|| Eigener Artikel ist aktiv.&lt;br /&gt;
|}&lt;br /&gt;
===Tasten und Schaltflächen (Artikel)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Taste!! width=&amp;quot;800px&amp;quot;|Erklärung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F4 Sort}}|| Sortierung wechseln. Sortierungen mit dem Zusatz &amp;quot;(nicht gefunden)&amp;quot; zeigen nur die Einträge an, zu denen der Shop bei der letzten Übertragung den Artikel als &amp;quot;nicht gefunden&amp;quot; gemeldet hat.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F6 Check}}|| Prüft für den aktuellen Datensatz, ob der zugehörige Artikel im Shop gefunden werden kann. Je nach Pflege Zeitpunkt kann es z.{{nb_space}}B. bei neuen Artikeln passieren, dass OBS einen Preis überträgt, der Artikel aber noch nicht im Shop angelegt wurde. Da OBS dann den Artikel für die weitere Pflege deaktiviert, muss der Artikel auf diese Weise erst wieder freigegeben werden.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Preisdaten exportieren=&lt;br /&gt;
Sie können Preise auf verschiedenen Wegen exportieren. Es werden dabei immer nur die Veränderungen zum letzten Export übertragen.&amp;lt;br /&amp;gt;&lt;br /&gt;
Gestartet werden kann der Export auf folgenden Wegen:&lt;br /&gt;
*Shop-Menü &amp;quot;B Preislisten verwalten&amp;quot;&lt;br /&gt;
:Per {{F6}} starten Sie hier den Export für alle Preislisten&lt;br /&gt;
*Preislistenverwaltung&lt;br /&gt;
:{{F10}} + S1{{Hinweis|Der Punkt ist erst sichtbar, wenn die Preisliste mindestens einer Shop-Schnittstelle zugeordnet ist.}}&lt;br /&gt;
*Personenstamm Webshop-Einstellungen&lt;br /&gt;
:{{F8}} für die Übertragung der personenbezogenen Preise. Dieser Punkt öffnet die Shop-Preislisten-Verwaltung mit einem Filter, so dass nur die Preislisten des Kunden angezeigt werden. Auch beim Export werden nur die Preislisten des Kunden übertragen.&lt;br /&gt;
{{Hinweis|OBS überträgt die Preise pro Liste &amp;quot;gesammelt&amp;quot; in einem &amp;quot;batch&amp;quot;-Modus. Das heißt es werden mehrere hundert Einträge auf einmal übertragen und vom Shop-Server auf eine Todo-Liste gesetzt. Diese Liste arbeitet der Server relativ zeitnah ab. Es kann daher dazu kommen, dass die Preise nach der Übertragung erst mit einer kurzen Verzögerung im Shop angezeigt werden. Die Verzögerung sollte jedoch nur wenige Minuten betragen.}}&lt;br /&gt;
&lt;br /&gt;
=Wie der Export funktioniert=&lt;br /&gt;
Für den Export selbst sind die im Shop vorhandenen Personen interessant. Preislisten im OBS, die nur Kunden zugeordnet sind, die gar nicht im Shop vorkommen, werden nicht exportiert.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Stellen Sie daher für den Export einer Preisliste folgendes sicher:&#039;&#039;&#039;&lt;br /&gt;
*mindestens ein Kunde, dem die Preisliste im OBS zugeordnet ist, ist im Shop vorhanden.&lt;br /&gt;
*die Preisliste ist aktiv und gültig:&lt;br /&gt;
**Häkchen in &amp;quot;Preisliste aktiv&amp;quot; ist gesetzt.&lt;br /&gt;
**Das aktuelles Datum liegt innerhalb des angegebenen Zeitraums (Datum von/bis) der Preisliste.&lt;br /&gt;
**Das Feld &amp;quot;Gültigkeit&amp;quot; enthält den Wert &#039;&#039;Shop&#039;&#039;.&lt;br /&gt;
**Preisliste ist für die Schnittstelle freigegeben (Preislistenverwaltung {{F10}} + S3)&lt;br /&gt;
*Die Preisliste enthält mindestens einen Artikel, der im Shop gepflegt ist. (siehe auch [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner#Depots.2FLager_in_Schnittstelle_brShop24|Depots brShop24]])&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Neben den genannten Voraussetzungen gibt es noch zwei Einstellungen, die auf die Übertragung einzelner Preise Auswirkungen haben:&lt;br /&gt;
*[[Kostenpflichtige_Module/Internet-Shop/brShop24/Konfiguration#Übersicht_aller_Einstellungen_für_brShop24|Konfiguration]] Export.Preise.Preis.VK.Check&lt;br /&gt;
:Wenn aktiviert, dann werden die VK-Preise mit den aktuellen EK-Preisen, abhängig der Preislisteneinstellung (aus Preisliste oder EK1 aus Artikelstamm) verglichen und der Preis nur exportiert, wenn VK &amp;gt; EK ist.&lt;br /&gt;
*[[OBS/Kostenpflichtige_Module/Preislisten|Preisliste]] Preisgarantie&lt;br /&gt;
:Preislisten mit gesetztem Häkchen in &#039;&#039;Preisgarantie&#039;&#039; werden in der Preisprüfung übersprungen.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
OBS ermittelt lokal die Änderungen zur letzten Übertragung. Dies passiert abhängig von den Übertragungsparameter für alle Preislisten, alle Preislisten einer Person(-ennummer) oder einer einzelnen Preisliste.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Preise werden nicht direkt in den Shop geschrieben. Der Shop erhält eine Liste der Preisdaten und legt diese in eine Aufgabenliste, welche dann automatisch abgearbeitet wird.&lt;br /&gt;
{{Achtung|Je nach Auslastung des Shop-Systems kann es also einige Minuten dauern, bis die Preise vollständig übernommen wurden.}}&lt;br /&gt;
{{Hinweis|Laut Informationen von Büroring werden 0-Preise in der API verworfen. OBS setzt entsprechende Preiseinträge intern auf den Status &amp;quot;löschen&amp;quot; und entfernt die jeweilige Preisstaffel aus dem Shop, sollte sie zuvor mit einem regulären Preis angelegt worden sein.}}&lt;br /&gt;
==Priorität und Bestprice-Findung==&lt;br /&gt;
Im Unterschied zum VShop gibt es im brShop24 eine Bestprice-Findung wie im OBS (siehe [[OBS/Preislisten/FAQ_Preislisten#preisfindung|FAQ Preislisten &amp;quot;Wie funktioniert die Preisfindung?&amp;quot;]]). Daher findet das Preislistenfeld &#039;&#039;Prio Shop&#039;&#039; in dieser Schnittstelle keine Anwendung. Die Preislisten erhalten im Shop also die gleiche Priorität, wie sie zum Zeitpunkt des Exports im OBS in &#039;&#039;Prio Preisfind.&#039;&#039; eingestellt ist und somit auch in der WaWi Anwendung finden würde.&lt;br /&gt;
{{Hinweis|Möglichweise muss die Bestprice-Findung im Shop aktiviert werden.}}&lt;br /&gt;
&lt;br /&gt;
=Häufig gestellt Fragen (FAQ)=&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|brshop24_faq_preis_1&lt;br /&gt;
|Warum fehlt Preisliste X im Shop?&lt;br /&gt;
|Es gibt ein paar Punkte, die es zu Prüfen gilt, wenn eine Preisliste in den Shop übertragen werden soll. Abhängig ist die Übertragung von folgenden Punkten:&lt;br /&gt;
#Preisliste ist aktiv und gültig (Datum beachten)&lt;br /&gt;
#Preisliste ist für den Shop freigegeben (Gültigkeit enthält &amp;quot;Shop&amp;quot; und Häkchen in Zuordnung ist für die Schnittstelle gesetzt)&lt;br /&gt;
#Preisliste ist mindestens einem Kunden im Shop zugeordnet&lt;br /&gt;
#Preisliste hat mindestens einen Artikel, der im Shop enthalten ist (siehe auch [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner#Depots.2FLager_in_Schnittstelle_brShop24|Depots brShop24]])&lt;br /&gt;
Siehe auch [[Kostenpflichtige_Module/Internet-Shop/brShop24/Preise_übertragen#Wie_der_Export_funktioniert|Wie der Export funktioniert]].&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|brshop24_faq_preis_2&lt;br /&gt;
|Warum wird eine Preisliste nicht in den Shop übertragen?&lt;br /&gt;
|Bitte beachten Sie hier die [[Kostenpflichtige_Module/Internet-Shop/brShop24/Preise_übertragen#Voraussetzungen|Voraussetzungen]] für die Übertragung von Preislisten. Der Knackpunkt bei der Übertragung von Preislisten ist der Abgleich der Artikel. Um den Datenverkehr möglichst gering zu halten, versucht OBS nur die benötigten Daten zu übertragen. Das bedeutet, dass Artikelpreise für Artikel  nicht übertragen werden, sollte der Artikel gar nicht im Shop vorkommen. Ein Abgleich aller Artikel mit dem Shop würde jedoch zu viel Zeit in Anspruch nehmen. Daher gleicht OBS die Daten über die in der Schnittstelle gepflegten [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner#Depots.2FLager_in_Schnittstelle_brShop24|Depots]] ab. Stellen Sie also sicher, dass die Depots entsprechend gepflegt sind.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|brshop24_faq_preis_3&lt;br /&gt;
|Ist es möglich die Artikelpreise automatisiert zu pflegen?&lt;br /&gt;
|Ja, dies ist möglich. Weitere Informationen finden Sie im Artikel zu den [[OBS/Internet-Shop/Einrichtung/Automatiken#Preise_aktualisieren|Shop-Automatiken]].&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|brshop24_faq_preis_4&lt;br /&gt;
|Warum hat der Shop zwei Preiseinträge für einen Artikel?&lt;br /&gt;
|Der Shop unterscheidet bei den Preisen auch nach der Einheit. Der Preisexport übergibt keine Einheit. Für den Preis übernimmt die API die Standard-Einheit des Artikels im Shop. Sollten Sie zwei Einträge zu einer bestimmten Menge bei einem Artikel mit unterschiedlicher Einheit vorfinden, so bekommen Sie dies über OBS nur bereinigt, indem Sie die Preisliste aus dem Shop nehmen und anschließend wieder anlegen.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Eine Preisliste können Sie aus dem Shop nehmen, indem Sie über das Shop-Menü in die Preislistenverwaltung für den Shop gehen. Suchen Sie die Preisliste und drücken Sie auf dem Datensatz {{Entf}}. Dies nimmt die Shop-Zuordnung aus der Preisliste. Danach exportieren Sie die einzelne Preisliste per {{F6}}. Anschließend drücken Sie {{Einfg}}, um die Shop-Zuordnung wieder zu setzen und exportieren erneut die Preisliste. Der erste Export löscht die Preisliste im Shop und der zweite Export legt die Daten neu an.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|brshop24_faq_preis_5&lt;br /&gt;
|Warum wird der Preis eines Artikels nicht in den Shop übertragen?&lt;br /&gt;
|Vorraussetzungen, damit Artikelpreise übertragen werden:&lt;br /&gt;
#Preisliste muss die Voraussetzungen für den Export erfüllen&lt;br /&gt;
#Der Preis selbst muss größer als 0 sein&lt;br /&gt;
#Der Artikel muss über ein [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner|Lager (Shop-Depot)]] mit der Schnittstelle verknüpft sein&lt;br /&gt;
#Artikel darf vom Shop nicht als fehlend gemeldet worden sein (betrifft Artikel, die durch Büroring gepflegt werden)&lt;br /&gt;
#Eigene Artikel müssen im OBS und für die Schnittstelle aktiv sein&lt;br /&gt;
Für eigene Artikel liegt die Pflege des Artikels im Shop bei Ihnen. Das Büroring-Sortiment wird von Büroring im Shop gepflegt. Die Pflege von Preisen für Büroringartikel ist somit abhängig von zwei Faktoren: Zeitpunkte der Pflege/Anlage im Shop und der Zeitpunkt im OBS. Hierzu gab es bereits diverse Meldungen, dass Artikelpreise nicht übertragen wurden, obwohl der Artikel im Shop vorkommt. Da OBS die zu übertragenen Artikel bei [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner#Zuordnung_von_Artikeln|entsprechender Einstellung]] über die EK-Informationen des Artikelstamms ermittelt und dann Preise für die &amp;quot;verfügbaren&amp;quot; Artikel übermittelt, muss der Shop zu dem Zeitpunkt den jeweiligen Artikel auch im jeweiligen Lager wiederfinden können. Ist dies nicht der Fall, meldet der Shop den entsprechenden Artikel als &amp;quot;fehlend&amp;quot; und OBS merkt sich diese Rückmeldung. &amp;quot;Fehlende&amp;quot; Artikel werden bei weiteren Exporten ignoriert. Es kann also vorkommen, dass ein Artikel aus OBS im Shop einen Preis bekommen sollte, den der Shop zu dem Zeitpunkt nicht in seinem Sortiment wiedergefunden hat. Sollten Sie zu diesen Artikeln den Preis vermissen, so prüfen Sie bitte die [[#Liste_Artikel_zu_Preisliste|Preisdaten]] zu zur Preisliste (siehe oben Verwaltung Shop-Preislisten {{Key|F7 Artikel}}) oder die [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner#Zuordnung_von_Artikeln|Artikelliste]] des jeweiligen Lagers. &amp;quot;Fehlende&amp;quot; Artikel werden hier rot dargestellt. Sie können außerdem per Sortierung sich nur die fehlenden Artikel anzeigen lassen. Ist der Artikel hier als &amp;quot;fehlend&amp;quot; markiert, so führen Sie auf dem Artikel stehend mit {{Key|F6 Check}} eine erneute Prüfung aus. Wird der Artikel gefunden, erhalten Sie eine entsprechende Rückmeldung und der Status wird geändert.&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Nimz</name></author>
	</entry>
	<entry>
		<id>https://wiki.bergau.de/index.php?title=Kostenpflichtige_Module/Internet-Shop/brShop24/Preise_%C3%BCbertragen&amp;diff=64567</id>
		<title>Kostenpflichtige Module/Internet-Shop/brShop24/Preise übertragen</title>
		<link rel="alternate" type="text/html" href="https://wiki.bergau.de/index.php?title=Kostenpflichtige_Module/Internet-Shop/brShop24/Preise_%C3%BCbertragen&amp;diff=64567"/>
		<updated>2026-07-27T09:08:41Z</updated>

		<summary type="html">&lt;p&gt;Nimz: /* Tasten und Schaltflächen (Preisliste) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Vorlage:Kostenpflichtige Module}}&lt;br /&gt;
{{Achtung|Für die Preisübertragung wird das kostenpflichtige Modul [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] vorausgesetzt!}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Achtung|Es kann vorkommen, dass im Shop mehere Preiseinträge zu einer bestimmten Menge eines Artikels auftauchen. Siehe dazu FAQ [[#brshop24_faq_preis_4|Warum hat der Shop zwei Preiseinträge für einen Artikel?]].}}&lt;br /&gt;
=Voraussetzungen=&lt;br /&gt;
#[[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner#Depots.2FLager_in_Schnittstelle_brShop24|Depots]] sind eingerichtet (über Schnittstellenkonfiguration {{F8}})&lt;br /&gt;
#Preissystem im OBS ist auf das kostenpflichtige Modul [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] umgestellt&lt;br /&gt;
#Preisliste(n) ist/sind zum Zeitpunkt des Exports gültig.&amp;lt;br /&amp;gt;Eingabemaske [[OBS/Kostenpflichtige_Module/Preislisten|Preislistenverwaltung]]: &lt;br /&gt;
##Preisliste ist aktiv (Checkbox)&lt;br /&gt;
##aktuelles Datum ist innerhalb des Gültigkeitszeitraums (Datum von/bis)&lt;br /&gt;
##Gültigkeit enthält &amp;quot;Shop&amp;quot; (Default: &amp;quot;Shop &amp;amp; Kasse &amp;amp; WaWi&amp;quot;)&lt;br /&gt;
#Preisliste ist für Schnittstelle freigegeben (Häkchen gesetzt unter [[OBS/Kostenpflichtige_Module/Preislisten|Preislistenverwaltung]] &amp;amp;rarr; {{F10}} &amp;amp;rarr; S3)&lt;br /&gt;
#Kunden im Shop vorhanden&lt;br /&gt;
#Preisliste ist für mindestens einen der Kunden gültig (über Kundennummer in brShop24-Kundengruppe oder brShop24-Benutzer). Siehe dazu auch [[OBS/Preislisten/FAQ_Preislisten|FAQ Preislisten]] &amp;quot;Welche Möglichkeiten der Zuordnung gibt es?&amp;quot;.&lt;br /&gt;
#[[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] enthalten mindestens einen Artikel aus dem Shop&lt;br /&gt;
&lt;br /&gt;
=Shop-Menü: Preislisten verwalten=&lt;br /&gt;
==Preislisten verwalten==&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;ul&amp;gt; &lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:BrShop24_ShpPl.jpg|thumb|none|600px|Preislisten einer Schnittstelle]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
Die Liste zeigt Ihnen alle [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]], die bei &#039;&#039;&#039;bisherigen&#039;&#039;&#039; Exporten für die Schnittstelle übernommen wurden und welchen Status diese bei der letzten Übertragung bekommen haben. Aktive [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] werden dabei in schwarz angezeigt. Rote Einträge sind gelöschte [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]]. Außerdem wird wie in der [[OBS/Stammdaten/Artikel:_H2_-_Bildverwaltung|Bildverwaltung]] und [[OBS/Stammdaten/Artikel:_H3_-_Shoppflege/A_Texte|externen Artikeltexten]] in Fett die Zuordnung zur Schnittstelle hervorgehoben, indem die Zeile in Fett dargestellt wird.&lt;br /&gt;
{{Hinweis|&#039;&#039;&#039;&amp;quot;Bisherige Exporte&amp;quot;&#039;&#039;&#039; meint alle zuvor ausgeführten Übertragungen von [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] über diese Shop-Schnittstelle. Diese Liste ist als eine Art Historie zu sehen. Sie zeigt nur das Ergebnis der bisherigen Übertragung. Je nach Anpassungen in der [[OBS/Kostenpflichtige_Module/Preislisten|Preislistenverwaltung]] (Artikel oder Freigaben) oder Zuordnung zu Kunden kann das Ergebnis nach der nächsten Übertragung anders aussehen. Auch tauchen neue [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] erst in dieser Liste auf, sobald diese einmal über einen Preislistenexport übertragen wurde.}}&lt;br /&gt;
===Tasten und Schaltflächen (Preisliste)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Taste!! width=&amp;quot;800px&amp;quot;|Erklärung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F5 Mark}}|| Markiert einen Datensatz&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F6 Export}}|| Exportiert eine oder alle Preislisten (Auswahl).{{Hinweis|Die initiale Einzelübertragung neuer Preislisten muss über die [[OBS/Kostenpflichtige_Module/Preislisten|Preislistenverwaltung]] erfolgen.}}&amp;lt;br /&amp;gt;Auswahl&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
*A Alle&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; vollständige Aktualisierung aller Preislisten im Shop. Dies bezieht auch Preislisten ein, die in der Preislistenverwaltung neu erstellt wurden!&lt;br /&gt;
*B akt. Preisliste&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; Überträgt die aktuell gewählte Preisliste neu. Abhängig von den Einstellungen oder Daten wird hier die Preisliste aktualisiert oder &#039;&#039;gelöscht&#039;&#039;(!).&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F7 Artikel}}|| Zeigt eine [[#Liste_Artikel_zu_Preisliste|Liste]] der zur Preisliste selektierten Artikel u. a. mit Lager, Shop-Artikelnummer, Staffelmenge und Preis.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F9 PLV}}|| Öffnet die [[OBS/Kostenpflichtige_Module/Preislisten#Liste|Preislistenverwaltung]]&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F10 Weit.}}|| Zugriff auf [[#Weitere_Funktionen_(Preisliste_F10)|weitere Funktionen]] der Liste&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|Einfg Einf.}}|| Setzt Zuordnung zur aktuellen Schnittstelle für markierte oder aktuelle Preisliste(n).&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|Entf Lösch.}}|| Entfernt Zuordnung zur aktuellen Schnittstelle für markierte oder aktuelle Preisliste(n).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Weitere Funktionen (Preisliste F10)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Menüpunkt!! width=&amp;quot;800px&amp;quot;|Erklärung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| A1{{nb_space}}Analyse{{nb_hyphen}}Modus{{nb_space}}(shopbezogen)|| Schaltet den [[#Analyse-Modus|Analyse-Modus]] an bzw. aus. Es werden nur die in die in der Schnittstelle vorhandenen Preislisten analysiert.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| A2{{nb_space}}Analyse{{nb_hyphen}}Modus{{nb_space}}(alle)|| Schaltet den [[#Analyse-Modus|Analyse-Modus]] an bzw. aus. Es werden alle OBS-Preislisten analysiert.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| L1{{nb_space}}Preisliste{{nb_space}}leeren|| Leert im Shop die Preisliste. Das bedeutet, dass alle Preiseinträge der Preisliste gelöscht werden. Die Preisliste sollte direkt danach neu exportiert werden.{{Achtung|Dies löscht nicht die Preisliste! Die Preisliste hat im Shop lediglich keine Preiseinträge mehr. Ist ein löschen der Preisliste gewünscht, dann sollte die Shop-Zuordnung entfernt oder die Preisliste anderweitig deaktiviert und anschließend exportiert werden.}}&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| P{{nb_space}}Job{{nb_hyphen}}Protokolle{{nb_space}}zu{{nb_space}}Preisliste|| Öffnet ie [[Kostenpflichtige_Module/Internet-Shop/brShop24/Jobinformationen#Liste_Jobs|Protokollliste]] gefiltert nach Job für die Preisliste.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Z1{{nb_space}}Preislistenzuordnung{{nb_space}}neu{{nb_space}}übertragen{{nb_space}}(Person)|| Übertragen der Preislistenzuordnung einer Person{{Hinweis|Nur verfügbar über die Webshop-Einstellungen von Personen!}}&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Z2{{nb_space}}Preislistenzuordnung{{nb_space}}neu{{nb_space}}übertragen{{nb_space}}(Preisliste)|| Übertragen der Preislistenzuordnung der genannten Preisliste&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Z3{{nb_space}}Preislistenzuordnung{{nb_space}}neu{{nb_space}}übertragen{{nb_space}}(Alle)|| Übertragen der Preislistenzuordnung aller Preisliste&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Liste Artikel zu Preisliste==&lt;br /&gt;
{{Achtung|Verfügbar ab Version 004840!}}&lt;br /&gt;
Zeigt die historischen Preisdaten zur Preisliste, welche über die Schnittstelle verarbeitet wurden.&lt;br /&gt;
{{Hinweis|Die Selektion der Preisdaten passiert mit dem Export einer Preisliste. Diese Liste zeigt den Datenstand der letzten Selektion. Die hier angezeigten Preisdaten können daher von den aktuellen Preisen der Preisliste abweichen.}}&lt;br /&gt;
===Spalten===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Bezeichnung!! width=&amp;quot;800px&amp;quot;|Erläuterung&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| OBS-Art-Nr.|| Zeigt die OBS-Artikelnummer aus Ihrem [[OBS/Stammdaten/Artikel|Artikelstamm]] an&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Shop-Art.-Nr.|| Zeigt die Artikelnummer im Shop an unter der dieser Preisdatensatz gepflegt wird.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Lager|| Name des [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner|Shop-Lagers]]&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Bezeichnung|| Artikelbezeichnung; Zeigt Name 1 aus dem Artikel. Bei eigenen Artikeln wird - sofern gesetzt - die alternative Bezeichnung aus den [[OBS/Stammdaten/Artikel/Registerkarte:_Shop/Einstellungsliste/Artikelauswahl|Artikel-Shop-Einstellungen]] angezeigt.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Menge|| (Staffel-)Menge des Preisdatensatzes&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| VK Netto|| Netto-Preis des Preisdatensatzes&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Preisstatus|| Je nach status bei der letzten Selektion wird Ihnen hier &#039;&#039;Pflegen&#039;&#039; oder &#039;&#039;Löschen&#039;&#039; angezeigt.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Aktualisiert|| Zeigt das Datum an dem OBS zuletzt den Preis per API in den Shop übertragen hat.{{Hinweis|Wird bei Datensätzen, deren letzte Änderung per API länger zurück liegt, nicht angezeigt, da diese Information im Datensatz selbst erst Version 004721 (November 2024) gespeichert wird.}}&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Gelöscht|| Zeigt das Datum an dem OBS zuletzt den Preis per API aus dem Shop gelöscht hat.{{Hinweis|Wird bei Datensätzen, deren letzte Änderung per API länger zurück liegt, nicht angezeigt, da diese Information im Datensatz selbst erst Version 004721 (November 2024) gespeichert wird.}}&lt;br /&gt;
|}&lt;br /&gt;
===Hervorhebungen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Stil!! width=&amp;quot;800px&amp;quot;|Bedeutung&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Kursiv|| Preis hat den Status &amp;quot;Löschen&amp;quot;.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Textfarbe Rot|| Artikel ist als &amp;quot;fehlend&amp;quot; markiert. Dies kann z. B. passieren, wenn Artikel im OBS bereits vorhanden sind, aber im Shop zum Zeitpunkt der Preispflege nicht gefunden/identifiziert werden können. OBS ignoriert &amp;quot;fehlende&amp;quot; Artikel im weiteren Verlauf. Sollte der Artikel im Shop vorhanden sein, können Sie mit {{Key|F6 Check}} eine neue Abfrage starten, um den Status zu ändern.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Textfarbe Grau|| Artikel ist inaktiv (Artikelstamm Häkchen &amp;quot;inaktiv&amp;quot;).&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Textfarbe Grün|| Eigener Artikel ist aktiv.&lt;br /&gt;
|}&lt;br /&gt;
===Tasten und Schaltflächen (Artikel)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Taste!! width=&amp;quot;800px&amp;quot;|Erklärung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F4 Sort}}|| Sortierung wechseln. Sortierungen mit dem Zusatz &amp;quot;(nicht gefunden)&amp;quot; zeigen nur die Einträge an, zu denen der Shop bei der letzten Übertragung den Artikel als &amp;quot;nicht gefunden&amp;quot; gemeldet hat.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F6 Check}}|| Prüft für den aktuellen Datensatz, ob der zugehörige Artikel im Shop gefunden werden kann. Je nach Pflege Zeitpunkt kann es z.{{nb_space}}B. bei neuen Artikeln passieren, dass OBS einen Preis überträgt, der Artikel aber noch nicht im Shop angelegt wurde. Da OBS dann den Artikel für die weitere Pflege deaktiviert, muss der Artikel auf diese Weise erst wieder freigegeben werden.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Preisdaten exportieren=&lt;br /&gt;
Sie können Preise auf verschiedenen Wegen exportieren. Es werden dabei immer nur die Veränderungen zum letzten Export übertragen.&amp;lt;br /&amp;gt;&lt;br /&gt;
Gestartet werden kann der Export auf folgenden Wegen:&lt;br /&gt;
*Shop-Menü &amp;quot;B Preislisten verwalten&amp;quot;&lt;br /&gt;
:Per {{F6}} starten Sie hier den Export für alle Preislisten&lt;br /&gt;
*Preislistenverwaltung&lt;br /&gt;
:{{F10}} + S1{{Hinweis|Der Punkt ist erst sichtbar, wenn die Preisliste mindestens einer Shop-Schnittstelle zugeordnet ist.}}&lt;br /&gt;
*Personenstamm Webshop-Einstellungen&lt;br /&gt;
:{{F8}} für die Übertragung der personenbezogenen Preise. Dieser Punkt öffnet die Shop-Preislisten-Verwaltung mit einem Filter, so dass nur die Preislisten des Kunden angezeigt werden. Auch beim Export werden nur die Preislisten des Kunden übertragen.&lt;br /&gt;
{{Hinweis|OBS überträgt die Preise pro Liste &amp;quot;gesammelt&amp;quot; in einem &amp;quot;batch&amp;quot;-Modus. Das heißt es werden mehrere hundert Einträge auf einmal übertragen und vom Shop-Server auf eine Todo-Liste gesetzt. Diese Liste arbeitet der Server relativ zeitnah ab. Es kann daher dazu kommen, dass die Preise nach der Übertragung erst mit einer kurzen Verzögerung im Shop angezeigt werden. Die Verzögerung sollte jedoch nur wenige Minuten betragen.}}&lt;br /&gt;
&lt;br /&gt;
=Wie der Export funktioniert=&lt;br /&gt;
Für den Export selbst sind die im Shop vorhandenen Personen interessant. Preislisten im OBS, die nur Kunden zugeordnet sind, die gar nicht im Shop vorkommen, werden nicht exportiert.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Stellen Sie daher für den Export einer Preisliste folgendes sicher:&#039;&#039;&#039;&lt;br /&gt;
*mindestens ein Kunde, dem die Preisliste im OBS zugeordnet ist, ist im Shop vorhanden.&lt;br /&gt;
*die Preisliste ist aktiv und gültig:&lt;br /&gt;
**Häkchen in &amp;quot;Preisliste aktiv&amp;quot; ist gesetzt.&lt;br /&gt;
**Das aktuelles Datum liegt innerhalb des angegebenen Zeitraums (Datum von/bis) der Preisliste.&lt;br /&gt;
**Das Feld &amp;quot;Gültigkeit&amp;quot; enthält den Wert &#039;&#039;Shop&#039;&#039;.&lt;br /&gt;
**Preisliste ist für die Schnittstelle freigegeben (Preislistenverwaltung {{F10}} + S3)&lt;br /&gt;
*Die Preisliste enthält mindestens einen Artikel, der im Shop gepflegt ist. (siehe auch [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner#Depots.2FLager_in_Schnittstelle_brShop24|Depots brShop24]])&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Neben den genannten Voraussetzungen gibt es noch zwei Einstellungen, die auf die Übertragung einzelner Preise Auswirkungen haben:&lt;br /&gt;
*[[Kostenpflichtige_Module/Internet-Shop/brShop24/Konfiguration#Übersicht_aller_Einstellungen_für_brShop24|Konfiguration]] Export.Preise.Preis.VK.Check&lt;br /&gt;
:Wenn aktiviert, dann werden die VK-Preise mit den aktuellen EK-Preisen, abhängig der Preislisteneinstellung (aus Preisliste oder EK1 aus Artikelstamm) verglichen und der Preis nur exportiert, wenn VK &amp;gt; EK ist.&lt;br /&gt;
*[[OBS/Kostenpflichtige_Module/Preislisten|Preisliste]] Preisgarantie&lt;br /&gt;
:Preislisten mit gesetztem Häkchen in &#039;&#039;Preisgarantie&#039;&#039; werden in der Preisprüfung übersprungen.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
OBS ermittelt lokal die Änderungen zur letzten Übertragung. Dies passiert abhängig von den Übertragungsparameter für alle Preislisten, alle Preislisten einer Person(-ennummer) oder einer einzelnen Preisliste.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Preise werden nicht direkt in den Shop geschrieben. Der Shop erhält eine Liste der Preisdaten und legt diese in eine Aufgabenliste, welche dann automatisch abgearbeitet wird.&lt;br /&gt;
{{Achtung|Je nach Auslastung des Shop-Systems kann es also einige Minuten dauern, bis die Preise vollständig übernommen wurden.}}&lt;br /&gt;
{{Hinweis|Laut Informationen von Büroring werden 0-Preise in der API verworfen. OBS setzt entsprechende Preiseinträge intern auf den Status &amp;quot;löschen&amp;quot; und entfernt die jeweilige Preisstaffel aus dem Shop, sollte sie zuvor mit einem regulären Preis angelegt worden sein.}}&lt;br /&gt;
==Priorität und Bestprice-Findung==&lt;br /&gt;
Im Unterschied zum VShop gibt es im brShop24 eine Bestprice-Findung wie im OBS (siehe [[OBS/Preislisten/FAQ_Preislisten#preisfindung|FAQ Preislisten &amp;quot;Wie funktioniert die Preisfindung?&amp;quot;]]). Daher findet das Preislistenfeld &#039;&#039;Prio Shop&#039;&#039; in dieser Schnittstelle keine Anwendung. Die Preislisten erhalten im Shop also die gleiche Priorität, wie sie zum Zeitpunkt des Exports im OBS in &#039;&#039;Prio Preisfind.&#039;&#039; eingestellt ist und somit auch in der WaWi Anwendung finden würde.&lt;br /&gt;
{{Hinweis|Möglichweise muss die Bestprice-Findung im Shop aktiviert werden.}}&lt;br /&gt;
&lt;br /&gt;
=Häufig gestellt Fragen (FAQ)=&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|brshop24_faq_preis_1&lt;br /&gt;
|Warum fehlt Preisliste X im Shop?&lt;br /&gt;
|Es gibt ein paar Punkte, die es zu Prüfen gilt, wenn eine Preisliste in den Shop übertragen werden soll. Abhängig ist die Übertragung von folgenden Punkten:&lt;br /&gt;
#Preisliste ist aktiv und gültig (Datum beachten)&lt;br /&gt;
#Preisliste ist für den Shop freigegeben (Gültigkeit enthält &amp;quot;Shop&amp;quot; und Häkchen in Zuordnung ist für die Schnittstelle gesetzt)&lt;br /&gt;
#Preisliste ist mindestens einem Kunden im Shop zugeordnet&lt;br /&gt;
#Preisliste hat mindestens einen Artikel, der im Shop enthalten ist (siehe auch [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner#Depots.2FLager_in_Schnittstelle_brShop24|Depots brShop24]])&lt;br /&gt;
Siehe auch [[Kostenpflichtige_Module/Internet-Shop/brShop24/Preise_übertragen#Wie_der_Export_funktioniert|Wie der Export funktioniert]].&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|brshop24_faq_preis_2&lt;br /&gt;
|Warum wird eine Preisliste nicht in den Shop übertragen?&lt;br /&gt;
|Bitte beachten Sie hier die [[Kostenpflichtige_Module/Internet-Shop/brShop24/Preise_übertragen#Voraussetzungen|Voraussetzungen]] für die Übertragung von Preislisten. Der Knackpunkt bei der Übertragung von Preislisten ist der Abgleich der Artikel. Um den Datenverkehr möglichst gering zu halten, versucht OBS nur die benötigten Daten zu übertragen. Das bedeutet, dass Artikelpreise für Artikel  nicht übertragen werden, sollte der Artikel gar nicht im Shop vorkommen. Ein Abgleich aller Artikel mit dem Shop würde jedoch zu viel Zeit in Anspruch nehmen. Daher gleicht OBS die Daten über die in der Schnittstelle gepflegten [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner#Depots.2FLager_in_Schnittstelle_brShop24|Depots]] ab. Stellen Sie also sicher, dass die Depots entsprechend gepflegt sind.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|brshop24_faq_preis_3&lt;br /&gt;
|Ist es möglich die Artikelpreise automatisiert zu pflegen?&lt;br /&gt;
|Ja, dies ist möglich. Weitere Informationen finden Sie im Artikel zu den [[OBS/Internet-Shop/Einrichtung/Automatiken#Preise_aktualisieren|Shop-Automatiken]].&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|brshop24_faq_preis_4&lt;br /&gt;
|Warum hat der Shop zwei Preiseinträge für einen Artikel?&lt;br /&gt;
|Der Shop unterscheidet bei den Preisen auch nach der Einheit. Der Preisexport übergibt keine Einheit. Für den Preis übernimmt die API die Standard-Einheit des Artikels im Shop. Sollten Sie zwei Einträge zu einer bestimmten Menge bei einem Artikel mit unterschiedlicher Einheit vorfinden, so bekommen Sie dies über OBS nur bereinigt, indem Sie die Preisliste aus dem Shop nehmen und anschließend wieder anlegen.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Eine Preisliste können Sie aus dem Shop nehmen, indem Sie über das Shop-Menü in die Preislistenverwaltung für den Shop gehen. Suchen Sie die Preisliste und drücken Sie auf dem Datensatz {{Entf}}. Dies nimmt die Shop-Zuordnung aus der Preisliste. Danach exportieren Sie die einzelne Preisliste per {{F6}}. Anschließend drücken Sie {{Einfg}}, um die Shop-Zuordnung wieder zu setzen und exportieren erneut die Preisliste. Der erste Export löscht die Preisliste im Shop und der zweite Export legt die Daten neu an.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|brshop24_faq_preis_5&lt;br /&gt;
|Warum wird der Preis eines Artikels nicht in den Shop übertragen?&lt;br /&gt;
|Vorraussetzungen, damit Artikelpreise übertragen werden:&lt;br /&gt;
#Preisliste muss die Voraussetzungen für den Export erfüllen&lt;br /&gt;
#Der Preis selbst muss größer als 0 sein&lt;br /&gt;
#Der Artikel muss über ein [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner|Lager (Shop-Depot)]] mit der Schnittstelle verknüpft sein&lt;br /&gt;
#Artikel darf vom Shop nicht als fehlend gemeldet worden sein (betrifft Artikel, die durch Büroring gepflegt werden)&lt;br /&gt;
#Eigene Artikel müssen im OBS und für die Schnittstelle aktiv sein&lt;br /&gt;
Für eigene Artikel liegt die Pflege des Artikels im Shop bei Ihnen. Das Büroring-Sortiment wird von Büroring im Shop gepflegt. Die Pflege von Preisen für Büroringartikel ist somit abhängig von zwei Faktoren: Zeitpunkte der Pflege/Anlage im Shop und der Zeitpunkt im OBS. Hierzu gab es bereits diverse Meldungen, dass Artikelpreise nicht übertragen wurden, obwohl der Artikel im Shop vorkommt. Da OBS die zu übertragenen Artikel bei [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner#Zuordnung_von_Artikeln|entsprechender Einstellung]] über die EK-Informationen des Artikelstamms ermittelt und dann Preise für die &amp;quot;verfügbaren&amp;quot; Artikel übermittelt, muss der Shop zu dem Zeitpunkt den jeweiligen Artikel auch im jeweiligen Lager wiederfinden können. Ist dies nicht der Fall, meldet der Shop den entsprechenden Artikel als &amp;quot;fehlend&amp;quot; und OBS merkt sich diese Rückmeldung. &amp;quot;Fehlende&amp;quot; Artikel werden bei weiteren Exporten ignoriert. Es kann also vorkommen, dass ein Artikel aus OBS im Shop einen Preis bekommen sollte, den der Shop zu dem Zeitpunkt nicht in seinem Sortiment wiedergefunden hat. Sollten Sie zu diesen Artikeln den Preis vermissen, so prüfen Sie bitte die [[#Liste_Artikel_zu_Preisliste|Preisdaten]] zu zur Preisliste (siehe oben Verwaltung Shop-Preislisten {{Key|F7 Artikel}}) oder die [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner#Zuordnung_von_Artikeln|Artikelliste]] des jeweiligen Lagers. &amp;quot;Fehlende&amp;quot; Artikel werden hier rot dargestellt. Sie können außerdem per Sortierung sich nur die fehlenden Artikel anzeigen lassen. Ist der Artikel hier als &amp;quot;fehlend&amp;quot; markiert, so führen Sie auf dem Artikel stehend mit {{Key|F6 Check}} eine erneute Prüfung aus. Wird der Artikel gefunden, erhalten Sie eine entsprechende Rückmeldung und der Status wird geändert.&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Nimz</name></author>
	</entry>
	<entry>
		<id>https://wiki.bergau.de/index.php?title=Kostenpflichtige_Module/Internet-Shop/brShop24/Preise_%C3%BCbertragen&amp;diff=64566</id>
		<title>Kostenpflichtige Module/Internet-Shop/brShop24/Preise übertragen</title>
		<link rel="alternate" type="text/html" href="https://wiki.bergau.de/index.php?title=Kostenpflichtige_Module/Internet-Shop/brShop24/Preise_%C3%BCbertragen&amp;diff=64566"/>
		<updated>2026-07-27T09:08:01Z</updated>

		<summary type="html">&lt;p&gt;Nimz: /* Tasten und Schaltflächen (Preisliste) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Vorlage:Kostenpflichtige Module}}&lt;br /&gt;
{{Achtung|Für die Preisübertragung wird das kostenpflichtige Modul [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] vorausgesetzt!}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{{Achtung|Es kann vorkommen, dass im Shop mehere Preiseinträge zu einer bestimmten Menge eines Artikels auftauchen. Siehe dazu FAQ [[#brshop24_faq_preis_4|Warum hat der Shop zwei Preiseinträge für einen Artikel?]].}}&lt;br /&gt;
=Voraussetzungen=&lt;br /&gt;
#[[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner#Depots.2FLager_in_Schnittstelle_brShop24|Depots]] sind eingerichtet (über Schnittstellenkonfiguration {{F8}})&lt;br /&gt;
#Preissystem im OBS ist auf das kostenpflichtige Modul [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] umgestellt&lt;br /&gt;
#Preisliste(n) ist/sind zum Zeitpunkt des Exports gültig.&amp;lt;br /&amp;gt;Eingabemaske [[OBS/Kostenpflichtige_Module/Preislisten|Preislistenverwaltung]]: &lt;br /&gt;
##Preisliste ist aktiv (Checkbox)&lt;br /&gt;
##aktuelles Datum ist innerhalb des Gültigkeitszeitraums (Datum von/bis)&lt;br /&gt;
##Gültigkeit enthält &amp;quot;Shop&amp;quot; (Default: &amp;quot;Shop &amp;amp; Kasse &amp;amp; WaWi&amp;quot;)&lt;br /&gt;
#Preisliste ist für Schnittstelle freigegeben (Häkchen gesetzt unter [[OBS/Kostenpflichtige_Module/Preislisten|Preislistenverwaltung]] &amp;amp;rarr; {{F10}} &amp;amp;rarr; S3)&lt;br /&gt;
#Kunden im Shop vorhanden&lt;br /&gt;
#Preisliste ist für mindestens einen der Kunden gültig (über Kundennummer in brShop24-Kundengruppe oder brShop24-Benutzer). Siehe dazu auch [[OBS/Preislisten/FAQ_Preislisten|FAQ Preislisten]] &amp;quot;Welche Möglichkeiten der Zuordnung gibt es?&amp;quot;.&lt;br /&gt;
#[[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] enthalten mindestens einen Artikel aus dem Shop&lt;br /&gt;
&lt;br /&gt;
=Shop-Menü: Preislisten verwalten=&lt;br /&gt;
==Preislisten verwalten==&lt;br /&gt;
&amp;lt;div&amp;gt;&amp;lt;ul&amp;gt; &lt;br /&gt;
&amp;lt;li style=&amp;quot;display: inline-block;&amp;quot;&amp;gt; [[File:BrShop24_ShpPl.jpg|thumb|none|600px|Preislisten einer Schnittstelle]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
Die Liste zeigt Ihnen alle [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]], die bei &#039;&#039;&#039;bisherigen&#039;&#039;&#039; Exporten für die Schnittstelle übernommen wurden und welchen Status diese bei der letzten Übertragung bekommen haben. Aktive [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] werden dabei in schwarz angezeigt. Rote Einträge sind gelöschte [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]]. Außerdem wird wie in der [[OBS/Stammdaten/Artikel:_H2_-_Bildverwaltung|Bildverwaltung]] und [[OBS/Stammdaten/Artikel:_H3_-_Shoppflege/A_Texte|externen Artikeltexten]] in Fett die Zuordnung zur Schnittstelle hervorgehoben, indem die Zeile in Fett dargestellt wird.&lt;br /&gt;
{{Hinweis|&#039;&#039;&#039;&amp;quot;Bisherige Exporte&amp;quot;&#039;&#039;&#039; meint alle zuvor ausgeführten Übertragungen von [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] über diese Shop-Schnittstelle. Diese Liste ist als eine Art Historie zu sehen. Sie zeigt nur das Ergebnis der bisherigen Übertragung. Je nach Anpassungen in der [[OBS/Kostenpflichtige_Module/Preislisten|Preislistenverwaltung]] (Artikel oder Freigaben) oder Zuordnung zu Kunden kann das Ergebnis nach der nächsten Übertragung anders aussehen. Auch tauchen neue [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] erst in dieser Liste auf, sobald diese einmal über einen Preislistenexport übertragen wurde.}}&lt;br /&gt;
===Tasten und Schaltflächen (Preisliste)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Taste!! width=&amp;quot;800px&amp;quot;|Erklärung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F5 Mark}}|| Markiert einen Datensatz&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F6 Export}}|| Exportiert eine oder alle Preislisten (Auswahl).{{Hinweis|Die initiale Einzelübertragung neuer Preislisten muss über die [[OBS/Kostenpflichtige_Module/Preislisten|Preislistenverwaltung]] erfolgen.}}&amp;lt;br /&amp;gt;Auswahl&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
*A Alle&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; vollständige Aktualisierung aller Preislisten im Shop. Dies bezieht auch Preislisten ein, die in der Preislistenverwaltung neu erstellt wurden!&lt;br /&gt;
*B akt. Preisliste&amp;lt;nowiki&amp;gt;:&amp;lt;/nowiki&amp;gt; Überträgt die aktuell gewählte Preisliste neu. Abhängig von den Einstellungen oder Daten wird hier die Preisliste aktualisiert oder &#039;&#039;gelöscht&#039;&#039;(!).&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F7 Artikel}}|| Zeigt eine [[#Liste_Artikel_zu_Preisliste|Liste]] der zur Preisliste selektierten Artikel u. a. mit Lager, Shop-Artikelnummer, Staffelmenge und Preis.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F9 PLV}}|| Öffnet die [[OBS/Kostenpflichtige_Module/Preislisten#Liste|Preislistenverwaltung]]&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F10 Weit.}}|| Zugriff auf weitere Funktionen der Liste&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|Einfg Einf.}}|| Setzt Zuordnung zur aktuellen Schnittstelle für markierte oder aktuelle Preisliste(n).&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|Entf Lösch.}}|| Entfernt Zuordnung zur aktuellen Schnittstelle für markierte oder aktuelle Preisliste(n).&lt;br /&gt;
|}&lt;br /&gt;
===Weitere Funktionen (Preisliste F10)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Menüpunkt!! width=&amp;quot;800px&amp;quot;|Erklärung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| A1{{nb_space}}Analyse{{nb_hyphen}}Modus{{nb_space}}(shopbezogen)|| Schaltet den [[#Analyse-Modus|Analyse-Modus]] an bzw. aus. Es werden nur die in die in der Schnittstelle vorhandenen Preislisten analysiert.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| A2{{nb_space}}Analyse{{nb_hyphen}}Modus{{nb_space}}(alle)|| Schaltet den [[#Analyse-Modus|Analyse-Modus]] an bzw. aus. Es werden alle OBS-Preislisten analysiert.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| L1{{nb_space}}Preisliste{{nb_space}}leeren|| Leert im Shop die Preisliste. Das bedeutet, dass alle Preiseinträge der Preisliste gelöscht werden. Die Preisliste sollte direkt danach neu exportiert werden.{{Achtung|Dies löscht nicht die Preisliste! Die Preisliste hat im Shop lediglich keine Preiseinträge mehr. Ist ein löschen der Preisliste gewünscht, dann sollte die Shop-Zuordnung entfernt oder die Preisliste anderweitig deaktiviert und anschließend exportiert werden.}}&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| P{{nb_space}}Job{{nb_hyphen}}Protokolle{{nb_space}}zu{{nb_space}}Preisliste|| Öffnet ie [[Kostenpflichtige_Module/Internet-Shop/brShop24/Jobinformationen#Liste_Jobs|Protokollliste]] gefiltert nach Job für die Preisliste.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Z1{{nb_space}}Preislistenzuordnung{{nb_space}}neu{{nb_space}}übertragen{{nb_space}}(Person)|| Übertragen der Preislistenzuordnung einer Person{{Hinweis|Nur verfügbar über die Webshop-Einstellungen von Personen!}}&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Z2{{nb_space}}Preislistenzuordnung{{nb_space}}neu{{nb_space}}übertragen{{nb_space}}(Preisliste)|| Übertragen der Preislistenzuordnung der genannten Preisliste&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Z3{{nb_space}}Preislistenzuordnung{{nb_space}}neu{{nb_space}}übertragen{{nb_space}}(Alle)|| Übertragen der Preislistenzuordnung aller Preisliste&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Liste Artikel zu Preisliste==&lt;br /&gt;
{{Achtung|Verfügbar ab Version 004840!}}&lt;br /&gt;
Zeigt die historischen Preisdaten zur Preisliste, welche über die Schnittstelle verarbeitet wurden.&lt;br /&gt;
{{Hinweis|Die Selektion der Preisdaten passiert mit dem Export einer Preisliste. Diese Liste zeigt den Datenstand der letzten Selektion. Die hier angezeigten Preisdaten können daher von den aktuellen Preisen der Preisliste abweichen.}}&lt;br /&gt;
===Spalten===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Bezeichnung!! width=&amp;quot;800px&amp;quot;|Erläuterung&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| OBS-Art-Nr.|| Zeigt die OBS-Artikelnummer aus Ihrem [[OBS/Stammdaten/Artikel|Artikelstamm]] an&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Shop-Art.-Nr.|| Zeigt die Artikelnummer im Shop an unter der dieser Preisdatensatz gepflegt wird.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Lager|| Name des [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner|Shop-Lagers]]&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Bezeichnung|| Artikelbezeichnung; Zeigt Name 1 aus dem Artikel. Bei eigenen Artikeln wird - sofern gesetzt - die alternative Bezeichnung aus den [[OBS/Stammdaten/Artikel/Registerkarte:_Shop/Einstellungsliste/Artikelauswahl|Artikel-Shop-Einstellungen]] angezeigt.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Menge|| (Staffel-)Menge des Preisdatensatzes&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| VK Netto|| Netto-Preis des Preisdatensatzes&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Preisstatus|| Je nach status bei der letzten Selektion wird Ihnen hier &#039;&#039;Pflegen&#039;&#039; oder &#039;&#039;Löschen&#039;&#039; angezeigt.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Aktualisiert|| Zeigt das Datum an dem OBS zuletzt den Preis per API in den Shop übertragen hat.{{Hinweis|Wird bei Datensätzen, deren letzte Änderung per API länger zurück liegt, nicht angezeigt, da diese Information im Datensatz selbst erst Version 004721 (November 2024) gespeichert wird.}}&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Gelöscht|| Zeigt das Datum an dem OBS zuletzt den Preis per API aus dem Shop gelöscht hat.{{Hinweis|Wird bei Datensätzen, deren letzte Änderung per API länger zurück liegt, nicht angezeigt, da diese Information im Datensatz selbst erst Version 004721 (November 2024) gespeichert wird.}}&lt;br /&gt;
|}&lt;br /&gt;
===Hervorhebungen===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Stil!! width=&amp;quot;800px&amp;quot;|Bedeutung&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Kursiv|| Preis hat den Status &amp;quot;Löschen&amp;quot;.&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Textfarbe Rot|| Artikel ist als &amp;quot;fehlend&amp;quot; markiert. Dies kann z. B. passieren, wenn Artikel im OBS bereits vorhanden sind, aber im Shop zum Zeitpunkt der Preispflege nicht gefunden/identifiziert werden können. OBS ignoriert &amp;quot;fehlende&amp;quot; Artikel im weiteren Verlauf. Sollte der Artikel im Shop vorhanden sein, können Sie mit {{Key|F6 Check}} eine neue Abfrage starten, um den Status zu ändern.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Textfarbe Grau|| Artikel ist inaktiv (Artikelstamm Häkchen &amp;quot;inaktiv&amp;quot;).&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| Textfarbe Grün|| Eigener Artikel ist aktiv.&lt;br /&gt;
|}&lt;br /&gt;
===Tasten und Schaltflächen (Artikel)===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Taste!! width=&amp;quot;800px&amp;quot;|Erklärung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F4 Sort}}|| Sortierung wechseln. Sortierungen mit dem Zusatz &amp;quot;(nicht gefunden)&amp;quot; zeigen nur die Einträge an, zu denen der Shop bei der letzten Übertragung den Artikel als &amp;quot;nicht gefunden&amp;quot; gemeldet hat.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| {{Key|F6 Check}}|| Prüft für den aktuellen Datensatz, ob der zugehörige Artikel im Shop gefunden werden kann. Je nach Pflege Zeitpunkt kann es z.{{nb_space}}B. bei neuen Artikeln passieren, dass OBS einen Preis überträgt, der Artikel aber noch nicht im Shop angelegt wurde. Da OBS dann den Artikel für die weitere Pflege deaktiviert, muss der Artikel auf diese Weise erst wieder freigegeben werden.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Preisdaten exportieren=&lt;br /&gt;
Sie können Preise auf verschiedenen Wegen exportieren. Es werden dabei immer nur die Veränderungen zum letzten Export übertragen.&amp;lt;br /&amp;gt;&lt;br /&gt;
Gestartet werden kann der Export auf folgenden Wegen:&lt;br /&gt;
*Shop-Menü &amp;quot;B Preislisten verwalten&amp;quot;&lt;br /&gt;
:Per {{F6}} starten Sie hier den Export für alle Preislisten&lt;br /&gt;
*Preislistenverwaltung&lt;br /&gt;
:{{F10}} + S1{{Hinweis|Der Punkt ist erst sichtbar, wenn die Preisliste mindestens einer Shop-Schnittstelle zugeordnet ist.}}&lt;br /&gt;
*Personenstamm Webshop-Einstellungen&lt;br /&gt;
:{{F8}} für die Übertragung der personenbezogenen Preise. Dieser Punkt öffnet die Shop-Preislisten-Verwaltung mit einem Filter, so dass nur die Preislisten des Kunden angezeigt werden. Auch beim Export werden nur die Preislisten des Kunden übertragen.&lt;br /&gt;
{{Hinweis|OBS überträgt die Preise pro Liste &amp;quot;gesammelt&amp;quot; in einem &amp;quot;batch&amp;quot;-Modus. Das heißt es werden mehrere hundert Einträge auf einmal übertragen und vom Shop-Server auf eine Todo-Liste gesetzt. Diese Liste arbeitet der Server relativ zeitnah ab. Es kann daher dazu kommen, dass die Preise nach der Übertragung erst mit einer kurzen Verzögerung im Shop angezeigt werden. Die Verzögerung sollte jedoch nur wenige Minuten betragen.}}&lt;br /&gt;
&lt;br /&gt;
=Wie der Export funktioniert=&lt;br /&gt;
Für den Export selbst sind die im Shop vorhandenen Personen interessant. Preislisten im OBS, die nur Kunden zugeordnet sind, die gar nicht im Shop vorkommen, werden nicht exportiert.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Stellen Sie daher für den Export einer Preisliste folgendes sicher:&#039;&#039;&#039;&lt;br /&gt;
*mindestens ein Kunde, dem die Preisliste im OBS zugeordnet ist, ist im Shop vorhanden.&lt;br /&gt;
*die Preisliste ist aktiv und gültig:&lt;br /&gt;
**Häkchen in &amp;quot;Preisliste aktiv&amp;quot; ist gesetzt.&lt;br /&gt;
**Das aktuelles Datum liegt innerhalb des angegebenen Zeitraums (Datum von/bis) der Preisliste.&lt;br /&gt;
**Das Feld &amp;quot;Gültigkeit&amp;quot; enthält den Wert &#039;&#039;Shop&#039;&#039;.&lt;br /&gt;
**Preisliste ist für die Schnittstelle freigegeben (Preislistenverwaltung {{F10}} + S3)&lt;br /&gt;
*Die Preisliste enthält mindestens einen Artikel, der im Shop gepflegt ist. (siehe auch [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner#Depots.2FLager_in_Schnittstelle_brShop24|Depots brShop24]])&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Neben den genannten Voraussetzungen gibt es noch zwei Einstellungen, die auf die Übertragung einzelner Preise Auswirkungen haben:&lt;br /&gt;
*[[Kostenpflichtige_Module/Internet-Shop/brShop24/Konfiguration#Übersicht_aller_Einstellungen_für_brShop24|Konfiguration]] Export.Preise.Preis.VK.Check&lt;br /&gt;
:Wenn aktiviert, dann werden die VK-Preise mit den aktuellen EK-Preisen, abhängig der Preislisteneinstellung (aus Preisliste oder EK1 aus Artikelstamm) verglichen und der Preis nur exportiert, wenn VK &amp;gt; EK ist.&lt;br /&gt;
*[[OBS/Kostenpflichtige_Module/Preislisten|Preisliste]] Preisgarantie&lt;br /&gt;
:Preislisten mit gesetztem Häkchen in &#039;&#039;Preisgarantie&#039;&#039; werden in der Preisprüfung übersprungen.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
OBS ermittelt lokal die Änderungen zur letzten Übertragung. Dies passiert abhängig von den Übertragungsparameter für alle Preislisten, alle Preislisten einer Person(-ennummer) oder einer einzelnen Preisliste.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Preise werden nicht direkt in den Shop geschrieben. Der Shop erhält eine Liste der Preisdaten und legt diese in eine Aufgabenliste, welche dann automatisch abgearbeitet wird.&lt;br /&gt;
{{Achtung|Je nach Auslastung des Shop-Systems kann es also einige Minuten dauern, bis die Preise vollständig übernommen wurden.}}&lt;br /&gt;
{{Hinweis|Laut Informationen von Büroring werden 0-Preise in der API verworfen. OBS setzt entsprechende Preiseinträge intern auf den Status &amp;quot;löschen&amp;quot; und entfernt die jeweilige Preisstaffel aus dem Shop, sollte sie zuvor mit einem regulären Preis angelegt worden sein.}}&lt;br /&gt;
==Priorität und Bestprice-Findung==&lt;br /&gt;
Im Unterschied zum VShop gibt es im brShop24 eine Bestprice-Findung wie im OBS (siehe [[OBS/Preislisten/FAQ_Preislisten#preisfindung|FAQ Preislisten &amp;quot;Wie funktioniert die Preisfindung?&amp;quot;]]). Daher findet das Preislistenfeld &#039;&#039;Prio Shop&#039;&#039; in dieser Schnittstelle keine Anwendung. Die Preislisten erhalten im Shop also die gleiche Priorität, wie sie zum Zeitpunkt des Exports im OBS in &#039;&#039;Prio Preisfind.&#039;&#039; eingestellt ist und somit auch in der WaWi Anwendung finden würde.&lt;br /&gt;
{{Hinweis|Möglichweise muss die Bestprice-Findung im Shop aktiviert werden.}}&lt;br /&gt;
&lt;br /&gt;
=Häufig gestellt Fragen (FAQ)=&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|brshop24_faq_preis_1&lt;br /&gt;
|Warum fehlt Preisliste X im Shop?&lt;br /&gt;
|Es gibt ein paar Punkte, die es zu Prüfen gilt, wenn eine Preisliste in den Shop übertragen werden soll. Abhängig ist die Übertragung von folgenden Punkten:&lt;br /&gt;
#Preisliste ist aktiv und gültig (Datum beachten)&lt;br /&gt;
#Preisliste ist für den Shop freigegeben (Gültigkeit enthält &amp;quot;Shop&amp;quot; und Häkchen in Zuordnung ist für die Schnittstelle gesetzt)&lt;br /&gt;
#Preisliste ist mindestens einem Kunden im Shop zugeordnet&lt;br /&gt;
#Preisliste hat mindestens einen Artikel, der im Shop enthalten ist (siehe auch [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner#Depots.2FLager_in_Schnittstelle_brShop24|Depots brShop24]])&lt;br /&gt;
Siehe auch [[Kostenpflichtige_Module/Internet-Shop/brShop24/Preise_übertragen#Wie_der_Export_funktioniert|Wie der Export funktioniert]].&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|brshop24_faq_preis_2&lt;br /&gt;
|Warum wird eine Preisliste nicht in den Shop übertragen?&lt;br /&gt;
|Bitte beachten Sie hier die [[Kostenpflichtige_Module/Internet-Shop/brShop24/Preise_übertragen#Voraussetzungen|Voraussetzungen]] für die Übertragung von Preislisten. Der Knackpunkt bei der Übertragung von Preislisten ist der Abgleich der Artikel. Um den Datenverkehr möglichst gering zu halten, versucht OBS nur die benötigten Daten zu übertragen. Das bedeutet, dass Artikelpreise für Artikel  nicht übertragen werden, sollte der Artikel gar nicht im Shop vorkommen. Ein Abgleich aller Artikel mit dem Shop würde jedoch zu viel Zeit in Anspruch nehmen. Daher gleicht OBS die Daten über die in der Schnittstelle gepflegten [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner#Depots.2FLager_in_Schnittstelle_brShop24|Depots]] ab. Stellen Sie also sicher, dass die Depots entsprechend gepflegt sind.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|brshop24_faq_preis_3&lt;br /&gt;
|Ist es möglich die Artikelpreise automatisiert zu pflegen?&lt;br /&gt;
|Ja, dies ist möglich. Weitere Informationen finden Sie im Artikel zu den [[OBS/Internet-Shop/Einrichtung/Automatiken#Preise_aktualisieren|Shop-Automatiken]].&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|brshop24_faq_preis_4&lt;br /&gt;
|Warum hat der Shop zwei Preiseinträge für einen Artikel?&lt;br /&gt;
|Der Shop unterscheidet bei den Preisen auch nach der Einheit. Der Preisexport übergibt keine Einheit. Für den Preis übernimmt die API die Standard-Einheit des Artikels im Shop. Sollten Sie zwei Einträge zu einer bestimmten Menge bei einem Artikel mit unterschiedlicher Einheit vorfinden, so bekommen Sie dies über OBS nur bereinigt, indem Sie die Preisliste aus dem Shop nehmen und anschließend wieder anlegen.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Eine Preisliste können Sie aus dem Shop nehmen, indem Sie über das Shop-Menü in die Preislistenverwaltung für den Shop gehen. Suchen Sie die Preisliste und drücken Sie auf dem Datensatz {{Entf}}. Dies nimmt die Shop-Zuordnung aus der Preisliste. Danach exportieren Sie die einzelne Preisliste per {{F6}}. Anschließend drücken Sie {{Einfg}}, um die Shop-Zuordnung wieder zu setzen und exportieren erneut die Preisliste. Der erste Export löscht die Preisliste im Shop und der zweite Export legt die Daten neu an.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|brshop24_faq_preis_5&lt;br /&gt;
|Warum wird der Preis eines Artikels nicht in den Shop übertragen?&lt;br /&gt;
|Vorraussetzungen, damit Artikelpreise übertragen werden:&lt;br /&gt;
#Preisliste muss die Voraussetzungen für den Export erfüllen&lt;br /&gt;
#Der Preis selbst muss größer als 0 sein&lt;br /&gt;
#Der Artikel muss über ein [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner|Lager (Shop-Depot)]] mit der Schnittstelle verknüpft sein&lt;br /&gt;
#Artikel darf vom Shop nicht als fehlend gemeldet worden sein (betrifft Artikel, die durch Büroring gepflegt werden)&lt;br /&gt;
#Eigene Artikel müssen im OBS und für die Schnittstelle aktiv sein&lt;br /&gt;
Für eigene Artikel liegt die Pflege des Artikels im Shop bei Ihnen. Das Büroring-Sortiment wird von Büroring im Shop gepflegt. Die Pflege von Preisen für Büroringartikel ist somit abhängig von zwei Faktoren: Zeitpunkte der Pflege/Anlage im Shop und der Zeitpunkt im OBS. Hierzu gab es bereits diverse Meldungen, dass Artikelpreise nicht übertragen wurden, obwohl der Artikel im Shop vorkommt. Da OBS die zu übertragenen Artikel bei [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner#Zuordnung_von_Artikeln|entsprechender Einstellung]] über die EK-Informationen des Artikelstamms ermittelt und dann Preise für die &amp;quot;verfügbaren&amp;quot; Artikel übermittelt, muss der Shop zu dem Zeitpunkt den jeweiligen Artikel auch im jeweiligen Lager wiederfinden können. Ist dies nicht der Fall, meldet der Shop den entsprechenden Artikel als &amp;quot;fehlend&amp;quot; und OBS merkt sich diese Rückmeldung. &amp;quot;Fehlende&amp;quot; Artikel werden bei weiteren Exporten ignoriert. Es kann also vorkommen, dass ein Artikel aus OBS im Shop einen Preis bekommen sollte, den der Shop zu dem Zeitpunkt nicht in seinem Sortiment wiedergefunden hat. Sollten Sie zu diesen Artikeln den Preis vermissen, so prüfen Sie bitte die [[#Liste_Artikel_zu_Preisliste|Preisdaten]] zu zur Preisliste (siehe oben Verwaltung Shop-Preislisten {{Key|F7 Artikel}}) oder die [[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner#Zuordnung_von_Artikeln|Artikelliste]] des jeweiligen Lagers. &amp;quot;Fehlende&amp;quot; Artikel werden hier rot dargestellt. Sie können außerdem per Sortierung sich nur die fehlenden Artikel anzeigen lassen. Ist der Artikel hier als &amp;quot;fehlend&amp;quot; markiert, so führen Sie auf dem Artikel stehend mit {{Key|F6 Check}} eine erneute Prüfung aus. Wird der Artikel gefunden, erhalten Sie eine entsprechende Rückmeldung und der Status wird geändert.&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Nimz</name></author>
	</entry>
	<entry>
		<id>https://wiki.bergau.de/index.php?title=FRMSHOPPREISLISTEN_BRSHOP24&amp;diff=64565</id>
		<title>FRMSHOPPREISLISTEN BRSHOP24</title>
		<link rel="alternate" type="text/html" href="https://wiki.bergau.de/index.php?title=FRMSHOPPREISLISTEN_BRSHOP24&amp;diff=64565"/>
		<updated>2026-07-27T08:49:37Z</updated>

		<summary type="html">&lt;p&gt;Nimz: Weiterleitungsziel von Kostenpflichtige Module/Internet-Shop/brShop24/Preise übertragen nach Kostenpflichtige Module/Internet-Shop/brShop24/Preise übertragen#Shop-Menü: Preislisten verwalten geändert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#WEITERLEITUNG [[Kostenpflichtige_Module/Internet-Shop/brShop24/Preise_übertragen#Shop-Menü:_Preislisten_verwalten]]&lt;/div&gt;</summary>
		<author><name>Nimz</name></author>
	</entry>
	<entry>
		<id>https://wiki.bergau.de/index.php?title=OBS/Stammdaten/Vertr%C3%A4ge/F10_Weitere_Funktionen&amp;diff=64564</id>
		<title>OBS/Stammdaten/Verträge/F10 Weitere Funktionen</title>
		<link rel="alternate" type="text/html" href="https://wiki.bergau.de/index.php?title=OBS/Stammdaten/Vertr%C3%A4ge/F10_Weitere_Funktionen&amp;diff=64564"/>
		<updated>2026-07-27T07:28:01Z</updated>

		<summary type="html">&lt;p&gt;Nimz: /* Z - Freitext Suche */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Vorlage:Stammdaten}}&lt;br /&gt;
&lt;br /&gt;
=F10 Weitere Funktionen=&lt;br /&gt;
&lt;br /&gt;
Hier finden Sie alle weitere Funktionen, die für das Handling von Verträgen notwendig sein können. &lt;br /&gt;
==A - Anlegen von Buchungssätzen==&lt;br /&gt;
Ein Markieren der relevanten Verträge über {{F5}}&#039;&#039;&#039; Mark&#039;&#039;&#039; und/oder {{F7}}&#039;&#039;&#039; Selekt&#039;&#039;&#039; ist erforderlich. Es öffnet sich ein kleines Fenster, in dem Ihnen alle 12 Perioden angezeigt werden, wählen Sie mit {{Return}}die gewünschte aus. Es werden automatisch Buchungssätze für diesen Monat erstellt. Diese Funktion muss für Verträge mit der Zahlungsart &#039;Überweisung&#039; und &#039;Abbuchung&#039; ausgeführt werden, damit diese buchführungstechnisch in die offene Periode einfließen, da hier ja keine Rechnung erstellt wird. &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es ist möglich die Buchungsperiode frei zu wählen (1 Monat im Voraus und mehrere Monate rückwärts zur aktuellen Periode).&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Vertrags-Periode&#039;&#039;&#039; berücksichtigt das Datum &#039;&#039;&#039;Nächste Berechnung&#039;&#039;&#039; für Verträge. &lt;br /&gt;
Vorbelegung ist hierbei der aktuelle Monat.&lt;br /&gt;
&lt;br /&gt;
Hierbei werden aus den Vertragsangaben Buchungssätze für Fibu, Erlöskonten, Warengruppen und Vertrags Einahmen-Ausgaben erzeugt.&lt;br /&gt;
&lt;br /&gt;
[[Image:Vertrag_Buchungssaetze.png]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==B - Geräte für Vertrag==&lt;br /&gt;
Im Fenster Geräte für Vertrag werden ihnen alle Geräte, die dem Vertrag hinterlegt wurden, angezeigt. Dieser Liste können Sie neue Geräte hinzufügen oder löschen, Zählerstände für die Geräte eintragen und Reparaturaufträge einsehen. Mehr dazu [[OBS/Weitere Stammdaten/Geräte für Vertrag|hier]].&amp;lt;br /&amp;gt;&lt;br /&gt;
==C - Druckabrechnungen generieren==&lt;br /&gt;
Ein Markieren der relevanten Verträge über {{F5}}&#039;&#039;&#039; Mark&#039;&#039;&#039; und/oder {{F7}}&#039;&#039;&#039; Selekt&#039;&#039;&#039; ist erforderlich.&amp;lt;br /&amp;gt;Für alle Verträge,    bei denen ein Zählerstand  erfasst worden ist, der noch nicht abgerechnet wurde (Status 01) und das Datum &amp;quot;Berechnung ab&amp;quot; plus dem angegebenen Abrechnungszeitraum nicht in der Zukunft liegt und die Anzahl der Freikopien überschritten wurde,wird eine Druckabechnung generiert , die Sie in der Liste [[OBS/Auftragsbearbeitung/Rechnungen/Rechnungen|Rechnungen]] wiederfinden.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Druckabrechnungen auch bei weniger Verbrauch als Freikopien===&lt;br /&gt;
Wenn der [[OBS/Stammdaten/Programmparameter|Programmparameter]] &#039;&#039;&#039;099 Druckabrechnung mit Verbrauch &amp;lt; Freikopien&#039;&#039;&#039; aktiviert wurde, wird auch dann eine Druckabrechnung erzeugt, wenn die Freikopien höher sind als der jeweilige Verbrauch. Andernfalls wird der Zählerstand direkt auf Status 21 gesetzt.&lt;br /&gt;
&lt;br /&gt;
===Mindestbetrag für Druckabrechnungen===&lt;br /&gt;
Es kann ein Mindestbetrag für Druckabrechnung festgelegt werden. Wird dieser bei einer Druckabrechnung unterschritten wird &#039;&#039;&#039;keine Rechnung&#039;&#039;&#039; erstellt. &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Im [[OBS/Stammdaten/Programmparameter|Programmparameter]] &#039;&#039;&#039;026&#039;&#039;&#039; kann als erster Parameter der Mindestbetrag in € angegeben werden. Als zweiter Parameter kann festgelegt werden, ob Zähler automatisch reduziert werden sollen (J oder N).&lt;br /&gt;
&lt;br /&gt;
Als Beispiel könnte der Wert des Programmparameters 026 wie folgt aussehen: &lt;br /&gt;
 5,J&lt;br /&gt;
Also Mindestbetrag 5€ und Zähler automatisch korrigieren ist aktiviert. &lt;br /&gt;
&lt;br /&gt;
Hat nun ein Vertrag in der Druckabrechnung 2,50€ in der Rechnungssumme dann werden die Zähler (SW,Farbe,Scan,Frei1,Frei2) automatisch um 2,50€ reduziert damit die Rechnung 0€ beträgt.&lt;br /&gt;
Der Status der Zählerstände wird automatisch auf &amp;quot;21&amp;quot; gesetzt.&lt;br /&gt;
Im Protokoll des Vertrages wird die Minderung der Zähler Protokolliert.&amp;lt;br/&amp;gt;&lt;br /&gt;
Das &#039;&#039;Berechnung ab&#039;&#039; Datum des Vertrages wird um eine Druckabrechnungsperiode erhöht. &lt;br /&gt;
&lt;br /&gt;
{{Hinweis|Die gilt nicht für &#039;&#039;&#039;Sammelrechnungen&#039;&#039;&#039; und &#039;&#039;&#039;Druck Zusatzkosten&#039;&#039;&#039; werden nur in der aktuellen Rechnungssumme berücksichtigt!}}&lt;br /&gt;
===Seiten-EK pro Gerät===&lt;br /&gt;
Wenn der Hersteller die Versorgung mit Verbrauchsmaterials für ein oder mehrere Geräte im Vertrag übernimmt, werden Seiten-EK Preise vom Hersteller berechnet. Diese Kosten können den Geräten des Vertrags in der Geräteverwaltung unter {{Key|F10}} → [[OBS/Stammdaten/Weitere_Stammdaten/Ger%C3%A4teverwaltung#S1_-_Ger.C3.A4te-Vertrags_EK_Seitendefinition|S1 - Geräte-Vertrags EK Seitendefinition]] hinterlegt werden (SW,Scan,Farbe,Frei1,Frei2).&lt;br /&gt;
&lt;br /&gt;
Bei der Druckabrechnung wird in den Vertrags-Einnahmen/Ausgaben eine Ausgaben Position erzeugt. Diese enthält alle EK Kosten für (SW,Scan,Farbe,Frei1,Frei2) aller Geräte für diesen Vertrag&lt;br /&gt;
[[Image:Vertragseinnahmen SeitenEK Beispiel.png|600px]]&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Zusätzlich werden in den Rechnungspositionen für (SW,Scan,Farbe,Frei1,Frei2) die dazugehörigen EK-Werte eingetragen. Dies ist rein informell.&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Image:Poserfassung SeitenEK Beispiel.png|600px]]&lt;br /&gt;
&lt;br /&gt;
==D - Rechnungen generieren (Pauschale)==&lt;br /&gt;
Ein Markieren der relevanten Verträge über {{F5}}&#039;&#039;&#039; Mark&#039;&#039;&#039; und/oder {{F7}}&#039;&#039;&#039; Selekt&#039;&#039;&#039; ist erforderlich.  Es werden automatisch Rechnungen für das Datum &#039;Nächste Berechnung&#039; generiert, sofern dieses nicht in der Zukunft liegt. &amp;lt;br /&amp;gt;&lt;br /&gt;
==E - Zählerstandsabfrage==&lt;br /&gt;
Ein Markieren der relevanten Verträge über {{F5}}&#039;&#039;&#039; Mark&#039;&#039;&#039; und/oder {{F7}}&#039;&#039;&#039; Selekt&#039;&#039;&#039; ist erforderlich.  Über diesen Punkt können Sie die Zählerstände abfragen und verwalten. Näheres dazu finden Sie [[OBS/Häufig gestellte Fragen/Wie funktioniert die Zählerstandsabfrage?|hier]]. &lt;br /&gt;
==E1 - Zählerstände ohne Verbrauch für Geräte ohne Zählerstand anlegen==&lt;br /&gt;
Legt für alle Geräte des aktuellen Vertrages, die keinen aktuellen Zählerstand (Stauts 01) enthalten einen neuen Zählerstand an, bei dem der aktuelle Zählerstand dem vorherigen Zählerstand entspricht. Der Verbaucht ist dann 0, aber der Vertrag kann so abgerechnet werden. &lt;br /&gt;
&lt;br /&gt;
==F1 - Mandatsreferenz==&lt;br /&gt;
Hier können die Mandatsreferenznummern für den Vertrag verwaltet werden. Weitere Informationen zu Mandatsreferenzen erhalten Sie unter folgendem Punkt: [[OBS/SEPA_Verfahren_im_OBS#Mandatsreferenzen für Verträge|Mandatsreferenzen für Verträge]]&amp;lt;br/&amp;gt;&lt;br /&gt;
==G - Verbrauchsmaterial==&lt;br /&gt;
Über diesen Punkt gelangen Sie in die Verbrauchsmaterialliste für den jeweiligen Vertrag. Sie können hier Verbrauchsmaterial über {{Einfg}} aus der Ersatzteilliste des zugehörigen Artikels (Kennung V = Verbrauchsmaterial) hinzufügen oder entfernen.&amp;lt;br /&amp;gt;&lt;br /&gt;
Es werden alle Artikel angezeigt, die als Verbrauchsmaterial bei den Artikel der dem Vertrag zugeordneten Geräte hinterlegt wurden. Dies kann im Artikelstamm über [[OBS/Stammdaten/Artikel: U - Ersatzteil- /Verbrauchsmaterial ist enthalten in|T - Ersatzteil-/Verbrauchsmaterial-Liste]] eingestellt werden.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn das Verbrauchsmaterial hinzugefügt wurde kann über einen Druck auf {{Return}} die Seitenzahl eingestellt werden. Diese besagt, für wieviele Kopien das Verbrauchsmaterial hält. Hierbei ist zu beachten, dass der Verbrauch als Grundwert für Auswertungen mit Bezug zu [[http://wiki.bergau.de/OBS/Stammdaten/Verträge/F3_Vertragsdruck#9._Bewertungsliste_zuviel_verbrauchte_Kopien|Überschusskopien]] verwendet wird. Es sollte also nur bei Tonern hier ein Wert eingetragen werden. Eine Lebensdauer kann in der [[http://wiki.bergau.de/OBS/Stammdaten/Artikel:_U_-_Ersatzteil-_/Verbrauchsmaterial_ist_enthalten_in|Ersatzteilliste]] eingestellt werden. &lt;br /&gt;
&lt;br /&gt;
Standardmäßig werden in dieser Liste nur die aktivierten Verbrauchsmaterialen angezeigt. Mit {{F6}} können Sie Verbrauchsmaterial aktivieren oder deaktivieren.&amp;lt;br/&amp;gt;&lt;br /&gt;
Mit {{F9}} können Sie Funktionen für den ausgewählten Artikel bei allen Verträgen durchführen. &lt;br /&gt;
*Mit &#039;&#039;&#039;Tauschen&#039;&#039;&#039; können Sie den Artikel bei allen Verträgen gegen einen anderen austauschen.&lt;br /&gt;
*&#039;&#039;&#039;Einfügen&#039;&#039;&#039; fügt bei allen Verträgen, die den aktuell ausgewählten Artikel beinhalten einen beliebigen hinzu. &lt;br /&gt;
*&#039;&#039;&#039;Löschen&#039;&#039;&#039; löscht den ausgewählten Artikel aus allen Verträgen.&lt;br /&gt;
&lt;br /&gt;
==H - Verbrauchsmaterial über Auftragspositionen==&lt;br /&gt;
Hier sehen Sie eine Liste mit allen Auftragspositionen die als Verbrauchsmaterial dem aktuellen Vertrag zugeordnet wurden.&lt;br /&gt;
==I-Vertrags-Einnahmen/Ausgaben Excel==&lt;br /&gt;
Über diesen Punkt gelangen Sie zu einer umfangreichen Excel Statistik über die Einnahmen und Ausgaben eines Vertrages, dieses Dokument kann auch als Info dem Vertrag hinterlegt werden.&amp;lt;br /&amp;gt;&lt;br /&gt;
==J - Kopien für Vertrag==&lt;br /&gt;
Über diesen Punkt gelangen Sie zu einer Einnahmen/Ausgaben Statistik dieses Vertrages in Bezug auf die gelieferten Kopien (Verbrauchsmaterial im Auftrag) und die laut den Zählerständen tatsächlich verbrauchten Kopien.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Werte beim Punkt &amp;quot;Wartung&amp;quot; errechnen sich aus den Wartungspauschalen, die für den aktuellen Vertrag erstellt wurden. &amp;lt;br /&amp;gt;&lt;br /&gt;
Die Werte beim Punkt &amp;quot;Rechnung&amp;quot; beziehen sich auf die Druckabrechnungen. Falls ein Wert hierbei negativ aufgeführt wird, hat der Kunde weniger Kopien verbrauchst, als er Freikopien zur Verfügung hatte.&amp;lt;br /&amp;gt;&lt;br /&gt;
Die Werte beim Punkt &amp;quot;Toner&amp;quot; beziehen sich auf die als Verbrauchsmaterial gebuchten Toner. Entscheident hierbei sind die in der Verbrauchsmaterial eingetragenen Werte für die Seitenanzahl des jeweiligen Toners.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Kopienwerte der Toner werden hierbei aus den Kopien-Werten des [[OBS/Stammdaten/Verträge/F10 Weitere Funktionen#G - Verbrauchsmaterial|Verbrauchsmaterial]]&amp;lt;nowiki/&amp;gt;s des Vertrages ermittelt. Soll ein Wert korrigiert werden, muss zunächst im Verbrauchsmaterial der korrekt Wert eingetragen werden. Anschließend können die Werte in der Liste der [[OBS/Stammdaten/Verträge#F6 Positionen|Vertragspositionen]] mit {{Key|F7 Korrekt.}} aktualisiert werden. &amp;lt;br /&amp;gt;&lt;br /&gt;
==K - Überprüfe Verträge auf Verbrauchsmaterial und Vertragspositionen==&lt;br /&gt;
Es wird geprüft, für welche Verträge noch kein Verbrauchsmaterial angelegt wurde.&amp;lt;br /&amp;gt;&lt;br /&gt;
Zudem wird bei Verbrauchsmaterial-Vertragspositionen überprüft, ob es auf dem jeweiligen Vertrag ein Gerät gibt, bei dem das Verbrauchsmaterial als Ersatzteil hinterlegt ist. Ist kein solches Gerät vorhanden kann es bei Vertragsauswertungen dazu kommen, dass der Wert des Verbrauchsmaterials bei der Einzelgerätekontrolle nicht berücksichtigt wird. &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es kann Vorkommen, dass durch das nachträgliche Ändern der Artikelnummer von Material- oder Auftragspositionen die Verknüpfung zur entsprechenden Vertragsposition nicht mehr korrekt hergestellt werden kann. Dies hat zur Folge, dass diese Position im Vertrag doppelt angelegt wird. Dies kann nur manuell durch das Löschen der doppelten Position behoben werden. Betroffene Vertragspositionen werden bei dieser Überprüfung mit ausgegeben. &lt;br /&gt;
&lt;br /&gt;
==L - Vertrag kopieren==&lt;br /&gt;
Kopiert den aktuellen Vertrag und legt diesen als neuen Vertrag an.&lt;br /&gt;
&lt;br /&gt;
==M - QR-Code anzeigen==&lt;br /&gt;
&lt;br /&gt;
==N1 - Eigenschaften==&lt;br /&gt;
Hierüber können die [[OBS/Eigenschaften|Eigenschaften]] bearbeitet werden, die dem Vertrag zugeordnet sind. &lt;br /&gt;
&lt;br /&gt;
==N2 - Wiederkehrende Aufgaben==&lt;br /&gt;
&lt;br /&gt;
==N3 - Vertragskalkulation für Angebote==&lt;br /&gt;
&lt;br /&gt;
==N4 - Click-Kalkulation==&lt;br /&gt;
Nähere Informationen zu Auswertung &#039;&#039;&#039;Click-Kalkulation&#039;&#039;&#039; erhalten Sie hier:&amp;lt;br/&amp;gt;&lt;br /&gt;
[[OBS/Stammdaten/Verträge/Click-Kalkulation|Click-Kalkulation]]&lt;br /&gt;
==N6 - Neue Preise für Vertrag definieren==&lt;br /&gt;
Hierüber können Preisänderungen für Verträge geplant und vorbereitet werden. Es ist dann möglich diese Änderungen zu einem beliebigen Zeitpunkt auszuführen. &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Liste===&lt;br /&gt;
[[Image:VertragNeuePreise_Liste.png]]&amp;lt;br/&amp;gt;&lt;br /&gt;
In dieser Liste sind die geplanten Preisänderungen sichtbar. Über die Filter kann eingestellt werden, ob nur die Einträge für den aktuell ausgewählten oder für alle Verträge angezeigt werden sollen. Zudem kann ausgewählt werden, ob auch erledigte Preisänderungen (Status 21) angezeigt werden sollen. &lt;br /&gt;
===Maske===&lt;br /&gt;
Es gibt die Möglichkeit die Werte über feste Beträge oder eine prozentuale Änderung zu ändern. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Feste Beträge&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
Bei Neuanlage werden die Werte aus dem Vertrag vorbelegt. Sie können diese einfach in die gewünschten neuen Beträge ändern.&amp;lt;br/&amp;gt;  Wenn ein Wert hierbei auf 0 gesetzt wird, wird dies auch so in den Vertrag übernommen. &amp;lt;br/&amp;gt;&lt;br /&gt;
[[Image:VertragNeuePreise_MaskeReiter1.png]]&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Prozentuale Änderung&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
Sollen die Änderungen prozentual erfolgen muss das Häkchen &#039;&#039;&#039;Prozentwerte aktiv&#039;&#039;&#039; aktiviert werden. Auf dem Reiter &#039;&#039;&#039;2 Preozentuale Änderung&#039;&#039;&#039; können dann die Prozentwerte eingetragen werden um welche die ursprünglichen Preise der jeweiligen Felder erhöht werden sollen. (Beispiel: 100 Prozent bewirkt, dass der Preis sich verdoppelt)&amp;lt;br/&amp;gt;&lt;br /&gt;
Hierbei werden nur Werte, die nicht 0 sind, berechnet.&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Image:VertragNeuePreise_MaskeReiter2.png]]&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(Tipp:N6 als Vorbelegung fest, wenn sie viele Verträge übernehmen wollen)&amp;lt;br/&amp;gt;&lt;br /&gt;
{{Hinweis|Es können nur Werte abgeändert werden die im Originalvertrag ein passendes Erlöskonto besitzen.}}&lt;br /&gt;
===Anlagen von Preisänderungseinträgen===&lt;br /&gt;
Wenn kein Vertrag markiert ist, kann über den Aufruf von &#039;&#039;N6&#039;&#039; die Liste geöffnet werden und dort mit {{Einfg}} ein Eintrag für den aktuell ausgewählten Vertrag angelegt werden (s. [[OBS/Stammdaten/Verträge/F10_Weitere_Funktionen#Maske|Maske]]). &lt;br /&gt;
&lt;br /&gt;
Es können auch mehrere Verträge markiert werden. Wird dann &#039;&#039;N6&#039;&#039; aufgerufen, können über {{Einfg}} für alle markierten Verträge ein Eintrag angelegt werden. Es gibt nun die Möglichkeit für einen Eintrag prozentuale Änderungen einzutragen und diese auf die anderen Verträge zu kopieren. Dies ist hilfreich wenn die Preise für mehrere Verträge um die gleichen prozentualen Werte geändert werden sollen. &lt;br /&gt;
&lt;br /&gt;
Es müssen hierfür zunächst für einen Vertrag die prozentualen Werte eingetragen werden. Anschließen müssen alle Verträge mit {{F5}} markiert werden, die die selben Preisänderungen erhalten sollen. Nun wählen Sie den Vertrag aus, der die Änderungen enthält (der Cursor der Liste muss auf diesem Vertrag stehen) und drücken {{Key|F7 % Übern.}}. Die Werte für die prozentuale Änderung werden nun auf alle markierten Verträge kopiert.&lt;br /&gt;
&lt;br /&gt;
===Übernahme===&lt;br /&gt;
Unter {{F10}} können Einträge markiert werden. Hierbei können auch die Werte innerhalb eines bestimmten Datums markiert werden. Mit {{F5}} können einzelne Einträge markiert oder demarkiert werden. &lt;br /&gt;
Mit {{F6}} können die markierten Preisänderungne in die Verträge übernommen werden. Hierbei werden nur Einträge mit Status 01 berücksichtigt.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nach Änderung des Vertrages wird im Vertrag unter F8 die Änderung protokolliert. &amp;lt;br/&amp;gt;  &lt;br /&gt;
[[Image:VertragNeuePreise_InfoSystem.png]]&amp;lt;br/&amp;gt;&lt;br /&gt;
===Dokumente===&lt;br /&gt;
Sollen automatisch Dokumente (Word/Libre Office) erstellt werden können Sie hierzu das Modul [[OBS/Kostenpflichtige_Module/Dokumenten_Manager#Liste|Dokumenten Manager]] verwenden.&lt;br /&gt;
&lt;br /&gt;
==O - Vertrag/Geräte Einnahmen/Ausgaben (EXCEL)==&lt;br /&gt;
Über diesen Punkt können Sie eine Excel Datei mit Informationen zu den Einnahmen und Ausgaben zu allen markierten Verträgen erstellen lassen. Zusätzlich werden alle auf den Verträgen befindlichen Geräten mit angezeigt. Hierbei werden nur Geräte ohne Folgenummer berücksichtigt.&lt;br /&gt;
&lt;br /&gt;
Folgende Daten werden pro Vertrag ausgegeben: &lt;br /&gt;
*Vertrag-Nr.&lt;br /&gt;
*Kundennummer&lt;br /&gt;
*Kundenname&lt;br /&gt;
*Mietpauschaleinnahmen&lt;br /&gt;
*Wartungspauschaleinnahmen&lt;br /&gt;
*ZusKostpauschaleinnahmen&lt;br /&gt;
*Pauschaleinnahmen&lt;br /&gt;
*Überklickeinnahmen&lt;br /&gt;
*Verbrauchskosten(Toner...)&lt;br /&gt;
*Technikkosten&lt;br /&gt;
*Ersatzteilkosten&lt;br /&gt;
*Wartungspauschale / Monat&lt;br /&gt;
*Freikopien SW / Monat&lt;br /&gt;
*Freikopien Farbe / Monat&lt;br /&gt;
*Folgeklickpreis SW&lt;br /&gt;
*Folgeklickpreis Farbe&lt;br /&gt;
*Mehrkopien SW&lt;br /&gt;
*Mehrkopien Farbe&lt;br /&gt;
*Mehrkopien Ø SW&lt;br /&gt;
*Mehrkopien Ø Farbe&lt;br /&gt;
*Mehrkopien SW Gesamt&lt;br /&gt;
*Mehrkopien Farbe Gesamt&lt;br /&gt;
*Mehrkopien Ø SW Gesamt&lt;br /&gt;
*Mehrkopien Ø Farbe Gesamt&lt;br /&gt;
*Summe Einnahmen/Ausgaben Gesamt&lt;br /&gt;
*Summe Einnahmen/Ausgaben Wartung&lt;br /&gt;
*Provisionssatz&lt;br /&gt;
*Provision&lt;br /&gt;
*Vertreter Vertrag&lt;br /&gt;
*Vertreter Person&lt;br /&gt;
&lt;br /&gt;
Pro Gerät werden folgende Daten ausgegeben: &lt;br /&gt;
*Vertrags-Nr.&lt;br /&gt;
*Kundennummer&lt;br /&gt;
*Kundenname&lt;br /&gt;
*Gerätebezeichnung&lt;br /&gt;
*Seriennummer&lt;br /&gt;
*Wartungspauschaleinnahmen Ø SW&lt;br /&gt;
*Wartungspauschaleinnahmen Ø Farbe&lt;br /&gt;
*Überklickeinnahmen SW&lt;br /&gt;
*Überklickeinnahmen Farbe&lt;br /&gt;
*Verbrauchskosten Ø SW&lt;br /&gt;
*Verbrauchskosten Ø Farbe&lt;br /&gt;
*Technikkosten Ø&lt;br /&gt;
*Ersatzteilkosten Ø&lt;br /&gt;
*Erstellte Kopien SW Ø&lt;br /&gt;
*Erstellte Kopien Farbe Ø&lt;br /&gt;
*Folgeklickpreis SW&lt;br /&gt;
*Folgeklickpreis Farbe&lt;br /&gt;
*Summe Einnahmen/Ausgaben Gesamt&lt;br /&gt;
*Summe Einnahmen/Ausgaben Wartung&lt;br /&gt;
*Vertreter Vertrag&lt;br /&gt;
*Vertreter Person&lt;br /&gt;
&lt;br /&gt;
==O1 - Anlagenspiegel (EXCEL)==&lt;br /&gt;
Über diesen Punkt kann ein Export der Geräte zu Excel ausgeführt werden. Wenn kein Vertrag markiert wurde, wird der Export für alle Verträge ausgeführt. &lt;br /&gt;
Dies kann hilfreich bei der Anlagenbuchaltung sein. &lt;br /&gt;
&lt;br /&gt;
Der Export enthält folgende Daten: &lt;br /&gt;
*Gerätenummer&lt;br /&gt;
*Artikelnummer des Gerätes&lt;br /&gt;
*Bzeichnung 1 des Gerätes&lt;br /&gt;
*EK-Preis des Gerätes&lt;br /&gt;
*Vertragsnummer&lt;br /&gt;
*Vertragsdatum&lt;br /&gt;
&lt;br /&gt;
== P - Protkoll Vorgänge ==&lt;br /&gt;
Zeigt ein Protokoll über alle allgemeinen Vertragsvorgänge, also wann zum Beispiel eine Abrechnung erfolgte oder wann eine Rechnung gelöscht wurde. Eine detaillierte Auflistung mit einzelnen Positionen und einer Erklärung der Felder und Typen finden Sie unter [[OBS/Stammdaten/Verträge/F10 Weitere Funktionen#Q - Protokoll des Vertrages|Q - Protokoll des Vertrages]].&lt;br /&gt;
&lt;br /&gt;
== Q - Protokoll des Vertrages ==&lt;br /&gt;
Zeigt ein Protkoll für den aktuellen Vertrag. &lt;br /&gt;
&lt;br /&gt;
=== Spalten des Protokolls: ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Spalten&lt;br /&gt;
!Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
|Vorgang&lt;br /&gt;
|UID des jeweiligen Vorgangs (zum Beispiel der Erstellung einer Rechnung)&lt;br /&gt;
|-&lt;br /&gt;
|V-Nr&lt;br /&gt;
|Vertragsnummer&lt;br /&gt;
|-&lt;br /&gt;
|RE-Nr.&lt;br /&gt;
|Rechnungsnummer (falls vorhanden)&lt;br /&gt;
|-&lt;br /&gt;
|Typ&lt;br /&gt;
|Art des Protokolleintrages. Folgende Typen gibt es: &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Typ&lt;br /&gt;
!Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
|D&lt;br /&gt;
|Erstellung einer Druckabrechnungsposition&lt;br /&gt;
|-&lt;br /&gt;
|E&lt;br /&gt;
|Fehler (Error)&lt;br /&gt;
|-&lt;br /&gt;
|L&lt;br /&gt;
|Löschen einer Rechnungsposition&lt;br /&gt;
|-&lt;br /&gt;
|P&lt;br /&gt;
|Erstellung einer Pauschalabrechnungsposition&lt;br /&gt;
|-&lt;br /&gt;
|V&lt;br /&gt;
|Vorgang (s. [[OBS/Stammdaten/Verträge/F10 Weitere Funktionen#P - Protkoll Vorgänge|P - Protokoll Vorgänge]])&lt;br /&gt;
|-&lt;br /&gt;
|Z&lt;br /&gt;
|Erstellung einer Zusatzkosten Position bzw. Rechnung&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
|Text&lt;br /&gt;
|Text des Protokolleintrages&lt;br /&gt;
|-&lt;br /&gt;
|Datum&lt;br /&gt;
|Datum des Protokolleintrages&lt;br /&gt;
|-&lt;br /&gt;
|Zeit&lt;br /&gt;
|Zeit des Protokolleintrages&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==V - Vertrags-Inventur==&lt;br /&gt;
Erfassen der Lagerwerte von Verbrauchsmaterialien bei Ihren Kunden. Nähere Informationen zur Funktionsweise finden Sie [[OBS/Stammdaten/Verträge/Vertragsinventur|hier]].&lt;br /&gt;
==W - Markierte Verträge Mehrwertsteuersatz ändern==&lt;br /&gt;
Hierüber kann der [[OBS/Stammdaten/Weitere Stammdaten/Mehrwertsteuer|Mehrwetsteuersatz]] der markierten Verträge geändert werden. Es kann dabei ausgewählt werden, ob diese Änderung für die Pauschal-, Druck- und/oder Zusatzkostenabrechnung durchgeführt werden soll. &lt;br /&gt;
==W1 - Markierte Verträge Zahlungsart ändern==&lt;br /&gt;
Hierüber kann bei allen markierten Verträgen die Zahlungsart (Rechnung, Abbuchung, Überweisung) überschrieben werden. &lt;br /&gt;
==W2 - Markierte Verträge Eigenschaft setzen==&lt;br /&gt;
Hierüber kann allen markierten Verträgen eine Eigenschaft zugeordnet werden. &lt;br /&gt;
==W3 - Markierte Verträge Eigenschaft setzen==&lt;br /&gt;
Hierüber kann bei allen markierten Verträgen eine Eigenschaft entfernt werden.&lt;br /&gt;
==X - Alle Verträge Seiten Korrigieren==&lt;br /&gt;
==Y - Alle Verträge Verbrauchsmaterial korrigieren==&lt;br /&gt;
Hier wird die Vertragsstatistik Einahmen/Ausgaben an Hand des aktuell (neu) angegebenen Verbrauchsmaterials, b.z.w. der neu gesetzten Parameter beim Verbrauchsmaterial neu berechnet.&amp;lt;br /&amp;gt;&lt;br /&gt;
==Z - Einstellungen==&lt;br /&gt;
Einstellungen für das Modul &amp;quot;Vertrag&amp;quot;.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Einstellung!! Erklärung&lt;br /&gt;
|-&lt;br /&gt;
| ZählErf.MPS.Ubernahme.KeinePrüfung|| Aktiviert in der Zählerstandsübernahme von MPS-Zählern die Option die Übernahme ohne Prüfungen auszuführen. (Nicht empfohlen!)&lt;br /&gt;
|-&lt;br /&gt;
| ZählErf.MPS.Ubernahme.Vorb.ZählerWahl|| Definiert für die Zählerstandsübernahme von MPS-Zählern eine Vorbelegung der Zählerstandsprüfung-Auswahl (wenn Alt &amp;gt; Neu). Dies deaktiviert die Auswahl und nimmt diese Einstellung.&amp;lt;br /&amp;gt;0 = Aus/Keine Vorbelegung&amp;lt;br /&amp;gt;1 = Übernahme des alten Zählerstands als neuen Zählerstand&amp;lt;br /&amp;gt;2 = manuelle Eingabe eines neuen Zählerstands&amp;lt;br /&amp;gt;3 = Übernahme überspringen&lt;br /&gt;
|}&lt;br /&gt;
==Z1 - Freitext Suche==&lt;br /&gt;
Es kann nach einem beliebigen Text in der Vertragsübersicht gesucht werden.&lt;/div&gt;</summary>
		<author><name>Nimz</name></author>
	</entry>
	<entry>
		<id>https://wiki.bergau.de/index.php?title=OBS/Makros_und_Scripting/Allgemeines/Klassen/Vorg%C3%A4nge&amp;diff=64514</id>
		<title>OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge</title>
		<link rel="alternate" type="text/html" href="https://wiki.bergau.de/index.php?title=OBS/Makros_und_Scripting/Allgemeines/Klassen/Vorg%C3%A4nge&amp;diff=64514"/>
		<updated>2026-06-12T13:16:25Z</updated>

		<summary type="html">&lt;p&gt;Nimz: /* Properties */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Makros und Scripting}}&lt;br /&gt;
Es gibt für die Generierung von Vorgängen eigene Klassen. Da es zwischen den Vorgängen immer irgendwelche Unterschiede gibt, existiert auch für jeden Vorgangs-Typ eine eigene Klasse.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Übersicht Klassen:&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Angebot|Angebot]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Auftrag|Auftrag]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Reparaturauftrag|Reparaturauftrag]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Produktionsauftrag|Produktionsauftrag]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Lieferschein|Lieferschein]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Rechnung|Rechnung]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Bestellung|Bestellung]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Einkaufslieferschein|Einkaufslieferschein]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Einkauf|Einkauf]]&lt;br /&gt;
&lt;br /&gt;
= Datentypen =&lt;br /&gt;
&lt;br /&gt;
== Enumerationen ==&lt;br /&gt;
&lt;br /&gt;
=== TVB_PosType ===&lt;br /&gt;
Positionstyp einer [[#TVorgangPos|TVorgangPos]]. Wird &amp;amp;uuml;ber die Property &amp;lt;code&amp;gt;[[#TVorgangPos_Prop_Typ|Typ]]&amp;lt;/code&amp;gt; gelesen/gesetzt.&lt;br /&gt;
Die zugeh&amp;amp;ouml;rigen String-Konstanten sind unter [[#Konstanten|Konstanten]] beschrieben.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wert !! Bezeichner !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 0 || &amp;lt;code&amp;gt;ptPosition&amp;lt;/code&amp;gt; || Normale Artikelposition&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 1 || &amp;lt;code&amp;gt;ptText&amp;lt;/code&amp;gt; || Textzeile / Memorundzeile&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 2 || &amp;lt;code&amp;gt;ptLeerzeile&amp;lt;/code&amp;gt; || Leere Trennzeile&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 3 || &amp;lt;code&amp;gt;ptZwischensumme&amp;lt;/code&amp;gt; || Zwischensummen-Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 4 || &amp;lt;code&amp;gt;ptTitelsumme&amp;lt;/code&amp;gt; || Titelsummen-Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 5 || &amp;lt;code&amp;gt;ptTitel&amp;lt;/code&amp;gt; || Titelzeile&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 6 || &amp;lt;code&amp;gt;ptGewerk&amp;lt;/code&amp;gt; || Gewerk-Kopfzeile&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 7 || &amp;lt;code&amp;gt;ptSeitenumbruch&amp;lt;/code&amp;gt; || Manueller Seitenumbruch&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 8 || &amp;lt;code&amp;gt;ptBild&amp;lt;/code&amp;gt; || Bildposition&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVB_MaterMode ===&lt;br /&gt;
Steuert den Materialmodus beim Lesen von Positionsdaten.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wert !! Bezeichner !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 0 || &amp;lt;code&amp;gt;mmNone&amp;lt;/code&amp;gt; || Kein spezieller Materialmodus&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 1 || &amp;lt;code&amp;gt;mmMD5&amp;lt;/code&amp;gt; || Materialpr&amp;amp;uuml;fung per MD5-Hash&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 2 || &amp;lt;code&amp;gt;mmReadUID&amp;lt;/code&amp;gt; || Material-UID direkt lesen&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVorgangFehlerTyp ===&lt;br /&gt;
Klassifiziert einen Eintrag in der internen Fehlerliste eines [[#TVorgang|TVorgang]].&lt;br /&gt;
Wird im Record [[#TVorgangFehler|TVorgangFehler]] verwendet.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wert !! Bezeichner !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 0 || &amp;lt;code&amp;gt;vftOther&amp;lt;/code&amp;gt; || Sonstiger Hinweis&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 1 || &amp;lt;code&amp;gt;vftCritical&amp;lt;/code&amp;gt; || Kritischer Fehler (blockiert Speichern)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 2 || &amp;lt;code&amp;gt;vftSaveCheck&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;fung beim Speichern&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 3 || &amp;lt;code&amp;gt;vftPosInfo&amp;lt;/code&amp;gt; || Positionsbezogene Information&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVorgangFehlerLoeschenLesen ===&lt;br /&gt;
Steuert, welche Fehler nach dem Lesen via &amp;lt;code&amp;gt;[[#TVorgang_Meth_leseFehler|leseFehler]]&amp;lt;/code&amp;gt; aus der Liste gel&amp;amp;ouml;scht werden.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wert !! Bezeichner !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 0 || &amp;lt;code&amp;gt;vfllNone&amp;lt;/code&amp;gt; || Kein Fehler nach dem Lesen l&amp;amp;ouml;schen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 1 || &amp;lt;code&amp;gt;vfllAll&amp;lt;/code&amp;gt; || Alle Fehler nach dem Lesen l&amp;amp;ouml;schen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 2 || &amp;lt;code&amp;gt;vfllSkipCritical&amp;lt;/code&amp;gt; || Nur nicht-kritische Fehler l&amp;amp;ouml;schen (Standard)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Records ==&lt;br /&gt;
&lt;br /&gt;
=== TVorgangPosOriginal ===&lt;br /&gt;
Enth&amp;amp;auml;lt Referenzinformationen der Ursprungsposition (z.&amp;amp;nbsp;B. bei der Vorgangs&amp;amp;uuml;bernahme).&lt;br /&gt;
Wird &amp;amp;uuml;ber die Property &amp;lt;code&amp;gt;[[#TVorgangPos_Prop_OriginalPos|OriginalPos]]&amp;lt;/code&amp;gt; einer [[#TVorgangPos|TVorgangPos]] geliefert.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Feld !! Typ !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;rDMS&amp;lt;/code&amp;gt; || TDMSType || DMS-Typ des Ursprungsvorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cNr&amp;lt;/code&amp;gt; || String || Vorgangsnummer des Ursprungs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cUid&amp;lt;/code&amp;gt; || String || UID der Ursprungsposition&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSysUid&amp;lt;/code&amp;gt; || String || System-UID der Ursprungsposition&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Methoden:&#039;&#039;&#039;&lt;br /&gt;
{{Achtung|Funktioniert nur im Scriptrunner &amp;quot;Pax&amp;quot;! Aktiver Scriptrunner ist definiert in Programmparameter 444.}}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signatur !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Clear&amp;lt;/code&amp;gt; || Leert alle Felder des Records&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure SetData(const ADMS: TDMSType; qPos: TxFQuery)&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt den Record aus einem Positions-Query&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVorgangPosParams_AktualisiereDaten ===&lt;br /&gt;
Steuert, welche Datenbereiche bei &amp;lt;code&amp;gt;[[#TVorgangPos_Meth_AktualisiereDaten|AktualisiereDaten]]&amp;lt;/code&amp;gt; aktualisiert werden sollen.&lt;br /&gt;
Wird &amp;amp;uuml;ber die Property &amp;lt;code&amp;gt;[[#TVorgang_Prop_ParameterPositionsdatenAktualisieren|ParameterPositionsdatenAktualisieren]]&amp;lt;/code&amp;gt; von [[#TVorgang|TVorgang]] gesetzt.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Feld !! Typ !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lTexte&amp;lt;/code&amp;gt; || Boolean || Bezeichnungen/Texte aktualisieren&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lEK&amp;lt;/code&amp;gt; || Boolean || Einkaufspreise aktualisieren&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lVK&amp;lt;/code&amp;gt; || Boolean || Verkaufspreise aktualisieren&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Methoden:&#039;&#039;&#039;&lt;br /&gt;
{{Achtung|Funktioniert nur im Scriptrunner &amp;quot;Pax&amp;quot;! Aktiver Scriptrunner ist definiert in Programmparameter 444.}}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signatur !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Init(const cVorb: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;)&amp;lt;/code&amp;gt; || Initialisiert die Parameter mit Standardwerten; optionaler Vorbelegungsschl&amp;amp;uuml;ssel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Aktualisieren(): boolean&amp;lt;/code&amp;gt; || Gibt &amp;lt;code&amp;gt;True&amp;lt;/code&amp;gt; zur&amp;amp;uuml;ck, wenn mindestens ein Aktualisierungsschalter gesetzt ist&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVorgangPosSummen ===&lt;br /&gt;
Speichert Zwischen- und Titelsummen-Betr&amp;amp;auml;ge je Ebene (1 bis &amp;lt;code&amp;gt;VB_MAX_SummenEbenen&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Feld !! Typ !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;aZw[1..9]&amp;lt;/code&amp;gt; || Double || Zwischensummen-Betr&amp;amp;auml;ge je Ebene&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;aTit[1..9]&amp;lt;/code&amp;gt; || Double || Titelsummen-Betr&amp;amp;auml;ge je Ebene&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Methoden:&#039;&#039;&#039;&lt;br /&gt;
{{Achtung|Funktioniert nur im Scriptrunner &amp;quot;Pax&amp;quot;! Aktiver Scriptrunner ist definiert in Programmparameter 444.}}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signatur !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Clear&amp;lt;/code&amp;gt; || Setzt alle Summen auf 0&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure ClearZw(const nEbene: integer)&amp;lt;/code&amp;gt; || Setzt Zwischensumme der Ebene nEbene auf 0&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure ClearTit(const nEbene: integer)&amp;lt;/code&amp;gt; || Setzt Titelsumme der Ebene nEbene auf 0&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure AddZw(const nBetrag: double)&amp;lt;/code&amp;gt; || Addiert Betrag zur aktiven Zwischensummen-Ebene&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure AddTit(const nBetrag: double)&amp;lt;/code&amp;gt; || Addiert Betrag zur aktiven Titelsummen-Ebene&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function ReadZw(const nEbene: integer): double&amp;lt;/code&amp;gt; || Liefert den Zwischensummen-Betrag der Ebene&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function ReadTit(const nEbene: integer): double&amp;lt;/code&amp;gt; || Liefert den Titelsummen-Betrag der Ebene&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVorgangEigenschaft ===&lt;br /&gt;
Repr&amp;amp;auml;sentiert ein Vorgangsmerkmal (Eigenschaft), das per &amp;lt;code&amp;gt;[[#TVorgang_Meth_EigenschaftSetzen|EigenschaftSetzen]]&amp;lt;/code&amp;gt; gesetzt wird.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Feld !! Typ !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cNr&amp;lt;/code&amp;gt; || String || Merkmalsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lMode&amp;lt;/code&amp;gt; || Boolean || True = setzen, False = l&amp;amp;ouml;schen&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVorgangFehler ===&lt;br /&gt;
Ein Eintrag in der internen Fehlerliste von [[#TVorgang|TVorgang]].&lt;br /&gt;
Wird per &amp;lt;code&amp;gt;[[#TVorgang_Meth_leseFehler|leseFehler]]&amp;lt;/code&amp;gt; ausgelesen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Feld !! Typ !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cTitel&amp;lt;/code&amp;gt; || String || Fehlertitel (Kurzbeschreibung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cText&amp;lt;/code&amp;gt; || String || Fehlertext (Detailbeschreibung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;eTyp&amp;lt;/code&amp;gt; || [[#TVorgangFehlerTyp|TVorgangFehlerTyp]] || Fehlerklassifikation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Konstanten ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Konstante !! Wert !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_POS&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;0&#039;&amp;lt;/code&amp;gt; || Positionstyp normale Artikelposition (entspricht [[#TVB_PosType|ptPosition]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_TXT&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;1&#039;&amp;lt;/code&amp;gt; || Positionstyp Textzeile (entspricht [[#TVB_PosType|ptText]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_ELN&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;2&#039;&amp;lt;/code&amp;gt; || Positionstyp Leerzeile (entspricht [[#TVB_PosType|ptLeerzeile]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_ZWS&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;3&#039;&amp;lt;/code&amp;gt; || Positionstyp Zwischensumme (entspricht [[#TVB_PosType|ptZwischensumme]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_TIS&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;4&#039;&amp;lt;/code&amp;gt; || Positionstyp Titelsumme (entspricht [[#TVB_PosType|ptTitelsumme]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_TIT&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;7&#039;&amp;lt;/code&amp;gt; || Positionstyp Titel (entspricht [[#TVB_PosType|ptTitel]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_GEW&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;8&#039;&amp;lt;/code&amp;gt; || Positionstyp Gewerk (entspricht [[#TVB_PosType|ptGewerk]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_PBR&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;17&#039;&amp;lt;/code&amp;gt; || Positionstyp Seitenumbruch (entspricht [[#TVB_PosType|ptSeitenumbruch]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_PIC&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;19&#039;&amp;lt;/code&amp;gt; || Positionstyp Bild (entspricht [[#TVB_PosType|ptBild]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;VB_DEFAULT_BezZwischensumme&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;ZWISCHENSUMME    :&#039;&amp;lt;/code&amp;gt; || Standard-Bezeichnung f&amp;amp;uuml;r Zwischensummen-Positionen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;VB_DEFAULT_BezTitelsumme&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;TITELSUMME       :&#039;&amp;lt;/code&amp;gt; || Standard-Bezeichnung f&amp;amp;uuml;r Titelsummen-Positionen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;VB_MAX_SummenEbenen&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;9&amp;lt;/code&amp;gt; || Maximale Anzahl von Summenebenen (Zwischen- und Titelsummen)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Basisklassen Vorgangsgenerierung=&lt;br /&gt;
&lt;br /&gt;
== TVorgang ==&lt;br /&gt;
&lt;br /&gt;
=== Variablen ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Name !! Typ !! Zugriff !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;oMyDB&amp;lt;/code&amp;gt; || TxDB || Lesen/Schreiben || Datenbankverbindung des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;oProtokoll&amp;lt;/code&amp;gt; || TStringList || Lesen/Schreiben || Protokoll-Liste (Meldungen/Log)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lMeldung&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Steuert Anzeige von Benutzer-Meldungen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lSetPSBemAuto&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Automatische Positionsbemerkung setzen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVorgNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Vorgangsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cProjNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Projektnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lBrutto&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Brutto-Modus aktiv&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLanguage&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sprach-Code (intern, z.&amp;amp;nbsp;B. f&amp;amp;uuml;r Formulare)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLagNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lagernummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cTyp&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Vorgangstyp-K&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dVorgDat&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Vorgangsdatum&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dFaelligDat&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || F&amp;amp;auml;lligkeitsdatum&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dBuchDat&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Buchungsdatum&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dAufDat&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Auftragsdatum&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKdNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kundennummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cAnrede&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Anrede des Kunden&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cName&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Name des Kunden&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVorname&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Vorname des Kunden&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cZusatz1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Adresszusatz 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cZusatz2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Adresszusatz 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cStrasse&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Stra&amp;amp;szlig;e der Lieferadresse&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPostfach&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Postfach&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLK&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || L&amp;amp;auml;nderkennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPLZ&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Postleitzahl&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cOrt&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Ort&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cAngebNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Angebotsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLSNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferscheinnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRechNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cAuftNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Auftragsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRepaNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Reparaturauftragsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cEinkaufsNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Einkaufsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBestellNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Bestellnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosText&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionstext (globaler Standardtext)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLProjNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Leistungsprojektnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKopftext&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kopftext des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cFusstext&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Fu&amp;amp;szlig;text des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nNBetrag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Nettobetrag gesamt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nBBetrag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Bruttobetrag gesamt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nEKBetrag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Einkaufsbetrag gesamt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabattBetrag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabattbetrag gesamt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabattProz&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabattprozentsatz gesamt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nAnzahlung&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Anzahlungsbetrag&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nPorto&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Portokosten&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nVerpackung&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Verpackungskosten&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lSplitPoVe&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Porto und Verpackung getrennt ausweisen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVersand&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandart&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cWaehr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || W&amp;amp;auml;hrungsk&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cFormul&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Formularnummer/-k&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVAnr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandanrede&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVName1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandname 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVName2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandname 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVZusatz&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandadresse Zusatz&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVStrasse&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandstra&amp;amp;szlig;e&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVLK&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versand-L&amp;amp;auml;nderkennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVPLZ&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versand-PLZ&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVOrt&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandort&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandadresse UID&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPrio&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Priorit&amp;amp;auml;t des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cAuftNrKd&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Auftrags-/Bestellnummer des Kunden&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBesteller&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Besteller (Person)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSachb&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sachbearbeiter&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabPosJN&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionsrabatt anzeigen J/N&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMWSTJN&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Mehrwertsteuer ausweisen J/N&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText3&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 3&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText4&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 4&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText5&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 5&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText6&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 6&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText7&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 7&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPreisJN&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Preis auf Dokument drucken J/N&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMwStAbs&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || MwSt-Absetzungstext/-K&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dLiefDat&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Lieferdatum&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cDeleted&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Gel&amp;amp;ouml;scht-Kennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dLDat2&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Zweites Lieferdatum&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSprache&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sprache des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReEmpf&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Nummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReAnrede&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Anrede&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReName&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Name&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReVorname&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Vorname&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReZusatz1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Adresszusatz 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReZusatz2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Adresszusatz 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReStrasse&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Stra&amp;amp;szlig;e&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRePostfach&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Postfach&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReLK&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-L&amp;amp;auml;nderkennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRePLZ&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-PLZ&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReOrt&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Ort&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVertreter&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Vertreter-K&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVerbucht&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Verbucht-Kennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLager&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lager-K&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRechFrei&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsfreigabe-Kennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBonNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Bonnummer (Kasse)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMandant&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Mandantenk&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nMwStDM&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || MwSt-Betrag in DM (Altw&amp;amp;auml;hrung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nKursDM&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Wechselkurs DM&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nAbschlag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Abschlagsbetrag&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nZBetrag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Zahlungsbetrag&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nZSkonto&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Skonto-Betrag&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dZDatum&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Zahlungsdatum&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMemo&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Memofeld des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nValuta&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Valutatage&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKostenst&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kostenstelle&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKostentraeger&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kostentr&amp;amp;auml;ger&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKalkGr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kalkulationsgruppe&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cFrachtV&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Frachtart/-vorschrift&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nFrachtK&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Frachtkosten&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nFrachtG&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Frachtgewicht&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cGruppe&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Vorgangsgruppe&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nPosInc&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Positionsnummer-Inkrement&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cFiliale&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Filialk&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabText&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabatttextfeld (kurz)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cErfasser&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Erfasser des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nSKFBetrag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Skontof&amp;amp;auml;higer Betrag&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lLiefStrecke&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Lieferstreckengesch&amp;amp;auml;ft aktiv&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBetreff&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Betreffzeile&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMemoDruck&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Druckmemo (erscheint auf Dokument)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLieferLiefNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferanten-Lieferscheinnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabattText&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabatttext (lang)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSysUid&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || System-UID des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lLeistPreis2&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Leistungspreis 2 verwenden&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cFunction&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Funktionsk&amp;amp;uuml;rzel (Scripting-Hook)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lSaveAllowed&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Speichern erlaubt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lVorgangsSperre&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Vorgang gesperrt&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Properties ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Name !! Typ !! Zugriff !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;DmsTyp&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || DMS-Typ des Vorgangs (z.&amp;amp;nbsp;B. AN, AU, LS, RE)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;MainTable&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Haupttabelle des Vorgangs (Datenbankname)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PosTable&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionstabelle des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosFormat&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionsnummern-Format&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgang_Prop_ParameterPositionsdatenAktualisieren&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;ParameterPositionsdatenAktualisieren&amp;lt;/code&amp;gt; || [[#TVorgangPosParams_AktualisiereDaten|TVorgangPosParams_AktualisiereDaten]] || Lesen/Schreiben || Parameter f&amp;amp;uuml;r Massenaktualisierung von Positionsdaten&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PnPosCnt&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Anzahl der Positionen im Vorgang&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PaPositionen[Index]&amp;lt;/code&amp;gt; || [[#TVorgangPos|TVorgangPos]] || Lesen/Schreiben || Array der Positionsobjekte (0-basiert)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PcRabGrPers&amp;lt;/code&amp;gt; || String || Nur Lesen || Rabattgruppe der Person (aus Stammdaten ermittelt)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PcVKdNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || VK-Kundennummer (alternativ zur cKdNr f&amp;amp;uuml;r Preisfindung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nNet1&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Nettobetrag MwSt-Schl&amp;amp;uuml;ssel 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nNet2&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Nettobetrag MwSt-Schl&amp;amp;uuml;ssel 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nNet3&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Nettobetrag MwSt-Schl&amp;amp;uuml;ssel 3&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nBrutto1&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Bruttobetrag MwSt-Schl&amp;amp;uuml;ssel 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nBrutto2&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Bruttobetrag MwSt-Schl&amp;amp;uuml;ssel 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nBrutto3&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Bruttobetrag MwSt-Schl&amp;amp;uuml;ssel 3&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nMwSt1&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || MwSt-Betrag Schl&amp;amp;uuml;ssel 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nMwSt2&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || MwSt-Betrag Schl&amp;amp;uuml;ssel 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nMwSt3&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || MwSt-Betrag Schl&amp;amp;uuml;ssel 3&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMwStSchl1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || MwSt-Schl&amp;amp;uuml;ssel 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMwStSchl2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || MwSt-Schl&amp;amp;uuml;ssel 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMwStSchl3&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || MwSt-Schl&amp;amp;uuml;ssel 3&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKeineVersPausch&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Keine Versandpauschale berechnen J/N&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cZahlBed&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Zahlungsbedingung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lNewVorgang&amp;lt;/code&amp;gt; || Boolean || Nur Lesen || Neuer (noch nicht gespeicherter) Vorgang&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKopfNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kopftextbaustein-Nummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cFussNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Fu&amp;amp;szlig;textbaustein-Nummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLiefStrecke&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferstrecken-K&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cStatus&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Status des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cStatM&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Material-Status&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cStatS&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Service-Status&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cStatL&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferstatus&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cStatR&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsstatus&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cColStatus&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Farb-/Anzeigestatus (f&amp;amp;uuml;r UI)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cZustand&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Zustandskenner des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cArt&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Vorgangsart-K&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBonusJN&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Bonus berechnen J/N&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVersandkostenMBW&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandkosten-Mindestbestellwert-Kennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cWKNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Werbungskosten-Nummer&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Methoden ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signatur !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;constructor Create(const cUid: string; oxDB: TxDB; cDmsType: string)&amp;lt;/code&amp;gt; || Erstellt einen neuen Vorgang mit UID, Datenbankverbindung und DMS-Typ&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;destructor Destroy&amp;lt;/code&amp;gt; || Gibt den Vorgang und alle Ressourcen frei&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function SemaphoreCreate(cFName: string; lMeldung: boolean = False; cWait: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;): boolean&amp;lt;/code&amp;gt; || Erstellt eine Datei-Semaphore (Sperrdatei); gibt True zur&amp;amp;uuml;ck wenn erfolgreich&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function SemaphoreInUse(cFName: string): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft ob die Semaphore-Datei bereits in Verwendung ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure SemaphoreReleaseAll&amp;lt;/code&amp;gt; || Gibt alle Semaphoren dieses Vorgangs frei&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure SemaphoreRelease(cFName: string)&amp;lt;/code&amp;gt; || Gibt eine bestimmte Semaphore frei&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstAngebot(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang ein Angebot ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstAuftrag(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang ein Auftrag ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstReparaturAuftrag(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang ein Reparaturauftrag ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstLieferschein(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang ein Lieferschein ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstRechnung(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang eine Rechnung ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstBestellung(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang eine Bestellung ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstAnfrage(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang eine Anfrage ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstEKLieferschein(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang ein EK-Lieferschein ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstEinkauf(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang ein Einkaufsvorgang ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstVG_VK(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn es sich um einen Verkaufsvorgang handelt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstVG_EK(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn es sich um einen Einkaufsvorgang handelt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function NeuNumLock(): boolean&amp;lt;/code&amp;gt; || Sperrt die Neunummerierung (verhindert parallele Vergabe)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure NeuNumLockRelease&amp;lt;/code&amp;gt; || Gibt die Neunummerierungssperre wieder frei&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgNeuNum(cFilter: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;; lAbweichend: boolean = false): string&amp;lt;/code&amp;gt; || Ermittelt und setzt eine neue Vorgangsnummer; gibt die Nummer als String zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgNeuNumBool(cFilter: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;; lAbweichend: boolean = false): boolean&amp;lt;/code&amp;gt; || Wie VorgNeuNum, gibt True/False zur&amp;amp;uuml;ck (f&amp;amp;uuml;r Fehlerbehandlung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstVorgNrGueltig(cUID: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft ob die aktuelle Vorgangsnummer g&amp;amp;uuml;ltig (eindeutig) ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function NeuePositionBase(const cUID: string): [[#TVorgangPos|TVorgangPos]]&amp;lt;/code&amp;gt; || Legt eine neue Positionsinstanz an und f&amp;amp;uuml;gt sie dem Vorgang hinzu&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure NeuePositionBaseMS(const cUID: string; oOrgPos: [[#TVorgangPos|TVorgangPos]])&amp;lt;/code&amp;gt; || Legt eine neue Position als Multi-Steuer-Folgeposition an&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function LoeschePositionBase(nDel: integer): Boolean&amp;lt;/code&amp;gt; || L&amp;amp;ouml;scht die Position mit dem angegebenen Index&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure VerschiebePositionBase(nPos: integer; nZiel: integer)&amp;lt;/code&amp;gt; || Verschiebt Position von Index nPos zu Index nZiel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CheckIfNotNull(): Boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft ob Pflichtfelder des Vorgangs bef&amp;amp;uuml;llt sind&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CheckIfFirstPosOption(): Boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft ob die erste Position eine Optionsposition ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IsPosBerechnung(cPosArt: string): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft ob eine Positionsart als Berechnungsposition gilt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure CopyFrom(oSrc: [[#TVorgang|TVorgang]])&amp;lt;/code&amp;gt; || Kopiert alle Felder aus einem anderen Vorgang&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure KalkAll(lZusatz: boolean = true)&amp;lt;/code&amp;gt; || Kalkuliert alle Positionen und Gesamtsummen neu&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Check_Multisteuer(oOrgPos: [[#TVorgangPos|TVorgangPos]]; const cTable, cMUID, cRefNr: string)&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft und setzt Multi-Steuer-Verkn&amp;amp;uuml;pfung f&amp;amp;uuml;r eine Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyPosmenge(cFromUID: string): string&amp;lt;/code&amp;gt; || Kopiert Positionsmengen aus einem anderen Vorgang (per UID)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyPosverp(cFromUID: string): string&amp;lt;/code&amp;gt; || Kopiert Positionsverpackungen aus einem anderen Vorgang (per UID)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure fillVersandkostenMBW(const cPsNr: string; const cPsVersand: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;; const PsZusatz: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;)&amp;lt;/code&amp;gt; || Berechnet und setzt Versandkosten auf Basis Mindestbestellwert&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure FillPersonBase(qPers: TxFQuery)&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt Adressfelder des Vorgangs aus einem Personen-Query&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function FillReEmpf(const AReEmpf: string; const AZahlBed: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;): boolean&amp;lt;/code&amp;gt; || Setzt Rechnungsempf&amp;amp;auml;nger und optionale Zahlungsbedingung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function SaveRecord(cUID: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;; lAlleSpeichern: boolean = false): Boolean&amp;lt;/code&amp;gt; || Speichert den Vorgang (abstrakt &amp;amp;ndash; muss in abgeleiteter Klasse implementiert werden)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function ReadVorgangTypBase(cDmsTyp: string; const cNr: string; lPos: boolean = false; lNeg: boolean = false): boolean&amp;lt;/code&amp;gt; || Liest einen Vorgang anhand DMS-Typ und Nummer in das Objekt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function JahrNr(): string&amp;lt;/code&amp;gt; || Gibt das Jahr der Vorgangsnummer zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure NeuNumPos(const lNurPos: boolean = True)&amp;lt;/code&amp;gt; || Nummeriert alle Positionen neu&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function EigenschaftSetzen(const ANr: string; const AMode: boolean): boolean&amp;lt;/code&amp;gt; || Setzt oder l&amp;amp;ouml;scht eine Vorgangseigenschaft (Merkmal) per Nummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure AdresseLeeren&amp;lt;/code&amp;gt; || Leert alle Adressfelder des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure VersandLeeren(lRef: boolean = True)&amp;lt;/code&amp;gt; || Leert alle Versandadressfelder&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure ReEmpfLeeren(const lNurAdr: boolean = False)&amp;lt;/code&amp;gt; || Leert Rechnungsempf&amp;amp;auml;nger-Felder (optional nur Adresse)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure DoServiceTouch(cStatus: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;)&amp;lt;/code&amp;gt; || Aktualisiert Service-Zeitstempel und optionalen Status&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function AuswahlParameterPositionsdatenAktualisieren(const cXDataTable: string): boolean&amp;lt;/code&amp;gt; || Zeigt Dialog zur Auswahl der Aktualisierungsparameter f&amp;amp;uuml;r Positionsdaten&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function ZusatzkostenAktiv(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn Zusatzkostenmodul f&amp;amp;uuml;r diesen Vorgang aktiv ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgang_Meth_leseFehler&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;function leseFehler(out rFehler: [[#TVorgangFehler|TVorgangFehler]]; var nIdx: integer; const eLoeschenNachLesen: [[#TVorgangFehlerLoeschenLesen|TVorgangFehlerLoeschenLesen]] = vfllSkipCritical): boolean&amp;lt;/code&amp;gt; || Liest den n&amp;amp;auml;chsten Fehler aus der internen Fehlerliste&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== TVorgangPos ==&lt;br /&gt;
&lt;br /&gt;
=== Variablen ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Name !! Typ !! Zugriff !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nPosIndex&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Laufender Index der Position im Positions-Array&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Interne Positionsnummer (Datenbankfeld)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKundNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kundennummer an der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cAuftragsNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Referenz-Auftragsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBestellNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Referenz-Bestellnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosText&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionstext (Langtextfeld)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLProjNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Leistungsprojektnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLS_azUid&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferschein-Abrechnungszeilen-UID&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVersandNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionsnummer (formatiert)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosNr2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Zweite Positionsnummer (alternativ)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosKas&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kassier-Positionsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLeistungsNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Leistungsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBezeichnung1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Bezeichnung Zeile 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBezeichnung2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Bezeichnung Zeile 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nUrMenge&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Ursprungsmenge (vor &amp;amp;Auml;nderungen)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nLeistFaktor&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Leistungsfaktor (Multiplikator f&amp;amp;uuml;r Mengenberechnung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cEinheit&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Mengeneinheit&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nMengeG&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Mengenganz (ganzzahliger Mengenanteil)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nKolli&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Kollianzahl&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVerpackung&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Verpackungsart/-k&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nInhalt&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Inhalt pro Verpackungseinheit&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nEPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Einzelpreis (Netto)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nBEPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Brutto-Einzelpreis&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nOBPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Original-Brutto-Einzelpreis (vor Rabatt)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nUrPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Ursprungspreis (Listenpreis VK)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nUrPreisEK&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Ursprungspreis Einkauf&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nGPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Gesamtpreis (Netto)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nBGPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Brutto-Gesamtpreis&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nEKPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Einkaufspreis&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nEKSPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Einkaufssonderpreis&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cManPreis&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Manueller Preis J/N-Kennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabatt&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Gesamtrabatt in Prozent&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabatt1&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabatt 1 in Prozent&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabArt1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabattart 1 (Herkunftskennzeichen)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabatt2&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabatt 2 in Prozent&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabArt2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabattart 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabatt3&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabatt 3 in Prozent&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabArt3&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabattart 3&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabatt4&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabatt 4 in Prozent&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabArt4&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabattart 4&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabatt5&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabatt 5 in Prozent&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabArt5&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabattart 5&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nAddSub&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Additions-/Subtraktionsbetrag (Zuschlag/Abzug absolut)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKonto&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Buchungskonto&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLagNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lagernummer der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLagONr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lager-Ortsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVerkaufer&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Verk&amp;amp;auml;uferk&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cStatus&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionsstatus&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cAngebotsNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Referenz-Angebotsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Eindeutige ID der Position (GUID)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Multi-Steuer-UID (Verkn&amp;amp;uuml;pfung bei Multisteuer)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRTVon&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || R&amp;amp;uuml;cktragungs-Referenz (von welcher Position)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSpNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Speditionsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBestellUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || UID der verkn&amp;amp;uuml;pften Bestellposition&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMaterialUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || UID des verkn&amp;amp;uuml;pften Materialeintrags&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cEiliUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || UID der Eillieferungsposition&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cXUID1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Erweiterungs-UID 1 (freie Verkn&amp;amp;uuml;pfung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cXUID2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Erweiterungs-UID 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cXUID3&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Erweiterungs-UID 3&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cXUID4&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Erweiterungs-UID 4&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKommentar&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kommentarfeld der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nProvision&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Provisionsanteil in Prozent&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLiefKz&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferkennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cProdGr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Produktgruppe&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nFrachtV&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Frachtvolumen der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLSNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferscheinnummer der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dLSDatum&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Lieferscheindatum der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosArt&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionsart (z.&amp;amp;nbsp;B. N=Normal, O=Optional)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSKFJN&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Skontof&amp;amp;auml;hig J/N&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cEKHerkunft&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || EK-Preisherkunft-K&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLiefNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferantennummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLagStreck&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lager-Streckenkennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cAufschlag&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Aufschlagsk&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nStaffelPreis&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Staffelpreisstufe (Index)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nStaffelmenge&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Staffelmenge f&amp;amp;uuml;r Preisfindung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lAktionspreis&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Aktionspreis aktiv&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cAusdruckJN&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Position drucken J/N&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMemoDruck&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Druckmemo der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBildUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || UID des verkn&amp;amp;uuml;pften Bildes&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cCMPUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || CMP-Objekt-UID&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cZeit_CMPUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Zeiterfassungs-CMP-UID&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cZeit_Text&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Zeiterfassungstext&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cZeit_Mitarb&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Mitarbeiter der Zeiterfassung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dZeit_Date&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Datum der Zeiterfassung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cZeit_NurLei&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Zeiterfassung: nur Leistung J/N&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKostst&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kostenstelle der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dAbrechVon&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Abrechnungszeitraum von&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dAbrechBis&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Abrechnungszeitraum bis&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lNeuNum&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Neunummerierung f&amp;amp;uuml;r diese Position ausf&amp;amp;uuml;hren&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSysUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || System-UID der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cGeraetNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Ger&amp;amp;auml;tenummer (f&amp;amp;uuml;r Servicepositionen)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Properties ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Name !! Typ !! Zugriff !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;oMyDB&amp;lt;/code&amp;gt; || TxDB || Nur Lesen || Datenbankverbindung (vom Vorgang geerbt)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;ShopNr&amp;lt;/code&amp;gt; || String || Nur Lesen || Shop-Nummer (f&amp;amp;uuml;r Mehrshop-Preisfindung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cArtikelNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Artikelnummer (Zugriff &amp;amp;uuml;ber Property wegen Seiteneffekten)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PcMWSTSch&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || MwSt-Schl&amp;amp;uuml;ssel (Parameter-Feld)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PcMengeIn&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Mengeneingabe als String (Parameter)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PnMengeIn&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Mengeneingabe als Zahl (Parameter)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PnMengeInFak&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Mengeneingabe-Faktor (Parameter)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PcMemofeld&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Memofeld der Position (Parameter-Feld, Unicode)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PcMemofeldAnsi&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Memofeld ANSI-Version (Parameter-Feld)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosLaufend&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Laufende Positionsnummer als String&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lVerbrauchsMater&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Verbrauchsmaterial-Kennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nMenge&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Menge der Position (mit Seiteneffekten bei Schreiben)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cTyp&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionstyp als String &amp;amp;ndash; siehe [[#Konstanten|Konstanten]] (POSTYP_*)&amp;lt;br /&amp;gt;Wandelt den übergebenen String in die passende Enummeration für Property (siehe Hinweise in [[#TVorgangPos_Prop_Typ|Typ]]). {{Achtung|Wird ein ungültiger Wert gesetzt, so wird der Typ automatisch auf Position (&amp;quot;0&amp;quot; bzw. ptPosition) gesetzt.}}&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgangPos_Prop_Typ&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;Typ&amp;lt;/code&amp;gt; || [[#TVB_PosType|TVB_PosType]] || Lesen/Schreiben || Positionstyp als Enum (ptPosition, ptText, ptLeerzeile&amp;amp;nbsp;&amp;amp;hellip;){{Hinweis|Wird der Typ geändert, so werden die Daten des Positionsobjekts auf die Vorbelegung zurückgesetzt. Zuvor gesetzte Daten werden dabei überschrieben. Nach der Verwendung von &amp;lt;code&amp;gt;NeuePosition&amp;lt;/code&amp;gt; sollte der Typ daher als erstes geändert werden, bevor Sie weitere Daten in das Objekt schreiben. Alternativ kann der Positionstyp mit einer Klassenmethode angepasst werden. Diese verfügen über entsprechende Parameter, um relevante Felder für die Position direkt zu setzen. Siehe dazu:&amp;lt;br /&amp;gt;[[#TVorgangPos_Meth_Typ_Pos|Typ_Pos]]&amp;lt;br /&amp;gt;[[#TVorgangPos_Meth_Typ_Text|Typ_Text]]&amp;lt;br /&amp;gt;[[#TVorgangPos_Meth_Typ_Leerzeile|Typ_Leerzeile]]&amp;lt;br /&amp;gt;[[#TVorgangPos_Meth_Typ_Zwischensumme|Typ_Zwischensumme]]&amp;lt;br /&amp;gt;[[#TVorgangPos_Meth_Typ_ZwischensummeEbene|Typ_ZwischensummeEbene]]&amp;lt;br /&amp;gt;[[#TVorgangPos_Meth_Typ_Titelsumme|Typ_Titelsumme]]&amp;lt;br /&amp;gt;[[#TVorgangPos_Meth_Typ_TitelsummeEbene|Typ_TitelsummeEbene]]&amp;lt;br /&amp;gt;[[#TVorgangPos_Meth_Typ_Titel|Typ_Titel]]&amp;lt;br /&amp;gt;[[#TVorgangPos_Meth_Typ_Gewerk|Typ_Gewerk]]&amp;lt;br /&amp;gt;[[#TVorgangPos_Meth_Typ_NeueSeite|Typ_NeueSeite]]&amp;lt;br /&amp;gt;[[#TVorgangPos_Meth_Typ_Bild|Typ_Bild]]}}&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgangPos_Prop_OriginalPos&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;OriginalPos&amp;lt;/code&amp;gt; || [[#TVorgangPosOriginal|TVorgangPosOriginal]] || Nur Lesen || Ursprungspositionsdaten (DMS-Referenz, Nr, UID, SysUID)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Methoden ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signatur !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;constructor Create(oxVorgang: [[#TVorgang|TVorgang]]; cPosTbl: string)&amp;lt;/code&amp;gt; || Erstellt eine neue Position f&amp;amp;uuml;r den angegebenen Vorgang (veraltet, UID-Variante bevorzugen)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;constructor Create(cUid: string; oxVorgang: [[#TVorgang|TVorgang]]; cPosTbl: string)&amp;lt;/code&amp;gt; || Erstellt eine neue Position mit vorgegebener UID&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;destructor Destroy&amp;lt;/code&amp;gt; || Gibt die Position frei&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure PositionsVorbelegung&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt die Position mit Standardwerten aus den Vorgangsdaten&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure GenNewUid&amp;lt;/code&amp;gt; || Generiert eine neue UID f&amp;amp;uuml;r diese Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyPosmenge(cFromUID: string): string&amp;lt;/code&amp;gt; || Kopiert Mengen aus einer anderen Position (per UID)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyPosverp(cFromUID: string): string&amp;lt;/code&amp;gt; || Kopiert Verpackungsdaten aus einer anderen Position (per UID)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure CopyFrom(oSrc: [[#TVorgangPos|TVorgangPos]]; lFull: boolean = False)&amp;lt;/code&amp;gt; || Kopiert alle Felder aus einer anderen Position; lFull=True kopiert auch interne Felder&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure QueryToPos(qTmp: TxFQuery; lReadAsNew: boolean = false)&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt die Position aus einem Datenbankquery (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure QueryToPos(qTmp: TxFQuery; const cFromTable: string; lVerpack: Boolean = False; lUmkehr: boolean = False)&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt die Position aus einem Query mit expliziter Quelltabelle (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure DBPosToPos(const cFromTable: string; const cSysUid: string; lVerpack: Boolean = False; lUmkehr: boolean = False)&amp;lt;/code&amp;gt; || Liest eine Position direkt aus der Datenbank per SysUID&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function FillArtikel(cArtNr: string): boolean&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt die Position mit Artikelstammdaten; gibt True bei Erfolg zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function SetzeLieferant(const cLiefNr: string; lEKNeu: boolean = True; lDefaultEK1: boolean = False): boolean&amp;lt;/code&amp;gt; || Setzt den Lieferanten und aktualisiert EK-Preise&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure FillLeistung(cLeistNr: string)&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt die Position mit Leistungsstammdaten&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function SumPosBez(const eZielTyp: [[#TVB_PosType|TVB_PosType]]; const cBezVorb: string): string&amp;lt;/code&amp;gt; || Gibt die Bezeichnung f&amp;amp;uuml;r eine Summenposition zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgangPos_Meth_Typ_Pos&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;procedure Typ_Pos&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;normale Position&amp;amp;ldquo;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgangPos_Meth_Typ_Text&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;procedure Typ_Text(const cText: string)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Textzeile&amp;amp;ldquo; mit dem angegebenen Text&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgangPos_Meth_Typ_Leerzeile&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;procedure Typ_Leerzeile&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Leerzeile&amp;amp;ldquo;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgangPos_Meth_Typ_Zwischensumme&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;procedure Typ_Zwischensumme(const cBez: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Zwischensumme&amp;amp;ldquo; (Ebene&amp;amp;nbsp;1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgangPos_Meth_Typ_ZwischensummeEbene&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;procedure Typ_ZwischensummeEbene(const nEbene: integer; const cBez: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Zwischensumme&amp;amp;ldquo; der angegebenen Ebene&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgangPos_Meth_Typ_Titelsumme&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;procedure Typ_Titelsumme(const cBez: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Titelsumme&amp;amp;ldquo; (Ebene&amp;amp;nbsp;1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgangPos_Meth_Typ_TitelsummeEbene&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;procedure Typ_TitelsummeEbene(const nEbene: integer; const cBez: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Titelsumme&amp;amp;ldquo; der angegebenen Ebene&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgangPos_Meth_Typ_Titel&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;procedure Typ_Titel(const cBez: string)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Titel&amp;amp;ldquo;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgangPos_Meth_Typ_Gewerk&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;procedure Typ_Gewerk(const cBez: string)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Gewerk&amp;amp;ldquo;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgangPos_Meth_Typ_NeueSeite&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;procedure Typ_NeueSeite&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Seitenumbruch&amp;amp;ldquo;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgangPos_Meth_Typ_Bild&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;procedure Typ_Bild(const cBild: string)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Bild&amp;amp;ldquo; mit dem angegebenen Bildpfad/-UID&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure UStKorrektur(const dCheckDate: TDateTime)&amp;lt;/code&amp;gt; || Korrigiert den Umsatzsteuerschl&amp;amp;uuml;ssel gem&amp;amp;auml;&amp;amp;szlig; Datum (Steuersatz&amp;amp;auml;nderungen)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure KalkPos&amp;lt;/code&amp;gt; || Kalkuliert Gesamtpreis und abgeleitete Felder dieser Position neu&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosNrAllowed(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn dieser Positionstyp eine Positionsnummer erh&amp;amp;auml;lt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure SetPosNr(cP: string; cT: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;; cG: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;; cFormat: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;)&amp;lt;/code&amp;gt; || Setzt die Positionsnummer aus String-Komponenten (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure SetPosNr(nP: integer; nT: integer = -1; nG: integer = -1; cFormat: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;)&amp;lt;/code&amp;gt; || Setzt die Positionsnummer aus numerischen Komponenten (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosLaufend(iPos: integer = 0): string&amp;lt;/code&amp;gt; || Gibt die laufende Positionsnummer als formatierten String zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Preisfindung(cShopNr: string = CONST_NO_SHOP)&amp;lt;/code&amp;gt; || F&amp;amp;uuml;hrt die Preisfindung f&amp;amp;uuml;r diese Position aus&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function SetOpenBookLieferant(): boolean&amp;lt;/code&amp;gt; || Setzt den Open-Book-Lieferanten f&amp;amp;uuml;r diese Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure AddToMemo(const cText: string; const lNewLine: boolean = False)&amp;lt;/code&amp;gt; || F&amp;amp;uuml;gt Text zum Memofeld hinzu&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgangPos_Meth_AktualisiereDaten&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;procedure AktualisiereDaten&amp;lt;/code&amp;gt; || Aktualisiert Texte, EK- und VK-Preise gem&amp;amp;auml;&amp;amp;szlig; [[#TVorgang_Prop_ParameterPositionsdatenAktualisieren|ParameterPositionsdatenAktualisieren]]&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure EKCalcMengeIn(var nEkFak: double)&amp;lt;/code&amp;gt; || Berechnet den EK-Mengeneingabe-Faktor (R&amp;amp;uuml;ckgabe per var-Parameter)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CanSave(): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft ob diese Position gespeichert werden kann/darf&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure qSqlSet(AqSql: TqSql)&amp;lt;/code&amp;gt; || Setzt das SQL-Objekt f&amp;amp;uuml;r erweiterte DB-Operationen dieser Position&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Globale Methoden =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Signatur !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstVKVorgang(cMainTable: string): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck, wenn die Haupttabelle ein VK-Vorgang ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstVKVorgangPos(cPosTable: string): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck, wenn die Positionstabelle zu einem VK-Vorgang geh&amp;amp;ouml;rt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyPosmengeDB(oMyDB: TxDB; cFromUID: string): string&amp;lt;/code&amp;gt; || Kopiert Positionsmengen aus einem anderen Vorgang (direkt per Datenbankzugriff)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyPosverpDB(oMyDB: TxDB; cFromUID: string): string&amp;lt;/code&amp;gt; || Kopiert Positionsverpackungen aus einem anderen Vorgang (direkt per Datenbankzugriff)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyRTFLan(oMyDB: TxDB; cVonTable, cVonRef, cNachTable, cNachRef: String): String&amp;lt;/code&amp;gt; || Kopiert RTF-Langtexte zwischen Vorgangs-Positionen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure CopyKalkulationAN2AU(oMyDB: TxDB; cANRef1, cANRef2, cAURef1, cAURef2: String; fPosmenge: Double)&amp;lt;/code&amp;gt; || Kopiert Kalkulation von Angebot nach Auftrag (mit Mengenfaktor)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure CopyKalkulationAU(oMyDB: TxDB; cANRef1, cANRef2, cAURef1, cAURef2: String)&amp;lt;/code&amp;gt; || Kopiert Auftragskalkulation zwischen zwei Positionen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure CopyKalkulationAN(oMyDB: TxDB; cANRef1, cANRef2, cAURef1, cAURef2: String)&amp;lt;/code&amp;gt; || Kopiert Angebotskalkulation zwischen zwei Positionen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosNrFormatCheck(const cFormat: string): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft, ob ein Positionsnummern-Format g&amp;amp;uuml;ltig ist (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosNrFormatCheck(oMyDB: TxDB; const cFormat: string): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft Format gegen Datenbankeinstellungen (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosNrFormatCounts(const cFormat: string; out nG, nT, nP: integer): boolean&amp;lt;/code&amp;gt; || Liefert die Stellenzahlen f&amp;amp;uuml;r Gewerk, Titel und Position aus dem Format (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosNrFormatCounts(oMyDB: TxDB; const cFormat: string; out nG, nT, nP: integer): boolean&amp;lt;/code&amp;gt; || Wie oben, mit Datenbankzugriff (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosNrSplit(oMyDB: TxDB; const cFormat, cPosTyp: string; cPosNr: string; out nG, nT, nP: integer): boolean&amp;lt;/code&amp;gt; || Zerlegt eine formatierte Positionsnummer in ihre Bestandteile&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function GetVorgangMandant(oMyDB: TxDB; const cTable, cNr: string): string&amp;lt;/code&amp;gt; || Gibt den Mandanten-Schl&amp;amp;uuml;ssel f&amp;amp;uuml;r einen Vorgang zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function GetVorgangTextTB(const nPMode: integer; out cTB_Nr: string; cFiliale: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;): boolean&amp;lt;/code&amp;gt; || Ermittelt die Textbaustein-Nummer f&amp;amp;uuml;r den angegebenen Positionsmodus&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function GetVorgangTextTBPers(oMyDB: TxDB; const cPsNr: string; const nPMode: integer; out cTB_Nr: string; cFiliale: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;): boolean&amp;lt;/code&amp;gt; || Wie GetVorgangTextTB, zus&amp;amp;auml;tzlich personenbezogen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function KopfTextPlatzhalter(var cKopfText: string; const cBrief1, cBrief2: string): boolean&amp;lt;/code&amp;gt; || Ersetzt Platzhalter im Kopftext durch Briefanredefelder&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangArt(oMyDB: TxDB; const cDMS, cNr: string): integer&amp;lt;/code&amp;gt; || Gibt die Vorgangsart als Integer-Kennziffer zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangStatus(oMyDB: TxDB; const cDMS, cNr: string): string&amp;lt;/code&amp;gt; || Gibt den aktuellen Status eines Vorgangs aus der Datenbank zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangVerbucht(oMyDB: TxDB; const cDMS, cNr: string): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck, wenn der Vorgang verbucht ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangUstEnthalten(oMyDB: TxDB; const cDMS, cNr, cUstSchl: string; cFeld: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft, ob ein bestimmter USt-Schl&amp;amp;uuml;ssel im Vorgang verwendet wird&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PortoVerpackKannSkonto(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck, wenn Porto/Verpackung skontof&amp;amp;auml;hig ist (laut Systemeinstellung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function GetPosBild(oMyDB: TxDB; cArtNr: string; var cBildUID: string): boolean&amp;lt;/code&amp;gt; || Ermittelt die Bild-UID eines Artikels f&amp;amp;uuml;r eine Positions-Bildposition&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangVertreterVorb(oMyDB: TxDB; const cVertreter: string): string&amp;lt;/code&amp;gt; || Gibt den vorgebelegten Vertreter-Schl&amp;amp;uuml;ssel zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangVertreterPrio(oMyDB: TxDB; const cAktVertreter: string): string&amp;lt;/code&amp;gt; || Gibt den Vertreter mit h&amp;amp;ouml;chster Priorit&amp;amp;auml;t zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function GenerierePositionskommentar(cUrsprung, cKommentar: String): String&amp;lt;/code&amp;gt; || Kombiniert Ursprungs- und Kommentartext zu einem Positions-Kommentar&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function ReplacePlatzhalterReparaturAuftrag(cRAufNr: String; cText: String = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;): String&amp;lt;/code&amp;gt; || Ersetzt Platzhalter im Text durch Reparaturauftragsdaten&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function ReplacePlatzhalterPosErfassung(oMyDB: TxDB; const cBuffer, cTable, cNr: string; const lDef: Boolean = False; const lRepa: Boolean = False): String&amp;lt;/code&amp;gt; || Ersetzt Platzhalter im Text bei der Positionserfassung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function LoadPlatzhalterVorgang(oMyDB: TxDB; const cTable, cNr: string; var oPlatzhalter: TPlatzhalterVorgang): Boolean&amp;lt;/code&amp;gt; || L&amp;amp;auml;dt Platzhalter-Daten eines Vorgangs aus der Datenbank&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PlatzhalterVorgang(const cText, cNr: string; const oPlatzhalter: TPlatzhalterVorgang; const lDef: Boolean = false; const lRepa: Boolean = false): string&amp;lt;/code&amp;gt; || Ersetzt Platzhalter im Text mit den geladenen Vorgang-Platzhaltern&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function GetPosVorb_ErlKto(oMyDB: TxDB; const cErlJahr, cManNr, cFiliale: string): string&amp;lt;/code&amp;gt; || Gibt das Erl&amp;amp;ouml;skonto f&amp;amp;uuml;r eine Positionsvorbelegung zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure ChangePosPreisFromLeistPreis2(oVorgang: TVorgang)&amp;lt;/code&amp;gt; || Wechselt f&amp;amp;uuml;r alle Positionen auf den alternativen Leistungspreis 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_ToXMLStr(oMyDB: TxDB; const cTable, cPosTable, cVorgNr: String): string&amp;lt;/code&amp;gt; || Exportiert einen Vorgang als XML-String&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_ToDelArchiv(oMyDB: TxDB; const cTable, cPosTable, cVorgNr: String): Boolean&amp;lt;/code&amp;gt; || Verschiebt einen Vorgang ins L&amp;amp;ouml;scharchiv&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_ToXMLFile(oMyDB: TxDB; const cFile, cTable, cPosTable, cVorgNr: String): Boolean&amp;lt;/code&amp;gt; || Exportiert einen Vorgang in eine XML-Datei&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function XMLFile_ToVorgang(oMyDB: TxDB; const cData: String; var cNewNr, cOldNr: String): Boolean&amp;lt;/code&amp;gt; || Importiert einen Vorgang aus einem XML-String/-Datei&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function DelArchivTo_Vorgang(oMyDB: TxDB; const cTabelle, cVorgang: String): String&amp;lt;/code&amp;gt; || Stellt einen archivierten Vorgang wieder her&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_Runden_MengeInFak(oMyDB: TxDB; const cTabMain, cTabPos: string; nValue: double): double&amp;lt;/code&amp;gt; || Rundet den Mengeneingabe-Faktor gem&amp;amp;auml;&amp;amp;szlig; Tabelleneinstellung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_Rohertrag(oMyDB: TxDB; const cDMSTyp, cVorgNr: String; nNettoBetrag: Double): String&amp;lt;/code&amp;gt; || Berechnet den Rohertrag eines Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_Rohertrag_Ext(oMyDB: TxDB; const cDMSTyp, cVorgNr: String; nNettoBetrag: Double; lSollStunden: Boolean): string&amp;lt;/code&amp;gt; || Berechnet den Rohertrag erweitert (mit Sollstunden)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangFelder(cTyp: String; lPosition, lArtikel, lMaterial, lAuswertung, lMessen: Boolean; lSchiff: Boolean = False): String&amp;lt;/code&amp;gt; || Gibt die aktiven Feldgruppen eines Vorgangstyps als String zur&amp;amp;uuml;ck (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangFelder(oMyDB: TxDB; cTyp: String; lPosition, lArtikel, lMaterial, lAuswertung, lMessen: Boolean; lSchiff: Boolean = False): String&amp;lt;/code&amp;gt; || Wie oben, mit Datenbankzugriff (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_IstGesperrt(oMyDB: TxDB; const cTyp, cRef: string; const cFeld: string = &#039;a_nr&#039;): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft, ob ein Vorgang gesperrt ist (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_IstGesperrt(oMyDB: TxDB; const rDMS: TDMSType; const cRef: string; const cFeld: string = &#039;a_nr&#039;): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft Sperrung per DMS-Typ (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_FilterSperrung(oMyDB: TxDB; const cTyp, cRef: string; out cOffen, cGesperrt: string; const cFeld: string = &#039;a_nr&#039;): boolean&amp;lt;/code&amp;gt; || Gibt SQL-Filter-Strings f&amp;amp;uuml;r offene/gesperrte Vorg&amp;amp;auml;nge zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_FilterSperrung_Offen(oMyDB: TxDB; const cTyp, cRef: string; out cOffen: string; const cFeld: string = &#039;a_nr&#039;): boolean&amp;lt;/code&amp;gt; || Gibt nur den Filter f&amp;amp;uuml;r offene (nicht gesperrte) Vorg&amp;amp;auml;nge zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_UbernahmeMassen(oMyDB: TxDB; const cVonUid, cNachDmsTyp, cNachVorgNr, cNachUid: string): boolean&amp;lt;/code&amp;gt; || Massenweise Positions&amp;amp;uuml;bernahme zwischen Vorg&amp;amp;auml;ngen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_GetMenge(oMyDB: TxDB; const cPosTable, cKeyField, cUID: String; out nUrmenge: Double; const cEigUID: String = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;): Double&amp;lt;/code&amp;gt; || Liest die aktuelle und Ursprungsmenge einer Position aus der Datenbank&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_CheckPosTyp(const cTyp: string): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft, ob ein Positionstyp-Schl&amp;amp;uuml;ssel g&amp;amp;uuml;ltig ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_HatReEmpfAdr(qVorgangData: TxFQuery): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck, wenn der Vorgang eine Rechnungsempf&amp;amp;auml;nger-Adresse hat (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_HatReEmpfAdr(qVorgangData: TxQuery): boolean&amp;lt;/code&amp;gt; || Wie oben, f&amp;amp;uuml;r TxQuery (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_AnzeigeReEmpf(oMyDB: TxDB; qMain: TxFQuery; const cMainTable: string; cAdressBez: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;; lUseReportLang: boolean = True): string&amp;lt;/code&amp;gt; || Gibt die anzuzeigende Rechnungsempf&amp;amp;auml;nger-Adresse als formatierten Text zur&amp;amp;uuml;ck (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_AnzeigeReEmpf(oMyDB: TxDB; qMain: TxQuery; const cMainTable: string; cAdressBez: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;; lUseReportLang: boolean = True): string&amp;lt;/code&amp;gt; || Wie oben, f&amp;amp;uuml;r TxQuery (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PortoVerpackBerechnet(oMyDB: TxDB; const cDmsVon, cDmsSetzen, cNrSetzen: string): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft, ob Porto/Verpackung bereits berechnet wurde und setzt Kennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangVorb_Waehrung(oMyDB: TxDB; const cValue: string = &#039;01&#039;): string&amp;lt;/code&amp;gt; || Gibt den Standardw&amp;amp;auml;hrungsschl&amp;amp;uuml;ssel f&amp;amp;uuml;r Vorgangsvorbelegung zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangVorb_RechKreis(oMyDB: TxDB; const cValue: string = &#039;01&#039;): string&amp;lt;/code&amp;gt; || Gibt den Standardrechnungskreis-Schl&amp;amp;uuml;ssel zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangVorbPos_VomLager(const nTokenPos: integer; const cLagStreck: string): string&amp;lt;/code&amp;gt; || Gibt das Lager/die Strecke f&amp;amp;uuml;r eine Positionsvorbelegung zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_VersandkostenMBW(oMyDB: TxDB; const cDmsTyp: string; const lGen: boolean; const cPsNr: string; const cPsVersand: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;; const cPsZusatz: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;): string&amp;lt;/code&amp;gt; || Berechnet Versandkosten auf Basis des Mindestbestellwerts&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfFile(oMyDB: TxDB; const cDmsTyp, cNr, cKdNr: string; out cPdfFile: string): boolean&amp;lt;/code&amp;gt; || Ermittelt den Pfad zur archivierten PDF-Datei eines Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfAsBase64File(oMyDB: TxDB; const cDmsTyp, cNr, cKdNr: string; out cBase64File: string): boolean&amp;lt;/code&amp;gt; || Liefert die PDF-Datei als Base64-kodierten Pfad&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfAsBase64Parts(oMyDB: TxDB; const cDmsTyp, cNr, cKdNr: string; const nPart: integer; out cBase64: string; out nParts: integer; nPartSize: integer = 0): boolean&amp;lt;/code&amp;gt; || Liefert die PDF in Teilen als Base64 (mit KdNr, &amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfAsBase64Parts(oMyDB: TxDB; const cDmsTyp, cNr, cKdNr: string; const nPart: integer; out cBase64: string; out nParts: integer; cPartSize: string): boolean&amp;lt;/code&amp;gt; || Wie oben, Teilgr&amp;amp;ouml;&amp;amp;szlig;e als String (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfAsBase64Parts(oMyDB: TxDB; const cDmsTyp, cNr: string; const nPart: integer; out cBase64: string; out nParts: integer; nPartSize: integer = 0): boolean&amp;lt;/code&amp;gt; || Wie oben, ohne KdNr (&amp;amp;Uuml;berladung 3)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfAsBase64Parts(oMyDB: TxDB; const cDmsTyp, cNr: string; const nPart: integer; out cBase64: string; out nParts: integer; cPartSize: string): boolean&amp;lt;/code&amp;gt; || Wie oben, Teilgr&amp;amp;ouml;&amp;amp;szlig;e als String (&amp;amp;Uuml;berladung 4)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfAsBase64(oMyDB: TxDB; const cDmsTyp, cNr: string; out cBase64: string): boolean&amp;lt;/code&amp;gt; || Liefert die gesamte PDF als Base64-String&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PosUebernommen(oMyDB: TxDB; const cVonDmsTyp, cVonNr, cPosUid: string): TVorgangPosOriginalListe&amp;lt;/code&amp;gt; || Gibt eine Liste aller Vorg&amp;amp;auml;nge zur&amp;amp;uuml;ck, in die diese Position &amp;amp;uuml;bernommen wurde&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_GetPosRef(oMyDB: TxDB; const cVonDmsTyp, cVonNr, cPosUid, cRefDmsTypen: string): TVorgangPosOriginalListe&amp;lt;/code&amp;gt; || Gibt Referenzen einer Position auf andere DMS-Typen zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_ArtBox(const cDMSTyp: string): string&amp;lt;/code&amp;gt; || Gibt die Vorgangsart-Box (Auswahlstring) f&amp;amp;uuml;r einen DMS-Typ zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_SummenEbene(const nEbene: integer): integer&amp;lt;/code&amp;gt; || Validiert und normiert eine Summen-Ebene (1..VB_MAX_SummenEbenen)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_SummenEbeneAusMenge(const nMenge: double): integer&amp;lt;/code&amp;gt; || Berechnet die Summenebene aus einem Mengenwert&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_KalkAufschlagPos(const nSatz, nZwSumme, nMengeIn, nMengeInFak, nRabatt: double): double&amp;lt;/code&amp;gt; || Berechnet den Aufschlagsbetrag f&amp;amp;uuml;r eine Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_SumPosText(const eTyp: [[#TVB_PosType|TVB_PosType]]; const cLanguage: string): string&amp;lt;/code&amp;gt; || Gibt den lokalisierten Standardtext f&amp;amp;uuml;r eine Summenposition zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_SumPosTextZw(cLang: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;): string&amp;lt;/code&amp;gt; || Gibt den lokalisierten Text f&amp;amp;uuml;r Zwischensummen-Positionen zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_SumPosTextTit(cLang: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;): string&amp;lt;/code&amp;gt; || Gibt den lokalisierten Text f&amp;amp;uuml;r Titelsummen-Positionen zur&amp;amp;uuml;ck&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Nimz</name></author>
	</entry>
	<entry>
		<id>https://wiki.bergau.de/index.php?title=OBS/Makros_und_Scripting/Allgemeines/Klassen/Vorg%C3%A4nge&amp;diff=64513</id>
		<title>OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge</title>
		<link rel="alternate" type="text/html" href="https://wiki.bergau.de/index.php?title=OBS/Makros_und_Scripting/Allgemeines/Klassen/Vorg%C3%A4nge&amp;diff=64513"/>
		<updated>2026-06-12T12:11:54Z</updated>

		<summary type="html">&lt;p&gt;Nimz: /* Properties */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Makros und Scripting}}&lt;br /&gt;
Es gibt für die Generierung von Vorgängen eigene Klassen. Da es zwischen den Vorgängen immer irgendwelche Unterschiede gibt, existiert auch für jeden Vorgangs-Typ eine eigene Klasse.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Übersicht Klassen:&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Angebot|Angebot]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Auftrag|Auftrag]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Reparaturauftrag|Reparaturauftrag]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Produktionsauftrag|Produktionsauftrag]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Lieferschein|Lieferschein]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Rechnung|Rechnung]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Bestellung|Bestellung]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Einkaufslieferschein|Einkaufslieferschein]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Einkauf|Einkauf]]&lt;br /&gt;
&lt;br /&gt;
= Datentypen =&lt;br /&gt;
&lt;br /&gt;
== Enumerationen ==&lt;br /&gt;
&lt;br /&gt;
=== TVB_PosType ===&lt;br /&gt;
Positionstyp einer [[#TVorgangPos|TVorgangPos]]. Wird &amp;amp;uuml;ber die Property &amp;lt;code&amp;gt;[[#TVorgangPos_Prop_Typ|Typ]]&amp;lt;/code&amp;gt; gelesen/gesetzt.&lt;br /&gt;
Die zugeh&amp;amp;ouml;rigen String-Konstanten sind unter [[#Konstanten|Konstanten]] beschrieben.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wert !! Bezeichner !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 0 || &amp;lt;code&amp;gt;ptPosition&amp;lt;/code&amp;gt; || Normale Artikelposition&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 1 || &amp;lt;code&amp;gt;ptText&amp;lt;/code&amp;gt; || Textzeile / Memorundzeile&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 2 || &amp;lt;code&amp;gt;ptLeerzeile&amp;lt;/code&amp;gt; || Leere Trennzeile&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 3 || &amp;lt;code&amp;gt;ptZwischensumme&amp;lt;/code&amp;gt; || Zwischensummen-Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 4 || &amp;lt;code&amp;gt;ptTitelsumme&amp;lt;/code&amp;gt; || Titelsummen-Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 5 || &amp;lt;code&amp;gt;ptTitel&amp;lt;/code&amp;gt; || Titelzeile&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 6 || &amp;lt;code&amp;gt;ptGewerk&amp;lt;/code&amp;gt; || Gewerk-Kopfzeile&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 7 || &amp;lt;code&amp;gt;ptSeitenumbruch&amp;lt;/code&amp;gt; || Manueller Seitenumbruch&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 8 || &amp;lt;code&amp;gt;ptBild&amp;lt;/code&amp;gt; || Bildposition&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVB_MaterMode ===&lt;br /&gt;
Steuert den Materialmodus beim Lesen von Positionsdaten.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wert !! Bezeichner !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 0 || &amp;lt;code&amp;gt;mmNone&amp;lt;/code&amp;gt; || Kein spezieller Materialmodus&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 1 || &amp;lt;code&amp;gt;mmMD5&amp;lt;/code&amp;gt; || Materialpr&amp;amp;uuml;fung per MD5-Hash&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 2 || &amp;lt;code&amp;gt;mmReadUID&amp;lt;/code&amp;gt; || Material-UID direkt lesen&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVorgangFehlerTyp ===&lt;br /&gt;
Klassifiziert einen Eintrag in der internen Fehlerliste eines [[#TVorgang|TVorgang]].&lt;br /&gt;
Wird im Record [[#TVorgangFehler|TVorgangFehler]] verwendet.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wert !! Bezeichner !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 0 || &amp;lt;code&amp;gt;vftOther&amp;lt;/code&amp;gt; || Sonstiger Hinweis&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 1 || &amp;lt;code&amp;gt;vftCritical&amp;lt;/code&amp;gt; || Kritischer Fehler (blockiert Speichern)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 2 || &amp;lt;code&amp;gt;vftSaveCheck&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;fung beim Speichern&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 3 || &amp;lt;code&amp;gt;vftPosInfo&amp;lt;/code&amp;gt; || Positionsbezogene Information&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVorgangFehlerLoeschenLesen ===&lt;br /&gt;
Steuert, welche Fehler nach dem Lesen via &amp;lt;code&amp;gt;[[#TVorgang_Meth_leseFehler|leseFehler]]&amp;lt;/code&amp;gt; aus der Liste gel&amp;amp;ouml;scht werden.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wert !! Bezeichner !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 0 || &amp;lt;code&amp;gt;vfllNone&amp;lt;/code&amp;gt; || Kein Fehler nach dem Lesen l&amp;amp;ouml;schen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 1 || &amp;lt;code&amp;gt;vfllAll&amp;lt;/code&amp;gt; || Alle Fehler nach dem Lesen l&amp;amp;ouml;schen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 2 || &amp;lt;code&amp;gt;vfllSkipCritical&amp;lt;/code&amp;gt; || Nur nicht-kritische Fehler l&amp;amp;ouml;schen (Standard)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Records ==&lt;br /&gt;
&lt;br /&gt;
=== TVorgangPosOriginal ===&lt;br /&gt;
Enth&amp;amp;auml;lt Referenzinformationen der Ursprungsposition (z.&amp;amp;nbsp;B. bei der Vorgangs&amp;amp;uuml;bernahme).&lt;br /&gt;
Wird &amp;amp;uuml;ber die Property &amp;lt;code&amp;gt;[[#TVorgangPos_Prop_OriginalPos|OriginalPos]]&amp;lt;/code&amp;gt; einer [[#TVorgangPos|TVorgangPos]] geliefert.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Feld !! Typ !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;rDMS&amp;lt;/code&amp;gt; || TDMSType || DMS-Typ des Ursprungsvorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cNr&amp;lt;/code&amp;gt; || String || Vorgangsnummer des Ursprungs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cUid&amp;lt;/code&amp;gt; || String || UID der Ursprungsposition&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSysUid&amp;lt;/code&amp;gt; || String || System-UID der Ursprungsposition&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Methoden:&#039;&#039;&#039;&lt;br /&gt;
{{Achtung|Funktioniert nur im Scriptrunner &amp;quot;Pax&amp;quot;! Aktiver Scriptrunner ist definiert in Programmparameter 444.}}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signatur !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Clear&amp;lt;/code&amp;gt; || Leert alle Felder des Records&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure SetData(const ADMS: TDMSType; qPos: TxFQuery)&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt den Record aus einem Positions-Query&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVorgangPosParams_AktualisiereDaten ===&lt;br /&gt;
Steuert, welche Datenbereiche bei &amp;lt;code&amp;gt;[[#TVorgangPos_Meth_AktualisiereDaten|AktualisiereDaten]]&amp;lt;/code&amp;gt; aktualisiert werden sollen.&lt;br /&gt;
Wird &amp;amp;uuml;ber die Property &amp;lt;code&amp;gt;[[#TVorgang_Prop_ParameterPositionsdatenAktualisieren|ParameterPositionsdatenAktualisieren]]&amp;lt;/code&amp;gt; von [[#TVorgang|TVorgang]] gesetzt.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Feld !! Typ !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lTexte&amp;lt;/code&amp;gt; || Boolean || Bezeichnungen/Texte aktualisieren&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lEK&amp;lt;/code&amp;gt; || Boolean || Einkaufspreise aktualisieren&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lVK&amp;lt;/code&amp;gt; || Boolean || Verkaufspreise aktualisieren&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Methoden:&#039;&#039;&#039;&lt;br /&gt;
{{Achtung|Funktioniert nur im Scriptrunner &amp;quot;Pax&amp;quot;! Aktiver Scriptrunner ist definiert in Programmparameter 444.}}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signatur !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Init(const cVorb: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;)&amp;lt;/code&amp;gt; || Initialisiert die Parameter mit Standardwerten; optionaler Vorbelegungsschl&amp;amp;uuml;ssel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Aktualisieren(): boolean&amp;lt;/code&amp;gt; || Gibt &amp;lt;code&amp;gt;True&amp;lt;/code&amp;gt; zur&amp;amp;uuml;ck, wenn mindestens ein Aktualisierungsschalter gesetzt ist&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVorgangPosSummen ===&lt;br /&gt;
Speichert Zwischen- und Titelsummen-Betr&amp;amp;auml;ge je Ebene (1 bis &amp;lt;code&amp;gt;VB_MAX_SummenEbenen&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Feld !! Typ !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;aZw[1..9]&amp;lt;/code&amp;gt; || Double || Zwischensummen-Betr&amp;amp;auml;ge je Ebene&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;aTit[1..9]&amp;lt;/code&amp;gt; || Double || Titelsummen-Betr&amp;amp;auml;ge je Ebene&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Methoden:&#039;&#039;&#039;&lt;br /&gt;
{{Achtung|Funktioniert nur im Scriptrunner &amp;quot;Pax&amp;quot;! Aktiver Scriptrunner ist definiert in Programmparameter 444.}}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signatur !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Clear&amp;lt;/code&amp;gt; || Setzt alle Summen auf 0&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure ClearZw(const nEbene: integer)&amp;lt;/code&amp;gt; || Setzt Zwischensumme der Ebene nEbene auf 0&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure ClearTit(const nEbene: integer)&amp;lt;/code&amp;gt; || Setzt Titelsumme der Ebene nEbene auf 0&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure AddZw(const nBetrag: double)&amp;lt;/code&amp;gt; || Addiert Betrag zur aktiven Zwischensummen-Ebene&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure AddTit(const nBetrag: double)&amp;lt;/code&amp;gt; || Addiert Betrag zur aktiven Titelsummen-Ebene&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function ReadZw(const nEbene: integer): double&amp;lt;/code&amp;gt; || Liefert den Zwischensummen-Betrag der Ebene&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function ReadTit(const nEbene: integer): double&amp;lt;/code&amp;gt; || Liefert den Titelsummen-Betrag der Ebene&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVorgangEigenschaft ===&lt;br /&gt;
Repr&amp;amp;auml;sentiert ein Vorgangsmerkmal (Eigenschaft), das per &amp;lt;code&amp;gt;[[#TVorgang_Meth_EigenschaftSetzen|EigenschaftSetzen]]&amp;lt;/code&amp;gt; gesetzt wird.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Feld !! Typ !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cNr&amp;lt;/code&amp;gt; || String || Merkmalsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lMode&amp;lt;/code&amp;gt; || Boolean || True = setzen, False = l&amp;amp;ouml;schen&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVorgangFehler ===&lt;br /&gt;
Ein Eintrag in der internen Fehlerliste von [[#TVorgang|TVorgang]].&lt;br /&gt;
Wird per &amp;lt;code&amp;gt;[[#TVorgang_Meth_leseFehler|leseFehler]]&amp;lt;/code&amp;gt; ausgelesen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Feld !! Typ !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cTitel&amp;lt;/code&amp;gt; || String || Fehlertitel (Kurzbeschreibung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cText&amp;lt;/code&amp;gt; || String || Fehlertext (Detailbeschreibung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;eTyp&amp;lt;/code&amp;gt; || [[#TVorgangFehlerTyp|TVorgangFehlerTyp]] || Fehlerklassifikation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Konstanten ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Konstante !! Wert !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_POS&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;0&#039;&amp;lt;/code&amp;gt; || Positionstyp normale Artikelposition (entspricht [[#TVB_PosType|ptPosition]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_TXT&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;1&#039;&amp;lt;/code&amp;gt; || Positionstyp Textzeile (entspricht [[#TVB_PosType|ptText]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_ELN&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;2&#039;&amp;lt;/code&amp;gt; || Positionstyp Leerzeile (entspricht [[#TVB_PosType|ptLeerzeile]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_ZWS&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;3&#039;&amp;lt;/code&amp;gt; || Positionstyp Zwischensumme (entspricht [[#TVB_PosType|ptZwischensumme]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_TIS&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;4&#039;&amp;lt;/code&amp;gt; || Positionstyp Titelsumme (entspricht [[#TVB_PosType|ptTitelsumme]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_TIT&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;7&#039;&amp;lt;/code&amp;gt; || Positionstyp Titel (entspricht [[#TVB_PosType|ptTitel]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_GEW&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;8&#039;&amp;lt;/code&amp;gt; || Positionstyp Gewerk (entspricht [[#TVB_PosType|ptGewerk]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_PBR&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;17&#039;&amp;lt;/code&amp;gt; || Positionstyp Seitenumbruch (entspricht [[#TVB_PosType|ptSeitenumbruch]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_PIC&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;19&#039;&amp;lt;/code&amp;gt; || Positionstyp Bild (entspricht [[#TVB_PosType|ptBild]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;VB_DEFAULT_BezZwischensumme&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;ZWISCHENSUMME    :&#039;&amp;lt;/code&amp;gt; || Standard-Bezeichnung f&amp;amp;uuml;r Zwischensummen-Positionen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;VB_DEFAULT_BezTitelsumme&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;TITELSUMME       :&#039;&amp;lt;/code&amp;gt; || Standard-Bezeichnung f&amp;amp;uuml;r Titelsummen-Positionen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;VB_MAX_SummenEbenen&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;9&amp;lt;/code&amp;gt; || Maximale Anzahl von Summenebenen (Zwischen- und Titelsummen)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Basisklassen Vorgangsgenerierung=&lt;br /&gt;
&lt;br /&gt;
== TVorgang ==&lt;br /&gt;
&lt;br /&gt;
=== Variablen ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Name !! Typ !! Zugriff !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;oMyDB&amp;lt;/code&amp;gt; || TxDB || Lesen/Schreiben || Datenbankverbindung des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;oProtokoll&amp;lt;/code&amp;gt; || TStringList || Lesen/Schreiben || Protokoll-Liste (Meldungen/Log)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lMeldung&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Steuert Anzeige von Benutzer-Meldungen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lSetPSBemAuto&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Automatische Positionsbemerkung setzen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVorgNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Vorgangsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cProjNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Projektnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lBrutto&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Brutto-Modus aktiv&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLanguage&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sprach-Code (intern, z.&amp;amp;nbsp;B. f&amp;amp;uuml;r Formulare)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLagNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lagernummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cTyp&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Vorgangstyp-K&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dVorgDat&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Vorgangsdatum&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dFaelligDat&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || F&amp;amp;auml;lligkeitsdatum&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dBuchDat&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Buchungsdatum&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dAufDat&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Auftragsdatum&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKdNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kundennummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cAnrede&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Anrede des Kunden&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cName&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Name des Kunden&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVorname&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Vorname des Kunden&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cZusatz1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Adresszusatz 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cZusatz2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Adresszusatz 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cStrasse&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Stra&amp;amp;szlig;e der Lieferadresse&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPostfach&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Postfach&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLK&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || L&amp;amp;auml;nderkennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPLZ&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Postleitzahl&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cOrt&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Ort&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cAngebNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Angebotsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLSNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferscheinnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRechNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cAuftNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Auftragsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRepaNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Reparaturauftragsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cEinkaufsNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Einkaufsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBestellNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Bestellnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosText&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionstext (globaler Standardtext)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLProjNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Leistungsprojektnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKopftext&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kopftext des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cFusstext&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Fu&amp;amp;szlig;text des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nNBetrag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Nettobetrag gesamt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nBBetrag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Bruttobetrag gesamt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nEKBetrag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Einkaufsbetrag gesamt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabattBetrag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabattbetrag gesamt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabattProz&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabattprozentsatz gesamt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nAnzahlung&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Anzahlungsbetrag&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nPorto&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Portokosten&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nVerpackung&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Verpackungskosten&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lSplitPoVe&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Porto und Verpackung getrennt ausweisen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVersand&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandart&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cWaehr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || W&amp;amp;auml;hrungsk&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cFormul&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Formularnummer/-k&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVAnr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandanrede&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVName1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandname 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVName2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandname 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVZusatz&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandadresse Zusatz&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVStrasse&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandstra&amp;amp;szlig;e&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVLK&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versand-L&amp;amp;auml;nderkennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVPLZ&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versand-PLZ&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVOrt&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandort&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandadresse UID&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPrio&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Priorit&amp;amp;auml;t des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cAuftNrKd&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Auftrags-/Bestellnummer des Kunden&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBesteller&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Besteller (Person)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSachb&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sachbearbeiter&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabPosJN&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionsrabatt anzeigen J/N&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMWSTJN&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Mehrwertsteuer ausweisen J/N&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText3&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 3&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText4&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 4&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText5&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 5&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText6&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 6&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText7&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 7&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPreisJN&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Preis auf Dokument drucken J/N&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMwStAbs&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || MwSt-Absetzungstext/-K&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dLiefDat&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Lieferdatum&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cDeleted&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Gel&amp;amp;ouml;scht-Kennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dLDat2&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Zweites Lieferdatum&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSprache&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sprache des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReEmpf&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Nummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReAnrede&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Anrede&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReName&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Name&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReVorname&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Vorname&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReZusatz1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Adresszusatz 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReZusatz2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Adresszusatz 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReStrasse&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Stra&amp;amp;szlig;e&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRePostfach&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Postfach&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReLK&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-L&amp;amp;auml;nderkennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRePLZ&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-PLZ&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReOrt&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Ort&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVertreter&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Vertreter-K&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVerbucht&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Verbucht-Kennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLager&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lager-K&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRechFrei&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsfreigabe-Kennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBonNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Bonnummer (Kasse)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMandant&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Mandantenk&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nMwStDM&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || MwSt-Betrag in DM (Altw&amp;amp;auml;hrung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nKursDM&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Wechselkurs DM&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nAbschlag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Abschlagsbetrag&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nZBetrag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Zahlungsbetrag&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nZSkonto&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Skonto-Betrag&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dZDatum&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Zahlungsdatum&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMemo&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Memofeld des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nValuta&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Valutatage&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKostenst&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kostenstelle&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKostentraeger&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kostentr&amp;amp;auml;ger&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKalkGr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kalkulationsgruppe&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cFrachtV&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Frachtart/-vorschrift&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nFrachtK&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Frachtkosten&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nFrachtG&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Frachtgewicht&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cGruppe&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Vorgangsgruppe&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nPosInc&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Positionsnummer-Inkrement&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cFiliale&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Filialk&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabText&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabatttextfeld (kurz)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cErfasser&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Erfasser des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nSKFBetrag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Skontof&amp;amp;auml;higer Betrag&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lLiefStrecke&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Lieferstreckengesch&amp;amp;auml;ft aktiv&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBetreff&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Betreffzeile&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMemoDruck&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Druckmemo (erscheint auf Dokument)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLieferLiefNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferanten-Lieferscheinnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabattText&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabatttext (lang)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSysUid&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || System-UID des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lLeistPreis2&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Leistungspreis 2 verwenden&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cFunction&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Funktionsk&amp;amp;uuml;rzel (Scripting-Hook)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lSaveAllowed&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Speichern erlaubt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lVorgangsSperre&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Vorgang gesperrt&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Properties ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Name !! Typ !! Zugriff !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;DmsTyp&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || DMS-Typ des Vorgangs (z.&amp;amp;nbsp;B. AN, AU, LS, RE)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;MainTable&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Haupttabelle des Vorgangs (Datenbankname)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PosTable&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionstabelle des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosFormat&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionsnummern-Format&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgang_Prop_ParameterPositionsdatenAktualisieren&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;ParameterPositionsdatenAktualisieren&amp;lt;/code&amp;gt; || [[#TVorgangPosParams_AktualisiereDaten|TVorgangPosParams_AktualisiereDaten]] || Lesen/Schreiben || Parameter f&amp;amp;uuml;r Massenaktualisierung von Positionsdaten&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PnPosCnt&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Anzahl der Positionen im Vorgang&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PaPositionen[Index]&amp;lt;/code&amp;gt; || [[#TVorgangPos|TVorgangPos]] || Lesen/Schreiben || Array der Positionsobjekte (0-basiert)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PcRabGrPers&amp;lt;/code&amp;gt; || String || Nur Lesen || Rabattgruppe der Person (aus Stammdaten ermittelt)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PcVKdNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || VK-Kundennummer (alternativ zur cKdNr f&amp;amp;uuml;r Preisfindung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nNet1&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Nettobetrag MwSt-Schl&amp;amp;uuml;ssel 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nNet2&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Nettobetrag MwSt-Schl&amp;amp;uuml;ssel 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nNet3&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Nettobetrag MwSt-Schl&amp;amp;uuml;ssel 3&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nBrutto1&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Bruttobetrag MwSt-Schl&amp;amp;uuml;ssel 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nBrutto2&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Bruttobetrag MwSt-Schl&amp;amp;uuml;ssel 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nBrutto3&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Bruttobetrag MwSt-Schl&amp;amp;uuml;ssel 3&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nMwSt1&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || MwSt-Betrag Schl&amp;amp;uuml;ssel 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nMwSt2&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || MwSt-Betrag Schl&amp;amp;uuml;ssel 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nMwSt3&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || MwSt-Betrag Schl&amp;amp;uuml;ssel 3&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMwStSchl1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || MwSt-Schl&amp;amp;uuml;ssel 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMwStSchl2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || MwSt-Schl&amp;amp;uuml;ssel 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMwStSchl3&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || MwSt-Schl&amp;amp;uuml;ssel 3&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKeineVersPausch&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Keine Versandpauschale berechnen J/N&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cZahlBed&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Zahlungsbedingung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lNewVorgang&amp;lt;/code&amp;gt; || Boolean || Nur Lesen || Neuer (noch nicht gespeicherter) Vorgang&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKopfNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kopftextbaustein-Nummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cFussNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Fu&amp;amp;szlig;textbaustein-Nummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLiefStrecke&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferstrecken-K&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cStatus&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Status des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cStatM&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Material-Status&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cStatS&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Service-Status&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cStatL&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferstatus&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cStatR&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsstatus&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cColStatus&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Farb-/Anzeigestatus (f&amp;amp;uuml;r UI)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cZustand&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Zustandskenner des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cArt&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Vorgangsart-K&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBonusJN&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Bonus berechnen J/N&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVersandkostenMBW&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandkosten-Mindestbestellwert-Kennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cWKNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Werbungskosten-Nummer&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Methoden ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signatur !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;constructor Create(const cUid: string; oxDB: TxDB; cDmsType: string)&amp;lt;/code&amp;gt; || Erstellt einen neuen Vorgang mit UID, Datenbankverbindung und DMS-Typ&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;destructor Destroy&amp;lt;/code&amp;gt; || Gibt den Vorgang und alle Ressourcen frei&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function SemaphoreCreate(cFName: string; lMeldung: boolean = False; cWait: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;): boolean&amp;lt;/code&amp;gt; || Erstellt eine Datei-Semaphore (Sperrdatei); gibt True zur&amp;amp;uuml;ck wenn erfolgreich&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function SemaphoreInUse(cFName: string): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft ob die Semaphore-Datei bereits in Verwendung ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure SemaphoreReleaseAll&amp;lt;/code&amp;gt; || Gibt alle Semaphoren dieses Vorgangs frei&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure SemaphoreRelease(cFName: string)&amp;lt;/code&amp;gt; || Gibt eine bestimmte Semaphore frei&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstAngebot(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang ein Angebot ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstAuftrag(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang ein Auftrag ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstReparaturAuftrag(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang ein Reparaturauftrag ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstLieferschein(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang ein Lieferschein ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstRechnung(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang eine Rechnung ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstBestellung(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang eine Bestellung ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstAnfrage(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang eine Anfrage ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstEKLieferschein(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang ein EK-Lieferschein ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstEinkauf(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang ein Einkaufsvorgang ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstVG_VK(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn es sich um einen Verkaufsvorgang handelt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstVG_EK(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn es sich um einen Einkaufsvorgang handelt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function NeuNumLock(): boolean&amp;lt;/code&amp;gt; || Sperrt die Neunummerierung (verhindert parallele Vergabe)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure NeuNumLockRelease&amp;lt;/code&amp;gt; || Gibt die Neunummerierungssperre wieder frei&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgNeuNum(cFilter: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;; lAbweichend: boolean = false): string&amp;lt;/code&amp;gt; || Ermittelt und setzt eine neue Vorgangsnummer; gibt die Nummer als String zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgNeuNumBool(cFilter: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;; lAbweichend: boolean = false): boolean&amp;lt;/code&amp;gt; || Wie VorgNeuNum, gibt True/False zur&amp;amp;uuml;ck (f&amp;amp;uuml;r Fehlerbehandlung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstVorgNrGueltig(cUID: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft ob die aktuelle Vorgangsnummer g&amp;amp;uuml;ltig (eindeutig) ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function NeuePositionBase(const cUID: string): [[#TVorgangPos|TVorgangPos]]&amp;lt;/code&amp;gt; || Legt eine neue Positionsinstanz an und f&amp;amp;uuml;gt sie dem Vorgang hinzu&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure NeuePositionBaseMS(const cUID: string; oOrgPos: [[#TVorgangPos|TVorgangPos]])&amp;lt;/code&amp;gt; || Legt eine neue Position als Multi-Steuer-Folgeposition an&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function LoeschePositionBase(nDel: integer): Boolean&amp;lt;/code&amp;gt; || L&amp;amp;ouml;scht die Position mit dem angegebenen Index&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure VerschiebePositionBase(nPos: integer; nZiel: integer)&amp;lt;/code&amp;gt; || Verschiebt Position von Index nPos zu Index nZiel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CheckIfNotNull(): Boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft ob Pflichtfelder des Vorgangs bef&amp;amp;uuml;llt sind&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CheckIfFirstPosOption(): Boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft ob die erste Position eine Optionsposition ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IsPosBerechnung(cPosArt: string): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft ob eine Positionsart als Berechnungsposition gilt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure CopyFrom(oSrc: [[#TVorgang|TVorgang]])&amp;lt;/code&amp;gt; || Kopiert alle Felder aus einem anderen Vorgang&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure KalkAll(lZusatz: boolean = true)&amp;lt;/code&amp;gt; || Kalkuliert alle Positionen und Gesamtsummen neu&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Check_Multisteuer(oOrgPos: [[#TVorgangPos|TVorgangPos]]; const cTable, cMUID, cRefNr: string)&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft und setzt Multi-Steuer-Verkn&amp;amp;uuml;pfung f&amp;amp;uuml;r eine Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyPosmenge(cFromUID: string): string&amp;lt;/code&amp;gt; || Kopiert Positionsmengen aus einem anderen Vorgang (per UID)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyPosverp(cFromUID: string): string&amp;lt;/code&amp;gt; || Kopiert Positionsverpackungen aus einem anderen Vorgang (per UID)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure fillVersandkostenMBW(const cPsNr: string; const cPsVersand: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;; const PsZusatz: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;)&amp;lt;/code&amp;gt; || Berechnet und setzt Versandkosten auf Basis Mindestbestellwert&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure FillPersonBase(qPers: TxFQuery)&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt Adressfelder des Vorgangs aus einem Personen-Query&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function FillReEmpf(const AReEmpf: string; const AZahlBed: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;): boolean&amp;lt;/code&amp;gt; || Setzt Rechnungsempf&amp;amp;auml;nger und optionale Zahlungsbedingung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function SaveRecord(cUID: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;; lAlleSpeichern: boolean = false): Boolean&amp;lt;/code&amp;gt; || Speichert den Vorgang (abstrakt &amp;amp;ndash; muss in abgeleiteter Klasse implementiert werden)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function ReadVorgangTypBase(cDmsTyp: string; const cNr: string; lPos: boolean = false; lNeg: boolean = false): boolean&amp;lt;/code&amp;gt; || Liest einen Vorgang anhand DMS-Typ und Nummer in das Objekt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function JahrNr(): string&amp;lt;/code&amp;gt; || Gibt das Jahr der Vorgangsnummer zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure NeuNumPos(const lNurPos: boolean = True)&amp;lt;/code&amp;gt; || Nummeriert alle Positionen neu&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function EigenschaftSetzen(const ANr: string; const AMode: boolean): boolean&amp;lt;/code&amp;gt; || Setzt oder l&amp;amp;ouml;scht eine Vorgangseigenschaft (Merkmal) per Nummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure AdresseLeeren&amp;lt;/code&amp;gt; || Leert alle Adressfelder des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure VersandLeeren(lRef: boolean = True)&amp;lt;/code&amp;gt; || Leert alle Versandadressfelder&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure ReEmpfLeeren(const lNurAdr: boolean = False)&amp;lt;/code&amp;gt; || Leert Rechnungsempf&amp;amp;auml;nger-Felder (optional nur Adresse)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure DoServiceTouch(cStatus: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;)&amp;lt;/code&amp;gt; || Aktualisiert Service-Zeitstempel und optionalen Status&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function AuswahlParameterPositionsdatenAktualisieren(const cXDataTable: string): boolean&amp;lt;/code&amp;gt; || Zeigt Dialog zur Auswahl der Aktualisierungsparameter f&amp;amp;uuml;r Positionsdaten&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function ZusatzkostenAktiv(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn Zusatzkostenmodul f&amp;amp;uuml;r diesen Vorgang aktiv ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgang_Meth_leseFehler&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;function leseFehler(out rFehler: [[#TVorgangFehler|TVorgangFehler]]; var nIdx: integer; const eLoeschenNachLesen: [[#TVorgangFehlerLoeschenLesen|TVorgangFehlerLoeschenLesen]] = vfllSkipCritical): boolean&amp;lt;/code&amp;gt; || Liest den n&amp;amp;auml;chsten Fehler aus der internen Fehlerliste&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== TVorgangPos ==&lt;br /&gt;
&lt;br /&gt;
=== Variablen ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Name !! Typ !! Zugriff !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nPosIndex&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Laufender Index der Position im Positions-Array&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Interne Positionsnummer (Datenbankfeld)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKundNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kundennummer an der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cAuftragsNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Referenz-Auftragsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBestellNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Referenz-Bestellnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosText&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionstext (Langtextfeld)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLProjNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Leistungsprojektnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLS_azUid&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferschein-Abrechnungszeilen-UID&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVersandNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionsnummer (formatiert)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosNr2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Zweite Positionsnummer (alternativ)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosKas&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kassier-Positionsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLeistungsNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Leistungsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBezeichnung1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Bezeichnung Zeile 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBezeichnung2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Bezeichnung Zeile 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nUrMenge&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Ursprungsmenge (vor &amp;amp;Auml;nderungen)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nLeistFaktor&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Leistungsfaktor (Multiplikator f&amp;amp;uuml;r Mengenberechnung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cEinheit&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Mengeneinheit&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nMengeG&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Mengenganz (ganzzahliger Mengenanteil)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nKolli&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Kollianzahl&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVerpackung&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Verpackungsart/-k&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nInhalt&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Inhalt pro Verpackungseinheit&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nEPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Einzelpreis (Netto)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nBEPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Brutto-Einzelpreis&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nOBPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Original-Brutto-Einzelpreis (vor Rabatt)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nUrPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Ursprungspreis (Listenpreis VK)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nUrPreisEK&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Ursprungspreis Einkauf&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nGPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Gesamtpreis (Netto)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nBGPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Brutto-Gesamtpreis&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nEKPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Einkaufspreis&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nEKSPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Einkaufssonderpreis&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cManPreis&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Manueller Preis J/N-Kennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabatt&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Gesamtrabatt in Prozent&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabatt1&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabatt 1 in Prozent&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabArt1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabattart 1 (Herkunftskennzeichen)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabatt2&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabatt 2 in Prozent&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabArt2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabattart 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabatt3&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabatt 3 in Prozent&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabArt3&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabattart 3&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabatt4&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabatt 4 in Prozent&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabArt4&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabattart 4&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabatt5&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabatt 5 in Prozent&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabArt5&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabattart 5&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nAddSub&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Additions-/Subtraktionsbetrag (Zuschlag/Abzug absolut)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKonto&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Buchungskonto&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLagNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lagernummer der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLagONr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lager-Ortsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVerkaufer&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Verk&amp;amp;auml;uferk&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cStatus&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionsstatus&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cAngebotsNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Referenz-Angebotsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Eindeutige ID der Position (GUID)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Multi-Steuer-UID (Verkn&amp;amp;uuml;pfung bei Multisteuer)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRTVon&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || R&amp;amp;uuml;cktragungs-Referenz (von welcher Position)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSpNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Speditionsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBestellUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || UID der verkn&amp;amp;uuml;pften Bestellposition&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMaterialUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || UID des verkn&amp;amp;uuml;pften Materialeintrags&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cEiliUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || UID der Eillieferungsposition&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cXUID1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Erweiterungs-UID 1 (freie Verkn&amp;amp;uuml;pfung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cXUID2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Erweiterungs-UID 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cXUID3&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Erweiterungs-UID 3&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cXUID4&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Erweiterungs-UID 4&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKommentar&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kommentarfeld der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nProvision&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Provisionsanteil in Prozent&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLiefKz&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferkennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cProdGr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Produktgruppe&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nFrachtV&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Frachtvolumen der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLSNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferscheinnummer der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dLSDatum&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Lieferscheindatum der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosArt&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionsart (z.&amp;amp;nbsp;B. N=Normal, O=Optional)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSKFJN&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Skontof&amp;amp;auml;hig J/N&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cEKHerkunft&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || EK-Preisherkunft-K&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLiefNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferantennummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLagStreck&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lager-Streckenkennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cAufschlag&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Aufschlagsk&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nStaffelPreis&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Staffelpreisstufe (Index)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nStaffelmenge&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Staffelmenge f&amp;amp;uuml;r Preisfindung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lAktionspreis&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Aktionspreis aktiv&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cAusdruckJN&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Position drucken J/N&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMemoDruck&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Druckmemo der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBildUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || UID des verkn&amp;amp;uuml;pften Bildes&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cCMPUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || CMP-Objekt-UID&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cZeit_CMPUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Zeiterfassungs-CMP-UID&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cZeit_Text&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Zeiterfassungstext&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cZeit_Mitarb&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Mitarbeiter der Zeiterfassung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dZeit_Date&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Datum der Zeiterfassung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cZeit_NurLei&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Zeiterfassung: nur Leistung J/N&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKostst&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kostenstelle der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dAbrechVon&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Abrechnungszeitraum von&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dAbrechBis&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Abrechnungszeitraum bis&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lNeuNum&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Neunummerierung f&amp;amp;uuml;r diese Position ausf&amp;amp;uuml;hren&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSysUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || System-UID der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cGeraetNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Ger&amp;amp;auml;tenummer (f&amp;amp;uuml;r Servicepositionen)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Properties ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Name !! Typ !! Zugriff !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;oMyDB&amp;lt;/code&amp;gt; || TxDB || Nur Lesen || Datenbankverbindung (vom Vorgang geerbt)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;ShopNr&amp;lt;/code&amp;gt; || String || Nur Lesen || Shop-Nummer (f&amp;amp;uuml;r Mehrshop-Preisfindung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cArtikelNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Artikelnummer (Zugriff &amp;amp;uuml;ber Property wegen Seiteneffekten)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PcMWSTSch&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || MwSt-Schl&amp;amp;uuml;ssel (Parameter-Feld)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PcMengeIn&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Mengeneingabe als String (Parameter)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PnMengeIn&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Mengeneingabe als Zahl (Parameter)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PnMengeInFak&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Mengeneingabe-Faktor (Parameter)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PcMemofeld&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Memofeld der Position (Parameter-Feld, Unicode)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PcMemofeldAnsi&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Memofeld ANSI-Version (Parameter-Feld)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosLaufend&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Laufende Positionsnummer als String&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lVerbrauchsMater&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Verbrauchsmaterial-Kennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nMenge&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Menge der Position (mit Seiteneffekten bei Schreiben)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cTyp&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionstyp als String &amp;amp;ndash; siehe [[#Konstanten|Konstanten]] (POSTYP_*)&amp;lt;br /&amp;gt;Wandelt den übergebenen String in die passende Enummeration für Property (siehe Hinweise in [[TVorgangPos_Prop_Typ|Typ]]). {{Achtung|Wird ein ungültiger Wert gesetzt, so wird der Typ automatisch auf Position (&amp;quot;0&amp;quot; bzw. ptPosition) gesetzt.}}&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgangPos_Prop_Typ&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;Typ&amp;lt;/code&amp;gt; || [[#TVB_PosType|TVB_PosType]] || Lesen/Schreiben || Positionstyp als Enum (ptPosition, ptText, ptLeerzeile&amp;amp;nbsp;&amp;amp;hellip;){{Hinweis|Wird der Typ geändert, so werden die Daten des Positionsobjekts auf die Vorbelegung zurückgesetzt. Zuvor gesetzte Daten werden dabei überschrieben. Nach der Verwendung von &amp;lt;code&amp;gt;NeuePosition&amp;lt;/code&amp;gt; sollte der Typ daher als erstes geändert werden, bevor Sie weitere Daten in das Objekt schreiben. Alternativ kann der Positionstyp mit einer Klassenmethode angepasst werden. Diese verfügen über entsprechende Parameter, um relevante Felder für die Position direkt zu setzen. Siehe dazu:&amp;lt;br /&amp;gt;[[#TVorgangPos_Meth_Typ_Pos|Typ_Pos]]&amp;lt;br /&amp;gt;[[#TVorgangPos_Meth_Typ_Text|Typ_Text]]&amp;lt;br /&amp;gt;[[#TVorgangPos_Meth_Typ_Leerzeile|Typ_Leerzeile]]&amp;lt;br /&amp;gt;[[#TVorgangPos_Meth_Typ_Zwischensumme|Typ_Zwischensumme]]&amp;lt;br /&amp;gt;[[#TVorgangPos_Meth_Typ_ZwischensummeEbene|Typ_ZwischensummeEbene]]&amp;lt;br /&amp;gt;[[#TVorgangPos_Meth_Typ_Titelsumme|Typ_Titelsumme]]&amp;lt;br /&amp;gt;[[#TVorgangPos_Meth_Typ_TitelsummeEbene|Typ_TitelsummeEbene]]&amp;lt;br /&amp;gt;[[#TVorgangPos_Meth_Typ_Titel|Typ_Titel]]&amp;lt;br /&amp;gt;[[#TVorgangPos_Meth_Typ_Gewerk|Typ_Gewerk]]&amp;lt;br /&amp;gt;[[#TVorgangPos_Meth_Typ_NeueSeite|Typ_NeueSeite]]&amp;lt;br /&amp;gt;[[#TVorgangPos_Meth_Typ_Bild|Typ_Bild]]}}&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgangPos_Prop_OriginalPos&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;OriginalPos&amp;lt;/code&amp;gt; || [[#TVorgangPosOriginal|TVorgangPosOriginal]] || Nur Lesen || Ursprungspositionsdaten (DMS-Referenz, Nr, UID, SysUID)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Methoden ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signatur !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;constructor Create(oxVorgang: [[#TVorgang|TVorgang]]; cPosTbl: string)&amp;lt;/code&amp;gt; || Erstellt eine neue Position f&amp;amp;uuml;r den angegebenen Vorgang (veraltet, UID-Variante bevorzugen)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;constructor Create(cUid: string; oxVorgang: [[#TVorgang|TVorgang]]; cPosTbl: string)&amp;lt;/code&amp;gt; || Erstellt eine neue Position mit vorgegebener UID&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;destructor Destroy&amp;lt;/code&amp;gt; || Gibt die Position frei&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure PositionsVorbelegung&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt die Position mit Standardwerten aus den Vorgangsdaten&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure GenNewUid&amp;lt;/code&amp;gt; || Generiert eine neue UID f&amp;amp;uuml;r diese Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyPosmenge(cFromUID: string): string&amp;lt;/code&amp;gt; || Kopiert Mengen aus einer anderen Position (per UID)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyPosverp(cFromUID: string): string&amp;lt;/code&amp;gt; || Kopiert Verpackungsdaten aus einer anderen Position (per UID)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure CopyFrom(oSrc: [[#TVorgangPos|TVorgangPos]]; lFull: boolean = False)&amp;lt;/code&amp;gt; || Kopiert alle Felder aus einer anderen Position; lFull=True kopiert auch interne Felder&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure QueryToPos(qTmp: TxFQuery; lReadAsNew: boolean = false)&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt die Position aus einem Datenbankquery (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure QueryToPos(qTmp: TxFQuery; const cFromTable: string; lVerpack: Boolean = False; lUmkehr: boolean = False)&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt die Position aus einem Query mit expliziter Quelltabelle (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure DBPosToPos(const cFromTable: string; const cSysUid: string; lVerpack: Boolean = False; lUmkehr: boolean = False)&amp;lt;/code&amp;gt; || Liest eine Position direkt aus der Datenbank per SysUID&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function FillArtikel(cArtNr: string): boolean&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt die Position mit Artikelstammdaten; gibt True bei Erfolg zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function SetzeLieferant(const cLiefNr: string; lEKNeu: boolean = True; lDefaultEK1: boolean = False): boolean&amp;lt;/code&amp;gt; || Setzt den Lieferanten und aktualisiert EK-Preise&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure FillLeistung(cLeistNr: string)&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt die Position mit Leistungsstammdaten&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function SumPosBez(const eZielTyp: [[#TVB_PosType|TVB_PosType]]; const cBezVorb: string): string&amp;lt;/code&amp;gt; || Gibt die Bezeichnung f&amp;amp;uuml;r eine Summenposition zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgangPos_Meth_Typ_Pos&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;procedure Typ_Pos&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;normale Position&amp;amp;ldquo;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgangPos_Meth_Typ_Text&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;procedure Typ_Text(const cText: string)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Textzeile&amp;amp;ldquo; mit dem angegebenen Text&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgangPos_Meth_Typ_Leerzeile&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;procedure Typ_Leerzeile&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Leerzeile&amp;amp;ldquo;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgangPos_Meth_Typ_Zwischensumme&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;procedure Typ_Zwischensumme(const cBez: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Zwischensumme&amp;amp;ldquo; (Ebene&amp;amp;nbsp;1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgangPos_Meth_Typ_ZwischensummeEbene&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;procedure Typ_ZwischensummeEbene(const nEbene: integer; const cBez: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Zwischensumme&amp;amp;ldquo; der angegebenen Ebene&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgangPos_Meth_Typ_Titelsumme&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;procedure Typ_Titelsumme(const cBez: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Titelsumme&amp;amp;ldquo; (Ebene&amp;amp;nbsp;1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgangPos_Meth_Typ_TitelsummeEbene&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;procedure Typ_TitelsummeEbene(const nEbene: integer; const cBez: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Titelsumme&amp;amp;ldquo; der angegebenen Ebene&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgangPos_Meth_Typ_Titel&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;procedure Typ_Titel(const cBez: string)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Titel&amp;amp;ldquo;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgangPos_Meth_Typ_Gewerk&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;procedure Typ_Gewerk(const cBez: string)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Gewerk&amp;amp;ldquo;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgangPos_Meth_Typ_NeueSeite&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;procedure Typ_NeueSeite&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Seitenumbruch&amp;amp;ldquo;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgangPos_Meth_Typ_Bild&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;procedure Typ_Bild(const cBild: string)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Bild&amp;amp;ldquo; mit dem angegebenen Bildpfad/-UID&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure UStKorrektur(const dCheckDate: TDateTime)&amp;lt;/code&amp;gt; || Korrigiert den Umsatzsteuerschl&amp;amp;uuml;ssel gem&amp;amp;auml;&amp;amp;szlig; Datum (Steuersatz&amp;amp;auml;nderungen)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure KalkPos&amp;lt;/code&amp;gt; || Kalkuliert Gesamtpreis und abgeleitete Felder dieser Position neu&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosNrAllowed(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn dieser Positionstyp eine Positionsnummer erh&amp;amp;auml;lt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure SetPosNr(cP: string; cT: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;; cG: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;; cFormat: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;)&amp;lt;/code&amp;gt; || Setzt die Positionsnummer aus String-Komponenten (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure SetPosNr(nP: integer; nT: integer = -1; nG: integer = -1; cFormat: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;)&amp;lt;/code&amp;gt; || Setzt die Positionsnummer aus numerischen Komponenten (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosLaufend(iPos: integer = 0): string&amp;lt;/code&amp;gt; || Gibt die laufende Positionsnummer als formatierten String zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Preisfindung(cShopNr: string = CONST_NO_SHOP)&amp;lt;/code&amp;gt; || F&amp;amp;uuml;hrt die Preisfindung f&amp;amp;uuml;r diese Position aus&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function SetOpenBookLieferant(): boolean&amp;lt;/code&amp;gt; || Setzt den Open-Book-Lieferanten f&amp;amp;uuml;r diese Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure AddToMemo(const cText: string; const lNewLine: boolean = False)&amp;lt;/code&amp;gt; || F&amp;amp;uuml;gt Text zum Memofeld hinzu&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgangPos_Meth_AktualisiereDaten&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;procedure AktualisiereDaten&amp;lt;/code&amp;gt; || Aktualisiert Texte, EK- und VK-Preise gem&amp;amp;auml;&amp;amp;szlig; [[#TVorgang_Prop_ParameterPositionsdatenAktualisieren|ParameterPositionsdatenAktualisieren]]&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure EKCalcMengeIn(var nEkFak: double)&amp;lt;/code&amp;gt; || Berechnet den EK-Mengeneingabe-Faktor (R&amp;amp;uuml;ckgabe per var-Parameter)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CanSave(): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft ob diese Position gespeichert werden kann/darf&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure qSqlSet(AqSql: TqSql)&amp;lt;/code&amp;gt; || Setzt das SQL-Objekt f&amp;amp;uuml;r erweiterte DB-Operationen dieser Position&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Globale Methoden =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Signatur !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstVKVorgang(cMainTable: string): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck, wenn die Haupttabelle ein VK-Vorgang ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstVKVorgangPos(cPosTable: string): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck, wenn die Positionstabelle zu einem VK-Vorgang geh&amp;amp;ouml;rt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyPosmengeDB(oMyDB: TxDB; cFromUID: string): string&amp;lt;/code&amp;gt; || Kopiert Positionsmengen aus einem anderen Vorgang (direkt per Datenbankzugriff)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyPosverpDB(oMyDB: TxDB; cFromUID: string): string&amp;lt;/code&amp;gt; || Kopiert Positionsverpackungen aus einem anderen Vorgang (direkt per Datenbankzugriff)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyRTFLan(oMyDB: TxDB; cVonTable, cVonRef, cNachTable, cNachRef: String): String&amp;lt;/code&amp;gt; || Kopiert RTF-Langtexte zwischen Vorgangs-Positionen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure CopyKalkulationAN2AU(oMyDB: TxDB; cANRef1, cANRef2, cAURef1, cAURef2: String; fPosmenge: Double)&amp;lt;/code&amp;gt; || Kopiert Kalkulation von Angebot nach Auftrag (mit Mengenfaktor)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure CopyKalkulationAU(oMyDB: TxDB; cANRef1, cANRef2, cAURef1, cAURef2: String)&amp;lt;/code&amp;gt; || Kopiert Auftragskalkulation zwischen zwei Positionen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure CopyKalkulationAN(oMyDB: TxDB; cANRef1, cANRef2, cAURef1, cAURef2: String)&amp;lt;/code&amp;gt; || Kopiert Angebotskalkulation zwischen zwei Positionen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosNrFormatCheck(const cFormat: string): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft, ob ein Positionsnummern-Format g&amp;amp;uuml;ltig ist (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosNrFormatCheck(oMyDB: TxDB; const cFormat: string): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft Format gegen Datenbankeinstellungen (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosNrFormatCounts(const cFormat: string; out nG, nT, nP: integer): boolean&amp;lt;/code&amp;gt; || Liefert die Stellenzahlen f&amp;amp;uuml;r Gewerk, Titel und Position aus dem Format (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosNrFormatCounts(oMyDB: TxDB; const cFormat: string; out nG, nT, nP: integer): boolean&amp;lt;/code&amp;gt; || Wie oben, mit Datenbankzugriff (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosNrSplit(oMyDB: TxDB; const cFormat, cPosTyp: string; cPosNr: string; out nG, nT, nP: integer): boolean&amp;lt;/code&amp;gt; || Zerlegt eine formatierte Positionsnummer in ihre Bestandteile&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function GetVorgangMandant(oMyDB: TxDB; const cTable, cNr: string): string&amp;lt;/code&amp;gt; || Gibt den Mandanten-Schl&amp;amp;uuml;ssel f&amp;amp;uuml;r einen Vorgang zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function GetVorgangTextTB(const nPMode: integer; out cTB_Nr: string; cFiliale: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;): boolean&amp;lt;/code&amp;gt; || Ermittelt die Textbaustein-Nummer f&amp;amp;uuml;r den angegebenen Positionsmodus&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function GetVorgangTextTBPers(oMyDB: TxDB; const cPsNr: string; const nPMode: integer; out cTB_Nr: string; cFiliale: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;): boolean&amp;lt;/code&amp;gt; || Wie GetVorgangTextTB, zus&amp;amp;auml;tzlich personenbezogen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function KopfTextPlatzhalter(var cKopfText: string; const cBrief1, cBrief2: string): boolean&amp;lt;/code&amp;gt; || Ersetzt Platzhalter im Kopftext durch Briefanredefelder&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangArt(oMyDB: TxDB; const cDMS, cNr: string): integer&amp;lt;/code&amp;gt; || Gibt die Vorgangsart als Integer-Kennziffer zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangStatus(oMyDB: TxDB; const cDMS, cNr: string): string&amp;lt;/code&amp;gt; || Gibt den aktuellen Status eines Vorgangs aus der Datenbank zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangVerbucht(oMyDB: TxDB; const cDMS, cNr: string): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck, wenn der Vorgang verbucht ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangUstEnthalten(oMyDB: TxDB; const cDMS, cNr, cUstSchl: string; cFeld: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft, ob ein bestimmter USt-Schl&amp;amp;uuml;ssel im Vorgang verwendet wird&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PortoVerpackKannSkonto(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck, wenn Porto/Verpackung skontof&amp;amp;auml;hig ist (laut Systemeinstellung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function GetPosBild(oMyDB: TxDB; cArtNr: string; var cBildUID: string): boolean&amp;lt;/code&amp;gt; || Ermittelt die Bild-UID eines Artikels f&amp;amp;uuml;r eine Positions-Bildposition&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangVertreterVorb(oMyDB: TxDB; const cVertreter: string): string&amp;lt;/code&amp;gt; || Gibt den vorgebelegten Vertreter-Schl&amp;amp;uuml;ssel zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangVertreterPrio(oMyDB: TxDB; const cAktVertreter: string): string&amp;lt;/code&amp;gt; || Gibt den Vertreter mit h&amp;amp;ouml;chster Priorit&amp;amp;auml;t zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function GenerierePositionskommentar(cUrsprung, cKommentar: String): String&amp;lt;/code&amp;gt; || Kombiniert Ursprungs- und Kommentartext zu einem Positions-Kommentar&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function ReplacePlatzhalterReparaturAuftrag(cRAufNr: String; cText: String = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;): String&amp;lt;/code&amp;gt; || Ersetzt Platzhalter im Text durch Reparaturauftragsdaten&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function ReplacePlatzhalterPosErfassung(oMyDB: TxDB; const cBuffer, cTable, cNr: string; const lDef: Boolean = False; const lRepa: Boolean = False): String&amp;lt;/code&amp;gt; || Ersetzt Platzhalter im Text bei der Positionserfassung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function LoadPlatzhalterVorgang(oMyDB: TxDB; const cTable, cNr: string; var oPlatzhalter: TPlatzhalterVorgang): Boolean&amp;lt;/code&amp;gt; || L&amp;amp;auml;dt Platzhalter-Daten eines Vorgangs aus der Datenbank&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PlatzhalterVorgang(const cText, cNr: string; const oPlatzhalter: TPlatzhalterVorgang; const lDef: Boolean = false; const lRepa: Boolean = false): string&amp;lt;/code&amp;gt; || Ersetzt Platzhalter im Text mit den geladenen Vorgang-Platzhaltern&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function GetPosVorb_ErlKto(oMyDB: TxDB; const cErlJahr, cManNr, cFiliale: string): string&amp;lt;/code&amp;gt; || Gibt das Erl&amp;amp;ouml;skonto f&amp;amp;uuml;r eine Positionsvorbelegung zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure ChangePosPreisFromLeistPreis2(oVorgang: TVorgang)&amp;lt;/code&amp;gt; || Wechselt f&amp;amp;uuml;r alle Positionen auf den alternativen Leistungspreis 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_ToXMLStr(oMyDB: TxDB; const cTable, cPosTable, cVorgNr: String): string&amp;lt;/code&amp;gt; || Exportiert einen Vorgang als XML-String&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_ToDelArchiv(oMyDB: TxDB; const cTable, cPosTable, cVorgNr: String): Boolean&amp;lt;/code&amp;gt; || Verschiebt einen Vorgang ins L&amp;amp;ouml;scharchiv&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_ToXMLFile(oMyDB: TxDB; const cFile, cTable, cPosTable, cVorgNr: String): Boolean&amp;lt;/code&amp;gt; || Exportiert einen Vorgang in eine XML-Datei&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function XMLFile_ToVorgang(oMyDB: TxDB; const cData: String; var cNewNr, cOldNr: String): Boolean&amp;lt;/code&amp;gt; || Importiert einen Vorgang aus einem XML-String/-Datei&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function DelArchivTo_Vorgang(oMyDB: TxDB; const cTabelle, cVorgang: String): String&amp;lt;/code&amp;gt; || Stellt einen archivierten Vorgang wieder her&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_Runden_MengeInFak(oMyDB: TxDB; const cTabMain, cTabPos: string; nValue: double): double&amp;lt;/code&amp;gt; || Rundet den Mengeneingabe-Faktor gem&amp;amp;auml;&amp;amp;szlig; Tabelleneinstellung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_Rohertrag(oMyDB: TxDB; const cDMSTyp, cVorgNr: String; nNettoBetrag: Double): String&amp;lt;/code&amp;gt; || Berechnet den Rohertrag eines Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_Rohertrag_Ext(oMyDB: TxDB; const cDMSTyp, cVorgNr: String; nNettoBetrag: Double; lSollStunden: Boolean): string&amp;lt;/code&amp;gt; || Berechnet den Rohertrag erweitert (mit Sollstunden)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangFelder(cTyp: String; lPosition, lArtikel, lMaterial, lAuswertung, lMessen: Boolean; lSchiff: Boolean = False): String&amp;lt;/code&amp;gt; || Gibt die aktiven Feldgruppen eines Vorgangstyps als String zur&amp;amp;uuml;ck (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangFelder(oMyDB: TxDB; cTyp: String; lPosition, lArtikel, lMaterial, lAuswertung, lMessen: Boolean; lSchiff: Boolean = False): String&amp;lt;/code&amp;gt; || Wie oben, mit Datenbankzugriff (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_IstGesperrt(oMyDB: TxDB; const cTyp, cRef: string; const cFeld: string = &#039;a_nr&#039;): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft, ob ein Vorgang gesperrt ist (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_IstGesperrt(oMyDB: TxDB; const rDMS: TDMSType; const cRef: string; const cFeld: string = &#039;a_nr&#039;): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft Sperrung per DMS-Typ (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_FilterSperrung(oMyDB: TxDB; const cTyp, cRef: string; out cOffen, cGesperrt: string; const cFeld: string = &#039;a_nr&#039;): boolean&amp;lt;/code&amp;gt; || Gibt SQL-Filter-Strings f&amp;amp;uuml;r offene/gesperrte Vorg&amp;amp;auml;nge zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_FilterSperrung_Offen(oMyDB: TxDB; const cTyp, cRef: string; out cOffen: string; const cFeld: string = &#039;a_nr&#039;): boolean&amp;lt;/code&amp;gt; || Gibt nur den Filter f&amp;amp;uuml;r offene (nicht gesperrte) Vorg&amp;amp;auml;nge zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_UbernahmeMassen(oMyDB: TxDB; const cVonUid, cNachDmsTyp, cNachVorgNr, cNachUid: string): boolean&amp;lt;/code&amp;gt; || Massenweise Positions&amp;amp;uuml;bernahme zwischen Vorg&amp;amp;auml;ngen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_GetMenge(oMyDB: TxDB; const cPosTable, cKeyField, cUID: String; out nUrmenge: Double; const cEigUID: String = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;): Double&amp;lt;/code&amp;gt; || Liest die aktuelle und Ursprungsmenge einer Position aus der Datenbank&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_CheckPosTyp(const cTyp: string): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft, ob ein Positionstyp-Schl&amp;amp;uuml;ssel g&amp;amp;uuml;ltig ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_HatReEmpfAdr(qVorgangData: TxFQuery): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck, wenn der Vorgang eine Rechnungsempf&amp;amp;auml;nger-Adresse hat (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_HatReEmpfAdr(qVorgangData: TxQuery): boolean&amp;lt;/code&amp;gt; || Wie oben, f&amp;amp;uuml;r TxQuery (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_AnzeigeReEmpf(oMyDB: TxDB; qMain: TxFQuery; const cMainTable: string; cAdressBez: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;; lUseReportLang: boolean = True): string&amp;lt;/code&amp;gt; || Gibt die anzuzeigende Rechnungsempf&amp;amp;auml;nger-Adresse als formatierten Text zur&amp;amp;uuml;ck (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_AnzeigeReEmpf(oMyDB: TxDB; qMain: TxQuery; const cMainTable: string; cAdressBez: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;; lUseReportLang: boolean = True): string&amp;lt;/code&amp;gt; || Wie oben, f&amp;amp;uuml;r TxQuery (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PortoVerpackBerechnet(oMyDB: TxDB; const cDmsVon, cDmsSetzen, cNrSetzen: string): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft, ob Porto/Verpackung bereits berechnet wurde und setzt Kennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangVorb_Waehrung(oMyDB: TxDB; const cValue: string = &#039;01&#039;): string&amp;lt;/code&amp;gt; || Gibt den Standardw&amp;amp;auml;hrungsschl&amp;amp;uuml;ssel f&amp;amp;uuml;r Vorgangsvorbelegung zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangVorb_RechKreis(oMyDB: TxDB; const cValue: string = &#039;01&#039;): string&amp;lt;/code&amp;gt; || Gibt den Standardrechnungskreis-Schl&amp;amp;uuml;ssel zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangVorbPos_VomLager(const nTokenPos: integer; const cLagStreck: string): string&amp;lt;/code&amp;gt; || Gibt das Lager/die Strecke f&amp;amp;uuml;r eine Positionsvorbelegung zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_VersandkostenMBW(oMyDB: TxDB; const cDmsTyp: string; const lGen: boolean; const cPsNr: string; const cPsVersand: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;; const cPsZusatz: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;): string&amp;lt;/code&amp;gt; || Berechnet Versandkosten auf Basis des Mindestbestellwerts&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfFile(oMyDB: TxDB; const cDmsTyp, cNr, cKdNr: string; out cPdfFile: string): boolean&amp;lt;/code&amp;gt; || Ermittelt den Pfad zur archivierten PDF-Datei eines Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfAsBase64File(oMyDB: TxDB; const cDmsTyp, cNr, cKdNr: string; out cBase64File: string): boolean&amp;lt;/code&amp;gt; || Liefert die PDF-Datei als Base64-kodierten Pfad&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfAsBase64Parts(oMyDB: TxDB; const cDmsTyp, cNr, cKdNr: string; const nPart: integer; out cBase64: string; out nParts: integer; nPartSize: integer = 0): boolean&amp;lt;/code&amp;gt; || Liefert die PDF in Teilen als Base64 (mit KdNr, &amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfAsBase64Parts(oMyDB: TxDB; const cDmsTyp, cNr, cKdNr: string; const nPart: integer; out cBase64: string; out nParts: integer; cPartSize: string): boolean&amp;lt;/code&amp;gt; || Wie oben, Teilgr&amp;amp;ouml;&amp;amp;szlig;e als String (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfAsBase64Parts(oMyDB: TxDB; const cDmsTyp, cNr: string; const nPart: integer; out cBase64: string; out nParts: integer; nPartSize: integer = 0): boolean&amp;lt;/code&amp;gt; || Wie oben, ohne KdNr (&amp;amp;Uuml;berladung 3)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfAsBase64Parts(oMyDB: TxDB; const cDmsTyp, cNr: string; const nPart: integer; out cBase64: string; out nParts: integer; cPartSize: string): boolean&amp;lt;/code&amp;gt; || Wie oben, Teilgr&amp;amp;ouml;&amp;amp;szlig;e als String (&amp;amp;Uuml;berladung 4)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfAsBase64(oMyDB: TxDB; const cDmsTyp, cNr: string; out cBase64: string): boolean&amp;lt;/code&amp;gt; || Liefert die gesamte PDF als Base64-String&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PosUebernommen(oMyDB: TxDB; const cVonDmsTyp, cVonNr, cPosUid: string): TVorgangPosOriginalListe&amp;lt;/code&amp;gt; || Gibt eine Liste aller Vorg&amp;amp;auml;nge zur&amp;amp;uuml;ck, in die diese Position &amp;amp;uuml;bernommen wurde&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_GetPosRef(oMyDB: TxDB; const cVonDmsTyp, cVonNr, cPosUid, cRefDmsTypen: string): TVorgangPosOriginalListe&amp;lt;/code&amp;gt; || Gibt Referenzen einer Position auf andere DMS-Typen zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_ArtBox(const cDMSTyp: string): string&amp;lt;/code&amp;gt; || Gibt die Vorgangsart-Box (Auswahlstring) f&amp;amp;uuml;r einen DMS-Typ zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_SummenEbene(const nEbene: integer): integer&amp;lt;/code&amp;gt; || Validiert und normiert eine Summen-Ebene (1..VB_MAX_SummenEbenen)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_SummenEbeneAusMenge(const nMenge: double): integer&amp;lt;/code&amp;gt; || Berechnet die Summenebene aus einem Mengenwert&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_KalkAufschlagPos(const nSatz, nZwSumme, nMengeIn, nMengeInFak, nRabatt: double): double&amp;lt;/code&amp;gt; || Berechnet den Aufschlagsbetrag f&amp;amp;uuml;r eine Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_SumPosText(const eTyp: [[#TVB_PosType|TVB_PosType]]; const cLanguage: string): string&amp;lt;/code&amp;gt; || Gibt den lokalisierten Standardtext f&amp;amp;uuml;r eine Summenposition zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_SumPosTextZw(cLang: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;): string&amp;lt;/code&amp;gt; || Gibt den lokalisierten Text f&amp;amp;uuml;r Zwischensummen-Positionen zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_SumPosTextTit(cLang: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;): string&amp;lt;/code&amp;gt; || Gibt den lokalisierten Text f&amp;amp;uuml;r Titelsummen-Positionen zur&amp;amp;uuml;ck&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Nimz</name></author>
	</entry>
	<entry>
		<id>https://wiki.bergau.de/index.php?title=OBS/Makros_und_Scripting/Allgemeines/Klassen/Vorg%C3%A4nge&amp;diff=64511</id>
		<title>OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge</title>
		<link rel="alternate" type="text/html" href="https://wiki.bergau.de/index.php?title=OBS/Makros_und_Scripting/Allgemeines/Klassen/Vorg%C3%A4nge&amp;diff=64511"/>
		<updated>2026-06-12T12:07:27Z</updated>

		<summary type="html">&lt;p&gt;Nimz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Makros und Scripting}}&lt;br /&gt;
Es gibt für die Generierung von Vorgängen eigene Klassen. Da es zwischen den Vorgängen immer irgendwelche Unterschiede gibt, existiert auch für jeden Vorgangs-Typ eine eigene Klasse.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Übersicht Klassen:&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Angebot|Angebot]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Auftrag|Auftrag]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Reparaturauftrag|Reparaturauftrag]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Produktionsauftrag|Produktionsauftrag]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Lieferschein|Lieferschein]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Rechnung|Rechnung]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Bestellung|Bestellung]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Einkaufslieferschein|Einkaufslieferschein]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Einkauf|Einkauf]]&lt;br /&gt;
&lt;br /&gt;
= Datentypen =&lt;br /&gt;
&lt;br /&gt;
== Enumerationen ==&lt;br /&gt;
&lt;br /&gt;
=== TVB_PosType ===&lt;br /&gt;
Positionstyp einer [[#TVorgangPos|TVorgangPos]]. Wird &amp;amp;uuml;ber die Property &amp;lt;code&amp;gt;[[#TVorgangPos_Prop_Typ|Typ]]&amp;lt;/code&amp;gt; gelesen/gesetzt.&lt;br /&gt;
Die zugeh&amp;amp;ouml;rigen String-Konstanten sind unter [[#Konstanten|Konstanten]] beschrieben.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wert !! Bezeichner !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 0 || &amp;lt;code&amp;gt;ptPosition&amp;lt;/code&amp;gt; || Normale Artikelposition&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 1 || &amp;lt;code&amp;gt;ptText&amp;lt;/code&amp;gt; || Textzeile / Memorundzeile&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 2 || &amp;lt;code&amp;gt;ptLeerzeile&amp;lt;/code&amp;gt; || Leere Trennzeile&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 3 || &amp;lt;code&amp;gt;ptZwischensumme&amp;lt;/code&amp;gt; || Zwischensummen-Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 4 || &amp;lt;code&amp;gt;ptTitelsumme&amp;lt;/code&amp;gt; || Titelsummen-Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 5 || &amp;lt;code&amp;gt;ptTitel&amp;lt;/code&amp;gt; || Titelzeile&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 6 || &amp;lt;code&amp;gt;ptGewerk&amp;lt;/code&amp;gt; || Gewerk-Kopfzeile&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 7 || &amp;lt;code&amp;gt;ptSeitenumbruch&amp;lt;/code&amp;gt; || Manueller Seitenumbruch&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 8 || &amp;lt;code&amp;gt;ptBild&amp;lt;/code&amp;gt; || Bildposition&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVB_MaterMode ===&lt;br /&gt;
Steuert den Materialmodus beim Lesen von Positionsdaten.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wert !! Bezeichner !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 0 || &amp;lt;code&amp;gt;mmNone&amp;lt;/code&amp;gt; || Kein spezieller Materialmodus&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 1 || &amp;lt;code&amp;gt;mmMD5&amp;lt;/code&amp;gt; || Materialpr&amp;amp;uuml;fung per MD5-Hash&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 2 || &amp;lt;code&amp;gt;mmReadUID&amp;lt;/code&amp;gt; || Material-UID direkt lesen&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVorgangFehlerTyp ===&lt;br /&gt;
Klassifiziert einen Eintrag in der internen Fehlerliste eines [[#TVorgang|TVorgang]].&lt;br /&gt;
Wird im Record [[#TVorgangFehler|TVorgangFehler]] verwendet.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wert !! Bezeichner !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 0 || &amp;lt;code&amp;gt;vftOther&amp;lt;/code&amp;gt; || Sonstiger Hinweis&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 1 || &amp;lt;code&amp;gt;vftCritical&amp;lt;/code&amp;gt; || Kritischer Fehler (blockiert Speichern)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 2 || &amp;lt;code&amp;gt;vftSaveCheck&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;fung beim Speichern&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 3 || &amp;lt;code&amp;gt;vftPosInfo&amp;lt;/code&amp;gt; || Positionsbezogene Information&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVorgangFehlerLoeschenLesen ===&lt;br /&gt;
Steuert, welche Fehler nach dem Lesen via &amp;lt;code&amp;gt;[[#TVorgang_Meth_leseFehler|leseFehler]]&amp;lt;/code&amp;gt; aus der Liste gel&amp;amp;ouml;scht werden.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wert !! Bezeichner !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 0 || &amp;lt;code&amp;gt;vfllNone&amp;lt;/code&amp;gt; || Kein Fehler nach dem Lesen l&amp;amp;ouml;schen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 1 || &amp;lt;code&amp;gt;vfllAll&amp;lt;/code&amp;gt; || Alle Fehler nach dem Lesen l&amp;amp;ouml;schen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 2 || &amp;lt;code&amp;gt;vfllSkipCritical&amp;lt;/code&amp;gt; || Nur nicht-kritische Fehler l&amp;amp;ouml;schen (Standard)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Records ==&lt;br /&gt;
&lt;br /&gt;
=== TVorgangPosOriginal ===&lt;br /&gt;
Enth&amp;amp;auml;lt Referenzinformationen der Ursprungsposition (z.&amp;amp;nbsp;B. bei der Vorgangs&amp;amp;uuml;bernahme).&lt;br /&gt;
Wird &amp;amp;uuml;ber die Property &amp;lt;code&amp;gt;[[#TVorgangPos_Prop_OriginalPos|OriginalPos]]&amp;lt;/code&amp;gt; einer [[#TVorgangPos|TVorgangPos]] geliefert.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Feld !! Typ !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;rDMS&amp;lt;/code&amp;gt; || TDMSType || DMS-Typ des Ursprungsvorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cNr&amp;lt;/code&amp;gt; || String || Vorgangsnummer des Ursprungs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cUid&amp;lt;/code&amp;gt; || String || UID der Ursprungsposition&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSysUid&amp;lt;/code&amp;gt; || String || System-UID der Ursprungsposition&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Methoden:&#039;&#039;&#039;&lt;br /&gt;
{{Achtung|Funktioniert nur im Scriptrunner &amp;quot;Pax&amp;quot;! Aktiver Scriptrunner ist definiert in Programmparameter 444.}}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signatur !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Clear&amp;lt;/code&amp;gt; || Leert alle Felder des Records&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure SetData(const ADMS: TDMSType; qPos: TxFQuery)&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt den Record aus einem Positions-Query&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVorgangPosParams_AktualisiereDaten ===&lt;br /&gt;
Steuert, welche Datenbereiche bei &amp;lt;code&amp;gt;[[#TVorgangPos_Meth_AktualisiereDaten|AktualisiereDaten]]&amp;lt;/code&amp;gt; aktualisiert werden sollen.&lt;br /&gt;
Wird &amp;amp;uuml;ber die Property &amp;lt;code&amp;gt;[[#TVorgang_Prop_ParameterPositionsdatenAktualisieren|ParameterPositionsdatenAktualisieren]]&amp;lt;/code&amp;gt; von [[#TVorgang|TVorgang]] gesetzt.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Feld !! Typ !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lTexte&amp;lt;/code&amp;gt; || Boolean || Bezeichnungen/Texte aktualisieren&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lEK&amp;lt;/code&amp;gt; || Boolean || Einkaufspreise aktualisieren&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lVK&amp;lt;/code&amp;gt; || Boolean || Verkaufspreise aktualisieren&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Methoden:&#039;&#039;&#039;&lt;br /&gt;
{{Achtung|Funktioniert nur im Scriptrunner &amp;quot;Pax&amp;quot;! Aktiver Scriptrunner ist definiert in Programmparameter 444.}}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signatur !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Init(const cVorb: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;)&amp;lt;/code&amp;gt; || Initialisiert die Parameter mit Standardwerten; optionaler Vorbelegungsschl&amp;amp;uuml;ssel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Aktualisieren(): boolean&amp;lt;/code&amp;gt; || Gibt &amp;lt;code&amp;gt;True&amp;lt;/code&amp;gt; zur&amp;amp;uuml;ck, wenn mindestens ein Aktualisierungsschalter gesetzt ist&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVorgangPosSummen ===&lt;br /&gt;
Speichert Zwischen- und Titelsummen-Betr&amp;amp;auml;ge je Ebene (1 bis &amp;lt;code&amp;gt;VB_MAX_SummenEbenen&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Feld !! Typ !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;aZw[1..9]&amp;lt;/code&amp;gt; || Double || Zwischensummen-Betr&amp;amp;auml;ge je Ebene&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;aTit[1..9]&amp;lt;/code&amp;gt; || Double || Titelsummen-Betr&amp;amp;auml;ge je Ebene&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Methoden:&#039;&#039;&#039;&lt;br /&gt;
{{Achtung|Funktioniert nur im Scriptrunner &amp;quot;Pax&amp;quot;! Aktiver Scriptrunner ist definiert in Programmparameter 444.}}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signatur !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Clear&amp;lt;/code&amp;gt; || Setzt alle Summen auf 0&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure ClearZw(const nEbene: integer)&amp;lt;/code&amp;gt; || Setzt Zwischensumme der Ebene nEbene auf 0&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure ClearTit(const nEbene: integer)&amp;lt;/code&amp;gt; || Setzt Titelsumme der Ebene nEbene auf 0&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure AddZw(const nBetrag: double)&amp;lt;/code&amp;gt; || Addiert Betrag zur aktiven Zwischensummen-Ebene&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure AddTit(const nBetrag: double)&amp;lt;/code&amp;gt; || Addiert Betrag zur aktiven Titelsummen-Ebene&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function ReadZw(const nEbene: integer): double&amp;lt;/code&amp;gt; || Liefert den Zwischensummen-Betrag der Ebene&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function ReadTit(const nEbene: integer): double&amp;lt;/code&amp;gt; || Liefert den Titelsummen-Betrag der Ebene&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVorgangEigenschaft ===&lt;br /&gt;
Repr&amp;amp;auml;sentiert ein Vorgangsmerkmal (Eigenschaft), das per &amp;lt;code&amp;gt;[[#TVorgang_Meth_EigenschaftSetzen|EigenschaftSetzen]]&amp;lt;/code&amp;gt; gesetzt wird.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Feld !! Typ !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cNr&amp;lt;/code&amp;gt; || String || Merkmalsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lMode&amp;lt;/code&amp;gt; || Boolean || True = setzen, False = l&amp;amp;ouml;schen&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVorgangFehler ===&lt;br /&gt;
Ein Eintrag in der internen Fehlerliste von [[#TVorgang|TVorgang]].&lt;br /&gt;
Wird per &amp;lt;code&amp;gt;[[#TVorgang_Meth_leseFehler|leseFehler]]&amp;lt;/code&amp;gt; ausgelesen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Feld !! Typ !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cTitel&amp;lt;/code&amp;gt; || String || Fehlertitel (Kurzbeschreibung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cText&amp;lt;/code&amp;gt; || String || Fehlertext (Detailbeschreibung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;eTyp&amp;lt;/code&amp;gt; || [[#TVorgangFehlerTyp|TVorgangFehlerTyp]] || Fehlerklassifikation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Konstanten ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Konstante !! Wert !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_POS&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;0&#039;&amp;lt;/code&amp;gt; || Positionstyp normale Artikelposition (entspricht [[#TVB_PosType|ptPosition]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_TXT&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;1&#039;&amp;lt;/code&amp;gt; || Positionstyp Textzeile (entspricht [[#TVB_PosType|ptText]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_ELN&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;2&#039;&amp;lt;/code&amp;gt; || Positionstyp Leerzeile (entspricht [[#TVB_PosType|ptLeerzeile]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_ZWS&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;3&#039;&amp;lt;/code&amp;gt; || Positionstyp Zwischensumme (entspricht [[#TVB_PosType|ptZwischensumme]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_TIS&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;4&#039;&amp;lt;/code&amp;gt; || Positionstyp Titelsumme (entspricht [[#TVB_PosType|ptTitelsumme]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_TIT&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;7&#039;&amp;lt;/code&amp;gt; || Positionstyp Titel (entspricht [[#TVB_PosType|ptTitel]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_GEW&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;8&#039;&amp;lt;/code&amp;gt; || Positionstyp Gewerk (entspricht [[#TVB_PosType|ptGewerk]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_PBR&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;17&#039;&amp;lt;/code&amp;gt; || Positionstyp Seitenumbruch (entspricht [[#TVB_PosType|ptSeitenumbruch]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_PIC&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;19&#039;&amp;lt;/code&amp;gt; || Positionstyp Bild (entspricht [[#TVB_PosType|ptBild]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;VB_DEFAULT_BezZwischensumme&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;ZWISCHENSUMME    :&#039;&amp;lt;/code&amp;gt; || Standard-Bezeichnung f&amp;amp;uuml;r Zwischensummen-Positionen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;VB_DEFAULT_BezTitelsumme&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;TITELSUMME       :&#039;&amp;lt;/code&amp;gt; || Standard-Bezeichnung f&amp;amp;uuml;r Titelsummen-Positionen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;VB_MAX_SummenEbenen&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;9&amp;lt;/code&amp;gt; || Maximale Anzahl von Summenebenen (Zwischen- und Titelsummen)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Basisklassen Vorgangsgenerierung=&lt;br /&gt;
&lt;br /&gt;
== TVorgang ==&lt;br /&gt;
&lt;br /&gt;
=== Variablen ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Name !! Typ !! Zugriff !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;oMyDB&amp;lt;/code&amp;gt; || TxDB || Lesen/Schreiben || Datenbankverbindung des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;oProtokoll&amp;lt;/code&amp;gt; || TStringList || Lesen/Schreiben || Protokoll-Liste (Meldungen/Log)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lMeldung&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Steuert Anzeige von Benutzer-Meldungen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lSetPSBemAuto&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Automatische Positionsbemerkung setzen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVorgNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Vorgangsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cProjNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Projektnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lBrutto&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Brutto-Modus aktiv&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLanguage&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sprach-Code (intern, z.&amp;amp;nbsp;B. f&amp;amp;uuml;r Formulare)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLagNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lagernummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cTyp&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Vorgangstyp-K&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dVorgDat&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Vorgangsdatum&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dFaelligDat&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || F&amp;amp;auml;lligkeitsdatum&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dBuchDat&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Buchungsdatum&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dAufDat&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Auftragsdatum&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKdNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kundennummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cAnrede&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Anrede des Kunden&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cName&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Name des Kunden&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVorname&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Vorname des Kunden&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cZusatz1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Adresszusatz 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cZusatz2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Adresszusatz 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cStrasse&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Stra&amp;amp;szlig;e der Lieferadresse&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPostfach&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Postfach&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLK&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || L&amp;amp;auml;nderkennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPLZ&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Postleitzahl&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cOrt&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Ort&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cAngebNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Angebotsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLSNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferscheinnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRechNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cAuftNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Auftragsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRepaNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Reparaturauftragsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cEinkaufsNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Einkaufsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBestellNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Bestellnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosText&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionstext (globaler Standardtext)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLProjNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Leistungsprojektnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKopftext&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kopftext des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cFusstext&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Fu&amp;amp;szlig;text des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nNBetrag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Nettobetrag gesamt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nBBetrag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Bruttobetrag gesamt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nEKBetrag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Einkaufsbetrag gesamt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabattBetrag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabattbetrag gesamt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabattProz&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabattprozentsatz gesamt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nAnzahlung&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Anzahlungsbetrag&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nPorto&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Portokosten&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nVerpackung&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Verpackungskosten&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lSplitPoVe&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Porto und Verpackung getrennt ausweisen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVersand&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandart&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cWaehr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || W&amp;amp;auml;hrungsk&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cFormul&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Formularnummer/-k&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVAnr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandanrede&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVName1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandname 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVName2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandname 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVZusatz&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandadresse Zusatz&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVStrasse&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandstra&amp;amp;szlig;e&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVLK&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versand-L&amp;amp;auml;nderkennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVPLZ&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versand-PLZ&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVOrt&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandort&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandadresse UID&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPrio&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Priorit&amp;amp;auml;t des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cAuftNrKd&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Auftrags-/Bestellnummer des Kunden&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBesteller&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Besteller (Person)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSachb&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sachbearbeiter&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabPosJN&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionsrabatt anzeigen J/N&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMWSTJN&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Mehrwertsteuer ausweisen J/N&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText3&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 3&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText4&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 4&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText5&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 5&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText6&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 6&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText7&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 7&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPreisJN&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Preis auf Dokument drucken J/N&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMwStAbs&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || MwSt-Absetzungstext/-K&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dLiefDat&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Lieferdatum&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cDeleted&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Gel&amp;amp;ouml;scht-Kennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dLDat2&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Zweites Lieferdatum&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSprache&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sprache des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReEmpf&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Nummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReAnrede&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Anrede&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReName&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Name&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReVorname&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Vorname&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReZusatz1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Adresszusatz 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReZusatz2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Adresszusatz 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReStrasse&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Stra&amp;amp;szlig;e&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRePostfach&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Postfach&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReLK&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-L&amp;amp;auml;nderkennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRePLZ&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-PLZ&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReOrt&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Ort&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVertreter&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Vertreter-K&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVerbucht&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Verbucht-Kennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLager&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lager-K&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRechFrei&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsfreigabe-Kennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBonNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Bonnummer (Kasse)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMandant&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Mandantenk&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nMwStDM&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || MwSt-Betrag in DM (Altw&amp;amp;auml;hrung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nKursDM&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Wechselkurs DM&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nAbschlag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Abschlagsbetrag&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nZBetrag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Zahlungsbetrag&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nZSkonto&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Skonto-Betrag&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dZDatum&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Zahlungsdatum&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMemo&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Memofeld des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nValuta&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Valutatage&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKostenst&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kostenstelle&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKostentraeger&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kostentr&amp;amp;auml;ger&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKalkGr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kalkulationsgruppe&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cFrachtV&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Frachtart/-vorschrift&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nFrachtK&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Frachtkosten&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nFrachtG&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Frachtgewicht&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cGruppe&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Vorgangsgruppe&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nPosInc&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Positionsnummer-Inkrement&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cFiliale&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Filialk&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabText&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabatttextfeld (kurz)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cErfasser&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Erfasser des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nSKFBetrag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Skontof&amp;amp;auml;higer Betrag&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lLiefStrecke&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Lieferstreckengesch&amp;amp;auml;ft aktiv&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBetreff&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Betreffzeile&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMemoDruck&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Druckmemo (erscheint auf Dokument)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLieferLiefNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferanten-Lieferscheinnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabattText&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabatttext (lang)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSysUid&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || System-UID des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lLeistPreis2&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Leistungspreis 2 verwenden&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cFunction&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Funktionsk&amp;amp;uuml;rzel (Scripting-Hook)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lSaveAllowed&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Speichern erlaubt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lVorgangsSperre&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Vorgang gesperrt&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Properties ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Name !! Typ !! Zugriff !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;DmsTyp&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || DMS-Typ des Vorgangs (z.&amp;amp;nbsp;B. AN, AU, LS, RE)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;MainTable&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Haupttabelle des Vorgangs (Datenbankname)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PosTable&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionstabelle des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosFormat&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionsnummern-Format&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgang_Prop_ParameterPositionsdatenAktualisieren&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;ParameterPositionsdatenAktualisieren&amp;lt;/code&amp;gt; || [[#TVorgangPosParams_AktualisiereDaten|TVorgangPosParams_AktualisiereDaten]] || Lesen/Schreiben || Parameter f&amp;amp;uuml;r Massenaktualisierung von Positionsdaten&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PnPosCnt&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Anzahl der Positionen im Vorgang&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PaPositionen[Index]&amp;lt;/code&amp;gt; || [[#TVorgangPos|TVorgangPos]] || Lesen/Schreiben || Array der Positionsobjekte (0-basiert)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PcRabGrPers&amp;lt;/code&amp;gt; || String || Nur Lesen || Rabattgruppe der Person (aus Stammdaten ermittelt)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PcVKdNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || VK-Kundennummer (alternativ zur cKdNr f&amp;amp;uuml;r Preisfindung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nNet1&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Nettobetrag MwSt-Schl&amp;amp;uuml;ssel 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nNet2&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Nettobetrag MwSt-Schl&amp;amp;uuml;ssel 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nNet3&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Nettobetrag MwSt-Schl&amp;amp;uuml;ssel 3&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nBrutto1&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Bruttobetrag MwSt-Schl&amp;amp;uuml;ssel 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nBrutto2&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Bruttobetrag MwSt-Schl&amp;amp;uuml;ssel 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nBrutto3&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Bruttobetrag MwSt-Schl&amp;amp;uuml;ssel 3&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nMwSt1&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || MwSt-Betrag Schl&amp;amp;uuml;ssel 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nMwSt2&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || MwSt-Betrag Schl&amp;amp;uuml;ssel 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nMwSt3&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || MwSt-Betrag Schl&amp;amp;uuml;ssel 3&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMwStSchl1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || MwSt-Schl&amp;amp;uuml;ssel 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMwStSchl2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || MwSt-Schl&amp;amp;uuml;ssel 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMwStSchl3&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || MwSt-Schl&amp;amp;uuml;ssel 3&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKeineVersPausch&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Keine Versandpauschale berechnen J/N&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cZahlBed&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Zahlungsbedingung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lNewVorgang&amp;lt;/code&amp;gt; || Boolean || Nur Lesen || Neuer (noch nicht gespeicherter) Vorgang&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKopfNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kopftextbaustein-Nummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cFussNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Fu&amp;amp;szlig;textbaustein-Nummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLiefStrecke&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferstrecken-K&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cStatus&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Status des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cStatM&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Material-Status&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cStatS&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Service-Status&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cStatL&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferstatus&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cStatR&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsstatus&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cColStatus&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Farb-/Anzeigestatus (f&amp;amp;uuml;r UI)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cZustand&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Zustandskenner des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cArt&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Vorgangsart-K&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBonusJN&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Bonus berechnen J/N&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVersandkostenMBW&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandkosten-Mindestbestellwert-Kennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cWKNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Werbungskosten-Nummer&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Methoden ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signatur !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;constructor Create(const cUid: string; oxDB: TxDB; cDmsType: string)&amp;lt;/code&amp;gt; || Erstellt einen neuen Vorgang mit UID, Datenbankverbindung und DMS-Typ&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;destructor Destroy&amp;lt;/code&amp;gt; || Gibt den Vorgang und alle Ressourcen frei&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function SemaphoreCreate(cFName: string; lMeldung: boolean = False; cWait: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;): boolean&amp;lt;/code&amp;gt; || Erstellt eine Datei-Semaphore (Sperrdatei); gibt True zur&amp;amp;uuml;ck wenn erfolgreich&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function SemaphoreInUse(cFName: string): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft ob die Semaphore-Datei bereits in Verwendung ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure SemaphoreReleaseAll&amp;lt;/code&amp;gt; || Gibt alle Semaphoren dieses Vorgangs frei&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure SemaphoreRelease(cFName: string)&amp;lt;/code&amp;gt; || Gibt eine bestimmte Semaphore frei&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstAngebot(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang ein Angebot ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstAuftrag(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang ein Auftrag ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstReparaturAuftrag(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang ein Reparaturauftrag ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstLieferschein(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang ein Lieferschein ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstRechnung(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang eine Rechnung ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstBestellung(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang eine Bestellung ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstAnfrage(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang eine Anfrage ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstEKLieferschein(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang ein EK-Lieferschein ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstEinkauf(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang ein Einkaufsvorgang ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstVG_VK(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn es sich um einen Verkaufsvorgang handelt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstVG_EK(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn es sich um einen Einkaufsvorgang handelt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function NeuNumLock(): boolean&amp;lt;/code&amp;gt; || Sperrt die Neunummerierung (verhindert parallele Vergabe)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure NeuNumLockRelease&amp;lt;/code&amp;gt; || Gibt die Neunummerierungssperre wieder frei&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgNeuNum(cFilter: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;; lAbweichend: boolean = false): string&amp;lt;/code&amp;gt; || Ermittelt und setzt eine neue Vorgangsnummer; gibt die Nummer als String zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgNeuNumBool(cFilter: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;; lAbweichend: boolean = false): boolean&amp;lt;/code&amp;gt; || Wie VorgNeuNum, gibt True/False zur&amp;amp;uuml;ck (f&amp;amp;uuml;r Fehlerbehandlung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstVorgNrGueltig(cUID: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft ob die aktuelle Vorgangsnummer g&amp;amp;uuml;ltig (eindeutig) ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function NeuePositionBase(const cUID: string): [[#TVorgangPos|TVorgangPos]]&amp;lt;/code&amp;gt; || Legt eine neue Positionsinstanz an und f&amp;amp;uuml;gt sie dem Vorgang hinzu&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure NeuePositionBaseMS(const cUID: string; oOrgPos: [[#TVorgangPos|TVorgangPos]])&amp;lt;/code&amp;gt; || Legt eine neue Position als Multi-Steuer-Folgeposition an&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function LoeschePositionBase(nDel: integer): Boolean&amp;lt;/code&amp;gt; || L&amp;amp;ouml;scht die Position mit dem angegebenen Index&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure VerschiebePositionBase(nPos: integer; nZiel: integer)&amp;lt;/code&amp;gt; || Verschiebt Position von Index nPos zu Index nZiel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CheckIfNotNull(): Boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft ob Pflichtfelder des Vorgangs bef&amp;amp;uuml;llt sind&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CheckIfFirstPosOption(): Boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft ob die erste Position eine Optionsposition ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IsPosBerechnung(cPosArt: string): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft ob eine Positionsart als Berechnungsposition gilt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure CopyFrom(oSrc: [[#TVorgang|TVorgang]])&amp;lt;/code&amp;gt; || Kopiert alle Felder aus einem anderen Vorgang&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure KalkAll(lZusatz: boolean = true)&amp;lt;/code&amp;gt; || Kalkuliert alle Positionen und Gesamtsummen neu&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Check_Multisteuer(oOrgPos: [[#TVorgangPos|TVorgangPos]]; const cTable, cMUID, cRefNr: string)&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft und setzt Multi-Steuer-Verkn&amp;amp;uuml;pfung f&amp;amp;uuml;r eine Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyPosmenge(cFromUID: string): string&amp;lt;/code&amp;gt; || Kopiert Positionsmengen aus einem anderen Vorgang (per UID)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyPosverp(cFromUID: string): string&amp;lt;/code&amp;gt; || Kopiert Positionsverpackungen aus einem anderen Vorgang (per UID)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure fillVersandkostenMBW(const cPsNr: string; const cPsVersand: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;; const PsZusatz: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;)&amp;lt;/code&amp;gt; || Berechnet und setzt Versandkosten auf Basis Mindestbestellwert&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure FillPersonBase(qPers: TxFQuery)&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt Adressfelder des Vorgangs aus einem Personen-Query&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function FillReEmpf(const AReEmpf: string; const AZahlBed: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;): boolean&amp;lt;/code&amp;gt; || Setzt Rechnungsempf&amp;amp;auml;nger und optionale Zahlungsbedingung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function SaveRecord(cUID: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;; lAlleSpeichern: boolean = false): Boolean&amp;lt;/code&amp;gt; || Speichert den Vorgang (abstrakt &amp;amp;ndash; muss in abgeleiteter Klasse implementiert werden)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function ReadVorgangTypBase(cDmsTyp: string; const cNr: string; lPos: boolean = false; lNeg: boolean = false): boolean&amp;lt;/code&amp;gt; || Liest einen Vorgang anhand DMS-Typ und Nummer in das Objekt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function JahrNr(): string&amp;lt;/code&amp;gt; || Gibt das Jahr der Vorgangsnummer zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure NeuNumPos(const lNurPos: boolean = True)&amp;lt;/code&amp;gt; || Nummeriert alle Positionen neu&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function EigenschaftSetzen(const ANr: string; const AMode: boolean): boolean&amp;lt;/code&amp;gt; || Setzt oder l&amp;amp;ouml;scht eine Vorgangseigenschaft (Merkmal) per Nummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure AdresseLeeren&amp;lt;/code&amp;gt; || Leert alle Adressfelder des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure VersandLeeren(lRef: boolean = True)&amp;lt;/code&amp;gt; || Leert alle Versandadressfelder&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure ReEmpfLeeren(const lNurAdr: boolean = False)&amp;lt;/code&amp;gt; || Leert Rechnungsempf&amp;amp;auml;nger-Felder (optional nur Adresse)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure DoServiceTouch(cStatus: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;)&amp;lt;/code&amp;gt; || Aktualisiert Service-Zeitstempel und optionalen Status&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function AuswahlParameterPositionsdatenAktualisieren(const cXDataTable: string): boolean&amp;lt;/code&amp;gt; || Zeigt Dialog zur Auswahl der Aktualisierungsparameter f&amp;amp;uuml;r Positionsdaten&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function ZusatzkostenAktiv(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn Zusatzkostenmodul f&amp;amp;uuml;r diesen Vorgang aktiv ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgang_Meth_leseFehler&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;function leseFehler(out rFehler: [[#TVorgangFehler|TVorgangFehler]]; var nIdx: integer; const eLoeschenNachLesen: [[#TVorgangFehlerLoeschenLesen|TVorgangFehlerLoeschenLesen]] = vfllSkipCritical): boolean&amp;lt;/code&amp;gt; || Liest den n&amp;amp;auml;chsten Fehler aus der internen Fehlerliste&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== TVorgangPos ==&lt;br /&gt;
&lt;br /&gt;
=== Variablen ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Name !! Typ !! Zugriff !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nPosIndex&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Laufender Index der Position im Positions-Array&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Interne Positionsnummer (Datenbankfeld)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKundNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kundennummer an der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cAuftragsNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Referenz-Auftragsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBestellNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Referenz-Bestellnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosText&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionstext (Langtextfeld)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLProjNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Leistungsprojektnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLS_azUid&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferschein-Abrechnungszeilen-UID&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVersandNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionsnummer (formatiert)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosNr2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Zweite Positionsnummer (alternativ)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosKas&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kassier-Positionsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLeistungsNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Leistungsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBezeichnung1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Bezeichnung Zeile 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBezeichnung2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Bezeichnung Zeile 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nUrMenge&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Ursprungsmenge (vor &amp;amp;Auml;nderungen)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nLeistFaktor&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Leistungsfaktor (Multiplikator f&amp;amp;uuml;r Mengenberechnung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cEinheit&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Mengeneinheit&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nMengeG&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Mengenganz (ganzzahliger Mengenanteil)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nKolli&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Kollianzahl&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVerpackung&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Verpackungsart/-k&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nInhalt&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Inhalt pro Verpackungseinheit&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nEPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Einzelpreis (Netto)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nBEPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Brutto-Einzelpreis&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nOBPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Original-Brutto-Einzelpreis (vor Rabatt)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nUrPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Ursprungspreis (Listenpreis VK)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nUrPreisEK&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Ursprungspreis Einkauf&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nGPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Gesamtpreis (Netto)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nBGPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Brutto-Gesamtpreis&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nEKPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Einkaufspreis&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nEKSPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Einkaufssonderpreis&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cManPreis&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Manueller Preis J/N-Kennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabatt&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Gesamtrabatt in Prozent&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabatt1&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabatt 1 in Prozent&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabArt1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabattart 1 (Herkunftskennzeichen)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabatt2&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabatt 2 in Prozent&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabArt2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabattart 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabatt3&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabatt 3 in Prozent&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabArt3&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabattart 3&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabatt4&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabatt 4 in Prozent&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabArt4&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabattart 4&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabatt5&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabatt 5 in Prozent&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabArt5&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabattart 5&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nAddSub&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Additions-/Subtraktionsbetrag (Zuschlag/Abzug absolut)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKonto&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Buchungskonto&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLagNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lagernummer der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLagONr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lager-Ortsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVerkaufer&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Verk&amp;amp;auml;uferk&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cStatus&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionsstatus&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cAngebotsNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Referenz-Angebotsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Eindeutige ID der Position (GUID)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Multi-Steuer-UID (Verkn&amp;amp;uuml;pfung bei Multisteuer)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRTVon&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || R&amp;amp;uuml;cktragungs-Referenz (von welcher Position)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSpNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Speditionsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBestellUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || UID der verkn&amp;amp;uuml;pften Bestellposition&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMaterialUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || UID des verkn&amp;amp;uuml;pften Materialeintrags&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cEiliUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || UID der Eillieferungsposition&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cXUID1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Erweiterungs-UID 1 (freie Verkn&amp;amp;uuml;pfung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cXUID2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Erweiterungs-UID 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cXUID3&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Erweiterungs-UID 3&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cXUID4&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Erweiterungs-UID 4&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKommentar&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kommentarfeld der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nProvision&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Provisionsanteil in Prozent&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLiefKz&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferkennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cProdGr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Produktgruppe&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nFrachtV&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Frachtvolumen der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLSNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferscheinnummer der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dLSDatum&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Lieferscheindatum der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosArt&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionsart (z.&amp;amp;nbsp;B. N=Normal, O=Optional)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSKFJN&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Skontof&amp;amp;auml;hig J/N&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cEKHerkunft&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || EK-Preisherkunft-K&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLiefNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferantennummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLagStreck&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lager-Streckenkennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cAufschlag&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Aufschlagsk&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nStaffelPreis&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Staffelpreisstufe (Index)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nStaffelmenge&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Staffelmenge f&amp;amp;uuml;r Preisfindung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lAktionspreis&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Aktionspreis aktiv&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cAusdruckJN&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Position drucken J/N&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMemoDruck&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Druckmemo der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBildUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || UID des verkn&amp;amp;uuml;pften Bildes&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cCMPUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || CMP-Objekt-UID&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cZeit_CMPUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Zeiterfassungs-CMP-UID&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cZeit_Text&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Zeiterfassungstext&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cZeit_Mitarb&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Mitarbeiter der Zeiterfassung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dZeit_Date&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Datum der Zeiterfassung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cZeit_NurLei&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Zeiterfassung: nur Leistung J/N&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKostst&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kostenstelle der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dAbrechVon&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Abrechnungszeitraum von&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dAbrechBis&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Abrechnungszeitraum bis&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lNeuNum&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Neunummerierung f&amp;amp;uuml;r diese Position ausf&amp;amp;uuml;hren&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSysUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || System-UID der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cGeraetNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Ger&amp;amp;auml;tenummer (f&amp;amp;uuml;r Servicepositionen)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Properties ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Name !! Typ !! Zugriff !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;oMyDB&amp;lt;/code&amp;gt; || TxDB || Nur Lesen || Datenbankverbindung (vom Vorgang geerbt)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;ShopNr&amp;lt;/code&amp;gt; || String || Nur Lesen || Shop-Nummer (f&amp;amp;uuml;r Mehrshop-Preisfindung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cArtikelNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Artikelnummer (Zugriff &amp;amp;uuml;ber Property wegen Seiteneffekten)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PcMWSTSch&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || MwSt-Schl&amp;amp;uuml;ssel (Parameter-Feld)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PcMengeIn&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Mengeneingabe als String (Parameter)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PnMengeIn&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Mengeneingabe als Zahl (Parameter)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PnMengeInFak&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Mengeneingabe-Faktor (Parameter)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PcMemofeld&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Memofeld der Position (Parameter-Feld, Unicode)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PcMemofeldAnsi&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Memofeld ANSI-Version (Parameter-Feld)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosLaufend&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Laufende Positionsnummer als String&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lVerbrauchsMater&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Verbrauchsmaterial-Kennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nMenge&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Menge der Position (mit Seiteneffekten bei Schreiben)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cTyp&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionstyp als String &amp;amp;ndash; siehe [[#Konstanten|Konstanten]] (POSTYP_*)&amp;lt;br /&amp;gt;Wandelt den übergebenen String in die passende Enummeration für Property (siehe Hinweise in [[TVorgangPos_Prop_Typ|Typ]]). {{Achtung|Wird ein ungültiger Wert gesetzt, so wird der Typ automatisch auf Position (&amp;quot;0&amp;quot; bzw. ptPosition) gesetzt.}}&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgangPos_Prop_Typ&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;Typ&amp;lt;/code&amp;gt; || [[#TVB_PosType|TVB_PosType]] || Lesen/Schreiben || Positionstyp als Enum (ptPosition, ptText, ptLeerzeile&amp;amp;nbsp;&amp;amp;hellip;){{Hinweis|Wird der Typ geändert, so werden die Daten des Positionsobjekts auf die Vorbelegung zurückgesetzt. Zuvor gesetzte Daten werden dabei überschrieben. Nach der Verwendung von &amp;lt;code&amp;gt;NeuePosition&amp;lt;/code&amp;gt; sollte der Typ daher als erstes geändert werden, bevor Sie weitere Daten in das Objekt schreiben.}}&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgangPos_Prop_OriginalPos&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;OriginalPos&amp;lt;/code&amp;gt; || [[#TVorgangPosOriginal|TVorgangPosOriginal]] || Nur Lesen || Ursprungspositionsdaten (DMS-Referenz, Nr, UID, SysUID)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Methoden ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signatur !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;constructor Create(oxVorgang: [[#TVorgang|TVorgang]]; cPosTbl: string)&amp;lt;/code&amp;gt; || Erstellt eine neue Position f&amp;amp;uuml;r den angegebenen Vorgang (veraltet, UID-Variante bevorzugen)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;constructor Create(cUid: string; oxVorgang: [[#TVorgang|TVorgang]]; cPosTbl: string)&amp;lt;/code&amp;gt; || Erstellt eine neue Position mit vorgegebener UID&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;destructor Destroy&amp;lt;/code&amp;gt; || Gibt die Position frei&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure PositionsVorbelegung&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt die Position mit Standardwerten aus den Vorgangsdaten&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure GenNewUid&amp;lt;/code&amp;gt; || Generiert eine neue UID f&amp;amp;uuml;r diese Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyPosmenge(cFromUID: string): string&amp;lt;/code&amp;gt; || Kopiert Mengen aus einer anderen Position (per UID)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyPosverp(cFromUID: string): string&amp;lt;/code&amp;gt; || Kopiert Verpackungsdaten aus einer anderen Position (per UID)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure CopyFrom(oSrc: [[#TVorgangPos|TVorgangPos]]; lFull: boolean = False)&amp;lt;/code&amp;gt; || Kopiert alle Felder aus einer anderen Position; lFull=True kopiert auch interne Felder&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure QueryToPos(qTmp: TxFQuery; lReadAsNew: boolean = false)&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt die Position aus einem Datenbankquery (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure QueryToPos(qTmp: TxFQuery; const cFromTable: string; lVerpack: Boolean = False; lUmkehr: boolean = False)&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt die Position aus einem Query mit expliziter Quelltabelle (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure DBPosToPos(const cFromTable: string; const cSysUid: string; lVerpack: Boolean = False; lUmkehr: boolean = False)&amp;lt;/code&amp;gt; || Liest eine Position direkt aus der Datenbank per SysUID&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function FillArtikel(cArtNr: string): boolean&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt die Position mit Artikelstammdaten; gibt True bei Erfolg zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function SetzeLieferant(const cLiefNr: string; lEKNeu: boolean = True; lDefaultEK1: boolean = False): boolean&amp;lt;/code&amp;gt; || Setzt den Lieferanten und aktualisiert EK-Preise&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure FillLeistung(cLeistNr: string)&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt die Position mit Leistungsstammdaten&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function SumPosBez(const eZielTyp: [[#TVB_PosType|TVB_PosType]]; const cBezVorb: string): string&amp;lt;/code&amp;gt; || Gibt die Bezeichnung f&amp;amp;uuml;r eine Summenposition zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgangPos_Meth_Typ_Pos&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;procedure Typ_Pos&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;normale Position&amp;amp;ldquo;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgangPos_Meth_Typ_Text&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;procedure Typ_Text(const cText: string)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Textzeile&amp;amp;ldquo; mit dem angegebenen Text&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgangPos_Meth_Typ_Leerzeile&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;procedure Typ_Leerzeile&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Leerzeile&amp;amp;ldquo;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgangPos_Meth_Typ_Zwischensumme&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;procedure Typ_Zwischensumme(const cBez: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Zwischensumme&amp;amp;ldquo; (Ebene&amp;amp;nbsp;1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgangPos_Meth_Typ_ZwischensummeEbene&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;procedure Typ_ZwischensummeEbene(const nEbene: integer; const cBez: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Zwischensumme&amp;amp;ldquo; der angegebenen Ebene&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgangPos_Meth_Typ_Titelsumme&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;procedure Typ_Titelsumme(const cBez: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Titelsumme&amp;amp;ldquo; (Ebene&amp;amp;nbsp;1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgangPos_Meth_Typ_TitelsummeEbene&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;procedure Typ_TitelsummeEbene(const nEbene: integer; const cBez: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Titelsumme&amp;amp;ldquo; der angegebenen Ebene&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgangPos_Meth_Typ_Titel&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;procedure Typ_Titel(const cBez: string)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Titel&amp;amp;ldquo;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgangPos_Meth_Typ_Gewerk&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;procedure Typ_Gewerk(const cBez: string)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Gewerk&amp;amp;ldquo;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgangPos_Meth_Typ_NeueSeite&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;procedure Typ_NeueSeite&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Seitenumbruch&amp;amp;ldquo;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgangPos_Meth_Typ_Bild&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;procedure Typ_Bild(const cBild: string)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Bild&amp;amp;ldquo; mit dem angegebenen Bildpfad/-UID&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure UStKorrektur(const dCheckDate: TDateTime)&amp;lt;/code&amp;gt; || Korrigiert den Umsatzsteuerschl&amp;amp;uuml;ssel gem&amp;amp;auml;&amp;amp;szlig; Datum (Steuersatz&amp;amp;auml;nderungen)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure KalkPos&amp;lt;/code&amp;gt; || Kalkuliert Gesamtpreis und abgeleitete Felder dieser Position neu&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosNrAllowed(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn dieser Positionstyp eine Positionsnummer erh&amp;amp;auml;lt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure SetPosNr(cP: string; cT: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;; cG: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;; cFormat: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;)&amp;lt;/code&amp;gt; || Setzt die Positionsnummer aus String-Komponenten (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure SetPosNr(nP: integer; nT: integer = -1; nG: integer = -1; cFormat: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;)&amp;lt;/code&amp;gt; || Setzt die Positionsnummer aus numerischen Komponenten (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosLaufend(iPos: integer = 0): string&amp;lt;/code&amp;gt; || Gibt die laufende Positionsnummer als formatierten String zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Preisfindung(cShopNr: string = CONST_NO_SHOP)&amp;lt;/code&amp;gt; || F&amp;amp;uuml;hrt die Preisfindung f&amp;amp;uuml;r diese Position aus&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function SetOpenBookLieferant(): boolean&amp;lt;/code&amp;gt; || Setzt den Open-Book-Lieferanten f&amp;amp;uuml;r diese Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure AddToMemo(const cText: string; const lNewLine: boolean = False)&amp;lt;/code&amp;gt; || F&amp;amp;uuml;gt Text zum Memofeld hinzu&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgangPos_Meth_AktualisiereDaten&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;procedure AktualisiereDaten&amp;lt;/code&amp;gt; || Aktualisiert Texte, EK- und VK-Preise gem&amp;amp;auml;&amp;amp;szlig; [[#TVorgang_Prop_ParameterPositionsdatenAktualisieren|ParameterPositionsdatenAktualisieren]]&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure EKCalcMengeIn(var nEkFak: double)&amp;lt;/code&amp;gt; || Berechnet den EK-Mengeneingabe-Faktor (R&amp;amp;uuml;ckgabe per var-Parameter)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CanSave(): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft ob diese Position gespeichert werden kann/darf&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure qSqlSet(AqSql: TqSql)&amp;lt;/code&amp;gt; || Setzt das SQL-Objekt f&amp;amp;uuml;r erweiterte DB-Operationen dieser Position&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Globale Methoden =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Signatur !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstVKVorgang(cMainTable: string): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck, wenn die Haupttabelle ein VK-Vorgang ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstVKVorgangPos(cPosTable: string): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck, wenn die Positionstabelle zu einem VK-Vorgang geh&amp;amp;ouml;rt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyPosmengeDB(oMyDB: TxDB; cFromUID: string): string&amp;lt;/code&amp;gt; || Kopiert Positionsmengen aus einem anderen Vorgang (direkt per Datenbankzugriff)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyPosverpDB(oMyDB: TxDB; cFromUID: string): string&amp;lt;/code&amp;gt; || Kopiert Positionsverpackungen aus einem anderen Vorgang (direkt per Datenbankzugriff)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyRTFLan(oMyDB: TxDB; cVonTable, cVonRef, cNachTable, cNachRef: String): String&amp;lt;/code&amp;gt; || Kopiert RTF-Langtexte zwischen Vorgangs-Positionen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure CopyKalkulationAN2AU(oMyDB: TxDB; cANRef1, cANRef2, cAURef1, cAURef2: String; fPosmenge: Double)&amp;lt;/code&amp;gt; || Kopiert Kalkulation von Angebot nach Auftrag (mit Mengenfaktor)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure CopyKalkulationAU(oMyDB: TxDB; cANRef1, cANRef2, cAURef1, cAURef2: String)&amp;lt;/code&amp;gt; || Kopiert Auftragskalkulation zwischen zwei Positionen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure CopyKalkulationAN(oMyDB: TxDB; cANRef1, cANRef2, cAURef1, cAURef2: String)&amp;lt;/code&amp;gt; || Kopiert Angebotskalkulation zwischen zwei Positionen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosNrFormatCheck(const cFormat: string): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft, ob ein Positionsnummern-Format g&amp;amp;uuml;ltig ist (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosNrFormatCheck(oMyDB: TxDB; const cFormat: string): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft Format gegen Datenbankeinstellungen (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosNrFormatCounts(const cFormat: string; out nG, nT, nP: integer): boolean&amp;lt;/code&amp;gt; || Liefert die Stellenzahlen f&amp;amp;uuml;r Gewerk, Titel und Position aus dem Format (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosNrFormatCounts(oMyDB: TxDB; const cFormat: string; out nG, nT, nP: integer): boolean&amp;lt;/code&amp;gt; || Wie oben, mit Datenbankzugriff (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosNrSplit(oMyDB: TxDB; const cFormat, cPosTyp: string; cPosNr: string; out nG, nT, nP: integer): boolean&amp;lt;/code&amp;gt; || Zerlegt eine formatierte Positionsnummer in ihre Bestandteile&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function GetVorgangMandant(oMyDB: TxDB; const cTable, cNr: string): string&amp;lt;/code&amp;gt; || Gibt den Mandanten-Schl&amp;amp;uuml;ssel f&amp;amp;uuml;r einen Vorgang zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function GetVorgangTextTB(const nPMode: integer; out cTB_Nr: string; cFiliale: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;): boolean&amp;lt;/code&amp;gt; || Ermittelt die Textbaustein-Nummer f&amp;amp;uuml;r den angegebenen Positionsmodus&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function GetVorgangTextTBPers(oMyDB: TxDB; const cPsNr: string; const nPMode: integer; out cTB_Nr: string; cFiliale: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;): boolean&amp;lt;/code&amp;gt; || Wie GetVorgangTextTB, zus&amp;amp;auml;tzlich personenbezogen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function KopfTextPlatzhalter(var cKopfText: string; const cBrief1, cBrief2: string): boolean&amp;lt;/code&amp;gt; || Ersetzt Platzhalter im Kopftext durch Briefanredefelder&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangArt(oMyDB: TxDB; const cDMS, cNr: string): integer&amp;lt;/code&amp;gt; || Gibt die Vorgangsart als Integer-Kennziffer zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangStatus(oMyDB: TxDB; const cDMS, cNr: string): string&amp;lt;/code&amp;gt; || Gibt den aktuellen Status eines Vorgangs aus der Datenbank zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangVerbucht(oMyDB: TxDB; const cDMS, cNr: string): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck, wenn der Vorgang verbucht ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangUstEnthalten(oMyDB: TxDB; const cDMS, cNr, cUstSchl: string; cFeld: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft, ob ein bestimmter USt-Schl&amp;amp;uuml;ssel im Vorgang verwendet wird&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PortoVerpackKannSkonto(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck, wenn Porto/Verpackung skontof&amp;amp;auml;hig ist (laut Systemeinstellung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function GetPosBild(oMyDB: TxDB; cArtNr: string; var cBildUID: string): boolean&amp;lt;/code&amp;gt; || Ermittelt die Bild-UID eines Artikels f&amp;amp;uuml;r eine Positions-Bildposition&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangVertreterVorb(oMyDB: TxDB; const cVertreter: string): string&amp;lt;/code&amp;gt; || Gibt den vorgebelegten Vertreter-Schl&amp;amp;uuml;ssel zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangVertreterPrio(oMyDB: TxDB; const cAktVertreter: string): string&amp;lt;/code&amp;gt; || Gibt den Vertreter mit h&amp;amp;ouml;chster Priorit&amp;amp;auml;t zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function GenerierePositionskommentar(cUrsprung, cKommentar: String): String&amp;lt;/code&amp;gt; || Kombiniert Ursprungs- und Kommentartext zu einem Positions-Kommentar&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function ReplacePlatzhalterReparaturAuftrag(cRAufNr: String; cText: String = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;): String&amp;lt;/code&amp;gt; || Ersetzt Platzhalter im Text durch Reparaturauftragsdaten&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function ReplacePlatzhalterPosErfassung(oMyDB: TxDB; const cBuffer, cTable, cNr: string; const lDef: Boolean = False; const lRepa: Boolean = False): String&amp;lt;/code&amp;gt; || Ersetzt Platzhalter im Text bei der Positionserfassung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function LoadPlatzhalterVorgang(oMyDB: TxDB; const cTable, cNr: string; var oPlatzhalter: TPlatzhalterVorgang): Boolean&amp;lt;/code&amp;gt; || L&amp;amp;auml;dt Platzhalter-Daten eines Vorgangs aus der Datenbank&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PlatzhalterVorgang(const cText, cNr: string; const oPlatzhalter: TPlatzhalterVorgang; const lDef: Boolean = false; const lRepa: Boolean = false): string&amp;lt;/code&amp;gt; || Ersetzt Platzhalter im Text mit den geladenen Vorgang-Platzhaltern&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function GetPosVorb_ErlKto(oMyDB: TxDB; const cErlJahr, cManNr, cFiliale: string): string&amp;lt;/code&amp;gt; || Gibt das Erl&amp;amp;ouml;skonto f&amp;amp;uuml;r eine Positionsvorbelegung zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure ChangePosPreisFromLeistPreis2(oVorgang: TVorgang)&amp;lt;/code&amp;gt; || Wechselt f&amp;amp;uuml;r alle Positionen auf den alternativen Leistungspreis 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_ToXMLStr(oMyDB: TxDB; const cTable, cPosTable, cVorgNr: String): string&amp;lt;/code&amp;gt; || Exportiert einen Vorgang als XML-String&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_ToDelArchiv(oMyDB: TxDB; const cTable, cPosTable, cVorgNr: String): Boolean&amp;lt;/code&amp;gt; || Verschiebt einen Vorgang ins L&amp;amp;ouml;scharchiv&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_ToXMLFile(oMyDB: TxDB; const cFile, cTable, cPosTable, cVorgNr: String): Boolean&amp;lt;/code&amp;gt; || Exportiert einen Vorgang in eine XML-Datei&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function XMLFile_ToVorgang(oMyDB: TxDB; const cData: String; var cNewNr, cOldNr: String): Boolean&amp;lt;/code&amp;gt; || Importiert einen Vorgang aus einem XML-String/-Datei&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function DelArchivTo_Vorgang(oMyDB: TxDB; const cTabelle, cVorgang: String): String&amp;lt;/code&amp;gt; || Stellt einen archivierten Vorgang wieder her&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_Runden_MengeInFak(oMyDB: TxDB; const cTabMain, cTabPos: string; nValue: double): double&amp;lt;/code&amp;gt; || Rundet den Mengeneingabe-Faktor gem&amp;amp;auml;&amp;amp;szlig; Tabelleneinstellung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_Rohertrag(oMyDB: TxDB; const cDMSTyp, cVorgNr: String; nNettoBetrag: Double): String&amp;lt;/code&amp;gt; || Berechnet den Rohertrag eines Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_Rohertrag_Ext(oMyDB: TxDB; const cDMSTyp, cVorgNr: String; nNettoBetrag: Double; lSollStunden: Boolean): string&amp;lt;/code&amp;gt; || Berechnet den Rohertrag erweitert (mit Sollstunden)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangFelder(cTyp: String; lPosition, lArtikel, lMaterial, lAuswertung, lMessen: Boolean; lSchiff: Boolean = False): String&amp;lt;/code&amp;gt; || Gibt die aktiven Feldgruppen eines Vorgangstyps als String zur&amp;amp;uuml;ck (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangFelder(oMyDB: TxDB; cTyp: String; lPosition, lArtikel, lMaterial, lAuswertung, lMessen: Boolean; lSchiff: Boolean = False): String&amp;lt;/code&amp;gt; || Wie oben, mit Datenbankzugriff (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_IstGesperrt(oMyDB: TxDB; const cTyp, cRef: string; const cFeld: string = &#039;a_nr&#039;): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft, ob ein Vorgang gesperrt ist (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_IstGesperrt(oMyDB: TxDB; const rDMS: TDMSType; const cRef: string; const cFeld: string = &#039;a_nr&#039;): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft Sperrung per DMS-Typ (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_FilterSperrung(oMyDB: TxDB; const cTyp, cRef: string; out cOffen, cGesperrt: string; const cFeld: string = &#039;a_nr&#039;): boolean&amp;lt;/code&amp;gt; || Gibt SQL-Filter-Strings f&amp;amp;uuml;r offene/gesperrte Vorg&amp;amp;auml;nge zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_FilterSperrung_Offen(oMyDB: TxDB; const cTyp, cRef: string; out cOffen: string; const cFeld: string = &#039;a_nr&#039;): boolean&amp;lt;/code&amp;gt; || Gibt nur den Filter f&amp;amp;uuml;r offene (nicht gesperrte) Vorg&amp;amp;auml;nge zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_UbernahmeMassen(oMyDB: TxDB; const cVonUid, cNachDmsTyp, cNachVorgNr, cNachUid: string): boolean&amp;lt;/code&amp;gt; || Massenweise Positions&amp;amp;uuml;bernahme zwischen Vorg&amp;amp;auml;ngen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_GetMenge(oMyDB: TxDB; const cPosTable, cKeyField, cUID: String; out nUrmenge: Double; const cEigUID: String = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;): Double&amp;lt;/code&amp;gt; || Liest die aktuelle und Ursprungsmenge einer Position aus der Datenbank&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_CheckPosTyp(const cTyp: string): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft, ob ein Positionstyp-Schl&amp;amp;uuml;ssel g&amp;amp;uuml;ltig ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_HatReEmpfAdr(qVorgangData: TxFQuery): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck, wenn der Vorgang eine Rechnungsempf&amp;amp;auml;nger-Adresse hat (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_HatReEmpfAdr(qVorgangData: TxQuery): boolean&amp;lt;/code&amp;gt; || Wie oben, f&amp;amp;uuml;r TxQuery (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_AnzeigeReEmpf(oMyDB: TxDB; qMain: TxFQuery; const cMainTable: string; cAdressBez: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;; lUseReportLang: boolean = True): string&amp;lt;/code&amp;gt; || Gibt die anzuzeigende Rechnungsempf&amp;amp;auml;nger-Adresse als formatierten Text zur&amp;amp;uuml;ck (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_AnzeigeReEmpf(oMyDB: TxDB; qMain: TxQuery; const cMainTable: string; cAdressBez: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;; lUseReportLang: boolean = True): string&amp;lt;/code&amp;gt; || Wie oben, f&amp;amp;uuml;r TxQuery (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PortoVerpackBerechnet(oMyDB: TxDB; const cDmsVon, cDmsSetzen, cNrSetzen: string): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft, ob Porto/Verpackung bereits berechnet wurde und setzt Kennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangVorb_Waehrung(oMyDB: TxDB; const cValue: string = &#039;01&#039;): string&amp;lt;/code&amp;gt; || Gibt den Standardw&amp;amp;auml;hrungsschl&amp;amp;uuml;ssel f&amp;amp;uuml;r Vorgangsvorbelegung zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangVorb_RechKreis(oMyDB: TxDB; const cValue: string = &#039;01&#039;): string&amp;lt;/code&amp;gt; || Gibt den Standardrechnungskreis-Schl&amp;amp;uuml;ssel zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangVorbPos_VomLager(const nTokenPos: integer; const cLagStreck: string): string&amp;lt;/code&amp;gt; || Gibt das Lager/die Strecke f&amp;amp;uuml;r eine Positionsvorbelegung zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_VersandkostenMBW(oMyDB: TxDB; const cDmsTyp: string; const lGen: boolean; const cPsNr: string; const cPsVersand: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;; const cPsZusatz: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;): string&amp;lt;/code&amp;gt; || Berechnet Versandkosten auf Basis des Mindestbestellwerts&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfFile(oMyDB: TxDB; const cDmsTyp, cNr, cKdNr: string; out cPdfFile: string): boolean&amp;lt;/code&amp;gt; || Ermittelt den Pfad zur archivierten PDF-Datei eines Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfAsBase64File(oMyDB: TxDB; const cDmsTyp, cNr, cKdNr: string; out cBase64File: string): boolean&amp;lt;/code&amp;gt; || Liefert die PDF-Datei als Base64-kodierten Pfad&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfAsBase64Parts(oMyDB: TxDB; const cDmsTyp, cNr, cKdNr: string; const nPart: integer; out cBase64: string; out nParts: integer; nPartSize: integer = 0): boolean&amp;lt;/code&amp;gt; || Liefert die PDF in Teilen als Base64 (mit KdNr, &amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfAsBase64Parts(oMyDB: TxDB; const cDmsTyp, cNr, cKdNr: string; const nPart: integer; out cBase64: string; out nParts: integer; cPartSize: string): boolean&amp;lt;/code&amp;gt; || Wie oben, Teilgr&amp;amp;ouml;&amp;amp;szlig;e als String (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfAsBase64Parts(oMyDB: TxDB; const cDmsTyp, cNr: string; const nPart: integer; out cBase64: string; out nParts: integer; nPartSize: integer = 0): boolean&amp;lt;/code&amp;gt; || Wie oben, ohne KdNr (&amp;amp;Uuml;berladung 3)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfAsBase64Parts(oMyDB: TxDB; const cDmsTyp, cNr: string; const nPart: integer; out cBase64: string; out nParts: integer; cPartSize: string): boolean&amp;lt;/code&amp;gt; || Wie oben, Teilgr&amp;amp;ouml;&amp;amp;szlig;e als String (&amp;amp;Uuml;berladung 4)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfAsBase64(oMyDB: TxDB; const cDmsTyp, cNr: string; out cBase64: string): boolean&amp;lt;/code&amp;gt; || Liefert die gesamte PDF als Base64-String&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PosUebernommen(oMyDB: TxDB; const cVonDmsTyp, cVonNr, cPosUid: string): TVorgangPosOriginalListe&amp;lt;/code&amp;gt; || Gibt eine Liste aller Vorg&amp;amp;auml;nge zur&amp;amp;uuml;ck, in die diese Position &amp;amp;uuml;bernommen wurde&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_GetPosRef(oMyDB: TxDB; const cVonDmsTyp, cVonNr, cPosUid, cRefDmsTypen: string): TVorgangPosOriginalListe&amp;lt;/code&amp;gt; || Gibt Referenzen einer Position auf andere DMS-Typen zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_ArtBox(const cDMSTyp: string): string&amp;lt;/code&amp;gt; || Gibt die Vorgangsart-Box (Auswahlstring) f&amp;amp;uuml;r einen DMS-Typ zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_SummenEbene(const nEbene: integer): integer&amp;lt;/code&amp;gt; || Validiert und normiert eine Summen-Ebene (1..VB_MAX_SummenEbenen)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_SummenEbeneAusMenge(const nMenge: double): integer&amp;lt;/code&amp;gt; || Berechnet die Summenebene aus einem Mengenwert&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_KalkAufschlagPos(const nSatz, nZwSumme, nMengeIn, nMengeInFak, nRabatt: double): double&amp;lt;/code&amp;gt; || Berechnet den Aufschlagsbetrag f&amp;amp;uuml;r eine Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_SumPosText(const eTyp: [[#TVB_PosType|TVB_PosType]]; const cLanguage: string): string&amp;lt;/code&amp;gt; || Gibt den lokalisierten Standardtext f&amp;amp;uuml;r eine Summenposition zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_SumPosTextZw(cLang: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;): string&amp;lt;/code&amp;gt; || Gibt den lokalisierten Text f&amp;amp;uuml;r Zwischensummen-Positionen zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_SumPosTextTit(cLang: string = &amp;lt;nowiki&amp;gt;&#039;&#039;&amp;lt;/nowiki&amp;gt;): string&amp;lt;/code&amp;gt; || Gibt den lokalisierten Text f&amp;amp;uuml;r Titelsummen-Positionen zur&amp;amp;uuml;ck&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Nimz</name></author>
	</entry>
	<entry>
		<id>https://wiki.bergau.de/index.php?title=OBS/Makros_und_Scripting/Allgemeines/Klassen/Vorg%C3%A4nge&amp;diff=64509</id>
		<title>OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge</title>
		<link rel="alternate" type="text/html" href="https://wiki.bergau.de/index.php?title=OBS/Makros_und_Scripting/Allgemeines/Klassen/Vorg%C3%A4nge&amp;diff=64509"/>
		<updated>2026-06-12T12:04:34Z</updated>

		<summary type="html">&lt;p&gt;Nimz: /* Methoden */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Makros und Scripting}}&lt;br /&gt;
Es gibt für die Generierung von Vorgängen eigene Klassen. Da es zwischen den Vorgängen immer irgendwelche Unterschiede gibt, existiert auch für jeden Vorgangs-Typ eine eigene Klasse.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Übersicht Klassen:&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Angebot|Angebot]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Auftrag|Auftrag]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Reparaturauftrag|Reparaturauftrag]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Produktionsauftrag|Produktionsauftrag]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Lieferschein|Lieferschein]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Rechnung|Rechnung]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Bestellung|Bestellung]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Einkaufslieferschein|Einkaufslieferschein]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Einkauf|Einkauf]]&lt;br /&gt;
&lt;br /&gt;
= Datentypen =&lt;br /&gt;
&lt;br /&gt;
== Enumerationen ==&lt;br /&gt;
&lt;br /&gt;
=== TVB_PosType ===&lt;br /&gt;
Positionstyp einer [[#TVorgangPos|TVorgangPos]]. Wird &amp;amp;uuml;ber die Property &amp;lt;code&amp;gt;[[#TVorgangPos_Prop_Typ|Typ]]&amp;lt;/code&amp;gt; gelesen/gesetzt.&lt;br /&gt;
Die zugeh&amp;amp;ouml;rigen String-Konstanten sind unter [[#Konstanten|Konstanten]] beschrieben.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wert !! Bezeichner !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 0 || &amp;lt;code&amp;gt;ptPosition&amp;lt;/code&amp;gt; || Normale Artikelposition&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 1 || &amp;lt;code&amp;gt;ptText&amp;lt;/code&amp;gt; || Textzeile / Memorundzeile&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 2 || &amp;lt;code&amp;gt;ptLeerzeile&amp;lt;/code&amp;gt; || Leere Trennzeile&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 3 || &amp;lt;code&amp;gt;ptZwischensumme&amp;lt;/code&amp;gt; || Zwischensummen-Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 4 || &amp;lt;code&amp;gt;ptTitelsumme&amp;lt;/code&amp;gt; || Titelsummen-Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 5 || &amp;lt;code&amp;gt;ptTitel&amp;lt;/code&amp;gt; || Titelzeile&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 6 || &amp;lt;code&amp;gt;ptGewerk&amp;lt;/code&amp;gt; || Gewerk-Kopfzeile&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 7 || &amp;lt;code&amp;gt;ptSeitenumbruch&amp;lt;/code&amp;gt; || Manueller Seitenumbruch&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 8 || &amp;lt;code&amp;gt;ptBild&amp;lt;/code&amp;gt; || Bildposition&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVB_MaterMode ===&lt;br /&gt;
Steuert den Materialmodus beim Lesen von Positionsdaten.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wert !! Bezeichner !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 0 || &amp;lt;code&amp;gt;mmNone&amp;lt;/code&amp;gt; || Kein spezieller Materialmodus&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 1 || &amp;lt;code&amp;gt;mmMD5&amp;lt;/code&amp;gt; || Materialpr&amp;amp;uuml;fung per MD5-Hash&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 2 || &amp;lt;code&amp;gt;mmReadUID&amp;lt;/code&amp;gt; || Material-UID direkt lesen&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVorgangFehlerTyp ===&lt;br /&gt;
Klassifiziert einen Eintrag in der internen Fehlerliste eines [[#TVorgang|TVorgang]].&lt;br /&gt;
Wird im Record [[#TVorgangFehler|TVorgangFehler]] verwendet.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wert !! Bezeichner !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 0 || &amp;lt;code&amp;gt;vftOther&amp;lt;/code&amp;gt; || Sonstiger Hinweis&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 1 || &amp;lt;code&amp;gt;vftCritical&amp;lt;/code&amp;gt; || Kritischer Fehler (blockiert Speichern)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 2 || &amp;lt;code&amp;gt;vftSaveCheck&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;fung beim Speichern&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 3 || &amp;lt;code&amp;gt;vftPosInfo&amp;lt;/code&amp;gt; || Positionsbezogene Information&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVorgangFehlerLoeschenLesen ===&lt;br /&gt;
Steuert, welche Fehler nach dem Lesen via &amp;lt;code&amp;gt;[[#TVorgang_Meth_leseFehler|leseFehler]]&amp;lt;/code&amp;gt; aus der Liste gel&amp;amp;ouml;scht werden.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wert !! Bezeichner !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 0 || &amp;lt;code&amp;gt;vfllNone&amp;lt;/code&amp;gt; || Kein Fehler nach dem Lesen l&amp;amp;ouml;schen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 1 || &amp;lt;code&amp;gt;vfllAll&amp;lt;/code&amp;gt; || Alle Fehler nach dem Lesen l&amp;amp;ouml;schen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 2 || &amp;lt;code&amp;gt;vfllSkipCritical&amp;lt;/code&amp;gt; || Nur nicht-kritische Fehler l&amp;amp;ouml;schen (Standard)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Records ==&lt;br /&gt;
&lt;br /&gt;
=== TVorgangPosOriginal ===&lt;br /&gt;
Enth&amp;amp;auml;lt Referenzinformationen der Ursprungsposition (z.&amp;amp;nbsp;B. bei der Vorgangs&amp;amp;uuml;bernahme).&lt;br /&gt;
Wird &amp;amp;uuml;ber die Property &amp;lt;code&amp;gt;[[#TVorgangPos_Prop_OriginalPos|OriginalPos]]&amp;lt;/code&amp;gt; einer [[#TVorgangPos|TVorgangPos]] geliefert.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Feld !! Typ !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;rDMS&amp;lt;/code&amp;gt; || TDMSType || DMS-Typ des Ursprungsvorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cNr&amp;lt;/code&amp;gt; || String || Vorgangsnummer des Ursprungs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cUid&amp;lt;/code&amp;gt; || String || UID der Ursprungsposition&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSysUid&amp;lt;/code&amp;gt; || String || System-UID der Ursprungsposition&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Methoden:&#039;&#039;&#039;&lt;br /&gt;
{{Achtung|Funktioniert nur im Scriptrunner &amp;quot;Pax&amp;quot;! Aktiver Scriptrunner ist definiert in Programmparameter 444.}}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signatur !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Clear&amp;lt;/code&amp;gt; || Leert alle Felder des Records&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure SetData(const ADMS: TDMSType; qPos: TxFQuery)&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt den Record aus einem Positions-Query&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVorgangPosParams_AktualisiereDaten ===&lt;br /&gt;
Steuert, welche Datenbereiche bei &amp;lt;code&amp;gt;[[#TVorgangPos_Meth_AktualisiereDaten|AktualisiereDaten]]&amp;lt;/code&amp;gt; aktualisiert werden sollen.&lt;br /&gt;
Wird &amp;amp;uuml;ber die Property &amp;lt;code&amp;gt;[[#TVorgang_Prop_ParameterPositionsdatenAktualisieren|ParameterPositionsdatenAktualisieren]]&amp;lt;/code&amp;gt; von [[#TVorgang|TVorgang]] gesetzt.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Feld !! Typ !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lTexte&amp;lt;/code&amp;gt; || Boolean || Bezeichnungen/Texte aktualisieren&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lEK&amp;lt;/code&amp;gt; || Boolean || Einkaufspreise aktualisieren&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lVK&amp;lt;/code&amp;gt; || Boolean || Verkaufspreise aktualisieren&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Methoden:&#039;&#039;&#039;&lt;br /&gt;
{{Achtung|Funktioniert nur im Scriptrunner &amp;quot;Pax&amp;quot;! Aktiver Scriptrunner ist definiert in Programmparameter 444.}}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signatur !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Init(const cVorb: string = &#039;&#039;)&amp;lt;/code&amp;gt; || Initialisiert die Parameter mit Standardwerten; optionaler Vorbelegungsschl&amp;amp;uuml;ssel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Aktualisieren(): boolean&amp;lt;/code&amp;gt; || Gibt &amp;lt;code&amp;gt;True&amp;lt;/code&amp;gt; zur&amp;amp;uuml;ck, wenn mindestens ein Aktualisierungsschalter gesetzt ist&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVorgangPosSummen ===&lt;br /&gt;
Speichert Zwischen- und Titelsummen-Betr&amp;amp;auml;ge je Ebene (1 bis &amp;lt;code&amp;gt;VB_MAX_SummenEbenen&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Feld !! Typ !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;aZw[1..9]&amp;lt;/code&amp;gt; || Double || Zwischensummen-Betr&amp;amp;auml;ge je Ebene&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;aTit[1..9]&amp;lt;/code&amp;gt; || Double || Titelsummen-Betr&amp;amp;auml;ge je Ebene&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Methoden:&#039;&#039;&#039;&lt;br /&gt;
{{Achtung|Funktioniert nur im Scriptrunner &amp;quot;Pax&amp;quot;! Aktiver Scriptrunner ist definiert in Programmparameter 444.}}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signatur !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Clear&amp;lt;/code&amp;gt; || Setzt alle Summen auf 0&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure ClearZw(const nEbene: integer)&amp;lt;/code&amp;gt; || Setzt Zwischensumme der Ebene nEbene auf 0&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure ClearTit(const nEbene: integer)&amp;lt;/code&amp;gt; || Setzt Titelsumme der Ebene nEbene auf 0&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure AddZw(const nBetrag: double)&amp;lt;/code&amp;gt; || Addiert Betrag zur aktiven Zwischensummen-Ebene&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure AddTit(const nBetrag: double)&amp;lt;/code&amp;gt; || Addiert Betrag zur aktiven Titelsummen-Ebene&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function ReadZw(const nEbene: integer): double&amp;lt;/code&amp;gt; || Liefert den Zwischensummen-Betrag der Ebene&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function ReadTit(const nEbene: integer): double&amp;lt;/code&amp;gt; || Liefert den Titelsummen-Betrag der Ebene&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVorgangEigenschaft ===&lt;br /&gt;
Repr&amp;amp;auml;sentiert ein Vorgangsmerkmal (Eigenschaft), das per &amp;lt;code&amp;gt;[[#TVorgang_Meth_EigenschaftSetzen|EigenschaftSetzen]]&amp;lt;/code&amp;gt; gesetzt wird.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Feld !! Typ !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cNr&amp;lt;/code&amp;gt; || String || Merkmalsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lMode&amp;lt;/code&amp;gt; || Boolean || True = setzen, False = l&amp;amp;ouml;schen&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVorgangFehler ===&lt;br /&gt;
Ein Eintrag in der internen Fehlerliste von [[#TVorgang|TVorgang]].&lt;br /&gt;
Wird per &amp;lt;code&amp;gt;[[#TVorgang_Meth_leseFehler|leseFehler]]&amp;lt;/code&amp;gt; ausgelesen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Feld !! Typ !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cTitel&amp;lt;/code&amp;gt; || String || Fehlertitel (Kurzbeschreibung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cText&amp;lt;/code&amp;gt; || String || Fehlertext (Detailbeschreibung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;eTyp&amp;lt;/code&amp;gt; || [[#TVorgangFehlerTyp|TVorgangFehlerTyp]] || Fehlerklassifikation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Konstanten ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Konstante !! Wert !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_POS&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;0&#039;&amp;lt;/code&amp;gt; || Positionstyp normale Artikelposition (entspricht [[#TVB_PosType|ptPosition]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_TXT&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;1&#039;&amp;lt;/code&amp;gt; || Positionstyp Textzeile (entspricht [[#TVB_PosType|ptText]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_ELN&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;2&#039;&amp;lt;/code&amp;gt; || Positionstyp Leerzeile (entspricht [[#TVB_PosType|ptLeerzeile]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_ZWS&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;3&#039;&amp;lt;/code&amp;gt; || Positionstyp Zwischensumme (entspricht [[#TVB_PosType|ptZwischensumme]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_TIS&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;4&#039;&amp;lt;/code&amp;gt; || Positionstyp Titelsumme (entspricht [[#TVB_PosType|ptTitelsumme]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_TIT&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;7&#039;&amp;lt;/code&amp;gt; || Positionstyp Titel (entspricht [[#TVB_PosType|ptTitel]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_GEW&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;8&#039;&amp;lt;/code&amp;gt; || Positionstyp Gewerk (entspricht [[#TVB_PosType|ptGewerk]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_PBR&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;17&#039;&amp;lt;/code&amp;gt; || Positionstyp Seitenumbruch (entspricht [[#TVB_PosType|ptSeitenumbruch]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_PIC&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;19&#039;&amp;lt;/code&amp;gt; || Positionstyp Bild (entspricht [[#TVB_PosType|ptBild]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;VB_DEFAULT_BezZwischensumme&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;ZWISCHENSUMME    :&#039;&amp;lt;/code&amp;gt; || Standard-Bezeichnung f&amp;amp;uuml;r Zwischensummen-Positionen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;VB_DEFAULT_BezTitelsumme&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;TITELSUMME       :&#039;&amp;lt;/code&amp;gt; || Standard-Bezeichnung f&amp;amp;uuml;r Titelsummen-Positionen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;VB_MAX_SummenEbenen&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;9&amp;lt;/code&amp;gt; || Maximale Anzahl von Summenebenen (Zwischen- und Titelsummen)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Basisklassen Vorgangsgenerierung=&lt;br /&gt;
&lt;br /&gt;
== TVorgang ==&lt;br /&gt;
&lt;br /&gt;
=== Variablen ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Name !! Typ !! Zugriff !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;oMyDB&amp;lt;/code&amp;gt; || TxDB || Lesen/Schreiben || Datenbankverbindung des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;oProtokoll&amp;lt;/code&amp;gt; || TStringList || Lesen/Schreiben || Protokoll-Liste (Meldungen/Log)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lMeldung&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Steuert Anzeige von Benutzer-Meldungen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lSetPSBemAuto&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Automatische Positionsbemerkung setzen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVorgNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Vorgangsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cProjNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Projektnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lBrutto&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Brutto-Modus aktiv&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLanguage&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sprach-Code (intern, z.&amp;amp;nbsp;B. f&amp;amp;uuml;r Formulare)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLagNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lagernummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cTyp&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Vorgangstyp-K&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dVorgDat&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Vorgangsdatum&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dFaelligDat&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || F&amp;amp;auml;lligkeitsdatum&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dBuchDat&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Buchungsdatum&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dAufDat&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Auftragsdatum&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKdNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kundennummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cAnrede&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Anrede des Kunden&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cName&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Name des Kunden&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVorname&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Vorname des Kunden&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cZusatz1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Adresszusatz 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cZusatz2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Adresszusatz 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cStrasse&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Stra&amp;amp;szlig;e der Lieferadresse&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPostfach&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Postfach&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLK&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || L&amp;amp;auml;nderkennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPLZ&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Postleitzahl&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cOrt&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Ort&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cAngebNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Angebotsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLSNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferscheinnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRechNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cAuftNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Auftragsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRepaNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Reparaturauftragsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cEinkaufsNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Einkaufsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBestellNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Bestellnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosText&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionstext (globaler Standardtext)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLProjNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Leistungsprojektnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKopftext&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kopftext des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cFusstext&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Fu&amp;amp;szlig;text des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nNBetrag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Nettobetrag gesamt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nBBetrag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Bruttobetrag gesamt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nEKBetrag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Einkaufsbetrag gesamt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabattBetrag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabattbetrag gesamt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabattProz&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabattprozentsatz gesamt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nAnzahlung&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Anzahlungsbetrag&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nPorto&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Portokosten&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nVerpackung&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Verpackungskosten&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lSplitPoVe&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Porto und Verpackung getrennt ausweisen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVersand&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandart&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cWaehr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || W&amp;amp;auml;hrungsk&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cFormul&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Formularnummer/-k&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVAnr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandanrede&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVName1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandname 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVName2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandname 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVZusatz&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandadresse Zusatz&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVStrasse&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandstra&amp;amp;szlig;e&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVLK&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versand-L&amp;amp;auml;nderkennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVPLZ&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versand-PLZ&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVOrt&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandort&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandadresse UID&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPrio&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Priorit&amp;amp;auml;t des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cAuftNrKd&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Auftrags-/Bestellnummer des Kunden&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBesteller&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Besteller (Person)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSachb&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sachbearbeiter&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabPosJN&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionsrabatt anzeigen J/N&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMWSTJN&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Mehrwertsteuer ausweisen J/N&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText3&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 3&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText4&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 4&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText5&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 5&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText6&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 6&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText7&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 7&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPreisJN&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Preis auf Dokument drucken J/N&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMwStAbs&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || MwSt-Absetzungstext/-K&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dLiefDat&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Lieferdatum&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cDeleted&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Gel&amp;amp;ouml;scht-Kennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dLDat2&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Zweites Lieferdatum&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSprache&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sprache des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReEmpf&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Nummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReAnrede&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Anrede&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReName&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Name&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReVorname&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Vorname&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReZusatz1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Adresszusatz 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReZusatz2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Adresszusatz 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReStrasse&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Stra&amp;amp;szlig;e&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRePostfach&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Postfach&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReLK&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-L&amp;amp;auml;nderkennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRePLZ&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-PLZ&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReOrt&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Ort&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVertreter&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Vertreter-K&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVerbucht&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Verbucht-Kennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLager&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lager-K&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRechFrei&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsfreigabe-Kennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBonNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Bonnummer (Kasse)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMandant&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Mandantenk&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nMwStDM&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || MwSt-Betrag in DM (Altw&amp;amp;auml;hrung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nKursDM&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Wechselkurs DM&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nAbschlag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Abschlagsbetrag&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nZBetrag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Zahlungsbetrag&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nZSkonto&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Skonto-Betrag&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dZDatum&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Zahlungsdatum&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMemo&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Memofeld des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nValuta&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Valutatage&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKostenst&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kostenstelle&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKostentraeger&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kostentr&amp;amp;auml;ger&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKalkGr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kalkulationsgruppe&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cFrachtV&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Frachtart/-vorschrift&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nFrachtK&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Frachtkosten&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nFrachtG&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Frachtgewicht&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cGruppe&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Vorgangsgruppe&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nPosInc&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Positionsnummer-Inkrement&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cFiliale&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Filialk&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabText&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabatttextfeld (kurz)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cErfasser&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Erfasser des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nSKFBetrag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Skontof&amp;amp;auml;higer Betrag&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lLiefStrecke&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Lieferstreckengesch&amp;amp;auml;ft aktiv&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBetreff&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Betreffzeile&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMemoDruck&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Druckmemo (erscheint auf Dokument)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLieferLiefNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferanten-Lieferscheinnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabattText&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabatttext (lang)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSysUid&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || System-UID des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lLeistPreis2&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Leistungspreis 2 verwenden&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cFunction&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Funktionsk&amp;amp;uuml;rzel (Scripting-Hook)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lSaveAllowed&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Speichern erlaubt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lVorgangsSperre&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Vorgang gesperrt&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Properties ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Name !! Typ !! Zugriff !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;DmsTyp&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || DMS-Typ des Vorgangs (z.&amp;amp;nbsp;B. AN, AU, LS, RE)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;MainTable&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Haupttabelle des Vorgangs (Datenbankname)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PosTable&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionstabelle des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosFormat&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionsnummern-Format&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgang_Prop_ParameterPositionsdatenAktualisieren&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;ParameterPositionsdatenAktualisieren&amp;lt;/code&amp;gt; || [[#TVorgangPosParams_AktualisiereDaten|TVorgangPosParams_AktualisiereDaten]] || Lesen/Schreiben || Parameter f&amp;amp;uuml;r Massenaktualisierung von Positionsdaten&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PnPosCnt&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Anzahl der Positionen im Vorgang&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PaPositionen[Index]&amp;lt;/code&amp;gt; || [[#TVorgangPos|TVorgangPos]] || Lesen/Schreiben || Array der Positionsobjekte (0-basiert)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PcRabGrPers&amp;lt;/code&amp;gt; || String || Nur Lesen || Rabattgruppe der Person (aus Stammdaten ermittelt)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PcVKdNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || VK-Kundennummer (alternativ zur cKdNr f&amp;amp;uuml;r Preisfindung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nNet1&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Nettobetrag MwSt-Schl&amp;amp;uuml;ssel 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nNet2&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Nettobetrag MwSt-Schl&amp;amp;uuml;ssel 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nNet3&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Nettobetrag MwSt-Schl&amp;amp;uuml;ssel 3&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nBrutto1&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Bruttobetrag MwSt-Schl&amp;amp;uuml;ssel 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nBrutto2&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Bruttobetrag MwSt-Schl&amp;amp;uuml;ssel 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nBrutto3&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Bruttobetrag MwSt-Schl&amp;amp;uuml;ssel 3&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nMwSt1&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || MwSt-Betrag Schl&amp;amp;uuml;ssel 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nMwSt2&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || MwSt-Betrag Schl&amp;amp;uuml;ssel 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nMwSt3&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || MwSt-Betrag Schl&amp;amp;uuml;ssel 3&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMwStSchl1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || MwSt-Schl&amp;amp;uuml;ssel 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMwStSchl2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || MwSt-Schl&amp;amp;uuml;ssel 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMwStSchl3&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || MwSt-Schl&amp;amp;uuml;ssel 3&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKeineVersPausch&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Keine Versandpauschale berechnen J/N&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cZahlBed&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Zahlungsbedingung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lNewVorgang&amp;lt;/code&amp;gt; || Boolean || Nur Lesen || Neuer (noch nicht gespeicherter) Vorgang&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKopfNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kopftextbaustein-Nummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cFussNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Fu&amp;amp;szlig;textbaustein-Nummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLiefStrecke&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferstrecken-K&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cStatus&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Status des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cStatM&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Material-Status&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cStatS&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Service-Status&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cStatL&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferstatus&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cStatR&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsstatus&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cColStatus&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Farb-/Anzeigestatus (f&amp;amp;uuml;r UI)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cZustand&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Zustandskenner des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cArt&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Vorgangsart-K&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBonusJN&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Bonus berechnen J/N&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVersandkostenMBW&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandkosten-Mindestbestellwert-Kennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cWKNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Werbungskosten-Nummer&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Methoden ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signatur !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;constructor Create(const cUid: string; oxDB: TxDB; cDmsType: string)&amp;lt;/code&amp;gt; || Erstellt einen neuen Vorgang mit UID, Datenbankverbindung und DMS-Typ&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;destructor Destroy&amp;lt;/code&amp;gt; || Gibt den Vorgang und alle Ressourcen frei&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function SemaphoreCreate(cFName: string; lMeldung: boolean = False; cWait: string = &#039;&#039;): boolean&amp;lt;/code&amp;gt; || Erstellt eine Datei-Semaphore (Sperrdatei); gibt True zur&amp;amp;uuml;ck wenn erfolgreich&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function SemaphoreInUse(cFName: string): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft ob die Semaphore-Datei bereits in Verwendung ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure SemaphoreReleaseAll&amp;lt;/code&amp;gt; || Gibt alle Semaphoren dieses Vorgangs frei&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure SemaphoreRelease(cFName: string)&amp;lt;/code&amp;gt; || Gibt eine bestimmte Semaphore frei&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstAngebot(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang ein Angebot ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstAuftrag(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang ein Auftrag ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstReparaturAuftrag(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang ein Reparaturauftrag ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstLieferschein(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang ein Lieferschein ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstRechnung(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang eine Rechnung ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstBestellung(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang eine Bestellung ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstAnfrage(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang eine Anfrage ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstEKLieferschein(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang ein EK-Lieferschein ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstEinkauf(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang ein Einkaufsvorgang ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstVG_VK(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn es sich um einen Verkaufsvorgang handelt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstVG_EK(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn es sich um einen Einkaufsvorgang handelt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function NeuNumLock(): boolean&amp;lt;/code&amp;gt; || Sperrt die Neunummerierung (verhindert parallele Vergabe)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure NeuNumLockRelease&amp;lt;/code&amp;gt; || Gibt die Neunummerierungssperre wieder frei&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgNeuNum(cFilter: string = &#039;&#039;; lAbweichend: boolean = false): string&amp;lt;/code&amp;gt; || Ermittelt und setzt eine neue Vorgangsnummer; gibt die Nummer als String zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgNeuNumBool(cFilter: string = &#039;&#039;; lAbweichend: boolean = false): boolean&amp;lt;/code&amp;gt; || Wie VorgNeuNum, gibt True/False zur&amp;amp;uuml;ck (f&amp;amp;uuml;r Fehlerbehandlung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstVorgNrGueltig(cUID: string = &#039;&#039;): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft ob die aktuelle Vorgangsnummer g&amp;amp;uuml;ltig (eindeutig) ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function NeuePositionBase(const cUID: string): [[#TVorgangPos|TVorgangPos]]&amp;lt;/code&amp;gt; || Legt eine neue Positionsinstanz an und f&amp;amp;uuml;gt sie dem Vorgang hinzu&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure NeuePositionBaseMS(const cUID: string; oOrgPos: [[#TVorgangPos|TVorgangPos]])&amp;lt;/code&amp;gt; || Legt eine neue Position als Multi-Steuer-Folgeposition an&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function LoeschePositionBase(nDel: integer): Boolean&amp;lt;/code&amp;gt; || L&amp;amp;ouml;scht die Position mit dem angegebenen Index&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure VerschiebePositionBase(nPos: integer; nZiel: integer)&amp;lt;/code&amp;gt; || Verschiebt Position von Index nPos zu Index nZiel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CheckIfNotNull(): Boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft ob Pflichtfelder des Vorgangs bef&amp;amp;uuml;llt sind&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CheckIfFirstPosOption(): Boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft ob die erste Position eine Optionsposition ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IsPosBerechnung(cPosArt: string): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft ob eine Positionsart als Berechnungsposition gilt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure CopyFrom(oSrc: [[#TVorgang|TVorgang]])&amp;lt;/code&amp;gt; || Kopiert alle Felder aus einem anderen Vorgang&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure KalkAll(lZusatz: boolean = true)&amp;lt;/code&amp;gt; || Kalkuliert alle Positionen und Gesamtsummen neu&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Check_Multisteuer(oOrgPos: [[#TVorgangPos|TVorgangPos]]; const cTable, cMUID, cRefNr: string)&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft und setzt Multi-Steuer-Verkn&amp;amp;uuml;pfung f&amp;amp;uuml;r eine Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyPosmenge(cFromUID: string): string&amp;lt;/code&amp;gt; || Kopiert Positionsmengen aus einem anderen Vorgang (per UID)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyPosverp(cFromUID: string): string&amp;lt;/code&amp;gt; || Kopiert Positionsverpackungen aus einem anderen Vorgang (per UID)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure fillVersandkostenMBW(const cPsNr: string; const cPsVersand: string = &#039;&#039;; const PsZusatz: string = &#039;&#039;)&amp;lt;/code&amp;gt; || Berechnet und setzt Versandkosten auf Basis Mindestbestellwert&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure FillPersonBase(qPers: TxFQuery)&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt Adressfelder des Vorgangs aus einem Personen-Query&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function FillReEmpf(const AReEmpf: string; const AZahlBed: string = &#039;&#039;): boolean&amp;lt;/code&amp;gt; || Setzt Rechnungsempf&amp;amp;auml;nger und optionale Zahlungsbedingung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function SaveRecord(cUID: string = &#039;&#039;; lAlleSpeichern: boolean = false): Boolean&amp;lt;/code&amp;gt; || Speichert den Vorgang (abstrakt &amp;amp;ndash; muss in abgeleiteter Klasse implementiert werden)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function ReadVorgangTypBase(cDmsTyp: string; const cNr: string; lPos: boolean = false; lNeg: boolean = false): boolean&amp;lt;/code&amp;gt; || Liest einen Vorgang anhand DMS-Typ und Nummer in das Objekt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function JahrNr(): string&amp;lt;/code&amp;gt; || Gibt das Jahr der Vorgangsnummer zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure NeuNumPos(const lNurPos: boolean = True)&amp;lt;/code&amp;gt; || Nummeriert alle Positionen neu&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function EigenschaftSetzen(const ANr: string; const AMode: boolean): boolean&amp;lt;/code&amp;gt; || Setzt oder l&amp;amp;ouml;scht eine Vorgangseigenschaft (Merkmal) per Nummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure AdresseLeeren&amp;lt;/code&amp;gt; || Leert alle Adressfelder des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure VersandLeeren(lRef: boolean = True)&amp;lt;/code&amp;gt; || Leert alle Versandadressfelder&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure ReEmpfLeeren(const lNurAdr: boolean = False)&amp;lt;/code&amp;gt; || Leert Rechnungsempf&amp;amp;auml;nger-Felder (optional nur Adresse)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure DoServiceTouch(cStatus: string = &#039;&#039;)&amp;lt;/code&amp;gt; || Aktualisiert Service-Zeitstempel und optionalen Status&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function AuswahlParameterPositionsdatenAktualisieren(const cXDataTable: string): boolean&amp;lt;/code&amp;gt; || Zeigt Dialog zur Auswahl der Aktualisierungsparameter f&amp;amp;uuml;r Positionsdaten&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function ZusatzkostenAktiv(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn Zusatzkostenmodul f&amp;amp;uuml;r diesen Vorgang aktiv ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgang_Meth_leseFehler&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;function leseFehler(out rFehler: [[#TVorgangFehler|TVorgangFehler]]; var nIdx: integer; const eLoeschenNachLesen: [[#TVorgangFehlerLoeschenLesen|TVorgangFehlerLoeschenLesen]] = vfllSkipCritical): boolean&amp;lt;/code&amp;gt; || Liest den n&amp;amp;auml;chsten Fehler aus der internen Fehlerliste&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== TVorgangPos ==&lt;br /&gt;
&lt;br /&gt;
=== Variablen ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Name !! Typ !! Zugriff !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nPosIndex&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Laufender Index der Position im Positions-Array&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Interne Positionsnummer (Datenbankfeld)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKundNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kundennummer an der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cAuftragsNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Referenz-Auftragsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBestellNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Referenz-Bestellnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosText&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionstext (Langtextfeld)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLProjNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Leistungsprojektnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLS_azUid&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferschein-Abrechnungszeilen-UID&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVersandNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionsnummer (formatiert)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosNr2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Zweite Positionsnummer (alternativ)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosKas&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kassier-Positionsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLeistungsNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Leistungsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBezeichnung1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Bezeichnung Zeile 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBezeichnung2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Bezeichnung Zeile 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nUrMenge&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Ursprungsmenge (vor &amp;amp;Auml;nderungen)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nLeistFaktor&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Leistungsfaktor (Multiplikator f&amp;amp;uuml;r Mengenberechnung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cEinheit&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Mengeneinheit&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nMengeG&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Mengenganz (ganzzahliger Mengenanteil)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nKolli&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Kollianzahl&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVerpackung&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Verpackungsart/-k&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nInhalt&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Inhalt pro Verpackungseinheit&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nEPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Einzelpreis (Netto)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nBEPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Brutto-Einzelpreis&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nOBPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Original-Brutto-Einzelpreis (vor Rabatt)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nUrPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Ursprungspreis (Listenpreis VK)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nUrPreisEK&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Ursprungspreis Einkauf&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nGPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Gesamtpreis (Netto)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nBGPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Brutto-Gesamtpreis&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nEKPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Einkaufspreis&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nEKSPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Einkaufssonderpreis&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cManPreis&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Manueller Preis J/N-Kennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabatt&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Gesamtrabatt in Prozent&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabatt1&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabatt 1 in Prozent&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabArt1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabattart 1 (Herkunftskennzeichen)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabatt2&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabatt 2 in Prozent&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabArt2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabattart 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabatt3&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabatt 3 in Prozent&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabArt3&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabattart 3&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabatt4&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabatt 4 in Prozent&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabArt4&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabattart 4&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabatt5&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabatt 5 in Prozent&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabArt5&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabattart 5&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nAddSub&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Additions-/Subtraktionsbetrag (Zuschlag/Abzug absolut)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKonto&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Buchungskonto&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLagNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lagernummer der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLagONr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lager-Ortsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVerkaufer&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Verk&amp;amp;auml;uferk&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cStatus&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionsstatus&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cAngebotsNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Referenz-Angebotsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Eindeutige ID der Position (GUID)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Multi-Steuer-UID (Verkn&amp;amp;uuml;pfung bei Multisteuer)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRTVon&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || R&amp;amp;uuml;cktragungs-Referenz (von welcher Position)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSpNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Speditionsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBestellUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || UID der verkn&amp;amp;uuml;pften Bestellposition&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMaterialUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || UID des verkn&amp;amp;uuml;pften Materialeintrags&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cEiliUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || UID der Eillieferungsposition&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cXUID1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Erweiterungs-UID 1 (freie Verkn&amp;amp;uuml;pfung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cXUID2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Erweiterungs-UID 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cXUID3&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Erweiterungs-UID 3&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cXUID4&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Erweiterungs-UID 4&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKommentar&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kommentarfeld der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nProvision&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Provisionsanteil in Prozent&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLiefKz&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferkennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cProdGr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Produktgruppe&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nFrachtV&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Frachtvolumen der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLSNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferscheinnummer der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dLSDatum&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Lieferscheindatum der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosArt&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionsart (z.&amp;amp;nbsp;B. N=Normal, O=Optional)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSKFJN&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Skontof&amp;amp;auml;hig J/N&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cEKHerkunft&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || EK-Preisherkunft-K&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLiefNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferantennummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLagStreck&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lager-Streckenkennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cAufschlag&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Aufschlagsk&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nStaffelPreis&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Staffelpreisstufe (Index)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nStaffelmenge&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Staffelmenge f&amp;amp;uuml;r Preisfindung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lAktionspreis&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Aktionspreis aktiv&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cAusdruckJN&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Position drucken J/N&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMemoDruck&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Druckmemo der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBildUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || UID des verkn&amp;amp;uuml;pften Bildes&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cCMPUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || CMP-Objekt-UID&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cZeit_CMPUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Zeiterfassungs-CMP-UID&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cZeit_Text&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Zeiterfassungstext&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cZeit_Mitarb&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Mitarbeiter der Zeiterfassung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dZeit_Date&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Datum der Zeiterfassung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cZeit_NurLei&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Zeiterfassung: nur Leistung J/N&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKostst&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kostenstelle der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dAbrechVon&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Abrechnungszeitraum von&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dAbrechBis&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Abrechnungszeitraum bis&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lNeuNum&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Neunummerierung f&amp;amp;uuml;r diese Position ausf&amp;amp;uuml;hren&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSysUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || System-UID der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cGeraetNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Ger&amp;amp;auml;tenummer (f&amp;amp;uuml;r Servicepositionen)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Properties ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Name !! Typ !! Zugriff !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;oMyDB&amp;lt;/code&amp;gt; || TxDB || Nur Lesen || Datenbankverbindung (vom Vorgang geerbt)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;ShopNr&amp;lt;/code&amp;gt; || String || Nur Lesen || Shop-Nummer (f&amp;amp;uuml;r Mehrshop-Preisfindung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cArtikelNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Artikelnummer (Zugriff &amp;amp;uuml;ber Property wegen Seiteneffekten)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PcMWSTSch&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || MwSt-Schl&amp;amp;uuml;ssel (Parameter-Feld)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PcMengeIn&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Mengeneingabe als String (Parameter)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PnMengeIn&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Mengeneingabe als Zahl (Parameter)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PnMengeInFak&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Mengeneingabe-Faktor (Parameter)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PcMemofeld&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Memofeld der Position (Parameter-Feld, Unicode)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PcMemofeldAnsi&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Memofeld ANSI-Version (Parameter-Feld)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosLaufend&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Laufende Positionsnummer als String&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lVerbrauchsMater&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Verbrauchsmaterial-Kennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nMenge&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Menge der Position (mit Seiteneffekten bei Schreiben)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cTyp&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionstyp als String &amp;amp;ndash; siehe [[#Konstanten|Konstanten]] (POSTYP_*)&amp;lt;br /&amp;gt;Wandelt den übergebenen String in die passende Enummeration für Property (siehe Hinweise in [[TVorgangPos_Prop_Typ|Typ]]). {{Achtung|Wird ein ungültiger Wert gesetzt, so wird der Typ automatisch auf Position (&amp;quot;0&amp;quot; bzw. ptPosition) gesetzt.}}&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgangPos_Prop_Typ&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;Typ&amp;lt;/code&amp;gt; || [[#TVB_PosType|TVB_PosType]] || Lesen/Schreiben || Positionstyp als Enum (ptPosition, ptText, ptLeerzeile&amp;amp;nbsp;&amp;amp;hellip;){{Hinweis|Wird der Typ geändert, so werden die Daten des Positionsobjekts auf die Vorbelegung zurückgesetzt. Zuvor gesetzte Daten werden dabei überschrieben. Nach der Verwendung von &amp;lt;code&amp;gt;NeuePosition&amp;lt;/code&amp;gt; sollte der Typ daher als erstes geändert werden, bevor Sie weitere Daten in das Objekt schreiben.}}&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgangPos_Prop_OriginalPos&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;OriginalPos&amp;lt;/code&amp;gt; || [[#TVorgangPosOriginal|TVorgangPosOriginal]] || Nur Lesen || Ursprungspositionsdaten (DMS-Referenz, Nr, UID, SysUID)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Methoden ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signatur !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;constructor Create(oxVorgang: [[#TVorgang|TVorgang]]; cPosTbl: string)&amp;lt;/code&amp;gt; || Erstellt eine neue Position f&amp;amp;uuml;r den angegebenen Vorgang (veraltet, UID-Variante bevorzugen)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;constructor Create(cUid: string; oxVorgang: [[#TVorgang|TVorgang]]; cPosTbl: string)&amp;lt;/code&amp;gt; || Erstellt eine neue Position mit vorgegebener UID&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;destructor Destroy&amp;lt;/code&amp;gt; || Gibt die Position frei&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure PositionsVorbelegung&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt die Position mit Standardwerten aus den Vorgangsdaten&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure GenNewUid&amp;lt;/code&amp;gt; || Generiert eine neue UID f&amp;amp;uuml;r diese Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyPosmenge(cFromUID: string): string&amp;lt;/code&amp;gt; || Kopiert Mengen aus einer anderen Position (per UID)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyPosverp(cFromUID: string): string&amp;lt;/code&amp;gt; || Kopiert Verpackungsdaten aus einer anderen Position (per UID)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure CopyFrom(oSrc: [[#TVorgangPos|TVorgangPos]]; lFull: boolean = False)&amp;lt;/code&amp;gt; || Kopiert alle Felder aus einer anderen Position; lFull=True kopiert auch interne Felder&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure QueryToPos(qTmp: TxFQuery; lReadAsNew: boolean = false)&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt die Position aus einem Datenbankquery (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure QueryToPos(qTmp: TxFQuery; const cFromTable: string; lVerpack: Boolean = False; lUmkehr: boolean = False)&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt die Position aus einem Query mit expliziter Quelltabelle (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure DBPosToPos(const cFromTable: string; const cSysUid: string; lVerpack: Boolean = False; lUmkehr: boolean = False)&amp;lt;/code&amp;gt; || Liest eine Position direkt aus der Datenbank per SysUID&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function FillArtikel(cArtNr: string): boolean&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt die Position mit Artikelstammdaten; gibt True bei Erfolg zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function SetzeLieferant(const cLiefNr: string; lEKNeu: boolean = True; lDefaultEK1: boolean = False): boolean&amp;lt;/code&amp;gt; || Setzt den Lieferanten und aktualisiert EK-Preise&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure FillLeistung(cLeistNr: string)&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt die Position mit Leistungsstammdaten&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function SumPosBez(const eZielTyp: [[#TVB_PosType|TVB_PosType]]; const cBezVorb: string): string&amp;lt;/code&amp;gt; || Gibt die Bezeichnung f&amp;amp;uuml;r eine Summenposition zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgangPos_Meth_Typ_Pos&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;procedure Typ_Pos&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;normale Position&amp;amp;ldquo;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgangPos_Meth_Typ_Text&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;procedure Typ_Text(const cText: string)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Textzeile&amp;amp;ldquo; mit dem angegebenen Text&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgangPos_Meth_Typ_Leerzeile&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;procedure Typ_Leerzeile&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Leerzeile&amp;amp;ldquo;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgangPos_Meth_Typ_Zwischensumme&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;procedure Typ_Zwischensumme(const cBez: string = &#039;&#039;)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Zwischensumme&amp;amp;ldquo; (Ebene&amp;amp;nbsp;1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgangPos_Meth_Typ_ZwischensummeEbene&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;procedure Typ_ZwischensummeEbene(const nEbene: integer; const cBez: string = &#039;&#039;)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Zwischensumme&amp;amp;ldquo; der angegebenen Ebene&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgangPos_Meth_Typ_Titelsumme&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;procedure Typ_Titelsumme(const cBez: string = &#039;&#039;)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Titelsumme&amp;amp;ldquo; (Ebene&amp;amp;nbsp;1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgangPos_Meth_Typ_TitelsummeEbene&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;procedure Typ_TitelsummeEbene(const nEbene: integer; const cBez: string = &#039;&#039;)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Titelsumme&amp;amp;ldquo; der angegebenen Ebene&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgangPos_Meth_Typ_Titel&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;procedure Typ_Titel(const cBez: string)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Titel&amp;amp;ldquo;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgangPos_Meth_Typ_Gewerk&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;procedure Typ_Gewerk(const cBez: string)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Gewerk&amp;amp;ldquo;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgangPos_Meth_Typ_NeueSeite&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;procedure Typ_NeueSeite&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Seitenumbruch&amp;amp;ldquo;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgangPos_Meth_Typ_Bild&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;procedure Typ_Bild(const cBild: string)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Bild&amp;amp;ldquo; mit dem angegebenen Bildpfad/-UID&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure UStKorrektur(const dCheckDate: TDateTime)&amp;lt;/code&amp;gt; || Korrigiert den Umsatzsteuerschl&amp;amp;uuml;ssel gem&amp;amp;auml;&amp;amp;szlig; Datum (Steuersatz&amp;amp;auml;nderungen)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure KalkPos&amp;lt;/code&amp;gt; || Kalkuliert Gesamtpreis und abgeleitete Felder dieser Position neu&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosNrAllowed(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn dieser Positionstyp eine Positionsnummer erh&amp;amp;auml;lt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure SetPosNr(cP: string; cT: string = &#039;&#039;; cG: string = &#039;&#039;; cFormat: string = &#039;&#039;)&amp;lt;/code&amp;gt; || Setzt die Positionsnummer aus String-Komponenten (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure SetPosNr(nP: integer; nT: integer = -1; nG: integer = -1; cFormat: string = &#039;&#039;)&amp;lt;/code&amp;gt; || Setzt die Positionsnummer aus numerischen Komponenten (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosLaufend(iPos: integer = 0): string&amp;lt;/code&amp;gt; || Gibt die laufende Positionsnummer als formatierten String zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Preisfindung(cShopNr: string = CONST_NO_SHOP)&amp;lt;/code&amp;gt; || F&amp;amp;uuml;hrt die Preisfindung f&amp;amp;uuml;r diese Position aus&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function SetOpenBookLieferant(): boolean&amp;lt;/code&amp;gt; || Setzt den Open-Book-Lieferanten f&amp;amp;uuml;r diese Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure AddToMemo(const cText: string; const lNewLine: boolean = False)&amp;lt;/code&amp;gt; || F&amp;amp;uuml;gt Text zum Memofeld hinzu&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgangPos_Meth_AktualisiereDaten&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;procedure AktualisiereDaten&amp;lt;/code&amp;gt; || Aktualisiert Texte, EK- und VK-Preise gem&amp;amp;auml;&amp;amp;szlig; [[#TVorgang_Prop_ParameterPositionsdatenAktualisieren|ParameterPositionsdatenAktualisieren]]&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure EKCalcMengeIn(var nEkFak: double)&amp;lt;/code&amp;gt; || Berechnet den EK-Mengeneingabe-Faktor (R&amp;amp;uuml;ckgabe per var-Parameter)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CanSave(): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft ob diese Position gespeichert werden kann/darf&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure qSqlSet(AqSql: TqSql)&amp;lt;/code&amp;gt; || Setzt das SQL-Objekt f&amp;amp;uuml;r erweiterte DB-Operationen dieser Position&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Globale Methoden =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Signatur !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstVKVorgang(cMainTable: string): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck, wenn die Haupttabelle ein VK-Vorgang ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstVKVorgangPos(cPosTable: string): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck, wenn die Positionstabelle zu einem VK-Vorgang geh&amp;amp;ouml;rt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyPosmengeDB(oMyDB: TxDB; cFromUID: string): string&amp;lt;/code&amp;gt; || Kopiert Positionsmengen aus einem anderen Vorgang (direkt per Datenbankzugriff)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyPosverpDB(oMyDB: TxDB; cFromUID: string): string&amp;lt;/code&amp;gt; || Kopiert Positionsverpackungen aus einem anderen Vorgang (direkt per Datenbankzugriff)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyRTFLan(oMyDB: TxDB; cVonTable, cVonRef, cNachTable, cNachRef: String): String&amp;lt;/code&amp;gt; || Kopiert RTF-Langtexte zwischen Vorgangs-Positionen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure CopyKalkulationAN2AU(oMyDB: TxDB; cANRef1, cANRef2, cAURef1, cAURef2: String; fPosmenge: Double)&amp;lt;/code&amp;gt; || Kopiert Kalkulation von Angebot nach Auftrag (mit Mengenfaktor)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure CopyKalkulationAU(oMyDB: TxDB; cANRef1, cANRef2, cAURef1, cAURef2: String)&amp;lt;/code&amp;gt; || Kopiert Auftragskalkulation zwischen zwei Positionen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure CopyKalkulationAN(oMyDB: TxDB; cANRef1, cANRef2, cAURef1, cAURef2: String)&amp;lt;/code&amp;gt; || Kopiert Angebotskalkulation zwischen zwei Positionen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosNrFormatCheck(const cFormat: string): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft, ob ein Positionsnummern-Format g&amp;amp;uuml;ltig ist (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosNrFormatCheck(oMyDB: TxDB; const cFormat: string): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft Format gegen Datenbankeinstellungen (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosNrFormatCounts(const cFormat: string; out nG, nT, nP: integer): boolean&amp;lt;/code&amp;gt; || Liefert die Stellenzahlen f&amp;amp;uuml;r Gewerk, Titel und Position aus dem Format (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosNrFormatCounts(oMyDB: TxDB; const cFormat: string; out nG, nT, nP: integer): boolean&amp;lt;/code&amp;gt; || Wie oben, mit Datenbankzugriff (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosNrSplit(oMyDB: TxDB; const cFormat, cPosTyp: string; cPosNr: string; out nG, nT, nP: integer): boolean&amp;lt;/code&amp;gt; || Zerlegt eine formatierte Positionsnummer in ihre Bestandteile&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function GetVorgangMandant(oMyDB: TxDB; const cTable, cNr: string): string&amp;lt;/code&amp;gt; || Gibt den Mandanten-Schl&amp;amp;uuml;ssel f&amp;amp;uuml;r einen Vorgang zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function GetVorgangTextTB(const nPMode: integer; out cTB_Nr: string; cFiliale: string = &#039;&#039;): boolean&amp;lt;/code&amp;gt; || Ermittelt die Textbaustein-Nummer f&amp;amp;uuml;r den angegebenen Positionsmodus&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function GetVorgangTextTBPers(oMyDB: TxDB; const cPsNr: string; const nPMode: integer; out cTB_Nr: string; cFiliale: string = &#039;&#039;): boolean&amp;lt;/code&amp;gt; || Wie GetVorgangTextTB, zus&amp;amp;auml;tzlich personenbezogen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function KopfTextPlatzhalter(var cKopfText: string; const cBrief1, cBrief2: string): boolean&amp;lt;/code&amp;gt; || Ersetzt Platzhalter im Kopftext durch Briefanredefelder&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangArt(oMyDB: TxDB; const cDMS, cNr: string): integer&amp;lt;/code&amp;gt; || Gibt die Vorgangsart als Integer-Kennziffer zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangStatus(oMyDB: TxDB; const cDMS, cNr: string): string&amp;lt;/code&amp;gt; || Gibt den aktuellen Status eines Vorgangs aus der Datenbank zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangVerbucht(oMyDB: TxDB; const cDMS, cNr: string): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck, wenn der Vorgang verbucht ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangUstEnthalten(oMyDB: TxDB; const cDMS, cNr, cUstSchl: string; cFeld: string = &#039;&#039;): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft, ob ein bestimmter USt-Schl&amp;amp;uuml;ssel im Vorgang verwendet wird&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PortoVerpackKannSkonto(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck, wenn Porto/Verpackung skontof&amp;amp;auml;hig ist (laut Systemeinstellung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function GetPosBild(oMyDB: TxDB; cArtNr: string; var cBildUID: string): boolean&amp;lt;/code&amp;gt; || Ermittelt die Bild-UID eines Artikels f&amp;amp;uuml;r eine Positions-Bildposition&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangVertreterVorb(oMyDB: TxDB; const cVertreter: string): string&amp;lt;/code&amp;gt; || Gibt den vorgebelegten Vertreter-Schl&amp;amp;uuml;ssel zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangVertreterPrio(oMyDB: TxDB; const cAktVertreter: string): string&amp;lt;/code&amp;gt; || Gibt den Vertreter mit h&amp;amp;ouml;chster Priorit&amp;amp;auml;t zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function GenerierePositionskommentar(cUrsprung, cKommentar: String): String&amp;lt;/code&amp;gt; || Kombiniert Ursprungs- und Kommentartext zu einem Positions-Kommentar&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function ReplacePlatzhalterReparaturAuftrag(cRAufNr: String; cText: String = &#039;&#039;): String&amp;lt;/code&amp;gt; || Ersetzt Platzhalter im Text durch Reparaturauftragsdaten&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function ReplacePlatzhalterPosErfassung(oMyDB: TxDB; const cBuffer, cTable, cNr: string; const lDef: Boolean = False; const lRepa: Boolean = False): String&amp;lt;/code&amp;gt; || Ersetzt Platzhalter im Text bei der Positionserfassung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function LoadPlatzhalterVorgang(oMyDB: TxDB; const cTable, cNr: string; var oPlatzhalter: TPlatzhalterVorgang): Boolean&amp;lt;/code&amp;gt; || L&amp;amp;auml;dt Platzhalter-Daten eines Vorgangs aus der Datenbank&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PlatzhalterVorgang(const cText, cNr: string; const oPlatzhalter: TPlatzhalterVorgang; const lDef: Boolean = false; const lRepa: Boolean = false): string&amp;lt;/code&amp;gt; || Ersetzt Platzhalter im Text mit den geladenen Vorgang-Platzhaltern&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function GetPosVorb_ErlKto(oMyDB: TxDB; const cErlJahr, cManNr, cFiliale: string): string&amp;lt;/code&amp;gt; || Gibt das Erl&amp;amp;ouml;skonto f&amp;amp;uuml;r eine Positionsvorbelegung zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure ChangePosPreisFromLeistPreis2(oVorgang: TVorgang)&amp;lt;/code&amp;gt; || Wechselt f&amp;amp;uuml;r alle Positionen auf den alternativen Leistungspreis 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_ToXMLStr(oMyDB: TxDB; const cTable, cPosTable, cVorgNr: String): string&amp;lt;/code&amp;gt; || Exportiert einen Vorgang als XML-String&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_ToDelArchiv(oMyDB: TxDB; const cTable, cPosTable, cVorgNr: String): Boolean&amp;lt;/code&amp;gt; || Verschiebt einen Vorgang ins L&amp;amp;ouml;scharchiv&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_ToXMLFile(oMyDB: TxDB; const cFile, cTable, cPosTable, cVorgNr: String): Boolean&amp;lt;/code&amp;gt; || Exportiert einen Vorgang in eine XML-Datei&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function XMLFile_ToVorgang(oMyDB: TxDB; const cData: String; var cNewNr, cOldNr: String): Boolean&amp;lt;/code&amp;gt; || Importiert einen Vorgang aus einem XML-String/-Datei&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function DelArchivTo_Vorgang(oMyDB: TxDB; const cTabelle, cVorgang: String): String&amp;lt;/code&amp;gt; || Stellt einen archivierten Vorgang wieder her&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_Runden_MengeInFak(oMyDB: TxDB; const cTabMain, cTabPos: string; nValue: double): double&amp;lt;/code&amp;gt; || Rundet den Mengeneingabe-Faktor gem&amp;amp;auml;&amp;amp;szlig; Tabelleneinstellung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_Rohertrag(oMyDB: TxDB; const cDMSTyp, cVorgNr: String; nNettoBetrag: Double): String&amp;lt;/code&amp;gt; || Berechnet den Rohertrag eines Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_Rohertrag_Ext(oMyDB: TxDB; const cDMSTyp, cVorgNr: String; nNettoBetrag: Double; lSollStunden: Boolean): string&amp;lt;/code&amp;gt; || Berechnet den Rohertrag erweitert (mit Sollstunden)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangFelder(cTyp: String; lPosition, lArtikel, lMaterial, lAuswertung, lMessen: Boolean; lSchiff: Boolean = False): String&amp;lt;/code&amp;gt; || Gibt die aktiven Feldgruppen eines Vorgangstyps als String zur&amp;amp;uuml;ck (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangFelder(oMyDB: TxDB; cTyp: String; lPosition, lArtikel, lMaterial, lAuswertung, lMessen: Boolean; lSchiff: Boolean = False): String&amp;lt;/code&amp;gt; || Wie oben, mit Datenbankzugriff (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_IstGesperrt(oMyDB: TxDB; const cTyp, cRef: string; const cFeld: string = &#039;a_nr&#039;): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft, ob ein Vorgang gesperrt ist (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_IstGesperrt(oMyDB: TxDB; const rDMS: TDMSType; const cRef: string; const cFeld: string = &#039;a_nr&#039;): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft Sperrung per DMS-Typ (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_FilterSperrung(oMyDB: TxDB; const cTyp, cRef: string; out cOffen, cGesperrt: string; const cFeld: string = &#039;a_nr&#039;): boolean&amp;lt;/code&amp;gt; || Gibt SQL-Filter-Strings f&amp;amp;uuml;r offene/gesperrte Vorg&amp;amp;auml;nge zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_FilterSperrung_Offen(oMyDB: TxDB; const cTyp, cRef: string; out cOffen: string; const cFeld: string = &#039;a_nr&#039;): boolean&amp;lt;/code&amp;gt; || Gibt nur den Filter f&amp;amp;uuml;r offene (nicht gesperrte) Vorg&amp;amp;auml;nge zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_UbernahmeMassen(oMyDB: TxDB; const cVonUid, cNachDmsTyp, cNachVorgNr, cNachUid: string): boolean&amp;lt;/code&amp;gt; || Massenweise Positions&amp;amp;uuml;bernahme zwischen Vorg&amp;amp;auml;ngen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_GetMenge(oMyDB: TxDB; const cPosTable, cKeyField, cUID: String; out nUrmenge: Double; const cEigUID: String = &#039;&#039;): Double&amp;lt;/code&amp;gt; || Liest die aktuelle und Ursprungsmenge einer Position aus der Datenbank&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_CheckPosTyp(const cTyp: string): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft, ob ein Positionstyp-Schl&amp;amp;uuml;ssel g&amp;amp;uuml;ltig ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_HatReEmpfAdr(qVorgangData: TxFQuery): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck, wenn der Vorgang eine Rechnungsempf&amp;amp;auml;nger-Adresse hat (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_HatReEmpfAdr(qVorgangData: TxQuery): boolean&amp;lt;/code&amp;gt; || Wie oben, f&amp;amp;uuml;r TxQuery (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_AnzeigeReEmpf(oMyDB: TxDB; qMain: TxFQuery; const cMainTable: string; cAdressBez: string = &#039;&#039;; lUseReportLang: boolean = True): string&amp;lt;/code&amp;gt; || Gibt die anzuzeigende Rechnungsempf&amp;amp;auml;nger-Adresse als formatierten Text zur&amp;amp;uuml;ck (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_AnzeigeReEmpf(oMyDB: TxDB; qMain: TxQuery; const cMainTable: string; cAdressBez: string = &#039;&#039;; lUseReportLang: boolean = True): string&amp;lt;/code&amp;gt; || Wie oben, f&amp;amp;uuml;r TxQuery (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PortoVerpackBerechnet(oMyDB: TxDB; const cDmsVon, cDmsSetzen, cNrSetzen: string): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft, ob Porto/Verpackung bereits berechnet wurde und setzt Kennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangVorb_Waehrung(oMyDB: TxDB; const cValue: string = &#039;01&#039;): string&amp;lt;/code&amp;gt; || Gibt den Standardw&amp;amp;auml;hrungsschl&amp;amp;uuml;ssel f&amp;amp;uuml;r Vorgangsvorbelegung zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangVorb_RechKreis(oMyDB: TxDB; const cValue: string = &#039;01&#039;): string&amp;lt;/code&amp;gt; || Gibt den Standardrechnungskreis-Schl&amp;amp;uuml;ssel zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangVorbPos_VomLager(const nTokenPos: integer; const cLagStreck: string): string&amp;lt;/code&amp;gt; || Gibt das Lager/die Strecke f&amp;amp;uuml;r eine Positionsvorbelegung zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_VersandkostenMBW(oMyDB: TxDB; const cDmsTyp: string; const lGen: boolean; const cPsNr: string; const cPsVersand: string = &#039;&#039;; const cPsZusatz: string = &#039;&#039;): string&amp;lt;/code&amp;gt; || Berechnet Versandkosten auf Basis des Mindestbestellwerts&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfFile(oMyDB: TxDB; const cDmsTyp, cNr, cKdNr: string; out cPdfFile: string): boolean&amp;lt;/code&amp;gt; || Ermittelt den Pfad zur archivierten PDF-Datei eines Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfAsBase64File(oMyDB: TxDB; const cDmsTyp, cNr, cKdNr: string; out cBase64File: string): boolean&amp;lt;/code&amp;gt; || Liefert die PDF-Datei als Base64-kodierten Pfad&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfAsBase64Parts(oMyDB: TxDB; const cDmsTyp, cNr, cKdNr: string; const nPart: integer; out cBase64: string; out nParts: integer; nPartSize: integer = 0): boolean&amp;lt;/code&amp;gt; || Liefert die PDF in Teilen als Base64 (mit KdNr, &amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfAsBase64Parts(oMyDB: TxDB; const cDmsTyp, cNr, cKdNr: string; const nPart: integer; out cBase64: string; out nParts: integer; cPartSize: string): boolean&amp;lt;/code&amp;gt; || Wie oben, Teilgr&amp;amp;ouml;&amp;amp;szlig;e als String (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfAsBase64Parts(oMyDB: TxDB; const cDmsTyp, cNr: string; const nPart: integer; out cBase64: string; out nParts: integer; nPartSize: integer = 0): boolean&amp;lt;/code&amp;gt; || Wie oben, ohne KdNr (&amp;amp;Uuml;berladung 3)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfAsBase64Parts(oMyDB: TxDB; const cDmsTyp, cNr: string; const nPart: integer; out cBase64: string; out nParts: integer; cPartSize: string): boolean&amp;lt;/code&amp;gt; || Wie oben, Teilgr&amp;amp;ouml;&amp;amp;szlig;e als String (&amp;amp;Uuml;berladung 4)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfAsBase64(oMyDB: TxDB; const cDmsTyp, cNr: string; out cBase64: string): boolean&amp;lt;/code&amp;gt; || Liefert die gesamte PDF als Base64-String&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PosUebernommen(oMyDB: TxDB; const cVonDmsTyp, cVonNr, cPosUid: string): TVorgangPosOriginalListe&amp;lt;/code&amp;gt; || Gibt eine Liste aller Vorg&amp;amp;auml;nge zur&amp;amp;uuml;ck, in die diese Position &amp;amp;uuml;bernommen wurde&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_GetPosRef(oMyDB: TxDB; const cVonDmsTyp, cVonNr, cPosUid, cRefDmsTypen: string): TVorgangPosOriginalListe&amp;lt;/code&amp;gt; || Gibt Referenzen einer Position auf andere DMS-Typen zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_ArtBox(const cDMSTyp: string): string&amp;lt;/code&amp;gt; || Gibt die Vorgangsart-Box (Auswahlstring) f&amp;amp;uuml;r einen DMS-Typ zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_SummenEbene(const nEbene: integer): integer&amp;lt;/code&amp;gt; || Validiert und normiert eine Summen-Ebene (1..VB_MAX_SummenEbenen)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_SummenEbeneAusMenge(const nMenge: double): integer&amp;lt;/code&amp;gt; || Berechnet die Summenebene aus einem Mengenwert&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_KalkAufschlagPos(const nSatz, nZwSumme, nMengeIn, nMengeInFak, nRabatt: double): double&amp;lt;/code&amp;gt; || Berechnet den Aufschlagsbetrag f&amp;amp;uuml;r eine Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_SumPosText(const eTyp: [[#TVB_PosType|TVB_PosType]]; const cLanguage: string): string&amp;lt;/code&amp;gt; || Gibt den lokalisierten Standardtext f&amp;amp;uuml;r eine Summenposition zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_SumPosTextZw(cLang: string = &#039;&#039;): string&amp;lt;/code&amp;gt; || Gibt den lokalisierten Text f&amp;amp;uuml;r Zwischensummen-Positionen zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_SumPosTextTit(cLang: string = &#039;&#039;): string&amp;lt;/code&amp;gt; || Gibt den lokalisierten Text f&amp;amp;uuml;r Titelsummen-Positionen zur&amp;amp;uuml;ck&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Nimz</name></author>
	</entry>
	<entry>
		<id>https://wiki.bergau.de/index.php?title=OBS/Makros_und_Scripting/Allgemeines/Klassen/Vorg%C3%A4nge&amp;diff=64507</id>
		<title>OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge</title>
		<link rel="alternate" type="text/html" href="https://wiki.bergau.de/index.php?title=OBS/Makros_und_Scripting/Allgemeines/Klassen/Vorg%C3%A4nge&amp;diff=64507"/>
		<updated>2026-06-12T11:59:39Z</updated>

		<summary type="html">&lt;p&gt;Nimz: /* Properties */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Makros und Scripting}}&lt;br /&gt;
Es gibt für die Generierung von Vorgängen eigene Klassen. Da es zwischen den Vorgängen immer irgendwelche Unterschiede gibt, existiert auch für jeden Vorgangs-Typ eine eigene Klasse.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Übersicht Klassen:&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Angebot|Angebot]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Auftrag|Auftrag]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Reparaturauftrag|Reparaturauftrag]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Produktionsauftrag|Produktionsauftrag]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Lieferschein|Lieferschein]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Rechnung|Rechnung]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Bestellung|Bestellung]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Einkaufslieferschein|Einkaufslieferschein]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Einkauf|Einkauf]]&lt;br /&gt;
&lt;br /&gt;
= Datentypen =&lt;br /&gt;
&lt;br /&gt;
== Enumerationen ==&lt;br /&gt;
&lt;br /&gt;
=== TVB_PosType ===&lt;br /&gt;
Positionstyp einer [[#TVorgangPos|TVorgangPos]]. Wird &amp;amp;uuml;ber die Property &amp;lt;code&amp;gt;[[#TVorgangPos_Prop_Typ|Typ]]&amp;lt;/code&amp;gt; gelesen/gesetzt.&lt;br /&gt;
Die zugeh&amp;amp;ouml;rigen String-Konstanten sind unter [[#Konstanten|Konstanten]] beschrieben.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wert !! Bezeichner !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 0 || &amp;lt;code&amp;gt;ptPosition&amp;lt;/code&amp;gt; || Normale Artikelposition&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 1 || &amp;lt;code&amp;gt;ptText&amp;lt;/code&amp;gt; || Textzeile / Memorundzeile&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 2 || &amp;lt;code&amp;gt;ptLeerzeile&amp;lt;/code&amp;gt; || Leere Trennzeile&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 3 || &amp;lt;code&amp;gt;ptZwischensumme&amp;lt;/code&amp;gt; || Zwischensummen-Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 4 || &amp;lt;code&amp;gt;ptTitelsumme&amp;lt;/code&amp;gt; || Titelsummen-Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 5 || &amp;lt;code&amp;gt;ptTitel&amp;lt;/code&amp;gt; || Titelzeile&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 6 || &amp;lt;code&amp;gt;ptGewerk&amp;lt;/code&amp;gt; || Gewerk-Kopfzeile&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 7 || &amp;lt;code&amp;gt;ptSeitenumbruch&amp;lt;/code&amp;gt; || Manueller Seitenumbruch&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 8 || &amp;lt;code&amp;gt;ptBild&amp;lt;/code&amp;gt; || Bildposition&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVB_MaterMode ===&lt;br /&gt;
Steuert den Materialmodus beim Lesen von Positionsdaten.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wert !! Bezeichner !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 0 || &amp;lt;code&amp;gt;mmNone&amp;lt;/code&amp;gt; || Kein spezieller Materialmodus&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 1 || &amp;lt;code&amp;gt;mmMD5&amp;lt;/code&amp;gt; || Materialpr&amp;amp;uuml;fung per MD5-Hash&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 2 || &amp;lt;code&amp;gt;mmReadUID&amp;lt;/code&amp;gt; || Material-UID direkt lesen&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVorgangFehlerTyp ===&lt;br /&gt;
Klassifiziert einen Eintrag in der internen Fehlerliste eines [[#TVorgang|TVorgang]].&lt;br /&gt;
Wird im Record [[#TVorgangFehler|TVorgangFehler]] verwendet.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wert !! Bezeichner !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 0 || &amp;lt;code&amp;gt;vftOther&amp;lt;/code&amp;gt; || Sonstiger Hinweis&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 1 || &amp;lt;code&amp;gt;vftCritical&amp;lt;/code&amp;gt; || Kritischer Fehler (blockiert Speichern)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 2 || &amp;lt;code&amp;gt;vftSaveCheck&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;fung beim Speichern&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 3 || &amp;lt;code&amp;gt;vftPosInfo&amp;lt;/code&amp;gt; || Positionsbezogene Information&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVorgangFehlerLoeschenLesen ===&lt;br /&gt;
Steuert, welche Fehler nach dem Lesen via &amp;lt;code&amp;gt;[[#TVorgang_Meth_leseFehler|leseFehler]]&amp;lt;/code&amp;gt; aus der Liste gel&amp;amp;ouml;scht werden.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wert !! Bezeichner !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 0 || &amp;lt;code&amp;gt;vfllNone&amp;lt;/code&amp;gt; || Kein Fehler nach dem Lesen l&amp;amp;ouml;schen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 1 || &amp;lt;code&amp;gt;vfllAll&amp;lt;/code&amp;gt; || Alle Fehler nach dem Lesen l&amp;amp;ouml;schen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 2 || &amp;lt;code&amp;gt;vfllSkipCritical&amp;lt;/code&amp;gt; || Nur nicht-kritische Fehler l&amp;amp;ouml;schen (Standard)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Records ==&lt;br /&gt;
&lt;br /&gt;
=== TVorgangPosOriginal ===&lt;br /&gt;
Enth&amp;amp;auml;lt Referenzinformationen der Ursprungsposition (z.&amp;amp;nbsp;B. bei der Vorgangs&amp;amp;uuml;bernahme).&lt;br /&gt;
Wird &amp;amp;uuml;ber die Property &amp;lt;code&amp;gt;[[#TVorgangPos_Prop_OriginalPos|OriginalPos]]&amp;lt;/code&amp;gt; einer [[#TVorgangPos|TVorgangPos]] geliefert.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Feld !! Typ !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;rDMS&amp;lt;/code&amp;gt; || TDMSType || DMS-Typ des Ursprungsvorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cNr&amp;lt;/code&amp;gt; || String || Vorgangsnummer des Ursprungs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cUid&amp;lt;/code&amp;gt; || String || UID der Ursprungsposition&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSysUid&amp;lt;/code&amp;gt; || String || System-UID der Ursprungsposition&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Methoden:&#039;&#039;&#039;&lt;br /&gt;
{{Achtung|Funktioniert nur im Scriptrunner &amp;quot;Pax&amp;quot;! Aktiver Scriptrunner ist definiert in Programmparameter 444.}}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signatur !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Clear&amp;lt;/code&amp;gt; || Leert alle Felder des Records&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure SetData(const ADMS: TDMSType; qPos: TxFQuery)&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt den Record aus einem Positions-Query&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVorgangPosParams_AktualisiereDaten ===&lt;br /&gt;
Steuert, welche Datenbereiche bei &amp;lt;code&amp;gt;[[#TVorgangPos_Meth_AktualisiereDaten|AktualisiereDaten]]&amp;lt;/code&amp;gt; aktualisiert werden sollen.&lt;br /&gt;
Wird &amp;amp;uuml;ber die Property &amp;lt;code&amp;gt;[[#TVorgang_Prop_ParameterPositionsdatenAktualisieren|ParameterPositionsdatenAktualisieren]]&amp;lt;/code&amp;gt; von [[#TVorgang|TVorgang]] gesetzt.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Feld !! Typ !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lTexte&amp;lt;/code&amp;gt; || Boolean || Bezeichnungen/Texte aktualisieren&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lEK&amp;lt;/code&amp;gt; || Boolean || Einkaufspreise aktualisieren&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lVK&amp;lt;/code&amp;gt; || Boolean || Verkaufspreise aktualisieren&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Methoden:&#039;&#039;&#039;&lt;br /&gt;
{{Achtung|Funktioniert nur im Scriptrunner &amp;quot;Pax&amp;quot;! Aktiver Scriptrunner ist definiert in Programmparameter 444.}}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signatur !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Init(const cVorb: string = &#039;&#039;)&amp;lt;/code&amp;gt; || Initialisiert die Parameter mit Standardwerten; optionaler Vorbelegungsschl&amp;amp;uuml;ssel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Aktualisieren(): boolean&amp;lt;/code&amp;gt; || Gibt &amp;lt;code&amp;gt;True&amp;lt;/code&amp;gt; zur&amp;amp;uuml;ck, wenn mindestens ein Aktualisierungsschalter gesetzt ist&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVorgangPosSummen ===&lt;br /&gt;
Speichert Zwischen- und Titelsummen-Betr&amp;amp;auml;ge je Ebene (1 bis &amp;lt;code&amp;gt;VB_MAX_SummenEbenen&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Feld !! Typ !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;aZw[1..9]&amp;lt;/code&amp;gt; || Double || Zwischensummen-Betr&amp;amp;auml;ge je Ebene&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;aTit[1..9]&amp;lt;/code&amp;gt; || Double || Titelsummen-Betr&amp;amp;auml;ge je Ebene&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Methoden:&#039;&#039;&#039;&lt;br /&gt;
{{Achtung|Funktioniert nur im Scriptrunner &amp;quot;Pax&amp;quot;! Aktiver Scriptrunner ist definiert in Programmparameter 444.}}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signatur !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Clear&amp;lt;/code&amp;gt; || Setzt alle Summen auf 0&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure ClearZw(const nEbene: integer)&amp;lt;/code&amp;gt; || Setzt Zwischensumme der Ebene nEbene auf 0&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure ClearTit(const nEbene: integer)&amp;lt;/code&amp;gt; || Setzt Titelsumme der Ebene nEbene auf 0&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure AddZw(const nBetrag: double)&amp;lt;/code&amp;gt; || Addiert Betrag zur aktiven Zwischensummen-Ebene&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure AddTit(const nBetrag: double)&amp;lt;/code&amp;gt; || Addiert Betrag zur aktiven Titelsummen-Ebene&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function ReadZw(const nEbene: integer): double&amp;lt;/code&amp;gt; || Liefert den Zwischensummen-Betrag der Ebene&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function ReadTit(const nEbene: integer): double&amp;lt;/code&amp;gt; || Liefert den Titelsummen-Betrag der Ebene&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVorgangEigenschaft ===&lt;br /&gt;
Repr&amp;amp;auml;sentiert ein Vorgangsmerkmal (Eigenschaft), das per &amp;lt;code&amp;gt;[[#TVorgang_Meth_EigenschaftSetzen|EigenschaftSetzen]]&amp;lt;/code&amp;gt; gesetzt wird.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Feld !! Typ !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cNr&amp;lt;/code&amp;gt; || String || Merkmalsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lMode&amp;lt;/code&amp;gt; || Boolean || True = setzen, False = l&amp;amp;ouml;schen&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVorgangFehler ===&lt;br /&gt;
Ein Eintrag in der internen Fehlerliste von [[#TVorgang|TVorgang]].&lt;br /&gt;
Wird per &amp;lt;code&amp;gt;[[#TVorgang_Meth_leseFehler|leseFehler]]&amp;lt;/code&amp;gt; ausgelesen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Feld !! Typ !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cTitel&amp;lt;/code&amp;gt; || String || Fehlertitel (Kurzbeschreibung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cText&amp;lt;/code&amp;gt; || String || Fehlertext (Detailbeschreibung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;eTyp&amp;lt;/code&amp;gt; || [[#TVorgangFehlerTyp|TVorgangFehlerTyp]] || Fehlerklassifikation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Konstanten ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Konstante !! Wert !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_POS&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;0&#039;&amp;lt;/code&amp;gt; || Positionstyp normale Artikelposition (entspricht [[#TVB_PosType|ptPosition]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_TXT&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;1&#039;&amp;lt;/code&amp;gt; || Positionstyp Textzeile (entspricht [[#TVB_PosType|ptText]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_ELN&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;2&#039;&amp;lt;/code&amp;gt; || Positionstyp Leerzeile (entspricht [[#TVB_PosType|ptLeerzeile]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_ZWS&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;3&#039;&amp;lt;/code&amp;gt; || Positionstyp Zwischensumme (entspricht [[#TVB_PosType|ptZwischensumme]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_TIS&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;4&#039;&amp;lt;/code&amp;gt; || Positionstyp Titelsumme (entspricht [[#TVB_PosType|ptTitelsumme]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_TIT&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;7&#039;&amp;lt;/code&amp;gt; || Positionstyp Titel (entspricht [[#TVB_PosType|ptTitel]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_GEW&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;8&#039;&amp;lt;/code&amp;gt; || Positionstyp Gewerk (entspricht [[#TVB_PosType|ptGewerk]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_PBR&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;17&#039;&amp;lt;/code&amp;gt; || Positionstyp Seitenumbruch (entspricht [[#TVB_PosType|ptSeitenumbruch]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_PIC&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;19&#039;&amp;lt;/code&amp;gt; || Positionstyp Bild (entspricht [[#TVB_PosType|ptBild]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;VB_DEFAULT_BezZwischensumme&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;ZWISCHENSUMME    :&#039;&amp;lt;/code&amp;gt; || Standard-Bezeichnung f&amp;amp;uuml;r Zwischensummen-Positionen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;VB_DEFAULT_BezTitelsumme&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;TITELSUMME       :&#039;&amp;lt;/code&amp;gt; || Standard-Bezeichnung f&amp;amp;uuml;r Titelsummen-Positionen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;VB_MAX_SummenEbenen&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;9&amp;lt;/code&amp;gt; || Maximale Anzahl von Summenebenen (Zwischen- und Titelsummen)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Basisklassen Vorgangsgenerierung=&lt;br /&gt;
&lt;br /&gt;
== TVorgang ==&lt;br /&gt;
&lt;br /&gt;
=== Variablen ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Name !! Typ !! Zugriff !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;oMyDB&amp;lt;/code&amp;gt; || TxDB || Lesen/Schreiben || Datenbankverbindung des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;oProtokoll&amp;lt;/code&amp;gt; || TStringList || Lesen/Schreiben || Protokoll-Liste (Meldungen/Log)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lMeldung&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Steuert Anzeige von Benutzer-Meldungen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lSetPSBemAuto&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Automatische Positionsbemerkung setzen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVorgNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Vorgangsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cProjNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Projektnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lBrutto&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Brutto-Modus aktiv&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLanguage&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sprach-Code (intern, z.&amp;amp;nbsp;B. f&amp;amp;uuml;r Formulare)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLagNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lagernummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cTyp&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Vorgangstyp-K&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dVorgDat&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Vorgangsdatum&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dFaelligDat&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || F&amp;amp;auml;lligkeitsdatum&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dBuchDat&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Buchungsdatum&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dAufDat&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Auftragsdatum&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKdNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kundennummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cAnrede&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Anrede des Kunden&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cName&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Name des Kunden&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVorname&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Vorname des Kunden&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cZusatz1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Adresszusatz 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cZusatz2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Adresszusatz 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cStrasse&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Stra&amp;amp;szlig;e der Lieferadresse&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPostfach&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Postfach&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLK&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || L&amp;amp;auml;nderkennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPLZ&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Postleitzahl&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cOrt&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Ort&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cAngebNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Angebotsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLSNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferscheinnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRechNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cAuftNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Auftragsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRepaNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Reparaturauftragsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cEinkaufsNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Einkaufsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBestellNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Bestellnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosText&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionstext (globaler Standardtext)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLProjNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Leistungsprojektnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKopftext&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kopftext des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cFusstext&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Fu&amp;amp;szlig;text des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nNBetrag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Nettobetrag gesamt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nBBetrag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Bruttobetrag gesamt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nEKBetrag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Einkaufsbetrag gesamt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabattBetrag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabattbetrag gesamt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabattProz&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabattprozentsatz gesamt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nAnzahlung&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Anzahlungsbetrag&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nPorto&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Portokosten&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nVerpackung&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Verpackungskosten&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lSplitPoVe&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Porto und Verpackung getrennt ausweisen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVersand&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandart&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cWaehr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || W&amp;amp;auml;hrungsk&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cFormul&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Formularnummer/-k&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVAnr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandanrede&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVName1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandname 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVName2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandname 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVZusatz&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandadresse Zusatz&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVStrasse&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandstra&amp;amp;szlig;e&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVLK&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versand-L&amp;amp;auml;nderkennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVPLZ&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versand-PLZ&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVOrt&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandort&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandadresse UID&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPrio&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Priorit&amp;amp;auml;t des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cAuftNrKd&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Auftrags-/Bestellnummer des Kunden&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBesteller&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Besteller (Person)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSachb&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sachbearbeiter&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabPosJN&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionsrabatt anzeigen J/N&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMWSTJN&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Mehrwertsteuer ausweisen J/N&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText3&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 3&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText4&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 4&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText5&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 5&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText6&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 6&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText7&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 7&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPreisJN&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Preis auf Dokument drucken J/N&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMwStAbs&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || MwSt-Absetzungstext/-K&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dLiefDat&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Lieferdatum&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cDeleted&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Gel&amp;amp;ouml;scht-Kennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dLDat2&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Zweites Lieferdatum&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSprache&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sprache des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReEmpf&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Nummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReAnrede&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Anrede&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReName&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Name&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReVorname&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Vorname&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReZusatz1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Adresszusatz 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReZusatz2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Adresszusatz 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReStrasse&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Stra&amp;amp;szlig;e&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRePostfach&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Postfach&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReLK&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-L&amp;amp;auml;nderkennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRePLZ&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-PLZ&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReOrt&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Ort&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVertreter&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Vertreter-K&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVerbucht&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Verbucht-Kennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLager&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lager-K&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRechFrei&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsfreigabe-Kennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBonNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Bonnummer (Kasse)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMandant&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Mandantenk&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nMwStDM&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || MwSt-Betrag in DM (Altw&amp;amp;auml;hrung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nKursDM&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Wechselkurs DM&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nAbschlag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Abschlagsbetrag&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nZBetrag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Zahlungsbetrag&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nZSkonto&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Skonto-Betrag&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dZDatum&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Zahlungsdatum&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMemo&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Memofeld des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nValuta&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Valutatage&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKostenst&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kostenstelle&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKostentraeger&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kostentr&amp;amp;auml;ger&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKalkGr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kalkulationsgruppe&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cFrachtV&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Frachtart/-vorschrift&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nFrachtK&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Frachtkosten&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nFrachtG&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Frachtgewicht&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cGruppe&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Vorgangsgruppe&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nPosInc&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Positionsnummer-Inkrement&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cFiliale&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Filialk&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabText&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabatttextfeld (kurz)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cErfasser&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Erfasser des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nSKFBetrag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Skontof&amp;amp;auml;higer Betrag&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lLiefStrecke&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Lieferstreckengesch&amp;amp;auml;ft aktiv&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBetreff&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Betreffzeile&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMemoDruck&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Druckmemo (erscheint auf Dokument)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLieferLiefNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferanten-Lieferscheinnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabattText&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabatttext (lang)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSysUid&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || System-UID des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lLeistPreis2&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Leistungspreis 2 verwenden&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cFunction&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Funktionsk&amp;amp;uuml;rzel (Scripting-Hook)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lSaveAllowed&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Speichern erlaubt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lVorgangsSperre&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Vorgang gesperrt&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Properties ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Name !! Typ !! Zugriff !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;DmsTyp&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || DMS-Typ des Vorgangs (z.&amp;amp;nbsp;B. AN, AU, LS, RE)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;MainTable&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Haupttabelle des Vorgangs (Datenbankname)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PosTable&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionstabelle des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosFormat&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionsnummern-Format&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgang_Prop_ParameterPositionsdatenAktualisieren&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;ParameterPositionsdatenAktualisieren&amp;lt;/code&amp;gt; || [[#TVorgangPosParams_AktualisiereDaten|TVorgangPosParams_AktualisiereDaten]] || Lesen/Schreiben || Parameter f&amp;amp;uuml;r Massenaktualisierung von Positionsdaten&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PnPosCnt&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Anzahl der Positionen im Vorgang&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PaPositionen[Index]&amp;lt;/code&amp;gt; || [[#TVorgangPos|TVorgangPos]] || Lesen/Schreiben || Array der Positionsobjekte (0-basiert)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PcRabGrPers&amp;lt;/code&amp;gt; || String || Nur Lesen || Rabattgruppe der Person (aus Stammdaten ermittelt)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PcVKdNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || VK-Kundennummer (alternativ zur cKdNr f&amp;amp;uuml;r Preisfindung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nNet1&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Nettobetrag MwSt-Schl&amp;amp;uuml;ssel 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nNet2&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Nettobetrag MwSt-Schl&amp;amp;uuml;ssel 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nNet3&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Nettobetrag MwSt-Schl&amp;amp;uuml;ssel 3&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nBrutto1&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Bruttobetrag MwSt-Schl&amp;amp;uuml;ssel 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nBrutto2&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Bruttobetrag MwSt-Schl&amp;amp;uuml;ssel 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nBrutto3&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Bruttobetrag MwSt-Schl&amp;amp;uuml;ssel 3&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nMwSt1&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || MwSt-Betrag Schl&amp;amp;uuml;ssel 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nMwSt2&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || MwSt-Betrag Schl&amp;amp;uuml;ssel 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nMwSt3&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || MwSt-Betrag Schl&amp;amp;uuml;ssel 3&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMwStSchl1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || MwSt-Schl&amp;amp;uuml;ssel 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMwStSchl2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || MwSt-Schl&amp;amp;uuml;ssel 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMwStSchl3&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || MwSt-Schl&amp;amp;uuml;ssel 3&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKeineVersPausch&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Keine Versandpauschale berechnen J/N&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cZahlBed&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Zahlungsbedingung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lNewVorgang&amp;lt;/code&amp;gt; || Boolean || Nur Lesen || Neuer (noch nicht gespeicherter) Vorgang&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKopfNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kopftextbaustein-Nummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cFussNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Fu&amp;amp;szlig;textbaustein-Nummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLiefStrecke&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferstrecken-K&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cStatus&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Status des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cStatM&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Material-Status&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cStatS&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Service-Status&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cStatL&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferstatus&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cStatR&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsstatus&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cColStatus&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Farb-/Anzeigestatus (f&amp;amp;uuml;r UI)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cZustand&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Zustandskenner des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cArt&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Vorgangsart-K&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBonusJN&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Bonus berechnen J/N&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVersandkostenMBW&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandkosten-Mindestbestellwert-Kennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cWKNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Werbungskosten-Nummer&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Methoden ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signatur !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;constructor Create(const cUid: string; oxDB: TxDB; cDmsType: string)&amp;lt;/code&amp;gt; || Erstellt einen neuen Vorgang mit UID, Datenbankverbindung und DMS-Typ&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;destructor Destroy&amp;lt;/code&amp;gt; || Gibt den Vorgang und alle Ressourcen frei&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function SemaphoreCreate(cFName: string; lMeldung: boolean = False; cWait: string = &#039;&#039;): boolean&amp;lt;/code&amp;gt; || Erstellt eine Datei-Semaphore (Sperrdatei); gibt True zur&amp;amp;uuml;ck wenn erfolgreich&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function SemaphoreInUse(cFName: string): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft ob die Semaphore-Datei bereits in Verwendung ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure SemaphoreReleaseAll&amp;lt;/code&amp;gt; || Gibt alle Semaphoren dieses Vorgangs frei&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure SemaphoreRelease(cFName: string)&amp;lt;/code&amp;gt; || Gibt eine bestimmte Semaphore frei&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstAngebot(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang ein Angebot ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstAuftrag(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang ein Auftrag ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstReparaturAuftrag(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang ein Reparaturauftrag ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstLieferschein(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang ein Lieferschein ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstRechnung(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang eine Rechnung ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstBestellung(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang eine Bestellung ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstAnfrage(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang eine Anfrage ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstEKLieferschein(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang ein EK-Lieferschein ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstEinkauf(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang ein Einkaufsvorgang ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstVG_VK(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn es sich um einen Verkaufsvorgang handelt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstVG_EK(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn es sich um einen Einkaufsvorgang handelt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function NeuNumLock(): boolean&amp;lt;/code&amp;gt; || Sperrt die Neunummerierung (verhindert parallele Vergabe)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure NeuNumLockRelease&amp;lt;/code&amp;gt; || Gibt die Neunummerierungssperre wieder frei&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgNeuNum(cFilter: string = &#039;&#039;; lAbweichend: boolean = false): string&amp;lt;/code&amp;gt; || Ermittelt und setzt eine neue Vorgangsnummer; gibt die Nummer als String zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgNeuNumBool(cFilter: string = &#039;&#039;; lAbweichend: boolean = false): boolean&amp;lt;/code&amp;gt; || Wie VorgNeuNum, gibt True/False zur&amp;amp;uuml;ck (f&amp;amp;uuml;r Fehlerbehandlung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstVorgNrGueltig(cUID: string = &#039;&#039;): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft ob die aktuelle Vorgangsnummer g&amp;amp;uuml;ltig (eindeutig) ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function NeuePositionBase(const cUID: string): [[#TVorgangPos|TVorgangPos]]&amp;lt;/code&amp;gt; || Legt eine neue Positionsinstanz an und f&amp;amp;uuml;gt sie dem Vorgang hinzu&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure NeuePositionBaseMS(const cUID: string; oOrgPos: [[#TVorgangPos|TVorgangPos]])&amp;lt;/code&amp;gt; || Legt eine neue Position als Multi-Steuer-Folgeposition an&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function LoeschePositionBase(nDel: integer): Boolean&amp;lt;/code&amp;gt; || L&amp;amp;ouml;scht die Position mit dem angegebenen Index&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure VerschiebePositionBase(nPos: integer; nZiel: integer)&amp;lt;/code&amp;gt; || Verschiebt Position von Index nPos zu Index nZiel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CheckIfNotNull(): Boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft ob Pflichtfelder des Vorgangs bef&amp;amp;uuml;llt sind&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CheckIfFirstPosOption(): Boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft ob die erste Position eine Optionsposition ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IsPosBerechnung(cPosArt: string): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft ob eine Positionsart als Berechnungsposition gilt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure CopyFrom(oSrc: [[#TVorgang|TVorgang]])&amp;lt;/code&amp;gt; || Kopiert alle Felder aus einem anderen Vorgang&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure KalkAll(lZusatz: boolean = true)&amp;lt;/code&amp;gt; || Kalkuliert alle Positionen und Gesamtsummen neu&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Check_Multisteuer(oOrgPos: [[#TVorgangPos|TVorgangPos]]; const cTable, cMUID, cRefNr: string)&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft und setzt Multi-Steuer-Verkn&amp;amp;uuml;pfung f&amp;amp;uuml;r eine Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyPosmenge(cFromUID: string): string&amp;lt;/code&amp;gt; || Kopiert Positionsmengen aus einem anderen Vorgang (per UID)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyPosverp(cFromUID: string): string&amp;lt;/code&amp;gt; || Kopiert Positionsverpackungen aus einem anderen Vorgang (per UID)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure fillVersandkostenMBW(const cPsNr: string; const cPsVersand: string = &#039;&#039;; const PsZusatz: string = &#039;&#039;)&amp;lt;/code&amp;gt; || Berechnet und setzt Versandkosten auf Basis Mindestbestellwert&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure FillPersonBase(qPers: TxFQuery)&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt Adressfelder des Vorgangs aus einem Personen-Query&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function FillReEmpf(const AReEmpf: string; const AZahlBed: string = &#039;&#039;): boolean&amp;lt;/code&amp;gt; || Setzt Rechnungsempf&amp;amp;auml;nger und optionale Zahlungsbedingung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function SaveRecord(cUID: string = &#039;&#039;; lAlleSpeichern: boolean = false): Boolean&amp;lt;/code&amp;gt; || Speichert den Vorgang (abstrakt &amp;amp;ndash; muss in abgeleiteter Klasse implementiert werden)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function ReadVorgangTypBase(cDmsTyp: string; const cNr: string; lPos: boolean = false; lNeg: boolean = false): boolean&amp;lt;/code&amp;gt; || Liest einen Vorgang anhand DMS-Typ und Nummer in das Objekt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function JahrNr(): string&amp;lt;/code&amp;gt; || Gibt das Jahr der Vorgangsnummer zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure NeuNumPos(const lNurPos: boolean = True)&amp;lt;/code&amp;gt; || Nummeriert alle Positionen neu&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function EigenschaftSetzen(const ANr: string; const AMode: boolean): boolean&amp;lt;/code&amp;gt; || Setzt oder l&amp;amp;ouml;scht eine Vorgangseigenschaft (Merkmal) per Nummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure AdresseLeeren&amp;lt;/code&amp;gt; || Leert alle Adressfelder des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure VersandLeeren(lRef: boolean = True)&amp;lt;/code&amp;gt; || Leert alle Versandadressfelder&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure ReEmpfLeeren(const lNurAdr: boolean = False)&amp;lt;/code&amp;gt; || Leert Rechnungsempf&amp;amp;auml;nger-Felder (optional nur Adresse)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure DoServiceTouch(cStatus: string = &#039;&#039;)&amp;lt;/code&amp;gt; || Aktualisiert Service-Zeitstempel und optionalen Status&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function AuswahlParameterPositionsdatenAktualisieren(const cXDataTable: string): boolean&amp;lt;/code&amp;gt; || Zeigt Dialog zur Auswahl der Aktualisierungsparameter f&amp;amp;uuml;r Positionsdaten&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function ZusatzkostenAktiv(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn Zusatzkostenmodul f&amp;amp;uuml;r diesen Vorgang aktiv ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgang_Meth_leseFehler&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;function leseFehler(out rFehler: [[#TVorgangFehler|TVorgangFehler]]; var nIdx: integer; const eLoeschenNachLesen: [[#TVorgangFehlerLoeschenLesen|TVorgangFehlerLoeschenLesen]] = vfllSkipCritical): boolean&amp;lt;/code&amp;gt; || Liest den n&amp;amp;auml;chsten Fehler aus der internen Fehlerliste&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== TVorgangPos ==&lt;br /&gt;
&lt;br /&gt;
=== Variablen ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Name !! Typ !! Zugriff !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nPosIndex&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Laufender Index der Position im Positions-Array&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Interne Positionsnummer (Datenbankfeld)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKundNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kundennummer an der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cAuftragsNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Referenz-Auftragsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBestellNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Referenz-Bestellnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosText&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionstext (Langtextfeld)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLProjNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Leistungsprojektnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLS_azUid&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferschein-Abrechnungszeilen-UID&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVersandNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionsnummer (formatiert)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosNr2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Zweite Positionsnummer (alternativ)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosKas&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kassier-Positionsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLeistungsNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Leistungsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBezeichnung1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Bezeichnung Zeile 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBezeichnung2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Bezeichnung Zeile 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nUrMenge&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Ursprungsmenge (vor &amp;amp;Auml;nderungen)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nLeistFaktor&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Leistungsfaktor (Multiplikator f&amp;amp;uuml;r Mengenberechnung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cEinheit&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Mengeneinheit&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nMengeG&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Mengenganz (ganzzahliger Mengenanteil)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nKolli&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Kollianzahl&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVerpackung&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Verpackungsart/-k&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nInhalt&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Inhalt pro Verpackungseinheit&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nEPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Einzelpreis (Netto)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nBEPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Brutto-Einzelpreis&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nOBPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Original-Brutto-Einzelpreis (vor Rabatt)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nUrPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Ursprungspreis (Listenpreis VK)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nUrPreisEK&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Ursprungspreis Einkauf&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nGPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Gesamtpreis (Netto)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nBGPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Brutto-Gesamtpreis&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nEKPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Einkaufspreis&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nEKSPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Einkaufssonderpreis&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cManPreis&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Manueller Preis J/N-Kennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabatt&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Gesamtrabatt in Prozent&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabatt1&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabatt 1 in Prozent&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabArt1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabattart 1 (Herkunftskennzeichen)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabatt2&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabatt 2 in Prozent&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabArt2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabattart 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabatt3&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabatt 3 in Prozent&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabArt3&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabattart 3&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabatt4&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabatt 4 in Prozent&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabArt4&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabattart 4&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabatt5&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabatt 5 in Prozent&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabArt5&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabattart 5&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nAddSub&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Additions-/Subtraktionsbetrag (Zuschlag/Abzug absolut)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKonto&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Buchungskonto&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLagNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lagernummer der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLagONr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lager-Ortsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVerkaufer&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Verk&amp;amp;auml;uferk&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cStatus&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionsstatus&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cAngebotsNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Referenz-Angebotsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Eindeutige ID der Position (GUID)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Multi-Steuer-UID (Verkn&amp;amp;uuml;pfung bei Multisteuer)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRTVon&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || R&amp;amp;uuml;cktragungs-Referenz (von welcher Position)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSpNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Speditionsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBestellUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || UID der verkn&amp;amp;uuml;pften Bestellposition&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMaterialUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || UID des verkn&amp;amp;uuml;pften Materialeintrags&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cEiliUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || UID der Eillieferungsposition&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cXUID1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Erweiterungs-UID 1 (freie Verkn&amp;amp;uuml;pfung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cXUID2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Erweiterungs-UID 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cXUID3&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Erweiterungs-UID 3&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cXUID4&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Erweiterungs-UID 4&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKommentar&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kommentarfeld der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nProvision&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Provisionsanteil in Prozent&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLiefKz&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferkennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cProdGr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Produktgruppe&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nFrachtV&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Frachtvolumen der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLSNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferscheinnummer der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dLSDatum&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Lieferscheindatum der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosArt&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionsart (z.&amp;amp;nbsp;B. N=Normal, O=Optional)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSKFJN&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Skontof&amp;amp;auml;hig J/N&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cEKHerkunft&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || EK-Preisherkunft-K&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLiefNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferantennummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLagStreck&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lager-Streckenkennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cAufschlag&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Aufschlagsk&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nStaffelPreis&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Staffelpreisstufe (Index)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nStaffelmenge&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Staffelmenge f&amp;amp;uuml;r Preisfindung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lAktionspreis&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Aktionspreis aktiv&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cAusdruckJN&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Position drucken J/N&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMemoDruck&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Druckmemo der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBildUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || UID des verkn&amp;amp;uuml;pften Bildes&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cCMPUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || CMP-Objekt-UID&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cZeit_CMPUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Zeiterfassungs-CMP-UID&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cZeit_Text&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Zeiterfassungstext&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cZeit_Mitarb&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Mitarbeiter der Zeiterfassung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dZeit_Date&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Datum der Zeiterfassung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cZeit_NurLei&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Zeiterfassung: nur Leistung J/N&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKostst&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kostenstelle der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dAbrechVon&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Abrechnungszeitraum von&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dAbrechBis&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Abrechnungszeitraum bis&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lNeuNum&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Neunummerierung f&amp;amp;uuml;r diese Position ausf&amp;amp;uuml;hren&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSysUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || System-UID der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cGeraetNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Ger&amp;amp;auml;tenummer (f&amp;amp;uuml;r Servicepositionen)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Properties ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Name !! Typ !! Zugriff !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;oMyDB&amp;lt;/code&amp;gt; || TxDB || Nur Lesen || Datenbankverbindung (vom Vorgang geerbt)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;ShopNr&amp;lt;/code&amp;gt; || String || Nur Lesen || Shop-Nummer (f&amp;amp;uuml;r Mehrshop-Preisfindung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cArtikelNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Artikelnummer (Zugriff &amp;amp;uuml;ber Property wegen Seiteneffekten)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PcMWSTSch&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || MwSt-Schl&amp;amp;uuml;ssel (Parameter-Feld)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PcMengeIn&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Mengeneingabe als String (Parameter)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PnMengeIn&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Mengeneingabe als Zahl (Parameter)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PnMengeInFak&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Mengeneingabe-Faktor (Parameter)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PcMemofeld&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Memofeld der Position (Parameter-Feld, Unicode)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PcMemofeldAnsi&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Memofeld ANSI-Version (Parameter-Feld)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosLaufend&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Laufende Positionsnummer als String&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lVerbrauchsMater&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Verbrauchsmaterial-Kennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nMenge&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Menge der Position (mit Seiteneffekten bei Schreiben)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cTyp&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionstyp als String &amp;amp;ndash; siehe [[#Konstanten|Konstanten]] (POSTYP_*)&amp;lt;br /&amp;gt;Wandelt den übergebenen String in die passende Enummeration für Property (siehe Hinweise in [[TVorgangPos_Prop_Typ|Typ]]). {{Achtung|Wird ein ungültiger Wert gesetzt, so wird der Typ automatisch auf Position (&amp;quot;0&amp;quot; bzw. ptPosition) gesetzt.}}&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgangPos_Prop_Typ&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;Typ&amp;lt;/code&amp;gt; || [[#TVB_PosType|TVB_PosType]] || Lesen/Schreiben || Positionstyp als Enum (ptPosition, ptText, ptLeerzeile&amp;amp;nbsp;&amp;amp;hellip;){{Hinweis|Wird der Typ geändert, so werden die Daten des Positionsobjekts auf die Vorbelegung zurückgesetzt. Zuvor gesetzte Daten werden dabei überschrieben. Nach der Verwendung von &amp;lt;code&amp;gt;NeuePosition&amp;lt;/code&amp;gt; sollte der Typ daher als erstes geändert werden, bevor Sie weitere Daten in das Objekt schreiben.}}&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgangPos_Prop_OriginalPos&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;OriginalPos&amp;lt;/code&amp;gt; || [[#TVorgangPosOriginal|TVorgangPosOriginal]] || Nur Lesen || Ursprungspositionsdaten (DMS-Referenz, Nr, UID, SysUID)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Methoden ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signatur !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;constructor Create(oxVorgang: [[#TVorgang|TVorgang]]; cPosTbl: string)&amp;lt;/code&amp;gt; || Erstellt eine neue Position f&amp;amp;uuml;r den angegebenen Vorgang (veraltet, UID-Variante bevorzugen)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;constructor Create(cUid: string; oxVorgang: [[#TVorgang|TVorgang]]; cPosTbl: string)&amp;lt;/code&amp;gt; || Erstellt eine neue Position mit vorgegebener UID&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;destructor Destroy&amp;lt;/code&amp;gt; || Gibt die Position frei&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure PositionsVorbelegung&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt die Position mit Standardwerten aus den Vorgangsdaten&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure GenNewUid&amp;lt;/code&amp;gt; || Generiert eine neue UID f&amp;amp;uuml;r diese Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyPosmenge(cFromUID: string): string&amp;lt;/code&amp;gt; || Kopiert Mengen aus einer anderen Position (per UID)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyPosverp(cFromUID: string): string&amp;lt;/code&amp;gt; || Kopiert Verpackungsdaten aus einer anderen Position (per UID)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure CopyFrom(oSrc: [[#TVorgangPos|TVorgangPos]]; lFull: boolean = False)&amp;lt;/code&amp;gt; || Kopiert alle Felder aus einer anderen Position; lFull=True kopiert auch interne Felder&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure QueryToPos(qTmp: TxFQuery; lReadAsNew: boolean = false)&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt die Position aus einem Datenbankquery (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure QueryToPos(qTmp: TxFQuery; const cFromTable: string; lVerpack: Boolean = False; lUmkehr: boolean = False)&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt die Position aus einem Query mit expliziter Quelltabelle (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure DBPosToPos(const cFromTable: string; const cSysUid: string; lVerpack: Boolean = False; lUmkehr: boolean = False)&amp;lt;/code&amp;gt; || Liest eine Position direkt aus der Datenbank per SysUID&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function FillArtikel(cArtNr: string): boolean&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt die Position mit Artikelstammdaten; gibt True bei Erfolg zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function SetzeLieferant(const cLiefNr: string; lEKNeu: boolean = True; lDefaultEK1: boolean = False): boolean&amp;lt;/code&amp;gt; || Setzt den Lieferanten und aktualisiert EK-Preise&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure FillLeistung(cLeistNr: string)&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt die Position mit Leistungsstammdaten&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function SumPosBez(const eZielTyp: [[#TVB_PosType|TVB_PosType]]; const cBezVorb: string): string&amp;lt;/code&amp;gt; || Gibt die Bezeichnung f&amp;amp;uuml;r eine Summenposition zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_Pos&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;normale Position&amp;amp;ldquo;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_Text(const cText: string)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Textzeile&amp;amp;ldquo; mit dem angegebenen Text&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_Leerzeile&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Leerzeile&amp;amp;ldquo;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_Zwischensumme(const cBez: string = &#039;&#039;)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Zwischensumme&amp;amp;ldquo; (Ebene&amp;amp;nbsp;1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_ZwischensummeEbene(const nEbene: integer; const cBez: string = &#039;&#039;)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Zwischensumme&amp;amp;ldquo; der angegebenen Ebene&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_Titelsumme(const cBez: string = &#039;&#039;)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Titelsumme&amp;amp;ldquo; (Ebene&amp;amp;nbsp;1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_TitelsummeEbene(const nEbene: integer; const cBez: string = &#039;&#039;)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Titelsumme&amp;amp;ldquo; der angegebenen Ebene&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_Titel(const cBez: string)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Titel&amp;amp;ldquo;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_Gewerk(const cBez: string)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Gewerk&amp;amp;ldquo;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_NeueSeite&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Seitenumbruch&amp;amp;ldquo;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_Bild(const cBild: string)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Bild&amp;amp;ldquo; mit dem angegebenen Bildpfad/-UID&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure UStKorrektur(const dCheckDate: TDateTime)&amp;lt;/code&amp;gt; || Korrigiert den Umsatzsteuerschl&amp;amp;uuml;ssel gem&amp;amp;auml;&amp;amp;szlig; Datum (Steuersatz&amp;amp;auml;nderungen)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure KalkPos&amp;lt;/code&amp;gt; || Kalkuliert Gesamtpreis und abgeleitete Felder dieser Position neu&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosNrAllowed(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn dieser Positionstyp eine Positionsnummer erh&amp;amp;auml;lt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure SetPosNr(cP: string; cT: string = &#039;&#039;; cG: string = &#039;&#039;; cFormat: string = &#039;&#039;)&amp;lt;/code&amp;gt; || Setzt die Positionsnummer aus String-Komponenten (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure SetPosNr(nP: integer; nT: integer = -1; nG: integer = -1; cFormat: string = &#039;&#039;)&amp;lt;/code&amp;gt; || Setzt die Positionsnummer aus numerischen Komponenten (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosLaufend(iPos: integer = 0): string&amp;lt;/code&amp;gt; || Gibt die laufende Positionsnummer als formatierten String zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Preisfindung(cShopNr: string = CONST_NO_SHOP)&amp;lt;/code&amp;gt; || F&amp;amp;uuml;hrt die Preisfindung f&amp;amp;uuml;r diese Position aus&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function SetOpenBookLieferant(): boolean&amp;lt;/code&amp;gt; || Setzt den Open-Book-Lieferanten f&amp;amp;uuml;r diese Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure AddToMemo(const cText: string; const lNewLine: boolean = False)&amp;lt;/code&amp;gt; || F&amp;amp;uuml;gt Text zum Memofeld hinzu&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgangPos_Meth_AktualisiereDaten&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;procedure AktualisiereDaten&amp;lt;/code&amp;gt; || Aktualisiert Texte, EK- und VK-Preise gem&amp;amp;auml;&amp;amp;szlig; [[#TVorgang_Prop_ParameterPositionsdatenAktualisieren|ParameterPositionsdatenAktualisieren]]&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure EKCalcMengeIn(var nEkFak: double)&amp;lt;/code&amp;gt; || Berechnet den EK-Mengeneingabe-Faktor (R&amp;amp;uuml;ckgabe per var-Parameter)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CanSave(): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft ob diese Position gespeichert werden kann/darf&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure qSqlSet(AqSql: TqSql)&amp;lt;/code&amp;gt; || Setzt das SQL-Objekt f&amp;amp;uuml;r erweiterte DB-Operationen dieser Position&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Globale Methoden =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Signatur !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstVKVorgang(cMainTable: string): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck, wenn die Haupttabelle ein VK-Vorgang ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstVKVorgangPos(cPosTable: string): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck, wenn die Positionstabelle zu einem VK-Vorgang geh&amp;amp;ouml;rt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyPosmengeDB(oMyDB: TxDB; cFromUID: string): string&amp;lt;/code&amp;gt; || Kopiert Positionsmengen aus einem anderen Vorgang (direkt per Datenbankzugriff)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyPosverpDB(oMyDB: TxDB; cFromUID: string): string&amp;lt;/code&amp;gt; || Kopiert Positionsverpackungen aus einem anderen Vorgang (direkt per Datenbankzugriff)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyRTFLan(oMyDB: TxDB; cVonTable, cVonRef, cNachTable, cNachRef: String): String&amp;lt;/code&amp;gt; || Kopiert RTF-Langtexte zwischen Vorgangs-Positionen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure CopyKalkulationAN2AU(oMyDB: TxDB; cANRef1, cANRef2, cAURef1, cAURef2: String; fPosmenge: Double)&amp;lt;/code&amp;gt; || Kopiert Kalkulation von Angebot nach Auftrag (mit Mengenfaktor)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure CopyKalkulationAU(oMyDB: TxDB; cANRef1, cANRef2, cAURef1, cAURef2: String)&amp;lt;/code&amp;gt; || Kopiert Auftragskalkulation zwischen zwei Positionen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure CopyKalkulationAN(oMyDB: TxDB; cANRef1, cANRef2, cAURef1, cAURef2: String)&amp;lt;/code&amp;gt; || Kopiert Angebotskalkulation zwischen zwei Positionen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosNrFormatCheck(const cFormat: string): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft, ob ein Positionsnummern-Format g&amp;amp;uuml;ltig ist (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosNrFormatCheck(oMyDB: TxDB; const cFormat: string): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft Format gegen Datenbankeinstellungen (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosNrFormatCounts(const cFormat: string; out nG, nT, nP: integer): boolean&amp;lt;/code&amp;gt; || Liefert die Stellenzahlen f&amp;amp;uuml;r Gewerk, Titel und Position aus dem Format (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosNrFormatCounts(oMyDB: TxDB; const cFormat: string; out nG, nT, nP: integer): boolean&amp;lt;/code&amp;gt; || Wie oben, mit Datenbankzugriff (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosNrSplit(oMyDB: TxDB; const cFormat, cPosTyp: string; cPosNr: string; out nG, nT, nP: integer): boolean&amp;lt;/code&amp;gt; || Zerlegt eine formatierte Positionsnummer in ihre Bestandteile&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function GetVorgangMandant(oMyDB: TxDB; const cTable, cNr: string): string&amp;lt;/code&amp;gt; || Gibt den Mandanten-Schl&amp;amp;uuml;ssel f&amp;amp;uuml;r einen Vorgang zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function GetVorgangTextTB(const nPMode: integer; out cTB_Nr: string; cFiliale: string = &#039;&#039;): boolean&amp;lt;/code&amp;gt; || Ermittelt die Textbaustein-Nummer f&amp;amp;uuml;r den angegebenen Positionsmodus&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function GetVorgangTextTBPers(oMyDB: TxDB; const cPsNr: string; const nPMode: integer; out cTB_Nr: string; cFiliale: string = &#039;&#039;): boolean&amp;lt;/code&amp;gt; || Wie GetVorgangTextTB, zus&amp;amp;auml;tzlich personenbezogen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function KopfTextPlatzhalter(var cKopfText: string; const cBrief1, cBrief2: string): boolean&amp;lt;/code&amp;gt; || Ersetzt Platzhalter im Kopftext durch Briefanredefelder&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangArt(oMyDB: TxDB; const cDMS, cNr: string): integer&amp;lt;/code&amp;gt; || Gibt die Vorgangsart als Integer-Kennziffer zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangStatus(oMyDB: TxDB; const cDMS, cNr: string): string&amp;lt;/code&amp;gt; || Gibt den aktuellen Status eines Vorgangs aus der Datenbank zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangVerbucht(oMyDB: TxDB; const cDMS, cNr: string): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck, wenn der Vorgang verbucht ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangUstEnthalten(oMyDB: TxDB; const cDMS, cNr, cUstSchl: string; cFeld: string = &#039;&#039;): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft, ob ein bestimmter USt-Schl&amp;amp;uuml;ssel im Vorgang verwendet wird&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PortoVerpackKannSkonto(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck, wenn Porto/Verpackung skontof&amp;amp;auml;hig ist (laut Systemeinstellung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function GetPosBild(oMyDB: TxDB; cArtNr: string; var cBildUID: string): boolean&amp;lt;/code&amp;gt; || Ermittelt die Bild-UID eines Artikels f&amp;amp;uuml;r eine Positions-Bildposition&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangVertreterVorb(oMyDB: TxDB; const cVertreter: string): string&amp;lt;/code&amp;gt; || Gibt den vorgebelegten Vertreter-Schl&amp;amp;uuml;ssel zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangVertreterPrio(oMyDB: TxDB; const cAktVertreter: string): string&amp;lt;/code&amp;gt; || Gibt den Vertreter mit h&amp;amp;ouml;chster Priorit&amp;amp;auml;t zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function GenerierePositionskommentar(cUrsprung, cKommentar: String): String&amp;lt;/code&amp;gt; || Kombiniert Ursprungs- und Kommentartext zu einem Positions-Kommentar&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function ReplacePlatzhalterReparaturAuftrag(cRAufNr: String; cText: String = &#039;&#039;): String&amp;lt;/code&amp;gt; || Ersetzt Platzhalter im Text durch Reparaturauftragsdaten&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function ReplacePlatzhalterPosErfassung(oMyDB: TxDB; const cBuffer, cTable, cNr: string; const lDef: Boolean = False; const lRepa: Boolean = False): String&amp;lt;/code&amp;gt; || Ersetzt Platzhalter im Text bei der Positionserfassung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function LoadPlatzhalterVorgang(oMyDB: TxDB; const cTable, cNr: string; var oPlatzhalter: TPlatzhalterVorgang): Boolean&amp;lt;/code&amp;gt; || L&amp;amp;auml;dt Platzhalter-Daten eines Vorgangs aus der Datenbank&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PlatzhalterVorgang(const cText, cNr: string; const oPlatzhalter: TPlatzhalterVorgang; const lDef: Boolean = false; const lRepa: Boolean = false): string&amp;lt;/code&amp;gt; || Ersetzt Platzhalter im Text mit den geladenen Vorgang-Platzhaltern&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function GetPosVorb_ErlKto(oMyDB: TxDB; const cErlJahr, cManNr, cFiliale: string): string&amp;lt;/code&amp;gt; || Gibt das Erl&amp;amp;ouml;skonto f&amp;amp;uuml;r eine Positionsvorbelegung zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure ChangePosPreisFromLeistPreis2(oVorgang: TVorgang)&amp;lt;/code&amp;gt; || Wechselt f&amp;amp;uuml;r alle Positionen auf den alternativen Leistungspreis 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_ToXMLStr(oMyDB: TxDB; const cTable, cPosTable, cVorgNr: String): string&amp;lt;/code&amp;gt; || Exportiert einen Vorgang als XML-String&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_ToDelArchiv(oMyDB: TxDB; const cTable, cPosTable, cVorgNr: String): Boolean&amp;lt;/code&amp;gt; || Verschiebt einen Vorgang ins L&amp;amp;ouml;scharchiv&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_ToXMLFile(oMyDB: TxDB; const cFile, cTable, cPosTable, cVorgNr: String): Boolean&amp;lt;/code&amp;gt; || Exportiert einen Vorgang in eine XML-Datei&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function XMLFile_ToVorgang(oMyDB: TxDB; const cData: String; var cNewNr, cOldNr: String): Boolean&amp;lt;/code&amp;gt; || Importiert einen Vorgang aus einem XML-String/-Datei&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function DelArchivTo_Vorgang(oMyDB: TxDB; const cTabelle, cVorgang: String): String&amp;lt;/code&amp;gt; || Stellt einen archivierten Vorgang wieder her&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_Runden_MengeInFak(oMyDB: TxDB; const cTabMain, cTabPos: string; nValue: double): double&amp;lt;/code&amp;gt; || Rundet den Mengeneingabe-Faktor gem&amp;amp;auml;&amp;amp;szlig; Tabelleneinstellung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_Rohertrag(oMyDB: TxDB; const cDMSTyp, cVorgNr: String; nNettoBetrag: Double): String&amp;lt;/code&amp;gt; || Berechnet den Rohertrag eines Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_Rohertrag_Ext(oMyDB: TxDB; const cDMSTyp, cVorgNr: String; nNettoBetrag: Double; lSollStunden: Boolean): string&amp;lt;/code&amp;gt; || Berechnet den Rohertrag erweitert (mit Sollstunden)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangFelder(cTyp: String; lPosition, lArtikel, lMaterial, lAuswertung, lMessen: Boolean; lSchiff: Boolean = False): String&amp;lt;/code&amp;gt; || Gibt die aktiven Feldgruppen eines Vorgangstyps als String zur&amp;amp;uuml;ck (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangFelder(oMyDB: TxDB; cTyp: String; lPosition, lArtikel, lMaterial, lAuswertung, lMessen: Boolean; lSchiff: Boolean = False): String&amp;lt;/code&amp;gt; || Wie oben, mit Datenbankzugriff (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_IstGesperrt(oMyDB: TxDB; const cTyp, cRef: string; const cFeld: string = &#039;a_nr&#039;): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft, ob ein Vorgang gesperrt ist (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_IstGesperrt(oMyDB: TxDB; const rDMS: TDMSType; const cRef: string; const cFeld: string = &#039;a_nr&#039;): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft Sperrung per DMS-Typ (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_FilterSperrung(oMyDB: TxDB; const cTyp, cRef: string; out cOffen, cGesperrt: string; const cFeld: string = &#039;a_nr&#039;): boolean&amp;lt;/code&amp;gt; || Gibt SQL-Filter-Strings f&amp;amp;uuml;r offene/gesperrte Vorg&amp;amp;auml;nge zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_FilterSperrung_Offen(oMyDB: TxDB; const cTyp, cRef: string; out cOffen: string; const cFeld: string = &#039;a_nr&#039;): boolean&amp;lt;/code&amp;gt; || Gibt nur den Filter f&amp;amp;uuml;r offene (nicht gesperrte) Vorg&amp;amp;auml;nge zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_UbernahmeMassen(oMyDB: TxDB; const cVonUid, cNachDmsTyp, cNachVorgNr, cNachUid: string): boolean&amp;lt;/code&amp;gt; || Massenweise Positions&amp;amp;uuml;bernahme zwischen Vorg&amp;amp;auml;ngen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_GetMenge(oMyDB: TxDB; const cPosTable, cKeyField, cUID: String; out nUrmenge: Double; const cEigUID: String = &#039;&#039;): Double&amp;lt;/code&amp;gt; || Liest die aktuelle und Ursprungsmenge einer Position aus der Datenbank&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_CheckPosTyp(const cTyp: string): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft, ob ein Positionstyp-Schl&amp;amp;uuml;ssel g&amp;amp;uuml;ltig ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_HatReEmpfAdr(qVorgangData: TxFQuery): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck, wenn der Vorgang eine Rechnungsempf&amp;amp;auml;nger-Adresse hat (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_HatReEmpfAdr(qVorgangData: TxQuery): boolean&amp;lt;/code&amp;gt; || Wie oben, f&amp;amp;uuml;r TxQuery (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_AnzeigeReEmpf(oMyDB: TxDB; qMain: TxFQuery; const cMainTable: string; cAdressBez: string = &#039;&#039;; lUseReportLang: boolean = True): string&amp;lt;/code&amp;gt; || Gibt die anzuzeigende Rechnungsempf&amp;amp;auml;nger-Adresse als formatierten Text zur&amp;amp;uuml;ck (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_AnzeigeReEmpf(oMyDB: TxDB; qMain: TxQuery; const cMainTable: string; cAdressBez: string = &#039;&#039;; lUseReportLang: boolean = True): string&amp;lt;/code&amp;gt; || Wie oben, f&amp;amp;uuml;r TxQuery (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PortoVerpackBerechnet(oMyDB: TxDB; const cDmsVon, cDmsSetzen, cNrSetzen: string): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft, ob Porto/Verpackung bereits berechnet wurde und setzt Kennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangVorb_Waehrung(oMyDB: TxDB; const cValue: string = &#039;01&#039;): string&amp;lt;/code&amp;gt; || Gibt den Standardw&amp;amp;auml;hrungsschl&amp;amp;uuml;ssel f&amp;amp;uuml;r Vorgangsvorbelegung zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangVorb_RechKreis(oMyDB: TxDB; const cValue: string = &#039;01&#039;): string&amp;lt;/code&amp;gt; || Gibt den Standardrechnungskreis-Schl&amp;amp;uuml;ssel zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangVorbPos_VomLager(const nTokenPos: integer; const cLagStreck: string): string&amp;lt;/code&amp;gt; || Gibt das Lager/die Strecke f&amp;amp;uuml;r eine Positionsvorbelegung zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_VersandkostenMBW(oMyDB: TxDB; const cDmsTyp: string; const lGen: boolean; const cPsNr: string; const cPsVersand: string = &#039;&#039;; const cPsZusatz: string = &#039;&#039;): string&amp;lt;/code&amp;gt; || Berechnet Versandkosten auf Basis des Mindestbestellwerts&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfFile(oMyDB: TxDB; const cDmsTyp, cNr, cKdNr: string; out cPdfFile: string): boolean&amp;lt;/code&amp;gt; || Ermittelt den Pfad zur archivierten PDF-Datei eines Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfAsBase64File(oMyDB: TxDB; const cDmsTyp, cNr, cKdNr: string; out cBase64File: string): boolean&amp;lt;/code&amp;gt; || Liefert die PDF-Datei als Base64-kodierten Pfad&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfAsBase64Parts(oMyDB: TxDB; const cDmsTyp, cNr, cKdNr: string; const nPart: integer; out cBase64: string; out nParts: integer; nPartSize: integer = 0): boolean&amp;lt;/code&amp;gt; || Liefert die PDF in Teilen als Base64 (mit KdNr, &amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfAsBase64Parts(oMyDB: TxDB; const cDmsTyp, cNr, cKdNr: string; const nPart: integer; out cBase64: string; out nParts: integer; cPartSize: string): boolean&amp;lt;/code&amp;gt; || Wie oben, Teilgr&amp;amp;ouml;&amp;amp;szlig;e als String (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfAsBase64Parts(oMyDB: TxDB; const cDmsTyp, cNr: string; const nPart: integer; out cBase64: string; out nParts: integer; nPartSize: integer = 0): boolean&amp;lt;/code&amp;gt; || Wie oben, ohne KdNr (&amp;amp;Uuml;berladung 3)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfAsBase64Parts(oMyDB: TxDB; const cDmsTyp, cNr: string; const nPart: integer; out cBase64: string; out nParts: integer; cPartSize: string): boolean&amp;lt;/code&amp;gt; || Wie oben, Teilgr&amp;amp;ouml;&amp;amp;szlig;e als String (&amp;amp;Uuml;berladung 4)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfAsBase64(oMyDB: TxDB; const cDmsTyp, cNr: string; out cBase64: string): boolean&amp;lt;/code&amp;gt; || Liefert die gesamte PDF als Base64-String&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PosUebernommen(oMyDB: TxDB; const cVonDmsTyp, cVonNr, cPosUid: string): TVorgangPosOriginalListe&amp;lt;/code&amp;gt; || Gibt eine Liste aller Vorg&amp;amp;auml;nge zur&amp;amp;uuml;ck, in die diese Position &amp;amp;uuml;bernommen wurde&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_GetPosRef(oMyDB: TxDB; const cVonDmsTyp, cVonNr, cPosUid, cRefDmsTypen: string): TVorgangPosOriginalListe&amp;lt;/code&amp;gt; || Gibt Referenzen einer Position auf andere DMS-Typen zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_ArtBox(const cDMSTyp: string): string&amp;lt;/code&amp;gt; || Gibt die Vorgangsart-Box (Auswahlstring) f&amp;amp;uuml;r einen DMS-Typ zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_SummenEbene(const nEbene: integer): integer&amp;lt;/code&amp;gt; || Validiert und normiert eine Summen-Ebene (1..VB_MAX_SummenEbenen)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_SummenEbeneAusMenge(const nMenge: double): integer&amp;lt;/code&amp;gt; || Berechnet die Summenebene aus einem Mengenwert&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_KalkAufschlagPos(const nSatz, nZwSumme, nMengeIn, nMengeInFak, nRabatt: double): double&amp;lt;/code&amp;gt; || Berechnet den Aufschlagsbetrag f&amp;amp;uuml;r eine Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_SumPosText(const eTyp: [[#TVB_PosType|TVB_PosType]]; const cLanguage: string): string&amp;lt;/code&amp;gt; || Gibt den lokalisierten Standardtext f&amp;amp;uuml;r eine Summenposition zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_SumPosTextZw(cLang: string = &#039;&#039;): string&amp;lt;/code&amp;gt; || Gibt den lokalisierten Text f&amp;amp;uuml;r Zwischensummen-Positionen zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_SumPosTextTit(cLang: string = &#039;&#039;): string&amp;lt;/code&amp;gt; || Gibt den lokalisierten Text f&amp;amp;uuml;r Titelsummen-Positionen zur&amp;amp;uuml;ck&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Nimz</name></author>
	</entry>
	<entry>
		<id>https://wiki.bergau.de/index.php?title=OBS/Makros_und_Scripting/Allgemeines/Klassen/Vorg%C3%A4nge&amp;diff=64506</id>
		<title>OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge</title>
		<link rel="alternate" type="text/html" href="https://wiki.bergau.de/index.php?title=OBS/Makros_und_Scripting/Allgemeines/Klassen/Vorg%C3%A4nge&amp;diff=64506"/>
		<updated>2026-06-12T11:47:36Z</updated>

		<summary type="html">&lt;p&gt;Nimz: /* TVorgangPosOriginal */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Makros und Scripting}}&lt;br /&gt;
Es gibt für die Generierung von Vorgängen eigene Klassen. Da es zwischen den Vorgängen immer irgendwelche Unterschiede gibt, existiert auch für jeden Vorgangs-Typ eine eigene Klasse.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Übersicht Klassen:&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Angebot|Angebot]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Auftrag|Auftrag]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Reparaturauftrag|Reparaturauftrag]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Produktionsauftrag|Produktionsauftrag]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Lieferschein|Lieferschein]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Rechnung|Rechnung]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Bestellung|Bestellung]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Einkaufslieferschein|Einkaufslieferschein]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Einkauf|Einkauf]]&lt;br /&gt;
&lt;br /&gt;
= Datentypen =&lt;br /&gt;
&lt;br /&gt;
== Enumerationen ==&lt;br /&gt;
&lt;br /&gt;
=== TVB_PosType ===&lt;br /&gt;
Positionstyp einer [[#TVorgangPos|TVorgangPos]]. Wird &amp;amp;uuml;ber die Property &amp;lt;code&amp;gt;[[#TVorgangPos_Prop_Typ|Typ]]&amp;lt;/code&amp;gt; gelesen/gesetzt.&lt;br /&gt;
Die zugeh&amp;amp;ouml;rigen String-Konstanten sind unter [[#Konstanten|Konstanten]] beschrieben.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wert !! Bezeichner !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 0 || &amp;lt;code&amp;gt;ptPosition&amp;lt;/code&amp;gt; || Normale Artikelposition&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 1 || &amp;lt;code&amp;gt;ptText&amp;lt;/code&amp;gt; || Textzeile / Memorundzeile&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 2 || &amp;lt;code&amp;gt;ptLeerzeile&amp;lt;/code&amp;gt; || Leere Trennzeile&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 3 || &amp;lt;code&amp;gt;ptZwischensumme&amp;lt;/code&amp;gt; || Zwischensummen-Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 4 || &amp;lt;code&amp;gt;ptTitelsumme&amp;lt;/code&amp;gt; || Titelsummen-Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 5 || &amp;lt;code&amp;gt;ptTitel&amp;lt;/code&amp;gt; || Titelzeile&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 6 || &amp;lt;code&amp;gt;ptGewerk&amp;lt;/code&amp;gt; || Gewerk-Kopfzeile&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 7 || &amp;lt;code&amp;gt;ptSeitenumbruch&amp;lt;/code&amp;gt; || Manueller Seitenumbruch&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 8 || &amp;lt;code&amp;gt;ptBild&amp;lt;/code&amp;gt; || Bildposition&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVB_MaterMode ===&lt;br /&gt;
Steuert den Materialmodus beim Lesen von Positionsdaten.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wert !! Bezeichner !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 0 || &amp;lt;code&amp;gt;mmNone&amp;lt;/code&amp;gt; || Kein spezieller Materialmodus&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 1 || &amp;lt;code&amp;gt;mmMD5&amp;lt;/code&amp;gt; || Materialpr&amp;amp;uuml;fung per MD5-Hash&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 2 || &amp;lt;code&amp;gt;mmReadUID&amp;lt;/code&amp;gt; || Material-UID direkt lesen&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVorgangFehlerTyp ===&lt;br /&gt;
Klassifiziert einen Eintrag in der internen Fehlerliste eines [[#TVorgang|TVorgang]].&lt;br /&gt;
Wird im Record [[#TVorgangFehler|TVorgangFehler]] verwendet.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wert !! Bezeichner !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 0 || &amp;lt;code&amp;gt;vftOther&amp;lt;/code&amp;gt; || Sonstiger Hinweis&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 1 || &amp;lt;code&amp;gt;vftCritical&amp;lt;/code&amp;gt; || Kritischer Fehler (blockiert Speichern)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 2 || &amp;lt;code&amp;gt;vftSaveCheck&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;fung beim Speichern&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 3 || &amp;lt;code&amp;gt;vftPosInfo&amp;lt;/code&amp;gt; || Positionsbezogene Information&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVorgangFehlerLoeschenLesen ===&lt;br /&gt;
Steuert, welche Fehler nach dem Lesen via &amp;lt;code&amp;gt;[[#TVorgang_Meth_leseFehler|leseFehler]]&amp;lt;/code&amp;gt; aus der Liste gel&amp;amp;ouml;scht werden.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wert !! Bezeichner !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 0 || &amp;lt;code&amp;gt;vfllNone&amp;lt;/code&amp;gt; || Kein Fehler nach dem Lesen l&amp;amp;ouml;schen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 1 || &amp;lt;code&amp;gt;vfllAll&amp;lt;/code&amp;gt; || Alle Fehler nach dem Lesen l&amp;amp;ouml;schen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 2 || &amp;lt;code&amp;gt;vfllSkipCritical&amp;lt;/code&amp;gt; || Nur nicht-kritische Fehler l&amp;amp;ouml;schen (Standard)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Records ==&lt;br /&gt;
&lt;br /&gt;
=== TVorgangPosOriginal ===&lt;br /&gt;
Enth&amp;amp;auml;lt Referenzinformationen der Ursprungsposition (z.&amp;amp;nbsp;B. bei der Vorgangs&amp;amp;uuml;bernahme).&lt;br /&gt;
Wird &amp;amp;uuml;ber die Property &amp;lt;code&amp;gt;[[#TVorgangPos_Prop_OriginalPos|OriginalPos]]&amp;lt;/code&amp;gt; einer [[#TVorgangPos|TVorgangPos]] geliefert.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Feld !! Typ !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;rDMS&amp;lt;/code&amp;gt; || TDMSType || DMS-Typ des Ursprungsvorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cNr&amp;lt;/code&amp;gt; || String || Vorgangsnummer des Ursprungs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cUid&amp;lt;/code&amp;gt; || String || UID der Ursprungsposition&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSysUid&amp;lt;/code&amp;gt; || String || System-UID der Ursprungsposition&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Methoden:&#039;&#039;&#039;&lt;br /&gt;
{{Achtung|Funktioniert nur im Scriptrunner &amp;quot;Pax&amp;quot;! Aktiver Scriptrunner ist definiert in Programmparameter 444.}}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signatur !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Clear&amp;lt;/code&amp;gt; || Leert alle Felder des Records&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure SetData(const ADMS: TDMSType; qPos: TxFQuery)&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt den Record aus einem Positions-Query&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVorgangPosParams_AktualisiereDaten ===&lt;br /&gt;
Steuert, welche Datenbereiche bei &amp;lt;code&amp;gt;[[#TVorgangPos_Meth_AktualisiereDaten|AktualisiereDaten]]&amp;lt;/code&amp;gt; aktualisiert werden sollen.&lt;br /&gt;
Wird &amp;amp;uuml;ber die Property &amp;lt;code&amp;gt;[[#TVorgang_Prop_ParameterPositionsdatenAktualisieren|ParameterPositionsdatenAktualisieren]]&amp;lt;/code&amp;gt; von [[#TVorgang|TVorgang]] gesetzt.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Feld !! Typ !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lTexte&amp;lt;/code&amp;gt; || Boolean || Bezeichnungen/Texte aktualisieren&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lEK&amp;lt;/code&amp;gt; || Boolean || Einkaufspreise aktualisieren&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lVK&amp;lt;/code&amp;gt; || Boolean || Verkaufspreise aktualisieren&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Methoden:&#039;&#039;&#039;&lt;br /&gt;
{{Achtung|Funktioniert nur im Scriptrunner &amp;quot;Pax&amp;quot;! Aktiver Scriptrunner ist definiert in Programmparameter 444.}}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signatur !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Init(const cVorb: string = &#039;&#039;)&amp;lt;/code&amp;gt; || Initialisiert die Parameter mit Standardwerten; optionaler Vorbelegungsschl&amp;amp;uuml;ssel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Aktualisieren(): boolean&amp;lt;/code&amp;gt; || Gibt &amp;lt;code&amp;gt;True&amp;lt;/code&amp;gt; zur&amp;amp;uuml;ck, wenn mindestens ein Aktualisierungsschalter gesetzt ist&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVorgangPosSummen ===&lt;br /&gt;
Speichert Zwischen- und Titelsummen-Betr&amp;amp;auml;ge je Ebene (1 bis &amp;lt;code&amp;gt;VB_MAX_SummenEbenen&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Feld !! Typ !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;aZw[1..9]&amp;lt;/code&amp;gt; || Double || Zwischensummen-Betr&amp;amp;auml;ge je Ebene&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;aTit[1..9]&amp;lt;/code&amp;gt; || Double || Titelsummen-Betr&amp;amp;auml;ge je Ebene&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Methoden:&#039;&#039;&#039;&lt;br /&gt;
{{Achtung|Funktioniert nur im Scriptrunner &amp;quot;Pax&amp;quot;! Aktiver Scriptrunner ist definiert in Programmparameter 444.}}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signatur !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Clear&amp;lt;/code&amp;gt; || Setzt alle Summen auf 0&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure ClearZw(const nEbene: integer)&amp;lt;/code&amp;gt; || Setzt Zwischensumme der Ebene nEbene auf 0&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure ClearTit(const nEbene: integer)&amp;lt;/code&amp;gt; || Setzt Titelsumme der Ebene nEbene auf 0&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure AddZw(const nBetrag: double)&amp;lt;/code&amp;gt; || Addiert Betrag zur aktiven Zwischensummen-Ebene&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure AddTit(const nBetrag: double)&amp;lt;/code&amp;gt; || Addiert Betrag zur aktiven Titelsummen-Ebene&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function ReadZw(const nEbene: integer): double&amp;lt;/code&amp;gt; || Liefert den Zwischensummen-Betrag der Ebene&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function ReadTit(const nEbene: integer): double&amp;lt;/code&amp;gt; || Liefert den Titelsummen-Betrag der Ebene&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVorgangEigenschaft ===&lt;br /&gt;
Repr&amp;amp;auml;sentiert ein Vorgangsmerkmal (Eigenschaft), das per &amp;lt;code&amp;gt;[[#TVorgang_Meth_EigenschaftSetzen|EigenschaftSetzen]]&amp;lt;/code&amp;gt; gesetzt wird.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Feld !! Typ !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cNr&amp;lt;/code&amp;gt; || String || Merkmalsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lMode&amp;lt;/code&amp;gt; || Boolean || True = setzen, False = l&amp;amp;ouml;schen&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVorgangFehler ===&lt;br /&gt;
Ein Eintrag in der internen Fehlerliste von [[#TVorgang|TVorgang]].&lt;br /&gt;
Wird per &amp;lt;code&amp;gt;[[#TVorgang_Meth_leseFehler|leseFehler]]&amp;lt;/code&amp;gt; ausgelesen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Feld !! Typ !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cTitel&amp;lt;/code&amp;gt; || String || Fehlertitel (Kurzbeschreibung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cText&amp;lt;/code&amp;gt; || String || Fehlertext (Detailbeschreibung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;eTyp&amp;lt;/code&amp;gt; || [[#TVorgangFehlerTyp|TVorgangFehlerTyp]] || Fehlerklassifikation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Konstanten ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Konstante !! Wert !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_POS&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;0&#039;&amp;lt;/code&amp;gt; || Positionstyp normale Artikelposition (entspricht [[#TVB_PosType|ptPosition]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_TXT&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;1&#039;&amp;lt;/code&amp;gt; || Positionstyp Textzeile (entspricht [[#TVB_PosType|ptText]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_ELN&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;2&#039;&amp;lt;/code&amp;gt; || Positionstyp Leerzeile (entspricht [[#TVB_PosType|ptLeerzeile]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_ZWS&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;3&#039;&amp;lt;/code&amp;gt; || Positionstyp Zwischensumme (entspricht [[#TVB_PosType|ptZwischensumme]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_TIS&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;4&#039;&amp;lt;/code&amp;gt; || Positionstyp Titelsumme (entspricht [[#TVB_PosType|ptTitelsumme]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_TIT&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;7&#039;&amp;lt;/code&amp;gt; || Positionstyp Titel (entspricht [[#TVB_PosType|ptTitel]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_GEW&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;8&#039;&amp;lt;/code&amp;gt; || Positionstyp Gewerk (entspricht [[#TVB_PosType|ptGewerk]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_PBR&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;17&#039;&amp;lt;/code&amp;gt; || Positionstyp Seitenumbruch (entspricht [[#TVB_PosType|ptSeitenumbruch]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_PIC&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;19&#039;&amp;lt;/code&amp;gt; || Positionstyp Bild (entspricht [[#TVB_PosType|ptBild]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;VB_DEFAULT_BezZwischensumme&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;ZWISCHENSUMME    :&#039;&amp;lt;/code&amp;gt; || Standard-Bezeichnung f&amp;amp;uuml;r Zwischensummen-Positionen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;VB_DEFAULT_BezTitelsumme&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;TITELSUMME       :&#039;&amp;lt;/code&amp;gt; || Standard-Bezeichnung f&amp;amp;uuml;r Titelsummen-Positionen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;VB_MAX_SummenEbenen&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;9&amp;lt;/code&amp;gt; || Maximale Anzahl von Summenebenen (Zwischen- und Titelsummen)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Basisklassen Vorgangsgenerierung=&lt;br /&gt;
&lt;br /&gt;
== TVorgang ==&lt;br /&gt;
&lt;br /&gt;
=== Variablen ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Name !! Typ !! Zugriff !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;oMyDB&amp;lt;/code&amp;gt; || TxDB || Lesen/Schreiben || Datenbankverbindung des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;oProtokoll&amp;lt;/code&amp;gt; || TStringList || Lesen/Schreiben || Protokoll-Liste (Meldungen/Log)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lMeldung&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Steuert Anzeige von Benutzer-Meldungen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lSetPSBemAuto&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Automatische Positionsbemerkung setzen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVorgNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Vorgangsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cProjNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Projektnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lBrutto&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Brutto-Modus aktiv&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLanguage&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sprach-Code (intern, z.&amp;amp;nbsp;B. f&amp;amp;uuml;r Formulare)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLagNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lagernummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cTyp&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Vorgangstyp-K&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dVorgDat&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Vorgangsdatum&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dFaelligDat&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || F&amp;amp;auml;lligkeitsdatum&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dBuchDat&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Buchungsdatum&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dAufDat&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Auftragsdatum&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKdNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kundennummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cAnrede&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Anrede des Kunden&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cName&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Name des Kunden&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVorname&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Vorname des Kunden&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cZusatz1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Adresszusatz 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cZusatz2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Adresszusatz 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cStrasse&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Stra&amp;amp;szlig;e der Lieferadresse&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPostfach&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Postfach&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLK&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || L&amp;amp;auml;nderkennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPLZ&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Postleitzahl&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cOrt&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Ort&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cAngebNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Angebotsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLSNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferscheinnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRechNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cAuftNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Auftragsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRepaNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Reparaturauftragsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cEinkaufsNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Einkaufsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBestellNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Bestellnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosText&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionstext (globaler Standardtext)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLProjNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Leistungsprojektnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKopftext&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kopftext des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cFusstext&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Fu&amp;amp;szlig;text des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nNBetrag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Nettobetrag gesamt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nBBetrag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Bruttobetrag gesamt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nEKBetrag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Einkaufsbetrag gesamt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabattBetrag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabattbetrag gesamt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabattProz&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabattprozentsatz gesamt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nAnzahlung&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Anzahlungsbetrag&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nPorto&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Portokosten&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nVerpackung&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Verpackungskosten&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lSplitPoVe&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Porto und Verpackung getrennt ausweisen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVersand&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandart&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cWaehr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || W&amp;amp;auml;hrungsk&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cFormul&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Formularnummer/-k&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVAnr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandanrede&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVName1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandname 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVName2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandname 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVZusatz&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandadresse Zusatz&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVStrasse&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandstra&amp;amp;szlig;e&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVLK&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versand-L&amp;amp;auml;nderkennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVPLZ&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versand-PLZ&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVOrt&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandort&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandadresse UID&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPrio&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Priorit&amp;amp;auml;t des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cAuftNrKd&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Auftrags-/Bestellnummer des Kunden&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBesteller&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Besteller (Person)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSachb&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sachbearbeiter&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabPosJN&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionsrabatt anzeigen J/N&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMWSTJN&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Mehrwertsteuer ausweisen J/N&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText3&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 3&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText4&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 4&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText5&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 5&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText6&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 6&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText7&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 7&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPreisJN&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Preis auf Dokument drucken J/N&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMwStAbs&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || MwSt-Absetzungstext/-K&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dLiefDat&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Lieferdatum&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cDeleted&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Gel&amp;amp;ouml;scht-Kennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dLDat2&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Zweites Lieferdatum&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSprache&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sprache des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReEmpf&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Nummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReAnrede&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Anrede&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReName&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Name&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReVorname&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Vorname&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReZusatz1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Adresszusatz 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReZusatz2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Adresszusatz 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReStrasse&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Stra&amp;amp;szlig;e&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRePostfach&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Postfach&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReLK&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-L&amp;amp;auml;nderkennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRePLZ&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-PLZ&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReOrt&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Ort&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVertreter&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Vertreter-K&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVerbucht&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Verbucht-Kennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLager&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lager-K&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRechFrei&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsfreigabe-Kennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBonNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Bonnummer (Kasse)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMandant&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Mandantenk&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nMwStDM&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || MwSt-Betrag in DM (Altw&amp;amp;auml;hrung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nKursDM&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Wechselkurs DM&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nAbschlag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Abschlagsbetrag&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nZBetrag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Zahlungsbetrag&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nZSkonto&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Skonto-Betrag&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dZDatum&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Zahlungsdatum&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMemo&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Memofeld des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nValuta&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Valutatage&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKostenst&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kostenstelle&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKostentraeger&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kostentr&amp;amp;auml;ger&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKalkGr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kalkulationsgruppe&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cFrachtV&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Frachtart/-vorschrift&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nFrachtK&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Frachtkosten&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nFrachtG&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Frachtgewicht&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cGruppe&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Vorgangsgruppe&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nPosInc&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Positionsnummer-Inkrement&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cFiliale&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Filialk&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabText&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabatttextfeld (kurz)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cErfasser&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Erfasser des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nSKFBetrag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Skontof&amp;amp;auml;higer Betrag&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lLiefStrecke&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Lieferstreckengesch&amp;amp;auml;ft aktiv&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBetreff&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Betreffzeile&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMemoDruck&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Druckmemo (erscheint auf Dokument)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLieferLiefNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferanten-Lieferscheinnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabattText&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabatttext (lang)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSysUid&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || System-UID des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lLeistPreis2&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Leistungspreis 2 verwenden&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cFunction&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Funktionsk&amp;amp;uuml;rzel (Scripting-Hook)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lSaveAllowed&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Speichern erlaubt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lVorgangsSperre&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Vorgang gesperrt&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Properties ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Name !! Typ !! Zugriff !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;DmsTyp&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || DMS-Typ des Vorgangs (z.&amp;amp;nbsp;B. AN, AU, LS, RE)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;MainTable&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Haupttabelle des Vorgangs (Datenbankname)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PosTable&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionstabelle des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosFormat&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionsnummern-Format&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgang_Prop_ParameterPositionsdatenAktualisieren&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;ParameterPositionsdatenAktualisieren&amp;lt;/code&amp;gt; || [[#TVorgangPosParams_AktualisiereDaten|TVorgangPosParams_AktualisiereDaten]] || Lesen/Schreiben || Parameter f&amp;amp;uuml;r Massenaktualisierung von Positionsdaten&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PnPosCnt&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Anzahl der Positionen im Vorgang&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PaPositionen[Index]&amp;lt;/code&amp;gt; || [[#TVorgangPos|TVorgangPos]] || Lesen/Schreiben || Array der Positionsobjekte (0-basiert)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PcRabGrPers&amp;lt;/code&amp;gt; || String || Nur Lesen || Rabattgruppe der Person (aus Stammdaten ermittelt)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PcVKdNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || VK-Kundennummer (alternativ zur cKdNr f&amp;amp;uuml;r Preisfindung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nNet1&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Nettobetrag MwSt-Schl&amp;amp;uuml;ssel 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nNet2&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Nettobetrag MwSt-Schl&amp;amp;uuml;ssel 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nNet3&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Nettobetrag MwSt-Schl&amp;amp;uuml;ssel 3&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nBrutto1&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Bruttobetrag MwSt-Schl&amp;amp;uuml;ssel 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nBrutto2&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Bruttobetrag MwSt-Schl&amp;amp;uuml;ssel 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nBrutto3&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Bruttobetrag MwSt-Schl&amp;amp;uuml;ssel 3&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nMwSt1&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || MwSt-Betrag Schl&amp;amp;uuml;ssel 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nMwSt2&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || MwSt-Betrag Schl&amp;amp;uuml;ssel 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nMwSt3&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || MwSt-Betrag Schl&amp;amp;uuml;ssel 3&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMwStSchl1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || MwSt-Schl&amp;amp;uuml;ssel 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMwStSchl2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || MwSt-Schl&amp;amp;uuml;ssel 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMwStSchl3&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || MwSt-Schl&amp;amp;uuml;ssel 3&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKeineVersPausch&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Keine Versandpauschale berechnen J/N&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cZahlBed&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Zahlungsbedingung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lNewVorgang&amp;lt;/code&amp;gt; || Boolean || Nur Lesen || Neuer (noch nicht gespeicherter) Vorgang&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKopfNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kopftextbaustein-Nummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cFussNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Fu&amp;amp;szlig;textbaustein-Nummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLiefStrecke&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferstrecken-K&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cStatus&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Status des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cStatM&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Material-Status&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cStatS&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Service-Status&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cStatL&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferstatus&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cStatR&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsstatus&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cColStatus&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Farb-/Anzeigestatus (f&amp;amp;uuml;r UI)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cZustand&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Zustandskenner des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cArt&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Vorgangsart-K&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBonusJN&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Bonus berechnen J/N&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVersandkostenMBW&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandkosten-Mindestbestellwert-Kennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cWKNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Werbungskosten-Nummer&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Methoden ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signatur !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;constructor Create(const cUid: string; oxDB: TxDB; cDmsType: string)&amp;lt;/code&amp;gt; || Erstellt einen neuen Vorgang mit UID, Datenbankverbindung und DMS-Typ&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;destructor Destroy&amp;lt;/code&amp;gt; || Gibt den Vorgang und alle Ressourcen frei&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function SemaphoreCreate(cFName: string; lMeldung: boolean = False; cWait: string = &#039;&#039;): boolean&amp;lt;/code&amp;gt; || Erstellt eine Datei-Semaphore (Sperrdatei); gibt True zur&amp;amp;uuml;ck wenn erfolgreich&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function SemaphoreInUse(cFName: string): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft ob die Semaphore-Datei bereits in Verwendung ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure SemaphoreReleaseAll&amp;lt;/code&amp;gt; || Gibt alle Semaphoren dieses Vorgangs frei&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure SemaphoreRelease(cFName: string)&amp;lt;/code&amp;gt; || Gibt eine bestimmte Semaphore frei&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstAngebot(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang ein Angebot ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstAuftrag(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang ein Auftrag ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstReparaturAuftrag(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang ein Reparaturauftrag ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstLieferschein(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang ein Lieferschein ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstRechnung(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang eine Rechnung ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstBestellung(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang eine Bestellung ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstAnfrage(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang eine Anfrage ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstEKLieferschein(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang ein EK-Lieferschein ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstEinkauf(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang ein Einkaufsvorgang ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstVG_VK(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn es sich um einen Verkaufsvorgang handelt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstVG_EK(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn es sich um einen Einkaufsvorgang handelt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function NeuNumLock(): boolean&amp;lt;/code&amp;gt; || Sperrt die Neunummerierung (verhindert parallele Vergabe)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure NeuNumLockRelease&amp;lt;/code&amp;gt; || Gibt die Neunummerierungssperre wieder frei&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgNeuNum(cFilter: string = &#039;&#039;; lAbweichend: boolean = false): string&amp;lt;/code&amp;gt; || Ermittelt und setzt eine neue Vorgangsnummer; gibt die Nummer als String zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgNeuNumBool(cFilter: string = &#039;&#039;; lAbweichend: boolean = false): boolean&amp;lt;/code&amp;gt; || Wie VorgNeuNum, gibt True/False zur&amp;amp;uuml;ck (f&amp;amp;uuml;r Fehlerbehandlung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstVorgNrGueltig(cUID: string = &#039;&#039;): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft ob die aktuelle Vorgangsnummer g&amp;amp;uuml;ltig (eindeutig) ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function NeuePositionBase(const cUID: string): [[#TVorgangPos|TVorgangPos]]&amp;lt;/code&amp;gt; || Legt eine neue Positionsinstanz an und f&amp;amp;uuml;gt sie dem Vorgang hinzu&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure NeuePositionBaseMS(const cUID: string; oOrgPos: [[#TVorgangPos|TVorgangPos]])&amp;lt;/code&amp;gt; || Legt eine neue Position als Multi-Steuer-Folgeposition an&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function LoeschePositionBase(nDel: integer): Boolean&amp;lt;/code&amp;gt; || L&amp;amp;ouml;scht die Position mit dem angegebenen Index&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure VerschiebePositionBase(nPos: integer; nZiel: integer)&amp;lt;/code&amp;gt; || Verschiebt Position von Index nPos zu Index nZiel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CheckIfNotNull(): Boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft ob Pflichtfelder des Vorgangs bef&amp;amp;uuml;llt sind&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CheckIfFirstPosOption(): Boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft ob die erste Position eine Optionsposition ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IsPosBerechnung(cPosArt: string): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft ob eine Positionsart als Berechnungsposition gilt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure CopyFrom(oSrc: [[#TVorgang|TVorgang]])&amp;lt;/code&amp;gt; || Kopiert alle Felder aus einem anderen Vorgang&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure KalkAll(lZusatz: boolean = true)&amp;lt;/code&amp;gt; || Kalkuliert alle Positionen und Gesamtsummen neu&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Check_Multisteuer(oOrgPos: [[#TVorgangPos|TVorgangPos]]; const cTable, cMUID, cRefNr: string)&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft und setzt Multi-Steuer-Verkn&amp;amp;uuml;pfung f&amp;amp;uuml;r eine Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyPosmenge(cFromUID: string): string&amp;lt;/code&amp;gt; || Kopiert Positionsmengen aus einem anderen Vorgang (per UID)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyPosverp(cFromUID: string): string&amp;lt;/code&amp;gt; || Kopiert Positionsverpackungen aus einem anderen Vorgang (per UID)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure fillVersandkostenMBW(const cPsNr: string; const cPsVersand: string = &#039;&#039;; const PsZusatz: string = &#039;&#039;)&amp;lt;/code&amp;gt; || Berechnet und setzt Versandkosten auf Basis Mindestbestellwert&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure FillPersonBase(qPers: TxFQuery)&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt Adressfelder des Vorgangs aus einem Personen-Query&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function FillReEmpf(const AReEmpf: string; const AZahlBed: string = &#039;&#039;): boolean&amp;lt;/code&amp;gt; || Setzt Rechnungsempf&amp;amp;auml;nger und optionale Zahlungsbedingung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function SaveRecord(cUID: string = &#039;&#039;; lAlleSpeichern: boolean = false): Boolean&amp;lt;/code&amp;gt; || Speichert den Vorgang (abstrakt &amp;amp;ndash; muss in abgeleiteter Klasse implementiert werden)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function ReadVorgangTypBase(cDmsTyp: string; const cNr: string; lPos: boolean = false; lNeg: boolean = false): boolean&amp;lt;/code&amp;gt; || Liest einen Vorgang anhand DMS-Typ und Nummer in das Objekt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function JahrNr(): string&amp;lt;/code&amp;gt; || Gibt das Jahr der Vorgangsnummer zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure NeuNumPos(const lNurPos: boolean = True)&amp;lt;/code&amp;gt; || Nummeriert alle Positionen neu&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function EigenschaftSetzen(const ANr: string; const AMode: boolean): boolean&amp;lt;/code&amp;gt; || Setzt oder l&amp;amp;ouml;scht eine Vorgangseigenschaft (Merkmal) per Nummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure AdresseLeeren&amp;lt;/code&amp;gt; || Leert alle Adressfelder des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure VersandLeeren(lRef: boolean = True)&amp;lt;/code&amp;gt; || Leert alle Versandadressfelder&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure ReEmpfLeeren(const lNurAdr: boolean = False)&amp;lt;/code&amp;gt; || Leert Rechnungsempf&amp;amp;auml;nger-Felder (optional nur Adresse)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure DoServiceTouch(cStatus: string = &#039;&#039;)&amp;lt;/code&amp;gt; || Aktualisiert Service-Zeitstempel und optionalen Status&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function AuswahlParameterPositionsdatenAktualisieren(const cXDataTable: string): boolean&amp;lt;/code&amp;gt; || Zeigt Dialog zur Auswahl der Aktualisierungsparameter f&amp;amp;uuml;r Positionsdaten&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function ZusatzkostenAktiv(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn Zusatzkostenmodul f&amp;amp;uuml;r diesen Vorgang aktiv ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgang_Meth_leseFehler&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;function leseFehler(out rFehler: [[#TVorgangFehler|TVorgangFehler]]; var nIdx: integer; const eLoeschenNachLesen: [[#TVorgangFehlerLoeschenLesen|TVorgangFehlerLoeschenLesen]] = vfllSkipCritical): boolean&amp;lt;/code&amp;gt; || Liest den n&amp;amp;auml;chsten Fehler aus der internen Fehlerliste&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== TVorgangPos ==&lt;br /&gt;
&lt;br /&gt;
=== Variablen ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Name !! Typ !! Zugriff !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nPosIndex&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Laufender Index der Position im Positions-Array&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Interne Positionsnummer (Datenbankfeld)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKundNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kundennummer an der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cAuftragsNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Referenz-Auftragsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBestellNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Referenz-Bestellnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosText&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionstext (Langtextfeld)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLProjNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Leistungsprojektnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLS_azUid&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferschein-Abrechnungszeilen-UID&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVersandNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionsnummer (formatiert)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosNr2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Zweite Positionsnummer (alternativ)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosKas&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kassier-Positionsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLeistungsNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Leistungsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBezeichnung1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Bezeichnung Zeile 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBezeichnung2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Bezeichnung Zeile 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nUrMenge&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Ursprungsmenge (vor &amp;amp;Auml;nderungen)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nLeistFaktor&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Leistungsfaktor (Multiplikator f&amp;amp;uuml;r Mengenberechnung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cEinheit&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Mengeneinheit&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nMengeG&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Mengenganz (ganzzahliger Mengenanteil)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nKolli&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Kollianzahl&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVerpackung&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Verpackungsart/-k&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nInhalt&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Inhalt pro Verpackungseinheit&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nEPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Einzelpreis (Netto)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nBEPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Brutto-Einzelpreis&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nOBPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Original-Brutto-Einzelpreis (vor Rabatt)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nUrPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Ursprungspreis (Listenpreis VK)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nUrPreisEK&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Ursprungspreis Einkauf&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nGPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Gesamtpreis (Netto)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nBGPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Brutto-Gesamtpreis&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nEKPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Einkaufspreis&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nEKSPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Einkaufssonderpreis&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cManPreis&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Manueller Preis J/N-Kennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabatt&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Gesamtrabatt in Prozent&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabatt1&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabatt 1 in Prozent&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabArt1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabattart 1 (Herkunftskennzeichen)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabatt2&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabatt 2 in Prozent&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabArt2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabattart 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabatt3&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabatt 3 in Prozent&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabArt3&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabattart 3&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabatt4&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabatt 4 in Prozent&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabArt4&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabattart 4&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabatt5&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabatt 5 in Prozent&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabArt5&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabattart 5&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nAddSub&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Additions-/Subtraktionsbetrag (Zuschlag/Abzug absolut)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKonto&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Buchungskonto&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLagNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lagernummer der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLagONr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lager-Ortsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVerkaufer&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Verk&amp;amp;auml;uferk&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cStatus&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionsstatus&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cAngebotsNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Referenz-Angebotsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Eindeutige ID der Position (GUID)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Multi-Steuer-UID (Verkn&amp;amp;uuml;pfung bei Multisteuer)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRTVon&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || R&amp;amp;uuml;cktragungs-Referenz (von welcher Position)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSpNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Speditionsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBestellUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || UID der verkn&amp;amp;uuml;pften Bestellposition&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMaterialUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || UID des verkn&amp;amp;uuml;pften Materialeintrags&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cEiliUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || UID der Eillieferungsposition&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cXUID1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Erweiterungs-UID 1 (freie Verkn&amp;amp;uuml;pfung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cXUID2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Erweiterungs-UID 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cXUID3&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Erweiterungs-UID 3&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cXUID4&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Erweiterungs-UID 4&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKommentar&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kommentarfeld der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nProvision&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Provisionsanteil in Prozent&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLiefKz&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferkennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cProdGr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Produktgruppe&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nFrachtV&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Frachtvolumen der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLSNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferscheinnummer der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dLSDatum&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Lieferscheindatum der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosArt&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionsart (z.&amp;amp;nbsp;B. N=Normal, O=Optional)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSKFJN&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Skontof&amp;amp;auml;hig J/N&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cEKHerkunft&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || EK-Preisherkunft-K&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLiefNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferantennummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLagStreck&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lager-Streckenkennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cAufschlag&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Aufschlagsk&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nStaffelPreis&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Staffelpreisstufe (Index)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nStaffelmenge&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Staffelmenge f&amp;amp;uuml;r Preisfindung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lAktionspreis&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Aktionspreis aktiv&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cAusdruckJN&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Position drucken J/N&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMemoDruck&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Druckmemo der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBildUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || UID des verkn&amp;amp;uuml;pften Bildes&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cCMPUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || CMP-Objekt-UID&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cZeit_CMPUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Zeiterfassungs-CMP-UID&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cZeit_Text&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Zeiterfassungstext&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cZeit_Mitarb&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Mitarbeiter der Zeiterfassung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dZeit_Date&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Datum der Zeiterfassung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cZeit_NurLei&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Zeiterfassung: nur Leistung J/N&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKostst&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kostenstelle der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dAbrechVon&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Abrechnungszeitraum von&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dAbrechBis&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Abrechnungszeitraum bis&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lNeuNum&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Neunummerierung f&amp;amp;uuml;r diese Position ausf&amp;amp;uuml;hren&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSysUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || System-UID der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cGeraetNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Ger&amp;amp;auml;tenummer (f&amp;amp;uuml;r Servicepositionen)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Properties ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Name !! Typ !! Zugriff !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;oMyDB&amp;lt;/code&amp;gt; || TxDB || Nur Lesen || Datenbankverbindung (vom Vorgang geerbt)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;ShopNr&amp;lt;/code&amp;gt; || String || Nur Lesen || Shop-Nummer (f&amp;amp;uuml;r Mehrshop-Preisfindung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cArtikelNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Artikelnummer (Zugriff &amp;amp;uuml;ber Property wegen Seiteneffekten)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PcMWSTSch&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || MwSt-Schl&amp;amp;uuml;ssel (Parameter-Feld)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PcMengeIn&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Mengeneingabe als String (Parameter)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PnMengeIn&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Mengeneingabe als Zahl (Parameter)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PnMengeInFak&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Mengeneingabe-Faktor (Parameter)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PcMemofeld&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Memofeld der Position (Parameter-Feld, Unicode)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PcMemofeldAnsi&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Memofeld ANSI-Version (Parameter-Feld)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosLaufend&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Laufende Positionsnummer als String&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lVerbrauchsMater&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Verbrauchsmaterial-Kennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nMenge&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Menge der Position (mit Seiteneffekten bei Schreiben)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cTyp&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionstyp als String &amp;amp;ndash; siehe [[#Konstanten|Konstanten]] (POSTYP_*)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgangPos_Prop_Typ&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;Typ&amp;lt;/code&amp;gt; || [[#TVB_PosType|TVB_PosType]] || Lesen/Schreiben || Positionstyp als Enum (ptPosition, ptText, ptLeerzeile&amp;amp;nbsp;&amp;amp;hellip;)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgangPos_Prop_OriginalPos&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;OriginalPos&amp;lt;/code&amp;gt; || [[#TVorgangPosOriginal|TVorgangPosOriginal]] || Nur Lesen || Ursprungspositionsdaten (DMS-Referenz, Nr, UID, SysUID)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Methoden ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signatur !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;constructor Create(oxVorgang: [[#TVorgang|TVorgang]]; cPosTbl: string)&amp;lt;/code&amp;gt; || Erstellt eine neue Position f&amp;amp;uuml;r den angegebenen Vorgang (veraltet, UID-Variante bevorzugen)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;constructor Create(cUid: string; oxVorgang: [[#TVorgang|TVorgang]]; cPosTbl: string)&amp;lt;/code&amp;gt; || Erstellt eine neue Position mit vorgegebener UID&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;destructor Destroy&amp;lt;/code&amp;gt; || Gibt die Position frei&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure PositionsVorbelegung&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt die Position mit Standardwerten aus den Vorgangsdaten&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure GenNewUid&amp;lt;/code&amp;gt; || Generiert eine neue UID f&amp;amp;uuml;r diese Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyPosmenge(cFromUID: string): string&amp;lt;/code&amp;gt; || Kopiert Mengen aus einer anderen Position (per UID)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyPosverp(cFromUID: string): string&amp;lt;/code&amp;gt; || Kopiert Verpackungsdaten aus einer anderen Position (per UID)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure CopyFrom(oSrc: [[#TVorgangPos|TVorgangPos]]; lFull: boolean = False)&amp;lt;/code&amp;gt; || Kopiert alle Felder aus einer anderen Position; lFull=True kopiert auch interne Felder&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure QueryToPos(qTmp: TxFQuery; lReadAsNew: boolean = false)&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt die Position aus einem Datenbankquery (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure QueryToPos(qTmp: TxFQuery; const cFromTable: string; lVerpack: Boolean = False; lUmkehr: boolean = False)&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt die Position aus einem Query mit expliziter Quelltabelle (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure DBPosToPos(const cFromTable: string; const cSysUid: string; lVerpack: Boolean = False; lUmkehr: boolean = False)&amp;lt;/code&amp;gt; || Liest eine Position direkt aus der Datenbank per SysUID&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function FillArtikel(cArtNr: string): boolean&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt die Position mit Artikelstammdaten; gibt True bei Erfolg zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function SetzeLieferant(const cLiefNr: string; lEKNeu: boolean = True; lDefaultEK1: boolean = False): boolean&amp;lt;/code&amp;gt; || Setzt den Lieferanten und aktualisiert EK-Preise&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure FillLeistung(cLeistNr: string)&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt die Position mit Leistungsstammdaten&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function SumPosBez(const eZielTyp: [[#TVB_PosType|TVB_PosType]]; const cBezVorb: string): string&amp;lt;/code&amp;gt; || Gibt die Bezeichnung f&amp;amp;uuml;r eine Summenposition zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_Pos&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;normale Position&amp;amp;ldquo;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_Text(const cText: string)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Textzeile&amp;amp;ldquo; mit dem angegebenen Text&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_Leerzeile&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Leerzeile&amp;amp;ldquo;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_Zwischensumme(const cBez: string = &#039;&#039;)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Zwischensumme&amp;amp;ldquo; (Ebene&amp;amp;nbsp;1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_ZwischensummeEbene(const nEbene: integer; const cBez: string = &#039;&#039;)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Zwischensumme&amp;amp;ldquo; der angegebenen Ebene&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_Titelsumme(const cBez: string = &#039;&#039;)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Titelsumme&amp;amp;ldquo; (Ebene&amp;amp;nbsp;1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_TitelsummeEbene(const nEbene: integer; const cBez: string = &#039;&#039;)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Titelsumme&amp;amp;ldquo; der angegebenen Ebene&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_Titel(const cBez: string)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Titel&amp;amp;ldquo;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_Gewerk(const cBez: string)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Gewerk&amp;amp;ldquo;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_NeueSeite&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Seitenumbruch&amp;amp;ldquo;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_Bild(const cBild: string)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Bild&amp;amp;ldquo; mit dem angegebenen Bildpfad/-UID&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure UStKorrektur(const dCheckDate: TDateTime)&amp;lt;/code&amp;gt; || Korrigiert den Umsatzsteuerschl&amp;amp;uuml;ssel gem&amp;amp;auml;&amp;amp;szlig; Datum (Steuersatz&amp;amp;auml;nderungen)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure KalkPos&amp;lt;/code&amp;gt; || Kalkuliert Gesamtpreis und abgeleitete Felder dieser Position neu&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosNrAllowed(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn dieser Positionstyp eine Positionsnummer erh&amp;amp;auml;lt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure SetPosNr(cP: string; cT: string = &#039;&#039;; cG: string = &#039;&#039;; cFormat: string = &#039;&#039;)&amp;lt;/code&amp;gt; || Setzt die Positionsnummer aus String-Komponenten (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure SetPosNr(nP: integer; nT: integer = -1; nG: integer = -1; cFormat: string = &#039;&#039;)&amp;lt;/code&amp;gt; || Setzt die Positionsnummer aus numerischen Komponenten (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosLaufend(iPos: integer = 0): string&amp;lt;/code&amp;gt; || Gibt die laufende Positionsnummer als formatierten String zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Preisfindung(cShopNr: string = CONST_NO_SHOP)&amp;lt;/code&amp;gt; || F&amp;amp;uuml;hrt die Preisfindung f&amp;amp;uuml;r diese Position aus&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function SetOpenBookLieferant(): boolean&amp;lt;/code&amp;gt; || Setzt den Open-Book-Lieferanten f&amp;amp;uuml;r diese Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure AddToMemo(const cText: string; const lNewLine: boolean = False)&amp;lt;/code&amp;gt; || F&amp;amp;uuml;gt Text zum Memofeld hinzu&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgangPos_Meth_AktualisiereDaten&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;procedure AktualisiereDaten&amp;lt;/code&amp;gt; || Aktualisiert Texte, EK- und VK-Preise gem&amp;amp;auml;&amp;amp;szlig; [[#TVorgang_Prop_ParameterPositionsdatenAktualisieren|ParameterPositionsdatenAktualisieren]]&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure EKCalcMengeIn(var nEkFak: double)&amp;lt;/code&amp;gt; || Berechnet den EK-Mengeneingabe-Faktor (R&amp;amp;uuml;ckgabe per var-Parameter)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CanSave(): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft ob diese Position gespeichert werden kann/darf&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure qSqlSet(AqSql: TqSql)&amp;lt;/code&amp;gt; || Setzt das SQL-Objekt f&amp;amp;uuml;r erweiterte DB-Operationen dieser Position&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Globale Methoden =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Signatur !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstVKVorgang(cMainTable: string): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck, wenn die Haupttabelle ein VK-Vorgang ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstVKVorgangPos(cPosTable: string): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck, wenn die Positionstabelle zu einem VK-Vorgang geh&amp;amp;ouml;rt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyPosmengeDB(oMyDB: TxDB; cFromUID: string): string&amp;lt;/code&amp;gt; || Kopiert Positionsmengen aus einem anderen Vorgang (direkt per Datenbankzugriff)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyPosverpDB(oMyDB: TxDB; cFromUID: string): string&amp;lt;/code&amp;gt; || Kopiert Positionsverpackungen aus einem anderen Vorgang (direkt per Datenbankzugriff)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyRTFLan(oMyDB: TxDB; cVonTable, cVonRef, cNachTable, cNachRef: String): String&amp;lt;/code&amp;gt; || Kopiert RTF-Langtexte zwischen Vorgangs-Positionen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure CopyKalkulationAN2AU(oMyDB: TxDB; cANRef1, cANRef2, cAURef1, cAURef2: String; fPosmenge: Double)&amp;lt;/code&amp;gt; || Kopiert Kalkulation von Angebot nach Auftrag (mit Mengenfaktor)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure CopyKalkulationAU(oMyDB: TxDB; cANRef1, cANRef2, cAURef1, cAURef2: String)&amp;lt;/code&amp;gt; || Kopiert Auftragskalkulation zwischen zwei Positionen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure CopyKalkulationAN(oMyDB: TxDB; cANRef1, cANRef2, cAURef1, cAURef2: String)&amp;lt;/code&amp;gt; || Kopiert Angebotskalkulation zwischen zwei Positionen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosNrFormatCheck(const cFormat: string): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft, ob ein Positionsnummern-Format g&amp;amp;uuml;ltig ist (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosNrFormatCheck(oMyDB: TxDB; const cFormat: string): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft Format gegen Datenbankeinstellungen (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosNrFormatCounts(const cFormat: string; out nG, nT, nP: integer): boolean&amp;lt;/code&amp;gt; || Liefert die Stellenzahlen f&amp;amp;uuml;r Gewerk, Titel und Position aus dem Format (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosNrFormatCounts(oMyDB: TxDB; const cFormat: string; out nG, nT, nP: integer): boolean&amp;lt;/code&amp;gt; || Wie oben, mit Datenbankzugriff (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosNrSplit(oMyDB: TxDB; const cFormat, cPosTyp: string; cPosNr: string; out nG, nT, nP: integer): boolean&amp;lt;/code&amp;gt; || Zerlegt eine formatierte Positionsnummer in ihre Bestandteile&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function GetVorgangMandant(oMyDB: TxDB; const cTable, cNr: string): string&amp;lt;/code&amp;gt; || Gibt den Mandanten-Schl&amp;amp;uuml;ssel f&amp;amp;uuml;r einen Vorgang zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function GetVorgangTextTB(const nPMode: integer; out cTB_Nr: string; cFiliale: string = &#039;&#039;): boolean&amp;lt;/code&amp;gt; || Ermittelt die Textbaustein-Nummer f&amp;amp;uuml;r den angegebenen Positionsmodus&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function GetVorgangTextTBPers(oMyDB: TxDB; const cPsNr: string; const nPMode: integer; out cTB_Nr: string; cFiliale: string = &#039;&#039;): boolean&amp;lt;/code&amp;gt; || Wie GetVorgangTextTB, zus&amp;amp;auml;tzlich personenbezogen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function KopfTextPlatzhalter(var cKopfText: string; const cBrief1, cBrief2: string): boolean&amp;lt;/code&amp;gt; || Ersetzt Platzhalter im Kopftext durch Briefanredefelder&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangArt(oMyDB: TxDB; const cDMS, cNr: string): integer&amp;lt;/code&amp;gt; || Gibt die Vorgangsart als Integer-Kennziffer zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangStatus(oMyDB: TxDB; const cDMS, cNr: string): string&amp;lt;/code&amp;gt; || Gibt den aktuellen Status eines Vorgangs aus der Datenbank zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangVerbucht(oMyDB: TxDB; const cDMS, cNr: string): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck, wenn der Vorgang verbucht ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangUstEnthalten(oMyDB: TxDB; const cDMS, cNr, cUstSchl: string; cFeld: string = &#039;&#039;): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft, ob ein bestimmter USt-Schl&amp;amp;uuml;ssel im Vorgang verwendet wird&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PortoVerpackKannSkonto(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck, wenn Porto/Verpackung skontof&amp;amp;auml;hig ist (laut Systemeinstellung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function GetPosBild(oMyDB: TxDB; cArtNr: string; var cBildUID: string): boolean&amp;lt;/code&amp;gt; || Ermittelt die Bild-UID eines Artikels f&amp;amp;uuml;r eine Positions-Bildposition&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangVertreterVorb(oMyDB: TxDB; const cVertreter: string): string&amp;lt;/code&amp;gt; || Gibt den vorgebelegten Vertreter-Schl&amp;amp;uuml;ssel zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangVertreterPrio(oMyDB: TxDB; const cAktVertreter: string): string&amp;lt;/code&amp;gt; || Gibt den Vertreter mit h&amp;amp;ouml;chster Priorit&amp;amp;auml;t zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function GenerierePositionskommentar(cUrsprung, cKommentar: String): String&amp;lt;/code&amp;gt; || Kombiniert Ursprungs- und Kommentartext zu einem Positions-Kommentar&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function ReplacePlatzhalterReparaturAuftrag(cRAufNr: String; cText: String = &#039;&#039;): String&amp;lt;/code&amp;gt; || Ersetzt Platzhalter im Text durch Reparaturauftragsdaten&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function ReplacePlatzhalterPosErfassung(oMyDB: TxDB; const cBuffer, cTable, cNr: string; const lDef: Boolean = False; const lRepa: Boolean = False): String&amp;lt;/code&amp;gt; || Ersetzt Platzhalter im Text bei der Positionserfassung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function LoadPlatzhalterVorgang(oMyDB: TxDB; const cTable, cNr: string; var oPlatzhalter: TPlatzhalterVorgang): Boolean&amp;lt;/code&amp;gt; || L&amp;amp;auml;dt Platzhalter-Daten eines Vorgangs aus der Datenbank&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PlatzhalterVorgang(const cText, cNr: string; const oPlatzhalter: TPlatzhalterVorgang; const lDef: Boolean = false; const lRepa: Boolean = false): string&amp;lt;/code&amp;gt; || Ersetzt Platzhalter im Text mit den geladenen Vorgang-Platzhaltern&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function GetPosVorb_ErlKto(oMyDB: TxDB; const cErlJahr, cManNr, cFiliale: string): string&amp;lt;/code&amp;gt; || Gibt das Erl&amp;amp;ouml;skonto f&amp;amp;uuml;r eine Positionsvorbelegung zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure ChangePosPreisFromLeistPreis2(oVorgang: TVorgang)&amp;lt;/code&amp;gt; || Wechselt f&amp;amp;uuml;r alle Positionen auf den alternativen Leistungspreis 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_ToXMLStr(oMyDB: TxDB; const cTable, cPosTable, cVorgNr: String): string&amp;lt;/code&amp;gt; || Exportiert einen Vorgang als XML-String&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_ToDelArchiv(oMyDB: TxDB; const cTable, cPosTable, cVorgNr: String): Boolean&amp;lt;/code&amp;gt; || Verschiebt einen Vorgang ins L&amp;amp;ouml;scharchiv&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_ToXMLFile(oMyDB: TxDB; const cFile, cTable, cPosTable, cVorgNr: String): Boolean&amp;lt;/code&amp;gt; || Exportiert einen Vorgang in eine XML-Datei&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function XMLFile_ToVorgang(oMyDB: TxDB; const cData: String; var cNewNr, cOldNr: String): Boolean&amp;lt;/code&amp;gt; || Importiert einen Vorgang aus einem XML-String/-Datei&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function DelArchivTo_Vorgang(oMyDB: TxDB; const cTabelle, cVorgang: String): String&amp;lt;/code&amp;gt; || Stellt einen archivierten Vorgang wieder her&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_Runden_MengeInFak(oMyDB: TxDB; const cTabMain, cTabPos: string; nValue: double): double&amp;lt;/code&amp;gt; || Rundet den Mengeneingabe-Faktor gem&amp;amp;auml;&amp;amp;szlig; Tabelleneinstellung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_Rohertrag(oMyDB: TxDB; const cDMSTyp, cVorgNr: String; nNettoBetrag: Double): String&amp;lt;/code&amp;gt; || Berechnet den Rohertrag eines Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_Rohertrag_Ext(oMyDB: TxDB; const cDMSTyp, cVorgNr: String; nNettoBetrag: Double; lSollStunden: Boolean): string&amp;lt;/code&amp;gt; || Berechnet den Rohertrag erweitert (mit Sollstunden)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangFelder(cTyp: String; lPosition, lArtikel, lMaterial, lAuswertung, lMessen: Boolean; lSchiff: Boolean = False): String&amp;lt;/code&amp;gt; || Gibt die aktiven Feldgruppen eines Vorgangstyps als String zur&amp;amp;uuml;ck (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangFelder(oMyDB: TxDB; cTyp: String; lPosition, lArtikel, lMaterial, lAuswertung, lMessen: Boolean; lSchiff: Boolean = False): String&amp;lt;/code&amp;gt; || Wie oben, mit Datenbankzugriff (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_IstGesperrt(oMyDB: TxDB; const cTyp, cRef: string; const cFeld: string = &#039;a_nr&#039;): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft, ob ein Vorgang gesperrt ist (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_IstGesperrt(oMyDB: TxDB; const rDMS: TDMSType; const cRef: string; const cFeld: string = &#039;a_nr&#039;): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft Sperrung per DMS-Typ (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_FilterSperrung(oMyDB: TxDB; const cTyp, cRef: string; out cOffen, cGesperrt: string; const cFeld: string = &#039;a_nr&#039;): boolean&amp;lt;/code&amp;gt; || Gibt SQL-Filter-Strings f&amp;amp;uuml;r offene/gesperrte Vorg&amp;amp;auml;nge zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_FilterSperrung_Offen(oMyDB: TxDB; const cTyp, cRef: string; out cOffen: string; const cFeld: string = &#039;a_nr&#039;): boolean&amp;lt;/code&amp;gt; || Gibt nur den Filter f&amp;amp;uuml;r offene (nicht gesperrte) Vorg&amp;amp;auml;nge zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_UbernahmeMassen(oMyDB: TxDB; const cVonUid, cNachDmsTyp, cNachVorgNr, cNachUid: string): boolean&amp;lt;/code&amp;gt; || Massenweise Positions&amp;amp;uuml;bernahme zwischen Vorg&amp;amp;auml;ngen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_GetMenge(oMyDB: TxDB; const cPosTable, cKeyField, cUID: String; out nUrmenge: Double; const cEigUID: String = &#039;&#039;): Double&amp;lt;/code&amp;gt; || Liest die aktuelle und Ursprungsmenge einer Position aus der Datenbank&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_CheckPosTyp(const cTyp: string): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft, ob ein Positionstyp-Schl&amp;amp;uuml;ssel g&amp;amp;uuml;ltig ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_HatReEmpfAdr(qVorgangData: TxFQuery): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck, wenn der Vorgang eine Rechnungsempf&amp;amp;auml;nger-Adresse hat (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_HatReEmpfAdr(qVorgangData: TxQuery): boolean&amp;lt;/code&amp;gt; || Wie oben, f&amp;amp;uuml;r TxQuery (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_AnzeigeReEmpf(oMyDB: TxDB; qMain: TxFQuery; const cMainTable: string; cAdressBez: string = &#039;&#039;; lUseReportLang: boolean = True): string&amp;lt;/code&amp;gt; || Gibt die anzuzeigende Rechnungsempf&amp;amp;auml;nger-Adresse als formatierten Text zur&amp;amp;uuml;ck (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_AnzeigeReEmpf(oMyDB: TxDB; qMain: TxQuery; const cMainTable: string; cAdressBez: string = &#039;&#039;; lUseReportLang: boolean = True): string&amp;lt;/code&amp;gt; || Wie oben, f&amp;amp;uuml;r TxQuery (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PortoVerpackBerechnet(oMyDB: TxDB; const cDmsVon, cDmsSetzen, cNrSetzen: string): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft, ob Porto/Verpackung bereits berechnet wurde und setzt Kennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangVorb_Waehrung(oMyDB: TxDB; const cValue: string = &#039;01&#039;): string&amp;lt;/code&amp;gt; || Gibt den Standardw&amp;amp;auml;hrungsschl&amp;amp;uuml;ssel f&amp;amp;uuml;r Vorgangsvorbelegung zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangVorb_RechKreis(oMyDB: TxDB; const cValue: string = &#039;01&#039;): string&amp;lt;/code&amp;gt; || Gibt den Standardrechnungskreis-Schl&amp;amp;uuml;ssel zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangVorbPos_VomLager(const nTokenPos: integer; const cLagStreck: string): string&amp;lt;/code&amp;gt; || Gibt das Lager/die Strecke f&amp;amp;uuml;r eine Positionsvorbelegung zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_VersandkostenMBW(oMyDB: TxDB; const cDmsTyp: string; const lGen: boolean; const cPsNr: string; const cPsVersand: string = &#039;&#039;; const cPsZusatz: string = &#039;&#039;): string&amp;lt;/code&amp;gt; || Berechnet Versandkosten auf Basis des Mindestbestellwerts&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfFile(oMyDB: TxDB; const cDmsTyp, cNr, cKdNr: string; out cPdfFile: string): boolean&amp;lt;/code&amp;gt; || Ermittelt den Pfad zur archivierten PDF-Datei eines Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfAsBase64File(oMyDB: TxDB; const cDmsTyp, cNr, cKdNr: string; out cBase64File: string): boolean&amp;lt;/code&amp;gt; || Liefert die PDF-Datei als Base64-kodierten Pfad&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfAsBase64Parts(oMyDB: TxDB; const cDmsTyp, cNr, cKdNr: string; const nPart: integer; out cBase64: string; out nParts: integer; nPartSize: integer = 0): boolean&amp;lt;/code&amp;gt; || Liefert die PDF in Teilen als Base64 (mit KdNr, &amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfAsBase64Parts(oMyDB: TxDB; const cDmsTyp, cNr, cKdNr: string; const nPart: integer; out cBase64: string; out nParts: integer; cPartSize: string): boolean&amp;lt;/code&amp;gt; || Wie oben, Teilgr&amp;amp;ouml;&amp;amp;szlig;e als String (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfAsBase64Parts(oMyDB: TxDB; const cDmsTyp, cNr: string; const nPart: integer; out cBase64: string; out nParts: integer; nPartSize: integer = 0): boolean&amp;lt;/code&amp;gt; || Wie oben, ohne KdNr (&amp;amp;Uuml;berladung 3)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfAsBase64Parts(oMyDB: TxDB; const cDmsTyp, cNr: string; const nPart: integer; out cBase64: string; out nParts: integer; cPartSize: string): boolean&amp;lt;/code&amp;gt; || Wie oben, Teilgr&amp;amp;ouml;&amp;amp;szlig;e als String (&amp;amp;Uuml;berladung 4)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfAsBase64(oMyDB: TxDB; const cDmsTyp, cNr: string; out cBase64: string): boolean&amp;lt;/code&amp;gt; || Liefert die gesamte PDF als Base64-String&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PosUebernommen(oMyDB: TxDB; const cVonDmsTyp, cVonNr, cPosUid: string): TVorgangPosOriginalListe&amp;lt;/code&amp;gt; || Gibt eine Liste aller Vorg&amp;amp;auml;nge zur&amp;amp;uuml;ck, in die diese Position &amp;amp;uuml;bernommen wurde&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_GetPosRef(oMyDB: TxDB; const cVonDmsTyp, cVonNr, cPosUid, cRefDmsTypen: string): TVorgangPosOriginalListe&amp;lt;/code&amp;gt; || Gibt Referenzen einer Position auf andere DMS-Typen zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_ArtBox(const cDMSTyp: string): string&amp;lt;/code&amp;gt; || Gibt die Vorgangsart-Box (Auswahlstring) f&amp;amp;uuml;r einen DMS-Typ zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_SummenEbene(const nEbene: integer): integer&amp;lt;/code&amp;gt; || Validiert und normiert eine Summen-Ebene (1..VB_MAX_SummenEbenen)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_SummenEbeneAusMenge(const nMenge: double): integer&amp;lt;/code&amp;gt; || Berechnet die Summenebene aus einem Mengenwert&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_KalkAufschlagPos(const nSatz, nZwSumme, nMengeIn, nMengeInFak, nRabatt: double): double&amp;lt;/code&amp;gt; || Berechnet den Aufschlagsbetrag f&amp;amp;uuml;r eine Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_SumPosText(const eTyp: [[#TVB_PosType|TVB_PosType]]; const cLanguage: string): string&amp;lt;/code&amp;gt; || Gibt den lokalisierten Standardtext f&amp;amp;uuml;r eine Summenposition zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_SumPosTextZw(cLang: string = &#039;&#039;): string&amp;lt;/code&amp;gt; || Gibt den lokalisierten Text f&amp;amp;uuml;r Zwischensummen-Positionen zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_SumPosTextTit(cLang: string = &#039;&#039;): string&amp;lt;/code&amp;gt; || Gibt den lokalisierten Text f&amp;amp;uuml;r Titelsummen-Positionen zur&amp;amp;uuml;ck&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Nimz</name></author>
	</entry>
	<entry>
		<id>https://wiki.bergau.de/index.php?title=OBS/Makros_und_Scripting/Allgemeines/Klassen/Vorg%C3%A4nge&amp;diff=64505</id>
		<title>OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge</title>
		<link rel="alternate" type="text/html" href="https://wiki.bergau.de/index.php?title=OBS/Makros_und_Scripting/Allgemeines/Klassen/Vorg%C3%A4nge&amp;diff=64505"/>
		<updated>2026-06-12T11:47:17Z</updated>

		<summary type="html">&lt;p&gt;Nimz: /* TVorgangPosParams_AktualisiereDaten */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Makros und Scripting}}&lt;br /&gt;
Es gibt für die Generierung von Vorgängen eigene Klassen. Da es zwischen den Vorgängen immer irgendwelche Unterschiede gibt, existiert auch für jeden Vorgangs-Typ eine eigene Klasse.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Übersicht Klassen:&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Angebot|Angebot]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Auftrag|Auftrag]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Reparaturauftrag|Reparaturauftrag]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Produktionsauftrag|Produktionsauftrag]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Lieferschein|Lieferschein]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Rechnung|Rechnung]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Bestellung|Bestellung]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Einkaufslieferschein|Einkaufslieferschein]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Einkauf|Einkauf]]&lt;br /&gt;
&lt;br /&gt;
= Datentypen =&lt;br /&gt;
&lt;br /&gt;
== Enumerationen ==&lt;br /&gt;
&lt;br /&gt;
=== TVB_PosType ===&lt;br /&gt;
Positionstyp einer [[#TVorgangPos|TVorgangPos]]. Wird &amp;amp;uuml;ber die Property &amp;lt;code&amp;gt;[[#TVorgangPos_Prop_Typ|Typ]]&amp;lt;/code&amp;gt; gelesen/gesetzt.&lt;br /&gt;
Die zugeh&amp;amp;ouml;rigen String-Konstanten sind unter [[#Konstanten|Konstanten]] beschrieben.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wert !! Bezeichner !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 0 || &amp;lt;code&amp;gt;ptPosition&amp;lt;/code&amp;gt; || Normale Artikelposition&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 1 || &amp;lt;code&amp;gt;ptText&amp;lt;/code&amp;gt; || Textzeile / Memorundzeile&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 2 || &amp;lt;code&amp;gt;ptLeerzeile&amp;lt;/code&amp;gt; || Leere Trennzeile&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 3 || &amp;lt;code&amp;gt;ptZwischensumme&amp;lt;/code&amp;gt; || Zwischensummen-Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 4 || &amp;lt;code&amp;gt;ptTitelsumme&amp;lt;/code&amp;gt; || Titelsummen-Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 5 || &amp;lt;code&amp;gt;ptTitel&amp;lt;/code&amp;gt; || Titelzeile&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 6 || &amp;lt;code&amp;gt;ptGewerk&amp;lt;/code&amp;gt; || Gewerk-Kopfzeile&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 7 || &amp;lt;code&amp;gt;ptSeitenumbruch&amp;lt;/code&amp;gt; || Manueller Seitenumbruch&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 8 || &amp;lt;code&amp;gt;ptBild&amp;lt;/code&amp;gt; || Bildposition&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVB_MaterMode ===&lt;br /&gt;
Steuert den Materialmodus beim Lesen von Positionsdaten.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wert !! Bezeichner !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 0 || &amp;lt;code&amp;gt;mmNone&amp;lt;/code&amp;gt; || Kein spezieller Materialmodus&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 1 || &amp;lt;code&amp;gt;mmMD5&amp;lt;/code&amp;gt; || Materialpr&amp;amp;uuml;fung per MD5-Hash&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 2 || &amp;lt;code&amp;gt;mmReadUID&amp;lt;/code&amp;gt; || Material-UID direkt lesen&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVorgangFehlerTyp ===&lt;br /&gt;
Klassifiziert einen Eintrag in der internen Fehlerliste eines [[#TVorgang|TVorgang]].&lt;br /&gt;
Wird im Record [[#TVorgangFehler|TVorgangFehler]] verwendet.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wert !! Bezeichner !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 0 || &amp;lt;code&amp;gt;vftOther&amp;lt;/code&amp;gt; || Sonstiger Hinweis&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 1 || &amp;lt;code&amp;gt;vftCritical&amp;lt;/code&amp;gt; || Kritischer Fehler (blockiert Speichern)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 2 || &amp;lt;code&amp;gt;vftSaveCheck&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;fung beim Speichern&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 3 || &amp;lt;code&amp;gt;vftPosInfo&amp;lt;/code&amp;gt; || Positionsbezogene Information&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVorgangFehlerLoeschenLesen ===&lt;br /&gt;
Steuert, welche Fehler nach dem Lesen via &amp;lt;code&amp;gt;[[#TVorgang_Meth_leseFehler|leseFehler]]&amp;lt;/code&amp;gt; aus der Liste gel&amp;amp;ouml;scht werden.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wert !! Bezeichner !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 0 || &amp;lt;code&amp;gt;vfllNone&amp;lt;/code&amp;gt; || Kein Fehler nach dem Lesen l&amp;amp;ouml;schen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 1 || &amp;lt;code&amp;gt;vfllAll&amp;lt;/code&amp;gt; || Alle Fehler nach dem Lesen l&amp;amp;ouml;schen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 2 || &amp;lt;code&amp;gt;vfllSkipCritical&amp;lt;/code&amp;gt; || Nur nicht-kritische Fehler l&amp;amp;ouml;schen (Standard)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Records ==&lt;br /&gt;
&lt;br /&gt;
=== TVorgangPosOriginal ===&lt;br /&gt;
Enth&amp;amp;auml;lt Referenzinformationen der Ursprungsposition (z.&amp;amp;nbsp;B. bei der Vorgangs&amp;amp;uuml;bernahme).&lt;br /&gt;
Wird &amp;amp;uuml;ber die Property &amp;lt;code&amp;gt;[[#TVorgangPos_Prop_OriginalPos|OriginalPos]]&amp;lt;/code&amp;gt; einer [[#TVorgangPos|TVorgangPos]] geliefert.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Feld !! Typ !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;rDMS&amp;lt;/code&amp;gt; || TDMSType || DMS-Typ des Ursprungsvorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cNr&amp;lt;/code&amp;gt; || String || Vorgangsnummer des Ursprungs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cUid&amp;lt;/code&amp;gt; || String || UID der Ursprungsposition&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSysUid&amp;lt;/code&amp;gt; || String || System-UID der Ursprungsposition&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Methoden:&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signatur !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Clear&amp;lt;/code&amp;gt; || Leert alle Felder des Records&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure SetData(const ADMS: TDMSType; qPos: TxFQuery)&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt den Record aus einem Positions-Query&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVorgangPosParams_AktualisiereDaten ===&lt;br /&gt;
Steuert, welche Datenbereiche bei &amp;lt;code&amp;gt;[[#TVorgangPos_Meth_AktualisiereDaten|AktualisiereDaten]]&amp;lt;/code&amp;gt; aktualisiert werden sollen.&lt;br /&gt;
Wird &amp;amp;uuml;ber die Property &amp;lt;code&amp;gt;[[#TVorgang_Prop_ParameterPositionsdatenAktualisieren|ParameterPositionsdatenAktualisieren]]&amp;lt;/code&amp;gt; von [[#TVorgang|TVorgang]] gesetzt.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Feld !! Typ !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lTexte&amp;lt;/code&amp;gt; || Boolean || Bezeichnungen/Texte aktualisieren&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lEK&amp;lt;/code&amp;gt; || Boolean || Einkaufspreise aktualisieren&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lVK&amp;lt;/code&amp;gt; || Boolean || Verkaufspreise aktualisieren&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Methoden:&#039;&#039;&#039;&lt;br /&gt;
{{Achtung|Funktioniert nur im Scriptrunner &amp;quot;Pax&amp;quot;! Aktiver Scriptrunner ist definiert in Programmparameter 444.}}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signatur !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Init(const cVorb: string = &#039;&#039;)&amp;lt;/code&amp;gt; || Initialisiert die Parameter mit Standardwerten; optionaler Vorbelegungsschl&amp;amp;uuml;ssel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Aktualisieren(): boolean&amp;lt;/code&amp;gt; || Gibt &amp;lt;code&amp;gt;True&amp;lt;/code&amp;gt; zur&amp;amp;uuml;ck, wenn mindestens ein Aktualisierungsschalter gesetzt ist&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVorgangPosSummen ===&lt;br /&gt;
Speichert Zwischen- und Titelsummen-Betr&amp;amp;auml;ge je Ebene (1 bis &amp;lt;code&amp;gt;VB_MAX_SummenEbenen&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Feld !! Typ !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;aZw[1..9]&amp;lt;/code&amp;gt; || Double || Zwischensummen-Betr&amp;amp;auml;ge je Ebene&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;aTit[1..9]&amp;lt;/code&amp;gt; || Double || Titelsummen-Betr&amp;amp;auml;ge je Ebene&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Methoden:&#039;&#039;&#039;&lt;br /&gt;
{{Achtung|Funktioniert nur im Scriptrunner &amp;quot;Pax&amp;quot;! Aktiver Scriptrunner ist definiert in Programmparameter 444.}}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signatur !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Clear&amp;lt;/code&amp;gt; || Setzt alle Summen auf 0&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure ClearZw(const nEbene: integer)&amp;lt;/code&amp;gt; || Setzt Zwischensumme der Ebene nEbene auf 0&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure ClearTit(const nEbene: integer)&amp;lt;/code&amp;gt; || Setzt Titelsumme der Ebene nEbene auf 0&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure AddZw(const nBetrag: double)&amp;lt;/code&amp;gt; || Addiert Betrag zur aktiven Zwischensummen-Ebene&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure AddTit(const nBetrag: double)&amp;lt;/code&amp;gt; || Addiert Betrag zur aktiven Titelsummen-Ebene&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function ReadZw(const nEbene: integer): double&amp;lt;/code&amp;gt; || Liefert den Zwischensummen-Betrag der Ebene&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function ReadTit(const nEbene: integer): double&amp;lt;/code&amp;gt; || Liefert den Titelsummen-Betrag der Ebene&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVorgangEigenschaft ===&lt;br /&gt;
Repr&amp;amp;auml;sentiert ein Vorgangsmerkmal (Eigenschaft), das per &amp;lt;code&amp;gt;[[#TVorgang_Meth_EigenschaftSetzen|EigenschaftSetzen]]&amp;lt;/code&amp;gt; gesetzt wird.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Feld !! Typ !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cNr&amp;lt;/code&amp;gt; || String || Merkmalsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lMode&amp;lt;/code&amp;gt; || Boolean || True = setzen, False = l&amp;amp;ouml;schen&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVorgangFehler ===&lt;br /&gt;
Ein Eintrag in der internen Fehlerliste von [[#TVorgang|TVorgang]].&lt;br /&gt;
Wird per &amp;lt;code&amp;gt;[[#TVorgang_Meth_leseFehler|leseFehler]]&amp;lt;/code&amp;gt; ausgelesen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Feld !! Typ !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cTitel&amp;lt;/code&amp;gt; || String || Fehlertitel (Kurzbeschreibung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cText&amp;lt;/code&amp;gt; || String || Fehlertext (Detailbeschreibung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;eTyp&amp;lt;/code&amp;gt; || [[#TVorgangFehlerTyp|TVorgangFehlerTyp]] || Fehlerklassifikation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Konstanten ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Konstante !! Wert !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_POS&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;0&#039;&amp;lt;/code&amp;gt; || Positionstyp normale Artikelposition (entspricht [[#TVB_PosType|ptPosition]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_TXT&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;1&#039;&amp;lt;/code&amp;gt; || Positionstyp Textzeile (entspricht [[#TVB_PosType|ptText]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_ELN&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;2&#039;&amp;lt;/code&amp;gt; || Positionstyp Leerzeile (entspricht [[#TVB_PosType|ptLeerzeile]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_ZWS&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;3&#039;&amp;lt;/code&amp;gt; || Positionstyp Zwischensumme (entspricht [[#TVB_PosType|ptZwischensumme]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_TIS&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;4&#039;&amp;lt;/code&amp;gt; || Positionstyp Titelsumme (entspricht [[#TVB_PosType|ptTitelsumme]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_TIT&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;7&#039;&amp;lt;/code&amp;gt; || Positionstyp Titel (entspricht [[#TVB_PosType|ptTitel]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_GEW&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;8&#039;&amp;lt;/code&amp;gt; || Positionstyp Gewerk (entspricht [[#TVB_PosType|ptGewerk]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_PBR&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;17&#039;&amp;lt;/code&amp;gt; || Positionstyp Seitenumbruch (entspricht [[#TVB_PosType|ptSeitenumbruch]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_PIC&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;19&#039;&amp;lt;/code&amp;gt; || Positionstyp Bild (entspricht [[#TVB_PosType|ptBild]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;VB_DEFAULT_BezZwischensumme&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;ZWISCHENSUMME    :&#039;&amp;lt;/code&amp;gt; || Standard-Bezeichnung f&amp;amp;uuml;r Zwischensummen-Positionen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;VB_DEFAULT_BezTitelsumme&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;TITELSUMME       :&#039;&amp;lt;/code&amp;gt; || Standard-Bezeichnung f&amp;amp;uuml;r Titelsummen-Positionen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;VB_MAX_SummenEbenen&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;9&amp;lt;/code&amp;gt; || Maximale Anzahl von Summenebenen (Zwischen- und Titelsummen)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Basisklassen Vorgangsgenerierung=&lt;br /&gt;
&lt;br /&gt;
== TVorgang ==&lt;br /&gt;
&lt;br /&gt;
=== Variablen ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Name !! Typ !! Zugriff !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;oMyDB&amp;lt;/code&amp;gt; || TxDB || Lesen/Schreiben || Datenbankverbindung des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;oProtokoll&amp;lt;/code&amp;gt; || TStringList || Lesen/Schreiben || Protokoll-Liste (Meldungen/Log)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lMeldung&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Steuert Anzeige von Benutzer-Meldungen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lSetPSBemAuto&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Automatische Positionsbemerkung setzen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVorgNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Vorgangsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cProjNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Projektnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lBrutto&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Brutto-Modus aktiv&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLanguage&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sprach-Code (intern, z.&amp;amp;nbsp;B. f&amp;amp;uuml;r Formulare)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLagNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lagernummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cTyp&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Vorgangstyp-K&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dVorgDat&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Vorgangsdatum&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dFaelligDat&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || F&amp;amp;auml;lligkeitsdatum&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dBuchDat&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Buchungsdatum&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dAufDat&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Auftragsdatum&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKdNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kundennummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cAnrede&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Anrede des Kunden&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cName&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Name des Kunden&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVorname&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Vorname des Kunden&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cZusatz1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Adresszusatz 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cZusatz2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Adresszusatz 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cStrasse&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Stra&amp;amp;szlig;e der Lieferadresse&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPostfach&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Postfach&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLK&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || L&amp;amp;auml;nderkennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPLZ&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Postleitzahl&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cOrt&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Ort&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cAngebNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Angebotsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLSNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferscheinnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRechNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cAuftNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Auftragsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRepaNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Reparaturauftragsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cEinkaufsNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Einkaufsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBestellNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Bestellnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosText&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionstext (globaler Standardtext)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLProjNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Leistungsprojektnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKopftext&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kopftext des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cFusstext&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Fu&amp;amp;szlig;text des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nNBetrag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Nettobetrag gesamt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nBBetrag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Bruttobetrag gesamt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nEKBetrag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Einkaufsbetrag gesamt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabattBetrag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabattbetrag gesamt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabattProz&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabattprozentsatz gesamt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nAnzahlung&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Anzahlungsbetrag&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nPorto&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Portokosten&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nVerpackung&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Verpackungskosten&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lSplitPoVe&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Porto und Verpackung getrennt ausweisen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVersand&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandart&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cWaehr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || W&amp;amp;auml;hrungsk&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cFormul&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Formularnummer/-k&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVAnr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandanrede&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVName1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandname 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVName2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandname 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVZusatz&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandadresse Zusatz&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVStrasse&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandstra&amp;amp;szlig;e&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVLK&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versand-L&amp;amp;auml;nderkennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVPLZ&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versand-PLZ&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVOrt&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandort&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandadresse UID&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPrio&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Priorit&amp;amp;auml;t des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cAuftNrKd&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Auftrags-/Bestellnummer des Kunden&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBesteller&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Besteller (Person)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSachb&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sachbearbeiter&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabPosJN&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionsrabatt anzeigen J/N&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMWSTJN&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Mehrwertsteuer ausweisen J/N&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText3&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 3&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText4&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 4&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText5&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 5&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText6&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 6&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText7&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 7&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPreisJN&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Preis auf Dokument drucken J/N&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMwStAbs&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || MwSt-Absetzungstext/-K&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dLiefDat&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Lieferdatum&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cDeleted&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Gel&amp;amp;ouml;scht-Kennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dLDat2&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Zweites Lieferdatum&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSprache&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sprache des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReEmpf&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Nummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReAnrede&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Anrede&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReName&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Name&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReVorname&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Vorname&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReZusatz1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Adresszusatz 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReZusatz2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Adresszusatz 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReStrasse&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Stra&amp;amp;szlig;e&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRePostfach&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Postfach&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReLK&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-L&amp;amp;auml;nderkennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRePLZ&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-PLZ&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReOrt&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Ort&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVertreter&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Vertreter-K&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVerbucht&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Verbucht-Kennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLager&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lager-K&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRechFrei&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsfreigabe-Kennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBonNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Bonnummer (Kasse)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMandant&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Mandantenk&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nMwStDM&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || MwSt-Betrag in DM (Altw&amp;amp;auml;hrung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nKursDM&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Wechselkurs DM&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nAbschlag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Abschlagsbetrag&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nZBetrag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Zahlungsbetrag&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nZSkonto&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Skonto-Betrag&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dZDatum&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Zahlungsdatum&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMemo&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Memofeld des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nValuta&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Valutatage&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKostenst&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kostenstelle&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKostentraeger&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kostentr&amp;amp;auml;ger&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKalkGr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kalkulationsgruppe&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cFrachtV&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Frachtart/-vorschrift&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nFrachtK&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Frachtkosten&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nFrachtG&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Frachtgewicht&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cGruppe&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Vorgangsgruppe&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nPosInc&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Positionsnummer-Inkrement&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cFiliale&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Filialk&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabText&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabatttextfeld (kurz)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cErfasser&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Erfasser des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nSKFBetrag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Skontof&amp;amp;auml;higer Betrag&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lLiefStrecke&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Lieferstreckengesch&amp;amp;auml;ft aktiv&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBetreff&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Betreffzeile&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMemoDruck&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Druckmemo (erscheint auf Dokument)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLieferLiefNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferanten-Lieferscheinnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabattText&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabatttext (lang)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSysUid&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || System-UID des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lLeistPreis2&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Leistungspreis 2 verwenden&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cFunction&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Funktionsk&amp;amp;uuml;rzel (Scripting-Hook)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lSaveAllowed&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Speichern erlaubt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lVorgangsSperre&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Vorgang gesperrt&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Properties ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Name !! Typ !! Zugriff !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;DmsTyp&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || DMS-Typ des Vorgangs (z.&amp;amp;nbsp;B. AN, AU, LS, RE)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;MainTable&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Haupttabelle des Vorgangs (Datenbankname)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PosTable&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionstabelle des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosFormat&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionsnummern-Format&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgang_Prop_ParameterPositionsdatenAktualisieren&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;ParameterPositionsdatenAktualisieren&amp;lt;/code&amp;gt; || [[#TVorgangPosParams_AktualisiereDaten|TVorgangPosParams_AktualisiereDaten]] || Lesen/Schreiben || Parameter f&amp;amp;uuml;r Massenaktualisierung von Positionsdaten&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PnPosCnt&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Anzahl der Positionen im Vorgang&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PaPositionen[Index]&amp;lt;/code&amp;gt; || [[#TVorgangPos|TVorgangPos]] || Lesen/Schreiben || Array der Positionsobjekte (0-basiert)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PcRabGrPers&amp;lt;/code&amp;gt; || String || Nur Lesen || Rabattgruppe der Person (aus Stammdaten ermittelt)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PcVKdNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || VK-Kundennummer (alternativ zur cKdNr f&amp;amp;uuml;r Preisfindung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nNet1&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Nettobetrag MwSt-Schl&amp;amp;uuml;ssel 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nNet2&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Nettobetrag MwSt-Schl&amp;amp;uuml;ssel 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nNet3&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Nettobetrag MwSt-Schl&amp;amp;uuml;ssel 3&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nBrutto1&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Bruttobetrag MwSt-Schl&amp;amp;uuml;ssel 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nBrutto2&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Bruttobetrag MwSt-Schl&amp;amp;uuml;ssel 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nBrutto3&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Bruttobetrag MwSt-Schl&amp;amp;uuml;ssel 3&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nMwSt1&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || MwSt-Betrag Schl&amp;amp;uuml;ssel 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nMwSt2&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || MwSt-Betrag Schl&amp;amp;uuml;ssel 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nMwSt3&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || MwSt-Betrag Schl&amp;amp;uuml;ssel 3&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMwStSchl1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || MwSt-Schl&amp;amp;uuml;ssel 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMwStSchl2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || MwSt-Schl&amp;amp;uuml;ssel 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMwStSchl3&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || MwSt-Schl&amp;amp;uuml;ssel 3&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKeineVersPausch&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Keine Versandpauschale berechnen J/N&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cZahlBed&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Zahlungsbedingung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lNewVorgang&amp;lt;/code&amp;gt; || Boolean || Nur Lesen || Neuer (noch nicht gespeicherter) Vorgang&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKopfNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kopftextbaustein-Nummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cFussNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Fu&amp;amp;szlig;textbaustein-Nummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLiefStrecke&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferstrecken-K&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cStatus&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Status des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cStatM&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Material-Status&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cStatS&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Service-Status&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cStatL&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferstatus&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cStatR&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsstatus&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cColStatus&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Farb-/Anzeigestatus (f&amp;amp;uuml;r UI)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cZustand&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Zustandskenner des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cArt&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Vorgangsart-K&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBonusJN&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Bonus berechnen J/N&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVersandkostenMBW&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandkosten-Mindestbestellwert-Kennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cWKNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Werbungskosten-Nummer&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Methoden ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signatur !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;constructor Create(const cUid: string; oxDB: TxDB; cDmsType: string)&amp;lt;/code&amp;gt; || Erstellt einen neuen Vorgang mit UID, Datenbankverbindung und DMS-Typ&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;destructor Destroy&amp;lt;/code&amp;gt; || Gibt den Vorgang und alle Ressourcen frei&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function SemaphoreCreate(cFName: string; lMeldung: boolean = False; cWait: string = &#039;&#039;): boolean&amp;lt;/code&amp;gt; || Erstellt eine Datei-Semaphore (Sperrdatei); gibt True zur&amp;amp;uuml;ck wenn erfolgreich&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function SemaphoreInUse(cFName: string): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft ob die Semaphore-Datei bereits in Verwendung ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure SemaphoreReleaseAll&amp;lt;/code&amp;gt; || Gibt alle Semaphoren dieses Vorgangs frei&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure SemaphoreRelease(cFName: string)&amp;lt;/code&amp;gt; || Gibt eine bestimmte Semaphore frei&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstAngebot(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang ein Angebot ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstAuftrag(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang ein Auftrag ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstReparaturAuftrag(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang ein Reparaturauftrag ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstLieferschein(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang ein Lieferschein ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstRechnung(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang eine Rechnung ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstBestellung(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang eine Bestellung ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstAnfrage(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang eine Anfrage ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstEKLieferschein(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang ein EK-Lieferschein ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstEinkauf(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang ein Einkaufsvorgang ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstVG_VK(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn es sich um einen Verkaufsvorgang handelt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstVG_EK(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn es sich um einen Einkaufsvorgang handelt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function NeuNumLock(): boolean&amp;lt;/code&amp;gt; || Sperrt die Neunummerierung (verhindert parallele Vergabe)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure NeuNumLockRelease&amp;lt;/code&amp;gt; || Gibt die Neunummerierungssperre wieder frei&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgNeuNum(cFilter: string = &#039;&#039;; lAbweichend: boolean = false): string&amp;lt;/code&amp;gt; || Ermittelt und setzt eine neue Vorgangsnummer; gibt die Nummer als String zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgNeuNumBool(cFilter: string = &#039;&#039;; lAbweichend: boolean = false): boolean&amp;lt;/code&amp;gt; || Wie VorgNeuNum, gibt True/False zur&amp;amp;uuml;ck (f&amp;amp;uuml;r Fehlerbehandlung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstVorgNrGueltig(cUID: string = &#039;&#039;): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft ob die aktuelle Vorgangsnummer g&amp;amp;uuml;ltig (eindeutig) ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function NeuePositionBase(const cUID: string): [[#TVorgangPos|TVorgangPos]]&amp;lt;/code&amp;gt; || Legt eine neue Positionsinstanz an und f&amp;amp;uuml;gt sie dem Vorgang hinzu&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure NeuePositionBaseMS(const cUID: string; oOrgPos: [[#TVorgangPos|TVorgangPos]])&amp;lt;/code&amp;gt; || Legt eine neue Position als Multi-Steuer-Folgeposition an&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function LoeschePositionBase(nDel: integer): Boolean&amp;lt;/code&amp;gt; || L&amp;amp;ouml;scht die Position mit dem angegebenen Index&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure VerschiebePositionBase(nPos: integer; nZiel: integer)&amp;lt;/code&amp;gt; || Verschiebt Position von Index nPos zu Index nZiel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CheckIfNotNull(): Boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft ob Pflichtfelder des Vorgangs bef&amp;amp;uuml;llt sind&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CheckIfFirstPosOption(): Boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft ob die erste Position eine Optionsposition ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IsPosBerechnung(cPosArt: string): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft ob eine Positionsart als Berechnungsposition gilt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure CopyFrom(oSrc: [[#TVorgang|TVorgang]])&amp;lt;/code&amp;gt; || Kopiert alle Felder aus einem anderen Vorgang&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure KalkAll(lZusatz: boolean = true)&amp;lt;/code&amp;gt; || Kalkuliert alle Positionen und Gesamtsummen neu&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Check_Multisteuer(oOrgPos: [[#TVorgangPos|TVorgangPos]]; const cTable, cMUID, cRefNr: string)&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft und setzt Multi-Steuer-Verkn&amp;amp;uuml;pfung f&amp;amp;uuml;r eine Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyPosmenge(cFromUID: string): string&amp;lt;/code&amp;gt; || Kopiert Positionsmengen aus einem anderen Vorgang (per UID)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyPosverp(cFromUID: string): string&amp;lt;/code&amp;gt; || Kopiert Positionsverpackungen aus einem anderen Vorgang (per UID)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure fillVersandkostenMBW(const cPsNr: string; const cPsVersand: string = &#039;&#039;; const PsZusatz: string = &#039;&#039;)&amp;lt;/code&amp;gt; || Berechnet und setzt Versandkosten auf Basis Mindestbestellwert&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure FillPersonBase(qPers: TxFQuery)&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt Adressfelder des Vorgangs aus einem Personen-Query&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function FillReEmpf(const AReEmpf: string; const AZahlBed: string = &#039;&#039;): boolean&amp;lt;/code&amp;gt; || Setzt Rechnungsempf&amp;amp;auml;nger und optionale Zahlungsbedingung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function SaveRecord(cUID: string = &#039;&#039;; lAlleSpeichern: boolean = false): Boolean&amp;lt;/code&amp;gt; || Speichert den Vorgang (abstrakt &amp;amp;ndash; muss in abgeleiteter Klasse implementiert werden)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function ReadVorgangTypBase(cDmsTyp: string; const cNr: string; lPos: boolean = false; lNeg: boolean = false): boolean&amp;lt;/code&amp;gt; || Liest einen Vorgang anhand DMS-Typ und Nummer in das Objekt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function JahrNr(): string&amp;lt;/code&amp;gt; || Gibt das Jahr der Vorgangsnummer zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure NeuNumPos(const lNurPos: boolean = True)&amp;lt;/code&amp;gt; || Nummeriert alle Positionen neu&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function EigenschaftSetzen(const ANr: string; const AMode: boolean): boolean&amp;lt;/code&amp;gt; || Setzt oder l&amp;amp;ouml;scht eine Vorgangseigenschaft (Merkmal) per Nummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure AdresseLeeren&amp;lt;/code&amp;gt; || Leert alle Adressfelder des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure VersandLeeren(lRef: boolean = True)&amp;lt;/code&amp;gt; || Leert alle Versandadressfelder&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure ReEmpfLeeren(const lNurAdr: boolean = False)&amp;lt;/code&amp;gt; || Leert Rechnungsempf&amp;amp;auml;nger-Felder (optional nur Adresse)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure DoServiceTouch(cStatus: string = &#039;&#039;)&amp;lt;/code&amp;gt; || Aktualisiert Service-Zeitstempel und optionalen Status&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function AuswahlParameterPositionsdatenAktualisieren(const cXDataTable: string): boolean&amp;lt;/code&amp;gt; || Zeigt Dialog zur Auswahl der Aktualisierungsparameter f&amp;amp;uuml;r Positionsdaten&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function ZusatzkostenAktiv(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn Zusatzkostenmodul f&amp;amp;uuml;r diesen Vorgang aktiv ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgang_Meth_leseFehler&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;function leseFehler(out rFehler: [[#TVorgangFehler|TVorgangFehler]]; var nIdx: integer; const eLoeschenNachLesen: [[#TVorgangFehlerLoeschenLesen|TVorgangFehlerLoeschenLesen]] = vfllSkipCritical): boolean&amp;lt;/code&amp;gt; || Liest den n&amp;amp;auml;chsten Fehler aus der internen Fehlerliste&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== TVorgangPos ==&lt;br /&gt;
&lt;br /&gt;
=== Variablen ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Name !! Typ !! Zugriff !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nPosIndex&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Laufender Index der Position im Positions-Array&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Interne Positionsnummer (Datenbankfeld)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKundNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kundennummer an der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cAuftragsNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Referenz-Auftragsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBestellNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Referenz-Bestellnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosText&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionstext (Langtextfeld)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLProjNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Leistungsprojektnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLS_azUid&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferschein-Abrechnungszeilen-UID&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVersandNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionsnummer (formatiert)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosNr2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Zweite Positionsnummer (alternativ)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosKas&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kassier-Positionsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLeistungsNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Leistungsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBezeichnung1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Bezeichnung Zeile 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBezeichnung2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Bezeichnung Zeile 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nUrMenge&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Ursprungsmenge (vor &amp;amp;Auml;nderungen)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nLeistFaktor&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Leistungsfaktor (Multiplikator f&amp;amp;uuml;r Mengenberechnung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cEinheit&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Mengeneinheit&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nMengeG&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Mengenganz (ganzzahliger Mengenanteil)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nKolli&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Kollianzahl&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVerpackung&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Verpackungsart/-k&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nInhalt&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Inhalt pro Verpackungseinheit&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nEPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Einzelpreis (Netto)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nBEPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Brutto-Einzelpreis&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nOBPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Original-Brutto-Einzelpreis (vor Rabatt)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nUrPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Ursprungspreis (Listenpreis VK)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nUrPreisEK&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Ursprungspreis Einkauf&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nGPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Gesamtpreis (Netto)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nBGPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Brutto-Gesamtpreis&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nEKPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Einkaufspreis&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nEKSPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Einkaufssonderpreis&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cManPreis&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Manueller Preis J/N-Kennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabatt&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Gesamtrabatt in Prozent&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabatt1&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabatt 1 in Prozent&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabArt1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabattart 1 (Herkunftskennzeichen)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabatt2&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabatt 2 in Prozent&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabArt2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabattart 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabatt3&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabatt 3 in Prozent&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabArt3&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabattart 3&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabatt4&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabatt 4 in Prozent&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabArt4&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabattart 4&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabatt5&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabatt 5 in Prozent&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabArt5&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabattart 5&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nAddSub&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Additions-/Subtraktionsbetrag (Zuschlag/Abzug absolut)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKonto&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Buchungskonto&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLagNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lagernummer der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLagONr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lager-Ortsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVerkaufer&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Verk&amp;amp;auml;uferk&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cStatus&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionsstatus&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cAngebotsNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Referenz-Angebotsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Eindeutige ID der Position (GUID)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Multi-Steuer-UID (Verkn&amp;amp;uuml;pfung bei Multisteuer)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRTVon&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || R&amp;amp;uuml;cktragungs-Referenz (von welcher Position)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSpNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Speditionsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBestellUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || UID der verkn&amp;amp;uuml;pften Bestellposition&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMaterialUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || UID des verkn&amp;amp;uuml;pften Materialeintrags&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cEiliUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || UID der Eillieferungsposition&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cXUID1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Erweiterungs-UID 1 (freie Verkn&amp;amp;uuml;pfung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cXUID2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Erweiterungs-UID 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cXUID3&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Erweiterungs-UID 3&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cXUID4&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Erweiterungs-UID 4&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKommentar&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kommentarfeld der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nProvision&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Provisionsanteil in Prozent&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLiefKz&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferkennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cProdGr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Produktgruppe&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nFrachtV&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Frachtvolumen der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLSNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferscheinnummer der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dLSDatum&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Lieferscheindatum der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosArt&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionsart (z.&amp;amp;nbsp;B. N=Normal, O=Optional)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSKFJN&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Skontof&amp;amp;auml;hig J/N&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cEKHerkunft&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || EK-Preisherkunft-K&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLiefNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferantennummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLagStreck&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lager-Streckenkennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cAufschlag&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Aufschlagsk&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nStaffelPreis&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Staffelpreisstufe (Index)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nStaffelmenge&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Staffelmenge f&amp;amp;uuml;r Preisfindung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lAktionspreis&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Aktionspreis aktiv&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cAusdruckJN&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Position drucken J/N&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMemoDruck&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Druckmemo der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBildUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || UID des verkn&amp;amp;uuml;pften Bildes&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cCMPUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || CMP-Objekt-UID&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cZeit_CMPUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Zeiterfassungs-CMP-UID&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cZeit_Text&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Zeiterfassungstext&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cZeit_Mitarb&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Mitarbeiter der Zeiterfassung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dZeit_Date&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Datum der Zeiterfassung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cZeit_NurLei&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Zeiterfassung: nur Leistung J/N&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKostst&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kostenstelle der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dAbrechVon&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Abrechnungszeitraum von&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dAbrechBis&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Abrechnungszeitraum bis&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lNeuNum&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Neunummerierung f&amp;amp;uuml;r diese Position ausf&amp;amp;uuml;hren&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSysUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || System-UID der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cGeraetNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Ger&amp;amp;auml;tenummer (f&amp;amp;uuml;r Servicepositionen)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Properties ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Name !! Typ !! Zugriff !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;oMyDB&amp;lt;/code&amp;gt; || TxDB || Nur Lesen || Datenbankverbindung (vom Vorgang geerbt)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;ShopNr&amp;lt;/code&amp;gt; || String || Nur Lesen || Shop-Nummer (f&amp;amp;uuml;r Mehrshop-Preisfindung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cArtikelNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Artikelnummer (Zugriff &amp;amp;uuml;ber Property wegen Seiteneffekten)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PcMWSTSch&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || MwSt-Schl&amp;amp;uuml;ssel (Parameter-Feld)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PcMengeIn&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Mengeneingabe als String (Parameter)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PnMengeIn&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Mengeneingabe als Zahl (Parameter)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PnMengeInFak&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Mengeneingabe-Faktor (Parameter)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PcMemofeld&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Memofeld der Position (Parameter-Feld, Unicode)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PcMemofeldAnsi&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Memofeld ANSI-Version (Parameter-Feld)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosLaufend&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Laufende Positionsnummer als String&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lVerbrauchsMater&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Verbrauchsmaterial-Kennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nMenge&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Menge der Position (mit Seiteneffekten bei Schreiben)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cTyp&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionstyp als String &amp;amp;ndash; siehe [[#Konstanten|Konstanten]] (POSTYP_*)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgangPos_Prop_Typ&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;Typ&amp;lt;/code&amp;gt; || [[#TVB_PosType|TVB_PosType]] || Lesen/Schreiben || Positionstyp als Enum (ptPosition, ptText, ptLeerzeile&amp;amp;nbsp;&amp;amp;hellip;)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgangPos_Prop_OriginalPos&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;OriginalPos&amp;lt;/code&amp;gt; || [[#TVorgangPosOriginal|TVorgangPosOriginal]] || Nur Lesen || Ursprungspositionsdaten (DMS-Referenz, Nr, UID, SysUID)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Methoden ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signatur !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;constructor Create(oxVorgang: [[#TVorgang|TVorgang]]; cPosTbl: string)&amp;lt;/code&amp;gt; || Erstellt eine neue Position f&amp;amp;uuml;r den angegebenen Vorgang (veraltet, UID-Variante bevorzugen)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;constructor Create(cUid: string; oxVorgang: [[#TVorgang|TVorgang]]; cPosTbl: string)&amp;lt;/code&amp;gt; || Erstellt eine neue Position mit vorgegebener UID&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;destructor Destroy&amp;lt;/code&amp;gt; || Gibt die Position frei&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure PositionsVorbelegung&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt die Position mit Standardwerten aus den Vorgangsdaten&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure GenNewUid&amp;lt;/code&amp;gt; || Generiert eine neue UID f&amp;amp;uuml;r diese Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyPosmenge(cFromUID: string): string&amp;lt;/code&amp;gt; || Kopiert Mengen aus einer anderen Position (per UID)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyPosverp(cFromUID: string): string&amp;lt;/code&amp;gt; || Kopiert Verpackungsdaten aus einer anderen Position (per UID)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure CopyFrom(oSrc: [[#TVorgangPos|TVorgangPos]]; lFull: boolean = False)&amp;lt;/code&amp;gt; || Kopiert alle Felder aus einer anderen Position; lFull=True kopiert auch interne Felder&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure QueryToPos(qTmp: TxFQuery; lReadAsNew: boolean = false)&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt die Position aus einem Datenbankquery (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure QueryToPos(qTmp: TxFQuery; const cFromTable: string; lVerpack: Boolean = False; lUmkehr: boolean = False)&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt die Position aus einem Query mit expliziter Quelltabelle (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure DBPosToPos(const cFromTable: string; const cSysUid: string; lVerpack: Boolean = False; lUmkehr: boolean = False)&amp;lt;/code&amp;gt; || Liest eine Position direkt aus der Datenbank per SysUID&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function FillArtikel(cArtNr: string): boolean&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt die Position mit Artikelstammdaten; gibt True bei Erfolg zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function SetzeLieferant(const cLiefNr: string; lEKNeu: boolean = True; lDefaultEK1: boolean = False): boolean&amp;lt;/code&amp;gt; || Setzt den Lieferanten und aktualisiert EK-Preise&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure FillLeistung(cLeistNr: string)&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt die Position mit Leistungsstammdaten&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function SumPosBez(const eZielTyp: [[#TVB_PosType|TVB_PosType]]; const cBezVorb: string): string&amp;lt;/code&amp;gt; || Gibt die Bezeichnung f&amp;amp;uuml;r eine Summenposition zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_Pos&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;normale Position&amp;amp;ldquo;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_Text(const cText: string)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Textzeile&amp;amp;ldquo; mit dem angegebenen Text&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_Leerzeile&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Leerzeile&amp;amp;ldquo;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_Zwischensumme(const cBez: string = &#039;&#039;)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Zwischensumme&amp;amp;ldquo; (Ebene&amp;amp;nbsp;1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_ZwischensummeEbene(const nEbene: integer; const cBez: string = &#039;&#039;)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Zwischensumme&amp;amp;ldquo; der angegebenen Ebene&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_Titelsumme(const cBez: string = &#039;&#039;)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Titelsumme&amp;amp;ldquo; (Ebene&amp;amp;nbsp;1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_TitelsummeEbene(const nEbene: integer; const cBez: string = &#039;&#039;)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Titelsumme&amp;amp;ldquo; der angegebenen Ebene&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_Titel(const cBez: string)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Titel&amp;amp;ldquo;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_Gewerk(const cBez: string)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Gewerk&amp;amp;ldquo;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_NeueSeite&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Seitenumbruch&amp;amp;ldquo;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_Bild(const cBild: string)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Bild&amp;amp;ldquo; mit dem angegebenen Bildpfad/-UID&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure UStKorrektur(const dCheckDate: TDateTime)&amp;lt;/code&amp;gt; || Korrigiert den Umsatzsteuerschl&amp;amp;uuml;ssel gem&amp;amp;auml;&amp;amp;szlig; Datum (Steuersatz&amp;amp;auml;nderungen)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure KalkPos&amp;lt;/code&amp;gt; || Kalkuliert Gesamtpreis und abgeleitete Felder dieser Position neu&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosNrAllowed(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn dieser Positionstyp eine Positionsnummer erh&amp;amp;auml;lt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure SetPosNr(cP: string; cT: string = &#039;&#039;; cG: string = &#039;&#039;; cFormat: string = &#039;&#039;)&amp;lt;/code&amp;gt; || Setzt die Positionsnummer aus String-Komponenten (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure SetPosNr(nP: integer; nT: integer = -1; nG: integer = -1; cFormat: string = &#039;&#039;)&amp;lt;/code&amp;gt; || Setzt die Positionsnummer aus numerischen Komponenten (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosLaufend(iPos: integer = 0): string&amp;lt;/code&amp;gt; || Gibt die laufende Positionsnummer als formatierten String zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Preisfindung(cShopNr: string = CONST_NO_SHOP)&amp;lt;/code&amp;gt; || F&amp;amp;uuml;hrt die Preisfindung f&amp;amp;uuml;r diese Position aus&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function SetOpenBookLieferant(): boolean&amp;lt;/code&amp;gt; || Setzt den Open-Book-Lieferanten f&amp;amp;uuml;r diese Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure AddToMemo(const cText: string; const lNewLine: boolean = False)&amp;lt;/code&amp;gt; || F&amp;amp;uuml;gt Text zum Memofeld hinzu&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgangPos_Meth_AktualisiereDaten&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;procedure AktualisiereDaten&amp;lt;/code&amp;gt; || Aktualisiert Texte, EK- und VK-Preise gem&amp;amp;auml;&amp;amp;szlig; [[#TVorgang_Prop_ParameterPositionsdatenAktualisieren|ParameterPositionsdatenAktualisieren]]&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure EKCalcMengeIn(var nEkFak: double)&amp;lt;/code&amp;gt; || Berechnet den EK-Mengeneingabe-Faktor (R&amp;amp;uuml;ckgabe per var-Parameter)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CanSave(): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft ob diese Position gespeichert werden kann/darf&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure qSqlSet(AqSql: TqSql)&amp;lt;/code&amp;gt; || Setzt das SQL-Objekt f&amp;amp;uuml;r erweiterte DB-Operationen dieser Position&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Globale Methoden =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Signatur !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstVKVorgang(cMainTable: string): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck, wenn die Haupttabelle ein VK-Vorgang ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstVKVorgangPos(cPosTable: string): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck, wenn die Positionstabelle zu einem VK-Vorgang geh&amp;amp;ouml;rt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyPosmengeDB(oMyDB: TxDB; cFromUID: string): string&amp;lt;/code&amp;gt; || Kopiert Positionsmengen aus einem anderen Vorgang (direkt per Datenbankzugriff)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyPosverpDB(oMyDB: TxDB; cFromUID: string): string&amp;lt;/code&amp;gt; || Kopiert Positionsverpackungen aus einem anderen Vorgang (direkt per Datenbankzugriff)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyRTFLan(oMyDB: TxDB; cVonTable, cVonRef, cNachTable, cNachRef: String): String&amp;lt;/code&amp;gt; || Kopiert RTF-Langtexte zwischen Vorgangs-Positionen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure CopyKalkulationAN2AU(oMyDB: TxDB; cANRef1, cANRef2, cAURef1, cAURef2: String; fPosmenge: Double)&amp;lt;/code&amp;gt; || Kopiert Kalkulation von Angebot nach Auftrag (mit Mengenfaktor)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure CopyKalkulationAU(oMyDB: TxDB; cANRef1, cANRef2, cAURef1, cAURef2: String)&amp;lt;/code&amp;gt; || Kopiert Auftragskalkulation zwischen zwei Positionen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure CopyKalkulationAN(oMyDB: TxDB; cANRef1, cANRef2, cAURef1, cAURef2: String)&amp;lt;/code&amp;gt; || Kopiert Angebotskalkulation zwischen zwei Positionen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosNrFormatCheck(const cFormat: string): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft, ob ein Positionsnummern-Format g&amp;amp;uuml;ltig ist (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosNrFormatCheck(oMyDB: TxDB; const cFormat: string): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft Format gegen Datenbankeinstellungen (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosNrFormatCounts(const cFormat: string; out nG, nT, nP: integer): boolean&amp;lt;/code&amp;gt; || Liefert die Stellenzahlen f&amp;amp;uuml;r Gewerk, Titel und Position aus dem Format (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosNrFormatCounts(oMyDB: TxDB; const cFormat: string; out nG, nT, nP: integer): boolean&amp;lt;/code&amp;gt; || Wie oben, mit Datenbankzugriff (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosNrSplit(oMyDB: TxDB; const cFormat, cPosTyp: string; cPosNr: string; out nG, nT, nP: integer): boolean&amp;lt;/code&amp;gt; || Zerlegt eine formatierte Positionsnummer in ihre Bestandteile&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function GetVorgangMandant(oMyDB: TxDB; const cTable, cNr: string): string&amp;lt;/code&amp;gt; || Gibt den Mandanten-Schl&amp;amp;uuml;ssel f&amp;amp;uuml;r einen Vorgang zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function GetVorgangTextTB(const nPMode: integer; out cTB_Nr: string; cFiliale: string = &#039;&#039;): boolean&amp;lt;/code&amp;gt; || Ermittelt die Textbaustein-Nummer f&amp;amp;uuml;r den angegebenen Positionsmodus&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function GetVorgangTextTBPers(oMyDB: TxDB; const cPsNr: string; const nPMode: integer; out cTB_Nr: string; cFiliale: string = &#039;&#039;): boolean&amp;lt;/code&amp;gt; || Wie GetVorgangTextTB, zus&amp;amp;auml;tzlich personenbezogen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function KopfTextPlatzhalter(var cKopfText: string; const cBrief1, cBrief2: string): boolean&amp;lt;/code&amp;gt; || Ersetzt Platzhalter im Kopftext durch Briefanredefelder&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangArt(oMyDB: TxDB; const cDMS, cNr: string): integer&amp;lt;/code&amp;gt; || Gibt die Vorgangsart als Integer-Kennziffer zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangStatus(oMyDB: TxDB; const cDMS, cNr: string): string&amp;lt;/code&amp;gt; || Gibt den aktuellen Status eines Vorgangs aus der Datenbank zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangVerbucht(oMyDB: TxDB; const cDMS, cNr: string): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck, wenn der Vorgang verbucht ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangUstEnthalten(oMyDB: TxDB; const cDMS, cNr, cUstSchl: string; cFeld: string = &#039;&#039;): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft, ob ein bestimmter USt-Schl&amp;amp;uuml;ssel im Vorgang verwendet wird&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PortoVerpackKannSkonto(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck, wenn Porto/Verpackung skontof&amp;amp;auml;hig ist (laut Systemeinstellung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function GetPosBild(oMyDB: TxDB; cArtNr: string; var cBildUID: string): boolean&amp;lt;/code&amp;gt; || Ermittelt die Bild-UID eines Artikels f&amp;amp;uuml;r eine Positions-Bildposition&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangVertreterVorb(oMyDB: TxDB; const cVertreter: string): string&amp;lt;/code&amp;gt; || Gibt den vorgebelegten Vertreter-Schl&amp;amp;uuml;ssel zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangVertreterPrio(oMyDB: TxDB; const cAktVertreter: string): string&amp;lt;/code&amp;gt; || Gibt den Vertreter mit h&amp;amp;ouml;chster Priorit&amp;amp;auml;t zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function GenerierePositionskommentar(cUrsprung, cKommentar: String): String&amp;lt;/code&amp;gt; || Kombiniert Ursprungs- und Kommentartext zu einem Positions-Kommentar&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function ReplacePlatzhalterReparaturAuftrag(cRAufNr: String; cText: String = &#039;&#039;): String&amp;lt;/code&amp;gt; || Ersetzt Platzhalter im Text durch Reparaturauftragsdaten&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function ReplacePlatzhalterPosErfassung(oMyDB: TxDB; const cBuffer, cTable, cNr: string; const lDef: Boolean = False; const lRepa: Boolean = False): String&amp;lt;/code&amp;gt; || Ersetzt Platzhalter im Text bei der Positionserfassung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function LoadPlatzhalterVorgang(oMyDB: TxDB; const cTable, cNr: string; var oPlatzhalter: TPlatzhalterVorgang): Boolean&amp;lt;/code&amp;gt; || L&amp;amp;auml;dt Platzhalter-Daten eines Vorgangs aus der Datenbank&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PlatzhalterVorgang(const cText, cNr: string; const oPlatzhalter: TPlatzhalterVorgang; const lDef: Boolean = false; const lRepa: Boolean = false): string&amp;lt;/code&amp;gt; || Ersetzt Platzhalter im Text mit den geladenen Vorgang-Platzhaltern&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function GetPosVorb_ErlKto(oMyDB: TxDB; const cErlJahr, cManNr, cFiliale: string): string&amp;lt;/code&amp;gt; || Gibt das Erl&amp;amp;ouml;skonto f&amp;amp;uuml;r eine Positionsvorbelegung zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure ChangePosPreisFromLeistPreis2(oVorgang: TVorgang)&amp;lt;/code&amp;gt; || Wechselt f&amp;amp;uuml;r alle Positionen auf den alternativen Leistungspreis 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_ToXMLStr(oMyDB: TxDB; const cTable, cPosTable, cVorgNr: String): string&amp;lt;/code&amp;gt; || Exportiert einen Vorgang als XML-String&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_ToDelArchiv(oMyDB: TxDB; const cTable, cPosTable, cVorgNr: String): Boolean&amp;lt;/code&amp;gt; || Verschiebt einen Vorgang ins L&amp;amp;ouml;scharchiv&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_ToXMLFile(oMyDB: TxDB; const cFile, cTable, cPosTable, cVorgNr: String): Boolean&amp;lt;/code&amp;gt; || Exportiert einen Vorgang in eine XML-Datei&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function XMLFile_ToVorgang(oMyDB: TxDB; const cData: String; var cNewNr, cOldNr: String): Boolean&amp;lt;/code&amp;gt; || Importiert einen Vorgang aus einem XML-String/-Datei&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function DelArchivTo_Vorgang(oMyDB: TxDB; const cTabelle, cVorgang: String): String&amp;lt;/code&amp;gt; || Stellt einen archivierten Vorgang wieder her&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_Runden_MengeInFak(oMyDB: TxDB; const cTabMain, cTabPos: string; nValue: double): double&amp;lt;/code&amp;gt; || Rundet den Mengeneingabe-Faktor gem&amp;amp;auml;&amp;amp;szlig; Tabelleneinstellung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_Rohertrag(oMyDB: TxDB; const cDMSTyp, cVorgNr: String; nNettoBetrag: Double): String&amp;lt;/code&amp;gt; || Berechnet den Rohertrag eines Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_Rohertrag_Ext(oMyDB: TxDB; const cDMSTyp, cVorgNr: String; nNettoBetrag: Double; lSollStunden: Boolean): string&amp;lt;/code&amp;gt; || Berechnet den Rohertrag erweitert (mit Sollstunden)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangFelder(cTyp: String; lPosition, lArtikel, lMaterial, lAuswertung, lMessen: Boolean; lSchiff: Boolean = False): String&amp;lt;/code&amp;gt; || Gibt die aktiven Feldgruppen eines Vorgangstyps als String zur&amp;amp;uuml;ck (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangFelder(oMyDB: TxDB; cTyp: String; lPosition, lArtikel, lMaterial, lAuswertung, lMessen: Boolean; lSchiff: Boolean = False): String&amp;lt;/code&amp;gt; || Wie oben, mit Datenbankzugriff (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_IstGesperrt(oMyDB: TxDB; const cTyp, cRef: string; const cFeld: string = &#039;a_nr&#039;): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft, ob ein Vorgang gesperrt ist (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_IstGesperrt(oMyDB: TxDB; const rDMS: TDMSType; const cRef: string; const cFeld: string = &#039;a_nr&#039;): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft Sperrung per DMS-Typ (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_FilterSperrung(oMyDB: TxDB; const cTyp, cRef: string; out cOffen, cGesperrt: string; const cFeld: string = &#039;a_nr&#039;): boolean&amp;lt;/code&amp;gt; || Gibt SQL-Filter-Strings f&amp;amp;uuml;r offene/gesperrte Vorg&amp;amp;auml;nge zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_FilterSperrung_Offen(oMyDB: TxDB; const cTyp, cRef: string; out cOffen: string; const cFeld: string = &#039;a_nr&#039;): boolean&amp;lt;/code&amp;gt; || Gibt nur den Filter f&amp;amp;uuml;r offene (nicht gesperrte) Vorg&amp;amp;auml;nge zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_UbernahmeMassen(oMyDB: TxDB; const cVonUid, cNachDmsTyp, cNachVorgNr, cNachUid: string): boolean&amp;lt;/code&amp;gt; || Massenweise Positions&amp;amp;uuml;bernahme zwischen Vorg&amp;amp;auml;ngen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_GetMenge(oMyDB: TxDB; const cPosTable, cKeyField, cUID: String; out nUrmenge: Double; const cEigUID: String = &#039;&#039;): Double&amp;lt;/code&amp;gt; || Liest die aktuelle und Ursprungsmenge einer Position aus der Datenbank&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_CheckPosTyp(const cTyp: string): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft, ob ein Positionstyp-Schl&amp;amp;uuml;ssel g&amp;amp;uuml;ltig ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_HatReEmpfAdr(qVorgangData: TxFQuery): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck, wenn der Vorgang eine Rechnungsempf&amp;amp;auml;nger-Adresse hat (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_HatReEmpfAdr(qVorgangData: TxQuery): boolean&amp;lt;/code&amp;gt; || Wie oben, f&amp;amp;uuml;r TxQuery (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_AnzeigeReEmpf(oMyDB: TxDB; qMain: TxFQuery; const cMainTable: string; cAdressBez: string = &#039;&#039;; lUseReportLang: boolean = True): string&amp;lt;/code&amp;gt; || Gibt die anzuzeigende Rechnungsempf&amp;amp;auml;nger-Adresse als formatierten Text zur&amp;amp;uuml;ck (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_AnzeigeReEmpf(oMyDB: TxDB; qMain: TxQuery; const cMainTable: string; cAdressBez: string = &#039;&#039;; lUseReportLang: boolean = True): string&amp;lt;/code&amp;gt; || Wie oben, f&amp;amp;uuml;r TxQuery (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PortoVerpackBerechnet(oMyDB: TxDB; const cDmsVon, cDmsSetzen, cNrSetzen: string): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft, ob Porto/Verpackung bereits berechnet wurde und setzt Kennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangVorb_Waehrung(oMyDB: TxDB; const cValue: string = &#039;01&#039;): string&amp;lt;/code&amp;gt; || Gibt den Standardw&amp;amp;auml;hrungsschl&amp;amp;uuml;ssel f&amp;amp;uuml;r Vorgangsvorbelegung zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangVorb_RechKreis(oMyDB: TxDB; const cValue: string = &#039;01&#039;): string&amp;lt;/code&amp;gt; || Gibt den Standardrechnungskreis-Schl&amp;amp;uuml;ssel zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangVorbPos_VomLager(const nTokenPos: integer; const cLagStreck: string): string&amp;lt;/code&amp;gt; || Gibt das Lager/die Strecke f&amp;amp;uuml;r eine Positionsvorbelegung zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_VersandkostenMBW(oMyDB: TxDB; const cDmsTyp: string; const lGen: boolean; const cPsNr: string; const cPsVersand: string = &#039;&#039;; const cPsZusatz: string = &#039;&#039;): string&amp;lt;/code&amp;gt; || Berechnet Versandkosten auf Basis des Mindestbestellwerts&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfFile(oMyDB: TxDB; const cDmsTyp, cNr, cKdNr: string; out cPdfFile: string): boolean&amp;lt;/code&amp;gt; || Ermittelt den Pfad zur archivierten PDF-Datei eines Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfAsBase64File(oMyDB: TxDB; const cDmsTyp, cNr, cKdNr: string; out cBase64File: string): boolean&amp;lt;/code&amp;gt; || Liefert die PDF-Datei als Base64-kodierten Pfad&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfAsBase64Parts(oMyDB: TxDB; const cDmsTyp, cNr, cKdNr: string; const nPart: integer; out cBase64: string; out nParts: integer; nPartSize: integer = 0): boolean&amp;lt;/code&amp;gt; || Liefert die PDF in Teilen als Base64 (mit KdNr, &amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfAsBase64Parts(oMyDB: TxDB; const cDmsTyp, cNr, cKdNr: string; const nPart: integer; out cBase64: string; out nParts: integer; cPartSize: string): boolean&amp;lt;/code&amp;gt; || Wie oben, Teilgr&amp;amp;ouml;&amp;amp;szlig;e als String (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfAsBase64Parts(oMyDB: TxDB; const cDmsTyp, cNr: string; const nPart: integer; out cBase64: string; out nParts: integer; nPartSize: integer = 0): boolean&amp;lt;/code&amp;gt; || Wie oben, ohne KdNr (&amp;amp;Uuml;berladung 3)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfAsBase64Parts(oMyDB: TxDB; const cDmsTyp, cNr: string; const nPart: integer; out cBase64: string; out nParts: integer; cPartSize: string): boolean&amp;lt;/code&amp;gt; || Wie oben, Teilgr&amp;amp;ouml;&amp;amp;szlig;e als String (&amp;amp;Uuml;berladung 4)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfAsBase64(oMyDB: TxDB; const cDmsTyp, cNr: string; out cBase64: string): boolean&amp;lt;/code&amp;gt; || Liefert die gesamte PDF als Base64-String&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PosUebernommen(oMyDB: TxDB; const cVonDmsTyp, cVonNr, cPosUid: string): TVorgangPosOriginalListe&amp;lt;/code&amp;gt; || Gibt eine Liste aller Vorg&amp;amp;auml;nge zur&amp;amp;uuml;ck, in die diese Position &amp;amp;uuml;bernommen wurde&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_GetPosRef(oMyDB: TxDB; const cVonDmsTyp, cVonNr, cPosUid, cRefDmsTypen: string): TVorgangPosOriginalListe&amp;lt;/code&amp;gt; || Gibt Referenzen einer Position auf andere DMS-Typen zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_ArtBox(const cDMSTyp: string): string&amp;lt;/code&amp;gt; || Gibt die Vorgangsart-Box (Auswahlstring) f&amp;amp;uuml;r einen DMS-Typ zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_SummenEbene(const nEbene: integer): integer&amp;lt;/code&amp;gt; || Validiert und normiert eine Summen-Ebene (1..VB_MAX_SummenEbenen)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_SummenEbeneAusMenge(const nMenge: double): integer&amp;lt;/code&amp;gt; || Berechnet die Summenebene aus einem Mengenwert&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_KalkAufschlagPos(const nSatz, nZwSumme, nMengeIn, nMengeInFak, nRabatt: double): double&amp;lt;/code&amp;gt; || Berechnet den Aufschlagsbetrag f&amp;amp;uuml;r eine Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_SumPosText(const eTyp: [[#TVB_PosType|TVB_PosType]]; const cLanguage: string): string&amp;lt;/code&amp;gt; || Gibt den lokalisierten Standardtext f&amp;amp;uuml;r eine Summenposition zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_SumPosTextZw(cLang: string = &#039;&#039;): string&amp;lt;/code&amp;gt; || Gibt den lokalisierten Text f&amp;amp;uuml;r Zwischensummen-Positionen zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_SumPosTextTit(cLang: string = &#039;&#039;): string&amp;lt;/code&amp;gt; || Gibt den lokalisierten Text f&amp;amp;uuml;r Titelsummen-Positionen zur&amp;amp;uuml;ck&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Nimz</name></author>
	</entry>
	<entry>
		<id>https://wiki.bergau.de/index.php?title=OBS/Makros_und_Scripting/Allgemeines/Klassen/Vorg%C3%A4nge&amp;diff=64504</id>
		<title>OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge</title>
		<link rel="alternate" type="text/html" href="https://wiki.bergau.de/index.php?title=OBS/Makros_und_Scripting/Allgemeines/Klassen/Vorg%C3%A4nge&amp;diff=64504"/>
		<updated>2026-06-12T11:46:40Z</updated>

		<summary type="html">&lt;p&gt;Nimz: /* TVorgangPosSummen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Makros und Scripting}}&lt;br /&gt;
Es gibt für die Generierung von Vorgängen eigene Klassen. Da es zwischen den Vorgängen immer irgendwelche Unterschiede gibt, existiert auch für jeden Vorgangs-Typ eine eigene Klasse.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Übersicht Klassen:&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Angebot|Angebot]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Auftrag|Auftrag]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Reparaturauftrag|Reparaturauftrag]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Produktionsauftrag|Produktionsauftrag]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Lieferschein|Lieferschein]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Rechnung|Rechnung]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Bestellung|Bestellung]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Einkaufslieferschein|Einkaufslieferschein]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Einkauf|Einkauf]]&lt;br /&gt;
&lt;br /&gt;
= Datentypen =&lt;br /&gt;
&lt;br /&gt;
== Enumerationen ==&lt;br /&gt;
&lt;br /&gt;
=== TVB_PosType ===&lt;br /&gt;
Positionstyp einer [[#TVorgangPos|TVorgangPos]]. Wird &amp;amp;uuml;ber die Property &amp;lt;code&amp;gt;[[#TVorgangPos_Prop_Typ|Typ]]&amp;lt;/code&amp;gt; gelesen/gesetzt.&lt;br /&gt;
Die zugeh&amp;amp;ouml;rigen String-Konstanten sind unter [[#Konstanten|Konstanten]] beschrieben.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wert !! Bezeichner !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 0 || &amp;lt;code&amp;gt;ptPosition&amp;lt;/code&amp;gt; || Normale Artikelposition&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 1 || &amp;lt;code&amp;gt;ptText&amp;lt;/code&amp;gt; || Textzeile / Memorundzeile&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 2 || &amp;lt;code&amp;gt;ptLeerzeile&amp;lt;/code&amp;gt; || Leere Trennzeile&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 3 || &amp;lt;code&amp;gt;ptZwischensumme&amp;lt;/code&amp;gt; || Zwischensummen-Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 4 || &amp;lt;code&amp;gt;ptTitelsumme&amp;lt;/code&amp;gt; || Titelsummen-Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 5 || &amp;lt;code&amp;gt;ptTitel&amp;lt;/code&amp;gt; || Titelzeile&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 6 || &amp;lt;code&amp;gt;ptGewerk&amp;lt;/code&amp;gt; || Gewerk-Kopfzeile&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 7 || &amp;lt;code&amp;gt;ptSeitenumbruch&amp;lt;/code&amp;gt; || Manueller Seitenumbruch&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 8 || &amp;lt;code&amp;gt;ptBild&amp;lt;/code&amp;gt; || Bildposition&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVB_MaterMode ===&lt;br /&gt;
Steuert den Materialmodus beim Lesen von Positionsdaten.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wert !! Bezeichner !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 0 || &amp;lt;code&amp;gt;mmNone&amp;lt;/code&amp;gt; || Kein spezieller Materialmodus&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 1 || &amp;lt;code&amp;gt;mmMD5&amp;lt;/code&amp;gt; || Materialpr&amp;amp;uuml;fung per MD5-Hash&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 2 || &amp;lt;code&amp;gt;mmReadUID&amp;lt;/code&amp;gt; || Material-UID direkt lesen&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVorgangFehlerTyp ===&lt;br /&gt;
Klassifiziert einen Eintrag in der internen Fehlerliste eines [[#TVorgang|TVorgang]].&lt;br /&gt;
Wird im Record [[#TVorgangFehler|TVorgangFehler]] verwendet.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wert !! Bezeichner !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 0 || &amp;lt;code&amp;gt;vftOther&amp;lt;/code&amp;gt; || Sonstiger Hinweis&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 1 || &amp;lt;code&amp;gt;vftCritical&amp;lt;/code&amp;gt; || Kritischer Fehler (blockiert Speichern)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 2 || &amp;lt;code&amp;gt;vftSaveCheck&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;fung beim Speichern&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 3 || &amp;lt;code&amp;gt;vftPosInfo&amp;lt;/code&amp;gt; || Positionsbezogene Information&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVorgangFehlerLoeschenLesen ===&lt;br /&gt;
Steuert, welche Fehler nach dem Lesen via &amp;lt;code&amp;gt;[[#TVorgang_Meth_leseFehler|leseFehler]]&amp;lt;/code&amp;gt; aus der Liste gel&amp;amp;ouml;scht werden.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wert !! Bezeichner !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 0 || &amp;lt;code&amp;gt;vfllNone&amp;lt;/code&amp;gt; || Kein Fehler nach dem Lesen l&amp;amp;ouml;schen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 1 || &amp;lt;code&amp;gt;vfllAll&amp;lt;/code&amp;gt; || Alle Fehler nach dem Lesen l&amp;amp;ouml;schen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 2 || &amp;lt;code&amp;gt;vfllSkipCritical&amp;lt;/code&amp;gt; || Nur nicht-kritische Fehler l&amp;amp;ouml;schen (Standard)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Records ==&lt;br /&gt;
&lt;br /&gt;
=== TVorgangPosOriginal ===&lt;br /&gt;
Enth&amp;amp;auml;lt Referenzinformationen der Ursprungsposition (z.&amp;amp;nbsp;B. bei der Vorgangs&amp;amp;uuml;bernahme).&lt;br /&gt;
Wird &amp;amp;uuml;ber die Property &amp;lt;code&amp;gt;[[#TVorgangPos_Prop_OriginalPos|OriginalPos]]&amp;lt;/code&amp;gt; einer [[#TVorgangPos|TVorgangPos]] geliefert.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Feld !! Typ !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;rDMS&amp;lt;/code&amp;gt; || TDMSType || DMS-Typ des Ursprungsvorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cNr&amp;lt;/code&amp;gt; || String || Vorgangsnummer des Ursprungs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cUid&amp;lt;/code&amp;gt; || String || UID der Ursprungsposition&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSysUid&amp;lt;/code&amp;gt; || String || System-UID der Ursprungsposition&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Methoden:&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signatur !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Clear&amp;lt;/code&amp;gt; || Leert alle Felder des Records&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure SetData(const ADMS: TDMSType; qPos: TxFQuery)&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt den Record aus einem Positions-Query&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVorgangPosParams_AktualisiereDaten ===&lt;br /&gt;
Steuert, welche Datenbereiche bei &amp;lt;code&amp;gt;[[#TVorgangPos_Meth_AktualisiereDaten|AktualisiereDaten]]&amp;lt;/code&amp;gt; aktualisiert werden sollen.&lt;br /&gt;
Wird &amp;amp;uuml;ber die Property &amp;lt;code&amp;gt;[[#TVorgang_Prop_ParameterPositionsdatenAktualisieren|ParameterPositionsdatenAktualisieren]]&amp;lt;/code&amp;gt; von [[#TVorgang|TVorgang]] gesetzt.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Feld !! Typ !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lTexte&amp;lt;/code&amp;gt; || Boolean || Bezeichnungen/Texte aktualisieren&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lEK&amp;lt;/code&amp;gt; || Boolean || Einkaufspreise aktualisieren&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lVK&amp;lt;/code&amp;gt; || Boolean || Verkaufspreise aktualisieren&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Methoden:&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signatur !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Init(const cVorb: string = &#039;&#039;)&amp;lt;/code&amp;gt; || Initialisiert die Parameter mit Standardwerten; optionaler Vorbelegungsschl&amp;amp;uuml;ssel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Aktualisieren(): boolean&amp;lt;/code&amp;gt; || Gibt &amp;lt;code&amp;gt;True&amp;lt;/code&amp;gt; zur&amp;amp;uuml;ck, wenn mindestens ein Aktualisierungsschalter gesetzt ist&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVorgangPosSummen ===&lt;br /&gt;
Speichert Zwischen- und Titelsummen-Betr&amp;amp;auml;ge je Ebene (1 bis &amp;lt;code&amp;gt;VB_MAX_SummenEbenen&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Feld !! Typ !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;aZw[1..9]&amp;lt;/code&amp;gt; || Double || Zwischensummen-Betr&amp;amp;auml;ge je Ebene&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;aTit[1..9]&amp;lt;/code&amp;gt; || Double || Titelsummen-Betr&amp;amp;auml;ge je Ebene&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Methoden:&#039;&#039;&#039;&lt;br /&gt;
{{Achtung|Funktioniert nur im Scriptrunner &amp;quot;Pax&amp;quot;! Aktiver Scriptrunner ist definiert in Programmparameter 444.}}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signatur !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Clear&amp;lt;/code&amp;gt; || Setzt alle Summen auf 0&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure ClearZw(const nEbene: integer)&amp;lt;/code&amp;gt; || Setzt Zwischensumme der Ebene nEbene auf 0&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure ClearTit(const nEbene: integer)&amp;lt;/code&amp;gt; || Setzt Titelsumme der Ebene nEbene auf 0&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure AddZw(const nBetrag: double)&amp;lt;/code&amp;gt; || Addiert Betrag zur aktiven Zwischensummen-Ebene&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure AddTit(const nBetrag: double)&amp;lt;/code&amp;gt; || Addiert Betrag zur aktiven Titelsummen-Ebene&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function ReadZw(const nEbene: integer): double&amp;lt;/code&amp;gt; || Liefert den Zwischensummen-Betrag der Ebene&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function ReadTit(const nEbene: integer): double&amp;lt;/code&amp;gt; || Liefert den Titelsummen-Betrag der Ebene&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVorgangEigenschaft ===&lt;br /&gt;
Repr&amp;amp;auml;sentiert ein Vorgangsmerkmal (Eigenschaft), das per &amp;lt;code&amp;gt;[[#TVorgang_Meth_EigenschaftSetzen|EigenschaftSetzen]]&amp;lt;/code&amp;gt; gesetzt wird.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Feld !! Typ !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cNr&amp;lt;/code&amp;gt; || String || Merkmalsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lMode&amp;lt;/code&amp;gt; || Boolean || True = setzen, False = l&amp;amp;ouml;schen&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVorgangFehler ===&lt;br /&gt;
Ein Eintrag in der internen Fehlerliste von [[#TVorgang|TVorgang]].&lt;br /&gt;
Wird per &amp;lt;code&amp;gt;[[#TVorgang_Meth_leseFehler|leseFehler]]&amp;lt;/code&amp;gt; ausgelesen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Feld !! Typ !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cTitel&amp;lt;/code&amp;gt; || String || Fehlertitel (Kurzbeschreibung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cText&amp;lt;/code&amp;gt; || String || Fehlertext (Detailbeschreibung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;eTyp&amp;lt;/code&amp;gt; || [[#TVorgangFehlerTyp|TVorgangFehlerTyp]] || Fehlerklassifikation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Konstanten ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Konstante !! Wert !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_POS&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;0&#039;&amp;lt;/code&amp;gt; || Positionstyp normale Artikelposition (entspricht [[#TVB_PosType|ptPosition]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_TXT&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;1&#039;&amp;lt;/code&amp;gt; || Positionstyp Textzeile (entspricht [[#TVB_PosType|ptText]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_ELN&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;2&#039;&amp;lt;/code&amp;gt; || Positionstyp Leerzeile (entspricht [[#TVB_PosType|ptLeerzeile]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_ZWS&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;3&#039;&amp;lt;/code&amp;gt; || Positionstyp Zwischensumme (entspricht [[#TVB_PosType|ptZwischensumme]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_TIS&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;4&#039;&amp;lt;/code&amp;gt; || Positionstyp Titelsumme (entspricht [[#TVB_PosType|ptTitelsumme]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_TIT&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;7&#039;&amp;lt;/code&amp;gt; || Positionstyp Titel (entspricht [[#TVB_PosType|ptTitel]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_GEW&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;8&#039;&amp;lt;/code&amp;gt; || Positionstyp Gewerk (entspricht [[#TVB_PosType|ptGewerk]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_PBR&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;17&#039;&amp;lt;/code&amp;gt; || Positionstyp Seitenumbruch (entspricht [[#TVB_PosType|ptSeitenumbruch]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_PIC&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;19&#039;&amp;lt;/code&amp;gt; || Positionstyp Bild (entspricht [[#TVB_PosType|ptBild]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;VB_DEFAULT_BezZwischensumme&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;ZWISCHENSUMME    :&#039;&amp;lt;/code&amp;gt; || Standard-Bezeichnung f&amp;amp;uuml;r Zwischensummen-Positionen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;VB_DEFAULT_BezTitelsumme&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;TITELSUMME       :&#039;&amp;lt;/code&amp;gt; || Standard-Bezeichnung f&amp;amp;uuml;r Titelsummen-Positionen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;VB_MAX_SummenEbenen&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;9&amp;lt;/code&amp;gt; || Maximale Anzahl von Summenebenen (Zwischen- und Titelsummen)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Basisklassen Vorgangsgenerierung=&lt;br /&gt;
&lt;br /&gt;
== TVorgang ==&lt;br /&gt;
&lt;br /&gt;
=== Variablen ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Name !! Typ !! Zugriff !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;oMyDB&amp;lt;/code&amp;gt; || TxDB || Lesen/Schreiben || Datenbankverbindung des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;oProtokoll&amp;lt;/code&amp;gt; || TStringList || Lesen/Schreiben || Protokoll-Liste (Meldungen/Log)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lMeldung&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Steuert Anzeige von Benutzer-Meldungen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lSetPSBemAuto&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Automatische Positionsbemerkung setzen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVorgNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Vorgangsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cProjNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Projektnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lBrutto&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Brutto-Modus aktiv&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLanguage&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sprach-Code (intern, z.&amp;amp;nbsp;B. f&amp;amp;uuml;r Formulare)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLagNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lagernummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cTyp&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Vorgangstyp-K&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dVorgDat&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Vorgangsdatum&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dFaelligDat&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || F&amp;amp;auml;lligkeitsdatum&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dBuchDat&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Buchungsdatum&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dAufDat&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Auftragsdatum&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKdNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kundennummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cAnrede&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Anrede des Kunden&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cName&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Name des Kunden&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVorname&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Vorname des Kunden&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cZusatz1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Adresszusatz 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cZusatz2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Adresszusatz 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cStrasse&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Stra&amp;amp;szlig;e der Lieferadresse&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPostfach&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Postfach&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLK&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || L&amp;amp;auml;nderkennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPLZ&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Postleitzahl&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cOrt&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Ort&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cAngebNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Angebotsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLSNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferscheinnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRechNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cAuftNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Auftragsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRepaNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Reparaturauftragsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cEinkaufsNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Einkaufsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBestellNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Bestellnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosText&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionstext (globaler Standardtext)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLProjNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Leistungsprojektnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKopftext&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kopftext des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cFusstext&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Fu&amp;amp;szlig;text des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nNBetrag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Nettobetrag gesamt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nBBetrag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Bruttobetrag gesamt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nEKBetrag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Einkaufsbetrag gesamt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabattBetrag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabattbetrag gesamt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabattProz&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabattprozentsatz gesamt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nAnzahlung&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Anzahlungsbetrag&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nPorto&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Portokosten&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nVerpackung&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Verpackungskosten&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lSplitPoVe&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Porto und Verpackung getrennt ausweisen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVersand&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandart&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cWaehr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || W&amp;amp;auml;hrungsk&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cFormul&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Formularnummer/-k&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVAnr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandanrede&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVName1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandname 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVName2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandname 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVZusatz&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandadresse Zusatz&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVStrasse&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandstra&amp;amp;szlig;e&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVLK&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versand-L&amp;amp;auml;nderkennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVPLZ&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versand-PLZ&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVOrt&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandort&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandadresse UID&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPrio&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Priorit&amp;amp;auml;t des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cAuftNrKd&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Auftrags-/Bestellnummer des Kunden&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBesteller&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Besteller (Person)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSachb&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sachbearbeiter&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabPosJN&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionsrabatt anzeigen J/N&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMWSTJN&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Mehrwertsteuer ausweisen J/N&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText3&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 3&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText4&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 4&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText5&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 5&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText6&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 6&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText7&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 7&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPreisJN&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Preis auf Dokument drucken J/N&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMwStAbs&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || MwSt-Absetzungstext/-K&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dLiefDat&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Lieferdatum&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cDeleted&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Gel&amp;amp;ouml;scht-Kennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dLDat2&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Zweites Lieferdatum&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSprache&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sprache des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReEmpf&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Nummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReAnrede&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Anrede&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReName&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Name&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReVorname&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Vorname&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReZusatz1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Adresszusatz 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReZusatz2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Adresszusatz 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReStrasse&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Stra&amp;amp;szlig;e&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRePostfach&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Postfach&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReLK&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-L&amp;amp;auml;nderkennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRePLZ&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-PLZ&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReOrt&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Ort&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVertreter&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Vertreter-K&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVerbucht&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Verbucht-Kennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLager&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lager-K&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRechFrei&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsfreigabe-Kennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBonNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Bonnummer (Kasse)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMandant&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Mandantenk&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nMwStDM&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || MwSt-Betrag in DM (Altw&amp;amp;auml;hrung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nKursDM&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Wechselkurs DM&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nAbschlag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Abschlagsbetrag&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nZBetrag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Zahlungsbetrag&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nZSkonto&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Skonto-Betrag&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dZDatum&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Zahlungsdatum&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMemo&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Memofeld des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nValuta&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Valutatage&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKostenst&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kostenstelle&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKostentraeger&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kostentr&amp;amp;auml;ger&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKalkGr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kalkulationsgruppe&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cFrachtV&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Frachtart/-vorschrift&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nFrachtK&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Frachtkosten&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nFrachtG&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Frachtgewicht&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cGruppe&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Vorgangsgruppe&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nPosInc&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Positionsnummer-Inkrement&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cFiliale&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Filialk&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabText&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabatttextfeld (kurz)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cErfasser&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Erfasser des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nSKFBetrag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Skontof&amp;amp;auml;higer Betrag&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lLiefStrecke&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Lieferstreckengesch&amp;amp;auml;ft aktiv&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBetreff&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Betreffzeile&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMemoDruck&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Druckmemo (erscheint auf Dokument)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLieferLiefNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferanten-Lieferscheinnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabattText&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabatttext (lang)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSysUid&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || System-UID des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lLeistPreis2&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Leistungspreis 2 verwenden&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cFunction&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Funktionsk&amp;amp;uuml;rzel (Scripting-Hook)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lSaveAllowed&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Speichern erlaubt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lVorgangsSperre&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Vorgang gesperrt&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Properties ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Name !! Typ !! Zugriff !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;DmsTyp&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || DMS-Typ des Vorgangs (z.&amp;amp;nbsp;B. AN, AU, LS, RE)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;MainTable&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Haupttabelle des Vorgangs (Datenbankname)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PosTable&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionstabelle des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosFormat&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionsnummern-Format&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgang_Prop_ParameterPositionsdatenAktualisieren&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;ParameterPositionsdatenAktualisieren&amp;lt;/code&amp;gt; || [[#TVorgangPosParams_AktualisiereDaten|TVorgangPosParams_AktualisiereDaten]] || Lesen/Schreiben || Parameter f&amp;amp;uuml;r Massenaktualisierung von Positionsdaten&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PnPosCnt&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Anzahl der Positionen im Vorgang&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PaPositionen[Index]&amp;lt;/code&amp;gt; || [[#TVorgangPos|TVorgangPos]] || Lesen/Schreiben || Array der Positionsobjekte (0-basiert)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PcRabGrPers&amp;lt;/code&amp;gt; || String || Nur Lesen || Rabattgruppe der Person (aus Stammdaten ermittelt)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PcVKdNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || VK-Kundennummer (alternativ zur cKdNr f&amp;amp;uuml;r Preisfindung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nNet1&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Nettobetrag MwSt-Schl&amp;amp;uuml;ssel 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nNet2&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Nettobetrag MwSt-Schl&amp;amp;uuml;ssel 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nNet3&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Nettobetrag MwSt-Schl&amp;amp;uuml;ssel 3&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nBrutto1&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Bruttobetrag MwSt-Schl&amp;amp;uuml;ssel 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nBrutto2&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Bruttobetrag MwSt-Schl&amp;amp;uuml;ssel 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nBrutto3&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Bruttobetrag MwSt-Schl&amp;amp;uuml;ssel 3&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nMwSt1&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || MwSt-Betrag Schl&amp;amp;uuml;ssel 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nMwSt2&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || MwSt-Betrag Schl&amp;amp;uuml;ssel 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nMwSt3&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || MwSt-Betrag Schl&amp;amp;uuml;ssel 3&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMwStSchl1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || MwSt-Schl&amp;amp;uuml;ssel 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMwStSchl2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || MwSt-Schl&amp;amp;uuml;ssel 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMwStSchl3&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || MwSt-Schl&amp;amp;uuml;ssel 3&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKeineVersPausch&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Keine Versandpauschale berechnen J/N&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cZahlBed&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Zahlungsbedingung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lNewVorgang&amp;lt;/code&amp;gt; || Boolean || Nur Lesen || Neuer (noch nicht gespeicherter) Vorgang&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKopfNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kopftextbaustein-Nummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cFussNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Fu&amp;amp;szlig;textbaustein-Nummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLiefStrecke&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferstrecken-K&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cStatus&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Status des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cStatM&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Material-Status&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cStatS&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Service-Status&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cStatL&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferstatus&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cStatR&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsstatus&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cColStatus&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Farb-/Anzeigestatus (f&amp;amp;uuml;r UI)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cZustand&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Zustandskenner des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cArt&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Vorgangsart-K&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBonusJN&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Bonus berechnen J/N&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVersandkostenMBW&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandkosten-Mindestbestellwert-Kennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cWKNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Werbungskosten-Nummer&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Methoden ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signatur !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;constructor Create(const cUid: string; oxDB: TxDB; cDmsType: string)&amp;lt;/code&amp;gt; || Erstellt einen neuen Vorgang mit UID, Datenbankverbindung und DMS-Typ&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;destructor Destroy&amp;lt;/code&amp;gt; || Gibt den Vorgang und alle Ressourcen frei&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function SemaphoreCreate(cFName: string; lMeldung: boolean = False; cWait: string = &#039;&#039;): boolean&amp;lt;/code&amp;gt; || Erstellt eine Datei-Semaphore (Sperrdatei); gibt True zur&amp;amp;uuml;ck wenn erfolgreich&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function SemaphoreInUse(cFName: string): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft ob die Semaphore-Datei bereits in Verwendung ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure SemaphoreReleaseAll&amp;lt;/code&amp;gt; || Gibt alle Semaphoren dieses Vorgangs frei&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure SemaphoreRelease(cFName: string)&amp;lt;/code&amp;gt; || Gibt eine bestimmte Semaphore frei&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstAngebot(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang ein Angebot ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstAuftrag(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang ein Auftrag ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstReparaturAuftrag(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang ein Reparaturauftrag ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstLieferschein(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang ein Lieferschein ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstRechnung(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang eine Rechnung ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstBestellung(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang eine Bestellung ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstAnfrage(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang eine Anfrage ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstEKLieferschein(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang ein EK-Lieferschein ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstEinkauf(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang ein Einkaufsvorgang ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstVG_VK(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn es sich um einen Verkaufsvorgang handelt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstVG_EK(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn es sich um einen Einkaufsvorgang handelt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function NeuNumLock(): boolean&amp;lt;/code&amp;gt; || Sperrt die Neunummerierung (verhindert parallele Vergabe)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure NeuNumLockRelease&amp;lt;/code&amp;gt; || Gibt die Neunummerierungssperre wieder frei&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgNeuNum(cFilter: string = &#039;&#039;; lAbweichend: boolean = false): string&amp;lt;/code&amp;gt; || Ermittelt und setzt eine neue Vorgangsnummer; gibt die Nummer als String zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgNeuNumBool(cFilter: string = &#039;&#039;; lAbweichend: boolean = false): boolean&amp;lt;/code&amp;gt; || Wie VorgNeuNum, gibt True/False zur&amp;amp;uuml;ck (f&amp;amp;uuml;r Fehlerbehandlung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstVorgNrGueltig(cUID: string = &#039;&#039;): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft ob die aktuelle Vorgangsnummer g&amp;amp;uuml;ltig (eindeutig) ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function NeuePositionBase(const cUID: string): [[#TVorgangPos|TVorgangPos]]&amp;lt;/code&amp;gt; || Legt eine neue Positionsinstanz an und f&amp;amp;uuml;gt sie dem Vorgang hinzu&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure NeuePositionBaseMS(const cUID: string; oOrgPos: [[#TVorgangPos|TVorgangPos]])&amp;lt;/code&amp;gt; || Legt eine neue Position als Multi-Steuer-Folgeposition an&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function LoeschePositionBase(nDel: integer): Boolean&amp;lt;/code&amp;gt; || L&amp;amp;ouml;scht die Position mit dem angegebenen Index&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure VerschiebePositionBase(nPos: integer; nZiel: integer)&amp;lt;/code&amp;gt; || Verschiebt Position von Index nPos zu Index nZiel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CheckIfNotNull(): Boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft ob Pflichtfelder des Vorgangs bef&amp;amp;uuml;llt sind&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CheckIfFirstPosOption(): Boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft ob die erste Position eine Optionsposition ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IsPosBerechnung(cPosArt: string): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft ob eine Positionsart als Berechnungsposition gilt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure CopyFrom(oSrc: [[#TVorgang|TVorgang]])&amp;lt;/code&amp;gt; || Kopiert alle Felder aus einem anderen Vorgang&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure KalkAll(lZusatz: boolean = true)&amp;lt;/code&amp;gt; || Kalkuliert alle Positionen und Gesamtsummen neu&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Check_Multisteuer(oOrgPos: [[#TVorgangPos|TVorgangPos]]; const cTable, cMUID, cRefNr: string)&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft und setzt Multi-Steuer-Verkn&amp;amp;uuml;pfung f&amp;amp;uuml;r eine Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyPosmenge(cFromUID: string): string&amp;lt;/code&amp;gt; || Kopiert Positionsmengen aus einem anderen Vorgang (per UID)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyPosverp(cFromUID: string): string&amp;lt;/code&amp;gt; || Kopiert Positionsverpackungen aus einem anderen Vorgang (per UID)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure fillVersandkostenMBW(const cPsNr: string; const cPsVersand: string = &#039;&#039;; const PsZusatz: string = &#039;&#039;)&amp;lt;/code&amp;gt; || Berechnet und setzt Versandkosten auf Basis Mindestbestellwert&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure FillPersonBase(qPers: TxFQuery)&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt Adressfelder des Vorgangs aus einem Personen-Query&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function FillReEmpf(const AReEmpf: string; const AZahlBed: string = &#039;&#039;): boolean&amp;lt;/code&amp;gt; || Setzt Rechnungsempf&amp;amp;auml;nger und optionale Zahlungsbedingung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function SaveRecord(cUID: string = &#039;&#039;; lAlleSpeichern: boolean = false): Boolean&amp;lt;/code&amp;gt; || Speichert den Vorgang (abstrakt &amp;amp;ndash; muss in abgeleiteter Klasse implementiert werden)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function ReadVorgangTypBase(cDmsTyp: string; const cNr: string; lPos: boolean = false; lNeg: boolean = false): boolean&amp;lt;/code&amp;gt; || Liest einen Vorgang anhand DMS-Typ und Nummer in das Objekt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function JahrNr(): string&amp;lt;/code&amp;gt; || Gibt das Jahr der Vorgangsnummer zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure NeuNumPos(const lNurPos: boolean = True)&amp;lt;/code&amp;gt; || Nummeriert alle Positionen neu&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function EigenschaftSetzen(const ANr: string; const AMode: boolean): boolean&amp;lt;/code&amp;gt; || Setzt oder l&amp;amp;ouml;scht eine Vorgangseigenschaft (Merkmal) per Nummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure AdresseLeeren&amp;lt;/code&amp;gt; || Leert alle Adressfelder des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure VersandLeeren(lRef: boolean = True)&amp;lt;/code&amp;gt; || Leert alle Versandadressfelder&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure ReEmpfLeeren(const lNurAdr: boolean = False)&amp;lt;/code&amp;gt; || Leert Rechnungsempf&amp;amp;auml;nger-Felder (optional nur Adresse)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure DoServiceTouch(cStatus: string = &#039;&#039;)&amp;lt;/code&amp;gt; || Aktualisiert Service-Zeitstempel und optionalen Status&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function AuswahlParameterPositionsdatenAktualisieren(const cXDataTable: string): boolean&amp;lt;/code&amp;gt; || Zeigt Dialog zur Auswahl der Aktualisierungsparameter f&amp;amp;uuml;r Positionsdaten&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function ZusatzkostenAktiv(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn Zusatzkostenmodul f&amp;amp;uuml;r diesen Vorgang aktiv ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgang_Meth_leseFehler&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;function leseFehler(out rFehler: [[#TVorgangFehler|TVorgangFehler]]; var nIdx: integer; const eLoeschenNachLesen: [[#TVorgangFehlerLoeschenLesen|TVorgangFehlerLoeschenLesen]] = vfllSkipCritical): boolean&amp;lt;/code&amp;gt; || Liest den n&amp;amp;auml;chsten Fehler aus der internen Fehlerliste&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== TVorgangPos ==&lt;br /&gt;
&lt;br /&gt;
=== Variablen ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Name !! Typ !! Zugriff !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nPosIndex&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Laufender Index der Position im Positions-Array&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Interne Positionsnummer (Datenbankfeld)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKundNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kundennummer an der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cAuftragsNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Referenz-Auftragsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBestellNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Referenz-Bestellnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosText&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionstext (Langtextfeld)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLProjNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Leistungsprojektnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLS_azUid&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferschein-Abrechnungszeilen-UID&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVersandNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionsnummer (formatiert)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosNr2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Zweite Positionsnummer (alternativ)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosKas&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kassier-Positionsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLeistungsNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Leistungsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBezeichnung1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Bezeichnung Zeile 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBezeichnung2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Bezeichnung Zeile 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nUrMenge&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Ursprungsmenge (vor &amp;amp;Auml;nderungen)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nLeistFaktor&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Leistungsfaktor (Multiplikator f&amp;amp;uuml;r Mengenberechnung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cEinheit&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Mengeneinheit&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nMengeG&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Mengenganz (ganzzahliger Mengenanteil)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nKolli&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Kollianzahl&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVerpackung&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Verpackungsart/-k&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nInhalt&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Inhalt pro Verpackungseinheit&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nEPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Einzelpreis (Netto)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nBEPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Brutto-Einzelpreis&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nOBPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Original-Brutto-Einzelpreis (vor Rabatt)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nUrPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Ursprungspreis (Listenpreis VK)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nUrPreisEK&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Ursprungspreis Einkauf&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nGPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Gesamtpreis (Netto)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nBGPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Brutto-Gesamtpreis&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nEKPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Einkaufspreis&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nEKSPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Einkaufssonderpreis&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cManPreis&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Manueller Preis J/N-Kennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabatt&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Gesamtrabatt in Prozent&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabatt1&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabatt 1 in Prozent&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabArt1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabattart 1 (Herkunftskennzeichen)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabatt2&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabatt 2 in Prozent&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabArt2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabattart 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabatt3&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabatt 3 in Prozent&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabArt3&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabattart 3&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabatt4&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabatt 4 in Prozent&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabArt4&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabattart 4&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabatt5&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabatt 5 in Prozent&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabArt5&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabattart 5&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nAddSub&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Additions-/Subtraktionsbetrag (Zuschlag/Abzug absolut)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKonto&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Buchungskonto&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLagNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lagernummer der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLagONr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lager-Ortsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVerkaufer&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Verk&amp;amp;auml;uferk&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cStatus&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionsstatus&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cAngebotsNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Referenz-Angebotsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Eindeutige ID der Position (GUID)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Multi-Steuer-UID (Verkn&amp;amp;uuml;pfung bei Multisteuer)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRTVon&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || R&amp;amp;uuml;cktragungs-Referenz (von welcher Position)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSpNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Speditionsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBestellUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || UID der verkn&amp;amp;uuml;pften Bestellposition&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMaterialUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || UID des verkn&amp;amp;uuml;pften Materialeintrags&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cEiliUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || UID der Eillieferungsposition&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cXUID1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Erweiterungs-UID 1 (freie Verkn&amp;amp;uuml;pfung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cXUID2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Erweiterungs-UID 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cXUID3&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Erweiterungs-UID 3&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cXUID4&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Erweiterungs-UID 4&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKommentar&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kommentarfeld der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nProvision&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Provisionsanteil in Prozent&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLiefKz&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferkennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cProdGr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Produktgruppe&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nFrachtV&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Frachtvolumen der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLSNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferscheinnummer der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dLSDatum&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Lieferscheindatum der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosArt&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionsart (z.&amp;amp;nbsp;B. N=Normal, O=Optional)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSKFJN&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Skontof&amp;amp;auml;hig J/N&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cEKHerkunft&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || EK-Preisherkunft-K&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLiefNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferantennummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLagStreck&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lager-Streckenkennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cAufschlag&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Aufschlagsk&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nStaffelPreis&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Staffelpreisstufe (Index)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nStaffelmenge&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Staffelmenge f&amp;amp;uuml;r Preisfindung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lAktionspreis&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Aktionspreis aktiv&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cAusdruckJN&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Position drucken J/N&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMemoDruck&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Druckmemo der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBildUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || UID des verkn&amp;amp;uuml;pften Bildes&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cCMPUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || CMP-Objekt-UID&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cZeit_CMPUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Zeiterfassungs-CMP-UID&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cZeit_Text&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Zeiterfassungstext&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cZeit_Mitarb&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Mitarbeiter der Zeiterfassung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dZeit_Date&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Datum der Zeiterfassung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cZeit_NurLei&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Zeiterfassung: nur Leistung J/N&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKostst&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kostenstelle der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dAbrechVon&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Abrechnungszeitraum von&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dAbrechBis&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Abrechnungszeitraum bis&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lNeuNum&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Neunummerierung f&amp;amp;uuml;r diese Position ausf&amp;amp;uuml;hren&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSysUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || System-UID der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cGeraetNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Ger&amp;amp;auml;tenummer (f&amp;amp;uuml;r Servicepositionen)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Properties ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Name !! Typ !! Zugriff !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;oMyDB&amp;lt;/code&amp;gt; || TxDB || Nur Lesen || Datenbankverbindung (vom Vorgang geerbt)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;ShopNr&amp;lt;/code&amp;gt; || String || Nur Lesen || Shop-Nummer (f&amp;amp;uuml;r Mehrshop-Preisfindung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cArtikelNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Artikelnummer (Zugriff &amp;amp;uuml;ber Property wegen Seiteneffekten)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PcMWSTSch&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || MwSt-Schl&amp;amp;uuml;ssel (Parameter-Feld)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PcMengeIn&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Mengeneingabe als String (Parameter)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PnMengeIn&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Mengeneingabe als Zahl (Parameter)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PnMengeInFak&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Mengeneingabe-Faktor (Parameter)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PcMemofeld&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Memofeld der Position (Parameter-Feld, Unicode)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PcMemofeldAnsi&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Memofeld ANSI-Version (Parameter-Feld)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosLaufend&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Laufende Positionsnummer als String&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lVerbrauchsMater&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Verbrauchsmaterial-Kennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nMenge&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Menge der Position (mit Seiteneffekten bei Schreiben)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cTyp&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionstyp als String &amp;amp;ndash; siehe [[#Konstanten|Konstanten]] (POSTYP_*)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgangPos_Prop_Typ&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;Typ&amp;lt;/code&amp;gt; || [[#TVB_PosType|TVB_PosType]] || Lesen/Schreiben || Positionstyp als Enum (ptPosition, ptText, ptLeerzeile&amp;amp;nbsp;&amp;amp;hellip;)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgangPos_Prop_OriginalPos&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;OriginalPos&amp;lt;/code&amp;gt; || [[#TVorgangPosOriginal|TVorgangPosOriginal]] || Nur Lesen || Ursprungspositionsdaten (DMS-Referenz, Nr, UID, SysUID)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Methoden ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signatur !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;constructor Create(oxVorgang: [[#TVorgang|TVorgang]]; cPosTbl: string)&amp;lt;/code&amp;gt; || Erstellt eine neue Position f&amp;amp;uuml;r den angegebenen Vorgang (veraltet, UID-Variante bevorzugen)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;constructor Create(cUid: string; oxVorgang: [[#TVorgang|TVorgang]]; cPosTbl: string)&amp;lt;/code&amp;gt; || Erstellt eine neue Position mit vorgegebener UID&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;destructor Destroy&amp;lt;/code&amp;gt; || Gibt die Position frei&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure PositionsVorbelegung&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt die Position mit Standardwerten aus den Vorgangsdaten&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure GenNewUid&amp;lt;/code&amp;gt; || Generiert eine neue UID f&amp;amp;uuml;r diese Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyPosmenge(cFromUID: string): string&amp;lt;/code&amp;gt; || Kopiert Mengen aus einer anderen Position (per UID)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyPosverp(cFromUID: string): string&amp;lt;/code&amp;gt; || Kopiert Verpackungsdaten aus einer anderen Position (per UID)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure CopyFrom(oSrc: [[#TVorgangPos|TVorgangPos]]; lFull: boolean = False)&amp;lt;/code&amp;gt; || Kopiert alle Felder aus einer anderen Position; lFull=True kopiert auch interne Felder&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure QueryToPos(qTmp: TxFQuery; lReadAsNew: boolean = false)&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt die Position aus einem Datenbankquery (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure QueryToPos(qTmp: TxFQuery; const cFromTable: string; lVerpack: Boolean = False; lUmkehr: boolean = False)&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt die Position aus einem Query mit expliziter Quelltabelle (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure DBPosToPos(const cFromTable: string; const cSysUid: string; lVerpack: Boolean = False; lUmkehr: boolean = False)&amp;lt;/code&amp;gt; || Liest eine Position direkt aus der Datenbank per SysUID&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function FillArtikel(cArtNr: string): boolean&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt die Position mit Artikelstammdaten; gibt True bei Erfolg zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function SetzeLieferant(const cLiefNr: string; lEKNeu: boolean = True; lDefaultEK1: boolean = False): boolean&amp;lt;/code&amp;gt; || Setzt den Lieferanten und aktualisiert EK-Preise&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure FillLeistung(cLeistNr: string)&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt die Position mit Leistungsstammdaten&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function SumPosBez(const eZielTyp: [[#TVB_PosType|TVB_PosType]]; const cBezVorb: string): string&amp;lt;/code&amp;gt; || Gibt die Bezeichnung f&amp;amp;uuml;r eine Summenposition zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_Pos&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;normale Position&amp;amp;ldquo;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_Text(const cText: string)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Textzeile&amp;amp;ldquo; mit dem angegebenen Text&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_Leerzeile&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Leerzeile&amp;amp;ldquo;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_Zwischensumme(const cBez: string = &#039;&#039;)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Zwischensumme&amp;amp;ldquo; (Ebene&amp;amp;nbsp;1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_ZwischensummeEbene(const nEbene: integer; const cBez: string = &#039;&#039;)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Zwischensumme&amp;amp;ldquo; der angegebenen Ebene&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_Titelsumme(const cBez: string = &#039;&#039;)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Titelsumme&amp;amp;ldquo; (Ebene&amp;amp;nbsp;1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_TitelsummeEbene(const nEbene: integer; const cBez: string = &#039;&#039;)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Titelsumme&amp;amp;ldquo; der angegebenen Ebene&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_Titel(const cBez: string)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Titel&amp;amp;ldquo;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_Gewerk(const cBez: string)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Gewerk&amp;amp;ldquo;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_NeueSeite&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Seitenumbruch&amp;amp;ldquo;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_Bild(const cBild: string)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Bild&amp;amp;ldquo; mit dem angegebenen Bildpfad/-UID&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure UStKorrektur(const dCheckDate: TDateTime)&amp;lt;/code&amp;gt; || Korrigiert den Umsatzsteuerschl&amp;amp;uuml;ssel gem&amp;amp;auml;&amp;amp;szlig; Datum (Steuersatz&amp;amp;auml;nderungen)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure KalkPos&amp;lt;/code&amp;gt; || Kalkuliert Gesamtpreis und abgeleitete Felder dieser Position neu&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosNrAllowed(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn dieser Positionstyp eine Positionsnummer erh&amp;amp;auml;lt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure SetPosNr(cP: string; cT: string = &#039;&#039;; cG: string = &#039;&#039;; cFormat: string = &#039;&#039;)&amp;lt;/code&amp;gt; || Setzt die Positionsnummer aus String-Komponenten (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure SetPosNr(nP: integer; nT: integer = -1; nG: integer = -1; cFormat: string = &#039;&#039;)&amp;lt;/code&amp;gt; || Setzt die Positionsnummer aus numerischen Komponenten (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosLaufend(iPos: integer = 0): string&amp;lt;/code&amp;gt; || Gibt die laufende Positionsnummer als formatierten String zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Preisfindung(cShopNr: string = CONST_NO_SHOP)&amp;lt;/code&amp;gt; || F&amp;amp;uuml;hrt die Preisfindung f&amp;amp;uuml;r diese Position aus&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function SetOpenBookLieferant(): boolean&amp;lt;/code&amp;gt; || Setzt den Open-Book-Lieferanten f&amp;amp;uuml;r diese Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure AddToMemo(const cText: string; const lNewLine: boolean = False)&amp;lt;/code&amp;gt; || F&amp;amp;uuml;gt Text zum Memofeld hinzu&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgangPos_Meth_AktualisiereDaten&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;procedure AktualisiereDaten&amp;lt;/code&amp;gt; || Aktualisiert Texte, EK- und VK-Preise gem&amp;amp;auml;&amp;amp;szlig; [[#TVorgang_Prop_ParameterPositionsdatenAktualisieren|ParameterPositionsdatenAktualisieren]]&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure EKCalcMengeIn(var nEkFak: double)&amp;lt;/code&amp;gt; || Berechnet den EK-Mengeneingabe-Faktor (R&amp;amp;uuml;ckgabe per var-Parameter)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CanSave(): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft ob diese Position gespeichert werden kann/darf&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure qSqlSet(AqSql: TqSql)&amp;lt;/code&amp;gt; || Setzt das SQL-Objekt f&amp;amp;uuml;r erweiterte DB-Operationen dieser Position&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Globale Methoden =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Signatur !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstVKVorgang(cMainTable: string): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck, wenn die Haupttabelle ein VK-Vorgang ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstVKVorgangPos(cPosTable: string): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck, wenn die Positionstabelle zu einem VK-Vorgang geh&amp;amp;ouml;rt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyPosmengeDB(oMyDB: TxDB; cFromUID: string): string&amp;lt;/code&amp;gt; || Kopiert Positionsmengen aus einem anderen Vorgang (direkt per Datenbankzugriff)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyPosverpDB(oMyDB: TxDB; cFromUID: string): string&amp;lt;/code&amp;gt; || Kopiert Positionsverpackungen aus einem anderen Vorgang (direkt per Datenbankzugriff)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyRTFLan(oMyDB: TxDB; cVonTable, cVonRef, cNachTable, cNachRef: String): String&amp;lt;/code&amp;gt; || Kopiert RTF-Langtexte zwischen Vorgangs-Positionen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure CopyKalkulationAN2AU(oMyDB: TxDB; cANRef1, cANRef2, cAURef1, cAURef2: String; fPosmenge: Double)&amp;lt;/code&amp;gt; || Kopiert Kalkulation von Angebot nach Auftrag (mit Mengenfaktor)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure CopyKalkulationAU(oMyDB: TxDB; cANRef1, cANRef2, cAURef1, cAURef2: String)&amp;lt;/code&amp;gt; || Kopiert Auftragskalkulation zwischen zwei Positionen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure CopyKalkulationAN(oMyDB: TxDB; cANRef1, cANRef2, cAURef1, cAURef2: String)&amp;lt;/code&amp;gt; || Kopiert Angebotskalkulation zwischen zwei Positionen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosNrFormatCheck(const cFormat: string): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft, ob ein Positionsnummern-Format g&amp;amp;uuml;ltig ist (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosNrFormatCheck(oMyDB: TxDB; const cFormat: string): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft Format gegen Datenbankeinstellungen (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosNrFormatCounts(const cFormat: string; out nG, nT, nP: integer): boolean&amp;lt;/code&amp;gt; || Liefert die Stellenzahlen f&amp;amp;uuml;r Gewerk, Titel und Position aus dem Format (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosNrFormatCounts(oMyDB: TxDB; const cFormat: string; out nG, nT, nP: integer): boolean&amp;lt;/code&amp;gt; || Wie oben, mit Datenbankzugriff (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosNrSplit(oMyDB: TxDB; const cFormat, cPosTyp: string; cPosNr: string; out nG, nT, nP: integer): boolean&amp;lt;/code&amp;gt; || Zerlegt eine formatierte Positionsnummer in ihre Bestandteile&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function GetVorgangMandant(oMyDB: TxDB; const cTable, cNr: string): string&amp;lt;/code&amp;gt; || Gibt den Mandanten-Schl&amp;amp;uuml;ssel f&amp;amp;uuml;r einen Vorgang zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function GetVorgangTextTB(const nPMode: integer; out cTB_Nr: string; cFiliale: string = &#039;&#039;): boolean&amp;lt;/code&amp;gt; || Ermittelt die Textbaustein-Nummer f&amp;amp;uuml;r den angegebenen Positionsmodus&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function GetVorgangTextTBPers(oMyDB: TxDB; const cPsNr: string; const nPMode: integer; out cTB_Nr: string; cFiliale: string = &#039;&#039;): boolean&amp;lt;/code&amp;gt; || Wie GetVorgangTextTB, zus&amp;amp;auml;tzlich personenbezogen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function KopfTextPlatzhalter(var cKopfText: string; const cBrief1, cBrief2: string): boolean&amp;lt;/code&amp;gt; || Ersetzt Platzhalter im Kopftext durch Briefanredefelder&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangArt(oMyDB: TxDB; const cDMS, cNr: string): integer&amp;lt;/code&amp;gt; || Gibt die Vorgangsart als Integer-Kennziffer zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangStatus(oMyDB: TxDB; const cDMS, cNr: string): string&amp;lt;/code&amp;gt; || Gibt den aktuellen Status eines Vorgangs aus der Datenbank zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangVerbucht(oMyDB: TxDB; const cDMS, cNr: string): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck, wenn der Vorgang verbucht ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangUstEnthalten(oMyDB: TxDB; const cDMS, cNr, cUstSchl: string; cFeld: string = &#039;&#039;): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft, ob ein bestimmter USt-Schl&amp;amp;uuml;ssel im Vorgang verwendet wird&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PortoVerpackKannSkonto(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck, wenn Porto/Verpackung skontof&amp;amp;auml;hig ist (laut Systemeinstellung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function GetPosBild(oMyDB: TxDB; cArtNr: string; var cBildUID: string): boolean&amp;lt;/code&amp;gt; || Ermittelt die Bild-UID eines Artikels f&amp;amp;uuml;r eine Positions-Bildposition&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangVertreterVorb(oMyDB: TxDB; const cVertreter: string): string&amp;lt;/code&amp;gt; || Gibt den vorgebelegten Vertreter-Schl&amp;amp;uuml;ssel zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangVertreterPrio(oMyDB: TxDB; const cAktVertreter: string): string&amp;lt;/code&amp;gt; || Gibt den Vertreter mit h&amp;amp;ouml;chster Priorit&amp;amp;auml;t zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function GenerierePositionskommentar(cUrsprung, cKommentar: String): String&amp;lt;/code&amp;gt; || Kombiniert Ursprungs- und Kommentartext zu einem Positions-Kommentar&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function ReplacePlatzhalterReparaturAuftrag(cRAufNr: String; cText: String = &#039;&#039;): String&amp;lt;/code&amp;gt; || Ersetzt Platzhalter im Text durch Reparaturauftragsdaten&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function ReplacePlatzhalterPosErfassung(oMyDB: TxDB; const cBuffer, cTable, cNr: string; const lDef: Boolean = False; const lRepa: Boolean = False): String&amp;lt;/code&amp;gt; || Ersetzt Platzhalter im Text bei der Positionserfassung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function LoadPlatzhalterVorgang(oMyDB: TxDB; const cTable, cNr: string; var oPlatzhalter: TPlatzhalterVorgang): Boolean&amp;lt;/code&amp;gt; || L&amp;amp;auml;dt Platzhalter-Daten eines Vorgangs aus der Datenbank&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PlatzhalterVorgang(const cText, cNr: string; const oPlatzhalter: TPlatzhalterVorgang; const lDef: Boolean = false; const lRepa: Boolean = false): string&amp;lt;/code&amp;gt; || Ersetzt Platzhalter im Text mit den geladenen Vorgang-Platzhaltern&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function GetPosVorb_ErlKto(oMyDB: TxDB; const cErlJahr, cManNr, cFiliale: string): string&amp;lt;/code&amp;gt; || Gibt das Erl&amp;amp;ouml;skonto f&amp;amp;uuml;r eine Positionsvorbelegung zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure ChangePosPreisFromLeistPreis2(oVorgang: TVorgang)&amp;lt;/code&amp;gt; || Wechselt f&amp;amp;uuml;r alle Positionen auf den alternativen Leistungspreis 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_ToXMLStr(oMyDB: TxDB; const cTable, cPosTable, cVorgNr: String): string&amp;lt;/code&amp;gt; || Exportiert einen Vorgang als XML-String&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_ToDelArchiv(oMyDB: TxDB; const cTable, cPosTable, cVorgNr: String): Boolean&amp;lt;/code&amp;gt; || Verschiebt einen Vorgang ins L&amp;amp;ouml;scharchiv&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_ToXMLFile(oMyDB: TxDB; const cFile, cTable, cPosTable, cVorgNr: String): Boolean&amp;lt;/code&amp;gt; || Exportiert einen Vorgang in eine XML-Datei&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function XMLFile_ToVorgang(oMyDB: TxDB; const cData: String; var cNewNr, cOldNr: String): Boolean&amp;lt;/code&amp;gt; || Importiert einen Vorgang aus einem XML-String/-Datei&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function DelArchivTo_Vorgang(oMyDB: TxDB; const cTabelle, cVorgang: String): String&amp;lt;/code&amp;gt; || Stellt einen archivierten Vorgang wieder her&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_Runden_MengeInFak(oMyDB: TxDB; const cTabMain, cTabPos: string; nValue: double): double&amp;lt;/code&amp;gt; || Rundet den Mengeneingabe-Faktor gem&amp;amp;auml;&amp;amp;szlig; Tabelleneinstellung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_Rohertrag(oMyDB: TxDB; const cDMSTyp, cVorgNr: String; nNettoBetrag: Double): String&amp;lt;/code&amp;gt; || Berechnet den Rohertrag eines Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_Rohertrag_Ext(oMyDB: TxDB; const cDMSTyp, cVorgNr: String; nNettoBetrag: Double; lSollStunden: Boolean): string&amp;lt;/code&amp;gt; || Berechnet den Rohertrag erweitert (mit Sollstunden)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangFelder(cTyp: String; lPosition, lArtikel, lMaterial, lAuswertung, lMessen: Boolean; lSchiff: Boolean = False): String&amp;lt;/code&amp;gt; || Gibt die aktiven Feldgruppen eines Vorgangstyps als String zur&amp;amp;uuml;ck (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangFelder(oMyDB: TxDB; cTyp: String; lPosition, lArtikel, lMaterial, lAuswertung, lMessen: Boolean; lSchiff: Boolean = False): String&amp;lt;/code&amp;gt; || Wie oben, mit Datenbankzugriff (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_IstGesperrt(oMyDB: TxDB; const cTyp, cRef: string; const cFeld: string = &#039;a_nr&#039;): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft, ob ein Vorgang gesperrt ist (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_IstGesperrt(oMyDB: TxDB; const rDMS: TDMSType; const cRef: string; const cFeld: string = &#039;a_nr&#039;): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft Sperrung per DMS-Typ (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_FilterSperrung(oMyDB: TxDB; const cTyp, cRef: string; out cOffen, cGesperrt: string; const cFeld: string = &#039;a_nr&#039;): boolean&amp;lt;/code&amp;gt; || Gibt SQL-Filter-Strings f&amp;amp;uuml;r offene/gesperrte Vorg&amp;amp;auml;nge zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_FilterSperrung_Offen(oMyDB: TxDB; const cTyp, cRef: string; out cOffen: string; const cFeld: string = &#039;a_nr&#039;): boolean&amp;lt;/code&amp;gt; || Gibt nur den Filter f&amp;amp;uuml;r offene (nicht gesperrte) Vorg&amp;amp;auml;nge zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_UbernahmeMassen(oMyDB: TxDB; const cVonUid, cNachDmsTyp, cNachVorgNr, cNachUid: string): boolean&amp;lt;/code&amp;gt; || Massenweise Positions&amp;amp;uuml;bernahme zwischen Vorg&amp;amp;auml;ngen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_GetMenge(oMyDB: TxDB; const cPosTable, cKeyField, cUID: String; out nUrmenge: Double; const cEigUID: String = &#039;&#039;): Double&amp;lt;/code&amp;gt; || Liest die aktuelle und Ursprungsmenge einer Position aus der Datenbank&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_CheckPosTyp(const cTyp: string): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft, ob ein Positionstyp-Schl&amp;amp;uuml;ssel g&amp;amp;uuml;ltig ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_HatReEmpfAdr(qVorgangData: TxFQuery): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck, wenn der Vorgang eine Rechnungsempf&amp;amp;auml;nger-Adresse hat (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_HatReEmpfAdr(qVorgangData: TxQuery): boolean&amp;lt;/code&amp;gt; || Wie oben, f&amp;amp;uuml;r TxQuery (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_AnzeigeReEmpf(oMyDB: TxDB; qMain: TxFQuery; const cMainTable: string; cAdressBez: string = &#039;&#039;; lUseReportLang: boolean = True): string&amp;lt;/code&amp;gt; || Gibt die anzuzeigende Rechnungsempf&amp;amp;auml;nger-Adresse als formatierten Text zur&amp;amp;uuml;ck (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_AnzeigeReEmpf(oMyDB: TxDB; qMain: TxQuery; const cMainTable: string; cAdressBez: string = &#039;&#039;; lUseReportLang: boolean = True): string&amp;lt;/code&amp;gt; || Wie oben, f&amp;amp;uuml;r TxQuery (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PortoVerpackBerechnet(oMyDB: TxDB; const cDmsVon, cDmsSetzen, cNrSetzen: string): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft, ob Porto/Verpackung bereits berechnet wurde und setzt Kennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangVorb_Waehrung(oMyDB: TxDB; const cValue: string = &#039;01&#039;): string&amp;lt;/code&amp;gt; || Gibt den Standardw&amp;amp;auml;hrungsschl&amp;amp;uuml;ssel f&amp;amp;uuml;r Vorgangsvorbelegung zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangVorb_RechKreis(oMyDB: TxDB; const cValue: string = &#039;01&#039;): string&amp;lt;/code&amp;gt; || Gibt den Standardrechnungskreis-Schl&amp;amp;uuml;ssel zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangVorbPos_VomLager(const nTokenPos: integer; const cLagStreck: string): string&amp;lt;/code&amp;gt; || Gibt das Lager/die Strecke f&amp;amp;uuml;r eine Positionsvorbelegung zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_VersandkostenMBW(oMyDB: TxDB; const cDmsTyp: string; const lGen: boolean; const cPsNr: string; const cPsVersand: string = &#039;&#039;; const cPsZusatz: string = &#039;&#039;): string&amp;lt;/code&amp;gt; || Berechnet Versandkosten auf Basis des Mindestbestellwerts&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfFile(oMyDB: TxDB; const cDmsTyp, cNr, cKdNr: string; out cPdfFile: string): boolean&amp;lt;/code&amp;gt; || Ermittelt den Pfad zur archivierten PDF-Datei eines Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfAsBase64File(oMyDB: TxDB; const cDmsTyp, cNr, cKdNr: string; out cBase64File: string): boolean&amp;lt;/code&amp;gt; || Liefert die PDF-Datei als Base64-kodierten Pfad&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfAsBase64Parts(oMyDB: TxDB; const cDmsTyp, cNr, cKdNr: string; const nPart: integer; out cBase64: string; out nParts: integer; nPartSize: integer = 0): boolean&amp;lt;/code&amp;gt; || Liefert die PDF in Teilen als Base64 (mit KdNr, &amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfAsBase64Parts(oMyDB: TxDB; const cDmsTyp, cNr, cKdNr: string; const nPart: integer; out cBase64: string; out nParts: integer; cPartSize: string): boolean&amp;lt;/code&amp;gt; || Wie oben, Teilgr&amp;amp;ouml;&amp;amp;szlig;e als String (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfAsBase64Parts(oMyDB: TxDB; const cDmsTyp, cNr: string; const nPart: integer; out cBase64: string; out nParts: integer; nPartSize: integer = 0): boolean&amp;lt;/code&amp;gt; || Wie oben, ohne KdNr (&amp;amp;Uuml;berladung 3)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfAsBase64Parts(oMyDB: TxDB; const cDmsTyp, cNr: string; const nPart: integer; out cBase64: string; out nParts: integer; cPartSize: string): boolean&amp;lt;/code&amp;gt; || Wie oben, Teilgr&amp;amp;ouml;&amp;amp;szlig;e als String (&amp;amp;Uuml;berladung 4)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfAsBase64(oMyDB: TxDB; const cDmsTyp, cNr: string; out cBase64: string): boolean&amp;lt;/code&amp;gt; || Liefert die gesamte PDF als Base64-String&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PosUebernommen(oMyDB: TxDB; const cVonDmsTyp, cVonNr, cPosUid: string): TVorgangPosOriginalListe&amp;lt;/code&amp;gt; || Gibt eine Liste aller Vorg&amp;amp;auml;nge zur&amp;amp;uuml;ck, in die diese Position &amp;amp;uuml;bernommen wurde&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_GetPosRef(oMyDB: TxDB; const cVonDmsTyp, cVonNr, cPosUid, cRefDmsTypen: string): TVorgangPosOriginalListe&amp;lt;/code&amp;gt; || Gibt Referenzen einer Position auf andere DMS-Typen zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_ArtBox(const cDMSTyp: string): string&amp;lt;/code&amp;gt; || Gibt die Vorgangsart-Box (Auswahlstring) f&amp;amp;uuml;r einen DMS-Typ zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_SummenEbene(const nEbene: integer): integer&amp;lt;/code&amp;gt; || Validiert und normiert eine Summen-Ebene (1..VB_MAX_SummenEbenen)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_SummenEbeneAusMenge(const nMenge: double): integer&amp;lt;/code&amp;gt; || Berechnet die Summenebene aus einem Mengenwert&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_KalkAufschlagPos(const nSatz, nZwSumme, nMengeIn, nMengeInFak, nRabatt: double): double&amp;lt;/code&amp;gt; || Berechnet den Aufschlagsbetrag f&amp;amp;uuml;r eine Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_SumPosText(const eTyp: [[#TVB_PosType|TVB_PosType]]; const cLanguage: string): string&amp;lt;/code&amp;gt; || Gibt den lokalisierten Standardtext f&amp;amp;uuml;r eine Summenposition zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_SumPosTextZw(cLang: string = &#039;&#039;): string&amp;lt;/code&amp;gt; || Gibt den lokalisierten Text f&amp;amp;uuml;r Zwischensummen-Positionen zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_SumPosTextTit(cLang: string = &#039;&#039;): string&amp;lt;/code&amp;gt; || Gibt den lokalisierten Text f&amp;amp;uuml;r Titelsummen-Positionen zur&amp;amp;uuml;ck&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Nimz</name></author>
	</entry>
	<entry>
		<id>https://wiki.bergau.de/index.php?title=OBS/Makros_und_Scripting/Allgemeines/Klassen/Vorg%C3%A4nge&amp;diff=64503</id>
		<title>OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge</title>
		<link rel="alternate" type="text/html" href="https://wiki.bergau.de/index.php?title=OBS/Makros_und_Scripting/Allgemeines/Klassen/Vorg%C3%A4nge&amp;diff=64503"/>
		<updated>2026-06-12T11:42:45Z</updated>

		<summary type="html">&lt;p&gt;Nimz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Makros und Scripting}}&lt;br /&gt;
Es gibt für die Generierung von Vorgängen eigene Klassen. Da es zwischen den Vorgängen immer irgendwelche Unterschiede gibt, existiert auch für jeden Vorgangs-Typ eine eigene Klasse.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Übersicht Klassen:&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Angebot|Angebot]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Auftrag|Auftrag]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Reparaturauftrag|Reparaturauftrag]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Produktionsauftrag|Produktionsauftrag]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Lieferschein|Lieferschein]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Rechnung|Rechnung]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Bestellung|Bestellung]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Einkaufslieferschein|Einkaufslieferschein]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Einkauf|Einkauf]]&lt;br /&gt;
&lt;br /&gt;
= Datentypen =&lt;br /&gt;
&lt;br /&gt;
== Enumerationen ==&lt;br /&gt;
&lt;br /&gt;
=== TVB_PosType ===&lt;br /&gt;
Positionstyp einer [[#TVorgangPos|TVorgangPos]]. Wird &amp;amp;uuml;ber die Property &amp;lt;code&amp;gt;[[#TVorgangPos_Prop_Typ|Typ]]&amp;lt;/code&amp;gt; gelesen/gesetzt.&lt;br /&gt;
Die zugeh&amp;amp;ouml;rigen String-Konstanten sind unter [[#Konstanten|Konstanten]] beschrieben.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wert !! Bezeichner !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 0 || &amp;lt;code&amp;gt;ptPosition&amp;lt;/code&amp;gt; || Normale Artikelposition&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 1 || &amp;lt;code&amp;gt;ptText&amp;lt;/code&amp;gt; || Textzeile / Memorundzeile&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 2 || &amp;lt;code&amp;gt;ptLeerzeile&amp;lt;/code&amp;gt; || Leere Trennzeile&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 3 || &amp;lt;code&amp;gt;ptZwischensumme&amp;lt;/code&amp;gt; || Zwischensummen-Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 4 || &amp;lt;code&amp;gt;ptTitelsumme&amp;lt;/code&amp;gt; || Titelsummen-Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 5 || &amp;lt;code&amp;gt;ptTitel&amp;lt;/code&amp;gt; || Titelzeile&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 6 || &amp;lt;code&amp;gt;ptGewerk&amp;lt;/code&amp;gt; || Gewerk-Kopfzeile&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 7 || &amp;lt;code&amp;gt;ptSeitenumbruch&amp;lt;/code&amp;gt; || Manueller Seitenumbruch&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 8 || &amp;lt;code&amp;gt;ptBild&amp;lt;/code&amp;gt; || Bildposition&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVB_MaterMode ===&lt;br /&gt;
Steuert den Materialmodus beim Lesen von Positionsdaten.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wert !! Bezeichner !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 0 || &amp;lt;code&amp;gt;mmNone&amp;lt;/code&amp;gt; || Kein spezieller Materialmodus&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 1 || &amp;lt;code&amp;gt;mmMD5&amp;lt;/code&amp;gt; || Materialpr&amp;amp;uuml;fung per MD5-Hash&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 2 || &amp;lt;code&amp;gt;mmReadUID&amp;lt;/code&amp;gt; || Material-UID direkt lesen&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVorgangFehlerTyp ===&lt;br /&gt;
Klassifiziert einen Eintrag in der internen Fehlerliste eines [[#TVorgang|TVorgang]].&lt;br /&gt;
Wird im Record [[#TVorgangFehler|TVorgangFehler]] verwendet.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wert !! Bezeichner !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 0 || &amp;lt;code&amp;gt;vftOther&amp;lt;/code&amp;gt; || Sonstiger Hinweis&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 1 || &amp;lt;code&amp;gt;vftCritical&amp;lt;/code&amp;gt; || Kritischer Fehler (blockiert Speichern)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 2 || &amp;lt;code&amp;gt;vftSaveCheck&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;fung beim Speichern&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 3 || &amp;lt;code&amp;gt;vftPosInfo&amp;lt;/code&amp;gt; || Positionsbezogene Information&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVorgangFehlerLoeschenLesen ===&lt;br /&gt;
Steuert, welche Fehler nach dem Lesen via &amp;lt;code&amp;gt;[[#TVorgang_Meth_leseFehler|leseFehler]]&amp;lt;/code&amp;gt; aus der Liste gel&amp;amp;ouml;scht werden.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wert !! Bezeichner !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 0 || &amp;lt;code&amp;gt;vfllNone&amp;lt;/code&amp;gt; || Kein Fehler nach dem Lesen l&amp;amp;ouml;schen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 1 || &amp;lt;code&amp;gt;vfllAll&amp;lt;/code&amp;gt; || Alle Fehler nach dem Lesen l&amp;amp;ouml;schen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| 2 || &amp;lt;code&amp;gt;vfllSkipCritical&amp;lt;/code&amp;gt; || Nur nicht-kritische Fehler l&amp;amp;ouml;schen (Standard)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Records ==&lt;br /&gt;
&lt;br /&gt;
=== TVorgangPosOriginal ===&lt;br /&gt;
Enth&amp;amp;auml;lt Referenzinformationen der Ursprungsposition (z.&amp;amp;nbsp;B. bei der Vorgangs&amp;amp;uuml;bernahme).&lt;br /&gt;
Wird &amp;amp;uuml;ber die Property &amp;lt;code&amp;gt;[[#TVorgangPos_Prop_OriginalPos|OriginalPos]]&amp;lt;/code&amp;gt; einer [[#TVorgangPos|TVorgangPos]] geliefert.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Feld !! Typ !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;rDMS&amp;lt;/code&amp;gt; || TDMSType || DMS-Typ des Ursprungsvorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cNr&amp;lt;/code&amp;gt; || String || Vorgangsnummer des Ursprungs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cUid&amp;lt;/code&amp;gt; || String || UID der Ursprungsposition&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSysUid&amp;lt;/code&amp;gt; || String || System-UID der Ursprungsposition&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Methoden:&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signatur !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Clear&amp;lt;/code&amp;gt; || Leert alle Felder des Records&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure SetData(const ADMS: TDMSType; qPos: TxFQuery)&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt den Record aus einem Positions-Query&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVorgangPosParams_AktualisiereDaten ===&lt;br /&gt;
Steuert, welche Datenbereiche bei &amp;lt;code&amp;gt;[[#TVorgangPos_Meth_AktualisiereDaten|AktualisiereDaten]]&amp;lt;/code&amp;gt; aktualisiert werden sollen.&lt;br /&gt;
Wird &amp;amp;uuml;ber die Property &amp;lt;code&amp;gt;[[#TVorgang_Prop_ParameterPositionsdatenAktualisieren|ParameterPositionsdatenAktualisieren]]&amp;lt;/code&amp;gt; von [[#TVorgang|TVorgang]] gesetzt.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Feld !! Typ !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lTexte&amp;lt;/code&amp;gt; || Boolean || Bezeichnungen/Texte aktualisieren&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lEK&amp;lt;/code&amp;gt; || Boolean || Einkaufspreise aktualisieren&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lVK&amp;lt;/code&amp;gt; || Boolean || Verkaufspreise aktualisieren&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Methoden:&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signatur !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Init(const cVorb: string = &#039;&#039;)&amp;lt;/code&amp;gt; || Initialisiert die Parameter mit Standardwerten; optionaler Vorbelegungsschl&amp;amp;uuml;ssel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Aktualisieren(): boolean&amp;lt;/code&amp;gt; || Gibt &amp;lt;code&amp;gt;True&amp;lt;/code&amp;gt; zur&amp;amp;uuml;ck, wenn mindestens ein Aktualisierungsschalter gesetzt ist&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVorgangPosSummen ===&lt;br /&gt;
Speichert Zwischen- und Titelsummen-Betr&amp;amp;auml;ge je Ebene (1 bis &amp;lt;code&amp;gt;VB_MAX_SummenEbenen&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Feld !! Typ !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;aZw[1..9]&amp;lt;/code&amp;gt; || Double || Zwischensummen-Betr&amp;amp;auml;ge je Ebene&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;aTit[1..9]&amp;lt;/code&amp;gt; || Double || Titelsummen-Betr&amp;amp;auml;ge je Ebene&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Methoden:&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signatur !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Clear&amp;lt;/code&amp;gt; || Setzt alle Summen auf 0&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure ClearZw(const nEbene: integer)&amp;lt;/code&amp;gt; || Setzt Zwischensumme der Ebene nEbene auf 0&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure ClearTit(const nEbene: integer)&amp;lt;/code&amp;gt; || Setzt Titelsumme der Ebene nEbene auf 0&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure AddZw(const nBetrag: double)&amp;lt;/code&amp;gt; || Addiert Betrag zur aktiven Zwischensummen-Ebene&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure AddTit(const nBetrag: double)&amp;lt;/code&amp;gt; || Addiert Betrag zur aktiven Titelsummen-Ebene&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function ReadZw(const nEbene: integer): double&amp;lt;/code&amp;gt; || Liefert den Zwischensummen-Betrag der Ebene&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function ReadTit(const nEbene: integer): double&amp;lt;/code&amp;gt; || Liefert den Titelsummen-Betrag der Ebene&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVorgangEigenschaft ===&lt;br /&gt;
Repr&amp;amp;auml;sentiert ein Vorgangsmerkmal (Eigenschaft), das per &amp;lt;code&amp;gt;[[#TVorgang_Meth_EigenschaftSetzen|EigenschaftSetzen]]&amp;lt;/code&amp;gt; gesetzt wird.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Feld !! Typ !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cNr&amp;lt;/code&amp;gt; || String || Merkmalsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lMode&amp;lt;/code&amp;gt; || Boolean || True = setzen, False = l&amp;amp;ouml;schen&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVorgangFehler ===&lt;br /&gt;
Ein Eintrag in der internen Fehlerliste von [[#TVorgang|TVorgang]].&lt;br /&gt;
Wird per &amp;lt;code&amp;gt;[[#TVorgang_Meth_leseFehler|leseFehler]]&amp;lt;/code&amp;gt; ausgelesen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Feld !! Typ !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cTitel&amp;lt;/code&amp;gt; || String || Fehlertitel (Kurzbeschreibung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cText&amp;lt;/code&amp;gt; || String || Fehlertext (Detailbeschreibung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;eTyp&amp;lt;/code&amp;gt; || [[#TVorgangFehlerTyp|TVorgangFehlerTyp]] || Fehlerklassifikation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Konstanten ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Konstante !! Wert !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_POS&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;0&#039;&amp;lt;/code&amp;gt; || Positionstyp normale Artikelposition (entspricht [[#TVB_PosType|ptPosition]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_TXT&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;1&#039;&amp;lt;/code&amp;gt; || Positionstyp Textzeile (entspricht [[#TVB_PosType|ptText]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_ELN&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;2&#039;&amp;lt;/code&amp;gt; || Positionstyp Leerzeile (entspricht [[#TVB_PosType|ptLeerzeile]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_ZWS&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;3&#039;&amp;lt;/code&amp;gt; || Positionstyp Zwischensumme (entspricht [[#TVB_PosType|ptZwischensumme]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_TIS&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;4&#039;&amp;lt;/code&amp;gt; || Positionstyp Titelsumme (entspricht [[#TVB_PosType|ptTitelsumme]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_TIT&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;7&#039;&amp;lt;/code&amp;gt; || Positionstyp Titel (entspricht [[#TVB_PosType|ptTitel]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_GEW&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;8&#039;&amp;lt;/code&amp;gt; || Positionstyp Gewerk (entspricht [[#TVB_PosType|ptGewerk]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_PBR&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;17&#039;&amp;lt;/code&amp;gt; || Positionstyp Seitenumbruch (entspricht [[#TVB_PosType|ptSeitenumbruch]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_PIC&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;19&#039;&amp;lt;/code&amp;gt; || Positionstyp Bild (entspricht [[#TVB_PosType|ptBild]])&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;VB_DEFAULT_BezZwischensumme&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;ZWISCHENSUMME    :&#039;&amp;lt;/code&amp;gt; || Standard-Bezeichnung f&amp;amp;uuml;r Zwischensummen-Positionen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;VB_DEFAULT_BezTitelsumme&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;TITELSUMME       :&#039;&amp;lt;/code&amp;gt; || Standard-Bezeichnung f&amp;amp;uuml;r Titelsummen-Positionen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;VB_MAX_SummenEbenen&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;9&amp;lt;/code&amp;gt; || Maximale Anzahl von Summenebenen (Zwischen- und Titelsummen)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Basisklassen Vorgangsgenerierung=&lt;br /&gt;
&lt;br /&gt;
== TVorgang ==&lt;br /&gt;
&lt;br /&gt;
=== Variablen ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Name !! Typ !! Zugriff !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;oMyDB&amp;lt;/code&amp;gt; || TxDB || Lesen/Schreiben || Datenbankverbindung des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;oProtokoll&amp;lt;/code&amp;gt; || TStringList || Lesen/Schreiben || Protokoll-Liste (Meldungen/Log)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lMeldung&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Steuert Anzeige von Benutzer-Meldungen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lSetPSBemAuto&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Automatische Positionsbemerkung setzen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVorgNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Vorgangsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cProjNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Projektnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lBrutto&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Brutto-Modus aktiv&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLanguage&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sprach-Code (intern, z.&amp;amp;nbsp;B. f&amp;amp;uuml;r Formulare)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLagNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lagernummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cTyp&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Vorgangstyp-K&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dVorgDat&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Vorgangsdatum&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dFaelligDat&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || F&amp;amp;auml;lligkeitsdatum&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dBuchDat&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Buchungsdatum&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dAufDat&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Auftragsdatum&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKdNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kundennummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cAnrede&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Anrede des Kunden&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cName&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Name des Kunden&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVorname&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Vorname des Kunden&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cZusatz1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Adresszusatz 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cZusatz2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Adresszusatz 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cStrasse&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Stra&amp;amp;szlig;e der Lieferadresse&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPostfach&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Postfach&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLK&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || L&amp;amp;auml;nderkennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPLZ&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Postleitzahl&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cOrt&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Ort&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cAngebNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Angebotsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLSNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferscheinnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRechNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cAuftNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Auftragsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRepaNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Reparaturauftragsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cEinkaufsNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Einkaufsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBestellNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Bestellnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosText&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionstext (globaler Standardtext)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLProjNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Leistungsprojektnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKopftext&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kopftext des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cFusstext&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Fu&amp;amp;szlig;text des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nNBetrag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Nettobetrag gesamt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nBBetrag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Bruttobetrag gesamt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nEKBetrag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Einkaufsbetrag gesamt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabattBetrag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabattbetrag gesamt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabattProz&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabattprozentsatz gesamt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nAnzahlung&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Anzahlungsbetrag&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nPorto&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Portokosten&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nVerpackung&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Verpackungskosten&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lSplitPoVe&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Porto und Verpackung getrennt ausweisen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVersand&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandart&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cWaehr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || W&amp;amp;auml;hrungsk&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cFormul&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Formularnummer/-k&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVAnr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandanrede&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVName1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandname 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVName2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandname 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVZusatz&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandadresse Zusatz&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVStrasse&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandstra&amp;amp;szlig;e&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVLK&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versand-L&amp;amp;auml;nderkennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVPLZ&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versand-PLZ&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVOrt&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandort&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandadresse UID&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPrio&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Priorit&amp;amp;auml;t des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cAuftNrKd&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Auftrags-/Bestellnummer des Kunden&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBesteller&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Besteller (Person)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSachb&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sachbearbeiter&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabPosJN&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionsrabatt anzeigen J/N&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMWSTJN&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Mehrwertsteuer ausweisen J/N&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText3&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 3&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText4&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 4&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText5&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 5&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText6&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 6&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText7&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 7&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPreisJN&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Preis auf Dokument drucken J/N&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMwStAbs&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || MwSt-Absetzungstext/-K&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dLiefDat&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Lieferdatum&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cDeleted&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Gel&amp;amp;ouml;scht-Kennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dLDat2&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Zweites Lieferdatum&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSprache&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sprache des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReEmpf&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Nummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReAnrede&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Anrede&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReName&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Name&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReVorname&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Vorname&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReZusatz1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Adresszusatz 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReZusatz2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Adresszusatz 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReStrasse&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Stra&amp;amp;szlig;e&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRePostfach&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Postfach&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReLK&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-L&amp;amp;auml;nderkennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRePLZ&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-PLZ&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cReOrt&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Ort&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVertreter&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Vertreter-K&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVerbucht&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Verbucht-Kennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLager&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lager-K&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRechFrei&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsfreigabe-Kennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBonNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Bonnummer (Kasse)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMandant&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Mandantenk&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nMwStDM&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || MwSt-Betrag in DM (Altw&amp;amp;auml;hrung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nKursDM&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Wechselkurs DM&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nAbschlag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Abschlagsbetrag&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nZBetrag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Zahlungsbetrag&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nZSkonto&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Skonto-Betrag&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dZDatum&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Zahlungsdatum&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMemo&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Memofeld des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nValuta&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Valutatage&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKostenst&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kostenstelle&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKostentraeger&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kostentr&amp;amp;auml;ger&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKalkGr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kalkulationsgruppe&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cFrachtV&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Frachtart/-vorschrift&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nFrachtK&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Frachtkosten&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nFrachtG&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Frachtgewicht&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cGruppe&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Vorgangsgruppe&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nPosInc&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Positionsnummer-Inkrement&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cFiliale&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Filialk&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabText&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabatttextfeld (kurz)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cErfasser&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Erfasser des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nSKFBetrag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Skontof&amp;amp;auml;higer Betrag&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lLiefStrecke&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Lieferstreckengesch&amp;amp;auml;ft aktiv&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBetreff&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Betreffzeile&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMemoDruck&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Druckmemo (erscheint auf Dokument)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLieferLiefNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferanten-Lieferscheinnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabattText&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabatttext (lang)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSysUid&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || System-UID des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lLeistPreis2&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Leistungspreis 2 verwenden&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cFunction&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Funktionsk&amp;amp;uuml;rzel (Scripting-Hook)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lSaveAllowed&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Speichern erlaubt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lVorgangsSperre&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Vorgang gesperrt&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Properties ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Name !! Typ !! Zugriff !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;DmsTyp&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || DMS-Typ des Vorgangs (z.&amp;amp;nbsp;B. AN, AU, LS, RE)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;MainTable&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Haupttabelle des Vorgangs (Datenbankname)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PosTable&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionstabelle des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosFormat&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionsnummern-Format&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgang_Prop_ParameterPositionsdatenAktualisieren&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;ParameterPositionsdatenAktualisieren&amp;lt;/code&amp;gt; || [[#TVorgangPosParams_AktualisiereDaten|TVorgangPosParams_AktualisiereDaten]] || Lesen/Schreiben || Parameter f&amp;amp;uuml;r Massenaktualisierung von Positionsdaten&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PnPosCnt&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Anzahl der Positionen im Vorgang&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PaPositionen[Index]&amp;lt;/code&amp;gt; || [[#TVorgangPos|TVorgangPos]] || Lesen/Schreiben || Array der Positionsobjekte (0-basiert)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PcRabGrPers&amp;lt;/code&amp;gt; || String || Nur Lesen || Rabattgruppe der Person (aus Stammdaten ermittelt)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PcVKdNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || VK-Kundennummer (alternativ zur cKdNr f&amp;amp;uuml;r Preisfindung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nNet1&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Nettobetrag MwSt-Schl&amp;amp;uuml;ssel 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nNet2&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Nettobetrag MwSt-Schl&amp;amp;uuml;ssel 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nNet3&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Nettobetrag MwSt-Schl&amp;amp;uuml;ssel 3&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nBrutto1&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Bruttobetrag MwSt-Schl&amp;amp;uuml;ssel 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nBrutto2&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Bruttobetrag MwSt-Schl&amp;amp;uuml;ssel 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nBrutto3&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Bruttobetrag MwSt-Schl&amp;amp;uuml;ssel 3&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nMwSt1&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || MwSt-Betrag Schl&amp;amp;uuml;ssel 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nMwSt2&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || MwSt-Betrag Schl&amp;amp;uuml;ssel 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nMwSt3&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || MwSt-Betrag Schl&amp;amp;uuml;ssel 3&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMwStSchl1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || MwSt-Schl&amp;amp;uuml;ssel 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMwStSchl2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || MwSt-Schl&amp;amp;uuml;ssel 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMwStSchl3&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || MwSt-Schl&amp;amp;uuml;ssel 3&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKeineVersPausch&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Keine Versandpauschale berechnen J/N&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cZahlBed&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Zahlungsbedingung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lNewVorgang&amp;lt;/code&amp;gt; || Boolean || Nur Lesen || Neuer (noch nicht gespeicherter) Vorgang&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKopfNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kopftextbaustein-Nummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cFussNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Fu&amp;amp;szlig;textbaustein-Nummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLiefStrecke&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferstrecken-K&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cStatus&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Status des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cStatM&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Material-Status&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cStatS&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Service-Status&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cStatL&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferstatus&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cStatR&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsstatus&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cColStatus&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Farb-/Anzeigestatus (f&amp;amp;uuml;r UI)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cZustand&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Zustandskenner des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cArt&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Vorgangsart-K&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBonusJN&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Bonus berechnen J/N&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVersandkostenMBW&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandkosten-Mindestbestellwert-Kennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cWKNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Werbungskosten-Nummer&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Methoden ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signatur !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;constructor Create(const cUid: string; oxDB: TxDB; cDmsType: string)&amp;lt;/code&amp;gt; || Erstellt einen neuen Vorgang mit UID, Datenbankverbindung und DMS-Typ&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;destructor Destroy&amp;lt;/code&amp;gt; || Gibt den Vorgang und alle Ressourcen frei&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function SemaphoreCreate(cFName: string; lMeldung: boolean = False; cWait: string = &#039;&#039;): boolean&amp;lt;/code&amp;gt; || Erstellt eine Datei-Semaphore (Sperrdatei); gibt True zur&amp;amp;uuml;ck wenn erfolgreich&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function SemaphoreInUse(cFName: string): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft ob die Semaphore-Datei bereits in Verwendung ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure SemaphoreReleaseAll&amp;lt;/code&amp;gt; || Gibt alle Semaphoren dieses Vorgangs frei&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure SemaphoreRelease(cFName: string)&amp;lt;/code&amp;gt; || Gibt eine bestimmte Semaphore frei&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstAngebot(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang ein Angebot ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstAuftrag(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang ein Auftrag ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstReparaturAuftrag(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang ein Reparaturauftrag ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstLieferschein(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang ein Lieferschein ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstRechnung(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang eine Rechnung ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstBestellung(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang eine Bestellung ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstAnfrage(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang eine Anfrage ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstEKLieferschein(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang ein EK-Lieferschein ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstEinkauf(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang ein Einkaufsvorgang ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstVG_VK(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn es sich um einen Verkaufsvorgang handelt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstVG_EK(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn es sich um einen Einkaufsvorgang handelt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function NeuNumLock(): boolean&amp;lt;/code&amp;gt; || Sperrt die Neunummerierung (verhindert parallele Vergabe)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure NeuNumLockRelease&amp;lt;/code&amp;gt; || Gibt die Neunummerierungssperre wieder frei&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgNeuNum(cFilter: string = &#039;&#039;; lAbweichend: boolean = false): string&amp;lt;/code&amp;gt; || Ermittelt und setzt eine neue Vorgangsnummer; gibt die Nummer als String zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgNeuNumBool(cFilter: string = &#039;&#039;; lAbweichend: boolean = false): boolean&amp;lt;/code&amp;gt; || Wie VorgNeuNum, gibt True/False zur&amp;amp;uuml;ck (f&amp;amp;uuml;r Fehlerbehandlung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstVorgNrGueltig(cUID: string = &#039;&#039;): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft ob die aktuelle Vorgangsnummer g&amp;amp;uuml;ltig (eindeutig) ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function NeuePositionBase(const cUID: string): [[#TVorgangPos|TVorgangPos]]&amp;lt;/code&amp;gt; || Legt eine neue Positionsinstanz an und f&amp;amp;uuml;gt sie dem Vorgang hinzu&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure NeuePositionBaseMS(const cUID: string; oOrgPos: [[#TVorgangPos|TVorgangPos]])&amp;lt;/code&amp;gt; || Legt eine neue Position als Multi-Steuer-Folgeposition an&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function LoeschePositionBase(nDel: integer): Boolean&amp;lt;/code&amp;gt; || L&amp;amp;ouml;scht die Position mit dem angegebenen Index&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure VerschiebePositionBase(nPos: integer; nZiel: integer)&amp;lt;/code&amp;gt; || Verschiebt Position von Index nPos zu Index nZiel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CheckIfNotNull(): Boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft ob Pflichtfelder des Vorgangs bef&amp;amp;uuml;llt sind&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CheckIfFirstPosOption(): Boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft ob die erste Position eine Optionsposition ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IsPosBerechnung(cPosArt: string): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft ob eine Positionsart als Berechnungsposition gilt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure CopyFrom(oSrc: [[#TVorgang|TVorgang]])&amp;lt;/code&amp;gt; || Kopiert alle Felder aus einem anderen Vorgang&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure KalkAll(lZusatz: boolean = true)&amp;lt;/code&amp;gt; || Kalkuliert alle Positionen und Gesamtsummen neu&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Check_Multisteuer(oOrgPos: [[#TVorgangPos|TVorgangPos]]; const cTable, cMUID, cRefNr: string)&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft und setzt Multi-Steuer-Verkn&amp;amp;uuml;pfung f&amp;amp;uuml;r eine Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyPosmenge(cFromUID: string): string&amp;lt;/code&amp;gt; || Kopiert Positionsmengen aus einem anderen Vorgang (per UID)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyPosverp(cFromUID: string): string&amp;lt;/code&amp;gt; || Kopiert Positionsverpackungen aus einem anderen Vorgang (per UID)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure fillVersandkostenMBW(const cPsNr: string; const cPsVersand: string = &#039;&#039;; const PsZusatz: string = &#039;&#039;)&amp;lt;/code&amp;gt; || Berechnet und setzt Versandkosten auf Basis Mindestbestellwert&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure FillPersonBase(qPers: TxFQuery)&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt Adressfelder des Vorgangs aus einem Personen-Query&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function FillReEmpf(const AReEmpf: string; const AZahlBed: string = &#039;&#039;): boolean&amp;lt;/code&amp;gt; || Setzt Rechnungsempf&amp;amp;auml;nger und optionale Zahlungsbedingung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function SaveRecord(cUID: string = &#039;&#039;; lAlleSpeichern: boolean = false): Boolean&amp;lt;/code&amp;gt; || Speichert den Vorgang (abstrakt &amp;amp;ndash; muss in abgeleiteter Klasse implementiert werden)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function ReadVorgangTypBase(cDmsTyp: string; const cNr: string; lPos: boolean = false; lNeg: boolean = false): boolean&amp;lt;/code&amp;gt; || Liest einen Vorgang anhand DMS-Typ und Nummer in das Objekt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function JahrNr(): string&amp;lt;/code&amp;gt; || Gibt das Jahr der Vorgangsnummer zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure NeuNumPos(const lNurPos: boolean = True)&amp;lt;/code&amp;gt; || Nummeriert alle Positionen neu&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function EigenschaftSetzen(const ANr: string; const AMode: boolean): boolean&amp;lt;/code&amp;gt; || Setzt oder l&amp;amp;ouml;scht eine Vorgangseigenschaft (Merkmal) per Nummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure AdresseLeeren&amp;lt;/code&amp;gt; || Leert alle Adressfelder des Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure VersandLeeren(lRef: boolean = True)&amp;lt;/code&amp;gt; || Leert alle Versandadressfelder&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure ReEmpfLeeren(const lNurAdr: boolean = False)&amp;lt;/code&amp;gt; || Leert Rechnungsempf&amp;amp;auml;nger-Felder (optional nur Adresse)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure DoServiceTouch(cStatus: string = &#039;&#039;)&amp;lt;/code&amp;gt; || Aktualisiert Service-Zeitstempel und optionalen Status&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function AuswahlParameterPositionsdatenAktualisieren(const cXDataTable: string): boolean&amp;lt;/code&amp;gt; || Zeigt Dialog zur Auswahl der Aktualisierungsparameter f&amp;amp;uuml;r Positionsdaten&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function ZusatzkostenAktiv(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn Zusatzkostenmodul f&amp;amp;uuml;r diesen Vorgang aktiv ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgang_Meth_leseFehler&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;function leseFehler(out rFehler: [[#TVorgangFehler|TVorgangFehler]]; var nIdx: integer; const eLoeschenNachLesen: [[#TVorgangFehlerLoeschenLesen|TVorgangFehlerLoeschenLesen]] = vfllSkipCritical): boolean&amp;lt;/code&amp;gt; || Liest den n&amp;amp;auml;chsten Fehler aus der internen Fehlerliste&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== TVorgangPos ==&lt;br /&gt;
&lt;br /&gt;
=== Variablen ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Name !! Typ !! Zugriff !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nPosIndex&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Laufender Index der Position im Positions-Array&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Interne Positionsnummer (Datenbankfeld)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKundNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kundennummer an der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cAuftragsNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Referenz-Auftragsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBestellNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Referenz-Bestellnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosText&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionstext (Langtextfeld)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLProjNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Leistungsprojektnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLS_azUid&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferschein-Abrechnungszeilen-UID&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVersandNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionsnummer (formatiert)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosNr2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Zweite Positionsnummer (alternativ)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosKas&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kassier-Positionsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLeistungsNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Leistungsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBezeichnung1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Bezeichnung Zeile 1&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBezeichnung2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Bezeichnung Zeile 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nUrMenge&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Ursprungsmenge (vor &amp;amp;Auml;nderungen)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nLeistFaktor&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Leistungsfaktor (Multiplikator f&amp;amp;uuml;r Mengenberechnung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cEinheit&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Mengeneinheit&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nMengeG&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Mengenganz (ganzzahliger Mengenanteil)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nKolli&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Kollianzahl&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVerpackung&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Verpackungsart/-k&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nInhalt&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Inhalt pro Verpackungseinheit&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nEPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Einzelpreis (Netto)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nBEPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Brutto-Einzelpreis&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nOBPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Original-Brutto-Einzelpreis (vor Rabatt)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nUrPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Ursprungspreis (Listenpreis VK)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nUrPreisEK&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Ursprungspreis Einkauf&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nGPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Gesamtpreis (Netto)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nBGPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Brutto-Gesamtpreis&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nEKPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Einkaufspreis&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nEKSPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Einkaufssonderpreis&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cManPreis&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Manueller Preis J/N-Kennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabatt&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Gesamtrabatt in Prozent&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabatt1&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabatt 1 in Prozent&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabArt1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabattart 1 (Herkunftskennzeichen)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabatt2&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabatt 2 in Prozent&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabArt2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabattart 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabatt3&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabatt 3 in Prozent&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabArt3&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabattart 3&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabatt4&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabatt 4 in Prozent&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabArt4&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabattart 4&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabatt5&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabatt 5 in Prozent&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabArt5&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabattart 5&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nAddSub&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Additions-/Subtraktionsbetrag (Zuschlag/Abzug absolut)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKonto&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Buchungskonto&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLagNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lagernummer der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLagONr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lager-Ortsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cVerkaufer&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Verk&amp;amp;auml;uferk&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cStatus&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionsstatus&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cAngebotsNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Referenz-Angebotsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Eindeutige ID der Position (GUID)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Multi-Steuer-UID (Verkn&amp;amp;uuml;pfung bei Multisteuer)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cRTVon&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || R&amp;amp;uuml;cktragungs-Referenz (von welcher Position)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSpNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Speditionsnummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBestellUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || UID der verkn&amp;amp;uuml;pften Bestellposition&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMaterialUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || UID des verkn&amp;amp;uuml;pften Materialeintrags&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cEiliUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || UID der Eillieferungsposition&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cXUID1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Erweiterungs-UID 1 (freie Verkn&amp;amp;uuml;pfung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cXUID2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Erweiterungs-UID 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cXUID3&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Erweiterungs-UID 3&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cXUID4&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Erweiterungs-UID 4&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKommentar&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kommentarfeld der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nProvision&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Provisionsanteil in Prozent&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLiefKz&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferkennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cProdGr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Produktgruppe&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nFrachtV&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Frachtvolumen der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLSNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferscheinnummer der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dLSDatum&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Lieferscheindatum der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosArt&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionsart (z.&amp;amp;nbsp;B. N=Normal, O=Optional)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSKFJN&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Skontof&amp;amp;auml;hig J/N&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cEKHerkunft&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || EK-Preisherkunft-K&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLiefNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferantennummer&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cLagStreck&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lager-Streckenkennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cAufschlag&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Aufschlagsk&amp;amp;uuml;rzel&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nStaffelPreis&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Staffelpreisstufe (Index)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nStaffelmenge&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Staffelmenge f&amp;amp;uuml;r Preisfindung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lAktionspreis&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Aktionspreis aktiv&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cAusdruckJN&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Position drucken J/N&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cMemoDruck&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Druckmemo der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cBildUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || UID des verkn&amp;amp;uuml;pften Bildes&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cCMPUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || CMP-Objekt-UID&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cZeit_CMPUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Zeiterfassungs-CMP-UID&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cZeit_Text&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Zeiterfassungstext&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cZeit_Mitarb&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Mitarbeiter der Zeiterfassung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dZeit_Date&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Datum der Zeiterfassung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cZeit_NurLei&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Zeiterfassung: nur Leistung J/N&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cKostst&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kostenstelle der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dAbrechVon&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Abrechnungszeitraum von&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;dAbrechBis&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Abrechnungszeitraum bis&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lNeuNum&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Neunummerierung f&amp;amp;uuml;r diese Position ausf&amp;amp;uuml;hren&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cSysUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || System-UID der Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cGeraetNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Ger&amp;amp;auml;tenummer (f&amp;amp;uuml;r Servicepositionen)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Properties ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Name !! Typ !! Zugriff !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;oMyDB&amp;lt;/code&amp;gt; || TxDB || Nur Lesen || Datenbankverbindung (vom Vorgang geerbt)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;ShopNr&amp;lt;/code&amp;gt; || String || Nur Lesen || Shop-Nummer (f&amp;amp;uuml;r Mehrshop-Preisfindung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cArtikelNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Artikelnummer (Zugriff &amp;amp;uuml;ber Property wegen Seiteneffekten)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PcMWSTSch&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || MwSt-Schl&amp;amp;uuml;ssel (Parameter-Feld)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PcMengeIn&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Mengeneingabe als String (Parameter)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PnMengeIn&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Mengeneingabe als Zahl (Parameter)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PnMengeInFak&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Mengeneingabe-Faktor (Parameter)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PcMemofeld&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Memofeld der Position (Parameter-Feld, Unicode)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PcMemofeldAnsi&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Memofeld ANSI-Version (Parameter-Feld)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosLaufend&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Laufende Positionsnummer als String&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;lVerbrauchsMater&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Verbrauchsmaterial-Kennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;nMenge&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Menge der Position (mit Seiteneffekten bei Schreiben)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;cTyp&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionstyp als String &amp;amp;ndash; siehe [[#Konstanten|Konstanten]] (POSTYP_*)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgangPos_Prop_Typ&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;Typ&amp;lt;/code&amp;gt; || [[#TVB_PosType|TVB_PosType]] || Lesen/Schreiben || Positionstyp als Enum (ptPosition, ptText, ptLeerzeile&amp;amp;nbsp;&amp;amp;hellip;)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgangPos_Prop_OriginalPos&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;OriginalPos&amp;lt;/code&amp;gt; || [[#TVorgangPosOriginal|TVorgangPosOriginal]] || Nur Lesen || Ursprungspositionsdaten (DMS-Referenz, Nr, UID, SysUID)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Methoden ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signatur !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;constructor Create(oxVorgang: [[#TVorgang|TVorgang]]; cPosTbl: string)&amp;lt;/code&amp;gt; || Erstellt eine neue Position f&amp;amp;uuml;r den angegebenen Vorgang (veraltet, UID-Variante bevorzugen)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;constructor Create(cUid: string; oxVorgang: [[#TVorgang|TVorgang]]; cPosTbl: string)&amp;lt;/code&amp;gt; || Erstellt eine neue Position mit vorgegebener UID&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;destructor Destroy&amp;lt;/code&amp;gt; || Gibt die Position frei&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure PositionsVorbelegung&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt die Position mit Standardwerten aus den Vorgangsdaten&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure GenNewUid&amp;lt;/code&amp;gt; || Generiert eine neue UID f&amp;amp;uuml;r diese Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyPosmenge(cFromUID: string): string&amp;lt;/code&amp;gt; || Kopiert Mengen aus einer anderen Position (per UID)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyPosverp(cFromUID: string): string&amp;lt;/code&amp;gt; || Kopiert Verpackungsdaten aus einer anderen Position (per UID)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure CopyFrom(oSrc: [[#TVorgangPos|TVorgangPos]]; lFull: boolean = False)&amp;lt;/code&amp;gt; || Kopiert alle Felder aus einer anderen Position; lFull=True kopiert auch interne Felder&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure QueryToPos(qTmp: TxFQuery; lReadAsNew: boolean = false)&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt die Position aus einem Datenbankquery (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure QueryToPos(qTmp: TxFQuery; const cFromTable: string; lVerpack: Boolean = False; lUmkehr: boolean = False)&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt die Position aus einem Query mit expliziter Quelltabelle (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure DBPosToPos(const cFromTable: string; const cSysUid: string; lVerpack: Boolean = False; lUmkehr: boolean = False)&amp;lt;/code&amp;gt; || Liest eine Position direkt aus der Datenbank per SysUID&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function FillArtikel(cArtNr: string): boolean&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt die Position mit Artikelstammdaten; gibt True bei Erfolg zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function SetzeLieferant(const cLiefNr: string; lEKNeu: boolean = True; lDefaultEK1: boolean = False): boolean&amp;lt;/code&amp;gt; || Setzt den Lieferanten und aktualisiert EK-Preise&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure FillLeistung(cLeistNr: string)&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt die Position mit Leistungsstammdaten&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function SumPosBez(const eZielTyp: [[#TVB_PosType|TVB_PosType]]; const cBezVorb: string): string&amp;lt;/code&amp;gt; || Gibt die Bezeichnung f&amp;amp;uuml;r eine Summenposition zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_Pos&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;normale Position&amp;amp;ldquo;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_Text(const cText: string)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Textzeile&amp;amp;ldquo; mit dem angegebenen Text&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_Leerzeile&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Leerzeile&amp;amp;ldquo;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_Zwischensumme(const cBez: string = &#039;&#039;)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Zwischensumme&amp;amp;ldquo; (Ebene&amp;amp;nbsp;1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_ZwischensummeEbene(const nEbene: integer; const cBez: string = &#039;&#039;)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Zwischensumme&amp;amp;ldquo; der angegebenen Ebene&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_Titelsumme(const cBez: string = &#039;&#039;)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Titelsumme&amp;amp;ldquo; (Ebene&amp;amp;nbsp;1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_TitelsummeEbene(const nEbene: integer; const cBez: string = &#039;&#039;)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Titelsumme&amp;amp;ldquo; der angegebenen Ebene&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_Titel(const cBez: string)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Titel&amp;amp;ldquo;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_Gewerk(const cBez: string)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Gewerk&amp;amp;ldquo;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_NeueSeite&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Seitenumbruch&amp;amp;ldquo;&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_Bild(const cBild: string)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Bild&amp;amp;ldquo; mit dem angegebenen Bildpfad/-UID&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure UStKorrektur(const dCheckDate: TDateTime)&amp;lt;/code&amp;gt; || Korrigiert den Umsatzsteuerschl&amp;amp;uuml;ssel gem&amp;amp;auml;&amp;amp;szlig; Datum (Steuersatz&amp;amp;auml;nderungen)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure KalkPos&amp;lt;/code&amp;gt; || Kalkuliert Gesamtpreis und abgeleitete Felder dieser Position neu&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosNrAllowed(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn dieser Positionstyp eine Positionsnummer erh&amp;amp;auml;lt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure SetPosNr(cP: string; cT: string = &#039;&#039;; cG: string = &#039;&#039;; cFormat: string = &#039;&#039;)&amp;lt;/code&amp;gt; || Setzt die Positionsnummer aus String-Komponenten (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure SetPosNr(nP: integer; nT: integer = -1; nG: integer = -1; cFormat: string = &#039;&#039;)&amp;lt;/code&amp;gt; || Setzt die Positionsnummer aus numerischen Komponenten (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosLaufend(iPos: integer = 0): string&amp;lt;/code&amp;gt; || Gibt die laufende Positionsnummer als formatierten String zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Preisfindung(cShopNr: string = CONST_NO_SHOP)&amp;lt;/code&amp;gt; || F&amp;amp;uuml;hrt die Preisfindung f&amp;amp;uuml;r diese Position aus&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function SetOpenBookLieferant(): boolean&amp;lt;/code&amp;gt; || Setzt den Open-Book-Lieferanten f&amp;amp;uuml;r diese Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure AddToMemo(const cText: string; const lNewLine: boolean = False)&amp;lt;/code&amp;gt; || F&amp;amp;uuml;gt Text zum Memofeld hinzu&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgangPos_Meth_AktualisiereDaten&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;procedure AktualisiereDaten&amp;lt;/code&amp;gt; || Aktualisiert Texte, EK- und VK-Preise gem&amp;amp;auml;&amp;amp;szlig; [[#TVorgang_Prop_ParameterPositionsdatenAktualisieren|ParameterPositionsdatenAktualisieren]]&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure EKCalcMengeIn(var nEkFak: double)&amp;lt;/code&amp;gt; || Berechnet den EK-Mengeneingabe-Faktor (R&amp;amp;uuml;ckgabe per var-Parameter)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CanSave(): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft ob diese Position gespeichert werden kann/darf&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure qSqlSet(AqSql: TqSql)&amp;lt;/code&amp;gt; || Setzt das SQL-Objekt f&amp;amp;uuml;r erweiterte DB-Operationen dieser Position&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Globale Methoden =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Signatur !! Beschreibung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstVKVorgang(cMainTable: string): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck, wenn die Haupttabelle ein VK-Vorgang ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstVKVorgangPos(cPosTable: string): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck, wenn die Positionstabelle zu einem VK-Vorgang geh&amp;amp;ouml;rt&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyPosmengeDB(oMyDB: TxDB; cFromUID: string): string&amp;lt;/code&amp;gt; || Kopiert Positionsmengen aus einem anderen Vorgang (direkt per Datenbankzugriff)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyPosverpDB(oMyDB: TxDB; cFromUID: string): string&amp;lt;/code&amp;gt; || Kopiert Positionsverpackungen aus einem anderen Vorgang (direkt per Datenbankzugriff)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyRTFLan(oMyDB: TxDB; cVonTable, cVonRef, cNachTable, cNachRef: String): String&amp;lt;/code&amp;gt; || Kopiert RTF-Langtexte zwischen Vorgangs-Positionen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure CopyKalkulationAN2AU(oMyDB: TxDB; cANRef1, cANRef2, cAURef1, cAURef2: String; fPosmenge: Double)&amp;lt;/code&amp;gt; || Kopiert Kalkulation von Angebot nach Auftrag (mit Mengenfaktor)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure CopyKalkulationAU(oMyDB: TxDB; cANRef1, cANRef2, cAURef1, cAURef2: String)&amp;lt;/code&amp;gt; || Kopiert Auftragskalkulation zwischen zwei Positionen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure CopyKalkulationAN(oMyDB: TxDB; cANRef1, cANRef2, cAURef1, cAURef2: String)&amp;lt;/code&amp;gt; || Kopiert Angebotskalkulation zwischen zwei Positionen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosNrFormatCheck(const cFormat: string): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft, ob ein Positionsnummern-Format g&amp;amp;uuml;ltig ist (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosNrFormatCheck(oMyDB: TxDB; const cFormat: string): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft Format gegen Datenbankeinstellungen (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosNrFormatCounts(const cFormat: string; out nG, nT, nP: integer): boolean&amp;lt;/code&amp;gt; || Liefert die Stellenzahlen f&amp;amp;uuml;r Gewerk, Titel und Position aus dem Format (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosNrFormatCounts(oMyDB: TxDB; const cFormat: string; out nG, nT, nP: integer): boolean&amp;lt;/code&amp;gt; || Wie oben, mit Datenbankzugriff (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosNrSplit(oMyDB: TxDB; const cFormat, cPosTyp: string; cPosNr: string; out nG, nT, nP: integer): boolean&amp;lt;/code&amp;gt; || Zerlegt eine formatierte Positionsnummer in ihre Bestandteile&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function GetVorgangMandant(oMyDB: TxDB; const cTable, cNr: string): string&amp;lt;/code&amp;gt; || Gibt den Mandanten-Schl&amp;amp;uuml;ssel f&amp;amp;uuml;r einen Vorgang zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function GetVorgangTextTB(const nPMode: integer; out cTB_Nr: string; cFiliale: string = &#039;&#039;): boolean&amp;lt;/code&amp;gt; || Ermittelt die Textbaustein-Nummer f&amp;amp;uuml;r den angegebenen Positionsmodus&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function GetVorgangTextTBPers(oMyDB: TxDB; const cPsNr: string; const nPMode: integer; out cTB_Nr: string; cFiliale: string = &#039;&#039;): boolean&amp;lt;/code&amp;gt; || Wie GetVorgangTextTB, zus&amp;amp;auml;tzlich personenbezogen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function KopfTextPlatzhalter(var cKopfText: string; const cBrief1, cBrief2: string): boolean&amp;lt;/code&amp;gt; || Ersetzt Platzhalter im Kopftext durch Briefanredefelder&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangArt(oMyDB: TxDB; const cDMS, cNr: string): integer&amp;lt;/code&amp;gt; || Gibt die Vorgangsart als Integer-Kennziffer zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangStatus(oMyDB: TxDB; const cDMS, cNr: string): string&amp;lt;/code&amp;gt; || Gibt den aktuellen Status eines Vorgangs aus der Datenbank zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangVerbucht(oMyDB: TxDB; const cDMS, cNr: string): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck, wenn der Vorgang verbucht ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangUstEnthalten(oMyDB: TxDB; const cDMS, cNr, cUstSchl: string; cFeld: string = &#039;&#039;): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft, ob ein bestimmter USt-Schl&amp;amp;uuml;ssel im Vorgang verwendet wird&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PortoVerpackKannSkonto(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck, wenn Porto/Verpackung skontof&amp;amp;auml;hig ist (laut Systemeinstellung)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function GetPosBild(oMyDB: TxDB; cArtNr: string; var cBildUID: string): boolean&amp;lt;/code&amp;gt; || Ermittelt die Bild-UID eines Artikels f&amp;amp;uuml;r eine Positions-Bildposition&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangVertreterVorb(oMyDB: TxDB; const cVertreter: string): string&amp;lt;/code&amp;gt; || Gibt den vorgebelegten Vertreter-Schl&amp;amp;uuml;ssel zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangVertreterPrio(oMyDB: TxDB; const cAktVertreter: string): string&amp;lt;/code&amp;gt; || Gibt den Vertreter mit h&amp;amp;ouml;chster Priorit&amp;amp;auml;t zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function GenerierePositionskommentar(cUrsprung, cKommentar: String): String&amp;lt;/code&amp;gt; || Kombiniert Ursprungs- und Kommentartext zu einem Positions-Kommentar&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function ReplacePlatzhalterReparaturAuftrag(cRAufNr: String; cText: String = &#039;&#039;): String&amp;lt;/code&amp;gt; || Ersetzt Platzhalter im Text durch Reparaturauftragsdaten&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function ReplacePlatzhalterPosErfassung(oMyDB: TxDB; const cBuffer, cTable, cNr: string; const lDef: Boolean = False; const lRepa: Boolean = False): String&amp;lt;/code&amp;gt; || Ersetzt Platzhalter im Text bei der Positionserfassung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function LoadPlatzhalterVorgang(oMyDB: TxDB; const cTable, cNr: string; var oPlatzhalter: TPlatzhalterVorgang): Boolean&amp;lt;/code&amp;gt; || L&amp;amp;auml;dt Platzhalter-Daten eines Vorgangs aus der Datenbank&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function PlatzhalterVorgang(const cText, cNr: string; const oPlatzhalter: TPlatzhalterVorgang; const lDef: Boolean = false; const lRepa: Boolean = false): string&amp;lt;/code&amp;gt; || Ersetzt Platzhalter im Text mit den geladenen Vorgang-Platzhaltern&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function GetPosVorb_ErlKto(oMyDB: TxDB; const cErlJahr, cManNr, cFiliale: string): string&amp;lt;/code&amp;gt; || Gibt das Erl&amp;amp;ouml;skonto f&amp;amp;uuml;r eine Positionsvorbelegung zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure ChangePosPreisFromLeistPreis2(oVorgang: TVorgang)&amp;lt;/code&amp;gt; || Wechselt f&amp;amp;uuml;r alle Positionen auf den alternativen Leistungspreis 2&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_ToXMLStr(oMyDB: TxDB; const cTable, cPosTable, cVorgNr: String): string&amp;lt;/code&amp;gt; || Exportiert einen Vorgang als XML-String&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_ToDelArchiv(oMyDB: TxDB; const cTable, cPosTable, cVorgNr: String): Boolean&amp;lt;/code&amp;gt; || Verschiebt einen Vorgang ins L&amp;amp;ouml;scharchiv&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_ToXMLFile(oMyDB: TxDB; const cFile, cTable, cPosTable, cVorgNr: String): Boolean&amp;lt;/code&amp;gt; || Exportiert einen Vorgang in eine XML-Datei&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function XMLFile_ToVorgang(oMyDB: TxDB; const cData: String; var cNewNr, cOldNr: String): Boolean&amp;lt;/code&amp;gt; || Importiert einen Vorgang aus einem XML-String/-Datei&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function DelArchivTo_Vorgang(oMyDB: TxDB; const cTabelle, cVorgang: String): String&amp;lt;/code&amp;gt; || Stellt einen archivierten Vorgang wieder her&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_Runden_MengeInFak(oMyDB: TxDB; const cTabMain, cTabPos: string; nValue: double): double&amp;lt;/code&amp;gt; || Rundet den Mengeneingabe-Faktor gem&amp;amp;auml;&amp;amp;szlig; Tabelleneinstellung&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_Rohertrag(oMyDB: TxDB; const cDMSTyp, cVorgNr: String; nNettoBetrag: Double): String&amp;lt;/code&amp;gt; || Berechnet den Rohertrag eines Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_Rohertrag_Ext(oMyDB: TxDB; const cDMSTyp, cVorgNr: String; nNettoBetrag: Double; lSollStunden: Boolean): string&amp;lt;/code&amp;gt; || Berechnet den Rohertrag erweitert (mit Sollstunden)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangFelder(cTyp: String; lPosition, lArtikel, lMaterial, lAuswertung, lMessen: Boolean; lSchiff: Boolean = False): String&amp;lt;/code&amp;gt; || Gibt die aktiven Feldgruppen eines Vorgangstyps als String zur&amp;amp;uuml;ck (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangFelder(oMyDB: TxDB; cTyp: String; lPosition, lArtikel, lMaterial, lAuswertung, lMessen: Boolean; lSchiff: Boolean = False): String&amp;lt;/code&amp;gt; || Wie oben, mit Datenbankzugriff (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_IstGesperrt(oMyDB: TxDB; const cTyp, cRef: string; const cFeld: string = &#039;a_nr&#039;): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft, ob ein Vorgang gesperrt ist (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_IstGesperrt(oMyDB: TxDB; const rDMS: TDMSType; const cRef: string; const cFeld: string = &#039;a_nr&#039;): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft Sperrung per DMS-Typ (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_FilterSperrung(oMyDB: TxDB; const cTyp, cRef: string; out cOffen, cGesperrt: string; const cFeld: string = &#039;a_nr&#039;): boolean&amp;lt;/code&amp;gt; || Gibt SQL-Filter-Strings f&amp;amp;uuml;r offene/gesperrte Vorg&amp;amp;auml;nge zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_FilterSperrung_Offen(oMyDB: TxDB; const cTyp, cRef: string; out cOffen: string; const cFeld: string = &#039;a_nr&#039;): boolean&amp;lt;/code&amp;gt; || Gibt nur den Filter f&amp;amp;uuml;r offene (nicht gesperrte) Vorg&amp;amp;auml;nge zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_UbernahmeMassen(oMyDB: TxDB; const cVonUid, cNachDmsTyp, cNachVorgNr, cNachUid: string): boolean&amp;lt;/code&amp;gt; || Massenweise Positions&amp;amp;uuml;bernahme zwischen Vorg&amp;amp;auml;ngen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_GetMenge(oMyDB: TxDB; const cPosTable, cKeyField, cUID: String; out nUrmenge: Double; const cEigUID: String = &#039;&#039;): Double&amp;lt;/code&amp;gt; || Liest die aktuelle und Ursprungsmenge einer Position aus der Datenbank&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_CheckPosTyp(const cTyp: string): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft, ob ein Positionstyp-Schl&amp;amp;uuml;ssel g&amp;amp;uuml;ltig ist&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_HatReEmpfAdr(qVorgangData: TxFQuery): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck, wenn der Vorgang eine Rechnungsempf&amp;amp;auml;nger-Adresse hat (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_HatReEmpfAdr(qVorgangData: TxQuery): boolean&amp;lt;/code&amp;gt; || Wie oben, f&amp;amp;uuml;r TxQuery (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_AnzeigeReEmpf(oMyDB: TxDB; qMain: TxFQuery; const cMainTable: string; cAdressBez: string = &#039;&#039;; lUseReportLang: boolean = True): string&amp;lt;/code&amp;gt; || Gibt die anzuzeigende Rechnungsempf&amp;amp;auml;nger-Adresse als formatierten Text zur&amp;amp;uuml;ck (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_AnzeigeReEmpf(oMyDB: TxDB; qMain: TxQuery; const cMainTable: string; cAdressBez: string = &#039;&#039;; lUseReportLang: boolean = True): string&amp;lt;/code&amp;gt; || Wie oben, f&amp;amp;uuml;r TxQuery (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PortoVerpackBerechnet(oMyDB: TxDB; const cDmsVon, cDmsSetzen, cNrSetzen: string): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft, ob Porto/Verpackung bereits berechnet wurde und setzt Kennzeichen&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangVorb_Waehrung(oMyDB: TxDB; const cValue: string = &#039;01&#039;): string&amp;lt;/code&amp;gt; || Gibt den Standardw&amp;amp;auml;hrungsschl&amp;amp;uuml;ssel f&amp;amp;uuml;r Vorgangsvorbelegung zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangVorb_RechKreis(oMyDB: TxDB; const cValue: string = &#039;01&#039;): string&amp;lt;/code&amp;gt; || Gibt den Standardrechnungskreis-Schl&amp;amp;uuml;ssel zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangVorbPos_VomLager(const nTokenPos: integer; const cLagStreck: string): string&amp;lt;/code&amp;gt; || Gibt das Lager/die Strecke f&amp;amp;uuml;r eine Positionsvorbelegung zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_VersandkostenMBW(oMyDB: TxDB; const cDmsTyp: string; const lGen: boolean; const cPsNr: string; const cPsVersand: string = &#039;&#039;; const cPsZusatz: string = &#039;&#039;): string&amp;lt;/code&amp;gt; || Berechnet Versandkosten auf Basis des Mindestbestellwerts&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfFile(oMyDB: TxDB; const cDmsTyp, cNr, cKdNr: string; out cPdfFile: string): boolean&amp;lt;/code&amp;gt; || Ermittelt den Pfad zur archivierten PDF-Datei eines Vorgangs&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfAsBase64File(oMyDB: TxDB; const cDmsTyp, cNr, cKdNr: string; out cBase64File: string): boolean&amp;lt;/code&amp;gt; || Liefert die PDF-Datei als Base64-kodierten Pfad&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfAsBase64Parts(oMyDB: TxDB; const cDmsTyp, cNr, cKdNr: string; const nPart: integer; out cBase64: string; out nParts: integer; nPartSize: integer = 0): boolean&amp;lt;/code&amp;gt; || Liefert die PDF in Teilen als Base64 (mit KdNr, &amp;amp;Uuml;berladung 1)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfAsBase64Parts(oMyDB: TxDB; const cDmsTyp, cNr, cKdNr: string; const nPart: integer; out cBase64: string; out nParts: integer; cPartSize: string): boolean&amp;lt;/code&amp;gt; || Wie oben, Teilgr&amp;amp;ouml;&amp;amp;szlig;e als String (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfAsBase64Parts(oMyDB: TxDB; const cDmsTyp, cNr: string; const nPart: integer; out cBase64: string; out nParts: integer; nPartSize: integer = 0): boolean&amp;lt;/code&amp;gt; || Wie oben, ohne KdNr (&amp;amp;Uuml;berladung 3)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfAsBase64Parts(oMyDB: TxDB; const cDmsTyp, cNr: string; const nPart: integer; out cBase64: string; out nParts: integer; cPartSize: string): boolean&amp;lt;/code&amp;gt; || Wie oben, Teilgr&amp;amp;ouml;&amp;amp;szlig;e als String (&amp;amp;Uuml;berladung 4)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfAsBase64(oMyDB: TxDB; const cDmsTyp, cNr: string; out cBase64: string): boolean&amp;lt;/code&amp;gt; || Liefert die gesamte PDF als Base64-String&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PosUebernommen(oMyDB: TxDB; const cVonDmsTyp, cVonNr, cPosUid: string): TVorgangPosOriginalListe&amp;lt;/code&amp;gt; || Gibt eine Liste aller Vorg&amp;amp;auml;nge zur&amp;amp;uuml;ck, in die diese Position &amp;amp;uuml;bernommen wurde&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_GetPosRef(oMyDB: TxDB; const cVonDmsTyp, cVonNr, cPosUid, cRefDmsTypen: string): TVorgangPosOriginalListe&amp;lt;/code&amp;gt; || Gibt Referenzen einer Position auf andere DMS-Typen zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_ArtBox(const cDMSTyp: string): string&amp;lt;/code&amp;gt; || Gibt die Vorgangsart-Box (Auswahlstring) f&amp;amp;uuml;r einen DMS-Typ zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_SummenEbene(const nEbene: integer): integer&amp;lt;/code&amp;gt; || Validiert und normiert eine Summen-Ebene (1..VB_MAX_SummenEbenen)&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_SummenEbeneAusMenge(const nMenge: double): integer&amp;lt;/code&amp;gt; || Berechnet die Summenebene aus einem Mengenwert&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_KalkAufschlagPos(const nSatz, nZwSumme, nMengeIn, nMengeInFak, nRabatt: double): double&amp;lt;/code&amp;gt; || Berechnet den Aufschlagsbetrag f&amp;amp;uuml;r eine Position&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_SumPosText(const eTyp: [[#TVB_PosType|TVB_PosType]]; const cLanguage: string): string&amp;lt;/code&amp;gt; || Gibt den lokalisierten Standardtext f&amp;amp;uuml;r eine Summenposition zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_SumPosTextZw(cLang: string = &#039;&#039;): string&amp;lt;/code&amp;gt; || Gibt den lokalisierten Text f&amp;amp;uuml;r Zwischensummen-Positionen zur&amp;amp;uuml;ck&lt;br /&gt;
|- style=&amp;quot;vertical-align:top&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_SumPosTextTit(cLang: string = &#039;&#039;): string&amp;lt;/code&amp;gt; || Gibt den lokalisierten Text f&amp;amp;uuml;r Titelsummen-Positionen zur&amp;amp;uuml;ck&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Nimz</name></author>
	</entry>
	<entry>
		<id>https://wiki.bergau.de/index.php?title=OBS/Makros_und_Scripting/Allgemeines/Klassen/Vorg%C3%A4nge&amp;diff=64502</id>
		<title>OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge</title>
		<link rel="alternate" type="text/html" href="https://wiki.bergau.de/index.php?title=OBS/Makros_und_Scripting/Allgemeines/Klassen/Vorg%C3%A4nge&amp;diff=64502"/>
		<updated>2026-06-12T11:20:24Z</updated>

		<summary type="html">&lt;p&gt;Nimz: /* TVorgangPosParams_AktualisiereDaten */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Makros und Scripting}}&lt;br /&gt;
Es gibt für die Generierung von Vorgängen eigene Klassen. Da es zwischen den Vorgängen immer irgendwelche Unterschiede gibt, existiert auch für jeden Vorgangs-Typ eine eigene Klasse.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Übersicht Klassen:&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Angebot|Angebot]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Auftrag|Auftrag]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Reparaturauftrag|Reparaturauftrag]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Produktionsauftrag|Produktionsauftrag]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Lieferschein|Lieferschein]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Rechnung|Rechnung]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Bestellung|Bestellung]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Einkaufslieferschein|Einkaufslieferschein]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Einkauf|Einkauf]]&lt;br /&gt;
&lt;br /&gt;
= Datentypen =&lt;br /&gt;
&lt;br /&gt;
== Enumerationen ==&lt;br /&gt;
&lt;br /&gt;
=== TVB_PosType ===&lt;br /&gt;
Positionstyp einer [[#TVorgangPos|TVorgangPos]]. Wird &amp;amp;uuml;ber die Property &amp;lt;code&amp;gt;[[#TVorgangPos_Prop_Typ|Typ]]&amp;lt;/code&amp;gt; gelesen/gesetzt.&lt;br /&gt;
Die zugeh&amp;amp;ouml;rigen String-Konstanten sind unter [[#Konstanten|Konstanten]] beschrieben.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wert !! Bezeichner !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| 0 || &amp;lt;code&amp;gt;ptPosition&amp;lt;/code&amp;gt; || Normale Artikelposition&lt;br /&gt;
|-&lt;br /&gt;
| 1 || &amp;lt;code&amp;gt;ptText&amp;lt;/code&amp;gt; || Textzeile / Memorundzeile&lt;br /&gt;
|-&lt;br /&gt;
| 2 || &amp;lt;code&amp;gt;ptLeerzeile&amp;lt;/code&amp;gt; || Leere Trennzeile&lt;br /&gt;
|-&lt;br /&gt;
| 3 || &amp;lt;code&amp;gt;ptZwischensumme&amp;lt;/code&amp;gt; || Zwischensummen-Position&lt;br /&gt;
|-&lt;br /&gt;
| 4 || &amp;lt;code&amp;gt;ptTitelsumme&amp;lt;/code&amp;gt; || Titelsummen-Position&lt;br /&gt;
|-&lt;br /&gt;
| 5 || &amp;lt;code&amp;gt;ptTitel&amp;lt;/code&amp;gt; || Titelzeile&lt;br /&gt;
|-&lt;br /&gt;
| 6 || &amp;lt;code&amp;gt;ptGewerk&amp;lt;/code&amp;gt; || Gewerk-Kopfzeile&lt;br /&gt;
|-&lt;br /&gt;
| 7 || &amp;lt;code&amp;gt;ptSeitenumbruch&amp;lt;/code&amp;gt; || Manueller Seitenumbruch&lt;br /&gt;
|-&lt;br /&gt;
| 8 || &amp;lt;code&amp;gt;ptBild&amp;lt;/code&amp;gt; || Bildposition&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVB_MaterMode ===&lt;br /&gt;
Steuert den Materialmodus beim Lesen von Positionsdaten.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wert !! Bezeichner !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| 0 || &amp;lt;code&amp;gt;mmNone&amp;lt;/code&amp;gt; || Kein spezieller Materialmodus&lt;br /&gt;
|-&lt;br /&gt;
| 1 || &amp;lt;code&amp;gt;mmMD5&amp;lt;/code&amp;gt; || Materialpr&amp;amp;uuml;fung per MD5-Hash&lt;br /&gt;
|-&lt;br /&gt;
| 2 || &amp;lt;code&amp;gt;mmReadUID&amp;lt;/code&amp;gt; || Material-UID direkt lesen&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVorgangFehlerTyp ===&lt;br /&gt;
Klassifiziert einen Eintrag in der internen Fehlerliste eines [[#TVorgang|TVorgang]].&lt;br /&gt;
Wird im Record [[#TVorgangFehler|TVorgangFehler]] verwendet.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wert !! Bezeichner !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| 0 || &amp;lt;code&amp;gt;vftOther&amp;lt;/code&amp;gt; || Sonstiger Hinweis&lt;br /&gt;
|-&lt;br /&gt;
| 1 || &amp;lt;code&amp;gt;vftCritical&amp;lt;/code&amp;gt; || Kritischer Fehler (blockiert Speichern)&lt;br /&gt;
|-&lt;br /&gt;
| 2 || &amp;lt;code&amp;gt;vftSaveCheck&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;fung beim Speichern&lt;br /&gt;
|-&lt;br /&gt;
| 3 || &amp;lt;code&amp;gt;vftPosInfo&amp;lt;/code&amp;gt; || Positionsbezogene Information&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVorgangFehlerLoeschenLesen ===&lt;br /&gt;
Steuert, welche Fehler nach dem Lesen via &amp;lt;code&amp;gt;[[#TVorgang_Meth_leseFehler|leseFehler]]&amp;lt;/code&amp;gt; aus der Liste gel&amp;amp;ouml;scht werden.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wert !! Bezeichner !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| 0 || &amp;lt;code&amp;gt;vfllNone&amp;lt;/code&amp;gt; || Kein Fehler nach dem Lesen l&amp;amp;ouml;schen&lt;br /&gt;
|-&lt;br /&gt;
| 1 || &amp;lt;code&amp;gt;vfllAll&amp;lt;/code&amp;gt; || Alle Fehler nach dem Lesen l&amp;amp;ouml;schen&lt;br /&gt;
|-&lt;br /&gt;
| 2 || &amp;lt;code&amp;gt;vfllSkipCritical&amp;lt;/code&amp;gt; || Nur nicht-kritische Fehler l&amp;amp;ouml;schen (Standard)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Records ==&lt;br /&gt;
&lt;br /&gt;
=== TVorgangPosOriginal ===&lt;br /&gt;
Enth&amp;amp;auml;lt Referenzinformationen der Ursprungsposition (z.&amp;amp;nbsp;B. bei der Vorgangs&amp;amp;uuml;bernahme).&lt;br /&gt;
Wird &amp;amp;uuml;ber die Property &amp;lt;code&amp;gt;[[#TVorgangPos_Prop_OriginalPos|OriginalPos]]&amp;lt;/code&amp;gt; einer [[#TVorgangPos|TVorgangPos]] geliefert.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Feld !! Typ !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;rDMS&amp;lt;/code&amp;gt; || TDMSType || DMS-Typ des Ursprungsvorgangs&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cNr&amp;lt;/code&amp;gt; || String || Vorgangsnummer des Ursprungs&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cUid&amp;lt;/code&amp;gt; || String || UID der Ursprungsposition&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cSysUid&amp;lt;/code&amp;gt; || String || System-UID der Ursprungsposition&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVorgangPosParams_AktualisiereDaten ===&lt;br /&gt;
Steuert, welche Datenbereiche bei &amp;lt;code&amp;gt;[[#TVorgangPos_Meth_AktualisiereDaten|AktualisiereDaten]]&amp;lt;/code&amp;gt; aktualisiert werden sollen.&lt;br /&gt;
Wird &amp;amp;uuml;ber die Property &amp;lt;code&amp;gt;[[#TVorgang_Prop_ParameterPositionsdatenAktualisieren|ParameterPositionsdatenAktualisieren]]&amp;lt;/code&amp;gt; von [[#TVorgang|TVorgang]] gesetzt.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Feld !! Typ !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;lTexte&amp;lt;/code&amp;gt; || Boolean || Bezeichnungen/Texte aktualisieren&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;lEK&amp;lt;/code&amp;gt; || Boolean || Einkaufspreise aktualisieren&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;lVK&amp;lt;/code&amp;gt; || Boolean || Verkaufspreise aktualisieren&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVorgangPosSummen ===&lt;br /&gt;
Speichert Zwischen- und Titelsummen-Betr&amp;amp;auml;ge je Ebene (1 bis &amp;lt;code&amp;gt;VB_MAX_SummenEbenen&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Feld !! Typ !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;aZw[1..9]&amp;lt;/code&amp;gt; || Double || Zwischensummen-Betr&amp;amp;auml;ge je Ebene&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;aTit[1..9]&amp;lt;/code&amp;gt; || Double || Titelsummen-Betr&amp;amp;auml;ge je Ebene&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Methoden:&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signatur !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Clear&amp;lt;/code&amp;gt; || Setzt alle Summen auf 0&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure ClearZw(const nEbene: integer)&amp;lt;/code&amp;gt; || Setzt Zwischensumme der Ebene nEbene auf 0&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure ClearTit(const nEbene: integer)&amp;lt;/code&amp;gt; || Setzt Titelsumme der Ebene nEbene auf 0&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure AddZw(const nBetrag: double)&amp;lt;/code&amp;gt; || Addiert Betrag zur aktiven Zwischensummen-Ebene&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure AddTit(const nBetrag: double)&amp;lt;/code&amp;gt; || Addiert Betrag zur aktiven Titelsummen-Ebene&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function ReadZw(const nEbene: integer): double&amp;lt;/code&amp;gt; || Liefert den Zwischensummen-Betrag der Ebene&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function ReadTit(const nEbene: integer): double&amp;lt;/code&amp;gt; || Liefert den Titelsummen-Betrag der Ebene&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVorgangEigenschaft ===&lt;br /&gt;
Repr&amp;amp;auml;sentiert ein Vorgangsmerkmal (Eigenschaft), das per &amp;lt;code&amp;gt;[[#TVorgang_Meth_EigenschaftSetzen|EigenschaftSetzen]]&amp;lt;/code&amp;gt; gesetzt wird.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Feld !! Typ !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cNr&amp;lt;/code&amp;gt; || String || Merkmalsnummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;lMode&amp;lt;/code&amp;gt; || Boolean || True = setzen, False = l&amp;amp;ouml;schen&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVorgangFehler ===&lt;br /&gt;
Ein Eintrag in der internen Fehlerliste von [[#TVorgang|TVorgang]].&lt;br /&gt;
Wird per &amp;lt;code&amp;gt;[[#TVorgang_Meth_leseFehler|leseFehler]]&amp;lt;/code&amp;gt; ausgelesen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Feld !! Typ !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cTitel&amp;lt;/code&amp;gt; || String || Fehlertitel (Kurzbeschreibung)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cText&amp;lt;/code&amp;gt; || String || Fehlertext (Detailbeschreibung)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;eTyp&amp;lt;/code&amp;gt; || [[#TVorgangFehlerTyp|TVorgangFehlerTyp]] || Fehlerklassifikation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Konstanten ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Konstante !! Wert !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_POS&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;0&#039;&amp;lt;/code&amp;gt; || Positionstyp normale Artikelposition (entspricht [[#TVB_PosType|ptPosition]])&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_TXT&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;1&#039;&amp;lt;/code&amp;gt; || Positionstyp Textzeile (entspricht [[#TVB_PosType|ptText]])&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_ELN&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;2&#039;&amp;lt;/code&amp;gt; || Positionstyp Leerzeile (entspricht [[#TVB_PosType|ptLeerzeile]])&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_ZWS&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;3&#039;&amp;lt;/code&amp;gt; || Positionstyp Zwischensumme (entspricht [[#TVB_PosType|ptZwischensumme]])&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_TIS&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;4&#039;&amp;lt;/code&amp;gt; || Positionstyp Titelsumme (entspricht [[#TVB_PosType|ptTitelsumme]])&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_TIT&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;7&#039;&amp;lt;/code&amp;gt; || Positionstyp Titel (entspricht [[#TVB_PosType|ptTitel]])&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_GEW&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;8&#039;&amp;lt;/code&amp;gt; || Positionstyp Gewerk (entspricht [[#TVB_PosType|ptGewerk]])&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_PBR&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;17&#039;&amp;lt;/code&amp;gt; || Positionstyp Seitenumbruch (entspricht [[#TVB_PosType|ptSeitenumbruch]])&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_PIC&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;19&#039;&amp;lt;/code&amp;gt; || Positionstyp Bild (entspricht [[#TVB_PosType|ptBild]])&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;VB_DEFAULT_BezZwischensumme&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;ZWISCHENSUMME    :&#039;&amp;lt;/code&amp;gt; || Standard-Bezeichnung f&amp;amp;uuml;r Zwischensummen-Positionen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;VB_DEFAULT_BezTitelsumme&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;TITELSUMME       :&#039;&amp;lt;/code&amp;gt; || Standard-Bezeichnung f&amp;amp;uuml;r Titelsummen-Positionen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;VB_MAX_SummenEbenen&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;9&amp;lt;/code&amp;gt; || Maximale Anzahl von Summenebenen (Zwischen- und Titelsummen)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Basisklassen Vorgangsgenerierung=&lt;br /&gt;
&lt;br /&gt;
== TVorgang ==&lt;br /&gt;
&lt;br /&gt;
=== Variablen ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Name !! Typ !! Zugriff !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;oMyDB&amp;lt;/code&amp;gt; || TxDB || Lesen/Schreiben || Datenbankverbindung des Vorgangs&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;oProtokoll&amp;lt;/code&amp;gt; || TStringList || Lesen/Schreiben || Protokoll-Liste (Meldungen/Log)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;lMeldung&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Steuert Anzeige von Benutzer-Meldungen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;lSetPSBemAuto&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Automatische Positionsbemerkung setzen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cVorgNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Vorgangsnummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cProjNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Projektnummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;lBrutto&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Brutto-Modus aktiv&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cLanguage&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sprach-Code (intern, z.&amp;amp;nbsp;B. f&amp;amp;uuml;r Formulare)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cLagNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lagernummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cTyp&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Vorgangstyp-K&amp;amp;uuml;rzel&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;dVorgDat&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Vorgangsdatum&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;dFaelligDat&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || F&amp;amp;auml;lligkeitsdatum&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;dBuchDat&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Buchungsdatum&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;dAufDat&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Auftragsdatum&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cKdNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kundennummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cAnrede&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Anrede des Kunden&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cName&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Name des Kunden&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cVorname&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Vorname des Kunden&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cZusatz1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Adresszusatz 1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cZusatz2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Adresszusatz 2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cStrasse&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Stra&amp;amp;szlig;e der Lieferadresse&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cPostfach&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Postfach&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cLK&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || L&amp;amp;auml;nderkennzeichen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cPLZ&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Postleitzahl&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cOrt&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Ort&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cAngebNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Angebotsnummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cLSNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferscheinnummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cRechNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsnummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cAuftNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Auftragsnummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cRepaNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Reparaturauftragsnummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cEinkaufsNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Einkaufsnummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cBestellNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Bestellnummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosText&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionstext (globaler Standardtext)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cLProjNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Leistungsprojektnummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cKopftext&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kopftext des Vorgangs&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cFusstext&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Fu&amp;amp;szlig;text des Vorgangs&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nNBetrag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Nettobetrag gesamt&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nBBetrag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Bruttobetrag gesamt&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nEKBetrag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Einkaufsbetrag gesamt&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabattBetrag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabattbetrag gesamt&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabattProz&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabattprozentsatz gesamt&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nAnzahlung&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Anzahlungsbetrag&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nPorto&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Portokosten&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nVerpackung&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Verpackungskosten&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;lSplitPoVe&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Porto und Verpackung getrennt ausweisen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cVersand&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandart&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cWaehr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || W&amp;amp;auml;hrungsk&amp;amp;uuml;rzel&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cFormul&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Formularnummer/-k&amp;amp;uuml;rzel&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cVAnr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandanrede&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cVName1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandname 1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cVName2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandname 2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cVZusatz&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandadresse Zusatz&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cVStrasse&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandstra&amp;amp;szlig;e&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cVLK&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versand-L&amp;amp;auml;nderkennzeichen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cVPLZ&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versand-PLZ&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cVOrt&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandort&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cVUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandadresse UID&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cPrio&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Priorit&amp;amp;auml;t des Vorgangs&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cAuftNrKd&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Auftrags-/Bestellnummer des Kunden&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cBesteller&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Besteller (Person)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cSachb&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sachbearbeiter&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabPosJN&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionsrabatt anzeigen J/N&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cMWSTJN&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Mehrwertsteuer ausweisen J/N&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText3&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText4&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText5&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText6&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 6&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText7&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 7&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cPreisJN&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Preis auf Dokument drucken J/N&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cMwStAbs&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || MwSt-Absetzungstext/-K&amp;amp;uuml;rzel&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;dLiefDat&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Lieferdatum&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cDeleted&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Gel&amp;amp;ouml;scht-Kennzeichen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;dLDat2&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Zweites Lieferdatum&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cSprache&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sprache des Vorgangs&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cReEmpf&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Nummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cReAnrede&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Anrede&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cReName&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Name&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cReVorname&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Vorname&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cReZusatz1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Adresszusatz 1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cReZusatz2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Adresszusatz 2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cReStrasse&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Stra&amp;amp;szlig;e&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cRePostfach&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Postfach&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cReLK&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-L&amp;amp;auml;nderkennzeichen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cRePLZ&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-PLZ&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cReOrt&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Ort&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cVertreter&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Vertreter-K&amp;amp;uuml;rzel&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cVerbucht&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Verbucht-Kennzeichen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cLager&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lager-K&amp;amp;uuml;rzel&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cRechFrei&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsfreigabe-Kennzeichen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cBonNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Bonnummer (Kasse)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cMandant&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Mandantenk&amp;amp;uuml;rzel&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nMwStDM&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || MwSt-Betrag in DM (Altw&amp;amp;auml;hrung)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nKursDM&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Wechselkurs DM&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nAbschlag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Abschlagsbetrag&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nZBetrag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Zahlungsbetrag&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nZSkonto&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Skonto-Betrag&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;dZDatum&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Zahlungsdatum&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cMemo&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Memofeld des Vorgangs&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nValuta&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Valutatage&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cKostenst&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kostenstelle&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cKostentraeger&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kostentr&amp;amp;auml;ger&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cKalkGr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kalkulationsgruppe&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cFrachtV&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Frachtart/-vorschrift&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nFrachtK&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Frachtkosten&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nFrachtG&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Frachtgewicht&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cGruppe&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Vorgangsgruppe&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nPosInc&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Positionsnummer-Inkrement&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cFiliale&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Filialk&amp;amp;uuml;rzel&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabText&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabatttextfeld (kurz)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cErfasser&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Erfasser des Vorgangs&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nSKFBetrag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Skontof&amp;amp;auml;higer Betrag&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;lLiefStrecke&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Lieferstreckengesch&amp;amp;auml;ft aktiv&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cBetreff&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Betreffzeile&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cMemoDruck&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Druckmemo (erscheint auf Dokument)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cLieferLiefNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferanten-Lieferscheinnummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabattText&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabatttext (lang)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cSysUid&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || System-UID des Vorgangs&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;lLeistPreis2&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Leistungspreis 2 verwenden&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cFunction&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Funktionsk&amp;amp;uuml;rzel (Scripting-Hook)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;lSaveAllowed&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Speichern erlaubt&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;lVorgangsSperre&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Vorgang gesperrt&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Properties ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Name !! Typ !! Zugriff !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;DmsTyp&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || DMS-Typ des Vorgangs (z.&amp;amp;nbsp;B. AN, AU, LS, RE)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;MainTable&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Haupttabelle des Vorgangs (Datenbankname)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PosTable&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionstabelle des Vorgangs&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosFormat&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionsnummern-Format&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgang_Prop_ParameterPositionsdatenAktualisieren&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;ParameterPositionsdatenAktualisieren&amp;lt;/code&amp;gt; || [[#TVorgangPosParams_AktualisiereDaten|TVorgangPosParams_AktualisiereDaten]] || Lesen/Schreiben || Parameter f&amp;amp;uuml;r Massenaktualisierung von Positionsdaten&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PnPosCnt&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Anzahl der Positionen im Vorgang&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PaPositionen[Index]&amp;lt;/code&amp;gt; || [[#TVorgangPos|TVorgangPos]] || Lesen/Schreiben || Array der Positionsobjekte (0-basiert)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PcRabGrPers&amp;lt;/code&amp;gt; || String || Nur Lesen || Rabattgruppe der Person (aus Stammdaten ermittelt)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PcVKdNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || VK-Kundennummer (alternativ zur cKdNr f&amp;amp;uuml;r Preisfindung)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nNet1&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Nettobetrag MwSt-Schl&amp;amp;uuml;ssel 1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nNet2&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Nettobetrag MwSt-Schl&amp;amp;uuml;ssel 2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nNet3&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Nettobetrag MwSt-Schl&amp;amp;uuml;ssel 3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nBrutto1&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Bruttobetrag MwSt-Schl&amp;amp;uuml;ssel 1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nBrutto2&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Bruttobetrag MwSt-Schl&amp;amp;uuml;ssel 2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nBrutto3&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Bruttobetrag MwSt-Schl&amp;amp;uuml;ssel 3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nMwSt1&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || MwSt-Betrag Schl&amp;amp;uuml;ssel 1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nMwSt2&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || MwSt-Betrag Schl&amp;amp;uuml;ssel 2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nMwSt3&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || MwSt-Betrag Schl&amp;amp;uuml;ssel 3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cMwStSchl1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || MwSt-Schl&amp;amp;uuml;ssel 1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cMwStSchl2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || MwSt-Schl&amp;amp;uuml;ssel 2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cMwStSchl3&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || MwSt-Schl&amp;amp;uuml;ssel 3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cKeineVersPausch&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Keine Versandpauschale berechnen J/N&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cZahlBed&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Zahlungsbedingung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;lNewVorgang&amp;lt;/code&amp;gt; || Boolean || Nur Lesen || Neuer (noch nicht gespeicherter) Vorgang&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cKopfNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kopftextbaustein-Nummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cFussNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Fu&amp;amp;szlig;textbaustein-Nummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cLiefStrecke&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferstrecken-K&amp;amp;uuml;rzel&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cStatus&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Status des Vorgangs&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cStatM&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Material-Status&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cStatS&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Service-Status&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cStatL&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferstatus&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cStatR&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsstatus&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cColStatus&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Farb-/Anzeigestatus (f&amp;amp;uuml;r UI)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cZustand&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Zustandskenner des Vorgangs&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cArt&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Vorgangsart-K&amp;amp;uuml;rzel&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cBonusJN&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Bonus berechnen J/N&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cVersandkostenMBW&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandkosten-Mindestbestellwert-Kennzeichen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cWKNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Werbungskosten-Nummer&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Methoden ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signatur !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;constructor Create(const cUid: string; oxDB: TxDB; cDmsType: string)&amp;lt;/code&amp;gt; || Erstellt einen neuen Vorgang mit UID, Datenbankverbindung und DMS-Typ&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;destructor Destroy&amp;lt;/code&amp;gt; || Gibt den Vorgang und alle Ressourcen frei&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function SemaphoreCreate(cFName: string; lMeldung: boolean = False; cWait: string = &#039;&#039;): boolean&amp;lt;/code&amp;gt; || Erstellt eine Datei-Semaphore (Sperrdatei); gibt True zur&amp;amp;uuml;ck wenn erfolgreich&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function SemaphoreInUse(cFName: string): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft ob die Semaphore-Datei bereits in Verwendung ist&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure SemaphoreReleaseAll&amp;lt;/code&amp;gt; || Gibt alle Semaphoren dieses Vorgangs frei&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure SemaphoreRelease(cFName: string)&amp;lt;/code&amp;gt; || Gibt eine bestimmte Semaphore frei&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstAngebot(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang ein Angebot ist&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstAuftrag(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang ein Auftrag ist&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstReparaturAuftrag(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang ein Reparaturauftrag ist&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstLieferschein(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang ein Lieferschein ist&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstRechnung(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang eine Rechnung ist&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstBestellung(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang eine Bestellung ist&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstAnfrage(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang eine Anfrage ist&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstEKLieferschein(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang ein EK-Lieferschein ist&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstEinkauf(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang ein Einkaufsvorgang ist&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstVG_VK(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn es sich um einen Verkaufsvorgang handelt&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstVG_EK(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn es sich um einen Einkaufsvorgang handelt&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function NeuNumLock(): boolean&amp;lt;/code&amp;gt; || Sperrt die Neunummerierung (verhindert parallele Vergabe)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure NeuNumLockRelease&amp;lt;/code&amp;gt; || Gibt die Neunummerierungssperre wieder frei&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgNeuNum(cFilter: string = &#039;&#039;; lAbweichend: boolean = false): string&amp;lt;/code&amp;gt; || Ermittelt und setzt eine neue Vorgangsnummer; gibt die Nummer als String zur&amp;amp;uuml;ck&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgNeuNumBool(cFilter: string = &#039;&#039;; lAbweichend: boolean = false): boolean&amp;lt;/code&amp;gt; || Wie VorgNeuNum, gibt True/False zur&amp;amp;uuml;ck (f&amp;amp;uuml;r Fehlerbehandlung)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstVorgNrGueltig(cUID: string = &#039;&#039;): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft ob die aktuelle Vorgangsnummer g&amp;amp;uuml;ltig (eindeutig) ist&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function NeuePositionBase(const cUID: string): [[#TVorgangPos|TVorgangPos]]&amp;lt;/code&amp;gt; || Legt eine neue Positionsinstanz an und f&amp;amp;uuml;gt sie dem Vorgang hinzu&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure NeuePositionBaseMS(const cUID: string; oOrgPos: [[#TVorgangPos|TVorgangPos]])&amp;lt;/code&amp;gt; || Legt eine neue Position als Multi-Steuer-Folgeposition an&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function LoeschePositionBase(nDel: integer): Boolean&amp;lt;/code&amp;gt; || L&amp;amp;ouml;scht die Position mit dem angegebenen Index&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure VerschiebePositionBase(nPos: integer; nZiel: integer)&amp;lt;/code&amp;gt; || Verschiebt Position von Index nPos zu Index nZiel&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function CheckIfNotNull(): Boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft ob Pflichtfelder des Vorgangs bef&amp;amp;uuml;llt sind&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function CheckIfFirstPosOption(): Boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft ob die erste Position eine Optionsposition ist&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function IsPosBerechnung(cPosArt: string): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft ob eine Positionsart als Berechnungsposition gilt&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure CopyFrom(oSrc: [[#TVorgang|TVorgang]])&amp;lt;/code&amp;gt; || Kopiert alle Felder aus einem anderen Vorgang&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure KalkAll(lZusatz: boolean = true)&amp;lt;/code&amp;gt; || Kalkuliert alle Positionen und Gesamtsummen neu&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Check_Multisteuer(oOrgPos: [[#TVorgangPos|TVorgangPos]]; const cTable, cMUID, cRefNr: string)&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft und setzt Multi-Steuer-Verkn&amp;amp;uuml;pfung f&amp;amp;uuml;r eine Position&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyPosmenge(cFromUID: string): string&amp;lt;/code&amp;gt; || Kopiert Positionsmengen aus einem anderen Vorgang (per UID)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyPosverp(cFromUID: string): string&amp;lt;/code&amp;gt; || Kopiert Positionsverpackungen aus einem anderen Vorgang (per UID)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure fillVersandkostenMBW(const cPsNr: string; const cPsVersand: string = &#039;&#039;; const PsZusatz: string = &#039;&#039;)&amp;lt;/code&amp;gt; || Berechnet und setzt Versandkosten auf Basis Mindestbestellwert&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure FillPersonBase(qPers: TxFQuery)&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt Adressfelder des Vorgangs aus einem Personen-Query&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function FillReEmpf(const AReEmpf: string; const AZahlBed: string = &#039;&#039;): boolean&amp;lt;/code&amp;gt; || Setzt Rechnungsempf&amp;amp;auml;nger und optionale Zahlungsbedingung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function SaveRecord(cUID: string = &#039;&#039;; lAlleSpeichern: boolean = false): Boolean&amp;lt;/code&amp;gt; || Speichert den Vorgang (abstrakt &amp;amp;ndash; muss in abgeleiteter Klasse implementiert werden)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function ReadVorgangTypBase(cDmsTyp: string; const cNr: string; lPos: boolean = false; lNeg: boolean = false): boolean&amp;lt;/code&amp;gt; || Liest einen Vorgang anhand DMS-Typ und Nummer in das Objekt&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function JahrNr(): string&amp;lt;/code&amp;gt; || Gibt das Jahr der Vorgangsnummer zur&amp;amp;uuml;ck&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure NeuNumPos(const lNurPos: boolean = True)&amp;lt;/code&amp;gt; || Nummeriert alle Positionen neu&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function EigenschaftSetzen(const ANr: string; const AMode: boolean): boolean&amp;lt;/code&amp;gt; || Setzt oder l&amp;amp;ouml;scht eine Vorgangseigenschaft (Merkmal) per Nummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure AdresseLeeren&amp;lt;/code&amp;gt; || Leert alle Adressfelder des Vorgangs&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure VersandLeeren(lRef: boolean = True)&amp;lt;/code&amp;gt; || Leert alle Versandadressfelder&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure ReEmpfLeeren(const lNurAdr: boolean = False)&amp;lt;/code&amp;gt; || Leert Rechnungsempf&amp;amp;auml;nger-Felder (optional nur Adresse)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure DoServiceTouch(cStatus: string = &#039;&#039;)&amp;lt;/code&amp;gt; || Aktualisiert Service-Zeitstempel und optionalen Status&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function AuswahlParameterPositionsdatenAktualisieren(const cXDataTable: string): boolean&amp;lt;/code&amp;gt; || Zeigt Dialog zur Auswahl der Aktualisierungsparameter f&amp;amp;uuml;r Positionsdaten&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function ZusatzkostenAktiv(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn Zusatzkostenmodul f&amp;amp;uuml;r diesen Vorgang aktiv ist&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgang_Meth_leseFehler&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;function leseFehler(out rFehler: [[#TVorgangFehler|TVorgangFehler]]; var nIdx: integer; const eLoeschenNachLesen: [[#TVorgangFehlerLoeschenLesen|TVorgangFehlerLoeschenLesen]] = vfllSkipCritical): boolean&amp;lt;/code&amp;gt; || Liest den n&amp;amp;auml;chsten Fehler aus der internen Fehlerliste&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== TVorgangPos ==&lt;br /&gt;
&lt;br /&gt;
=== Variablen ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Name !! Typ !! Zugriff !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nPosIndex&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Laufender Index der Position im Positions-Array&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Interne Positionsnummer (Datenbankfeld)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cKundNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kundennummer an der Position&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cAuftragsNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Referenz-Auftragsnummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cBestellNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Referenz-Bestellnummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosText&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionstext (Langtextfeld)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cLProjNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Leistungsprojektnummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cLS_azUid&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferschein-Abrechnungszeilen-UID&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cVersandNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandnummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionsnummer (formatiert)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosNr2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Zweite Positionsnummer (alternativ)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosKas&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kassier-Positionsnummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cLeistungsNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Leistungsnummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cBezeichnung1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Bezeichnung Zeile 1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cBezeichnung2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Bezeichnung Zeile 2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nUrMenge&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Ursprungsmenge (vor &amp;amp;Auml;nderungen)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nLeistFaktor&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Leistungsfaktor (Multiplikator f&amp;amp;uuml;r Mengenberechnung)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cEinheit&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Mengeneinheit&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nMengeG&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Mengenganz (ganzzahliger Mengenanteil)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nKolli&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Kollianzahl&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cVerpackung&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Verpackungsart/-k&amp;amp;uuml;rzel&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nInhalt&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Inhalt pro Verpackungseinheit&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nEPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Einzelpreis (Netto)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nBEPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Brutto-Einzelpreis&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nOBPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Original-Brutto-Einzelpreis (vor Rabatt)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nUrPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Ursprungspreis (Listenpreis VK)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nUrPreisEK&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Ursprungspreis Einkauf&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nGPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Gesamtpreis (Netto)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nBGPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Brutto-Gesamtpreis&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nEKPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Einkaufspreis&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nEKSPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Einkaufssonderpreis&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cManPreis&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Manueller Preis J/N-Kennzeichen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabatt&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Gesamtrabatt in Prozent&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabatt1&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabatt 1 in Prozent&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabArt1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabattart 1 (Herkunftskennzeichen)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabatt2&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabatt 2 in Prozent&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabArt2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabattart 2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabatt3&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabatt 3 in Prozent&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabArt3&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabattart 3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabatt4&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabatt 4 in Prozent&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabArt4&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabattart 4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabatt5&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabatt 5 in Prozent&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabArt5&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabattart 5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nAddSub&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Additions-/Subtraktionsbetrag (Zuschlag/Abzug absolut)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cKonto&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Buchungskonto&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cLagNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lagernummer der Position&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cLagONr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lager-Ortsnummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cVerkaufer&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Verk&amp;amp;auml;uferk&amp;amp;uuml;rzel&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cStatus&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionsstatus&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cAngebotsNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Referenz-Angebotsnummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Eindeutige ID der Position (GUID)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cMUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Multi-Steuer-UID (Verkn&amp;amp;uuml;pfung bei Multisteuer)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cRTVon&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || R&amp;amp;uuml;cktragungs-Referenz (von welcher Position)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cSpNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Speditionsnummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cBestellUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || UID der verkn&amp;amp;uuml;pften Bestellposition&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cMaterialUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || UID des verkn&amp;amp;uuml;pften Materialeintrags&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cEiliUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || UID der Eillieferungsposition&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cXUID1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Erweiterungs-UID 1 (freie Verkn&amp;amp;uuml;pfung)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cXUID2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Erweiterungs-UID 2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cXUID3&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Erweiterungs-UID 3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cXUID4&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Erweiterungs-UID 4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cKommentar&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kommentarfeld der Position&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nProvision&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Provisionsanteil in Prozent&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cLiefKz&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferkennzeichen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cProdGr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Produktgruppe&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nFrachtV&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Frachtvolumen der Position&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cLSNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferscheinnummer der Position&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;dLSDatum&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Lieferscheindatum der Position&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosArt&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionsart (z.&amp;amp;nbsp;B. N=Normal, O=Optional)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cSKFJN&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Skontof&amp;amp;auml;hig J/N&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cEKHerkunft&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || EK-Preisherkunft-K&amp;amp;uuml;rzel&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cLiefNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferantennummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cLagStreck&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lager-Streckenkennzeichen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cAufschlag&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Aufschlagsk&amp;amp;uuml;rzel&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nStaffelPreis&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Staffelpreisstufe (Index)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nStaffelmenge&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Staffelmenge f&amp;amp;uuml;r Preisfindung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;lAktionspreis&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Aktionspreis aktiv&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cAusdruckJN&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Position drucken J/N&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cMemoDruck&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Druckmemo der Position&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cBildUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || UID des verkn&amp;amp;uuml;pften Bildes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cCMPUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || CMP-Objekt-UID&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cZeit_CMPUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Zeiterfassungs-CMP-UID&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cZeit_Text&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Zeiterfassungstext&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cZeit_Mitarb&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Mitarbeiter der Zeiterfassung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;dZeit_Date&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Datum der Zeiterfassung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cZeit_NurLei&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Zeiterfassung: nur Leistung J/N&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cKostst&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kostenstelle der Position&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;dAbrechVon&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Abrechnungszeitraum von&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;dAbrechBis&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Abrechnungszeitraum bis&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;lNeuNum&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Neunummerierung f&amp;amp;uuml;r diese Position ausf&amp;amp;uuml;hren&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cSysUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || System-UID der Position&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cGeraetNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Ger&amp;amp;auml;tenummer (f&amp;amp;uuml;r Servicepositionen)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Properties ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Name !! Typ !! Zugriff !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;oMyDB&amp;lt;/code&amp;gt; || TxDB || Nur Lesen || Datenbankverbindung (vom Vorgang geerbt)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ShopNr&amp;lt;/code&amp;gt; || String || Nur Lesen || Shop-Nummer (f&amp;amp;uuml;r Mehrshop-Preisfindung)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cArtikelNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Artikelnummer (Zugriff &amp;amp;uuml;ber Property wegen Seiteneffekten)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PcMWSTSch&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || MwSt-Schl&amp;amp;uuml;ssel (Parameter-Feld)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PcMengeIn&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Mengeneingabe als String (Parameter)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PnMengeIn&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Mengeneingabe als Zahl (Parameter)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PnMengeInFak&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Mengeneingabe-Faktor (Parameter)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PcMemofeld&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Memofeld der Position (Parameter-Feld, Unicode)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PcMemofeldAnsi&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Memofeld ANSI-Version (Parameter-Feld)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosLaufend&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Laufende Positionsnummer als String&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;lVerbrauchsMater&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Verbrauchsmaterial-Kennzeichen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nMenge&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Menge der Position (mit Seiteneffekten bei Schreiben)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cTyp&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionstyp als String &amp;amp;ndash; siehe [[#Konstanten|Konstanten]] (POSTYP_*)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgangPos_Prop_Typ&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;Typ&amp;lt;/code&amp;gt; || [[#TVB_PosType|TVB_PosType]] || Lesen/Schreiben || Positionstyp als Enum (ptPosition, ptText, ptLeerzeile&amp;amp;nbsp;&amp;amp;hellip;)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgangPos_Prop_OriginalPos&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;OriginalPos&amp;lt;/code&amp;gt; || [[#TVorgangPosOriginal|TVorgangPosOriginal]] || Nur Lesen || Ursprungspositionsdaten (DMS-Referenz, Nr, UID, SysUID)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Methoden ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signatur !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;constructor Create(oxVorgang: [[#TVorgang|TVorgang]]; cPosTbl: string)&amp;lt;/code&amp;gt; || Erstellt eine neue Position f&amp;amp;uuml;r den angegebenen Vorgang (veraltet, UID-Variante bevorzugen)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;constructor Create(cUid: string; oxVorgang: [[#TVorgang|TVorgang]]; cPosTbl: string)&amp;lt;/code&amp;gt; || Erstellt eine neue Position mit vorgegebener UID&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;destructor Destroy&amp;lt;/code&amp;gt; || Gibt die Position frei&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure PositionsVorbelegung&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt die Position mit Standardwerten aus den Vorgangsdaten&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure GenNewUid&amp;lt;/code&amp;gt; || Generiert eine neue UID f&amp;amp;uuml;r diese Position&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyPosmenge(cFromUID: string): string&amp;lt;/code&amp;gt; || Kopiert Mengen aus einer anderen Position (per UID)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyPosverp(cFromUID: string): string&amp;lt;/code&amp;gt; || Kopiert Verpackungsdaten aus einer anderen Position (per UID)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure CopyFrom(oSrc: [[#TVorgangPos|TVorgangPos]]; lFull: boolean = False)&amp;lt;/code&amp;gt; || Kopiert alle Felder aus einer anderen Position; lFull=True kopiert auch interne Felder&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure QueryToPos(qTmp: TxFQuery; lReadAsNew: boolean = false)&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt die Position aus einem Datenbankquery (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure QueryToPos(qTmp: TxFQuery; const cFromTable: string; lVerpack: Boolean = False; lUmkehr: boolean = False)&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt die Position aus einem Query mit expliziter Quelltabelle (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure DBPosToPos(const cFromTable: string; const cSysUid: string; lVerpack: Boolean = False; lUmkehr: boolean = False)&amp;lt;/code&amp;gt; || Liest eine Position direkt aus der Datenbank per SysUID&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function FillArtikel(cArtNr: string): boolean&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt die Position mit Artikelstammdaten; gibt True bei Erfolg zur&amp;amp;uuml;ck&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function SetzeLieferant(const cLiefNr: string; lEKNeu: boolean = True; lDefaultEK1: boolean = False): boolean&amp;lt;/code&amp;gt; || Setzt den Lieferanten und aktualisiert EK-Preise&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure FillLeistung(cLeistNr: string)&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt die Position mit Leistungsstammdaten&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function SumPosBez(const eZielTyp: [[#TVB_PosType|TVB_PosType]]; const cBezVorb: string): string&amp;lt;/code&amp;gt; || Gibt die Bezeichnung f&amp;amp;uuml;r eine Summenposition zur&amp;amp;uuml;ck&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_Pos&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;normale Position&amp;amp;ldquo;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_Text(const cText: string)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Textzeile&amp;amp;ldquo; mit dem angegebenen Text&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_Leerzeile&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Leerzeile&amp;amp;ldquo;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_Zwischensumme(const cBez: string = &#039;&#039;)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Zwischensumme&amp;amp;ldquo; (Ebene&amp;amp;nbsp;1)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_ZwischensummeEbene(const nEbene: integer; const cBez: string = &#039;&#039;)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Zwischensumme&amp;amp;ldquo; der angegebenen Ebene&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_Titelsumme(const cBez: string = &#039;&#039;)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Titelsumme&amp;amp;ldquo; (Ebene&amp;amp;nbsp;1)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_TitelsummeEbene(const nEbene: integer; const cBez: string = &#039;&#039;)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Titelsumme&amp;amp;ldquo; der angegebenen Ebene&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_Titel(const cBez: string)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Titel&amp;amp;ldquo;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_Gewerk(const cBez: string)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Gewerk&amp;amp;ldquo;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_NeueSeite&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Seitenumbruch&amp;amp;ldquo;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_Bild(const cBild: string)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Bild&amp;amp;ldquo; mit dem angegebenen Bildpfad/-UID&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure UStKorrektur(const dCheckDate: TDateTime)&amp;lt;/code&amp;gt; || Korrigiert den Umsatzsteuerschl&amp;amp;uuml;ssel gem&amp;amp;auml;&amp;amp;szlig; Datum (Steuersatz&amp;amp;auml;nderungen)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure KalkPos&amp;lt;/code&amp;gt; || Kalkuliert Gesamtpreis und abgeleitete Felder dieser Position neu&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosNrAllowed(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn dieser Positionstyp eine Positionsnummer erh&amp;amp;auml;lt&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure SetPosNr(cP: string; cT: string = &#039;&#039;; cG: string = &#039;&#039;; cFormat: string = &#039;&#039;)&amp;lt;/code&amp;gt; || Setzt die Positionsnummer aus String-Komponenten (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure SetPosNr(nP: integer; nT: integer = -1; nG: integer = -1; cFormat: string = &#039;&#039;)&amp;lt;/code&amp;gt; || Setzt die Positionsnummer aus numerischen Komponenten (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosLaufend(iPos: integer = 0): string&amp;lt;/code&amp;gt; || Gibt die laufende Positionsnummer als formatierten String zur&amp;amp;uuml;ck&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Preisfindung(cShopNr: string = CONST_NO_SHOP)&amp;lt;/code&amp;gt; || F&amp;amp;uuml;hrt die Preisfindung f&amp;amp;uuml;r diese Position aus&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function SetOpenBookLieferant(): boolean&amp;lt;/code&amp;gt; || Setzt den Open-Book-Lieferanten f&amp;amp;uuml;r diese Position&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure AddToMemo(const cText: string; const lNewLine: boolean = False)&amp;lt;/code&amp;gt; || F&amp;amp;uuml;gt Text zum Memofeld hinzu&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgangPos_Meth_AktualisiereDaten&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;procedure AktualisiereDaten&amp;lt;/code&amp;gt; || Aktualisiert Texte, EK- und VK-Preise gem&amp;amp;auml;&amp;amp;szlig; [[#TVorgang_Prop_ParameterPositionsdatenAktualisieren|ParameterPositionsdatenAktualisieren]]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure EKCalcMengeIn(var nEkFak: double)&amp;lt;/code&amp;gt; || Berechnet den EK-Mengeneingabe-Faktor (R&amp;amp;uuml;ckgabe per var-Parameter)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function CanSave(): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft ob diese Position gespeichert werden kann/darf&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure qSqlSet(AqSql: TqSql)&amp;lt;/code&amp;gt; || Setzt das SQL-Objekt f&amp;amp;uuml;r erweiterte DB-Operationen dieser Position&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Globale Methoden =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Signatur !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstVKVorgang(cMainTable: string): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck, wenn die Haupttabelle ein VK-Vorgang ist&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstVKVorgangPos(cPosTable: string): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck, wenn die Positionstabelle zu einem VK-Vorgang geh&amp;amp;ouml;rt&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyPosmengeDB(oMyDB: TxDB; cFromUID: string): string&amp;lt;/code&amp;gt; || Kopiert Positionsmengen aus einem anderen Vorgang (direkt per Datenbankzugriff)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyPosverpDB(oMyDB: TxDB; cFromUID: string): string&amp;lt;/code&amp;gt; || Kopiert Positionsverpackungen aus einem anderen Vorgang (direkt per Datenbankzugriff)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyRTFLan(oMyDB: TxDB; cVonTable, cVonRef, cNachTable, cNachRef: String): String&amp;lt;/code&amp;gt; || Kopiert RTF-Langtexte zwischen Vorgangs-Positionen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure CopyKalkulationAN2AU(oMyDB: TxDB; cANRef1, cANRef2, cAURef1, cAURef2: String; fPosmenge: Double)&amp;lt;/code&amp;gt; || Kopiert Kalkulation von Angebot nach Auftrag (mit Mengenfaktor)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure CopyKalkulationAU(oMyDB: TxDB; cANRef1, cANRef2, cAURef1, cAURef2: String)&amp;lt;/code&amp;gt; || Kopiert Auftragskalkulation zwischen zwei Positionen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure CopyKalkulationAN(oMyDB: TxDB; cANRef1, cANRef2, cAURef1, cAURef2: String)&amp;lt;/code&amp;gt; || Kopiert Angebotskalkulation zwischen zwei Positionen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosNrFormatCheck(const cFormat: string): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft, ob ein Positionsnummern-Format g&amp;amp;uuml;ltig ist (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosNrFormatCheck(oMyDB: TxDB; const cFormat: string): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft Format gegen Datenbankeinstellungen (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosNrFormatCounts(const cFormat: string; out nG, nT, nP: integer): boolean&amp;lt;/code&amp;gt; || Liefert die Stellenzahlen f&amp;amp;uuml;r Gewerk, Titel und Position aus dem Format (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosNrFormatCounts(oMyDB: TxDB; const cFormat: string; out nG, nT, nP: integer): boolean&amp;lt;/code&amp;gt; || Wie oben, mit Datenbankzugriff (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosNrSplit(oMyDB: TxDB; const cFormat, cPosTyp: string; cPosNr: string; out nG, nT, nP: integer): boolean&amp;lt;/code&amp;gt; || Zerlegt eine formatierte Positionsnummer in ihre Bestandteile&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function GetVorgangMandant(oMyDB: TxDB; const cTable, cNr: string): string&amp;lt;/code&amp;gt; || Gibt den Mandanten-Schl&amp;amp;uuml;ssel f&amp;amp;uuml;r einen Vorgang zur&amp;amp;uuml;ck&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function GetVorgangTextTB(const nPMode: integer; out cTB_Nr: string; cFiliale: string = &#039;&#039;): boolean&amp;lt;/code&amp;gt; || Ermittelt die Textbaustein-Nummer f&amp;amp;uuml;r den angegebenen Positionsmodus&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function GetVorgangTextTBPers(oMyDB: TxDB; const cPsNr: string; const nPMode: integer; out cTB_Nr: string; cFiliale: string = &#039;&#039;): boolean&amp;lt;/code&amp;gt; || Wie GetVorgangTextTB, zus&amp;amp;auml;tzlich personenbezogen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function KopfTextPlatzhalter(var cKopfText: string; const cBrief1, cBrief2: string): boolean&amp;lt;/code&amp;gt; || Ersetzt Platzhalter im Kopftext durch Briefanredefelder&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangArt(oMyDB: TxDB; const cDMS, cNr: string): integer&amp;lt;/code&amp;gt; || Gibt die Vorgangsart als Integer-Kennziffer zur&amp;amp;uuml;ck&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangStatus(oMyDB: TxDB; const cDMS, cNr: string): string&amp;lt;/code&amp;gt; || Gibt den aktuellen Status eines Vorgangs aus der Datenbank zur&amp;amp;uuml;ck&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangVerbucht(oMyDB: TxDB; const cDMS, cNr: string): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck, wenn der Vorgang verbucht ist&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangUstEnthalten(oMyDB: TxDB; const cDMS, cNr, cUstSchl: string; cFeld: string = &#039;&#039;): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft, ob ein bestimmter USt-Schl&amp;amp;uuml;ssel im Vorgang verwendet wird&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function PortoVerpackKannSkonto(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck, wenn Porto/Verpackung skontof&amp;amp;auml;hig ist (laut Systemeinstellung)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function GetPosBild(oMyDB: TxDB; cArtNr: string; var cBildUID: string): boolean&amp;lt;/code&amp;gt; || Ermittelt die Bild-UID eines Artikels f&amp;amp;uuml;r eine Positions-Bildposition&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangVertreterVorb(oMyDB: TxDB; const cVertreter: string): string&amp;lt;/code&amp;gt; || Gibt den vorgebelegten Vertreter-Schl&amp;amp;uuml;ssel zur&amp;amp;uuml;ck&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangVertreterPrio(oMyDB: TxDB; const cAktVertreter: string): string&amp;lt;/code&amp;gt; || Gibt den Vertreter mit h&amp;amp;ouml;chster Priorit&amp;amp;auml;t zur&amp;amp;uuml;ck&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function GenerierePositionskommentar(cUrsprung, cKommentar: String): String&amp;lt;/code&amp;gt; || Kombiniert Ursprungs- und Kommentartext zu einem Positions-Kommentar&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function ReplacePlatzhalterReparaturAuftrag(cRAufNr: String; cText: String = &#039;&#039;): String&amp;lt;/code&amp;gt; || Ersetzt Platzhalter im Text durch Reparaturauftragsdaten&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function ReplacePlatzhalterPosErfassung(oMyDB: TxDB; const cBuffer, cTable, cNr: string; const lDef: Boolean = False; const lRepa: Boolean = False): String&amp;lt;/code&amp;gt; || Ersetzt Platzhalter im Text bei der Positionserfassung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function LoadPlatzhalterVorgang(oMyDB: TxDB; const cTable, cNr: string; var oPlatzhalter: TPlatzhalterVorgang): Boolean&amp;lt;/code&amp;gt; || L&amp;amp;auml;dt Platzhalter-Daten eines Vorgangs aus der Datenbank&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function PlatzhalterVorgang(const cText, cNr: string; const oPlatzhalter: TPlatzhalterVorgang; const lDef: Boolean = false; const lRepa: Boolean = false): string&amp;lt;/code&amp;gt; || Ersetzt Platzhalter im Text mit den geladenen Vorgang-Platzhaltern&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function GetPosVorb_ErlKto(oMyDB: TxDB; const cErlJahr, cManNr, cFiliale: string): string&amp;lt;/code&amp;gt; || Gibt das Erl&amp;amp;ouml;skonto f&amp;amp;uuml;r eine Positionsvorbelegung zur&amp;amp;uuml;ck&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure ChangePosPreisFromLeistPreis2(oVorgang: TVorgang)&amp;lt;/code&amp;gt; || Wechselt f&amp;amp;uuml;r alle Positionen auf den alternativen Leistungspreis 2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_ToXMLStr(oMyDB: TxDB; const cTable, cPosTable, cVorgNr: String): string&amp;lt;/code&amp;gt; || Exportiert einen Vorgang als XML-String&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_ToDelArchiv(oMyDB: TxDB; const cTable, cPosTable, cVorgNr: String): Boolean&amp;lt;/code&amp;gt; || Verschiebt einen Vorgang ins L&amp;amp;ouml;scharchiv&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_ToXMLFile(oMyDB: TxDB; const cFile, cTable, cPosTable, cVorgNr: String): Boolean&amp;lt;/code&amp;gt; || Exportiert einen Vorgang in eine XML-Datei&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function XMLFile_ToVorgang(oMyDB: TxDB; const cData: String; var cNewNr, cOldNr: String): Boolean&amp;lt;/code&amp;gt; || Importiert einen Vorgang aus einem XML-String/-Datei&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function DelArchivTo_Vorgang(oMyDB: TxDB; const cTabelle, cVorgang: String): String&amp;lt;/code&amp;gt; || Stellt einen archivierten Vorgang wieder her&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_Runden_MengeInFak(oMyDB: TxDB; const cTabMain, cTabPos: string; nValue: double): double&amp;lt;/code&amp;gt; || Rundet den Mengeneingabe-Faktor gem&amp;amp;auml;&amp;amp;szlig; Tabelleneinstellung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_Rohertrag(oMyDB: TxDB; const cDMSTyp, cVorgNr: String; nNettoBetrag: Double): String&amp;lt;/code&amp;gt; || Berechnet den Rohertrag eines Vorgangs&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_Rohertrag_Ext(oMyDB: TxDB; const cDMSTyp, cVorgNr: String; nNettoBetrag: Double; lSollStunden: Boolean): string&amp;lt;/code&amp;gt; || Berechnet den Rohertrag erweitert (mit Sollstunden)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangFelder(cTyp: String; lPosition, lArtikel, lMaterial, lAuswertung, lMessen: Boolean; lSchiff: Boolean = False): String&amp;lt;/code&amp;gt; || Gibt die aktiven Feldgruppen eines Vorgangstyps als String zur&amp;amp;uuml;ck (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangFelder(oMyDB: TxDB; cTyp: String; lPosition, lArtikel, lMaterial, lAuswertung, lMessen: Boolean; lSchiff: Boolean = False): String&amp;lt;/code&amp;gt; || Wie oben, mit Datenbankzugriff (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_IstGesperrt(oMyDB: TxDB; const cTyp, cRef: string; const cFeld: string = &#039;a_nr&#039;): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft, ob ein Vorgang gesperrt ist (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_IstGesperrt(oMyDB: TxDB; const rDMS: TDMSType; const cRef: string; const cFeld: string = &#039;a_nr&#039;): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft Sperrung per DMS-Typ (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_FilterSperrung(oMyDB: TxDB; const cTyp, cRef: string; out cOffen, cGesperrt: string; const cFeld: string = &#039;a_nr&#039;): boolean&amp;lt;/code&amp;gt; || Gibt SQL-Filter-Strings f&amp;amp;uuml;r offene/gesperrte Vorg&amp;amp;auml;nge zur&amp;amp;uuml;ck&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_FilterSperrung_Offen(oMyDB: TxDB; const cTyp, cRef: string; out cOffen: string; const cFeld: string = &#039;a_nr&#039;): boolean&amp;lt;/code&amp;gt; || Gibt nur den Filter f&amp;amp;uuml;r offene (nicht gesperrte) Vorg&amp;amp;auml;nge zur&amp;amp;uuml;ck&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_UbernahmeMassen(oMyDB: TxDB; const cVonUid, cNachDmsTyp, cNachVorgNr, cNachUid: string): boolean&amp;lt;/code&amp;gt; || Massenweise Positions&amp;amp;uuml;bernahme zwischen Vorg&amp;amp;auml;ngen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_GetMenge(oMyDB: TxDB; const cPosTable, cKeyField, cUID: String; out nUrmenge: Double; const cEigUID: String = &#039;&#039;): Double&amp;lt;/code&amp;gt; || Liest die aktuelle und Ursprungsmenge einer Position aus der Datenbank&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_CheckPosTyp(const cTyp: string): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft, ob ein Positionstyp-Schl&amp;amp;uuml;ssel g&amp;amp;uuml;ltig ist&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_HatReEmpfAdr(qVorgangData: TxFQuery): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck, wenn der Vorgang eine Rechnungsempf&amp;amp;auml;nger-Adresse hat (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_HatReEmpfAdr(qVorgangData: TxQuery): boolean&amp;lt;/code&amp;gt; || Wie oben, f&amp;amp;uuml;r TxQuery (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_AnzeigeReEmpf(oMyDB: TxDB; qMain: TxFQuery; const cMainTable: string; cAdressBez: string = &#039;&#039;; lUseReportLang: boolean = True): string&amp;lt;/code&amp;gt; || Gibt die anzuzeigende Rechnungsempf&amp;amp;auml;nger-Adresse als formatierten Text zur&amp;amp;uuml;ck (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_AnzeigeReEmpf(oMyDB: TxDB; qMain: TxQuery; const cMainTable: string; cAdressBez: string = &#039;&#039;; lUseReportLang: boolean = True): string&amp;lt;/code&amp;gt; || Wie oben, f&amp;amp;uuml;r TxQuery (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PortoVerpackBerechnet(oMyDB: TxDB; const cDmsVon, cDmsSetzen, cNrSetzen: string): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft, ob Porto/Verpackung bereits berechnet wurde und setzt Kennzeichen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangVorb_Waehrung(oMyDB: TxDB; const cValue: string = &#039;01&#039;): string&amp;lt;/code&amp;gt; || Gibt den Standardw&amp;amp;auml;hrungsschl&amp;amp;uuml;ssel f&amp;amp;uuml;r Vorgangsvorbelegung zur&amp;amp;uuml;ck&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangVorb_RechKreis(oMyDB: TxDB; const cValue: string = &#039;01&#039;): string&amp;lt;/code&amp;gt; || Gibt den Standardrechnungskreis-Schl&amp;amp;uuml;ssel zur&amp;amp;uuml;ck&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangVorbPos_VomLager(const nTokenPos: integer; const cLagStreck: string): string&amp;lt;/code&amp;gt; || Gibt das Lager/die Strecke f&amp;amp;uuml;r eine Positionsvorbelegung zur&amp;amp;uuml;ck&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_VersandkostenMBW(oMyDB: TxDB; const cDmsTyp: string; const lGen: boolean; const cPsNr: string; const cPsVersand: string = &#039;&#039;; const cPsZusatz: string = &#039;&#039;): string&amp;lt;/code&amp;gt; || Berechnet Versandkosten auf Basis des Mindestbestellwerts&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfFile(oMyDB: TxDB; const cDmsTyp, cNr, cKdNr: string; out cPdfFile: string): boolean&amp;lt;/code&amp;gt; || Ermittelt den Pfad zur archivierten PDF-Datei eines Vorgangs&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfAsBase64File(oMyDB: TxDB; const cDmsTyp, cNr, cKdNr: string; out cBase64File: string): boolean&amp;lt;/code&amp;gt; || Liefert die PDF-Datei als Base64-kodierten Pfad&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfAsBase64Parts(oMyDB: TxDB; const cDmsTyp, cNr, cKdNr: string; const nPart: integer; out cBase64: string; out nParts: integer; nPartSize: integer = 0): boolean&amp;lt;/code&amp;gt; || Liefert die PDF in Teilen als Base64 (mit KdNr, &amp;amp;Uuml;berladung 1)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfAsBase64Parts(oMyDB: TxDB; const cDmsTyp, cNr, cKdNr: string; const nPart: integer; out cBase64: string; out nParts: integer; cPartSize: string): boolean&amp;lt;/code&amp;gt; || Wie oben, Teilgr&amp;amp;ouml;&amp;amp;szlig;e als String (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfAsBase64Parts(oMyDB: TxDB; const cDmsTyp, cNr: string; const nPart: integer; out cBase64: string; out nParts: integer; nPartSize: integer = 0): boolean&amp;lt;/code&amp;gt; || Wie oben, ohne KdNr (&amp;amp;Uuml;berladung 3)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfAsBase64Parts(oMyDB: TxDB; const cDmsTyp, cNr: string; const nPart: integer; out cBase64: string; out nParts: integer; cPartSize: string): boolean&amp;lt;/code&amp;gt; || Wie oben, Teilgr&amp;amp;ouml;&amp;amp;szlig;e als String (&amp;amp;Uuml;berladung 4)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfAsBase64(oMyDB: TxDB; const cDmsTyp, cNr: string; out cBase64: string): boolean&amp;lt;/code&amp;gt; || Liefert die gesamte PDF als Base64-String&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PosUebernommen(oMyDB: TxDB; const cVonDmsTyp, cVonNr, cPosUid: string): TVorgangPosOriginalListe&amp;lt;/code&amp;gt; || Gibt eine Liste aller Vorg&amp;amp;auml;nge zur&amp;amp;uuml;ck, in die diese Position &amp;amp;uuml;bernommen wurde&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_GetPosRef(oMyDB: TxDB; const cVonDmsTyp, cVonNr, cPosUid, cRefDmsTypen: string): TVorgangPosOriginalListe&amp;lt;/code&amp;gt; || Gibt Referenzen einer Position auf andere DMS-Typen zur&amp;amp;uuml;ck&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_ArtBox(const cDMSTyp: string): string&amp;lt;/code&amp;gt; || Gibt die Vorgangsart-Box (Auswahlstring) f&amp;amp;uuml;r einen DMS-Typ zur&amp;amp;uuml;ck&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_SummenEbene(const nEbene: integer): integer&amp;lt;/code&amp;gt; || Validiert und normiert eine Summen-Ebene (1..VB_MAX_SummenEbenen)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_SummenEbeneAusMenge(const nMenge: double): integer&amp;lt;/code&amp;gt; || Berechnet die Summenebene aus einem Mengenwert&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_KalkAufschlagPos(const nSatz, nZwSumme, nMengeIn, nMengeInFak, nRabatt: double): double&amp;lt;/code&amp;gt; || Berechnet den Aufschlagsbetrag f&amp;amp;uuml;r eine Position&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_SumPosText(const eTyp: [[#TVB_PosType|TVB_PosType]]; const cLanguage: string): string&amp;lt;/code&amp;gt; || Gibt den lokalisierten Standardtext f&amp;amp;uuml;r eine Summenposition zur&amp;amp;uuml;ck&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_SumPosTextZw(cLang: string = &#039;&#039;): string&amp;lt;/code&amp;gt; || Gibt den lokalisierten Text f&amp;amp;uuml;r Zwischensummen-Positionen zur&amp;amp;uuml;ck&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_SumPosTextTit(cLang: string = &#039;&#039;): string&amp;lt;/code&amp;gt; || Gibt den lokalisierten Text f&amp;amp;uuml;r Titelsummen-Positionen zur&amp;amp;uuml;ck&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Nimz</name></author>
	</entry>
	<entry>
		<id>https://wiki.bergau.de/index.php?title=OBS/Makros_und_Scripting/Allgemeines/Klassen/Vorg%C3%A4nge&amp;diff=64501</id>
		<title>OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge</title>
		<link rel="alternate" type="text/html" href="https://wiki.bergau.de/index.php?title=OBS/Makros_und_Scripting/Allgemeines/Klassen/Vorg%C3%A4nge&amp;diff=64501"/>
		<updated>2026-06-12T11:19:25Z</updated>

		<summary type="html">&lt;p&gt;Nimz: /* TVorgangPosOriginal */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Makros und Scripting}}&lt;br /&gt;
Es gibt für die Generierung von Vorgängen eigene Klassen. Da es zwischen den Vorgängen immer irgendwelche Unterschiede gibt, existiert auch für jeden Vorgangs-Typ eine eigene Klasse.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Übersicht Klassen:&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Angebot|Angebot]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Auftrag|Auftrag]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Reparaturauftrag|Reparaturauftrag]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Produktionsauftrag|Produktionsauftrag]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Lieferschein|Lieferschein]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Rechnung|Rechnung]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Bestellung|Bestellung]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Einkaufslieferschein|Einkaufslieferschein]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Einkauf|Einkauf]]&lt;br /&gt;
&lt;br /&gt;
= Datentypen =&lt;br /&gt;
&lt;br /&gt;
== Enumerationen ==&lt;br /&gt;
&lt;br /&gt;
=== TVB_PosType ===&lt;br /&gt;
Positionstyp einer [[#TVorgangPos|TVorgangPos]]. Wird &amp;amp;uuml;ber die Property &amp;lt;code&amp;gt;[[#TVorgangPos_Prop_Typ|Typ]]&amp;lt;/code&amp;gt; gelesen/gesetzt.&lt;br /&gt;
Die zugeh&amp;amp;ouml;rigen String-Konstanten sind unter [[#Konstanten|Konstanten]] beschrieben.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wert !! Bezeichner !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| 0 || &amp;lt;code&amp;gt;ptPosition&amp;lt;/code&amp;gt; || Normale Artikelposition&lt;br /&gt;
|-&lt;br /&gt;
| 1 || &amp;lt;code&amp;gt;ptText&amp;lt;/code&amp;gt; || Textzeile / Memorundzeile&lt;br /&gt;
|-&lt;br /&gt;
| 2 || &amp;lt;code&amp;gt;ptLeerzeile&amp;lt;/code&amp;gt; || Leere Trennzeile&lt;br /&gt;
|-&lt;br /&gt;
| 3 || &amp;lt;code&amp;gt;ptZwischensumme&amp;lt;/code&amp;gt; || Zwischensummen-Position&lt;br /&gt;
|-&lt;br /&gt;
| 4 || &amp;lt;code&amp;gt;ptTitelsumme&amp;lt;/code&amp;gt; || Titelsummen-Position&lt;br /&gt;
|-&lt;br /&gt;
| 5 || &amp;lt;code&amp;gt;ptTitel&amp;lt;/code&amp;gt; || Titelzeile&lt;br /&gt;
|-&lt;br /&gt;
| 6 || &amp;lt;code&amp;gt;ptGewerk&amp;lt;/code&amp;gt; || Gewerk-Kopfzeile&lt;br /&gt;
|-&lt;br /&gt;
| 7 || &amp;lt;code&amp;gt;ptSeitenumbruch&amp;lt;/code&amp;gt; || Manueller Seitenumbruch&lt;br /&gt;
|-&lt;br /&gt;
| 8 || &amp;lt;code&amp;gt;ptBild&amp;lt;/code&amp;gt; || Bildposition&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVB_MaterMode ===&lt;br /&gt;
Steuert den Materialmodus beim Lesen von Positionsdaten.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wert !! Bezeichner !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| 0 || &amp;lt;code&amp;gt;mmNone&amp;lt;/code&amp;gt; || Kein spezieller Materialmodus&lt;br /&gt;
|-&lt;br /&gt;
| 1 || &amp;lt;code&amp;gt;mmMD5&amp;lt;/code&amp;gt; || Materialpr&amp;amp;uuml;fung per MD5-Hash&lt;br /&gt;
|-&lt;br /&gt;
| 2 || &amp;lt;code&amp;gt;mmReadUID&amp;lt;/code&amp;gt; || Material-UID direkt lesen&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVorgangFehlerTyp ===&lt;br /&gt;
Klassifiziert einen Eintrag in der internen Fehlerliste eines [[#TVorgang|TVorgang]].&lt;br /&gt;
Wird im Record [[#TVorgangFehler|TVorgangFehler]] verwendet.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wert !! Bezeichner !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| 0 || &amp;lt;code&amp;gt;vftOther&amp;lt;/code&amp;gt; || Sonstiger Hinweis&lt;br /&gt;
|-&lt;br /&gt;
| 1 || &amp;lt;code&amp;gt;vftCritical&amp;lt;/code&amp;gt; || Kritischer Fehler (blockiert Speichern)&lt;br /&gt;
|-&lt;br /&gt;
| 2 || &amp;lt;code&amp;gt;vftSaveCheck&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;fung beim Speichern&lt;br /&gt;
|-&lt;br /&gt;
| 3 || &amp;lt;code&amp;gt;vftPosInfo&amp;lt;/code&amp;gt; || Positionsbezogene Information&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVorgangFehlerLoeschenLesen ===&lt;br /&gt;
Steuert, welche Fehler nach dem Lesen via &amp;lt;code&amp;gt;[[#TVorgang_Meth_leseFehler|leseFehler]]&amp;lt;/code&amp;gt; aus der Liste gel&amp;amp;ouml;scht werden.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wert !! Bezeichner !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| 0 || &amp;lt;code&amp;gt;vfllNone&amp;lt;/code&amp;gt; || Kein Fehler nach dem Lesen l&amp;amp;ouml;schen&lt;br /&gt;
|-&lt;br /&gt;
| 1 || &amp;lt;code&amp;gt;vfllAll&amp;lt;/code&amp;gt; || Alle Fehler nach dem Lesen l&amp;amp;ouml;schen&lt;br /&gt;
|-&lt;br /&gt;
| 2 || &amp;lt;code&amp;gt;vfllSkipCritical&amp;lt;/code&amp;gt; || Nur nicht-kritische Fehler l&amp;amp;ouml;schen (Standard)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Records ==&lt;br /&gt;
&lt;br /&gt;
=== TVorgangPosOriginal ===&lt;br /&gt;
Enth&amp;amp;auml;lt Referenzinformationen der Ursprungsposition (z.&amp;amp;nbsp;B. bei der Vorgangs&amp;amp;uuml;bernahme).&lt;br /&gt;
Wird &amp;amp;uuml;ber die Property &amp;lt;code&amp;gt;[[#TVorgangPos_Prop_OriginalPos|OriginalPos]]&amp;lt;/code&amp;gt; einer [[#TVorgangPos|TVorgangPos]] geliefert.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Feld !! Typ !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;rDMS&amp;lt;/code&amp;gt; || TDMSType || DMS-Typ des Ursprungsvorgangs&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cNr&amp;lt;/code&amp;gt; || String || Vorgangsnummer des Ursprungs&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cUid&amp;lt;/code&amp;gt; || String || UID der Ursprungsposition&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cSysUid&amp;lt;/code&amp;gt; || String || System-UID der Ursprungsposition&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVorgangPosParams_AktualisiereDaten ===&lt;br /&gt;
Steuert, welche Datenbereiche bei &amp;lt;code&amp;gt;[[#TVorgangPos_Meth_AktualisiereDaten|AktualisiereDaten]]&amp;lt;/code&amp;gt; aktualisiert werden sollen.&lt;br /&gt;
Wird &amp;amp;uuml;ber die Property &amp;lt;code&amp;gt;[[#TVorgang_Prop_ParameterPositionsdatenAktualisieren|ParameterPositionsdatenAktualisieren]]&amp;lt;/code&amp;gt; von [[#TVorgang|TVorgang]] gesetzt.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Feld !! Typ !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;lTexte&amp;lt;/code&amp;gt; || Boolean || Bezeichnungen/Texte aktualisieren&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;lEK&amp;lt;/code&amp;gt; || Boolean || Einkaufspreise aktualisieren&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;lVK&amp;lt;/code&amp;gt; || Boolean || Verkaufspreise aktualisieren&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Methoden:&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signatur !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Init(const cVorb: string = &#039;&#039;)&amp;lt;/code&amp;gt; || Initialisiert die Parameter mit Standardwerten; optionaler Vorbelegungsschl&amp;amp;uuml;ssel&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Aktualisieren(): boolean&amp;lt;/code&amp;gt; || Gibt &amp;lt;code&amp;gt;True&amp;lt;/code&amp;gt; zur&amp;amp;uuml;ck, wenn mindestens ein Aktualisierungsschalter gesetzt ist&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVorgangPosSummen ===&lt;br /&gt;
Speichert Zwischen- und Titelsummen-Betr&amp;amp;auml;ge je Ebene (1 bis &amp;lt;code&amp;gt;VB_MAX_SummenEbenen&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Feld !! Typ !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;aZw[1..9]&amp;lt;/code&amp;gt; || Double || Zwischensummen-Betr&amp;amp;auml;ge je Ebene&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;aTit[1..9]&amp;lt;/code&amp;gt; || Double || Titelsummen-Betr&amp;amp;auml;ge je Ebene&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Methoden:&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signatur !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Clear&amp;lt;/code&amp;gt; || Setzt alle Summen auf 0&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure ClearZw(const nEbene: integer)&amp;lt;/code&amp;gt; || Setzt Zwischensumme der Ebene nEbene auf 0&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure ClearTit(const nEbene: integer)&amp;lt;/code&amp;gt; || Setzt Titelsumme der Ebene nEbene auf 0&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure AddZw(const nBetrag: double)&amp;lt;/code&amp;gt; || Addiert Betrag zur aktiven Zwischensummen-Ebene&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure AddTit(const nBetrag: double)&amp;lt;/code&amp;gt; || Addiert Betrag zur aktiven Titelsummen-Ebene&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function ReadZw(const nEbene: integer): double&amp;lt;/code&amp;gt; || Liefert den Zwischensummen-Betrag der Ebene&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function ReadTit(const nEbene: integer): double&amp;lt;/code&amp;gt; || Liefert den Titelsummen-Betrag der Ebene&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVorgangEigenschaft ===&lt;br /&gt;
Repr&amp;amp;auml;sentiert ein Vorgangsmerkmal (Eigenschaft), das per &amp;lt;code&amp;gt;[[#TVorgang_Meth_EigenschaftSetzen|EigenschaftSetzen]]&amp;lt;/code&amp;gt; gesetzt wird.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Feld !! Typ !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cNr&amp;lt;/code&amp;gt; || String || Merkmalsnummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;lMode&amp;lt;/code&amp;gt; || Boolean || True = setzen, False = l&amp;amp;ouml;schen&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVorgangFehler ===&lt;br /&gt;
Ein Eintrag in der internen Fehlerliste von [[#TVorgang|TVorgang]].&lt;br /&gt;
Wird per &amp;lt;code&amp;gt;[[#TVorgang_Meth_leseFehler|leseFehler]]&amp;lt;/code&amp;gt; ausgelesen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Feld !! Typ !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cTitel&amp;lt;/code&amp;gt; || String || Fehlertitel (Kurzbeschreibung)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cText&amp;lt;/code&amp;gt; || String || Fehlertext (Detailbeschreibung)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;eTyp&amp;lt;/code&amp;gt; || [[#TVorgangFehlerTyp|TVorgangFehlerTyp]] || Fehlerklassifikation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Konstanten ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Konstante !! Wert !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_POS&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;0&#039;&amp;lt;/code&amp;gt; || Positionstyp normale Artikelposition (entspricht [[#TVB_PosType|ptPosition]])&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_TXT&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;1&#039;&amp;lt;/code&amp;gt; || Positionstyp Textzeile (entspricht [[#TVB_PosType|ptText]])&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_ELN&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;2&#039;&amp;lt;/code&amp;gt; || Positionstyp Leerzeile (entspricht [[#TVB_PosType|ptLeerzeile]])&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_ZWS&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;3&#039;&amp;lt;/code&amp;gt; || Positionstyp Zwischensumme (entspricht [[#TVB_PosType|ptZwischensumme]])&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_TIS&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;4&#039;&amp;lt;/code&amp;gt; || Positionstyp Titelsumme (entspricht [[#TVB_PosType|ptTitelsumme]])&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_TIT&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;7&#039;&amp;lt;/code&amp;gt; || Positionstyp Titel (entspricht [[#TVB_PosType|ptTitel]])&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_GEW&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;8&#039;&amp;lt;/code&amp;gt; || Positionstyp Gewerk (entspricht [[#TVB_PosType|ptGewerk]])&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_PBR&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;17&#039;&amp;lt;/code&amp;gt; || Positionstyp Seitenumbruch (entspricht [[#TVB_PosType|ptSeitenumbruch]])&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_PIC&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;19&#039;&amp;lt;/code&amp;gt; || Positionstyp Bild (entspricht [[#TVB_PosType|ptBild]])&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;VB_DEFAULT_BezZwischensumme&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;ZWISCHENSUMME    :&#039;&amp;lt;/code&amp;gt; || Standard-Bezeichnung f&amp;amp;uuml;r Zwischensummen-Positionen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;VB_DEFAULT_BezTitelsumme&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;TITELSUMME       :&#039;&amp;lt;/code&amp;gt; || Standard-Bezeichnung f&amp;amp;uuml;r Titelsummen-Positionen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;VB_MAX_SummenEbenen&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;9&amp;lt;/code&amp;gt; || Maximale Anzahl von Summenebenen (Zwischen- und Titelsummen)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Basisklassen Vorgangsgenerierung=&lt;br /&gt;
&lt;br /&gt;
== TVorgang ==&lt;br /&gt;
&lt;br /&gt;
=== Variablen ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Name !! Typ !! Zugriff !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;oMyDB&amp;lt;/code&amp;gt; || TxDB || Lesen/Schreiben || Datenbankverbindung des Vorgangs&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;oProtokoll&amp;lt;/code&amp;gt; || TStringList || Lesen/Schreiben || Protokoll-Liste (Meldungen/Log)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;lMeldung&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Steuert Anzeige von Benutzer-Meldungen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;lSetPSBemAuto&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Automatische Positionsbemerkung setzen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cVorgNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Vorgangsnummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cProjNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Projektnummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;lBrutto&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Brutto-Modus aktiv&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cLanguage&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sprach-Code (intern, z.&amp;amp;nbsp;B. f&amp;amp;uuml;r Formulare)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cLagNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lagernummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cTyp&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Vorgangstyp-K&amp;amp;uuml;rzel&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;dVorgDat&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Vorgangsdatum&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;dFaelligDat&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || F&amp;amp;auml;lligkeitsdatum&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;dBuchDat&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Buchungsdatum&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;dAufDat&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Auftragsdatum&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cKdNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kundennummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cAnrede&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Anrede des Kunden&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cName&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Name des Kunden&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cVorname&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Vorname des Kunden&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cZusatz1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Adresszusatz 1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cZusatz2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Adresszusatz 2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cStrasse&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Stra&amp;amp;szlig;e der Lieferadresse&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cPostfach&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Postfach&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cLK&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || L&amp;amp;auml;nderkennzeichen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cPLZ&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Postleitzahl&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cOrt&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Ort&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cAngebNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Angebotsnummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cLSNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferscheinnummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cRechNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsnummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cAuftNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Auftragsnummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cRepaNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Reparaturauftragsnummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cEinkaufsNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Einkaufsnummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cBestellNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Bestellnummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosText&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionstext (globaler Standardtext)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cLProjNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Leistungsprojektnummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cKopftext&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kopftext des Vorgangs&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cFusstext&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Fu&amp;amp;szlig;text des Vorgangs&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nNBetrag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Nettobetrag gesamt&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nBBetrag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Bruttobetrag gesamt&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nEKBetrag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Einkaufsbetrag gesamt&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabattBetrag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabattbetrag gesamt&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabattProz&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabattprozentsatz gesamt&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nAnzahlung&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Anzahlungsbetrag&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nPorto&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Portokosten&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nVerpackung&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Verpackungskosten&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;lSplitPoVe&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Porto und Verpackung getrennt ausweisen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cVersand&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandart&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cWaehr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || W&amp;amp;auml;hrungsk&amp;amp;uuml;rzel&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cFormul&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Formularnummer/-k&amp;amp;uuml;rzel&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cVAnr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandanrede&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cVName1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandname 1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cVName2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandname 2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cVZusatz&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandadresse Zusatz&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cVStrasse&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandstra&amp;amp;szlig;e&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cVLK&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versand-L&amp;amp;auml;nderkennzeichen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cVPLZ&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versand-PLZ&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cVOrt&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandort&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cVUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandadresse UID&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cPrio&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Priorit&amp;amp;auml;t des Vorgangs&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cAuftNrKd&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Auftrags-/Bestellnummer des Kunden&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cBesteller&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Besteller (Person)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cSachb&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sachbearbeiter&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabPosJN&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionsrabatt anzeigen J/N&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cMWSTJN&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Mehrwertsteuer ausweisen J/N&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText3&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText4&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText5&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText6&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 6&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText7&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 7&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cPreisJN&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Preis auf Dokument drucken J/N&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cMwStAbs&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || MwSt-Absetzungstext/-K&amp;amp;uuml;rzel&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;dLiefDat&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Lieferdatum&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cDeleted&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Gel&amp;amp;ouml;scht-Kennzeichen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;dLDat2&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Zweites Lieferdatum&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cSprache&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sprache des Vorgangs&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cReEmpf&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Nummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cReAnrede&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Anrede&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cReName&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Name&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cReVorname&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Vorname&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cReZusatz1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Adresszusatz 1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cReZusatz2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Adresszusatz 2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cReStrasse&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Stra&amp;amp;szlig;e&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cRePostfach&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Postfach&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cReLK&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-L&amp;amp;auml;nderkennzeichen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cRePLZ&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-PLZ&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cReOrt&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Ort&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cVertreter&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Vertreter-K&amp;amp;uuml;rzel&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cVerbucht&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Verbucht-Kennzeichen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cLager&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lager-K&amp;amp;uuml;rzel&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cRechFrei&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsfreigabe-Kennzeichen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cBonNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Bonnummer (Kasse)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cMandant&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Mandantenk&amp;amp;uuml;rzel&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nMwStDM&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || MwSt-Betrag in DM (Altw&amp;amp;auml;hrung)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nKursDM&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Wechselkurs DM&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nAbschlag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Abschlagsbetrag&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nZBetrag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Zahlungsbetrag&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nZSkonto&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Skonto-Betrag&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;dZDatum&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Zahlungsdatum&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cMemo&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Memofeld des Vorgangs&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nValuta&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Valutatage&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cKostenst&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kostenstelle&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cKostentraeger&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kostentr&amp;amp;auml;ger&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cKalkGr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kalkulationsgruppe&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cFrachtV&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Frachtart/-vorschrift&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nFrachtK&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Frachtkosten&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nFrachtG&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Frachtgewicht&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cGruppe&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Vorgangsgruppe&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nPosInc&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Positionsnummer-Inkrement&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cFiliale&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Filialk&amp;amp;uuml;rzel&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabText&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabatttextfeld (kurz)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cErfasser&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Erfasser des Vorgangs&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nSKFBetrag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Skontof&amp;amp;auml;higer Betrag&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;lLiefStrecke&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Lieferstreckengesch&amp;amp;auml;ft aktiv&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cBetreff&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Betreffzeile&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cMemoDruck&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Druckmemo (erscheint auf Dokument)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cLieferLiefNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferanten-Lieferscheinnummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabattText&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabatttext (lang)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cSysUid&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || System-UID des Vorgangs&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;lLeistPreis2&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Leistungspreis 2 verwenden&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cFunction&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Funktionsk&amp;amp;uuml;rzel (Scripting-Hook)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;lSaveAllowed&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Speichern erlaubt&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;lVorgangsSperre&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Vorgang gesperrt&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Properties ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Name !! Typ !! Zugriff !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;DmsTyp&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || DMS-Typ des Vorgangs (z.&amp;amp;nbsp;B. AN, AU, LS, RE)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;MainTable&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Haupttabelle des Vorgangs (Datenbankname)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PosTable&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionstabelle des Vorgangs&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosFormat&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionsnummern-Format&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgang_Prop_ParameterPositionsdatenAktualisieren&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;ParameterPositionsdatenAktualisieren&amp;lt;/code&amp;gt; || [[#TVorgangPosParams_AktualisiereDaten|TVorgangPosParams_AktualisiereDaten]] || Lesen/Schreiben || Parameter f&amp;amp;uuml;r Massenaktualisierung von Positionsdaten&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PnPosCnt&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Anzahl der Positionen im Vorgang&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PaPositionen[Index]&amp;lt;/code&amp;gt; || [[#TVorgangPos|TVorgangPos]] || Lesen/Schreiben || Array der Positionsobjekte (0-basiert)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PcRabGrPers&amp;lt;/code&amp;gt; || String || Nur Lesen || Rabattgruppe der Person (aus Stammdaten ermittelt)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PcVKdNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || VK-Kundennummer (alternativ zur cKdNr f&amp;amp;uuml;r Preisfindung)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nNet1&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Nettobetrag MwSt-Schl&amp;amp;uuml;ssel 1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nNet2&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Nettobetrag MwSt-Schl&amp;amp;uuml;ssel 2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nNet3&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Nettobetrag MwSt-Schl&amp;amp;uuml;ssel 3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nBrutto1&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Bruttobetrag MwSt-Schl&amp;amp;uuml;ssel 1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nBrutto2&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Bruttobetrag MwSt-Schl&amp;amp;uuml;ssel 2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nBrutto3&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Bruttobetrag MwSt-Schl&amp;amp;uuml;ssel 3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nMwSt1&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || MwSt-Betrag Schl&amp;amp;uuml;ssel 1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nMwSt2&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || MwSt-Betrag Schl&amp;amp;uuml;ssel 2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nMwSt3&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || MwSt-Betrag Schl&amp;amp;uuml;ssel 3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cMwStSchl1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || MwSt-Schl&amp;amp;uuml;ssel 1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cMwStSchl2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || MwSt-Schl&amp;amp;uuml;ssel 2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cMwStSchl3&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || MwSt-Schl&amp;amp;uuml;ssel 3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cKeineVersPausch&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Keine Versandpauschale berechnen J/N&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cZahlBed&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Zahlungsbedingung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;lNewVorgang&amp;lt;/code&amp;gt; || Boolean || Nur Lesen || Neuer (noch nicht gespeicherter) Vorgang&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cKopfNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kopftextbaustein-Nummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cFussNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Fu&amp;amp;szlig;textbaustein-Nummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cLiefStrecke&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferstrecken-K&amp;amp;uuml;rzel&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cStatus&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Status des Vorgangs&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cStatM&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Material-Status&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cStatS&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Service-Status&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cStatL&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferstatus&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cStatR&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsstatus&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cColStatus&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Farb-/Anzeigestatus (f&amp;amp;uuml;r UI)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cZustand&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Zustandskenner des Vorgangs&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cArt&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Vorgangsart-K&amp;amp;uuml;rzel&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cBonusJN&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Bonus berechnen J/N&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cVersandkostenMBW&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandkosten-Mindestbestellwert-Kennzeichen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cWKNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Werbungskosten-Nummer&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Methoden ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signatur !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;constructor Create(const cUid: string; oxDB: TxDB; cDmsType: string)&amp;lt;/code&amp;gt; || Erstellt einen neuen Vorgang mit UID, Datenbankverbindung und DMS-Typ&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;destructor Destroy&amp;lt;/code&amp;gt; || Gibt den Vorgang und alle Ressourcen frei&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function SemaphoreCreate(cFName: string; lMeldung: boolean = False; cWait: string = &#039;&#039;): boolean&amp;lt;/code&amp;gt; || Erstellt eine Datei-Semaphore (Sperrdatei); gibt True zur&amp;amp;uuml;ck wenn erfolgreich&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function SemaphoreInUse(cFName: string): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft ob die Semaphore-Datei bereits in Verwendung ist&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure SemaphoreReleaseAll&amp;lt;/code&amp;gt; || Gibt alle Semaphoren dieses Vorgangs frei&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure SemaphoreRelease(cFName: string)&amp;lt;/code&amp;gt; || Gibt eine bestimmte Semaphore frei&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstAngebot(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang ein Angebot ist&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstAuftrag(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang ein Auftrag ist&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstReparaturAuftrag(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang ein Reparaturauftrag ist&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstLieferschein(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang ein Lieferschein ist&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstRechnung(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang eine Rechnung ist&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstBestellung(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang eine Bestellung ist&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstAnfrage(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang eine Anfrage ist&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstEKLieferschein(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang ein EK-Lieferschein ist&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstEinkauf(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang ein Einkaufsvorgang ist&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstVG_VK(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn es sich um einen Verkaufsvorgang handelt&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstVG_EK(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn es sich um einen Einkaufsvorgang handelt&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function NeuNumLock(): boolean&amp;lt;/code&amp;gt; || Sperrt die Neunummerierung (verhindert parallele Vergabe)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure NeuNumLockRelease&amp;lt;/code&amp;gt; || Gibt die Neunummerierungssperre wieder frei&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgNeuNum(cFilter: string = &#039;&#039;; lAbweichend: boolean = false): string&amp;lt;/code&amp;gt; || Ermittelt und setzt eine neue Vorgangsnummer; gibt die Nummer als String zur&amp;amp;uuml;ck&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgNeuNumBool(cFilter: string = &#039;&#039;; lAbweichend: boolean = false): boolean&amp;lt;/code&amp;gt; || Wie VorgNeuNum, gibt True/False zur&amp;amp;uuml;ck (f&amp;amp;uuml;r Fehlerbehandlung)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstVorgNrGueltig(cUID: string = &#039;&#039;): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft ob die aktuelle Vorgangsnummer g&amp;amp;uuml;ltig (eindeutig) ist&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function NeuePositionBase(const cUID: string): [[#TVorgangPos|TVorgangPos]]&amp;lt;/code&amp;gt; || Legt eine neue Positionsinstanz an und f&amp;amp;uuml;gt sie dem Vorgang hinzu&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure NeuePositionBaseMS(const cUID: string; oOrgPos: [[#TVorgangPos|TVorgangPos]])&amp;lt;/code&amp;gt; || Legt eine neue Position als Multi-Steuer-Folgeposition an&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function LoeschePositionBase(nDel: integer): Boolean&amp;lt;/code&amp;gt; || L&amp;amp;ouml;scht die Position mit dem angegebenen Index&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure VerschiebePositionBase(nPos: integer; nZiel: integer)&amp;lt;/code&amp;gt; || Verschiebt Position von Index nPos zu Index nZiel&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function CheckIfNotNull(): Boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft ob Pflichtfelder des Vorgangs bef&amp;amp;uuml;llt sind&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function CheckIfFirstPosOption(): Boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft ob die erste Position eine Optionsposition ist&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function IsPosBerechnung(cPosArt: string): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft ob eine Positionsart als Berechnungsposition gilt&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure CopyFrom(oSrc: [[#TVorgang|TVorgang]])&amp;lt;/code&amp;gt; || Kopiert alle Felder aus einem anderen Vorgang&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure KalkAll(lZusatz: boolean = true)&amp;lt;/code&amp;gt; || Kalkuliert alle Positionen und Gesamtsummen neu&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Check_Multisteuer(oOrgPos: [[#TVorgangPos|TVorgangPos]]; const cTable, cMUID, cRefNr: string)&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft und setzt Multi-Steuer-Verkn&amp;amp;uuml;pfung f&amp;amp;uuml;r eine Position&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyPosmenge(cFromUID: string): string&amp;lt;/code&amp;gt; || Kopiert Positionsmengen aus einem anderen Vorgang (per UID)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyPosverp(cFromUID: string): string&amp;lt;/code&amp;gt; || Kopiert Positionsverpackungen aus einem anderen Vorgang (per UID)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure fillVersandkostenMBW(const cPsNr: string; const cPsVersand: string = &#039;&#039;; const PsZusatz: string = &#039;&#039;)&amp;lt;/code&amp;gt; || Berechnet und setzt Versandkosten auf Basis Mindestbestellwert&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure FillPersonBase(qPers: TxFQuery)&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt Adressfelder des Vorgangs aus einem Personen-Query&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function FillReEmpf(const AReEmpf: string; const AZahlBed: string = &#039;&#039;): boolean&amp;lt;/code&amp;gt; || Setzt Rechnungsempf&amp;amp;auml;nger und optionale Zahlungsbedingung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function SaveRecord(cUID: string = &#039;&#039;; lAlleSpeichern: boolean = false): Boolean&amp;lt;/code&amp;gt; || Speichert den Vorgang (abstrakt &amp;amp;ndash; muss in abgeleiteter Klasse implementiert werden)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function ReadVorgangTypBase(cDmsTyp: string; const cNr: string; lPos: boolean = false; lNeg: boolean = false): boolean&amp;lt;/code&amp;gt; || Liest einen Vorgang anhand DMS-Typ und Nummer in das Objekt&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function JahrNr(): string&amp;lt;/code&amp;gt; || Gibt das Jahr der Vorgangsnummer zur&amp;amp;uuml;ck&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure NeuNumPos(const lNurPos: boolean = True)&amp;lt;/code&amp;gt; || Nummeriert alle Positionen neu&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function EigenschaftSetzen(const ANr: string; const AMode: boolean): boolean&amp;lt;/code&amp;gt; || Setzt oder l&amp;amp;ouml;scht eine Vorgangseigenschaft (Merkmal) per Nummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure AdresseLeeren&amp;lt;/code&amp;gt; || Leert alle Adressfelder des Vorgangs&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure VersandLeeren(lRef: boolean = True)&amp;lt;/code&amp;gt; || Leert alle Versandadressfelder&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure ReEmpfLeeren(const lNurAdr: boolean = False)&amp;lt;/code&amp;gt; || Leert Rechnungsempf&amp;amp;auml;nger-Felder (optional nur Adresse)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure DoServiceTouch(cStatus: string = &#039;&#039;)&amp;lt;/code&amp;gt; || Aktualisiert Service-Zeitstempel und optionalen Status&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function AuswahlParameterPositionsdatenAktualisieren(const cXDataTable: string): boolean&amp;lt;/code&amp;gt; || Zeigt Dialog zur Auswahl der Aktualisierungsparameter f&amp;amp;uuml;r Positionsdaten&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function ZusatzkostenAktiv(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn Zusatzkostenmodul f&amp;amp;uuml;r diesen Vorgang aktiv ist&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgang_Meth_leseFehler&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;function leseFehler(out rFehler: [[#TVorgangFehler|TVorgangFehler]]; var nIdx: integer; const eLoeschenNachLesen: [[#TVorgangFehlerLoeschenLesen|TVorgangFehlerLoeschenLesen]] = vfllSkipCritical): boolean&amp;lt;/code&amp;gt; || Liest den n&amp;amp;auml;chsten Fehler aus der internen Fehlerliste&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== TVorgangPos ==&lt;br /&gt;
&lt;br /&gt;
=== Variablen ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Name !! Typ !! Zugriff !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nPosIndex&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Laufender Index der Position im Positions-Array&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Interne Positionsnummer (Datenbankfeld)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cKundNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kundennummer an der Position&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cAuftragsNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Referenz-Auftragsnummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cBestellNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Referenz-Bestellnummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosText&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionstext (Langtextfeld)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cLProjNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Leistungsprojektnummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cLS_azUid&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferschein-Abrechnungszeilen-UID&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cVersandNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandnummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionsnummer (formatiert)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosNr2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Zweite Positionsnummer (alternativ)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosKas&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kassier-Positionsnummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cLeistungsNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Leistungsnummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cBezeichnung1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Bezeichnung Zeile 1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cBezeichnung2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Bezeichnung Zeile 2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nUrMenge&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Ursprungsmenge (vor &amp;amp;Auml;nderungen)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nLeistFaktor&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Leistungsfaktor (Multiplikator f&amp;amp;uuml;r Mengenberechnung)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cEinheit&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Mengeneinheit&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nMengeG&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Mengenganz (ganzzahliger Mengenanteil)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nKolli&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Kollianzahl&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cVerpackung&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Verpackungsart/-k&amp;amp;uuml;rzel&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nInhalt&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Inhalt pro Verpackungseinheit&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nEPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Einzelpreis (Netto)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nBEPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Brutto-Einzelpreis&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nOBPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Original-Brutto-Einzelpreis (vor Rabatt)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nUrPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Ursprungspreis (Listenpreis VK)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nUrPreisEK&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Ursprungspreis Einkauf&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nGPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Gesamtpreis (Netto)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nBGPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Brutto-Gesamtpreis&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nEKPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Einkaufspreis&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nEKSPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Einkaufssonderpreis&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cManPreis&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Manueller Preis J/N-Kennzeichen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabatt&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Gesamtrabatt in Prozent&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabatt1&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabatt 1 in Prozent&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabArt1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabattart 1 (Herkunftskennzeichen)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabatt2&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabatt 2 in Prozent&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabArt2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabattart 2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabatt3&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabatt 3 in Prozent&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabArt3&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabattart 3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabatt4&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabatt 4 in Prozent&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabArt4&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabattart 4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabatt5&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabatt 5 in Prozent&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabArt5&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabattart 5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nAddSub&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Additions-/Subtraktionsbetrag (Zuschlag/Abzug absolut)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cKonto&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Buchungskonto&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cLagNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lagernummer der Position&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cLagONr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lager-Ortsnummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cVerkaufer&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Verk&amp;amp;auml;uferk&amp;amp;uuml;rzel&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cStatus&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionsstatus&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cAngebotsNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Referenz-Angebotsnummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Eindeutige ID der Position (GUID)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cMUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Multi-Steuer-UID (Verkn&amp;amp;uuml;pfung bei Multisteuer)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cRTVon&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || R&amp;amp;uuml;cktragungs-Referenz (von welcher Position)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cSpNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Speditionsnummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cBestellUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || UID der verkn&amp;amp;uuml;pften Bestellposition&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cMaterialUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || UID des verkn&amp;amp;uuml;pften Materialeintrags&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cEiliUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || UID der Eillieferungsposition&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cXUID1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Erweiterungs-UID 1 (freie Verkn&amp;amp;uuml;pfung)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cXUID2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Erweiterungs-UID 2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cXUID3&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Erweiterungs-UID 3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cXUID4&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Erweiterungs-UID 4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cKommentar&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kommentarfeld der Position&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nProvision&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Provisionsanteil in Prozent&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cLiefKz&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferkennzeichen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cProdGr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Produktgruppe&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nFrachtV&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Frachtvolumen der Position&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cLSNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferscheinnummer der Position&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;dLSDatum&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Lieferscheindatum der Position&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosArt&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionsart (z.&amp;amp;nbsp;B. N=Normal, O=Optional)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cSKFJN&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Skontof&amp;amp;auml;hig J/N&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cEKHerkunft&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || EK-Preisherkunft-K&amp;amp;uuml;rzel&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cLiefNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferantennummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cLagStreck&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lager-Streckenkennzeichen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cAufschlag&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Aufschlagsk&amp;amp;uuml;rzel&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nStaffelPreis&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Staffelpreisstufe (Index)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nStaffelmenge&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Staffelmenge f&amp;amp;uuml;r Preisfindung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;lAktionspreis&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Aktionspreis aktiv&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cAusdruckJN&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Position drucken J/N&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cMemoDruck&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Druckmemo der Position&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cBildUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || UID des verkn&amp;amp;uuml;pften Bildes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cCMPUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || CMP-Objekt-UID&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cZeit_CMPUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Zeiterfassungs-CMP-UID&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cZeit_Text&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Zeiterfassungstext&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cZeit_Mitarb&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Mitarbeiter der Zeiterfassung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;dZeit_Date&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Datum der Zeiterfassung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cZeit_NurLei&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Zeiterfassung: nur Leistung J/N&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cKostst&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kostenstelle der Position&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;dAbrechVon&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Abrechnungszeitraum von&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;dAbrechBis&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Abrechnungszeitraum bis&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;lNeuNum&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Neunummerierung f&amp;amp;uuml;r diese Position ausf&amp;amp;uuml;hren&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cSysUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || System-UID der Position&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cGeraetNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Ger&amp;amp;auml;tenummer (f&amp;amp;uuml;r Servicepositionen)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Properties ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Name !! Typ !! Zugriff !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;oMyDB&amp;lt;/code&amp;gt; || TxDB || Nur Lesen || Datenbankverbindung (vom Vorgang geerbt)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ShopNr&amp;lt;/code&amp;gt; || String || Nur Lesen || Shop-Nummer (f&amp;amp;uuml;r Mehrshop-Preisfindung)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cArtikelNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Artikelnummer (Zugriff &amp;amp;uuml;ber Property wegen Seiteneffekten)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PcMWSTSch&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || MwSt-Schl&amp;amp;uuml;ssel (Parameter-Feld)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PcMengeIn&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Mengeneingabe als String (Parameter)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PnMengeIn&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Mengeneingabe als Zahl (Parameter)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PnMengeInFak&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Mengeneingabe-Faktor (Parameter)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PcMemofeld&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Memofeld der Position (Parameter-Feld, Unicode)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PcMemofeldAnsi&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Memofeld ANSI-Version (Parameter-Feld)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosLaufend&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Laufende Positionsnummer als String&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;lVerbrauchsMater&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Verbrauchsmaterial-Kennzeichen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nMenge&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Menge der Position (mit Seiteneffekten bei Schreiben)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cTyp&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionstyp als String &amp;amp;ndash; siehe [[#Konstanten|Konstanten]] (POSTYP_*)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgangPos_Prop_Typ&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;Typ&amp;lt;/code&amp;gt; || [[#TVB_PosType|TVB_PosType]] || Lesen/Schreiben || Positionstyp als Enum (ptPosition, ptText, ptLeerzeile&amp;amp;nbsp;&amp;amp;hellip;)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgangPos_Prop_OriginalPos&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;OriginalPos&amp;lt;/code&amp;gt; || [[#TVorgangPosOriginal|TVorgangPosOriginal]] || Nur Lesen || Ursprungspositionsdaten (DMS-Referenz, Nr, UID, SysUID)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Methoden ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signatur !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;constructor Create(oxVorgang: [[#TVorgang|TVorgang]]; cPosTbl: string)&amp;lt;/code&amp;gt; || Erstellt eine neue Position f&amp;amp;uuml;r den angegebenen Vorgang (veraltet, UID-Variante bevorzugen)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;constructor Create(cUid: string; oxVorgang: [[#TVorgang|TVorgang]]; cPosTbl: string)&amp;lt;/code&amp;gt; || Erstellt eine neue Position mit vorgegebener UID&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;destructor Destroy&amp;lt;/code&amp;gt; || Gibt die Position frei&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure PositionsVorbelegung&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt die Position mit Standardwerten aus den Vorgangsdaten&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure GenNewUid&amp;lt;/code&amp;gt; || Generiert eine neue UID f&amp;amp;uuml;r diese Position&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyPosmenge(cFromUID: string): string&amp;lt;/code&amp;gt; || Kopiert Mengen aus einer anderen Position (per UID)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyPosverp(cFromUID: string): string&amp;lt;/code&amp;gt; || Kopiert Verpackungsdaten aus einer anderen Position (per UID)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure CopyFrom(oSrc: [[#TVorgangPos|TVorgangPos]]; lFull: boolean = False)&amp;lt;/code&amp;gt; || Kopiert alle Felder aus einer anderen Position; lFull=True kopiert auch interne Felder&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure QueryToPos(qTmp: TxFQuery; lReadAsNew: boolean = false)&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt die Position aus einem Datenbankquery (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure QueryToPos(qTmp: TxFQuery; const cFromTable: string; lVerpack: Boolean = False; lUmkehr: boolean = False)&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt die Position aus einem Query mit expliziter Quelltabelle (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure DBPosToPos(const cFromTable: string; const cSysUid: string; lVerpack: Boolean = False; lUmkehr: boolean = False)&amp;lt;/code&amp;gt; || Liest eine Position direkt aus der Datenbank per SysUID&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function FillArtikel(cArtNr: string): boolean&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt die Position mit Artikelstammdaten; gibt True bei Erfolg zur&amp;amp;uuml;ck&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function SetzeLieferant(const cLiefNr: string; lEKNeu: boolean = True; lDefaultEK1: boolean = False): boolean&amp;lt;/code&amp;gt; || Setzt den Lieferanten und aktualisiert EK-Preise&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure FillLeistung(cLeistNr: string)&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt die Position mit Leistungsstammdaten&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function SumPosBez(const eZielTyp: [[#TVB_PosType|TVB_PosType]]; const cBezVorb: string): string&amp;lt;/code&amp;gt; || Gibt die Bezeichnung f&amp;amp;uuml;r eine Summenposition zur&amp;amp;uuml;ck&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_Pos&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;normale Position&amp;amp;ldquo;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_Text(const cText: string)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Textzeile&amp;amp;ldquo; mit dem angegebenen Text&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_Leerzeile&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Leerzeile&amp;amp;ldquo;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_Zwischensumme(const cBez: string = &#039;&#039;)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Zwischensumme&amp;amp;ldquo; (Ebene&amp;amp;nbsp;1)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_ZwischensummeEbene(const nEbene: integer; const cBez: string = &#039;&#039;)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Zwischensumme&amp;amp;ldquo; der angegebenen Ebene&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_Titelsumme(const cBez: string = &#039;&#039;)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Titelsumme&amp;amp;ldquo; (Ebene&amp;amp;nbsp;1)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_TitelsummeEbene(const nEbene: integer; const cBez: string = &#039;&#039;)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Titelsumme&amp;amp;ldquo; der angegebenen Ebene&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_Titel(const cBez: string)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Titel&amp;amp;ldquo;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_Gewerk(const cBez: string)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Gewerk&amp;amp;ldquo;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_NeueSeite&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Seitenumbruch&amp;amp;ldquo;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_Bild(const cBild: string)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Bild&amp;amp;ldquo; mit dem angegebenen Bildpfad/-UID&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure UStKorrektur(const dCheckDate: TDateTime)&amp;lt;/code&amp;gt; || Korrigiert den Umsatzsteuerschl&amp;amp;uuml;ssel gem&amp;amp;auml;&amp;amp;szlig; Datum (Steuersatz&amp;amp;auml;nderungen)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure KalkPos&amp;lt;/code&amp;gt; || Kalkuliert Gesamtpreis und abgeleitete Felder dieser Position neu&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosNrAllowed(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn dieser Positionstyp eine Positionsnummer erh&amp;amp;auml;lt&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure SetPosNr(cP: string; cT: string = &#039;&#039;; cG: string = &#039;&#039;; cFormat: string = &#039;&#039;)&amp;lt;/code&amp;gt; || Setzt die Positionsnummer aus String-Komponenten (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure SetPosNr(nP: integer; nT: integer = -1; nG: integer = -1; cFormat: string = &#039;&#039;)&amp;lt;/code&amp;gt; || Setzt die Positionsnummer aus numerischen Komponenten (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosLaufend(iPos: integer = 0): string&amp;lt;/code&amp;gt; || Gibt die laufende Positionsnummer als formatierten String zur&amp;amp;uuml;ck&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Preisfindung(cShopNr: string = CONST_NO_SHOP)&amp;lt;/code&amp;gt; || F&amp;amp;uuml;hrt die Preisfindung f&amp;amp;uuml;r diese Position aus&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function SetOpenBookLieferant(): boolean&amp;lt;/code&amp;gt; || Setzt den Open-Book-Lieferanten f&amp;amp;uuml;r diese Position&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure AddToMemo(const cText: string; const lNewLine: boolean = False)&amp;lt;/code&amp;gt; || F&amp;amp;uuml;gt Text zum Memofeld hinzu&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgangPos_Meth_AktualisiereDaten&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;procedure AktualisiereDaten&amp;lt;/code&amp;gt; || Aktualisiert Texte, EK- und VK-Preise gem&amp;amp;auml;&amp;amp;szlig; [[#TVorgang_Prop_ParameterPositionsdatenAktualisieren|ParameterPositionsdatenAktualisieren]]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure EKCalcMengeIn(var nEkFak: double)&amp;lt;/code&amp;gt; || Berechnet den EK-Mengeneingabe-Faktor (R&amp;amp;uuml;ckgabe per var-Parameter)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function CanSave(): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft ob diese Position gespeichert werden kann/darf&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure qSqlSet(AqSql: TqSql)&amp;lt;/code&amp;gt; || Setzt das SQL-Objekt f&amp;amp;uuml;r erweiterte DB-Operationen dieser Position&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Globale Methoden =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Signatur !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstVKVorgang(cMainTable: string): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck, wenn die Haupttabelle ein VK-Vorgang ist&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstVKVorgangPos(cPosTable: string): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck, wenn die Positionstabelle zu einem VK-Vorgang geh&amp;amp;ouml;rt&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyPosmengeDB(oMyDB: TxDB; cFromUID: string): string&amp;lt;/code&amp;gt; || Kopiert Positionsmengen aus einem anderen Vorgang (direkt per Datenbankzugriff)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyPosverpDB(oMyDB: TxDB; cFromUID: string): string&amp;lt;/code&amp;gt; || Kopiert Positionsverpackungen aus einem anderen Vorgang (direkt per Datenbankzugriff)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyRTFLan(oMyDB: TxDB; cVonTable, cVonRef, cNachTable, cNachRef: String): String&amp;lt;/code&amp;gt; || Kopiert RTF-Langtexte zwischen Vorgangs-Positionen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure CopyKalkulationAN2AU(oMyDB: TxDB; cANRef1, cANRef2, cAURef1, cAURef2: String; fPosmenge: Double)&amp;lt;/code&amp;gt; || Kopiert Kalkulation von Angebot nach Auftrag (mit Mengenfaktor)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure CopyKalkulationAU(oMyDB: TxDB; cANRef1, cANRef2, cAURef1, cAURef2: String)&amp;lt;/code&amp;gt; || Kopiert Auftragskalkulation zwischen zwei Positionen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure CopyKalkulationAN(oMyDB: TxDB; cANRef1, cANRef2, cAURef1, cAURef2: String)&amp;lt;/code&amp;gt; || Kopiert Angebotskalkulation zwischen zwei Positionen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosNrFormatCheck(const cFormat: string): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft, ob ein Positionsnummern-Format g&amp;amp;uuml;ltig ist (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosNrFormatCheck(oMyDB: TxDB; const cFormat: string): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft Format gegen Datenbankeinstellungen (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosNrFormatCounts(const cFormat: string; out nG, nT, nP: integer): boolean&amp;lt;/code&amp;gt; || Liefert die Stellenzahlen f&amp;amp;uuml;r Gewerk, Titel und Position aus dem Format (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosNrFormatCounts(oMyDB: TxDB; const cFormat: string; out nG, nT, nP: integer): boolean&amp;lt;/code&amp;gt; || Wie oben, mit Datenbankzugriff (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosNrSplit(oMyDB: TxDB; const cFormat, cPosTyp: string; cPosNr: string; out nG, nT, nP: integer): boolean&amp;lt;/code&amp;gt; || Zerlegt eine formatierte Positionsnummer in ihre Bestandteile&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function GetVorgangMandant(oMyDB: TxDB; const cTable, cNr: string): string&amp;lt;/code&amp;gt; || Gibt den Mandanten-Schl&amp;amp;uuml;ssel f&amp;amp;uuml;r einen Vorgang zur&amp;amp;uuml;ck&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function GetVorgangTextTB(const nPMode: integer; out cTB_Nr: string; cFiliale: string = &#039;&#039;): boolean&amp;lt;/code&amp;gt; || Ermittelt die Textbaustein-Nummer f&amp;amp;uuml;r den angegebenen Positionsmodus&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function GetVorgangTextTBPers(oMyDB: TxDB; const cPsNr: string; const nPMode: integer; out cTB_Nr: string; cFiliale: string = &#039;&#039;): boolean&amp;lt;/code&amp;gt; || Wie GetVorgangTextTB, zus&amp;amp;auml;tzlich personenbezogen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function KopfTextPlatzhalter(var cKopfText: string; const cBrief1, cBrief2: string): boolean&amp;lt;/code&amp;gt; || Ersetzt Platzhalter im Kopftext durch Briefanredefelder&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangArt(oMyDB: TxDB; const cDMS, cNr: string): integer&amp;lt;/code&amp;gt; || Gibt die Vorgangsart als Integer-Kennziffer zur&amp;amp;uuml;ck&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangStatus(oMyDB: TxDB; const cDMS, cNr: string): string&amp;lt;/code&amp;gt; || Gibt den aktuellen Status eines Vorgangs aus der Datenbank zur&amp;amp;uuml;ck&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangVerbucht(oMyDB: TxDB; const cDMS, cNr: string): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck, wenn der Vorgang verbucht ist&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangUstEnthalten(oMyDB: TxDB; const cDMS, cNr, cUstSchl: string; cFeld: string = &#039;&#039;): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft, ob ein bestimmter USt-Schl&amp;amp;uuml;ssel im Vorgang verwendet wird&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function PortoVerpackKannSkonto(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck, wenn Porto/Verpackung skontof&amp;amp;auml;hig ist (laut Systemeinstellung)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function GetPosBild(oMyDB: TxDB; cArtNr: string; var cBildUID: string): boolean&amp;lt;/code&amp;gt; || Ermittelt die Bild-UID eines Artikels f&amp;amp;uuml;r eine Positions-Bildposition&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangVertreterVorb(oMyDB: TxDB; const cVertreter: string): string&amp;lt;/code&amp;gt; || Gibt den vorgebelegten Vertreter-Schl&amp;amp;uuml;ssel zur&amp;amp;uuml;ck&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangVertreterPrio(oMyDB: TxDB; const cAktVertreter: string): string&amp;lt;/code&amp;gt; || Gibt den Vertreter mit h&amp;amp;ouml;chster Priorit&amp;amp;auml;t zur&amp;amp;uuml;ck&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function GenerierePositionskommentar(cUrsprung, cKommentar: String): String&amp;lt;/code&amp;gt; || Kombiniert Ursprungs- und Kommentartext zu einem Positions-Kommentar&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function ReplacePlatzhalterReparaturAuftrag(cRAufNr: String; cText: String = &#039;&#039;): String&amp;lt;/code&amp;gt; || Ersetzt Platzhalter im Text durch Reparaturauftragsdaten&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function ReplacePlatzhalterPosErfassung(oMyDB: TxDB; const cBuffer, cTable, cNr: string; const lDef: Boolean = False; const lRepa: Boolean = False): String&amp;lt;/code&amp;gt; || Ersetzt Platzhalter im Text bei der Positionserfassung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function LoadPlatzhalterVorgang(oMyDB: TxDB; const cTable, cNr: string; var oPlatzhalter: TPlatzhalterVorgang): Boolean&amp;lt;/code&amp;gt; || L&amp;amp;auml;dt Platzhalter-Daten eines Vorgangs aus der Datenbank&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function PlatzhalterVorgang(const cText, cNr: string; const oPlatzhalter: TPlatzhalterVorgang; const lDef: Boolean = false; const lRepa: Boolean = false): string&amp;lt;/code&amp;gt; || Ersetzt Platzhalter im Text mit den geladenen Vorgang-Platzhaltern&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function GetPosVorb_ErlKto(oMyDB: TxDB; const cErlJahr, cManNr, cFiliale: string): string&amp;lt;/code&amp;gt; || Gibt das Erl&amp;amp;ouml;skonto f&amp;amp;uuml;r eine Positionsvorbelegung zur&amp;amp;uuml;ck&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure ChangePosPreisFromLeistPreis2(oVorgang: TVorgang)&amp;lt;/code&amp;gt; || Wechselt f&amp;amp;uuml;r alle Positionen auf den alternativen Leistungspreis 2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_ToXMLStr(oMyDB: TxDB; const cTable, cPosTable, cVorgNr: String): string&amp;lt;/code&amp;gt; || Exportiert einen Vorgang als XML-String&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_ToDelArchiv(oMyDB: TxDB; const cTable, cPosTable, cVorgNr: String): Boolean&amp;lt;/code&amp;gt; || Verschiebt einen Vorgang ins L&amp;amp;ouml;scharchiv&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_ToXMLFile(oMyDB: TxDB; const cFile, cTable, cPosTable, cVorgNr: String): Boolean&amp;lt;/code&amp;gt; || Exportiert einen Vorgang in eine XML-Datei&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function XMLFile_ToVorgang(oMyDB: TxDB; const cData: String; var cNewNr, cOldNr: String): Boolean&amp;lt;/code&amp;gt; || Importiert einen Vorgang aus einem XML-String/-Datei&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function DelArchivTo_Vorgang(oMyDB: TxDB; const cTabelle, cVorgang: String): String&amp;lt;/code&amp;gt; || Stellt einen archivierten Vorgang wieder her&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_Runden_MengeInFak(oMyDB: TxDB; const cTabMain, cTabPos: string; nValue: double): double&amp;lt;/code&amp;gt; || Rundet den Mengeneingabe-Faktor gem&amp;amp;auml;&amp;amp;szlig; Tabelleneinstellung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_Rohertrag(oMyDB: TxDB; const cDMSTyp, cVorgNr: String; nNettoBetrag: Double): String&amp;lt;/code&amp;gt; || Berechnet den Rohertrag eines Vorgangs&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_Rohertrag_Ext(oMyDB: TxDB; const cDMSTyp, cVorgNr: String; nNettoBetrag: Double; lSollStunden: Boolean): string&amp;lt;/code&amp;gt; || Berechnet den Rohertrag erweitert (mit Sollstunden)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangFelder(cTyp: String; lPosition, lArtikel, lMaterial, lAuswertung, lMessen: Boolean; lSchiff: Boolean = False): String&amp;lt;/code&amp;gt; || Gibt die aktiven Feldgruppen eines Vorgangstyps als String zur&amp;amp;uuml;ck (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangFelder(oMyDB: TxDB; cTyp: String; lPosition, lArtikel, lMaterial, lAuswertung, lMessen: Boolean; lSchiff: Boolean = False): String&amp;lt;/code&amp;gt; || Wie oben, mit Datenbankzugriff (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_IstGesperrt(oMyDB: TxDB; const cTyp, cRef: string; const cFeld: string = &#039;a_nr&#039;): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft, ob ein Vorgang gesperrt ist (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_IstGesperrt(oMyDB: TxDB; const rDMS: TDMSType; const cRef: string; const cFeld: string = &#039;a_nr&#039;): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft Sperrung per DMS-Typ (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_FilterSperrung(oMyDB: TxDB; const cTyp, cRef: string; out cOffen, cGesperrt: string; const cFeld: string = &#039;a_nr&#039;): boolean&amp;lt;/code&amp;gt; || Gibt SQL-Filter-Strings f&amp;amp;uuml;r offene/gesperrte Vorg&amp;amp;auml;nge zur&amp;amp;uuml;ck&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_FilterSperrung_Offen(oMyDB: TxDB; const cTyp, cRef: string; out cOffen: string; const cFeld: string = &#039;a_nr&#039;): boolean&amp;lt;/code&amp;gt; || Gibt nur den Filter f&amp;amp;uuml;r offene (nicht gesperrte) Vorg&amp;amp;auml;nge zur&amp;amp;uuml;ck&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_UbernahmeMassen(oMyDB: TxDB; const cVonUid, cNachDmsTyp, cNachVorgNr, cNachUid: string): boolean&amp;lt;/code&amp;gt; || Massenweise Positions&amp;amp;uuml;bernahme zwischen Vorg&amp;amp;auml;ngen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_GetMenge(oMyDB: TxDB; const cPosTable, cKeyField, cUID: String; out nUrmenge: Double; const cEigUID: String = &#039;&#039;): Double&amp;lt;/code&amp;gt; || Liest die aktuelle und Ursprungsmenge einer Position aus der Datenbank&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_CheckPosTyp(const cTyp: string): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft, ob ein Positionstyp-Schl&amp;amp;uuml;ssel g&amp;amp;uuml;ltig ist&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_HatReEmpfAdr(qVorgangData: TxFQuery): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck, wenn der Vorgang eine Rechnungsempf&amp;amp;auml;nger-Adresse hat (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_HatReEmpfAdr(qVorgangData: TxQuery): boolean&amp;lt;/code&amp;gt; || Wie oben, f&amp;amp;uuml;r TxQuery (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_AnzeigeReEmpf(oMyDB: TxDB; qMain: TxFQuery; const cMainTable: string; cAdressBez: string = &#039;&#039;; lUseReportLang: boolean = True): string&amp;lt;/code&amp;gt; || Gibt die anzuzeigende Rechnungsempf&amp;amp;auml;nger-Adresse als formatierten Text zur&amp;amp;uuml;ck (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_AnzeigeReEmpf(oMyDB: TxDB; qMain: TxQuery; const cMainTable: string; cAdressBez: string = &#039;&#039;; lUseReportLang: boolean = True): string&amp;lt;/code&amp;gt; || Wie oben, f&amp;amp;uuml;r TxQuery (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PortoVerpackBerechnet(oMyDB: TxDB; const cDmsVon, cDmsSetzen, cNrSetzen: string): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft, ob Porto/Verpackung bereits berechnet wurde und setzt Kennzeichen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangVorb_Waehrung(oMyDB: TxDB; const cValue: string = &#039;01&#039;): string&amp;lt;/code&amp;gt; || Gibt den Standardw&amp;amp;auml;hrungsschl&amp;amp;uuml;ssel f&amp;amp;uuml;r Vorgangsvorbelegung zur&amp;amp;uuml;ck&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangVorb_RechKreis(oMyDB: TxDB; const cValue: string = &#039;01&#039;): string&amp;lt;/code&amp;gt; || Gibt den Standardrechnungskreis-Schl&amp;amp;uuml;ssel zur&amp;amp;uuml;ck&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangVorbPos_VomLager(const nTokenPos: integer; const cLagStreck: string): string&amp;lt;/code&amp;gt; || Gibt das Lager/die Strecke f&amp;amp;uuml;r eine Positionsvorbelegung zur&amp;amp;uuml;ck&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_VersandkostenMBW(oMyDB: TxDB; const cDmsTyp: string; const lGen: boolean; const cPsNr: string; const cPsVersand: string = &#039;&#039;; const cPsZusatz: string = &#039;&#039;): string&amp;lt;/code&amp;gt; || Berechnet Versandkosten auf Basis des Mindestbestellwerts&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfFile(oMyDB: TxDB; const cDmsTyp, cNr, cKdNr: string; out cPdfFile: string): boolean&amp;lt;/code&amp;gt; || Ermittelt den Pfad zur archivierten PDF-Datei eines Vorgangs&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfAsBase64File(oMyDB: TxDB; const cDmsTyp, cNr, cKdNr: string; out cBase64File: string): boolean&amp;lt;/code&amp;gt; || Liefert die PDF-Datei als Base64-kodierten Pfad&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfAsBase64Parts(oMyDB: TxDB; const cDmsTyp, cNr, cKdNr: string; const nPart: integer; out cBase64: string; out nParts: integer; nPartSize: integer = 0): boolean&amp;lt;/code&amp;gt; || Liefert die PDF in Teilen als Base64 (mit KdNr, &amp;amp;Uuml;berladung 1)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfAsBase64Parts(oMyDB: TxDB; const cDmsTyp, cNr, cKdNr: string; const nPart: integer; out cBase64: string; out nParts: integer; cPartSize: string): boolean&amp;lt;/code&amp;gt; || Wie oben, Teilgr&amp;amp;ouml;&amp;amp;szlig;e als String (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfAsBase64Parts(oMyDB: TxDB; const cDmsTyp, cNr: string; const nPart: integer; out cBase64: string; out nParts: integer; nPartSize: integer = 0): boolean&amp;lt;/code&amp;gt; || Wie oben, ohne KdNr (&amp;amp;Uuml;berladung 3)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfAsBase64Parts(oMyDB: TxDB; const cDmsTyp, cNr: string; const nPart: integer; out cBase64: string; out nParts: integer; cPartSize: string): boolean&amp;lt;/code&amp;gt; || Wie oben, Teilgr&amp;amp;ouml;&amp;amp;szlig;e als String (&amp;amp;Uuml;berladung 4)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfAsBase64(oMyDB: TxDB; const cDmsTyp, cNr: string; out cBase64: string): boolean&amp;lt;/code&amp;gt; || Liefert die gesamte PDF als Base64-String&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PosUebernommen(oMyDB: TxDB; const cVonDmsTyp, cVonNr, cPosUid: string): TVorgangPosOriginalListe&amp;lt;/code&amp;gt; || Gibt eine Liste aller Vorg&amp;amp;auml;nge zur&amp;amp;uuml;ck, in die diese Position &amp;amp;uuml;bernommen wurde&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_GetPosRef(oMyDB: TxDB; const cVonDmsTyp, cVonNr, cPosUid, cRefDmsTypen: string): TVorgangPosOriginalListe&amp;lt;/code&amp;gt; || Gibt Referenzen einer Position auf andere DMS-Typen zur&amp;amp;uuml;ck&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_ArtBox(const cDMSTyp: string): string&amp;lt;/code&amp;gt; || Gibt die Vorgangsart-Box (Auswahlstring) f&amp;amp;uuml;r einen DMS-Typ zur&amp;amp;uuml;ck&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_SummenEbene(const nEbene: integer): integer&amp;lt;/code&amp;gt; || Validiert und normiert eine Summen-Ebene (1..VB_MAX_SummenEbenen)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_SummenEbeneAusMenge(const nMenge: double): integer&amp;lt;/code&amp;gt; || Berechnet die Summenebene aus einem Mengenwert&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_KalkAufschlagPos(const nSatz, nZwSumme, nMengeIn, nMengeInFak, nRabatt: double): double&amp;lt;/code&amp;gt; || Berechnet den Aufschlagsbetrag f&amp;amp;uuml;r eine Position&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_SumPosText(const eTyp: [[#TVB_PosType|TVB_PosType]]; const cLanguage: string): string&amp;lt;/code&amp;gt; || Gibt den lokalisierten Standardtext f&amp;amp;uuml;r eine Summenposition zur&amp;amp;uuml;ck&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_SumPosTextZw(cLang: string = &#039;&#039;): string&amp;lt;/code&amp;gt; || Gibt den lokalisierten Text f&amp;amp;uuml;r Zwischensummen-Positionen zur&amp;amp;uuml;ck&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_SumPosTextTit(cLang: string = &#039;&#039;): string&amp;lt;/code&amp;gt; || Gibt den lokalisierten Text f&amp;amp;uuml;r Titelsummen-Positionen zur&amp;amp;uuml;ck&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Nimz</name></author>
	</entry>
	<entry>
		<id>https://wiki.bergau.de/index.php?title=OBS/Makros_und_Scripting/Allgemeines/Klassen/Vorg%C3%A4nge&amp;diff=64500</id>
		<title>OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge</title>
		<link rel="alternate" type="text/html" href="https://wiki.bergau.de/index.php?title=OBS/Makros_und_Scripting/Allgemeines/Klassen/Vorg%C3%A4nge&amp;diff=64500"/>
		<updated>2026-06-12T11:17:58Z</updated>

		<summary type="html">&lt;p&gt;Nimz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Makros und Scripting}}&lt;br /&gt;
Es gibt für die Generierung von Vorgängen eigene Klassen. Da es zwischen den Vorgängen immer irgendwelche Unterschiede gibt, existiert auch für jeden Vorgangs-Typ eine eigene Klasse.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Übersicht Klassen:&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Angebot|Angebot]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Auftrag|Auftrag]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Reparaturauftrag|Reparaturauftrag]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Produktionsauftrag|Produktionsauftrag]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Lieferschein|Lieferschein]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Rechnung|Rechnung]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Bestellung|Bestellung]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Einkaufslieferschein|Einkaufslieferschein]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Einkauf|Einkauf]]&lt;br /&gt;
&lt;br /&gt;
= Datentypen =&lt;br /&gt;
&lt;br /&gt;
== Enumerationen ==&lt;br /&gt;
&lt;br /&gt;
=== TVB_PosType ===&lt;br /&gt;
Positionstyp einer [[#TVorgangPos|TVorgangPos]]. Wird &amp;amp;uuml;ber die Property &amp;lt;code&amp;gt;[[#TVorgangPos_Prop_Typ|Typ]]&amp;lt;/code&amp;gt; gelesen/gesetzt.&lt;br /&gt;
Die zugeh&amp;amp;ouml;rigen String-Konstanten sind unter [[#Konstanten|Konstanten]] beschrieben.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wert !! Bezeichner !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| 0 || &amp;lt;code&amp;gt;ptPosition&amp;lt;/code&amp;gt; || Normale Artikelposition&lt;br /&gt;
|-&lt;br /&gt;
| 1 || &amp;lt;code&amp;gt;ptText&amp;lt;/code&amp;gt; || Textzeile / Memorundzeile&lt;br /&gt;
|-&lt;br /&gt;
| 2 || &amp;lt;code&amp;gt;ptLeerzeile&amp;lt;/code&amp;gt; || Leere Trennzeile&lt;br /&gt;
|-&lt;br /&gt;
| 3 || &amp;lt;code&amp;gt;ptZwischensumme&amp;lt;/code&amp;gt; || Zwischensummen-Position&lt;br /&gt;
|-&lt;br /&gt;
| 4 || &amp;lt;code&amp;gt;ptTitelsumme&amp;lt;/code&amp;gt; || Titelsummen-Position&lt;br /&gt;
|-&lt;br /&gt;
| 5 || &amp;lt;code&amp;gt;ptTitel&amp;lt;/code&amp;gt; || Titelzeile&lt;br /&gt;
|-&lt;br /&gt;
| 6 || &amp;lt;code&amp;gt;ptGewerk&amp;lt;/code&amp;gt; || Gewerk-Kopfzeile&lt;br /&gt;
|-&lt;br /&gt;
| 7 || &amp;lt;code&amp;gt;ptSeitenumbruch&amp;lt;/code&amp;gt; || Manueller Seitenumbruch&lt;br /&gt;
|-&lt;br /&gt;
| 8 || &amp;lt;code&amp;gt;ptBild&amp;lt;/code&amp;gt; || Bildposition&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVB_MaterMode ===&lt;br /&gt;
Steuert den Materialmodus beim Lesen von Positionsdaten.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wert !! Bezeichner !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| 0 || &amp;lt;code&amp;gt;mmNone&amp;lt;/code&amp;gt; || Kein spezieller Materialmodus&lt;br /&gt;
|-&lt;br /&gt;
| 1 || &amp;lt;code&amp;gt;mmMD5&amp;lt;/code&amp;gt; || Materialpr&amp;amp;uuml;fung per MD5-Hash&lt;br /&gt;
|-&lt;br /&gt;
| 2 || &amp;lt;code&amp;gt;mmReadUID&amp;lt;/code&amp;gt; || Material-UID direkt lesen&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVorgangFehlerTyp ===&lt;br /&gt;
Klassifiziert einen Eintrag in der internen Fehlerliste eines [[#TVorgang|TVorgang]].&lt;br /&gt;
Wird im Record [[#TVorgangFehler|TVorgangFehler]] verwendet.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wert !! Bezeichner !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| 0 || &amp;lt;code&amp;gt;vftOther&amp;lt;/code&amp;gt; || Sonstiger Hinweis&lt;br /&gt;
|-&lt;br /&gt;
| 1 || &amp;lt;code&amp;gt;vftCritical&amp;lt;/code&amp;gt; || Kritischer Fehler (blockiert Speichern)&lt;br /&gt;
|-&lt;br /&gt;
| 2 || &amp;lt;code&amp;gt;vftSaveCheck&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;fung beim Speichern&lt;br /&gt;
|-&lt;br /&gt;
| 3 || &amp;lt;code&amp;gt;vftPosInfo&amp;lt;/code&amp;gt; || Positionsbezogene Information&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVorgangFehlerLoeschenLesen ===&lt;br /&gt;
Steuert, welche Fehler nach dem Lesen via &amp;lt;code&amp;gt;[[#TVorgang_Meth_leseFehler|leseFehler]]&amp;lt;/code&amp;gt; aus der Liste gel&amp;amp;ouml;scht werden.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Wert !! Bezeichner !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| 0 || &amp;lt;code&amp;gt;vfllNone&amp;lt;/code&amp;gt; || Kein Fehler nach dem Lesen l&amp;amp;ouml;schen&lt;br /&gt;
|-&lt;br /&gt;
| 1 || &amp;lt;code&amp;gt;vfllAll&amp;lt;/code&amp;gt; || Alle Fehler nach dem Lesen l&amp;amp;ouml;schen&lt;br /&gt;
|-&lt;br /&gt;
| 2 || &amp;lt;code&amp;gt;vfllSkipCritical&amp;lt;/code&amp;gt; || Nur nicht-kritische Fehler l&amp;amp;ouml;schen (Standard)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Records ==&lt;br /&gt;
&lt;br /&gt;
=== TVorgangPosOriginal ===&lt;br /&gt;
Enth&amp;amp;auml;lt Referenzinformationen der Ursprungsposition (z.&amp;amp;nbsp;B. bei der Vorgangs&amp;amp;uuml;bernahme).&lt;br /&gt;
Wird &amp;amp;uuml;ber die Property &amp;lt;code&amp;gt;[[#TVorgangPos_Prop_OriginalPos|OriginalPos]]&amp;lt;/code&amp;gt; einer [[#TVorgangPos|TVorgangPos]] geliefert.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Feld !! Typ !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;rDMS&amp;lt;/code&amp;gt; || TDMSType || DMS-Typ des Ursprungsvorgangs&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cNr&amp;lt;/code&amp;gt; || String || Vorgangsnummer des Ursprungs&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cUid&amp;lt;/code&amp;gt; || String || UID der Ursprungsposition&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cSysUid&amp;lt;/code&amp;gt; || String || System-UID der Ursprungsposition&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Methoden:&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signatur !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Clear&amp;lt;/code&amp;gt; || Leert alle Felder des Records&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure SetData(const ADMS: TDMSType; qPos: TxFQuery)&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt den Record aus einem Positions-Query&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVorgangPosParams_AktualisiereDaten ===&lt;br /&gt;
Steuert, welche Datenbereiche bei &amp;lt;code&amp;gt;[[#TVorgangPos_Meth_AktualisiereDaten|AktualisiereDaten]]&amp;lt;/code&amp;gt; aktualisiert werden sollen.&lt;br /&gt;
Wird &amp;amp;uuml;ber die Property &amp;lt;code&amp;gt;[[#TVorgang_Prop_ParameterPositionsdatenAktualisieren|ParameterPositionsdatenAktualisieren]]&amp;lt;/code&amp;gt; von [[#TVorgang|TVorgang]] gesetzt.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Feld !! Typ !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;lTexte&amp;lt;/code&amp;gt; || Boolean || Bezeichnungen/Texte aktualisieren&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;lEK&amp;lt;/code&amp;gt; || Boolean || Einkaufspreise aktualisieren&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;lVK&amp;lt;/code&amp;gt; || Boolean || Verkaufspreise aktualisieren&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Methoden:&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signatur !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Init(const cVorb: string = &#039;&#039;)&amp;lt;/code&amp;gt; || Initialisiert die Parameter mit Standardwerten; optionaler Vorbelegungsschl&amp;amp;uuml;ssel&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Aktualisieren(): boolean&amp;lt;/code&amp;gt; || Gibt &amp;lt;code&amp;gt;True&amp;lt;/code&amp;gt; zur&amp;amp;uuml;ck, wenn mindestens ein Aktualisierungsschalter gesetzt ist&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVorgangPosSummen ===&lt;br /&gt;
Speichert Zwischen- und Titelsummen-Betr&amp;amp;auml;ge je Ebene (1 bis &amp;lt;code&amp;gt;VB_MAX_SummenEbenen&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Feld !! Typ !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;aZw[1..9]&amp;lt;/code&amp;gt; || Double || Zwischensummen-Betr&amp;amp;auml;ge je Ebene&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;aTit[1..9]&amp;lt;/code&amp;gt; || Double || Titelsummen-Betr&amp;amp;auml;ge je Ebene&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Methoden:&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signatur !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Clear&amp;lt;/code&amp;gt; || Setzt alle Summen auf 0&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure ClearZw(const nEbene: integer)&amp;lt;/code&amp;gt; || Setzt Zwischensumme der Ebene nEbene auf 0&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure ClearTit(const nEbene: integer)&amp;lt;/code&amp;gt; || Setzt Titelsumme der Ebene nEbene auf 0&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure AddZw(const nBetrag: double)&amp;lt;/code&amp;gt; || Addiert Betrag zur aktiven Zwischensummen-Ebene&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure AddTit(const nBetrag: double)&amp;lt;/code&amp;gt; || Addiert Betrag zur aktiven Titelsummen-Ebene&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function ReadZw(const nEbene: integer): double&amp;lt;/code&amp;gt; || Liefert den Zwischensummen-Betrag der Ebene&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function ReadTit(const nEbene: integer): double&amp;lt;/code&amp;gt; || Liefert den Titelsummen-Betrag der Ebene&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVorgangEigenschaft ===&lt;br /&gt;
Repr&amp;amp;auml;sentiert ein Vorgangsmerkmal (Eigenschaft), das per &amp;lt;code&amp;gt;[[#TVorgang_Meth_EigenschaftSetzen|EigenschaftSetzen]]&amp;lt;/code&amp;gt; gesetzt wird.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Feld !! Typ !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cNr&amp;lt;/code&amp;gt; || String || Merkmalsnummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;lMode&amp;lt;/code&amp;gt; || Boolean || True = setzen, False = l&amp;amp;ouml;schen&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== TVorgangFehler ===&lt;br /&gt;
Ein Eintrag in der internen Fehlerliste von [[#TVorgang|TVorgang]].&lt;br /&gt;
Wird per &amp;lt;code&amp;gt;[[#TVorgang_Meth_leseFehler|leseFehler]]&amp;lt;/code&amp;gt; ausgelesen.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Feld !! Typ !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cTitel&amp;lt;/code&amp;gt; || String || Fehlertitel (Kurzbeschreibung)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cText&amp;lt;/code&amp;gt; || String || Fehlertext (Detailbeschreibung)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;eTyp&amp;lt;/code&amp;gt; || [[#TVorgangFehlerTyp|TVorgangFehlerTyp]] || Fehlerklassifikation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Konstanten ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Konstante !! Wert !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_POS&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;0&#039;&amp;lt;/code&amp;gt; || Positionstyp normale Artikelposition (entspricht [[#TVB_PosType|ptPosition]])&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_TXT&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;1&#039;&amp;lt;/code&amp;gt; || Positionstyp Textzeile (entspricht [[#TVB_PosType|ptText]])&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_ELN&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;2&#039;&amp;lt;/code&amp;gt; || Positionstyp Leerzeile (entspricht [[#TVB_PosType|ptLeerzeile]])&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_ZWS&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;3&#039;&amp;lt;/code&amp;gt; || Positionstyp Zwischensumme (entspricht [[#TVB_PosType|ptZwischensumme]])&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_TIS&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;4&#039;&amp;lt;/code&amp;gt; || Positionstyp Titelsumme (entspricht [[#TVB_PosType|ptTitelsumme]])&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_TIT&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;7&#039;&amp;lt;/code&amp;gt; || Positionstyp Titel (entspricht [[#TVB_PosType|ptTitel]])&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_GEW&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;8&#039;&amp;lt;/code&amp;gt; || Positionstyp Gewerk (entspricht [[#TVB_PosType|ptGewerk]])&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_PBR&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;17&#039;&amp;lt;/code&amp;gt; || Positionstyp Seitenumbruch (entspricht [[#TVB_PosType|ptSeitenumbruch]])&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;POSTYP_PIC&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;19&#039;&amp;lt;/code&amp;gt; || Positionstyp Bild (entspricht [[#TVB_PosType|ptBild]])&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;VB_DEFAULT_BezZwischensumme&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;ZWISCHENSUMME    :&#039;&amp;lt;/code&amp;gt; || Standard-Bezeichnung f&amp;amp;uuml;r Zwischensummen-Positionen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;VB_DEFAULT_BezTitelsumme&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&#039;TITELSUMME       :&#039;&amp;lt;/code&amp;gt; || Standard-Bezeichnung f&amp;amp;uuml;r Titelsummen-Positionen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;VB_MAX_SummenEbenen&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;9&amp;lt;/code&amp;gt; || Maximale Anzahl von Summenebenen (Zwischen- und Titelsummen)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Basisklassen Vorgangsgenerierung=&lt;br /&gt;
&lt;br /&gt;
== TVorgang ==&lt;br /&gt;
&lt;br /&gt;
=== Variablen ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Name !! Typ !! Zugriff !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;oMyDB&amp;lt;/code&amp;gt; || TxDB || Lesen/Schreiben || Datenbankverbindung des Vorgangs&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;oProtokoll&amp;lt;/code&amp;gt; || TStringList || Lesen/Schreiben || Protokoll-Liste (Meldungen/Log)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;lMeldung&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Steuert Anzeige von Benutzer-Meldungen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;lSetPSBemAuto&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Automatische Positionsbemerkung setzen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cVorgNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Vorgangsnummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cProjNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Projektnummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;lBrutto&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Brutto-Modus aktiv&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cLanguage&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sprach-Code (intern, z.&amp;amp;nbsp;B. f&amp;amp;uuml;r Formulare)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cLagNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lagernummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cTyp&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Vorgangstyp-K&amp;amp;uuml;rzel&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;dVorgDat&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Vorgangsdatum&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;dFaelligDat&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || F&amp;amp;auml;lligkeitsdatum&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;dBuchDat&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Buchungsdatum&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;dAufDat&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Auftragsdatum&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cKdNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kundennummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cAnrede&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Anrede des Kunden&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cName&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Name des Kunden&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cVorname&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Vorname des Kunden&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cZusatz1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Adresszusatz 1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cZusatz2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Adresszusatz 2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cStrasse&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Stra&amp;amp;szlig;e der Lieferadresse&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cPostfach&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Postfach&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cLK&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || L&amp;amp;auml;nderkennzeichen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cPLZ&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Postleitzahl&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cOrt&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Ort&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cAngebNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Angebotsnummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cLSNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferscheinnummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cRechNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsnummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cAuftNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Auftragsnummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cRepaNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Reparaturauftragsnummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cEinkaufsNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Einkaufsnummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cBestellNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Bestellnummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosText&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionstext (globaler Standardtext)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cLProjNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Leistungsprojektnummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cKopftext&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kopftext des Vorgangs&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cFusstext&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Fu&amp;amp;szlig;text des Vorgangs&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nNBetrag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Nettobetrag gesamt&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nBBetrag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Bruttobetrag gesamt&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nEKBetrag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Einkaufsbetrag gesamt&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabattBetrag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabattbetrag gesamt&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabattProz&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabattprozentsatz gesamt&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nAnzahlung&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Anzahlungsbetrag&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nPorto&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Portokosten&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nVerpackung&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Verpackungskosten&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;lSplitPoVe&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Porto und Verpackung getrennt ausweisen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cVersand&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandart&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cWaehr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || W&amp;amp;auml;hrungsk&amp;amp;uuml;rzel&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cFormul&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Formularnummer/-k&amp;amp;uuml;rzel&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cVAnr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandanrede&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cVName1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandname 1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cVName2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandname 2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cVZusatz&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandadresse Zusatz&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cVStrasse&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandstra&amp;amp;szlig;e&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cVLK&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versand-L&amp;amp;auml;nderkennzeichen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cVPLZ&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versand-PLZ&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cVOrt&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandort&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cVUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandadresse UID&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cPrio&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Priorit&amp;amp;auml;t des Vorgangs&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cAuftNrKd&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Auftrags-/Bestellnummer des Kunden&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cBesteller&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Besteller (Person)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cSachb&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sachbearbeiter&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabPosJN&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionsrabatt anzeigen J/N&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cMWSTJN&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Mehrwertsteuer ausweisen J/N&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText3&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText4&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText5&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText6&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 6&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cSText7&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sondertext 7&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cPreisJN&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Preis auf Dokument drucken J/N&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cMwStAbs&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || MwSt-Absetzungstext/-K&amp;amp;uuml;rzel&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;dLiefDat&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Lieferdatum&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cDeleted&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Gel&amp;amp;ouml;scht-Kennzeichen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;dLDat2&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Zweites Lieferdatum&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cSprache&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Sprache des Vorgangs&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cReEmpf&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Nummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cReAnrede&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Anrede&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cReName&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Name&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cReVorname&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Vorname&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cReZusatz1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Adresszusatz 1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cReZusatz2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Adresszusatz 2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cReStrasse&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Stra&amp;amp;szlig;e&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cRePostfach&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Postfach&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cReLK&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-L&amp;amp;auml;nderkennzeichen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cRePLZ&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-PLZ&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cReOrt&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsempf&amp;amp;auml;nger-Ort&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cVertreter&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Vertreter-K&amp;amp;uuml;rzel&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cVerbucht&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Verbucht-Kennzeichen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cLager&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lager-K&amp;amp;uuml;rzel&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cRechFrei&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsfreigabe-Kennzeichen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cBonNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Bonnummer (Kasse)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cMandant&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Mandantenk&amp;amp;uuml;rzel&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nMwStDM&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || MwSt-Betrag in DM (Altw&amp;amp;auml;hrung)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nKursDM&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Wechselkurs DM&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nAbschlag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Abschlagsbetrag&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nZBetrag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Zahlungsbetrag&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nZSkonto&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Skonto-Betrag&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;dZDatum&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Zahlungsdatum&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cMemo&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Memofeld des Vorgangs&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nValuta&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Valutatage&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cKostenst&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kostenstelle&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cKostentraeger&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kostentr&amp;amp;auml;ger&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cKalkGr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kalkulationsgruppe&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cFrachtV&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Frachtart/-vorschrift&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nFrachtK&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Frachtkosten&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nFrachtG&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Frachtgewicht&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cGruppe&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Vorgangsgruppe&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nPosInc&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Positionsnummer-Inkrement&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cFiliale&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Filialk&amp;amp;uuml;rzel&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabText&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabatttextfeld (kurz)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cErfasser&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Erfasser des Vorgangs&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nSKFBetrag&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Skontof&amp;amp;auml;higer Betrag&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;lLiefStrecke&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Lieferstreckengesch&amp;amp;auml;ft aktiv&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cBetreff&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Betreffzeile&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cMemoDruck&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Druckmemo (erscheint auf Dokument)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cLieferLiefNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferanten-Lieferscheinnummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabattText&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabatttext (lang)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cSysUid&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || System-UID des Vorgangs&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;lLeistPreis2&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Leistungspreis 2 verwenden&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cFunction&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Funktionsk&amp;amp;uuml;rzel (Scripting-Hook)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;lSaveAllowed&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Speichern erlaubt&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;lVorgangsSperre&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Vorgang gesperrt&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Properties ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Name !! Typ !! Zugriff !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;DmsTyp&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || DMS-Typ des Vorgangs (z.&amp;amp;nbsp;B. AN, AU, LS, RE)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;MainTable&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Haupttabelle des Vorgangs (Datenbankname)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PosTable&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionstabelle des Vorgangs&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosFormat&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionsnummern-Format&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgang_Prop_ParameterPositionsdatenAktualisieren&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;ParameterPositionsdatenAktualisieren&amp;lt;/code&amp;gt; || [[#TVorgangPosParams_AktualisiereDaten|TVorgangPosParams_AktualisiereDaten]] || Lesen/Schreiben || Parameter f&amp;amp;uuml;r Massenaktualisierung von Positionsdaten&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PnPosCnt&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Anzahl der Positionen im Vorgang&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PaPositionen[Index]&amp;lt;/code&amp;gt; || [[#TVorgangPos|TVorgangPos]] || Lesen/Schreiben || Array der Positionsobjekte (0-basiert)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PcRabGrPers&amp;lt;/code&amp;gt; || String || Nur Lesen || Rabattgruppe der Person (aus Stammdaten ermittelt)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PcVKdNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || VK-Kundennummer (alternativ zur cKdNr f&amp;amp;uuml;r Preisfindung)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nNet1&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Nettobetrag MwSt-Schl&amp;amp;uuml;ssel 1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nNet2&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Nettobetrag MwSt-Schl&amp;amp;uuml;ssel 2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nNet3&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Nettobetrag MwSt-Schl&amp;amp;uuml;ssel 3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nBrutto1&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Bruttobetrag MwSt-Schl&amp;amp;uuml;ssel 1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nBrutto2&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Bruttobetrag MwSt-Schl&amp;amp;uuml;ssel 2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nBrutto3&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Bruttobetrag MwSt-Schl&amp;amp;uuml;ssel 3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nMwSt1&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || MwSt-Betrag Schl&amp;amp;uuml;ssel 1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nMwSt2&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || MwSt-Betrag Schl&amp;amp;uuml;ssel 2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nMwSt3&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || MwSt-Betrag Schl&amp;amp;uuml;ssel 3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cMwStSchl1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || MwSt-Schl&amp;amp;uuml;ssel 1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cMwStSchl2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || MwSt-Schl&amp;amp;uuml;ssel 2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cMwStSchl3&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || MwSt-Schl&amp;amp;uuml;ssel 3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cKeineVersPausch&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Keine Versandpauschale berechnen J/N&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cZahlBed&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Zahlungsbedingung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;lNewVorgang&amp;lt;/code&amp;gt; || Boolean || Nur Lesen || Neuer (noch nicht gespeicherter) Vorgang&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cKopfNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kopftextbaustein-Nummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cFussNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Fu&amp;amp;szlig;textbaustein-Nummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cLiefStrecke&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferstrecken-K&amp;amp;uuml;rzel&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cStatus&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Status des Vorgangs&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cStatM&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Material-Status&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cStatS&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Service-Status&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cStatL&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferstatus&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cStatR&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rechnungsstatus&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cColStatus&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Farb-/Anzeigestatus (f&amp;amp;uuml;r UI)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cZustand&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Zustandskenner des Vorgangs&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cArt&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Vorgangsart-K&amp;amp;uuml;rzel&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cBonusJN&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Bonus berechnen J/N&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cVersandkostenMBW&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandkosten-Mindestbestellwert-Kennzeichen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cWKNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Werbungskosten-Nummer&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Methoden ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signatur !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;constructor Create(const cUid: string; oxDB: TxDB; cDmsType: string)&amp;lt;/code&amp;gt; || Erstellt einen neuen Vorgang mit UID, Datenbankverbindung und DMS-Typ&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;destructor Destroy&amp;lt;/code&amp;gt; || Gibt den Vorgang und alle Ressourcen frei&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function SemaphoreCreate(cFName: string; lMeldung: boolean = False; cWait: string = &#039;&#039;): boolean&amp;lt;/code&amp;gt; || Erstellt eine Datei-Semaphore (Sperrdatei); gibt True zur&amp;amp;uuml;ck wenn erfolgreich&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function SemaphoreInUse(cFName: string): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft ob die Semaphore-Datei bereits in Verwendung ist&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure SemaphoreReleaseAll&amp;lt;/code&amp;gt; || Gibt alle Semaphoren dieses Vorgangs frei&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure SemaphoreRelease(cFName: string)&amp;lt;/code&amp;gt; || Gibt eine bestimmte Semaphore frei&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstAngebot(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang ein Angebot ist&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstAuftrag(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang ein Auftrag ist&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstReparaturAuftrag(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang ein Reparaturauftrag ist&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstLieferschein(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang ein Lieferschein ist&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstRechnung(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang eine Rechnung ist&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstBestellung(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang eine Bestellung ist&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstAnfrage(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang eine Anfrage ist&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstEKLieferschein(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang ein EK-Lieferschein ist&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstEinkauf(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn der Vorgang ein Einkaufsvorgang ist&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstVG_VK(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn es sich um einen Verkaufsvorgang handelt&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstVG_EK(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn es sich um einen Einkaufsvorgang handelt&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function NeuNumLock(): boolean&amp;lt;/code&amp;gt; || Sperrt die Neunummerierung (verhindert parallele Vergabe)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure NeuNumLockRelease&amp;lt;/code&amp;gt; || Gibt die Neunummerierungssperre wieder frei&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgNeuNum(cFilter: string = &#039;&#039;; lAbweichend: boolean = false): string&amp;lt;/code&amp;gt; || Ermittelt und setzt eine neue Vorgangsnummer; gibt die Nummer als String zur&amp;amp;uuml;ck&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgNeuNumBool(cFilter: string = &#039;&#039;; lAbweichend: boolean = false): boolean&amp;lt;/code&amp;gt; || Wie VorgNeuNum, gibt True/False zur&amp;amp;uuml;ck (f&amp;amp;uuml;r Fehlerbehandlung)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstVorgNrGueltig(cUID: string = &#039;&#039;): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft ob die aktuelle Vorgangsnummer g&amp;amp;uuml;ltig (eindeutig) ist&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function NeuePositionBase(const cUID: string): [[#TVorgangPos|TVorgangPos]]&amp;lt;/code&amp;gt; || Legt eine neue Positionsinstanz an und f&amp;amp;uuml;gt sie dem Vorgang hinzu&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure NeuePositionBaseMS(const cUID: string; oOrgPos: [[#TVorgangPos|TVorgangPos]])&amp;lt;/code&amp;gt; || Legt eine neue Position als Multi-Steuer-Folgeposition an&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function LoeschePositionBase(nDel: integer): Boolean&amp;lt;/code&amp;gt; || L&amp;amp;ouml;scht die Position mit dem angegebenen Index&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure VerschiebePositionBase(nPos: integer; nZiel: integer)&amp;lt;/code&amp;gt; || Verschiebt Position von Index nPos zu Index nZiel&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function CheckIfNotNull(): Boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft ob Pflichtfelder des Vorgangs bef&amp;amp;uuml;llt sind&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function CheckIfFirstPosOption(): Boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft ob die erste Position eine Optionsposition ist&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function IsPosBerechnung(cPosArt: string): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft ob eine Positionsart als Berechnungsposition gilt&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure CopyFrom(oSrc: [[#TVorgang|TVorgang]])&amp;lt;/code&amp;gt; || Kopiert alle Felder aus einem anderen Vorgang&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure KalkAll(lZusatz: boolean = true)&amp;lt;/code&amp;gt; || Kalkuliert alle Positionen und Gesamtsummen neu&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Check_Multisteuer(oOrgPos: [[#TVorgangPos|TVorgangPos]]; const cTable, cMUID, cRefNr: string)&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft und setzt Multi-Steuer-Verkn&amp;amp;uuml;pfung f&amp;amp;uuml;r eine Position&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyPosmenge(cFromUID: string): string&amp;lt;/code&amp;gt; || Kopiert Positionsmengen aus einem anderen Vorgang (per UID)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyPosverp(cFromUID: string): string&amp;lt;/code&amp;gt; || Kopiert Positionsverpackungen aus einem anderen Vorgang (per UID)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure fillVersandkostenMBW(const cPsNr: string; const cPsVersand: string = &#039;&#039;; const PsZusatz: string = &#039;&#039;)&amp;lt;/code&amp;gt; || Berechnet und setzt Versandkosten auf Basis Mindestbestellwert&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure FillPersonBase(qPers: TxFQuery)&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt Adressfelder des Vorgangs aus einem Personen-Query&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function FillReEmpf(const AReEmpf: string; const AZahlBed: string = &#039;&#039;): boolean&amp;lt;/code&amp;gt; || Setzt Rechnungsempf&amp;amp;auml;nger und optionale Zahlungsbedingung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function SaveRecord(cUID: string = &#039;&#039;; lAlleSpeichern: boolean = false): Boolean&amp;lt;/code&amp;gt; || Speichert den Vorgang (abstrakt &amp;amp;ndash; muss in abgeleiteter Klasse implementiert werden)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function ReadVorgangTypBase(cDmsTyp: string; const cNr: string; lPos: boolean = false; lNeg: boolean = false): boolean&amp;lt;/code&amp;gt; || Liest einen Vorgang anhand DMS-Typ und Nummer in das Objekt&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function JahrNr(): string&amp;lt;/code&amp;gt; || Gibt das Jahr der Vorgangsnummer zur&amp;amp;uuml;ck&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure NeuNumPos(const lNurPos: boolean = True)&amp;lt;/code&amp;gt; || Nummeriert alle Positionen neu&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function EigenschaftSetzen(const ANr: string; const AMode: boolean): boolean&amp;lt;/code&amp;gt; || Setzt oder l&amp;amp;ouml;scht eine Vorgangseigenschaft (Merkmal) per Nummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure AdresseLeeren&amp;lt;/code&amp;gt; || Leert alle Adressfelder des Vorgangs&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure VersandLeeren(lRef: boolean = True)&amp;lt;/code&amp;gt; || Leert alle Versandadressfelder&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure ReEmpfLeeren(const lNurAdr: boolean = False)&amp;lt;/code&amp;gt; || Leert Rechnungsempf&amp;amp;auml;nger-Felder (optional nur Adresse)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure DoServiceTouch(cStatus: string = &#039;&#039;)&amp;lt;/code&amp;gt; || Aktualisiert Service-Zeitstempel und optionalen Status&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function AuswahlParameterPositionsdatenAktualisieren(const cXDataTable: string): boolean&amp;lt;/code&amp;gt; || Zeigt Dialog zur Auswahl der Aktualisierungsparameter f&amp;amp;uuml;r Positionsdaten&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function ZusatzkostenAktiv(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn Zusatzkostenmodul f&amp;amp;uuml;r diesen Vorgang aktiv ist&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgang_Meth_leseFehler&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;function leseFehler(out rFehler: [[#TVorgangFehler|TVorgangFehler]]; var nIdx: integer; const eLoeschenNachLesen: [[#TVorgangFehlerLoeschenLesen|TVorgangFehlerLoeschenLesen]] = vfllSkipCritical): boolean&amp;lt;/code&amp;gt; || Liest den n&amp;amp;auml;chsten Fehler aus der internen Fehlerliste&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== TVorgangPos ==&lt;br /&gt;
&lt;br /&gt;
=== Variablen ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Name !! Typ !! Zugriff !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nPosIndex&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Laufender Index der Position im Positions-Array&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Interne Positionsnummer (Datenbankfeld)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cKundNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kundennummer an der Position&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cAuftragsNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Referenz-Auftragsnummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cBestellNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Referenz-Bestellnummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosText&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionstext (Langtextfeld)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cLProjNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Leistungsprojektnummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cLS_azUid&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferschein-Abrechnungszeilen-UID&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cVersandNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Versandnummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionsnummer (formatiert)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosNr2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Zweite Positionsnummer (alternativ)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosKas&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kassier-Positionsnummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cLeistungsNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Leistungsnummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cBezeichnung1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Bezeichnung Zeile 1&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cBezeichnung2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Bezeichnung Zeile 2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nUrMenge&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Ursprungsmenge (vor &amp;amp;Auml;nderungen)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nLeistFaktor&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Leistungsfaktor (Multiplikator f&amp;amp;uuml;r Mengenberechnung)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cEinheit&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Mengeneinheit&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nMengeG&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Mengenganz (ganzzahliger Mengenanteil)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nKolli&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Kollianzahl&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cVerpackung&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Verpackungsart/-k&amp;amp;uuml;rzel&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nInhalt&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Inhalt pro Verpackungseinheit&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nEPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Einzelpreis (Netto)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nBEPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Brutto-Einzelpreis&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nOBPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Original-Brutto-Einzelpreis (vor Rabatt)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nUrPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Ursprungspreis (Listenpreis VK)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nUrPreisEK&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Ursprungspreis Einkauf&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nGPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Gesamtpreis (Netto)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nBGPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Brutto-Gesamtpreis&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nEKPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Einkaufspreis&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nEKSPreis&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Einkaufssonderpreis&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cManPreis&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Manueller Preis J/N-Kennzeichen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabatt&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Gesamtrabatt in Prozent&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabatt1&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabatt 1 in Prozent&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabArt1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabattart 1 (Herkunftskennzeichen)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabatt2&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabatt 2 in Prozent&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabArt2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabattart 2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabatt3&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabatt 3 in Prozent&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabArt3&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabattart 3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabatt4&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabatt 4 in Prozent&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabArt4&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabattart 4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nRabatt5&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Rabatt 5 in Prozent&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cRabArt5&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Rabattart 5&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nAddSub&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Additions-/Subtraktionsbetrag (Zuschlag/Abzug absolut)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cKonto&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Buchungskonto&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cLagNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lagernummer der Position&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cLagONr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lager-Ortsnummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cVerkaufer&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Verk&amp;amp;auml;uferk&amp;amp;uuml;rzel&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cStatus&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionsstatus&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cAngebotsNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Referenz-Angebotsnummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Eindeutige ID der Position (GUID)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cMUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Multi-Steuer-UID (Verkn&amp;amp;uuml;pfung bei Multisteuer)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cRTVon&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || R&amp;amp;uuml;cktragungs-Referenz (von welcher Position)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cSpNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Speditionsnummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cBestellUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || UID der verkn&amp;amp;uuml;pften Bestellposition&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cMaterialUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || UID des verkn&amp;amp;uuml;pften Materialeintrags&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cEiliUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || UID der Eillieferungsposition&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cXUID1&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Erweiterungs-UID 1 (freie Verkn&amp;amp;uuml;pfung)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cXUID2&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Erweiterungs-UID 2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cXUID3&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Erweiterungs-UID 3&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cXUID4&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Erweiterungs-UID 4&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cKommentar&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kommentarfeld der Position&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nProvision&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Provisionsanteil in Prozent&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cLiefKz&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferkennzeichen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cProdGr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Produktgruppe&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nFrachtV&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Frachtvolumen der Position&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cLSNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferscheinnummer der Position&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;dLSDatum&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Lieferscheindatum der Position&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosArt&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionsart (z.&amp;amp;nbsp;B. N=Normal, O=Optional)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cSKFJN&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Skontof&amp;amp;auml;hig J/N&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cEKHerkunft&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || EK-Preisherkunft-K&amp;amp;uuml;rzel&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cLiefNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lieferantennummer&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cLagStreck&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Lager-Streckenkennzeichen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cAufschlag&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Aufschlagsk&amp;amp;uuml;rzel&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nStaffelPreis&amp;lt;/code&amp;gt; || Integer || Lesen/Schreiben || Staffelpreisstufe (Index)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nStaffelmenge&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Staffelmenge f&amp;amp;uuml;r Preisfindung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;lAktionspreis&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Aktionspreis aktiv&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cAusdruckJN&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Position drucken J/N&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cMemoDruck&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Druckmemo der Position&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cBildUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || UID des verkn&amp;amp;uuml;pften Bildes&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cCMPUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || CMP-Objekt-UID&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cZeit_CMPUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Zeiterfassungs-CMP-UID&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cZeit_Text&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Zeiterfassungstext&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cZeit_Mitarb&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Mitarbeiter der Zeiterfassung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;dZeit_Date&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Datum der Zeiterfassung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cZeit_NurLei&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Zeiterfassung: nur Leistung J/N&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cKostst&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Kostenstelle der Position&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;dAbrechVon&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Abrechnungszeitraum von&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;dAbrechBis&amp;lt;/code&amp;gt; || TDateTime || Lesen/Schreiben || Abrechnungszeitraum bis&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;lNeuNum&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Neunummerierung f&amp;amp;uuml;r diese Position ausf&amp;amp;uuml;hren&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cSysUID&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || System-UID der Position&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cGeraetNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Ger&amp;amp;auml;tenummer (f&amp;amp;uuml;r Servicepositionen)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Properties ===&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Name !! Typ !! Zugriff !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;oMyDB&amp;lt;/code&amp;gt; || TxDB || Nur Lesen || Datenbankverbindung (vom Vorgang geerbt)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ShopNr&amp;lt;/code&amp;gt; || String || Nur Lesen || Shop-Nummer (f&amp;amp;uuml;r Mehrshop-Preisfindung)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cArtikelNr&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Artikelnummer (Zugriff &amp;amp;uuml;ber Property wegen Seiteneffekten)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PcMWSTSch&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || MwSt-Schl&amp;amp;uuml;ssel (Parameter-Feld)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PcMengeIn&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Mengeneingabe als String (Parameter)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PnMengeIn&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Mengeneingabe als Zahl (Parameter)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PnMengeInFak&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Mengeneingabe-Faktor (Parameter)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PcMemofeld&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Memofeld der Position (Parameter-Feld, Unicode)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PcMemofeldAnsi&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Memofeld ANSI-Version (Parameter-Feld)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cPosLaufend&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Laufende Positionsnummer als String&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;lVerbrauchsMater&amp;lt;/code&amp;gt; || Boolean || Lesen/Schreiben || Verbrauchsmaterial-Kennzeichen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;nMenge&amp;lt;/code&amp;gt; || Double || Lesen/Schreiben || Menge der Position (mit Seiteneffekten bei Schreiben)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cTyp&amp;lt;/code&amp;gt; || String || Lesen/Schreiben || Positionstyp als String &amp;amp;ndash; siehe [[#Konstanten|Konstanten]] (POSTYP_*)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgangPos_Prop_Typ&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;Typ&amp;lt;/code&amp;gt; || [[#TVB_PosType|TVB_PosType]] || Lesen/Schreiben || Positionstyp als Enum (ptPosition, ptText, ptLeerzeile&amp;amp;nbsp;&amp;amp;hellip;)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgangPos_Prop_OriginalPos&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;OriginalPos&amp;lt;/code&amp;gt; || [[#TVorgangPosOriginal|TVorgangPosOriginal]] || Nur Lesen || Ursprungspositionsdaten (DMS-Referenz, Nr, UID, SysUID)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Methoden ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Signatur !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;constructor Create(oxVorgang: [[#TVorgang|TVorgang]]; cPosTbl: string)&amp;lt;/code&amp;gt; || Erstellt eine neue Position f&amp;amp;uuml;r den angegebenen Vorgang (veraltet, UID-Variante bevorzugen)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;constructor Create(cUid: string; oxVorgang: [[#TVorgang|TVorgang]]; cPosTbl: string)&amp;lt;/code&amp;gt; || Erstellt eine neue Position mit vorgegebener UID&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;destructor Destroy&amp;lt;/code&amp;gt; || Gibt die Position frei&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure PositionsVorbelegung&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt die Position mit Standardwerten aus den Vorgangsdaten&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure GenNewUid&amp;lt;/code&amp;gt; || Generiert eine neue UID f&amp;amp;uuml;r diese Position&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyPosmenge(cFromUID: string): string&amp;lt;/code&amp;gt; || Kopiert Mengen aus einer anderen Position (per UID)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyPosverp(cFromUID: string): string&amp;lt;/code&amp;gt; || Kopiert Verpackungsdaten aus einer anderen Position (per UID)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure CopyFrom(oSrc: [[#TVorgangPos|TVorgangPos]]; lFull: boolean = False)&amp;lt;/code&amp;gt; || Kopiert alle Felder aus einer anderen Position; lFull=True kopiert auch interne Felder&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure QueryToPos(qTmp: TxFQuery; lReadAsNew: boolean = false)&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt die Position aus einem Datenbankquery (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure QueryToPos(qTmp: TxFQuery; const cFromTable: string; lVerpack: Boolean = False; lUmkehr: boolean = False)&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt die Position aus einem Query mit expliziter Quelltabelle (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure DBPosToPos(const cFromTable: string; const cSysUid: string; lVerpack: Boolean = False; lUmkehr: boolean = False)&amp;lt;/code&amp;gt; || Liest eine Position direkt aus der Datenbank per SysUID&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function FillArtikel(cArtNr: string): boolean&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt die Position mit Artikelstammdaten; gibt True bei Erfolg zur&amp;amp;uuml;ck&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function SetzeLieferant(const cLiefNr: string; lEKNeu: boolean = True; lDefaultEK1: boolean = False): boolean&amp;lt;/code&amp;gt; || Setzt den Lieferanten und aktualisiert EK-Preise&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure FillLeistung(cLeistNr: string)&amp;lt;/code&amp;gt; || Bef&amp;amp;uuml;llt die Position mit Leistungsstammdaten&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function SumPosBez(const eZielTyp: [[#TVB_PosType|TVB_PosType]]; const cBezVorb: string): string&amp;lt;/code&amp;gt; || Gibt die Bezeichnung f&amp;amp;uuml;r eine Summenposition zur&amp;amp;uuml;ck&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_Pos&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;normale Position&amp;amp;ldquo;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_Text(const cText: string)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Textzeile&amp;amp;ldquo; mit dem angegebenen Text&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_Leerzeile&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Leerzeile&amp;amp;ldquo;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_Zwischensumme(const cBez: string = &#039;&#039;)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Zwischensumme&amp;amp;ldquo; (Ebene&amp;amp;nbsp;1)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_ZwischensummeEbene(const nEbene: integer; const cBez: string = &#039;&#039;)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Zwischensumme&amp;amp;ldquo; der angegebenen Ebene&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_Titelsumme(const cBez: string = &#039;&#039;)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Titelsumme&amp;amp;ldquo; (Ebene&amp;amp;nbsp;1)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_TitelsummeEbene(const nEbene: integer; const cBez: string = &#039;&#039;)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Titelsumme&amp;amp;ldquo; der angegebenen Ebene&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_Titel(const cBez: string)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Titel&amp;amp;ldquo;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_Gewerk(const cBez: string)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Gewerk&amp;amp;ldquo;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_NeueSeite&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Seitenumbruch&amp;amp;ldquo;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Typ_Bild(const cBild: string)&amp;lt;/code&amp;gt; || Setzt den Positionstyp auf &amp;amp;bdquo;Bild&amp;amp;ldquo; mit dem angegebenen Bildpfad/-UID&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure UStKorrektur(const dCheckDate: TDateTime)&amp;lt;/code&amp;gt; || Korrigiert den Umsatzsteuerschl&amp;amp;uuml;ssel gem&amp;amp;auml;&amp;amp;szlig; Datum (Steuersatz&amp;amp;auml;nderungen)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure KalkPos&amp;lt;/code&amp;gt; || Kalkuliert Gesamtpreis und abgeleitete Felder dieser Position neu&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosNrAllowed(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck wenn dieser Positionstyp eine Positionsnummer erh&amp;amp;auml;lt&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure SetPosNr(cP: string; cT: string = &#039;&#039;; cG: string = &#039;&#039;; cFormat: string = &#039;&#039;)&amp;lt;/code&amp;gt; || Setzt die Positionsnummer aus String-Komponenten (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure SetPosNr(nP: integer; nT: integer = -1; nG: integer = -1; cFormat: string = &#039;&#039;)&amp;lt;/code&amp;gt; || Setzt die Positionsnummer aus numerischen Komponenten (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosLaufend(iPos: integer = 0): string&amp;lt;/code&amp;gt; || Gibt die laufende Positionsnummer als formatierten String zur&amp;amp;uuml;ck&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure Preisfindung(cShopNr: string = CONST_NO_SHOP)&amp;lt;/code&amp;gt; || F&amp;amp;uuml;hrt die Preisfindung f&amp;amp;uuml;r diese Position aus&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function SetOpenBookLieferant(): boolean&amp;lt;/code&amp;gt; || Setzt den Open-Book-Lieferanten f&amp;amp;uuml;r diese Position&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure AddToMemo(const cText: string; const lNewLine: boolean = False)&amp;lt;/code&amp;gt; || F&amp;amp;uuml;gt Text zum Memofeld hinzu&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span id=&amp;quot;TVorgangPos_Meth_AktualisiereDaten&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;code&amp;gt;procedure AktualisiereDaten&amp;lt;/code&amp;gt; || Aktualisiert Texte, EK- und VK-Preise gem&amp;amp;auml;&amp;amp;szlig; [[#TVorgang_Prop_ParameterPositionsdatenAktualisieren|ParameterPositionsdatenAktualisieren]]&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure EKCalcMengeIn(var nEkFak: double)&amp;lt;/code&amp;gt; || Berechnet den EK-Mengeneingabe-Faktor (R&amp;amp;uuml;ckgabe per var-Parameter)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function CanSave(): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft ob diese Position gespeichert werden kann/darf&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure qSqlSet(AqSql: TqSql)&amp;lt;/code&amp;gt; || Setzt das SQL-Objekt f&amp;amp;uuml;r erweiterte DB-Operationen dieser Position&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Globale Methoden =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Signatur !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstVKVorgang(cMainTable: string): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck, wenn die Haupttabelle ein VK-Vorgang ist&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function IstVKVorgangPos(cPosTable: string): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck, wenn die Positionstabelle zu einem VK-Vorgang geh&amp;amp;ouml;rt&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyPosmengeDB(oMyDB: TxDB; cFromUID: string): string&amp;lt;/code&amp;gt; || Kopiert Positionsmengen aus einem anderen Vorgang (direkt per Datenbankzugriff)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyPosverpDB(oMyDB: TxDB; cFromUID: string): string&amp;lt;/code&amp;gt; || Kopiert Positionsverpackungen aus einem anderen Vorgang (direkt per Datenbankzugriff)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function CopyRTFLan(oMyDB: TxDB; cVonTable, cVonRef, cNachTable, cNachRef: String): String&amp;lt;/code&amp;gt; || Kopiert RTF-Langtexte zwischen Vorgangs-Positionen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure CopyKalkulationAN2AU(oMyDB: TxDB; cANRef1, cANRef2, cAURef1, cAURef2: String; fPosmenge: Double)&amp;lt;/code&amp;gt; || Kopiert Kalkulation von Angebot nach Auftrag (mit Mengenfaktor)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure CopyKalkulationAU(oMyDB: TxDB; cANRef1, cANRef2, cAURef1, cAURef2: String)&amp;lt;/code&amp;gt; || Kopiert Auftragskalkulation zwischen zwei Positionen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure CopyKalkulationAN(oMyDB: TxDB; cANRef1, cANRef2, cAURef1, cAURef2: String)&amp;lt;/code&amp;gt; || Kopiert Angebotskalkulation zwischen zwei Positionen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosNrFormatCheck(const cFormat: string): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft, ob ein Positionsnummern-Format g&amp;amp;uuml;ltig ist (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosNrFormatCheck(oMyDB: TxDB; const cFormat: string): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft Format gegen Datenbankeinstellungen (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosNrFormatCounts(const cFormat: string; out nG, nT, nP: integer): boolean&amp;lt;/code&amp;gt; || Liefert die Stellenzahlen f&amp;amp;uuml;r Gewerk, Titel und Position aus dem Format (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosNrFormatCounts(oMyDB: TxDB; const cFormat: string; out nG, nT, nP: integer): boolean&amp;lt;/code&amp;gt; || Wie oben, mit Datenbankzugriff (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function PosNrSplit(oMyDB: TxDB; const cFormat, cPosTyp: string; cPosNr: string; out nG, nT, nP: integer): boolean&amp;lt;/code&amp;gt; || Zerlegt eine formatierte Positionsnummer in ihre Bestandteile&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function GetVorgangMandant(oMyDB: TxDB; const cTable, cNr: string): string&amp;lt;/code&amp;gt; || Gibt den Mandanten-Schl&amp;amp;uuml;ssel f&amp;amp;uuml;r einen Vorgang zur&amp;amp;uuml;ck&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function GetVorgangTextTB(const nPMode: integer; out cTB_Nr: string; cFiliale: string = &#039;&#039;): boolean&amp;lt;/code&amp;gt; || Ermittelt die Textbaustein-Nummer f&amp;amp;uuml;r den angegebenen Positionsmodus&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function GetVorgangTextTBPers(oMyDB: TxDB; const cPsNr: string; const nPMode: integer; out cTB_Nr: string; cFiliale: string = &#039;&#039;): boolean&amp;lt;/code&amp;gt; || Wie GetVorgangTextTB, zus&amp;amp;auml;tzlich personenbezogen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function KopfTextPlatzhalter(var cKopfText: string; const cBrief1, cBrief2: string): boolean&amp;lt;/code&amp;gt; || Ersetzt Platzhalter im Kopftext durch Briefanredefelder&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangArt(oMyDB: TxDB; const cDMS, cNr: string): integer&amp;lt;/code&amp;gt; || Gibt die Vorgangsart als Integer-Kennziffer zur&amp;amp;uuml;ck&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangStatus(oMyDB: TxDB; const cDMS, cNr: string): string&amp;lt;/code&amp;gt; || Gibt den aktuellen Status eines Vorgangs aus der Datenbank zur&amp;amp;uuml;ck&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangVerbucht(oMyDB: TxDB; const cDMS, cNr: string): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck, wenn der Vorgang verbucht ist&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangUstEnthalten(oMyDB: TxDB; const cDMS, cNr, cUstSchl: string; cFeld: string = &#039;&#039;): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft, ob ein bestimmter USt-Schl&amp;amp;uuml;ssel im Vorgang verwendet wird&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function PortoVerpackKannSkonto(): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck, wenn Porto/Verpackung skontof&amp;amp;auml;hig ist (laut Systemeinstellung)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function GetPosBild(oMyDB: TxDB; cArtNr: string; var cBildUID: string): boolean&amp;lt;/code&amp;gt; || Ermittelt die Bild-UID eines Artikels f&amp;amp;uuml;r eine Positions-Bildposition&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangVertreterVorb(oMyDB: TxDB; const cVertreter: string): string&amp;lt;/code&amp;gt; || Gibt den vorgebelegten Vertreter-Schl&amp;amp;uuml;ssel zur&amp;amp;uuml;ck&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangVertreterPrio(oMyDB: TxDB; const cAktVertreter: string): string&amp;lt;/code&amp;gt; || Gibt den Vertreter mit h&amp;amp;ouml;chster Priorit&amp;amp;auml;t zur&amp;amp;uuml;ck&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function GenerierePositionskommentar(cUrsprung, cKommentar: String): String&amp;lt;/code&amp;gt; || Kombiniert Ursprungs- und Kommentartext zu einem Positions-Kommentar&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function ReplacePlatzhalterReparaturAuftrag(cRAufNr: String; cText: String = &#039;&#039;): String&amp;lt;/code&amp;gt; || Ersetzt Platzhalter im Text durch Reparaturauftragsdaten&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function ReplacePlatzhalterPosErfassung(oMyDB: TxDB; const cBuffer, cTable, cNr: string; const lDef: Boolean = False; const lRepa: Boolean = False): String&amp;lt;/code&amp;gt; || Ersetzt Platzhalter im Text bei der Positionserfassung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function LoadPlatzhalterVorgang(oMyDB: TxDB; const cTable, cNr: string; var oPlatzhalter: TPlatzhalterVorgang): Boolean&amp;lt;/code&amp;gt; || L&amp;amp;auml;dt Platzhalter-Daten eines Vorgangs aus der Datenbank&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function PlatzhalterVorgang(const cText, cNr: string; const oPlatzhalter: TPlatzhalterVorgang; const lDef: Boolean = false; const lRepa: Boolean = false): string&amp;lt;/code&amp;gt; || Ersetzt Platzhalter im Text mit den geladenen Vorgang-Platzhaltern&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function GetPosVorb_ErlKto(oMyDB: TxDB; const cErlJahr, cManNr, cFiliale: string): string&amp;lt;/code&amp;gt; || Gibt das Erl&amp;amp;ouml;skonto f&amp;amp;uuml;r eine Positionsvorbelegung zur&amp;amp;uuml;ck&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;procedure ChangePosPreisFromLeistPreis2(oVorgang: TVorgang)&amp;lt;/code&amp;gt; || Wechselt f&amp;amp;uuml;r alle Positionen auf den alternativen Leistungspreis 2&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_ToXMLStr(oMyDB: TxDB; const cTable, cPosTable, cVorgNr: String): string&amp;lt;/code&amp;gt; || Exportiert einen Vorgang als XML-String&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_ToDelArchiv(oMyDB: TxDB; const cTable, cPosTable, cVorgNr: String): Boolean&amp;lt;/code&amp;gt; || Verschiebt einen Vorgang ins L&amp;amp;ouml;scharchiv&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_ToXMLFile(oMyDB: TxDB; const cFile, cTable, cPosTable, cVorgNr: String): Boolean&amp;lt;/code&amp;gt; || Exportiert einen Vorgang in eine XML-Datei&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function XMLFile_ToVorgang(oMyDB: TxDB; const cData: String; var cNewNr, cOldNr: String): Boolean&amp;lt;/code&amp;gt; || Importiert einen Vorgang aus einem XML-String/-Datei&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function DelArchivTo_Vorgang(oMyDB: TxDB; const cTabelle, cVorgang: String): String&amp;lt;/code&amp;gt; || Stellt einen archivierten Vorgang wieder her&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_Runden_MengeInFak(oMyDB: TxDB; const cTabMain, cTabPos: string; nValue: double): double&amp;lt;/code&amp;gt; || Rundet den Mengeneingabe-Faktor gem&amp;amp;auml;&amp;amp;szlig; Tabelleneinstellung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_Rohertrag(oMyDB: TxDB; const cDMSTyp, cVorgNr: String; nNettoBetrag: Double): String&amp;lt;/code&amp;gt; || Berechnet den Rohertrag eines Vorgangs&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_Rohertrag_Ext(oMyDB: TxDB; const cDMSTyp, cVorgNr: String; nNettoBetrag: Double; lSollStunden: Boolean): string&amp;lt;/code&amp;gt; || Berechnet den Rohertrag erweitert (mit Sollstunden)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangFelder(cTyp: String; lPosition, lArtikel, lMaterial, lAuswertung, lMessen: Boolean; lSchiff: Boolean = False): String&amp;lt;/code&amp;gt; || Gibt die aktiven Feldgruppen eines Vorgangstyps als String zur&amp;amp;uuml;ck (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangFelder(oMyDB: TxDB; cTyp: String; lPosition, lArtikel, lMaterial, lAuswertung, lMessen: Boolean; lSchiff: Boolean = False): String&amp;lt;/code&amp;gt; || Wie oben, mit Datenbankzugriff (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_IstGesperrt(oMyDB: TxDB; const cTyp, cRef: string; const cFeld: string = &#039;a_nr&#039;): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft, ob ein Vorgang gesperrt ist (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_IstGesperrt(oMyDB: TxDB; const rDMS: TDMSType; const cRef: string; const cFeld: string = &#039;a_nr&#039;): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft Sperrung per DMS-Typ (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_FilterSperrung(oMyDB: TxDB; const cTyp, cRef: string; out cOffen, cGesperrt: string; const cFeld: string = &#039;a_nr&#039;): boolean&amp;lt;/code&amp;gt; || Gibt SQL-Filter-Strings f&amp;amp;uuml;r offene/gesperrte Vorg&amp;amp;auml;nge zur&amp;amp;uuml;ck&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_FilterSperrung_Offen(oMyDB: TxDB; const cTyp, cRef: string; out cOffen: string; const cFeld: string = &#039;a_nr&#039;): boolean&amp;lt;/code&amp;gt; || Gibt nur den Filter f&amp;amp;uuml;r offene (nicht gesperrte) Vorg&amp;amp;auml;nge zur&amp;amp;uuml;ck&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_UbernahmeMassen(oMyDB: TxDB; const cVonUid, cNachDmsTyp, cNachVorgNr, cNachUid: string): boolean&amp;lt;/code&amp;gt; || Massenweise Positions&amp;amp;uuml;bernahme zwischen Vorg&amp;amp;auml;ngen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_GetMenge(oMyDB: TxDB; const cPosTable, cKeyField, cUID: String; out nUrmenge: Double; const cEigUID: String = &#039;&#039;): Double&amp;lt;/code&amp;gt; || Liest die aktuelle und Ursprungsmenge einer Position aus der Datenbank&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_CheckPosTyp(const cTyp: string): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft, ob ein Positionstyp-Schl&amp;amp;uuml;ssel g&amp;amp;uuml;ltig ist&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_HatReEmpfAdr(qVorgangData: TxFQuery): boolean&amp;lt;/code&amp;gt; || Gibt True zur&amp;amp;uuml;ck, wenn der Vorgang eine Rechnungsempf&amp;amp;auml;nger-Adresse hat (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_HatReEmpfAdr(qVorgangData: TxQuery): boolean&amp;lt;/code&amp;gt; || Wie oben, f&amp;amp;uuml;r TxQuery (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_AnzeigeReEmpf(oMyDB: TxDB; qMain: TxFQuery; const cMainTable: string; cAdressBez: string = &#039;&#039;; lUseReportLang: boolean = True): string&amp;lt;/code&amp;gt; || Gibt die anzuzeigende Rechnungsempf&amp;amp;auml;nger-Adresse als formatierten Text zur&amp;amp;uuml;ck (&amp;amp;Uuml;berladung 1)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_AnzeigeReEmpf(oMyDB: TxDB; qMain: TxQuery; const cMainTable: string; cAdressBez: string = &#039;&#039;; lUseReportLang: boolean = True): string&amp;lt;/code&amp;gt; || Wie oben, f&amp;amp;uuml;r TxQuery (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PortoVerpackBerechnet(oMyDB: TxDB; const cDmsVon, cDmsSetzen, cNrSetzen: string): boolean&amp;lt;/code&amp;gt; || Pr&amp;amp;uuml;ft, ob Porto/Verpackung bereits berechnet wurde und setzt Kennzeichen&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangVorb_Waehrung(oMyDB: TxDB; const cValue: string = &#039;01&#039;): string&amp;lt;/code&amp;gt; || Gibt den Standardw&amp;amp;auml;hrungsschl&amp;amp;uuml;ssel f&amp;amp;uuml;r Vorgangsvorbelegung zur&amp;amp;uuml;ck&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangVorb_RechKreis(oMyDB: TxDB; const cValue: string = &#039;01&#039;): string&amp;lt;/code&amp;gt; || Gibt den Standardrechnungskreis-Schl&amp;amp;uuml;ssel zur&amp;amp;uuml;ck&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function VorgangVorbPos_VomLager(const nTokenPos: integer; const cLagStreck: string): string&amp;lt;/code&amp;gt; || Gibt das Lager/die Strecke f&amp;amp;uuml;r eine Positionsvorbelegung zur&amp;amp;uuml;ck&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_VersandkostenMBW(oMyDB: TxDB; const cDmsTyp: string; const lGen: boolean; const cPsNr: string; const cPsVersand: string = &#039;&#039;; const cPsZusatz: string = &#039;&#039;): string&amp;lt;/code&amp;gt; || Berechnet Versandkosten auf Basis des Mindestbestellwerts&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfFile(oMyDB: TxDB; const cDmsTyp, cNr, cKdNr: string; out cPdfFile: string): boolean&amp;lt;/code&amp;gt; || Ermittelt den Pfad zur archivierten PDF-Datei eines Vorgangs&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfAsBase64File(oMyDB: TxDB; const cDmsTyp, cNr, cKdNr: string; out cBase64File: string): boolean&amp;lt;/code&amp;gt; || Liefert die PDF-Datei als Base64-kodierten Pfad&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfAsBase64Parts(oMyDB: TxDB; const cDmsTyp, cNr, cKdNr: string; const nPart: integer; out cBase64: string; out nParts: integer; nPartSize: integer = 0): boolean&amp;lt;/code&amp;gt; || Liefert die PDF in Teilen als Base64 (mit KdNr, &amp;amp;Uuml;berladung 1)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfAsBase64Parts(oMyDB: TxDB; const cDmsTyp, cNr, cKdNr: string; const nPart: integer; out cBase64: string; out nParts: integer; cPartSize: string): boolean&amp;lt;/code&amp;gt; || Wie oben, Teilgr&amp;amp;ouml;&amp;amp;szlig;e als String (&amp;amp;Uuml;berladung 2)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfAsBase64Parts(oMyDB: TxDB; const cDmsTyp, cNr: string; const nPart: integer; out cBase64: string; out nParts: integer; nPartSize: integer = 0): boolean&amp;lt;/code&amp;gt; || Wie oben, ohne KdNr (&amp;amp;Uuml;berladung 3)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfAsBase64Parts(oMyDB: TxDB; const cDmsTyp, cNr: string; const nPart: integer; out cBase64: string; out nParts: integer; cPartSize: string): boolean&amp;lt;/code&amp;gt; || Wie oben, Teilgr&amp;amp;ouml;&amp;amp;szlig;e als String (&amp;amp;Uuml;berladung 4)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PdfAsBase64(oMyDB: TxDB; const cDmsTyp, cNr: string; out cBase64: string): boolean&amp;lt;/code&amp;gt; || Liefert die gesamte PDF als Base64-String&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_PosUebernommen(oMyDB: TxDB; const cVonDmsTyp, cVonNr, cPosUid: string): TVorgangPosOriginalListe&amp;lt;/code&amp;gt; || Gibt eine Liste aller Vorg&amp;amp;auml;nge zur&amp;amp;uuml;ck, in die diese Position &amp;amp;uuml;bernommen wurde&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_GetPosRef(oMyDB: TxDB; const cVonDmsTyp, cVonNr, cPosUid, cRefDmsTypen: string): TVorgangPosOriginalListe&amp;lt;/code&amp;gt; || Gibt Referenzen einer Position auf andere DMS-Typen zur&amp;amp;uuml;ck&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_ArtBox(const cDMSTyp: string): string&amp;lt;/code&amp;gt; || Gibt die Vorgangsart-Box (Auswahlstring) f&amp;amp;uuml;r einen DMS-Typ zur&amp;amp;uuml;ck&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_SummenEbene(const nEbene: integer): integer&amp;lt;/code&amp;gt; || Validiert und normiert eine Summen-Ebene (1..VB_MAX_SummenEbenen)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_SummenEbeneAusMenge(const nMenge: double): integer&amp;lt;/code&amp;gt; || Berechnet die Summenebene aus einem Mengenwert&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_KalkAufschlagPos(const nSatz, nZwSumme, nMengeIn, nMengeInFak, nRabatt: double): double&amp;lt;/code&amp;gt; || Berechnet den Aufschlagsbetrag f&amp;amp;uuml;r eine Position&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_SumPosText(const eTyp: [[#TVB_PosType|TVB_PosType]]; const cLanguage: string): string&amp;lt;/code&amp;gt; || Gibt den lokalisierten Standardtext f&amp;amp;uuml;r eine Summenposition zur&amp;amp;uuml;ck&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_SumPosTextZw(cLang: string = &#039;&#039;): string&amp;lt;/code&amp;gt; || Gibt den lokalisierten Text f&amp;amp;uuml;r Zwischensummen-Positionen zur&amp;amp;uuml;ck&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;function Vorgang_SumPosTextTit(cLang: string = &#039;&#039;): string&amp;lt;/code&amp;gt; || Gibt den lokalisierten Text f&amp;amp;uuml;r Titelsummen-Positionen zur&amp;amp;uuml;ck&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Nimz</name></author>
	</entry>
	<entry>
		<id>https://wiki.bergau.de/index.php?title=OBS/Makros_und_Scripting/Allgemeines/Klassen/Vorg%C3%A4nge&amp;diff=64499</id>
		<title>OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge</title>
		<link rel="alternate" type="text/html" href="https://wiki.bergau.de/index.php?title=OBS/Makros_und_Scripting/Allgemeines/Klassen/Vorg%C3%A4nge&amp;diff=64499"/>
		<updated>2026-06-12T09:36:31Z</updated>

		<summary type="html">&lt;p&gt;Nimz: /* Basis TVorgangPos */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Makros und Scripting}}&lt;br /&gt;
Es gibt für die Generierung von Vorgängen eigene Klassen. Da es zwischen den Vorgängen immer irgendwelche Unterschiede gibt, existiert auch für jeden Vorgangs-Typ eine eigene Klasse.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Übersicht Klassen:&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Angebot|Angebot]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Auftrag|Auftrag]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Reparaturauftrag|Reparaturauftrag]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Produktionsauftrag|Produktionsauftrag]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Lieferschein|Lieferschein]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Rechnung|Rechnung]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Bestellung|Bestellung]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Einkaufslieferschein|Einkaufslieferschein]]&lt;br /&gt;
*[[OBS/Makros und Scripting/Allgemeines/Klassen/Vorgänge/Einkauf|Einkauf]]&lt;br /&gt;
&lt;br /&gt;
=Basis TVorgang=&lt;br /&gt;
==Variablen==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
        oMyDB             : TxDB;&lt;br /&gt;
        cMainTable        : string;&lt;br /&gt;
        cPosTable         : string;&lt;br /&gt;
        oProtokoll        : TStringList;&lt;br /&gt;
        lMeldung          : Boolean;                        //Meldungen Anzeigen&lt;br /&gt;
        lSetPSBemAuto     : Boolean;&lt;br /&gt;
&lt;br /&gt;
        cVorgNr           : String;                         // Vorgangsnummer&lt;br /&gt;
        cProjNr           : String;                         // Projektnummer&lt;br /&gt;
        lBrutto           : Boolean;                        // Brutto positionen&lt;br /&gt;
        cLanguage         : String;                         // Sprache&lt;br /&gt;
        cTyp              : String;                         // Auftragstyp&lt;br /&gt;
        cStatus           : String;                         // Auftrags-Status (0-22)&lt;br /&gt;
        cStatM            : String;                         // 1-stellig&lt;br /&gt;
        cStatS            : String;                         // 1-stellig&lt;br /&gt;
        cStatL            : String;                         // 2-stellig&lt;br /&gt;
        cStatR            : String;                         // 2-stellig&lt;br /&gt;
        dVorgDat          : TDateTime;                      // Vorgangsdatum&lt;br /&gt;
        dFaelligDat       : TDateTime;                      // Fälligkeitsdatum&lt;br /&gt;
        dBuchDat          : TDateTime;                      // Buchungsdatum&lt;br /&gt;
        dAufDat           : TDateTime;                      // Auftragsdatum&lt;br /&gt;
        cKdNr             : String;                         // Kundennummer&lt;br /&gt;
        cAnrede           : String;                         // Kunde Anrede&lt;br /&gt;
        cName             : String;                         // Kunde Nachname&lt;br /&gt;
        cVorname          : String;                         // Kunde Vorname&lt;br /&gt;
        cZusatz1          : String;                         // Kunde Zusatz1&lt;br /&gt;
        cZusatz2          : String;                         // Kunde Zusatz2&lt;br /&gt;
        cStrasse          : String;                         // Kunde Straße&lt;br /&gt;
        cPostfach         : String;                         // Kunde Postfach&lt;br /&gt;
        cLK               : String;                         // Kunde Land&lt;br /&gt;
        cPLZ              : String;                         // Kunde PLZ&lt;br /&gt;
        cOrt              : String;                         // Kunde Ort&lt;br /&gt;
        cAngebNr          : String;                         // Auftragsnummer&lt;br /&gt;
        cLSNr             : String;                         // Lieferscheinnummer&lt;br /&gt;
        cRechNr           : String;                         //&lt;br /&gt;
        cAuftNr           : String;                         // Auftragsnummer&lt;br /&gt;
        cRepaNr           : String;                         // Reparaturauftragsnummer&lt;br /&gt;
        cEinkaufsNr       : String;                         // Einkaufsnummer&lt;br /&gt;
        cBestellNr        : String;                         // Bestellnummer&lt;br /&gt;
        cPosText          : String;                         // Positionstext&lt;br /&gt;
        cLProjNr          : String;                         // Lieferantenprojektnr&lt;br /&gt;
        cKopfNr           : String;                         // Kopftext-Nummer (00-999)&lt;br /&gt;
        cKopftext         : String;                         // Freier Kopftext&lt;br /&gt;
        cFusstext         : String;                         // Freier Fusstext&lt;br /&gt;
        cFussNr           : String;                         // Fusstext-Nummer (00-999)&lt;br /&gt;
        nNBetrag          : Double;                         // Nettobetrag der Auftrag&lt;br /&gt;
        nBBetrag          : Double;                         // Bruttobetrag der Auftrag&lt;br /&gt;
        nEKBetrag         : Double;                         // Einkaufsbetrag der Auftrag&lt;br /&gt;
        nRabattBetrag     : Double;                         // Rabatt Betrag&lt;br /&gt;
        nRabattProz       : Double;                         // Rabatt Prozentual&lt;br /&gt;
        nPorto            : Double;                         // Portobetrag&lt;br /&gt;
        nVerpackung       : Double;                         // Verpackungskosten&lt;br /&gt;
        cVersand          : String;                         // Versand über (0-99)&lt;br /&gt;
        cZahlBed          : String;                         // Zahlungsbedingung (0-99)&lt;br /&gt;
        cWaehr            : String;                         // Währung (0-99)&lt;br /&gt;
        cFormul           : String;                         //&lt;br /&gt;
        cVAnr             : String;                         // Kostenstelle&lt;br /&gt;
        cVKdNr            : String;                         // Versand Kundennummer&lt;br /&gt;
        cVName1           : String;                         // Versand Name&lt;br /&gt;
        cVName2           : String;                         // Versand Name&lt;br /&gt;
        cVZusatz          : String;                         // Versand Zusatz&lt;br /&gt;
        cVStrasse         : String;                         // Versand Straße&lt;br /&gt;
        cVLK              : String;                         // Versand Land&lt;br /&gt;
        cVPLZ             : String;                         // Versand PLZ&lt;br /&gt;
        cVOrt             : String;                         // Versand Ort&lt;br /&gt;
        cVUID             : String;                         // Versand UID&lt;br /&gt;
        cAuftNrKd         : String;                         // Auftragsnummer des Kunden&lt;br /&gt;
        cBesteller        : String;                         //&lt;br /&gt;
        cSachb            : String;                         // Sachbearbeiter (0-99)&lt;br /&gt;
        cRabPosJN         : String;                         // J oder N&lt;br /&gt;
        cMWSTJN           : String;                         // J oder N&lt;br /&gt;
        cSText1           : String;                         //&lt;br /&gt;
        cSText2           : String;                         //&lt;br /&gt;
        cSText3           : String;                         //&lt;br /&gt;
        cSText4           : String;                         //&lt;br /&gt;
        cSText5           : String;                         //&lt;br /&gt;
        cSText6           : String;                         //&lt;br /&gt;
        cSText7           : String;                         //&lt;br /&gt;
        cPreisJN          : String;                         // J oder N&lt;br /&gt;
        nNet1             : Double;                         //&lt;br /&gt;
        nNet2             : Double;                         //&lt;br /&gt;
        nNet3             : Double;                         //&lt;br /&gt;
        nBrutto1          : Double;                         //&lt;br /&gt;
        nBrutto2          : Double;                         //&lt;br /&gt;
        nBrutto3          : Double;                         //&lt;br /&gt;
        nMwSt1            : Double;                         //&lt;br /&gt;
        nMwSt2            : Double;                         //&lt;br /&gt;
        nMwSt3            : Double;                         //&lt;br /&gt;
        cMwStSchl1        : String;                         //&lt;br /&gt;
        cMwStSchl2        : String;                         //&lt;br /&gt;
        cMwStSchl3        : String;                         //&lt;br /&gt;
        cMwStAbs          : String;                         //&lt;br /&gt;
        dLiefDat          : TDateTime;                      // Lieferdatum&lt;br /&gt;
        cDeleted          : String;                         //&lt;br /&gt;
        dLDat2            : TDateTime;                      // Lieferdatum&lt;br /&gt;
        cSprache          : String;                         //&lt;br /&gt;
        cReEmpf           : String;                         // Kundennummer des Rg-Empfängers&lt;br /&gt;
        cVertreter        : String;                         // Vertreter (000-9999)&lt;br /&gt;
        cVerbucht         : String;                         //&lt;br /&gt;
        cLager            : String;                         //&lt;br /&gt;
        //cRgArt            : String;                         //&lt;br /&gt;
        cBonusJN          : String;                         // J oder N&lt;br /&gt;
        cWLiefNr          : String;                         //&lt;br /&gt;
        cRechFrei         : String;                         //&lt;br /&gt;
        cBonNr            : String;                         //&lt;br /&gt;
        cMandant          : String;                         // Mandant (001-999)&lt;br /&gt;
        nMwStDM           : Double;                         //&lt;br /&gt;
        nKursDM           : Double;                         //&lt;br /&gt;
        nAbschlag         : Double;                         //&lt;br /&gt;
        nZBetrag          : Double;                         //&lt;br /&gt;
        nZSkonto          : Double;                         //&lt;br /&gt;
        dZDatum           : TDateTime;                      //&lt;br /&gt;
        cMemo             : String;                         // Memofeld&lt;br /&gt;
        nValuta           : Integer;                        // Valuta in Tagen (max. 4 Stellen)&lt;br /&gt;
        cKostenst         : String;                         // Kostenstelle&lt;br /&gt;
        cKostentraeger    : String;                         // Kostenträger&lt;br /&gt;
        cKalkGr           : String;                         //&lt;br /&gt;
        cKalkRet          : String;                         //&lt;br /&gt;
        nOFBetrag         : Double;                         //&lt;br /&gt;
        cWKNr             : String;                         //&lt;br /&gt;
        cFrachtV          : String;                         //&lt;br /&gt;
        nFrachtK          : Double;                         //&lt;br /&gt;
        nFrachtG          : Integer;                        //&lt;br /&gt;
        cGruppe           : String;                         //&lt;br /&gt;
        cPosFormat        : String;                         // Format der Positionsnummerierung&lt;br /&gt;
        nPosInc           : Integer;                        // Positionsnummerierung Nummerierungsintervall. Default 1&lt;br /&gt;
        cFiliale          : String;                         //&lt;br /&gt;
        cRabText          : String;&lt;br /&gt;
        cErfasser         : String;&lt;br /&gt;
        nSKFBetrag        : Double;&lt;br /&gt;
        nMBWert           : Double;&lt;br /&gt;
        cLiefStrecke      : String;&lt;br /&gt;
        cMindbest         : String;&lt;br /&gt;
        cBetreff          : String;                         //Betreff&lt;br /&gt;
        cGeraet           : String;&lt;br /&gt;
        cVersandkostenMBW : String;&lt;br /&gt;
        cKeineVersPausch  : String;&lt;br /&gt;
        cMemoDruck        : String;                         //Positionslangtext drucken? Ja, Nein oder Voreinstellung&lt;br /&gt;
        cLieferLiefNr     : String;                         //Lieferscheinnummer des Lieferanten&lt;br /&gt;
        cRabattText       : String;                         // Rabatttext (Rabatt, Lagerrabatt, Auftragsrabatt, Objektrabatt)&lt;br /&gt;
        cArt              : String;&lt;br /&gt;
        cSysUid           : String;&lt;br /&gt;
        cDMS_TYP          : String;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Methoden==&lt;br /&gt;
===IstAngebot===&lt;br /&gt;
Definition:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
function  IstAngebot(): boolean;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Erklärung:&amp;lt;br /&amp;gt;&lt;br /&gt;
Überprüft ob &#039;&#039;&#039;cMainTable&#039;&#039;&#039; auf den Wert &#039;&#039;&#039;angebot&#039;&#039;&#039; gesetzt ist&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
    Result := (Lower(Self.cMainTable) = &#039;angebot&#039;);&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===IstAuftrag===&lt;br /&gt;
Definition:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
function  IstAuftrag(): boolean;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Erklärung:&amp;lt;br /&amp;gt;&lt;br /&gt;
Überprüft ob &#039;&#039;&#039;cMainTable&#039;&#039;&#039; auf den Wert &#039;&#039;&#039;auftrag&#039;&#039;&#039; gesetzt ist&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
    Result := (Lower(Self.cMainTable) = &#039;auftrag&#039;);&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===IstReparaturAuftrag===&lt;br /&gt;
Definition:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
function  IstReparaturAuftrag(): boolean;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Erklärung:&amp;lt;br /&amp;gt;&lt;br /&gt;
Überprüft ob &#039;&#039;&#039;cMainTable&#039;&#039;&#039; auf den Wert &#039;&#039;&#039;raufsta&#039;&#039;&#039; gesetzt ist&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
    Result := (Lower(Self.cMainTable) = &#039;raufsta&#039;);&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===IstLieferschein===&lt;br /&gt;
Definition:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
function  IstLieferschein(): boolean;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Erklärung:&amp;lt;br /&amp;gt;&lt;br /&gt;
Überprüft ob &#039;&#039;&#039;cMainTable&#039;&#039;&#039; auf den Wert &#039;&#039;&#039;liefsta&#039;&#039;&#039; gesetzt ist&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
    Result := (Lower(Self.cMainTable) = &#039;liefsta&#039;);&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===IstRechnung===&lt;br /&gt;
Definition:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
function  IstRechnung(): boolean;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Erklärung:&amp;lt;br /&amp;gt;&lt;br /&gt;
Überprüft ob &#039;&#039;&#039;cMainTable&#039;&#039;&#039; auf den Wert &#039;&#039;&#039;rechsta&#039;&#039;&#039; gesetzt ist&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
    Result := (Lower(Self.cMainTable) = &#039;rechsta&#039;);&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===IstBestellung===&lt;br /&gt;
Definition:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
function  IstBestellung(): boolean;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Erklärung:&amp;lt;br /&amp;gt;&lt;br /&gt;
Überprüft ob &#039;&#039;&#039;cMainTable&#039;&#039;&#039; auf den Wert &#039;&#039;&#039;bestell&#039;&#039;&#039; gesetzt ist&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
    Result := (Lower(Self.cMainTable) = &#039;bestell&#039;);&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===IstEKLieferschein===&lt;br /&gt;
Definition:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
function  IstEKLieferschein(): boolean;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Erklärung:&amp;lt;br /&amp;gt;&lt;br /&gt;
Überprüft ob &#039;&#039;&#039;cMainTable&#039;&#039;&#039; auf den Wert &#039;&#039;&#039;einklief&#039;&#039;&#039; gesetzt ist&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
    Result := (Lower(Self.cMainTable) = &#039;einklief&#039;);&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===IstEinkauf===&lt;br /&gt;
Definition:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
function  IstEinkauf(): boolean;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Erklärung:&amp;lt;br /&amp;gt;&lt;br /&gt;
Überprüft ob &#039;&#039;&#039;cMainTable&#039;&#039;&#039; auf den Wert &#039;&#039;&#039;einkauf&#039;&#039;&#039; gesetzt ist&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
    Result := (Lower(Self.cMainTable) = &#039;einkauf&#039;);&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===IstVG_VK===&lt;br /&gt;
Definition:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
function  IstVG_VK(): boolean;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Erklärung:&amp;lt;br /&amp;gt;&lt;br /&gt;
Prüfung, ob es sich bei dem Vorgang um einen Verkaufsvorgang handelt. Nutzt die &amp;quot;Ist&amp;quot;-Methoden.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
    Result := self.IstAngebot() or&lt;br /&gt;
              self.IstAuftrag() or&lt;br /&gt;
              self.IstReparaturAuftrag() or&lt;br /&gt;
              self.IstLieferschein() or&lt;br /&gt;
              self.IstRechnung();&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===IstVG_EK===&lt;br /&gt;
Definition:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
function  IstVG_EK(): boolean;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Erklärung:&amp;lt;br /&amp;gt;&lt;br /&gt;
Prüfung, ob es sich bei dem Vorgang um einen Einkaufsvorgang handelt. Nutzt die &amp;quot;Ist&amp;quot;-Methoden.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
begin&lt;br /&gt;
    Result := self.IstBestellung() or&lt;br /&gt;
              self.IstEKLieferschein() or&lt;br /&gt;
              self.IstEinkauf();&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===NeuNumLock===&lt;br /&gt;
Definition:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
function  NeuNumLock(): boolean;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Erklärung:&amp;lt;br /&amp;gt;&lt;br /&gt;
Blockiert die Generierung einer neuen Vorgangsnummer für den jeweiligen Vorgangstyp, bis [[#NeuNumLockRelease|&#039;&#039;NeuNumLockRelease&#039;&#039;]] ausgeführt wird.{{Achtung|Blockiert auch die Generierung einer neuen Vorgangsnummer für die manuelle Anlage und andere Makros/Generierungen!}}&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
    oVG.NeuNumLock();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===NeuNumLockRelease===&lt;br /&gt;
Definition:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
procedure NeuNumLockRelease();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Erklärung:&amp;lt;br /&amp;gt;&lt;br /&gt;
Gibt die Generierung von Vorgangsnummern für den jeweiligen Vorgangstyp wieder frei. Sollte erst ausgeführt werden, wenn der Vorgang mit der generierten Nummer gespeichert wurde. {{Hinweis|In der Regel werden Sie diese Funktionen nicht im Makro nutzen müssten, da die Funktionen beim Speichern des Vorgangs ebenfalls ausgeführt wird.}}&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
    oVG.NeuNumLockRelease();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===VorgNeuNum===&lt;br /&gt;
Definition:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
function  VorgNeuNum(cFilter: string=&#039;&#039;; lAbweichend: boolean = false): string;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Erklärung:&amp;lt;br /&amp;gt;&lt;br /&gt;
Startet die Generierung einer neuen Vorgangsnummer. Die generierte Nummer wird automatisch in cVorgNr geschrieben. Gibt die erstellte Nummer zurück. Wird beim Speichern ausgeführt, wenn noch keine Vorgangsnummer gesetzt ist.{{Achtung|Führt [[#NeuNumLock|&#039;&#039;NeuNumLock&#039;&#039;]] aus.}}&amp;lt;br /&amp;gt;&lt;br /&gt;
Parameter:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;max-width: 720px;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name!! Beschreibung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| cFilter|| Filter/Vorgabe für Nummernkreis&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| lAbweichend|| Abweichende Jahresnummer. Funktioniert nur bei Rechnung und Einkauf.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
    cNeueNr := oVG.VorgNeuNum();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===VorgNeuNumBool===&lt;br /&gt;
Definition:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
function  VorgNeuNumBool(cFilter: string=&#039;&#039;; lAbweichend: boolean = false): boolean;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Erklärung:&amp;lt;br /&amp;gt;&lt;br /&gt;
Führt [[#VorgNeuNum|&#039;&#039;VorgNeuNum&#039;&#039;]] aus und prüft anschließend, ob cVorgNr leer ist (False) oder nicht (True).&amp;lt;br /&amp;gt;&lt;br /&gt;
Parameter:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;max-width: 720px;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name!! Beschreibung&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| cFilter|| Filter/Vorgabe für Nummernkreis&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| lAbweichend|| Abweichende Jahresnummer. Funktioniert nur bei Rechnung und Einkauf.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
    if (oVG.VorgNeuNumBool()) then begin&lt;br /&gt;
        Meldung(&#039;Neue Vorgangsnummer ist &#039;+oVG.cVorgNr);&lt;br /&gt;
    end;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===IstVorgNrGueltig===&lt;br /&gt;
Definition:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
function  IstVorgNrGueltig(cUID: string=&#039;&#039;): boolean;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Erklärung:&amp;lt;br /&amp;gt;&lt;br /&gt;
Prüft, ob die aktuell in cVorgNr eingetragene Nummer verwendet werden kann (True) oder bereits vergeben ist (False).&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
    if (oVG.IstVorgNrGueltig(oVG.cSysUid)) then begin&lt;br /&gt;
        Meldung(&#039;Nummer &#039;+oVG.cVorgNr+&#039; ist noch frei und kann verwendet werden&#039;);&lt;br /&gt;
    end;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===NeuePositionBase===&lt;br /&gt;
Definition:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
function  NeuePositionBase(): TVorgangPos;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Erklärung:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===NeuePositionBaseMS===&lt;br /&gt;
Definition:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
procedure NeuePositionBaseMS(oOrgPos: TVorgangPos);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Erklärung:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===LoeschePositionBase===&lt;br /&gt;
Definition:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
procedure LoeschePositionBase(nDel: integer);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Erklärung:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===VerschiebePositionBase===&lt;br /&gt;
Definition:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
procedure VerschiebePositionBase(nPos: integer; nZiel: integer);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Erklärung:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CheckIfNotNull===&lt;br /&gt;
Definition:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
function  CheckIfNotNull(): Boolean;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Erklärung:&amp;lt;br /&amp;gt;&lt;br /&gt;
Prüft alle Positionen, ob mindestens eine Position mit einer Menge ungleich 0 vorhanden ist (True, sonst False). &amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
    if (oVG.CheckIfNotNull() and oVG.CheckIfFirstPosOption()) then begin&lt;br /&gt;
        oVG.SaveRecord(oVG.cSysUid);&lt;br /&gt;
    end;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CheckIfFirstPosOption===&lt;br /&gt;
Definition:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
function  CheckIfFirstPosOption(): Boolean;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Erklärung:&amp;lt;br /&amp;gt;&lt;br /&gt;
Prüft die erste Position, ob es sich dabei um eine Optionspoition handelt. Rückgabe ist &#039;&#039;True&#039;&#039;, wenn die Position keine Optionsposition ist.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
    if (oVG.CheckIfNotNull() and oVG.CheckIfFirstPosOption()) then begin&lt;br /&gt;
        oVG.SaveRecord(oVG.cSysUid);&lt;br /&gt;
    end;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===IsPosBerechnung===&lt;br /&gt;
Definition:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
function  IsPosBerechnung(cPosArt: string): boolean;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Erklärung:&amp;lt;br /&amp;gt;&lt;br /&gt;
Prüft die angegebene Positionsart, ob es sich dabei um eine Art handelt, die in Rechnungen einfließen und somit &amp;quot;berechnet&amp;quot; werden. Nicht berechnet werden &#039;&#039;Alternativ&#039;&#039;, &#039;&#039;Optional&#039;&#039;, &#039;&#039;Eventual&#039;&#039;, &#039;&#039;Verbrauchsmaterial&#039;&#039; und &#039;&#039;ohne Berechnung&#039;&#039;.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CopyFrom===&lt;br /&gt;
Definition:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
procedure CopyFrom(oSrc: TVorgang);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Erklärung:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===KalkAll===&lt;br /&gt;
Definition:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
procedure KalkAll();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Erklärung:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Check_Multisteuer===&lt;br /&gt;
Definition:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
procedure Check_Multisteuer(oOrgPos: TVorgangPos; const cTable: string; const cMUID: string; const cRefNr: string);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Erklärung:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CopyPosmenge===&lt;br /&gt;
Definition:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
function  CopyPosmenge(cFromUID : string): string;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Erklärung:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CopyPosverp===&lt;br /&gt;
Definition:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
function  CopyPosverp(cFromUID : string): string;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Erklärung:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===FillPersonBase===&lt;br /&gt;
Definition:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
procedure FillPersonBase(qPers: TxFQuery);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Erklärung:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===SaveRecord===&lt;br /&gt;
Definition:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
function  SaveRecord(cUID : String = &#039;&#039;; lAlleSpeichern : Boolean = true): Boolean; virtual; abstract;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Erklärung:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===ReadVorgangBase===&lt;br /&gt;
Definition:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
function  ReadVorgangBase(qQuery: TxFQuery; lPos: boolean=false): boolean; overload;&lt;br /&gt;
&lt;br /&gt;
function  ReadVorgangBase(const cNr: string; lPos: boolean=false): boolean; overload;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Erklärung:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===JahrNr===&lt;br /&gt;
Definition:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
function  JahrNr(): string;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Erklärung:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Properties==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
        property  PnPosCnt                     : integer       read nPosCnt     write nPosCnt;&lt;br /&gt;
        property  PaPositionen[Index: integer] : TVorgangPos   read GetPosition write SetPosition; // Vorgangspositionen&lt;br /&gt;
        property  PcRabGrPers                  : string        read cRabGrPers;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=Basis TVorgangPos=&lt;br /&gt;
==Variablen==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   Index des Positionsarrays aus TVorgang&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        nPosIndex         : Integer;&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   Vorgangsnummer&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        cNr               : String; &lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   Kundennummer&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        cKundNr           : String;&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   az_uid-Referenz zu Auftragsposition&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        cAuftragsNr       : String;&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   az_uid-Referenz zu Bestellposition&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        cBestellNr        : String;&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   Positionstext&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        cPosText          : String; &lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   Liefernatenprojektnr&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        cLProjNr          : String;&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   az_uid-Referenz zu Lieferscheinposition&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        cLS_azUid         : String;&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   Versandnummer&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt; &lt;br /&gt;
        cVersandNr        : String;&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   Positionsnummer&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        cPosNr            : String;&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   Positionsnummer Erweiterung&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        cPosNr2           : String;&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   Positionsnummer&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        cPosKas           : String;&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   Leistungs-Nummer&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        cLeistungsNr      : String;&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   Bezeichnung 1&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;    &lt;br /&gt;
        cBezeichnung1     : String;   &lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   Bezeichnung 2&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        cBezeichnung2     : String;   &lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   nicht fakturierte Menge (MDS -&amp;gt; Leistungs-Einheitsfaktor)&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        nUrMenge          : Double;   &lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   Leistungs Mengen Faktor (MDS -&amp;gt; Leistungs-Einheitsfaktor)&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        nLeistFaktor      : Double;   &lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   Einheit&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        cEinheit          : String;&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   MengeG&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        nMengeG           : Integer;   &lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   Kolli&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        nKolli            : Integer;&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   Verpackung&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        cVerpackung       : String;   &lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   Inhalt&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        nInhalt           : Double;&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   Einzelpreis VK in Netto&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        nEPreis           : Double;   &lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   Einzelpreis VK in Brutto&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        nBEPreis          : Double;  &lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   Open Book Preis&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        nOBPreis          : Double;  &lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   UrPreis&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        nUrPreis          : Double;   &lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   UrPreisEK&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        nUrPreisEK        : Double;   &lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   Gesamt Preis VK Netto&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        nGPreis           : Double;   &lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   Gesamt Preis VK Brutto&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        nBGPreis          : Double;&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   EKPreis&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        nEKPreis          : Double;    &lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   EKPreis&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        nEKSPreis         : Double;    &lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   Manueller Preis Varianten&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        cManPreis         : String;&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   Rabatt&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        nRabatt           : Double;    &lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   Rabatt&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        nRabatt1          : Double;&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   RabattArt&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        cRabArt1          : String;    &lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   Rabatt&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        nRabatt2          : Double;    &lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   RabattArt&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        cRabArt2          : String;    &lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   Rabatt&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        nRabatt3          : Double;    &lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   RabattArt&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        cRabArt3          : String;    &lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   Rabatt&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        nRabatt4          : Double;    &lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   RabattArt&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        cRabArt4          : String;    &lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   Rabatt&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        nRabatt5          : Double;    &lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   RabattArt&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        cRabArt5          : String;    &lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   AddSub&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        nAddSub           : Double;&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   Konto&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        cKonto            : String;&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   LagerNr&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        cLagNr            : String;&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   Lagerort&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        cLagONr           : String;   &lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   Sachbearbeiter&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        cVerkaufer        : String;    &lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   Positionskennzeichen&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        cStatus           : String;&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   AuftragsNr&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        cAngebotsNr       : String;    &lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   UID&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        cUID              : String;  &lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   Multi-Steuer UID&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        cMUID             : String;    &lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   Retoure von Position (UID der Originalposition)&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        cRTVon            : String;&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   SpNr&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        cSpNr             : String;  &lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   BestellUID&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        cBestellUID       : String;    &lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   MaterialUID&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        cMaterialUID      : String;    &lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   EiliUID&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        cEiliUID          : String;&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   XUID1&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        cXUID1            : String;&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   XUID2&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        cXUID2            : String;   &lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   XUID3&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        cXUID3            : String;    &lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   XUID4&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        cXUID4            : String;   &lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   Kommentar&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        cKommentar        : String;   &lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   Provision&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        nProvision        : Double;    &lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   LiefKz&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        cLiefKz           : String;  &lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   ProdGr&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        cProdGr           : String;   &lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   FrachtV&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        nFrachtV          : Double;    &lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   Lieferschein-Nummer&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        cLSNr             : String;    &lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   Lieferschein-Datum&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        dLSDatum          : TDateTime; &lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   Positionsart&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        cPosArt           : String;&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   Skonto fähig J/N&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        cSKFJN            : String;&lt;br /&gt;
        cEKHerkunft       : String;&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   Personennummer des Lieferanten&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        cLiefNr           : String;   &lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   Einstellung Materialstatus:&lt;br /&gt;
        ///   1 = Vom Lager&lt;br /&gt;
        ///   2 = bestellen&lt;br /&gt;
        ///   3 = bestellen + Lieferung auf Strecke (Direktlieferung an Kunde)&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        cLagStreck        : String;  &lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   Aufschlag&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        cAufschlag        : String;   &lt;br /&gt;
        nStaffelPreis     : integer;&lt;br /&gt;
        nStaffelmenge     : Double;&lt;br /&gt;
        lAktionspreis     : Boolean;&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   Ausdruck Ja/Nein&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        cAusdruckJN       : String;  &lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   Positionslangtext drucken? Ja, Nein oder Voreinstellung&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        cMemoDruck        : String;    &lt;br /&gt;
        cBildUID          : String;&lt;br /&gt;
&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   Zum Merken von Referenzen&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        cCMPUID       : String;&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   Zum Merken von Referenzen&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        cZeit_CMPUID  : String;   &lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   Zum Merken von Referenzen&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        cZeit_Text    : String;&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   Zum Merken von Referenzen&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        cZeit_Mitarb  : String;&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   Zum Merken von Referenzen&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        dZeit_Date    : TDateTime;        &lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   Zum Merken von Referenzen&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        cZeit_NurLei  : String;  &lt;br /&gt;
        //Rechnung&lt;br /&gt;
        cKostst           : String;&lt;br /&gt;
        dAbrechVon        : TDateTime;&lt;br /&gt;
        dAbrechBis        : TDateTime;&lt;br /&gt;
        lNeuNum           : Boolean;&lt;br /&gt;
        cSysUID           : String;    //SYS_UID&lt;br /&gt;
&lt;br /&gt;
        cGeraetNr         : string;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==Properties==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   Artikel-Nummer&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        property oMyDB              : TxDB     read GetDB;&lt;br /&gt;
        property ShopNr             : string   read GetShopNr;&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   Artikel-Nummer&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        property cArtikelNr         : String   read FArtikelNr      write SetcArtikelNr;&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   Steuert den Zugriff auf das Mehrwertsteuerschlüsselfeld.&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        property PcMWSTSch          : string   read cMWSTSch        write SetMWSTSch;&lt;br /&gt;
        property PcMengeIn          : string   read cMengeIn        write SetcMengeIn;&lt;br /&gt;
        property PnMengeIn          : double   read nMengeIn        write SetnMengeIn;&lt;br /&gt;
        property PnMengeInFak       : double   read GetnMengeInFak  write SetnMengeInFak;&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   Steuert den Zugriff auf das Langtextfeld.&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        property PcMemofeld         : string   read cMemofeld       write SetcMemofeld;&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   Steuert den Zugriff auf das Langtextfeld. Hier wird es im Ansi-Code abgespeichert.&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        property PcMemofeldAnsi     : string   read cMemofeldAnsi   write SetcMemofeldAnsi;&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   Steuert den Zugriff auf fortlaufene Positionsnummer. Diese ist pro Vorgang einmalig.&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        property cPosLaufend        : string   read ReadPosLfd      write cPosLfd;&lt;br /&gt;
        property lVerbrauchsMater   : Boolean  read ReadVerbMater   write WriteVerbMater;&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   Menge&lt;br /&gt;
        ///   Setter übernimmt Wert anhand des Positionstyps (z. B. Ebenen bei Summen nur 1..VB_MAX_SummenEbenen)&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        property nMenge            : Double    read GetMenge       write SetMenge;&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   Typ (Position, Text, Titel etc.)&lt;br /&gt;
        ///   Setter setzt bei Typ-Änderung die Positionswerte zurück auf Default-Werte für den neuen Typ!&lt;br /&gt;
        ///   String-property als historischer Fallback für vorherige public-Variable&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        property cTyp              : String      read GetTypStr      write SetTypStr;&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   Typ (Position, Text, Titel etc.)&lt;br /&gt;
        ///   Setter setzt bei Typ-Änderung die Positionswerte zurück auf Default-Werte für den neuen Typ!&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        property Typ               : TVB_PosType read GetTyp         write SetTyp;&lt;br /&gt;
        /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        ///   Referenzen zur Originalposition bei Datenübernahme, wie Vorgangtyp, Vorgangsnummer und Datensatz-Uids der Position&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        property OriginalPos : TVorgangPosOriginal read rOriginalPos;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==Methoden==&lt;br /&gt;
===PositionsVorbelegung===&lt;br /&gt;
Definition:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
procedure PositionsVorbelegung();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Erklärung:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===GenNewUid===&lt;br /&gt;
Definition:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
procedure GenNewUid();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Erklärung:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CopyPosmenge===&lt;br /&gt;
Definition:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
function  CopyPosmenge(cFromUID : string): string;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Erklärung:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CopyPosverp===&lt;br /&gt;
Definition:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
function  CopyPosverp(cFromUID : string): string;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Erklärung:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CopyFrom===&lt;br /&gt;
Definition:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
procedure CopyFrom(oSrc: TVorgangPos; lFull: boolean=False);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Erklärung:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===QueryToPos===&lt;br /&gt;
Definition:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
procedure QueryToPos(qTmp : TxFQuery); &lt;br /&gt;
&lt;br /&gt;
procedure QueryToPos(      qTmp       : TxFQuery;&lt;br /&gt;
                     const cFromTable : string;&lt;br /&gt;
                           lVerpack   : Boolean=False;&lt;br /&gt;
                           lUmkehr    : boolean=False); overload;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Erklärung:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===DBPosToPos===&lt;br /&gt;
Definition:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
procedure DBPosToPos(const cFromTable : string;&lt;br /&gt;
                     const cSysUid    : string;&lt;br /&gt;
                           lVerpack   : Boolean=False;&lt;br /&gt;
                           lUmkehr    : boolean=False);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Erklärung:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===GetLan_Artikel===&lt;br /&gt;
Definition:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
function  GetLan_Artikel(cArtNr: String; cFeld: string; cDefault: string): string;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Erklärung:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===FillArtikel===&lt;br /&gt;
Definition:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
procedure FillArtikel(cArtNr:String);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Erklärung:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===SetzeLieferant===&lt;br /&gt;
Definition:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
function  SetzeLieferant(const cLiefNr: string; lEKNeu: boolean=True; lDefaultEK1: boolean=False): boolean;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Erklärung:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===GetLan_Leist===&lt;br /&gt;
Definition:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
function  GetLan_Leist(cLeistNr: String; cFeld: string; cDefault: string): string;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Erklärung:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===FillLeistung===&lt;br /&gt;
Definition:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
procedure FillLeistung(cLeistNr:String);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Erklärung:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===KalkPos===&lt;br /&gt;
Definition:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
procedure KalkPos();&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Erklärung:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===SetPosNr===&lt;br /&gt;
Definition:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
procedure SetPosNr(cP: string; cT: string=&#039;&#039;; cG: string=&#039;&#039;; cFormat: string=&#039;&#039;); overload;&lt;br /&gt;
&lt;br /&gt;
procedure SetPosNr(nP: integer; nT: integer=-1; nG: integer=-1; cFormat: string=&#039;&#039;); overload;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Erklärung:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===PosLaufend===&lt;br /&gt;
Definition:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
function  PosLaufend(iPos: integer=0): string;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Erklärung:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Preisfindung===&lt;br /&gt;
Definition:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
procedure Preisfindung(cShopNr: string=CONST_NO_SHOP);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Erklärung:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Properties==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
        property PcMWSTSch        : string   read cMWSTSch        write SetMWSTSch;&lt;br /&gt;
        property PcMengeIn        : string   read cMengeIn        write SetcMengeIn;&lt;br /&gt;
        property PnMengeIn        : double   read nMengeIn        write SetnMengeIn;&lt;br /&gt;
        property PnMengeInFak     : double   read nMengeInFak     write SetnMengeInFak;&lt;br /&gt;
        property PcMemofeld       : string   read cMemofeld       write SetcMemofeld;&lt;br /&gt;
        property PcMemofeldAnsi   : string   read cMemofeldAnsi   write SetcMemofeldAnsi;&lt;br /&gt;
        property cPosLaufend      : string   read ReadPosLfd      write cPosLfd;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Allgemeine Datentypen=&lt;br /&gt;
==TVB_MaterMode==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
    TVB_MaterMode = (&lt;br /&gt;
        mmMD5=1,&lt;br /&gt;
        mmReadUID=2&lt;br /&gt;
    );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Allgemeine Konstanten=&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
    POSTYP_POS =  &#039;0&#039;; //Artikel/Leistung Position&lt;br /&gt;
    POSTYP_TXT =  &#039;1&#039;; //Text&lt;br /&gt;
    POSTYP_ELN =  &#039;2&#039;; //Leerzeile (empty line)&lt;br /&gt;
    POSTYP_ZWS =  &#039;3&#039;; //Zwischensumme&lt;br /&gt;
    POSTYP_TIS =  &#039;4&#039;; //Titelsumme&lt;br /&gt;
    POSTYP_TIT =  &#039;7&#039;; //Titel&lt;br /&gt;
    POSTYP_GEW =  &#039;8&#039;; //Gewerk&lt;br /&gt;
    POSTYP_PBR = &#039;17&#039;; //Seitenumbruch (Pagebreak)&lt;br /&gt;
    POSTYP_PIC = &#039;19&#039;; //Bildposition&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Allgemeine Funktionen=&lt;br /&gt;
==IstVKVorgang==&lt;br /&gt;
Definition:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
function IstVKVorgang(cMainTable: string): boolean;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Erklärung:&amp;lt;br /&amp;gt;&lt;br /&gt;
Gibt &amp;quot;True&amp;quot; zurück wenn der übergebene Name der Tabelle (cMainTable) &amp;quot;Angebot&amp;quot;, &amp;quot;Auftrag&amp;quot;, &amp;quot;Liefsta&amp;quot; oder &amp;quot;Rechsta&amp;quot; ist.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
if (IstVKVorgang(cTable)) then begin &lt;br /&gt;
    //Zugriff auf die Tabelle&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==IstVKVorgangPos==&lt;br /&gt;
Definition:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
function IstVKVorgangPos(cPosTable: string): boolean;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Erklärung:&amp;lt;br /&amp;gt;&lt;br /&gt;
Gibt &amp;quot;True&amp;quot; zurück wenn der übergebene Name der Tabelle (cPosTabele) &amp;quot;Angpos&amp;quot;, &amp;quot;Aufpos&amp;quot;, &amp;quot;Liefpos&amp;quot; oder &amp;quot;Raufpos&amp;quot; ist.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
if (IstVKVorgangPos(cPosTable)) then begin&lt;br /&gt;
    //Zugriff auf die Tabelle&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==CopyPosmengeDB==&lt;br /&gt;
Definition:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
function CopyPosmengeDB(oMyDB: TxDB; cFromUID : string): string;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Erklärung:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
function CopyPosmenge(cFromUID : string): string;&lt;br /&gt;
begin&lt;br /&gt;
    Result := CopyPosmengeDB(Self.oMyDB,cFromUID);&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==CopyPosverpDB==&lt;br /&gt;
Definition:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
function CopyPosverpDB(oMyDB: TxDB; cFromUID : string): string;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Erklärung:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==CopyRTFLan==&lt;br /&gt;
Definition:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
function CopyRTFLan(oMyDB: TxDB; cVonTable: String; cVonRef: String; cNachTable: String; cNachRef: String): String;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Erklärung:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==PosNrFormatCheck==&lt;br /&gt;
Definition:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
function PosNrFormatCheck(const cFormat: string): boolean;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Erklärung:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==PosNrFormatCounts==&lt;br /&gt;
Definition:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
function PosNrFormatCounts(const cFormat: string; out nG: integer; out nT: integer; out nP: integer): boolean;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Erklärung:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==GetVorgangMandant==&lt;br /&gt;
Definition:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
function GetVorgangMandant(oMyDB: TxDB; const cTable: string; const cNr: string): string;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Erklärung:&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Beispiel:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;Delphi&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nimz</name></author>
	</entry>
	<entry>
		<id>https://wiki.bergau.de/index.php?title=Kostenpflichtige_Module/Internet-Shop/brShop24/Kundengruppen_verwalten&amp;diff=64474</id>
		<title>Kostenpflichtige Module/Internet-Shop/brShop24/Kundengruppen verwalten</title>
		<link rel="alternate" type="text/html" href="https://wiki.bergau.de/index.php?title=Kostenpflichtige_Module/Internet-Shop/brShop24/Kundengruppen_verwalten&amp;diff=64474"/>
		<updated>2026-06-01T09:13:50Z</updated>

		<summary type="html">&lt;p&gt;Nimz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Vorlage:Kostenpflichtige Module}}&lt;br /&gt;
Unter den Kundengruppen werden Personen, Benutzer und Adressen zusammengefasst. In den Kundengruppen lassen sich Standardwerte (z. B. Kundennummer oder Kundentyp) für die Benutzer hinterlegen.&amp;lt;br /&amp;gt;&lt;br /&gt;
Aufruf: Menü Stammdaten &amp;amp;rarr; I Schnittstellen &amp;amp;rarr; I - Internet-Shop &amp;amp;rarr; Schnittstelle wählen &amp;amp;rarr; {{Key|F10 Menü}} &amp;amp;rarr; F Kundengruppen&lt;br /&gt;
=Liste=&lt;br /&gt;
In der Liste sehen Sie alle im OBS gespeicherten Kundengruppen. Initial sollten diese bei der [[Kostenpflichtige_Module/Internet-Shop/brShop24#Umstellung.2FMigration_VShop_4|Migration]] angelegt werden.&amp;lt;br /&amp;gt;&lt;br /&gt;
[[image:Shopkdgruppe_liste_br24.jpg]]&lt;br /&gt;
==Spalten==&lt;br /&gt;
*;Nummer&lt;br /&gt;
:Eindeutige Nummer im Shop&lt;br /&gt;
*;Kundengruppe&lt;br /&gt;
:Name/Bezeichnung der Kundengruppe&lt;br /&gt;
*;Kunde&lt;br /&gt;
:Kundenreferenz der Kundengruppe (OBS-Personennummer)&lt;br /&gt;
*;Info&lt;br /&gt;
:Zeigt an, ob es sich bei der Kundengruppe um eine Systemgruppe oder eine Sammelgruppe handelt.{{Hinweis|Für Systemgruppen und Sammelgruppen gelten beim Export besondere Regel. Da diese Gruppe Sammelbecken für verschiedenste Kunden/Benutzer darstellt, ist hier die Anlage von Kostenstellen unterbunden. Auch werden personenbezogene Daten wie Adressen nur auf die jeweiligen Benutzer verteilt, nicht aber auf die vollständige Kundengruppe. Systemgruppen sind überdies spezielle vordefinierte Kundengruppen des Shops und können von OBS aus nicht bearbeitet werden.}}&lt;br /&gt;
==Testen und Schaltflächen==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Tasten/Schaltflächen!! Erklärung&lt;br /&gt;
|-&lt;br /&gt;
| {{Key|F6 Import}}|| Import die aktuellen Kundengruppen aus dem Shop.]]&lt;br /&gt;
|-&lt;br /&gt;
| {{Key|F8 Sort.}}|| [[Kostenpflichtige_Module/Internet-Shop/brShop24/Definition_Sortiment|Sortimentsdefinition]] für die &amp;quot;individuelle Konfiguration&amp;quot; im brShop24. Siehe dazu im Adminbereich des Shops in den Kundengruppen (Kunden) den Reiter &amp;quot;Sortiment&amp;quot;. Der Export der Einstellungen erfolgt mit dem Export der Kundengrupen selbst über die Eingabemaske beim Speichern.]]&lt;br /&gt;
|-&lt;br /&gt;
| {{Key|F9 Sammel}}|| Setzt das Häkchen &#039;&#039;Sammelgruppe&#039;&#039; (siehe Beschreibung [[#Eingabemaske|Eingabemaske]] für das Feld &amp;quot;Sammelgruppe&amp;quot;).&lt;br /&gt;
|-&lt;br /&gt;
| {{Key|Einfg Einf.}}|| Öffnet die Übernahmeliste nach Auswahl des Definitionstypen. Beachten Sie dabei mögliche Beschränkungen beschrieben unter [[#Definitionstypen und Besonderheiten|Definitionstypen und Besonderheiten]]&lt;br /&gt;
|-&lt;br /&gt;
| {{Key|Entf entf}}|| Entfernt den Datensatz aus der Zurordnung.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Eingabemaske=&lt;br /&gt;
In der Eingabemaske haben Sie je nach Datensatz Zugriff auf die meisten Felder. Für die Standard-Gruppen des Shops wird die Bearbeitung jedoch gesperrt, da diese auch über die API nicht geändert werden dürfen. Für alle weitere Kundengruppen können Sie bis auf die ID alle felder ändern. Die ID wird bei der Übertragung in den Shop automatisch eingetragen. Die Übertragung findet mit dem Speichern der Kundengruppe statt.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Feld!! Erklärung&lt;br /&gt;
|-&lt;br /&gt;
| Kundengruppe|| Name der Kundengruppe&lt;br /&gt;
|-&lt;br /&gt;
| Eindeutiger{{nb_space}}Bezeichner|| Ein eindeutiger Namen/Bezeichner für den Shop. Dies ist eine Pflichtangabe.{{Hinweis|Es sind nur Buchstaben von A bis Z, Nummern und Minus (-) als Zeichen erlaubt.}}&lt;br /&gt;
|-&lt;br /&gt;
| Kundentyp|| Standard-Typ für alle Benutzerkonten.&lt;br /&gt;
|-&lt;br /&gt;
| Qualifikation|| Standard-Qualifikation für alle Benutzerkonten.&lt;br /&gt;
|-&lt;br /&gt;
| Hauptgruppe|| Angabe der übergeordneten Gruppe. So lassen sich Hierachien in den Kundengruppen anlegen.&lt;br /&gt;
|-&lt;br /&gt;
| Eigenschaft|| Automatische Zuweisung bei Anlage der Webshop-Einstellungen.{{Achtung|Funktioniert noch nicht!}}&lt;br /&gt;
|-&lt;br /&gt;
| Personnr.|| Standard-Kundennummer für alle Benutzerkonten.&lt;br /&gt;
|-&lt;br /&gt;
| Sammelgruppe|| Macht die Kundengruppe zu einer Sammelgruppe für verschiedene Kunden. Wie bei Systemgruppen werden hier bestimmte personenbezogene Daten bei der Übertragung nicht auf die Gruppe verteilt sondern nur im jeweiligen Benutzer zugeordnet (z. B. Adressen).&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
[[image:Shopkdgruppe_edit_br24.jpg]]&lt;/div&gt;</summary>
		<author><name>Nimz</name></author>
	</entry>
	<entry>
		<id>https://wiki.bergau.de/index.php?title=Kostenpflichtige_Module/Internet-Shop/brShop24&amp;diff=64377</id>
		<title>Kostenpflichtige Module/Internet-Shop/brShop24</title>
		<link rel="alternate" type="text/html" href="https://wiki.bergau.de/index.php?title=Kostenpflichtige_Module/Internet-Shop/brShop24&amp;diff=64377"/>
		<updated>2026-03-16T14:20:56Z</updated>

		<summary type="html">&lt;p&gt;Nimz: /* W Definitionen importieren */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Kostenpflichtige Module}}&lt;br /&gt;
{{Aktuelles|Die Schnittstelle brShop24 wird 60 Euro monatlich kosten.}}&lt;br /&gt;
Der brShop24 wird von der Genossenschaft [https://www.bueroring.de Büroring eG] entwickelt und angeboten. Diese ECommerce-Lösung soll langfristig den bisher angebotenen VShop 4 Pro ablösen. Für die Anbindung an den brShop24 steht Ihnen eine Schnittstelle basierend auf [https://de.wikipedia.org/wiki/GraphQL GraphQL] zur Verfügung.&lt;br /&gt;
{{Achtung|Für die Preisübertragung wird das kostenpflichtige Modul [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] vorausgesetzt!}}&lt;br /&gt;
{{Achtung|Die Schnittstellen für VShop 4 Pro und brShop24 sind nicht kompatibel! Sollten Sie sich also für eine Umstellung Ihres VShop 4 Pro auf das neue System brShop24 entscheiden, so muss dies im OBS ebenfalls umgestellt werden!&amp;lt;br/&amp;gt;Siehe auch die Punkte [[#Umstellung.2FMigration_VShop_4|Umstellung/Migration VShop 4]] und [[#faq_brshop24_allg_parallelbetrieb|FAQ Parallelbetrieb]].}}&lt;br /&gt;
=Funktionsumfang=&lt;br /&gt;
{{Achtung|Die hier aufgeführten Funktionen sind unter Vorbehalt in der aktuellen Version von OBS enthalten, da sich die Funktionalitäten in API und OBS noch ändern können.}}&lt;br /&gt;
Diese Schnittstelle unterstützt den Im- und Export von Daten wie folgt:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Import!! Export&lt;br /&gt;
|-&lt;br /&gt;
| Auftragsimport (OpenTRANS 1.0)|| Preislisten&lt;br /&gt;
|-&lt;br /&gt;
| Depots + Partner|| Kundengruppen&lt;br /&gt;
|-&lt;br /&gt;
| Anreden|| Ansprechpartner (Benutzer und Personen)&lt;br /&gt;
|-&lt;br /&gt;
| Kundentypen|| Kostenstellen&lt;br /&gt;
|-&lt;br /&gt;
| Kundenqualifikation|| Adressen (Personenstamm)&lt;br /&gt;
|-&lt;br /&gt;
| Job-Informationen (Ergebnis/Protokoll Preispflege)|| Shopping-Listen (Meistgekaufte Artikel/Top-Artikel)&lt;br /&gt;
|-&lt;br /&gt;
| Kundengruppen (Migration)|| &lt;br /&gt;
|-&lt;br /&gt;
| Benutzer (Migration)|| &lt;br /&gt;
|-&lt;br /&gt;
| Kostenstellen (Migration)|| &lt;br /&gt;
|}&lt;br /&gt;
{{Hinweis|Zu Beginn wird es nur Bestelldateien im Format OpenTRANS 1.0 geben. Das neuere Format 2.1 ist aber bereits eingeplant und soll zu einem späteren Zeitpunkt folgen.}}&lt;br /&gt;
==Vergleich zur Schnittstelle VShop 4==&lt;br /&gt;
Stand: 13.10.2022&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!|&lt;br /&gt;
|&#039;&#039;&#039;VShop 4&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;brShop24&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Bestellungen importieren&#039;&#039;&#039;&lt;br /&gt;
|ja&lt;br /&gt;
|ja&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Kundendaten abfragen&#039;&#039;&#039;&lt;br /&gt;
|ja (&amp;quot;Kunde vorhanden?&amp;quot;)&lt;br /&gt;
|ja (&amp;quot;Kunde vorhanden?&amp;quot; und Migration)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Kundendaten übertragen&#039;&#039;&#039;&lt;br /&gt;
|ja&lt;br /&gt;
|ja&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-left: 100px&amp;quot;|(Kunden-)Gruppe&lt;br /&gt;
|Aus Personennummer (Hauptperson)&lt;br /&gt;
|eigene Verwaltung&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-left: 100px&amp;quot;|Benutzerkonto&lt;br /&gt;
|aus Person und Ansprechpartner&lt;br /&gt;
|aus Ansprechpartner&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-left: 100px&amp;quot;|Kostenstellen&lt;br /&gt;
|nur als Kostenstelle (mit Budget)&lt;br /&gt;
|Kostenstelle (noch ohne Budget; fehlt im Shop bisher) und Versandadresse&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-left: 100px&amp;quot;|Shopping-Listen&lt;br /&gt;
|ja&lt;br /&gt;
|ja&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-left: 100px&amp;quot;|Adressen/Adressbuch&lt;br /&gt;
|nein (nur Standardadresse im Benutzerkonto)&lt;br /&gt;
|ja&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-left: 100px&amp;quot;|Anreden&lt;br /&gt;
|nein&lt;br /&gt;
|Import (Definition/Zuordnung)&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-left: 100px&amp;quot;|Kundentyp&lt;br /&gt;
|nein&lt;br /&gt;
|Import (Definition/Zuordnung)&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-left: 100px&amp;quot;|Kundenqualifikation&lt;br /&gt;
|nein&lt;br /&gt;
|Import (Definition/Zuordnung)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Artikelvorlage setzen&#039;&#039;&#039;&lt;br /&gt;
|ja&lt;br /&gt;
|nein&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Preise übertragen&#039;&#039;&#039;&lt;br /&gt;
|ja&lt;br /&gt;
|ja (nur Preislisten)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Lager&#039;&#039;&#039;&lt;br /&gt;
|Import (Definition/Zuordnung)&lt;br /&gt;
|Import (Definition/Zuordnung)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Partner&#039;&#039;&#039;&lt;br /&gt;
|Import (Definition/Zuordnung)&lt;br /&gt;
|Import (Definition/Zuordnung)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Warengruppen/Kategorien&#039;&#039;&#039;&lt;br /&gt;
|Import (Definition/Zuordnung)&lt;br /&gt;
|nein&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Artikel&#039;&#039;&#039;&lt;br /&gt;
|ja&lt;br /&gt;
|ja&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-left: 100px&amp;quot;|übertragen&lt;br /&gt;
|ja&lt;br /&gt;
|ja&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-left: 100px&amp;quot;|Abgleich (eigene Artikel)&lt;br /&gt;
|ja&lt;br /&gt;
|nein&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Sterne&#039;&#039;&#039;&lt;br /&gt;
|ja&lt;br /&gt;
|nein&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;monatliche Kosten&#039;&#039;&#039;&lt;br /&gt;
|20 Euro&lt;br /&gt;
|60 Euro&lt;br /&gt;
|}&lt;br /&gt;
{{Hinweis|Für eine Beschreibung der einzelnen Funktionen siehe [[#Erklärungen/Funktionen|Erklärungen/Funktionen]].}}&lt;br /&gt;
&lt;br /&gt;
==Bekannte Probleme==&lt;br /&gt;
{{Hinweis|Die hier aufgeführten Probleme sollen einen Überblick zum Stand einzelner Funktionen geben, sollten Sie sich dazu entscheiden mit der Schnittstelle zu arbeiten.}}&lt;br /&gt;
{{Achtung|Bei den letzten Tests kam es zu einem Fehler innerhalb der API, durch den die übermittelten Daten nicht korrekt verarbeitet wurden. Der Fehler trat an verschiedenen Stellen auf und konnte nicht reproduziert werden. Aktuell ist dies unter Beobachtung seitens Büroring. Von OBS aus können Sie aktuell die Datenübertragung nur ein zweites Mal ausführen, bis eine Lösung für das Problem gefunden wurde. Bei Preislisten hatte das Problem jedoch noch die Auswirkung, dass die Preislisten danach doppelt vorhanden war (siehe &amp;quot;doppelte Preislisten bei Fehler in Preislistenupdate&amp;quot;).}}&lt;br /&gt;
===Import Bestellungen===&lt;br /&gt;
*;eindeutige Identifikation von Artikeln&lt;br /&gt;
:Nach aktuellem Stand wird nur der aktuelle Katalog von Büroring eingespielt. Sollten jedoch auch von anderen Lieferanten Artikel im Shop verkauft werden, kann es bei den Artikelnummern zu &amp;quot;doppelten&amp;quot; Artikeln kommen. Derzeit fehlt noch die Möglichkeit dies beim Import unterscheiden zu können.&lt;br /&gt;
*;fehlende Kostenstellen&lt;br /&gt;
:In der Auftragsdatei werden nach aktuellem Stand keine Kostenstellen geliefert. Somit kann OBS diese bei der Auftragsgenerierung hinterlegen.&amp;lt;br /&amp;gt;&#039;&#039;Die Kostenstellen werden nach Informationen von Büroring jetzt in die openTRANS-Order übernommen (Stand 25.02.2021).&#039;&#039;&lt;br /&gt;
*;Anzeige in FTP-Eingang&lt;br /&gt;
:Bei aktivierter Anzeige von importierten Bestellungen im FTP-Eingang, wird bisher in der Spalte &#039;&#039;Typ&#039;&#039; nichts angezeigt.&amp;lt;br /&amp;gt;&#039;&#039;Behoben mit Version 003663 (Info 005482).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Personendaten===&lt;br /&gt;
*;Export Kostenstellen Budgets&lt;br /&gt;
:Die Budgetverwaltung wurde bisher noch nicht im brShop24 umgesetzt und steht daher auch in der API noch nicht zur Verfügung.&lt;br /&gt;
*;Anzeige Webshop-Einstellungen&lt;br /&gt;
:Die Anzeige des Kundenstatus funktioniert aktuell nur, wenn die Kundennummer auch in einer Kundengruppe steht.&amp;lt;br /&amp;gt;&#039;&#039;Behoben mit Version 003591 (Info 005378).&#039;&#039;&lt;br /&gt;
*;Übertragung Adressen&lt;br /&gt;
:Die Adressen werden nicht angelegt, weil der Typ mit einem ungültigen Wert an die API übergeben wird.&amp;lt;br /&amp;gt;&#039;&#039;Behoben mit Version 003587 (Info 005365).&#039;&#039;&lt;br /&gt;
*;Zuordnung Adressen Kundengruppe&lt;br /&gt;
:Adressen werden bei Übertragung auch in der Kundengruppe zugeordnet, obwohl es sich um eine System-Gruppe handelt.&amp;lt;br /&amp;gt;&#039;&#039;Behoben mit Version 003600.&#039;&#039;&lt;br /&gt;
*;Zuordnung Adressen Benutzer&lt;br /&gt;
:Im Benutzer wird eine übertragene Adresse nicht zugeordnet.&amp;lt;br /&amp;gt;&#039;&#039;Behoben mit Version 003665 (Info 005483).&#039;&#039;&lt;br /&gt;
*;Einfügen neuer Kundengruppen&lt;br /&gt;
:Die Datensätze werden im OBS nicht korrekt angelegt und können daher nicht exportiert werden.&amp;lt;br /&amp;gt;&#039;&#039;Behoben mit Version 003594 (Infos 005375 und 005393).&#039;&#039;&lt;br /&gt;
*;Adressen aus Kostenstellen&lt;br /&gt;
:Werden bisher nicht übertragen.&amp;lt;br /&amp;gt;&#039;&#039;Behoben mit Version 003606 (Info 005398). Adressen aus Kostenstellen werden jetzt als Versandadressen hinterlegt&#039;&#039;&lt;br /&gt;
*;Zuordnung Kostenstellen&lt;br /&gt;
:Kostenstellen werden bei Übertragung auch in der Kundengruppe zugeordnet, wenn es sich um eine System-Gruppe handelt.&amp;lt;br /&amp;gt;&#039;&#039;Behoben mit Version 003600. Kostenstellen werden bei Systemgruppen nicht mehr exportiert. Benutzer erhalten einen Hinweis bei Export der Personendaten aus den Webshop-Einstellungen und werden gefragt, ob die Personedaten trotzdem exportiert werden sollen.&#039;&#039;&lt;br /&gt;
*;Im Shop ist der Adresstyp vertauscht&lt;br /&gt;
:Adressen die eigentlich &amp;quot;Postanschrift&amp;quot; haben sollten, bekommen &amp;quot;Postfach Anschrift&amp;quot; und umgekehrt.&amp;lt;br /&amp;gt;&#039;&#039;Behoben mit Version 003684 (Info 005494).&#039;&#039;&lt;br /&gt;
*;Benutzer ist immer Admin&lt;br /&gt;
:Die Funktionalität über Eigenschaft 9011 wurde noch nicht übernommen aus der VShop-Schnittstelle übernommen, da sie dort problembehaftet ist. Die Fehlerhafte Übertragung in dieser Schnittstelle wurde somit vorerst vollständig entfernt.&amp;lt;br /&amp;gt;&#039;&#039;Behoben mit Version 003735 (Info 005548).&#039;&#039;&lt;br /&gt;
*;Benutzer wird nicht angelegt&lt;br /&gt;
:Während des Exports kommt es zu einem Abbruch im OBS und der Export wird nicht vollständig ausgeführt.&amp;lt;br /&amp;gt;&#039;&#039;Behoben mit Version 004061 (Info 005911).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Preise/Preislisten===&lt;br /&gt;
*;Keine Aktualisierung für Kunden mit Kundennummer im Benutzer&lt;br /&gt;
:Preislisten werden nicht erkannt, wenn die Kundennummer nur im Benutzer vorkommt.&amp;lt;br /&amp;gt;&#039;&#039;Behoben mit Version 003592 (Info 005384).&#039;&#039;&lt;br /&gt;
*;doppelte Preislisten bei Fehler in Preislistenupdate&lt;br /&gt;
:Tritt in der Aktualisierung der Preislistenkopfdaten ein Fehler auf, so wird die Preisliste ein weitere Mal angelegt.&amp;lt;br /&amp;gt;&#039;&#039;Behoben mit Version 003630 (Info 005452).&#039;&#039;&lt;br /&gt;
*;Keine Aktualisierung der Kopfdaten&lt;br /&gt;
:Wurden im OBS Änderungen an den Kopfdaten (Name, Prio, Gültigkeitszeitraum) vorgenommen, konnte es passieren, dass diese nicht in den Shop übertragen wurden.&amp;lt;br /&amp;gt;&#039;&#039;Behoben mit Version 003703 (Info 005515).&#039;&#039;&lt;br /&gt;
*;Preise löschen verlängert die Laufzeit der Preispflege&lt;br /&gt;
:Beim Löschen von Preisen könnte es vorkommen, dass sich die zu löschenden Datensätze nicht korrekt aus der Liste genommen wurden, auch wenn der Datensatz aus dem Shop entfernt wurde. Dadurch versucht OBS diese Datensätze bei jedem folgenden Durchlauf der Preispflege zu löschen, was fehlschlägt, da die Datensätze ja schon gelöscht sind.&amp;lt;br /&amp;gt;&#039;&#039;Behoben voraussichtlich mit Version 003833 (Info 005664).&#039;&#039;&lt;br /&gt;
*;Preise werden nicht bei allen Preislisten aktualisiert&lt;br /&gt;
:Eine Prüfung war fehlerhaft und konnte die Aktualisierung der Preise für eine Preisliste verhindern.&amp;lt;br /&amp;gt;&#039;&#039;Behoben mit Version 003911 (Info 005733).&#039;&#039;&lt;br /&gt;
*;Preislisten, welche über Preisgruppen einem Kunden zugeordnet sind, werden im Shop nicht in Kundengruppen und Benutzern hinterlegt&lt;br /&gt;
:An einer Stelle in der Abfrage der Zuordnungen sind die Nummern für Preisgruppe und Preisliste vertauscht. Der Fehler betrifft eigene Preislisten, welche über Preisgruppen zugeordnet sind. Für die Standard-Preislisten VK1 bis VK9 kommt es nicht zu diesem Fehler, da hier die Nummern identisch sind.&amp;lt;br /&amp;gt;&#039;&#039;Behoben mit Version 003959 (Info 005785).&#039;&#039;&lt;br /&gt;
*;Zuordnungen von Preislisten sind fehlerhaft&lt;br /&gt;
:Unter bestimmten Umständen (Löschen ganzer Preislisten oder Kunde ohne verbleibende Preisliste) kann es im OBS zu einem Problem mit der Verwaltung der Zuordnungen im Shop kommen. Zuordnungen können dabei erhalten bleiben oder werden nicht angelegt.&amp;lt;br /&amp;gt;&#039;&#039;Behoben mit Version 004012 (Info 005847).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Bestellvorlagen/Shoppinglisten===&lt;br /&gt;
*;Anzeige im Shop&lt;br /&gt;
:Nach aktuellem Stand können die Bestellvorlagen, die es auch schon für den VShop 4 exportiert werden konnten, in den brShop24 übertragen werden. Die Anzeige im Frontend (Ansicht für den Kunden) ist jedoch noch nicht umgesetzt. Sie können aktuell nur über den Admibereich prüfen, ob die Bestellvorlagen im Shop angekommen sind.&amp;lt;br /&amp;gt;&#039;&#039;Im Frontend werden die Listen jetzt angezeigt (Stand: 09.11.2021).&#039;&#039;&lt;br /&gt;
*;Generierung Shoppinglisten&lt;br /&gt;
:Durch einen Fehler in der Erkennung des Brüroring Zentrallagers konnte die falsche Lager-ID gezogen werden. Dadurch wurden die Artikel nicht korrekt identifiziert und die Shoppinglisten wurden nicht generiert.&amp;lt;br /&amp;gt;&#039;&#039;Behoben vorraussichtlich mit Version 003815 (Info 005654).&#039;&#039;&lt;br /&gt;
*;Zuordnung Shoppinglisten&lt;br /&gt;
:In der Übertragung wurden Shoppinglisten nicht in Benutzern zugeordnet. Dadurch sehen insbesondere bei allgemeinen Kundengruppen (z. B. registrierte Kunden) Benutzer die von OBS für eine Kundennummer erstellten und übertragenen Shoppinglisten nicht.&amp;lt;br /&amp;gt;&#039;&#039;Behoben mit Version 003832 (Info 005663).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Migration===&lt;br /&gt;
*;Auswahl eines vorhandenen Ansprechpartner für Zuordnung zu einem Shop-Benutzer schlägt fehlt&lt;br /&gt;
:Die Auswahl verhält sich als würde keine Datensatz ausgewählt werden und setzt daher die Zuordnung nicht.&amp;lt;br /&amp;gt;&#039;&#039;Behoben mit Version 004012 (Info 005845).&#039;&#039;&lt;br /&gt;
*;Aus einem Benutzerkonto kann kein Ansprechpartner angelegt werden&lt;br /&gt;
:Es kann bei der Übernahme der Daten zu einem SQL-Fehler im OBS kommen, welcher die Anlage der Daten verhindert.&amp;lt;br /&amp;gt;&#039;&#039;Behoben mit Version 004012 (Info 005844).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Kosten=&lt;br /&gt;
*;Einrichtung&lt;br /&gt;
:Sie können die Schnittstelle vom OBS-Support einrichten lassen oder dies selbst erledigen. Informationen zu den nötigen Daten/Angaben für eine Einrichtung finden Sie im nächsten Punkt [[#Installation.2FEinrichtung|Installation/Einrichtung]].&amp;lt;br /&amp;gt;Wenn Sie eine Einrichtung durch den OBS-Support wünschen, wird dies &#039;&#039;&#039;einmalig nach Aufwand&#039;&#039;&#039; abgerechnet.&lt;br /&gt;
*;Nutzung Schnittstelle&lt;br /&gt;
:Für den Einsatz wird pro aktiver brShop24-Schnittstelle &#039;&#039;&#039;monatlich 60 Euro&#039;&#039;&#039; berechnet.&lt;br /&gt;
&lt;br /&gt;
=Installation/Einrichtung=&lt;br /&gt;
Für die Einrichtung werden Angaben zur API-Anbindung und FTP-Zugangsdaten für die Abholung der Auftragsdateien benötigt. Außerdem muss OBS für die Preispflege auf das kostenpflichtige [[OBS/Kostenpflichtige_Module/Preislisten|OBS-Modul Preislisten]] umgestellt worden sein.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Für eine genaue Auflistung der benötigten Informationen und eine Beschreibung der Einrichtung lesen Sie bitte die Seite zur [[Kostenpflichtige_Module/Internet-Shop/brShop24/Einrichtung|&amp;lt;u&amp;gt;Einrichtung einer brShop24-Schnittstelle&amp;lt;/u&amp;gt;]].&lt;br /&gt;
&lt;br /&gt;
=Mit der Schnittstelle Starten=&lt;br /&gt;
==Daten migrieren==&lt;br /&gt;
Sofern Sie in der Vergangenheit einen VShop 4 verwendet haben und die Daten vom Büroring in den neuen brShop24 migriert wurden, empfehlen wir nach Abschluss der Einrichtung eine [[Kostenpflichtige_Module/Internet-Shop/brShop24/Migration|Datenmigration im OBS]] durchzuführen (siehe auch [[#Umstellung.2FMigration_VShop_4|Umstellung/Migration VShop 4]]). Dabei werden die vom VShop 4 migrierten Kundendaten aus dem Shop ausgelesen und in OBS importiert. OBS versucht die importierten Daten anschließend mit den Stammdaten zu verknüpfen und erstellt für die Kunden die Webshop-Einstellungen und gibt die Ansprechpartner frei.&amp;lt;br /&amp;gt;&lt;br /&gt;
Nach den Kundengruppen und Benutzern werden die Kostenstellen eingelesen und versucht den Einträgen im OBS zuzuordnen. Der Anzeigename (Shop) einer Kostenstelle muss dabei mit der Bezeichnung der Kostenstelle übereinstimmen und innerhalb der Kundengruppe eindeutig sein.&lt;br /&gt;
{{Achtung|Die Zuordnung läuft automatisiert und kann einige Minuten in Anspruch nehmen! Sollte der Vorgang abbrechen, können Sie die Migration erneut starten. Die Zuordnung erfolgt nur für Daten, die eindeutig identifiziert werden konnten!}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Außerdem werden die Preislisten aus den im Shop vorhandenen Preislisten ermittelt und für die Schnittstelle freigegeben. Die Preislisten werden stattdessen nach erfolgreicher Zuordnung im Shop geleert und neu befüllt. So sind die Preisdaten auch gleich auf dem aktuellen Stand und für die spätere Aktualisierung sind die Daten im OBS entsprechend vorbereitet.&lt;br /&gt;
{{Achtung|Es findet &#039;&#039;&#039;keine&#039;&#039;&#039; Verknüpfung mit den Preisdaten im OBS statt, da der vollständige Abgleich aller einzelnen Preisdaten zu lange dauern würde!}}&lt;br /&gt;
&lt;br /&gt;
==Datenhoheit==&lt;br /&gt;
Es gibt einige spezifische Daten im Shop, die von OBS nicht angefasst werden (dürfen). Das betrifft z. B. die Standard-Kundengruppen des brShop24. Für OBS-Daten hat jedoch OBS die Datenhoheit. Im Shop können Sie dies an den verfügbaren Funktionen (Bild 1) erkennen. Die von OBS gepflegten Daten werden über die API (Bild 2) angelegt und haben bei den Funktionen statt dem Stift-Symbol (Daten bearbeiten) nur ein Auge-Symbol (Daten ansehen).&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;200px&amp;quot;&amp;gt;&lt;br /&gt;
File:Br24_admin_datenoptionen.jpg|Bild 1: Funktionen|alt=Funktionen&lt;br /&gt;
File:Br24_admin_letzte_aend.jpg|Bild 2: Letzte Änderung|alt=letzte Änderung&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Umstellung/Migration VShop 4=&lt;br /&gt;
Nach aktuellem Stand wird für Kunden mit VShop 4 vom Büroring eine Migration des bestehenden VShop 4 auf den neuen brShop24 durchgeführt. Dabei soll auch gewählt werden können, welche Daten bei der Migration übernommen werden. Wie dies genau aussieht, müssen Sie jedoch mit dem Büroring klären. Es gibt jedoch auch einige Punkte, die Sie bei der Migration für die Umstellung im OBS bedenken müssen.&lt;br /&gt;
*;Neue API&lt;br /&gt;
:Im Unterschied zum VShop 4 läuft die Schnittstelle zum brShop24 über eine API. OBS dies bringt ein paar Einschränkungen für die migrierten Daten mit sich. Es ist OBS nicht möglich die Daten wiederzufinden, die von OBS zuvor in den VShop 4 übertragen wurden. Wie sich dies auf die Pflege von Daten auswirkt, muss noch in Erfahrung gebracht werden, da im Testsystem keine migrierten Daten zur Verfügung stehen.&lt;br /&gt;
*;Besonderheit Preisdaten&lt;br /&gt;
:OBS arbeitet in Schnittstelle über eine sogenannte API-ID, also eine Identifikationsnnummer speziell für die neue API. OBS kann nur Preisdaten verändern, die auch über die API in den Shop übertragen wurden. Wir empfehlen daher die Preisdaten möglichst über OBS zu pflegen und nicht migrieren zu lassen.&lt;br /&gt;
*;Schnittstelle im OBS&lt;br /&gt;
:Die Schnittstelle muss im OBS freigeschaltet und eingerichtet werden (siehe dazu [[Kostenpflichtige_Module/Internet-Shop/brShop24/Einrichtung|Einrichtung]]). Dies kann bereits vor der Migration geschehen. Bedenken Sie jedoch, dass die Aufträge erst importiert werden können, nachdem die Schnittstelle eingerichtet wurde. Gebe Sie uns also rechtzeitig Bescheid, damit wir die Schnittstelle freigeben können. Die Einrichtung kann auf Wunsch von uns kostenpflichtig übernommen werden.{{Hinweis|Die Freischaltung der Schnittstelle hat auch eine Anpassung des Vertrags zur Folge. Bitte beachten Sie, dass die Schnittstelle brShop24 mit 60 Euro statt 20 Euro berechnet wird.}}&lt;br /&gt;
*;Modul Preislisten&lt;br /&gt;
:Für den brShop24 wird das Modul [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] für die Pflege von Preisen über die Schnittstelle vorrausgesetzt. Sollten Sie dieses Modul noch nicht nutzen, so müsste dies zuvor eingerichtet werden, wenn Sie Preise aus OBS in den Shop übertragen möchten. Die Einrichtung des Moduls kann mehrere Stunden in Anspruch nehmen. Wir empfehlen die Umstellung vor der Migration durchzuführen, da dies die Arbeitsweise mit Artikelpreisen verändert. Eine Schulung wird ebenfalls empfohlen.&lt;br /&gt;
*;Migration Freigaben OBS VShop 4 nach brShop24 (siehe [[Kostenpflichtige Module/Internet-Shop/brShop24/Migration|Migration]])&lt;br /&gt;
:Über das Shop-Menü können Kundengruppen und Benutzer mit dem OBS-Personenstamm abgeglichen werden. Im Personenstamm werden dann für gefundene Datensätze Webshop-Einstelungen angelegt. Ansprechpartnern, welchen ein Benutzer eindeutig zugeordnet werden konnten, erhalten die Eigenschaft 9013 und die Zuordnung zur Schnittstelle. Sollte die eindeutige Zuordnung ohne Benutzername erfolgt sein, so wird auch der Benutzername im Ansprechpartner hinterlegt. Außerdem werden die Preislisten mit dem Shop abgeglichen, freigegeben und übertragen.{{Hinweis|Es ist nicht möglich die Passwörter auszulesen. Diese können also nicht im Ansprechpartner hinterlegt werden. Sollten Sie zu einem späteren Zeitpunkt die den Benutzer im Shop aktualisieren wollen, müssten diesen zuvor ein Passwort gegeben werden, sollte noch keines vorhanden sein.}}{{Achtung|Damit die Migration auch die Kundendaten verknüpfen kann, muss diese Funktionalität im Shop freigeschaltet sein. Wenden Sie sich hierzu an den Support des Büroring.}}&lt;br /&gt;
==Ablauf einer Umstellung==&lt;br /&gt;
Für gewöhnlich richtet Büroring zunächst einen Shop zu Testzwecken ein. Sie erhalten danach die API-Daten, mit denen die Schnittstelle eingerichtet werden kann (siehe dazu [[Kostenpflichtige_Module/Internet-Shop/brShop24/Einrichtung|Einrichtung]]). Sie können jetzt die Schnittstelle testen und wenn Fragen oder Probleme geklärt sind, dem Büroring die Freigabe für den Live-Betrieb erteilen. Der Shop wird daraufhin zurückgesetzt. Dies muss im OBS ebenfalls passieren. Informieren Sie dazu den Support per Ticket oder E-Mail (siehe dazu auch [[Kostenpflichtige_Module/Internet-Shop/brShop24/Einrichtung#Vorwort|Vorwort Einrichtung]]).&lt;br /&gt;
&lt;br /&gt;
=Menü=&lt;br /&gt;
==B Preislisten verwalten==&lt;br /&gt;
Öffnet die [[Kostenpflichtige_Module/Internet-Shop/brShop24/Preise_übertragen#Preislisten_verwalten|Preislistenverwaltung der Schnittstelle]]&lt;br /&gt;
&lt;br /&gt;
==F Kundengruppen==&lt;br /&gt;
Öffnet die [[Kostenpflichtige_Module/Internet-Shop/brShop24/Kundengruppen_verwalten|Kundengruppenverwaltung der Schnittstelle]].&lt;br /&gt;
&lt;br /&gt;
==I Bestellvorlagen verwalten==&lt;br /&gt;
Öffnet die [[Kostenpflichtige_Module/Internet-Shop/brShop24/Shoppinglisten_übertragen|Shoplistenverwaltung der Schnittstelle]].&lt;br /&gt;
&lt;br /&gt;
==M Migration==&lt;br /&gt;
Startet die [[Kostenpflichtige Module/Internet-Shop/brShop24/Migration|Migration]] der Daten. Dabei werden die aktuellen Kudnendaten (Gruppen und Benutzer) eingelesen und im Personestamm, sofern automatisiert möglich, Webshop-Einstellungen angelegt und Ansprechpartner zugeordnet.&lt;br /&gt;
&lt;br /&gt;
==T Jobinformationen==&lt;br /&gt;
Die [[Kostenpflichtige_Module/Internet-Shop/brShop24/Jobinformationen|Jobinformationen]] sind ein Protokoll des Shops für die Preispflege-Jobs. Diese werden beim Exportieren der Preise angelegt. Über diesen Menüpunkt können Sie die bisherigen Job-Protokolle einsehen. Beim Einlesen der Jobinformationen werden aufgetretene Fehler verarbeitet.&lt;br /&gt;
&lt;br /&gt;
==U Bestellungen einlesen==&lt;br /&gt;
Liest die vorhanden Bestelldateien aus dem Shop-Verzeichnis ein. Für den automatischen Import siehe [[Kostenpflichtige_Module/Internet-Shop/Einrichtung/Automatiken#Bestellungen_einlesen|Automatiken: Bestellungen einlesen]].&lt;br /&gt;
&lt;br /&gt;
==W Definitionen importieren==&lt;br /&gt;
Über diesen Menüpunkt können Sie alle für relevanten Definitionen aus Ihrem brShop24 zur Vorbereitung der Datenexporte ins OBS importieren. Dies umfasst aktuell folgende Definitionen:&lt;br /&gt;
*[[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner|Depots/Lager mit Partner]]&lt;br /&gt;
*[[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/Anreden#brShop24|Anreden]]&lt;br /&gt;
*Kundentypen (u. a. B2B, B2C)&lt;br /&gt;
*Kundenqualifikation (u. a. neuer Kunden, Stammkunde)&lt;br /&gt;
*Artikelbezeichnungsgruppen&lt;br /&gt;
*Produkttypen&lt;br /&gt;
*Mengeneinheiten&lt;br /&gt;
*Artikellieferstatus&lt;br /&gt;
*Hersteller&lt;br /&gt;
*Marken&lt;br /&gt;
*Umsatzsteuerdefinitionen&lt;br /&gt;
*Paketdienstleister&lt;br /&gt;
*Artikel-Einschluss-Listen&lt;br /&gt;
*Artikel-Ausschluss-Listen&lt;br /&gt;
*Kataloge&lt;br /&gt;
Für den automatischen Import siehe [[Kostenpflichtige_Module/Internet-Shop/Einrichtung/Automatiken#Definitionen_importieren|Automatiken: Definitionen importieren]].&lt;br /&gt;
{{Hinweis|Diese Definitionen spielen an verschiedenen Stellen eine wichtige Rolle. Sollten Sie die Definitionen noch nicht importiert und vor einem Datenexport zugeordnet haben, funktionert entweder der Datenexport nicht oder es werden Standardwerte verwendet.}}&lt;br /&gt;
&lt;br /&gt;
==X Konfiguration==&lt;br /&gt;
Öffnet die [[OBS/Stammdaten/Schnittstellen/Internet-Shop/Konfiguration|Konfiguration]] der Schnittstellen. Hier können die Einstellungen der Schnittstelle angepasst werden.{{Hinweis|Um Anpassungen vorzunehmen wird für die meisten Einstellungen ein Level von 3 oder 5 benötigt. Es ist möglich dieses Level anzupassen, auch kann ein Benutzer für die Schnittstelle ein abweichendes Benutzerlevel erhalten. Melden Sie sich bei Bedarf per [[OBS/System/Ticket-System|OBS Ticketsystem]] beim OBS-Support.}}&lt;br /&gt;
&lt;br /&gt;
==Y Testumgebung==&lt;br /&gt;
Öffnet eine Testumgebung, um die Anbindung zu testen.&lt;br /&gt;
&lt;br /&gt;
==Z Protokoll==&lt;br /&gt;
|Über den Menüpunkt &#039;&#039;Z Protokoll&#039;&#039; des Shops-Menüs erhalten Sie Zugriff auf das Shop-Protokoll. Es werden vorrangig Hinweise zu Fehlern oder Problemen bei Im- und Exporten protokolliert. Über die Konfiguration kann mit Aktivierung des Debugmodus (Schlüssel &#039;&#039;Shop.Debug&#039;&#039;) eine erweiterte Protokollierung aktiviert werden. Dafür benötigt ein Benutzer jedoch Administrationsrechte (Level 9) für die Schnittstelle.&lt;br /&gt;
&lt;br /&gt;
=Zuordnungen=&lt;br /&gt;
Zuordnungen von Stammdaten wie Lieferanten und Mengeneinheiten nehmen Sie über den Shop-Menüpunkt &#039;&#039;X Konfiguration&#039;&#039; vor. In der Kofigurationsliste gelangen Sie über {{Key|F8 Zuord}} ins Zuordnungsmenü.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Aktuelle Menüpunkte:&lt;br /&gt;
*;[[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/Anreden#brShop24|A Anreden]]&lt;br /&gt;
:Liste für im Shop definierte Anreden. Hier können Sie die OBS-Anreden mit den Shop-Anreden verknüpfen. Relevant für den Export von Personen. Ohne Zuordnung werden Personen ohne Anrede exportiert.&lt;br /&gt;
*;[[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/Einheiten#brShop24|E Einheiten]]&lt;br /&gt;
:Liste für im Shop definierte Mengeneinheiten. Ordenen Sie hier die im OBS verwendeten Mengeneinheiten zu. {{Hinweis|Relevant für eigene Artikel. Ist eine verwendete OBS-Mengeneinheit nicht zugeordnet, so wird beim Export die Einheit &amp;quot;ST&amp;quot; (Stück) für den jeweiligen Artikel verwendet.}}&lt;br /&gt;
*;[[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner|L Lager und Lagerlieferanten]]&lt;br /&gt;
:Definierte Depots und Partner des Shops. Partnern können Sie einem OBS-Lieferanten zuordnen und die Lager entsprechend auf Pflege Büroring oder als eigene Artikel definieren. Relevant für den Export von Preisen, Shoppinglisten (Bestellvorlagen) und eigene Artikel.&lt;br /&gt;
*;[[Kostenpflichtige_Module/Internet-Shop/Zusatz/Artikeltausch|T Artikeltausch]]&lt;br /&gt;
:Greift beim Auftragsimport. Austauschen bestimmter Referenznummern gegen einen festgeschrieben Artikel z. B. für Pauschalen.&lt;br /&gt;
&lt;br /&gt;
=Erklärungen/Funktionen=&lt;br /&gt;
*[[Kostenpflichtige_Module/Internet-Shop/brShop24/Kundengruppen_verwalten|Kundengruppen verwalten]]&lt;br /&gt;
*[[Kostenpflichtige_Module/Internet-Shop/brShop24/Personen_übertragen|Kunden übertragen]]&lt;br /&gt;
*[[Kostenpflichtige_Module/Internet-Shop/brShop24/Preise_übertragen|Preise übertragen]]&lt;br /&gt;
*[[Kostenpflichtige_Module/Internet-Shop/brShop24/Eigene_Artikel_übertragen|eigene Artikel übertragen]]&lt;br /&gt;
*[[Kostenpflichtige_Module/Internet-Shop/brShop24/Shoppinglisten_übertragen|Shoppinglisten übertragen (z. B. Bestellvorlagen)]]&lt;br /&gt;
*[[Kostenpflichtige_Module/Internet-Shop/brShop24/Jobinformationen|Jobinformationen]]&lt;br /&gt;
*[[Kostenpflichtige Module/Internet-Shop/brShop24/Migration|Migration]]&lt;br /&gt;
*[[Kostenpflichtige Module/Internet-Shop/brShop24/PDF-Druck Artikellink|PDF-Druck Artikellink]]&lt;br /&gt;
*[[Kostenpflichtige_Module/Internet-Shop/brShop24/Definition_Sortiment|Definition Sortiment (individuelle Konfiguration)]]&lt;br /&gt;
&lt;br /&gt;
=Häufig gestellte Fragen (FAQ)=&lt;br /&gt;
==API Fehlermeldungen==&lt;br /&gt;
&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|faq_brshop24_fehler_trashed&lt;br /&gt;
|Was bedeutet die Meldung &amp;quot;api error: Record with the given unique fields data is trashed with ID 012356!&amp;quot;?&lt;br /&gt;
|Werden Datensätze wie ein Benutzer oder ein Artikel bei der jeweiligen Datenübertragung als &amp;quot;neuer Datensatz&amp;quot; erkannt, so übergibt OBS die Daten mit der Bitte/Anweisung um Anlage eines Datensatzes mit diesen Daten. Dies schlägt jedoch mit dieser Fehlermeldung fehl, wenn bereits ein Datensatz mit den gleichen zur eindeutigen Identifizierung verwendeten Daten im Shop mit der angegebenen ID existiert, jedoch in den &amp;quot;Papierkorb&amp;quot; verschoben wurde. Im brShop24 werden Daten nicht unbedingt gleich vollständig gelöscht. Diese Datensätze sind auch über die API nicht zu finden und müssen über den Adminbereich entweder vollständig gelöscht oder aus dem Papierkorb geholt werden.{{Hinweis|Welche Daten eindeutig sein müssen ist abhängig von der Art der Daten. Bei Artikeldaten ist dies z. B. die Lager- bzw. Depot-Identifikationsnummer zusammen mit der Shop-Artikelnummer aus den Artikel-Lagereinstellungen.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Daten Allgemein==&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|faq_brshop24_alg_datennichtangezeigt&lt;br /&gt;
|Ich habe Daten aus OBS übertragen, diese werden jedoch nicht angezeigt?&lt;br /&gt;
|Je nach Art der Daten gelten verschiedene Voraussetzungen. Prüfen Sie daher, ob die Voraussetzungen gegeben sind oder bereits der Export scheitert. Entsprechende Hinweise finden Sie in den Hilfetexten zum jeweiligen Datenexport oder im Protokoll.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Sind die Daten im Shop angelegt dort jedoch z. B. über den Adminbereich gelöscht worden, so können die Daten dort wiederhergestellt werden. Prüfen Sie daher auch, ob dies auf die Daten zutrifft.&amp;lt;br /&amp;gt;Dazu sei noch angemerkt, dass es im brShop24 zwei Varianten zum Löschen von Daten gibt:&lt;br /&gt;
#Soft-Delete&amp;lt;br /&amp;gt;d.h. ein Datensatz kann mit einem Löschkennzeichen markiert werden, so dass dieser zur Not auch wieder hergestellt werden kann (ähnlich dem Papierkorb unter Windows). Dies wird so z. B. im Adminbereich angewendet.&lt;br /&gt;
#Hard-Delete&amp;lt;br /&amp;gt;d.h. der Datensatz wird auch physikalisch vom Datenträger gelöscht, ist somit aus dem System entfernt und kann nicht wieder hergestellt werden. Dies gilt für die API.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|faq_brshop24_alg_apisuperadmin&lt;br /&gt;
|Kann ich die Datensätze aus der API im Adminbereich ändern/editieren?&lt;br /&gt;
|Standardmäßig wird eine Bearbeitung von Datensätzen, welche per API gepflegt werden, im Shop gesperrt. Sie haben jedoch die Möglichkeit die Bearbeitung in Ihrem Adminbenutzer freizugeben. Die Administratoren finden Sie im Menü des Adminbereichs unter &#039;&#039;Administration&#039;&#039; im Unterpunkt &#039;&#039;Administratoren&#039;&#039;. Suchen Sie in der Liste Ihren Benutzer (Benutzername steht oben rechts) und öffnen Sie die Eingabemaske. Im Reiter &#039;&#039;Einstellungen&#039;&#039; setzen Sie dann as Häkchen bei &#039;&#039;API Super-Administrator?&#039;&#039;.&lt;br /&gt;
{{Hinweis|Da es Daten/Felder gibt, welche OBS nicht über die API pflegen kann. Kann es durchaus sinnvoll sein, dies zu aktivieren. Dies betrifft z. B. Berechtigungen für Kundengruppen wie die Sortimentsfreigabe.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Preise/Preislisten==&lt;br /&gt;
Siehe [[Kostenpflichtige_Module/Internet-Shop/brShop24/Preise_übertragen#Häufig_gestellt_Fragen_(FAQ)|FAQ Preisexport brShop24]].&lt;br /&gt;
&lt;br /&gt;
==Import Auftragsdateien (OpenTRANS)==&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|faq_brshop24_imp_auftrag&lt;br /&gt;
|Warum wird die Kostenstelle nicht übernommen?&lt;br /&gt;
|Die Referenz auf die Kostenestelle muss in der Auftragsdatei im Element COST_CATEGORY_ID enthalten sein. OBS erwartet hier die vollständige Bezeichnung der [[OBS/Stammdaten/Personen#B2_-_Kostenstellen|Kostenstelle]]. Ist die Kostenstelle in der Auftragsdatei nicht enthalten oder die Referenz stimmt mit keiner Kostenstelle überein, so wird im Import keine Kostenstelle übernommen.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Migration VShop4==&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|faq_brshop24_allg_parallelbetrieb&lt;br /&gt;
|Können im OBS brShop24 und VShop4 parallel betrieben werden?&lt;br /&gt;
|Ja, es ist mögliche beide Shops im OBS zu verwalten. OBS ist in der Lage mehrere Schnittstellen, auch des gleichen Typs, zu verwalten. Die Schnittstellen arbeiten unabhängig voneinander. Nach unseren Informationen ist ein Parallelbetrieb seitens Büroring jedoch nicht gewünscht, da die Daten des VShop 4 nachträglich nicht oder nur mit deutlich größerem Aufwand in den brShop24 migriert werden könnten. Eventuell gehen Ihnen hier also Daten verloren, wenn der VShop4 abgeschaltet wird. Der brShop24 würde nach der Migration also Ihren aktuellen VShop 4 ersetzen. Bei Fragen zu dem Thema wenden Sie sich bitte an den Support des Büroring.&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Nimz</name></author>
	</entry>
	<entry>
		<id>https://wiki.bergau.de/index.php?title=FRMGETSELECTION_Y00EOD2AXH&amp;diff=64376</id>
		<title>FRMGETSELECTION Y00EOD2AXH</title>
		<link rel="alternate" type="text/html" href="https://wiki.bergau.de/index.php?title=FRMGETSELECTION_Y00EOD2AXH&amp;diff=64376"/>
		<updated>2026-03-16T14:19:11Z</updated>

		<summary type="html">&lt;p&gt;Nimz: Weiterleitungsziel von Kostenpflichtige Module/Internet-Shop/brShop24#Menü nach Kostenpflichtige Module/Internet-Shop/brShop24#W Definitionen importieren geändert&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Kostenpflichtige_Module/Internet-Shop/brShop24#W_Definitionen_importieren]]&lt;/div&gt;</summary>
		<author><name>Nimz</name></author>
	</entry>
	<entry>
		<id>https://wiki.bergau.de/index.php?title=Kostenpflichtige_Module/Internet-Shop/brShop24&amp;diff=64375</id>
		<title>Kostenpflichtige Module/Internet-Shop/brShop24</title>
		<link rel="alternate" type="text/html" href="https://wiki.bergau.de/index.php?title=Kostenpflichtige_Module/Internet-Shop/brShop24&amp;diff=64375"/>
		<updated>2026-03-16T14:18:25Z</updated>

		<summary type="html">&lt;p&gt;Nimz: /* Menü */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Kostenpflichtige Module}}&lt;br /&gt;
{{Aktuelles|Die Schnittstelle brShop24 wird 60 Euro monatlich kosten.}}&lt;br /&gt;
Der brShop24 wird von der Genossenschaft [https://www.bueroring.de Büroring eG] entwickelt und angeboten. Diese ECommerce-Lösung soll langfristig den bisher angebotenen VShop 4 Pro ablösen. Für die Anbindung an den brShop24 steht Ihnen eine Schnittstelle basierend auf [https://de.wikipedia.org/wiki/GraphQL GraphQL] zur Verfügung.&lt;br /&gt;
{{Achtung|Für die Preisübertragung wird das kostenpflichtige Modul [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] vorausgesetzt!}}&lt;br /&gt;
{{Achtung|Die Schnittstellen für VShop 4 Pro und brShop24 sind nicht kompatibel! Sollten Sie sich also für eine Umstellung Ihres VShop 4 Pro auf das neue System brShop24 entscheiden, so muss dies im OBS ebenfalls umgestellt werden!&amp;lt;br/&amp;gt;Siehe auch die Punkte [[#Umstellung.2FMigration_VShop_4|Umstellung/Migration VShop 4]] und [[#faq_brshop24_allg_parallelbetrieb|FAQ Parallelbetrieb]].}}&lt;br /&gt;
=Funktionsumfang=&lt;br /&gt;
{{Achtung|Die hier aufgeführten Funktionen sind unter Vorbehalt in der aktuellen Version von OBS enthalten, da sich die Funktionalitäten in API und OBS noch ändern können.}}&lt;br /&gt;
Diese Schnittstelle unterstützt den Im- und Export von Daten wie folgt:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Import!! Export&lt;br /&gt;
|-&lt;br /&gt;
| Auftragsimport (OpenTRANS 1.0)|| Preislisten&lt;br /&gt;
|-&lt;br /&gt;
| Depots + Partner|| Kundengruppen&lt;br /&gt;
|-&lt;br /&gt;
| Anreden|| Ansprechpartner (Benutzer und Personen)&lt;br /&gt;
|-&lt;br /&gt;
| Kundentypen|| Kostenstellen&lt;br /&gt;
|-&lt;br /&gt;
| Kundenqualifikation|| Adressen (Personenstamm)&lt;br /&gt;
|-&lt;br /&gt;
| Job-Informationen (Ergebnis/Protokoll Preispflege)|| Shopping-Listen (Meistgekaufte Artikel/Top-Artikel)&lt;br /&gt;
|-&lt;br /&gt;
| Kundengruppen (Migration)|| &lt;br /&gt;
|-&lt;br /&gt;
| Benutzer (Migration)|| &lt;br /&gt;
|-&lt;br /&gt;
| Kostenstellen (Migration)|| &lt;br /&gt;
|}&lt;br /&gt;
{{Hinweis|Zu Beginn wird es nur Bestelldateien im Format OpenTRANS 1.0 geben. Das neuere Format 2.1 ist aber bereits eingeplant und soll zu einem späteren Zeitpunkt folgen.}}&lt;br /&gt;
==Vergleich zur Schnittstelle VShop 4==&lt;br /&gt;
Stand: 13.10.2022&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!|&lt;br /&gt;
|&#039;&#039;&#039;VShop 4&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;brShop24&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Bestellungen importieren&#039;&#039;&#039;&lt;br /&gt;
|ja&lt;br /&gt;
|ja&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Kundendaten abfragen&#039;&#039;&#039;&lt;br /&gt;
|ja (&amp;quot;Kunde vorhanden?&amp;quot;)&lt;br /&gt;
|ja (&amp;quot;Kunde vorhanden?&amp;quot; und Migration)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Kundendaten übertragen&#039;&#039;&#039;&lt;br /&gt;
|ja&lt;br /&gt;
|ja&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-left: 100px&amp;quot;|(Kunden-)Gruppe&lt;br /&gt;
|Aus Personennummer (Hauptperson)&lt;br /&gt;
|eigene Verwaltung&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-left: 100px&amp;quot;|Benutzerkonto&lt;br /&gt;
|aus Person und Ansprechpartner&lt;br /&gt;
|aus Ansprechpartner&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-left: 100px&amp;quot;|Kostenstellen&lt;br /&gt;
|nur als Kostenstelle (mit Budget)&lt;br /&gt;
|Kostenstelle (noch ohne Budget; fehlt im Shop bisher) und Versandadresse&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-left: 100px&amp;quot;|Shopping-Listen&lt;br /&gt;
|ja&lt;br /&gt;
|ja&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-left: 100px&amp;quot;|Adressen/Adressbuch&lt;br /&gt;
|nein (nur Standardadresse im Benutzerkonto)&lt;br /&gt;
|ja&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-left: 100px&amp;quot;|Anreden&lt;br /&gt;
|nein&lt;br /&gt;
|Import (Definition/Zuordnung)&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-left: 100px&amp;quot;|Kundentyp&lt;br /&gt;
|nein&lt;br /&gt;
|Import (Definition/Zuordnung)&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-left: 100px&amp;quot;|Kundenqualifikation&lt;br /&gt;
|nein&lt;br /&gt;
|Import (Definition/Zuordnung)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Artikelvorlage setzen&#039;&#039;&#039;&lt;br /&gt;
|ja&lt;br /&gt;
|nein&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Preise übertragen&#039;&#039;&#039;&lt;br /&gt;
|ja&lt;br /&gt;
|ja (nur Preislisten)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Lager&#039;&#039;&#039;&lt;br /&gt;
|Import (Definition/Zuordnung)&lt;br /&gt;
|Import (Definition/Zuordnung)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Partner&#039;&#039;&#039;&lt;br /&gt;
|Import (Definition/Zuordnung)&lt;br /&gt;
|Import (Definition/Zuordnung)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Warengruppen/Kategorien&#039;&#039;&#039;&lt;br /&gt;
|Import (Definition/Zuordnung)&lt;br /&gt;
|nein&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Artikel&#039;&#039;&#039;&lt;br /&gt;
|ja&lt;br /&gt;
|ja&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-left: 100px&amp;quot;|übertragen&lt;br /&gt;
|ja&lt;br /&gt;
|ja&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-left: 100px&amp;quot;|Abgleich (eigene Artikel)&lt;br /&gt;
|ja&lt;br /&gt;
|nein&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Sterne&#039;&#039;&#039;&lt;br /&gt;
|ja&lt;br /&gt;
|nein&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;monatliche Kosten&#039;&#039;&#039;&lt;br /&gt;
|20 Euro&lt;br /&gt;
|60 Euro&lt;br /&gt;
|}&lt;br /&gt;
{{Hinweis|Für eine Beschreibung der einzelnen Funktionen siehe [[#Erklärungen/Funktionen|Erklärungen/Funktionen]].}}&lt;br /&gt;
&lt;br /&gt;
==Bekannte Probleme==&lt;br /&gt;
{{Hinweis|Die hier aufgeführten Probleme sollen einen Überblick zum Stand einzelner Funktionen geben, sollten Sie sich dazu entscheiden mit der Schnittstelle zu arbeiten.}}&lt;br /&gt;
{{Achtung|Bei den letzten Tests kam es zu einem Fehler innerhalb der API, durch den die übermittelten Daten nicht korrekt verarbeitet wurden. Der Fehler trat an verschiedenen Stellen auf und konnte nicht reproduziert werden. Aktuell ist dies unter Beobachtung seitens Büroring. Von OBS aus können Sie aktuell die Datenübertragung nur ein zweites Mal ausführen, bis eine Lösung für das Problem gefunden wurde. Bei Preislisten hatte das Problem jedoch noch die Auswirkung, dass die Preislisten danach doppelt vorhanden war (siehe &amp;quot;doppelte Preislisten bei Fehler in Preislistenupdate&amp;quot;).}}&lt;br /&gt;
===Import Bestellungen===&lt;br /&gt;
*;eindeutige Identifikation von Artikeln&lt;br /&gt;
:Nach aktuellem Stand wird nur der aktuelle Katalog von Büroring eingespielt. Sollten jedoch auch von anderen Lieferanten Artikel im Shop verkauft werden, kann es bei den Artikelnummern zu &amp;quot;doppelten&amp;quot; Artikeln kommen. Derzeit fehlt noch die Möglichkeit dies beim Import unterscheiden zu können.&lt;br /&gt;
*;fehlende Kostenstellen&lt;br /&gt;
:In der Auftragsdatei werden nach aktuellem Stand keine Kostenstellen geliefert. Somit kann OBS diese bei der Auftragsgenerierung hinterlegen.&amp;lt;br /&amp;gt;&#039;&#039;Die Kostenstellen werden nach Informationen von Büroring jetzt in die openTRANS-Order übernommen (Stand 25.02.2021).&#039;&#039;&lt;br /&gt;
*;Anzeige in FTP-Eingang&lt;br /&gt;
:Bei aktivierter Anzeige von importierten Bestellungen im FTP-Eingang, wird bisher in der Spalte &#039;&#039;Typ&#039;&#039; nichts angezeigt.&amp;lt;br /&amp;gt;&#039;&#039;Behoben mit Version 003663 (Info 005482).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Personendaten===&lt;br /&gt;
*;Export Kostenstellen Budgets&lt;br /&gt;
:Die Budgetverwaltung wurde bisher noch nicht im brShop24 umgesetzt und steht daher auch in der API noch nicht zur Verfügung.&lt;br /&gt;
*;Anzeige Webshop-Einstellungen&lt;br /&gt;
:Die Anzeige des Kundenstatus funktioniert aktuell nur, wenn die Kundennummer auch in einer Kundengruppe steht.&amp;lt;br /&amp;gt;&#039;&#039;Behoben mit Version 003591 (Info 005378).&#039;&#039;&lt;br /&gt;
*;Übertragung Adressen&lt;br /&gt;
:Die Adressen werden nicht angelegt, weil der Typ mit einem ungültigen Wert an die API übergeben wird.&amp;lt;br /&amp;gt;&#039;&#039;Behoben mit Version 003587 (Info 005365).&#039;&#039;&lt;br /&gt;
*;Zuordnung Adressen Kundengruppe&lt;br /&gt;
:Adressen werden bei Übertragung auch in der Kundengruppe zugeordnet, obwohl es sich um eine System-Gruppe handelt.&amp;lt;br /&amp;gt;&#039;&#039;Behoben mit Version 003600.&#039;&#039;&lt;br /&gt;
*;Zuordnung Adressen Benutzer&lt;br /&gt;
:Im Benutzer wird eine übertragene Adresse nicht zugeordnet.&amp;lt;br /&amp;gt;&#039;&#039;Behoben mit Version 003665 (Info 005483).&#039;&#039;&lt;br /&gt;
*;Einfügen neuer Kundengruppen&lt;br /&gt;
:Die Datensätze werden im OBS nicht korrekt angelegt und können daher nicht exportiert werden.&amp;lt;br /&amp;gt;&#039;&#039;Behoben mit Version 003594 (Infos 005375 und 005393).&#039;&#039;&lt;br /&gt;
*;Adressen aus Kostenstellen&lt;br /&gt;
:Werden bisher nicht übertragen.&amp;lt;br /&amp;gt;&#039;&#039;Behoben mit Version 003606 (Info 005398). Adressen aus Kostenstellen werden jetzt als Versandadressen hinterlegt&#039;&#039;&lt;br /&gt;
*;Zuordnung Kostenstellen&lt;br /&gt;
:Kostenstellen werden bei Übertragung auch in der Kundengruppe zugeordnet, wenn es sich um eine System-Gruppe handelt.&amp;lt;br /&amp;gt;&#039;&#039;Behoben mit Version 003600. Kostenstellen werden bei Systemgruppen nicht mehr exportiert. Benutzer erhalten einen Hinweis bei Export der Personendaten aus den Webshop-Einstellungen und werden gefragt, ob die Personedaten trotzdem exportiert werden sollen.&#039;&#039;&lt;br /&gt;
*;Im Shop ist der Adresstyp vertauscht&lt;br /&gt;
:Adressen die eigentlich &amp;quot;Postanschrift&amp;quot; haben sollten, bekommen &amp;quot;Postfach Anschrift&amp;quot; und umgekehrt.&amp;lt;br /&amp;gt;&#039;&#039;Behoben mit Version 003684 (Info 005494).&#039;&#039;&lt;br /&gt;
*;Benutzer ist immer Admin&lt;br /&gt;
:Die Funktionalität über Eigenschaft 9011 wurde noch nicht übernommen aus der VShop-Schnittstelle übernommen, da sie dort problembehaftet ist. Die Fehlerhafte Übertragung in dieser Schnittstelle wurde somit vorerst vollständig entfernt.&amp;lt;br /&amp;gt;&#039;&#039;Behoben mit Version 003735 (Info 005548).&#039;&#039;&lt;br /&gt;
*;Benutzer wird nicht angelegt&lt;br /&gt;
:Während des Exports kommt es zu einem Abbruch im OBS und der Export wird nicht vollständig ausgeführt.&amp;lt;br /&amp;gt;&#039;&#039;Behoben mit Version 004061 (Info 005911).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Preise/Preislisten===&lt;br /&gt;
*;Keine Aktualisierung für Kunden mit Kundennummer im Benutzer&lt;br /&gt;
:Preislisten werden nicht erkannt, wenn die Kundennummer nur im Benutzer vorkommt.&amp;lt;br /&amp;gt;&#039;&#039;Behoben mit Version 003592 (Info 005384).&#039;&#039;&lt;br /&gt;
*;doppelte Preislisten bei Fehler in Preislistenupdate&lt;br /&gt;
:Tritt in der Aktualisierung der Preislistenkopfdaten ein Fehler auf, so wird die Preisliste ein weitere Mal angelegt.&amp;lt;br /&amp;gt;&#039;&#039;Behoben mit Version 003630 (Info 005452).&#039;&#039;&lt;br /&gt;
*;Keine Aktualisierung der Kopfdaten&lt;br /&gt;
:Wurden im OBS Änderungen an den Kopfdaten (Name, Prio, Gültigkeitszeitraum) vorgenommen, konnte es passieren, dass diese nicht in den Shop übertragen wurden.&amp;lt;br /&amp;gt;&#039;&#039;Behoben mit Version 003703 (Info 005515).&#039;&#039;&lt;br /&gt;
*;Preise löschen verlängert die Laufzeit der Preispflege&lt;br /&gt;
:Beim Löschen von Preisen könnte es vorkommen, dass sich die zu löschenden Datensätze nicht korrekt aus der Liste genommen wurden, auch wenn der Datensatz aus dem Shop entfernt wurde. Dadurch versucht OBS diese Datensätze bei jedem folgenden Durchlauf der Preispflege zu löschen, was fehlschlägt, da die Datensätze ja schon gelöscht sind.&amp;lt;br /&amp;gt;&#039;&#039;Behoben voraussichtlich mit Version 003833 (Info 005664).&#039;&#039;&lt;br /&gt;
*;Preise werden nicht bei allen Preislisten aktualisiert&lt;br /&gt;
:Eine Prüfung war fehlerhaft und konnte die Aktualisierung der Preise für eine Preisliste verhindern.&amp;lt;br /&amp;gt;&#039;&#039;Behoben mit Version 003911 (Info 005733).&#039;&#039;&lt;br /&gt;
*;Preislisten, welche über Preisgruppen einem Kunden zugeordnet sind, werden im Shop nicht in Kundengruppen und Benutzern hinterlegt&lt;br /&gt;
:An einer Stelle in der Abfrage der Zuordnungen sind die Nummern für Preisgruppe und Preisliste vertauscht. Der Fehler betrifft eigene Preislisten, welche über Preisgruppen zugeordnet sind. Für die Standard-Preislisten VK1 bis VK9 kommt es nicht zu diesem Fehler, da hier die Nummern identisch sind.&amp;lt;br /&amp;gt;&#039;&#039;Behoben mit Version 003959 (Info 005785).&#039;&#039;&lt;br /&gt;
*;Zuordnungen von Preislisten sind fehlerhaft&lt;br /&gt;
:Unter bestimmten Umständen (Löschen ganzer Preislisten oder Kunde ohne verbleibende Preisliste) kann es im OBS zu einem Problem mit der Verwaltung der Zuordnungen im Shop kommen. Zuordnungen können dabei erhalten bleiben oder werden nicht angelegt.&amp;lt;br /&amp;gt;&#039;&#039;Behoben mit Version 004012 (Info 005847).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Bestellvorlagen/Shoppinglisten===&lt;br /&gt;
*;Anzeige im Shop&lt;br /&gt;
:Nach aktuellem Stand können die Bestellvorlagen, die es auch schon für den VShop 4 exportiert werden konnten, in den brShop24 übertragen werden. Die Anzeige im Frontend (Ansicht für den Kunden) ist jedoch noch nicht umgesetzt. Sie können aktuell nur über den Admibereich prüfen, ob die Bestellvorlagen im Shop angekommen sind.&amp;lt;br /&amp;gt;&#039;&#039;Im Frontend werden die Listen jetzt angezeigt (Stand: 09.11.2021).&#039;&#039;&lt;br /&gt;
*;Generierung Shoppinglisten&lt;br /&gt;
:Durch einen Fehler in der Erkennung des Brüroring Zentrallagers konnte die falsche Lager-ID gezogen werden. Dadurch wurden die Artikel nicht korrekt identifiziert und die Shoppinglisten wurden nicht generiert.&amp;lt;br /&amp;gt;&#039;&#039;Behoben vorraussichtlich mit Version 003815 (Info 005654).&#039;&#039;&lt;br /&gt;
*;Zuordnung Shoppinglisten&lt;br /&gt;
:In der Übertragung wurden Shoppinglisten nicht in Benutzern zugeordnet. Dadurch sehen insbesondere bei allgemeinen Kundengruppen (z. B. registrierte Kunden) Benutzer die von OBS für eine Kundennummer erstellten und übertragenen Shoppinglisten nicht.&amp;lt;br /&amp;gt;&#039;&#039;Behoben mit Version 003832 (Info 005663).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Migration===&lt;br /&gt;
*;Auswahl eines vorhandenen Ansprechpartner für Zuordnung zu einem Shop-Benutzer schlägt fehlt&lt;br /&gt;
:Die Auswahl verhält sich als würde keine Datensatz ausgewählt werden und setzt daher die Zuordnung nicht.&amp;lt;br /&amp;gt;&#039;&#039;Behoben mit Version 004012 (Info 005845).&#039;&#039;&lt;br /&gt;
*;Aus einem Benutzerkonto kann kein Ansprechpartner angelegt werden&lt;br /&gt;
:Es kann bei der Übernahme der Daten zu einem SQL-Fehler im OBS kommen, welcher die Anlage der Daten verhindert.&amp;lt;br /&amp;gt;&#039;&#039;Behoben mit Version 004012 (Info 005844).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Kosten=&lt;br /&gt;
*;Einrichtung&lt;br /&gt;
:Sie können die Schnittstelle vom OBS-Support einrichten lassen oder dies selbst erledigen. Informationen zu den nötigen Daten/Angaben für eine Einrichtung finden Sie im nächsten Punkt [[#Installation.2FEinrichtung|Installation/Einrichtung]].&amp;lt;br /&amp;gt;Wenn Sie eine Einrichtung durch den OBS-Support wünschen, wird dies &#039;&#039;&#039;einmalig nach Aufwand&#039;&#039;&#039; abgerechnet.&lt;br /&gt;
*;Nutzung Schnittstelle&lt;br /&gt;
:Für den Einsatz wird pro aktiver brShop24-Schnittstelle &#039;&#039;&#039;monatlich 60 Euro&#039;&#039;&#039; berechnet.&lt;br /&gt;
&lt;br /&gt;
=Installation/Einrichtung=&lt;br /&gt;
Für die Einrichtung werden Angaben zur API-Anbindung und FTP-Zugangsdaten für die Abholung der Auftragsdateien benötigt. Außerdem muss OBS für die Preispflege auf das kostenpflichtige [[OBS/Kostenpflichtige_Module/Preislisten|OBS-Modul Preislisten]] umgestellt worden sein.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Für eine genaue Auflistung der benötigten Informationen und eine Beschreibung der Einrichtung lesen Sie bitte die Seite zur [[Kostenpflichtige_Module/Internet-Shop/brShop24/Einrichtung|&amp;lt;u&amp;gt;Einrichtung einer brShop24-Schnittstelle&amp;lt;/u&amp;gt;]].&lt;br /&gt;
&lt;br /&gt;
=Mit der Schnittstelle Starten=&lt;br /&gt;
==Daten migrieren==&lt;br /&gt;
Sofern Sie in der Vergangenheit einen VShop 4 verwendet haben und die Daten vom Büroring in den neuen brShop24 migriert wurden, empfehlen wir nach Abschluss der Einrichtung eine [[Kostenpflichtige_Module/Internet-Shop/brShop24/Migration|Datenmigration im OBS]] durchzuführen (siehe auch [[#Umstellung.2FMigration_VShop_4|Umstellung/Migration VShop 4]]). Dabei werden die vom VShop 4 migrierten Kundendaten aus dem Shop ausgelesen und in OBS importiert. OBS versucht die importierten Daten anschließend mit den Stammdaten zu verknüpfen und erstellt für die Kunden die Webshop-Einstellungen und gibt die Ansprechpartner frei.&amp;lt;br /&amp;gt;&lt;br /&gt;
Nach den Kundengruppen und Benutzern werden die Kostenstellen eingelesen und versucht den Einträgen im OBS zuzuordnen. Der Anzeigename (Shop) einer Kostenstelle muss dabei mit der Bezeichnung der Kostenstelle übereinstimmen und innerhalb der Kundengruppe eindeutig sein.&lt;br /&gt;
{{Achtung|Die Zuordnung läuft automatisiert und kann einige Minuten in Anspruch nehmen! Sollte der Vorgang abbrechen, können Sie die Migration erneut starten. Die Zuordnung erfolgt nur für Daten, die eindeutig identifiziert werden konnten!}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Außerdem werden die Preislisten aus den im Shop vorhandenen Preislisten ermittelt und für die Schnittstelle freigegeben. Die Preislisten werden stattdessen nach erfolgreicher Zuordnung im Shop geleert und neu befüllt. So sind die Preisdaten auch gleich auf dem aktuellen Stand und für die spätere Aktualisierung sind die Daten im OBS entsprechend vorbereitet.&lt;br /&gt;
{{Achtung|Es findet &#039;&#039;&#039;keine&#039;&#039;&#039; Verknüpfung mit den Preisdaten im OBS statt, da der vollständige Abgleich aller einzelnen Preisdaten zu lange dauern würde!}}&lt;br /&gt;
&lt;br /&gt;
==Datenhoheit==&lt;br /&gt;
Es gibt einige spezifische Daten im Shop, die von OBS nicht angefasst werden (dürfen). Das betrifft z. B. die Standard-Kundengruppen des brShop24. Für OBS-Daten hat jedoch OBS die Datenhoheit. Im Shop können Sie dies an den verfügbaren Funktionen (Bild 1) erkennen. Die von OBS gepflegten Daten werden über die API (Bild 2) angelegt und haben bei den Funktionen statt dem Stift-Symbol (Daten bearbeiten) nur ein Auge-Symbol (Daten ansehen).&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;200px&amp;quot;&amp;gt;&lt;br /&gt;
File:Br24_admin_datenoptionen.jpg|Bild 1: Funktionen|alt=Funktionen&lt;br /&gt;
File:Br24_admin_letzte_aend.jpg|Bild 2: Letzte Änderung|alt=letzte Änderung&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Umstellung/Migration VShop 4=&lt;br /&gt;
Nach aktuellem Stand wird für Kunden mit VShop 4 vom Büroring eine Migration des bestehenden VShop 4 auf den neuen brShop24 durchgeführt. Dabei soll auch gewählt werden können, welche Daten bei der Migration übernommen werden. Wie dies genau aussieht, müssen Sie jedoch mit dem Büroring klären. Es gibt jedoch auch einige Punkte, die Sie bei der Migration für die Umstellung im OBS bedenken müssen.&lt;br /&gt;
*;Neue API&lt;br /&gt;
:Im Unterschied zum VShop 4 läuft die Schnittstelle zum brShop24 über eine API. OBS dies bringt ein paar Einschränkungen für die migrierten Daten mit sich. Es ist OBS nicht möglich die Daten wiederzufinden, die von OBS zuvor in den VShop 4 übertragen wurden. Wie sich dies auf die Pflege von Daten auswirkt, muss noch in Erfahrung gebracht werden, da im Testsystem keine migrierten Daten zur Verfügung stehen.&lt;br /&gt;
*;Besonderheit Preisdaten&lt;br /&gt;
:OBS arbeitet in Schnittstelle über eine sogenannte API-ID, also eine Identifikationsnnummer speziell für die neue API. OBS kann nur Preisdaten verändern, die auch über die API in den Shop übertragen wurden. Wir empfehlen daher die Preisdaten möglichst über OBS zu pflegen und nicht migrieren zu lassen.&lt;br /&gt;
*;Schnittstelle im OBS&lt;br /&gt;
:Die Schnittstelle muss im OBS freigeschaltet und eingerichtet werden (siehe dazu [[Kostenpflichtige_Module/Internet-Shop/brShop24/Einrichtung|Einrichtung]]). Dies kann bereits vor der Migration geschehen. Bedenken Sie jedoch, dass die Aufträge erst importiert werden können, nachdem die Schnittstelle eingerichtet wurde. Gebe Sie uns also rechtzeitig Bescheid, damit wir die Schnittstelle freigeben können. Die Einrichtung kann auf Wunsch von uns kostenpflichtig übernommen werden.{{Hinweis|Die Freischaltung der Schnittstelle hat auch eine Anpassung des Vertrags zur Folge. Bitte beachten Sie, dass die Schnittstelle brShop24 mit 60 Euro statt 20 Euro berechnet wird.}}&lt;br /&gt;
*;Modul Preislisten&lt;br /&gt;
:Für den brShop24 wird das Modul [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] für die Pflege von Preisen über die Schnittstelle vorrausgesetzt. Sollten Sie dieses Modul noch nicht nutzen, so müsste dies zuvor eingerichtet werden, wenn Sie Preise aus OBS in den Shop übertragen möchten. Die Einrichtung des Moduls kann mehrere Stunden in Anspruch nehmen. Wir empfehlen die Umstellung vor der Migration durchzuführen, da dies die Arbeitsweise mit Artikelpreisen verändert. Eine Schulung wird ebenfalls empfohlen.&lt;br /&gt;
*;Migration Freigaben OBS VShop 4 nach brShop24 (siehe [[Kostenpflichtige Module/Internet-Shop/brShop24/Migration|Migration]])&lt;br /&gt;
:Über das Shop-Menü können Kundengruppen und Benutzer mit dem OBS-Personenstamm abgeglichen werden. Im Personenstamm werden dann für gefundene Datensätze Webshop-Einstelungen angelegt. Ansprechpartnern, welchen ein Benutzer eindeutig zugeordnet werden konnten, erhalten die Eigenschaft 9013 und die Zuordnung zur Schnittstelle. Sollte die eindeutige Zuordnung ohne Benutzername erfolgt sein, so wird auch der Benutzername im Ansprechpartner hinterlegt. Außerdem werden die Preislisten mit dem Shop abgeglichen, freigegeben und übertragen.{{Hinweis|Es ist nicht möglich die Passwörter auszulesen. Diese können also nicht im Ansprechpartner hinterlegt werden. Sollten Sie zu einem späteren Zeitpunkt die den Benutzer im Shop aktualisieren wollen, müssten diesen zuvor ein Passwort gegeben werden, sollte noch keines vorhanden sein.}}{{Achtung|Damit die Migration auch die Kundendaten verknüpfen kann, muss diese Funktionalität im Shop freigeschaltet sein. Wenden Sie sich hierzu an den Support des Büroring.}}&lt;br /&gt;
==Ablauf einer Umstellung==&lt;br /&gt;
Für gewöhnlich richtet Büroring zunächst einen Shop zu Testzwecken ein. Sie erhalten danach die API-Daten, mit denen die Schnittstelle eingerichtet werden kann (siehe dazu [[Kostenpflichtige_Module/Internet-Shop/brShop24/Einrichtung|Einrichtung]]). Sie können jetzt die Schnittstelle testen und wenn Fragen oder Probleme geklärt sind, dem Büroring die Freigabe für den Live-Betrieb erteilen. Der Shop wird daraufhin zurückgesetzt. Dies muss im OBS ebenfalls passieren. Informieren Sie dazu den Support per Ticket oder E-Mail (siehe dazu auch [[Kostenpflichtige_Module/Internet-Shop/brShop24/Einrichtung#Vorwort|Vorwort Einrichtung]]).&lt;br /&gt;
&lt;br /&gt;
=Menü=&lt;br /&gt;
==B Preislisten verwalten==&lt;br /&gt;
Öffnet die [[Kostenpflichtige_Module/Internet-Shop/brShop24/Preise_übertragen#Preislisten_verwalten|Preislistenverwaltung der Schnittstelle]]&lt;br /&gt;
&lt;br /&gt;
==F Kundengruppen==&lt;br /&gt;
Öffnet die [[Kostenpflichtige_Module/Internet-Shop/brShop24/Kundengruppen_verwalten|Kundengruppenverwaltung der Schnittstelle]].&lt;br /&gt;
&lt;br /&gt;
==I Bestellvorlagen verwalten==&lt;br /&gt;
Öffnet die [[Kostenpflichtige_Module/Internet-Shop/brShop24/Shoppinglisten_übertragen|Shoplistenverwaltung der Schnittstelle]].&lt;br /&gt;
&lt;br /&gt;
==M Migration==&lt;br /&gt;
Startet die [[Kostenpflichtige Module/Internet-Shop/brShop24/Migration|Migration]] der Daten. Dabei werden die aktuellen Kudnendaten (Gruppen und Benutzer) eingelesen und im Personestamm, sofern automatisiert möglich, Webshop-Einstellungen angelegt und Ansprechpartner zugeordnet.&lt;br /&gt;
&lt;br /&gt;
==T Jobinformationen==&lt;br /&gt;
Die [[Kostenpflichtige_Module/Internet-Shop/brShop24/Jobinformationen|Jobinformationen]] sind ein Protokoll des Shops für die Preispflege-Jobs. Diese werden beim Exportieren der Preise angelegt. Über diesen Menüpunkt können Sie die bisherigen Job-Protokolle einsehen. Beim Einlesen der Jobinformationen werden aufgetretene Fehler verarbeitet.&lt;br /&gt;
&lt;br /&gt;
==U Bestellungen einlesen==&lt;br /&gt;
Liest die vorhanden Bestelldateien aus dem Shop-Verzeichnis ein. Für den automatischen Import siehe [[Kostenpflichtige_Module/Internet-Shop/Einrichtung/Automatiken#Bestellungen_einlesen|Automatiken: Bestellungen einlesen]].&lt;br /&gt;
&lt;br /&gt;
==W Definitionen importieren==&lt;br /&gt;
Über diesen Menüpunkt können Sie alle für OBS-Relevanten Definitionen zur Vorbereitung der Datenexporte importieren. Dies umfasst aktuell folgende Definitionen:&lt;br /&gt;
*[[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner|Depots/Lager mit Partner]]&lt;br /&gt;
*[[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/Anreden#brShop24|Anreden]]&lt;br /&gt;
*Kundentypen (u. a. B2B, B2C)&lt;br /&gt;
*Kundenqualifikation (u. a. neuer Kunden, Stammkunde)&lt;br /&gt;
*Artikelbezeichnungsgruppen&lt;br /&gt;
*Produkttypen&lt;br /&gt;
*Mengeneinheiten&lt;br /&gt;
*Artikellieferstatus&lt;br /&gt;
*Hersteller&lt;br /&gt;
*Marken&lt;br /&gt;
*Umsatzsteuerdefinitionen&lt;br /&gt;
*Paketdienstleister&lt;br /&gt;
*Artikel-Einschluss-Listen&lt;br /&gt;
*Artikel-Ausschluss-Listen&lt;br /&gt;
*Kataloge&lt;br /&gt;
Für den automatischen Import siehe [[Kostenpflichtige_Module/Internet-Shop/Einrichtung/Automatiken#Definitionen_importieren|Automatiken: Definitionen importieren]].&lt;br /&gt;
{{Hinweis|Diese Definitionen spielen an verschiedenen Stellen eine wichtige Rolle. Sollten Sie die Definitionen noch nicht importiert und vor einem Datenexport zugeordnet haben, funktionert entweder der Datenexport nicht oder es werden Standardwerte verwendet.}}&lt;br /&gt;
&lt;br /&gt;
==X Konfiguration==&lt;br /&gt;
Öffnet die [[OBS/Stammdaten/Schnittstellen/Internet-Shop/Konfiguration|Konfiguration]] der Schnittstellen. Hier können die Einstellungen der Schnittstelle angepasst werden.{{Hinweis|Um Anpassungen vorzunehmen wird für die meisten Einstellungen ein Level von 3 oder 5 benötigt. Es ist möglich dieses Level anzupassen, auch kann ein Benutzer für die Schnittstelle ein abweichendes Benutzerlevel erhalten. Melden Sie sich bei Bedarf per [[OBS/System/Ticket-System|OBS Ticketsystem]] beim OBS-Support.}}&lt;br /&gt;
&lt;br /&gt;
==Y Testumgebung==&lt;br /&gt;
Öffnet eine Testumgebung, um die Anbindung zu testen.&lt;br /&gt;
&lt;br /&gt;
==Z Protokoll==&lt;br /&gt;
|Über den Menüpunkt &#039;&#039;Z Protokoll&#039;&#039; des Shops-Menüs erhalten Sie Zugriff auf das Shop-Protokoll. Es werden vorrangig Hinweise zu Fehlern oder Problemen bei Im- und Exporten protokolliert. Über die Konfiguration kann mit Aktivierung des Debugmodus (Schlüssel &#039;&#039;Shop.Debug&#039;&#039;) eine erweiterte Protokollierung aktiviert werden. Dafür benötigt ein Benutzer jedoch Administrationsrechte (Level 9) für die Schnittstelle.&lt;br /&gt;
&lt;br /&gt;
=Zuordnungen=&lt;br /&gt;
Zuordnungen von Stammdaten wie Lieferanten und Mengeneinheiten nehmen Sie über den Shop-Menüpunkt &#039;&#039;X Konfiguration&#039;&#039; vor. In der Kofigurationsliste gelangen Sie über {{Key|F8 Zuord}} ins Zuordnungsmenü.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Aktuelle Menüpunkte:&lt;br /&gt;
*;[[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/Anreden#brShop24|A Anreden]]&lt;br /&gt;
:Liste für im Shop definierte Anreden. Hier können Sie die OBS-Anreden mit den Shop-Anreden verknüpfen. Relevant für den Export von Personen. Ohne Zuordnung werden Personen ohne Anrede exportiert.&lt;br /&gt;
*;[[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/Einheiten#brShop24|E Einheiten]]&lt;br /&gt;
:Liste für im Shop definierte Mengeneinheiten. Ordenen Sie hier die im OBS verwendeten Mengeneinheiten zu. {{Hinweis|Relevant für eigene Artikel. Ist eine verwendete OBS-Mengeneinheit nicht zugeordnet, so wird beim Export die Einheit &amp;quot;ST&amp;quot; (Stück) für den jeweiligen Artikel verwendet.}}&lt;br /&gt;
*;[[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner|L Lager und Lagerlieferanten]]&lt;br /&gt;
:Definierte Depots und Partner des Shops. Partnern können Sie einem OBS-Lieferanten zuordnen und die Lager entsprechend auf Pflege Büroring oder als eigene Artikel definieren. Relevant für den Export von Preisen, Shoppinglisten (Bestellvorlagen) und eigene Artikel.&lt;br /&gt;
*;[[Kostenpflichtige_Module/Internet-Shop/Zusatz/Artikeltausch|T Artikeltausch]]&lt;br /&gt;
:Greift beim Auftragsimport. Austauschen bestimmter Referenznummern gegen einen festgeschrieben Artikel z. B. für Pauschalen.&lt;br /&gt;
&lt;br /&gt;
=Erklärungen/Funktionen=&lt;br /&gt;
*[[Kostenpflichtige_Module/Internet-Shop/brShop24/Kundengruppen_verwalten|Kundengruppen verwalten]]&lt;br /&gt;
*[[Kostenpflichtige_Module/Internet-Shop/brShop24/Personen_übertragen|Kunden übertragen]]&lt;br /&gt;
*[[Kostenpflichtige_Module/Internet-Shop/brShop24/Preise_übertragen|Preise übertragen]]&lt;br /&gt;
*[[Kostenpflichtige_Module/Internet-Shop/brShop24/Eigene_Artikel_übertragen|eigene Artikel übertragen]]&lt;br /&gt;
*[[Kostenpflichtige_Module/Internet-Shop/brShop24/Shoppinglisten_übertragen|Shoppinglisten übertragen (z. B. Bestellvorlagen)]]&lt;br /&gt;
*[[Kostenpflichtige_Module/Internet-Shop/brShop24/Jobinformationen|Jobinformationen]]&lt;br /&gt;
*[[Kostenpflichtige Module/Internet-Shop/brShop24/Migration|Migration]]&lt;br /&gt;
*[[Kostenpflichtige Module/Internet-Shop/brShop24/PDF-Druck Artikellink|PDF-Druck Artikellink]]&lt;br /&gt;
*[[Kostenpflichtige_Module/Internet-Shop/brShop24/Definition_Sortiment|Definition Sortiment (individuelle Konfiguration)]]&lt;br /&gt;
&lt;br /&gt;
=Häufig gestellte Fragen (FAQ)=&lt;br /&gt;
==API Fehlermeldungen==&lt;br /&gt;
&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|faq_brshop24_fehler_trashed&lt;br /&gt;
|Was bedeutet die Meldung &amp;quot;api error: Record with the given unique fields data is trashed with ID 012356!&amp;quot;?&lt;br /&gt;
|Werden Datensätze wie ein Benutzer oder ein Artikel bei der jeweiligen Datenübertragung als &amp;quot;neuer Datensatz&amp;quot; erkannt, so übergibt OBS die Daten mit der Bitte/Anweisung um Anlage eines Datensatzes mit diesen Daten. Dies schlägt jedoch mit dieser Fehlermeldung fehl, wenn bereits ein Datensatz mit den gleichen zur eindeutigen Identifizierung verwendeten Daten im Shop mit der angegebenen ID existiert, jedoch in den &amp;quot;Papierkorb&amp;quot; verschoben wurde. Im brShop24 werden Daten nicht unbedingt gleich vollständig gelöscht. Diese Datensätze sind auch über die API nicht zu finden und müssen über den Adminbereich entweder vollständig gelöscht oder aus dem Papierkorb geholt werden.{{Hinweis|Welche Daten eindeutig sein müssen ist abhängig von der Art der Daten. Bei Artikeldaten ist dies z. B. die Lager- bzw. Depot-Identifikationsnummer zusammen mit der Shop-Artikelnummer aus den Artikel-Lagereinstellungen.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Daten Allgemein==&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|faq_brshop24_alg_datennichtangezeigt&lt;br /&gt;
|Ich habe Daten aus OBS übertragen, diese werden jedoch nicht angezeigt?&lt;br /&gt;
|Je nach Art der Daten gelten verschiedene Voraussetzungen. Prüfen Sie daher, ob die Voraussetzungen gegeben sind oder bereits der Export scheitert. Entsprechende Hinweise finden Sie in den Hilfetexten zum jeweiligen Datenexport oder im Protokoll.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Sind die Daten im Shop angelegt dort jedoch z. B. über den Adminbereich gelöscht worden, so können die Daten dort wiederhergestellt werden. Prüfen Sie daher auch, ob dies auf die Daten zutrifft.&amp;lt;br /&amp;gt;Dazu sei noch angemerkt, dass es im brShop24 zwei Varianten zum Löschen von Daten gibt:&lt;br /&gt;
#Soft-Delete&amp;lt;br /&amp;gt;d.h. ein Datensatz kann mit einem Löschkennzeichen markiert werden, so dass dieser zur Not auch wieder hergestellt werden kann (ähnlich dem Papierkorb unter Windows). Dies wird so z. B. im Adminbereich angewendet.&lt;br /&gt;
#Hard-Delete&amp;lt;br /&amp;gt;d.h. der Datensatz wird auch physikalisch vom Datenträger gelöscht, ist somit aus dem System entfernt und kann nicht wieder hergestellt werden. Dies gilt für die API.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|faq_brshop24_alg_apisuperadmin&lt;br /&gt;
|Kann ich die Datensätze aus der API im Adminbereich ändern/editieren?&lt;br /&gt;
|Standardmäßig wird eine Bearbeitung von Datensätzen, welche per API gepflegt werden, im Shop gesperrt. Sie haben jedoch die Möglichkeit die Bearbeitung in Ihrem Adminbenutzer freizugeben. Die Administratoren finden Sie im Menü des Adminbereichs unter &#039;&#039;Administration&#039;&#039; im Unterpunkt &#039;&#039;Administratoren&#039;&#039;. Suchen Sie in der Liste Ihren Benutzer (Benutzername steht oben rechts) und öffnen Sie die Eingabemaske. Im Reiter &#039;&#039;Einstellungen&#039;&#039; setzen Sie dann as Häkchen bei &#039;&#039;API Super-Administrator?&#039;&#039;.&lt;br /&gt;
{{Hinweis|Da es Daten/Felder gibt, welche OBS nicht über die API pflegen kann. Kann es durchaus sinnvoll sein, dies zu aktivieren. Dies betrifft z. B. Berechtigungen für Kundengruppen wie die Sortimentsfreigabe.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Preise/Preislisten==&lt;br /&gt;
Siehe [[Kostenpflichtige_Module/Internet-Shop/brShop24/Preise_übertragen#Häufig_gestellt_Fragen_(FAQ)|FAQ Preisexport brShop24]].&lt;br /&gt;
&lt;br /&gt;
==Import Auftragsdateien (OpenTRANS)==&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|faq_brshop24_imp_auftrag&lt;br /&gt;
|Warum wird die Kostenstelle nicht übernommen?&lt;br /&gt;
|Die Referenz auf die Kostenestelle muss in der Auftragsdatei im Element COST_CATEGORY_ID enthalten sein. OBS erwartet hier die vollständige Bezeichnung der [[OBS/Stammdaten/Personen#B2_-_Kostenstellen|Kostenstelle]]. Ist die Kostenstelle in der Auftragsdatei nicht enthalten oder die Referenz stimmt mit keiner Kostenstelle überein, so wird im Import keine Kostenstelle übernommen.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Migration VShop4==&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|faq_brshop24_allg_parallelbetrieb&lt;br /&gt;
|Können im OBS brShop24 und VShop4 parallel betrieben werden?&lt;br /&gt;
|Ja, es ist mögliche beide Shops im OBS zu verwalten. OBS ist in der Lage mehrere Schnittstellen, auch des gleichen Typs, zu verwalten. Die Schnittstellen arbeiten unabhängig voneinander. Nach unseren Informationen ist ein Parallelbetrieb seitens Büroring jedoch nicht gewünscht, da die Daten des VShop 4 nachträglich nicht oder nur mit deutlich größerem Aufwand in den brShop24 migriert werden könnten. Eventuell gehen Ihnen hier also Daten verloren, wenn der VShop4 abgeschaltet wird. Der brShop24 würde nach der Migration also Ihren aktuellen VShop 4 ersetzen. Bei Fragen zu dem Thema wenden Sie sich bitte an den Support des Büroring.&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Nimz</name></author>
	</entry>
	<entry>
		<id>https://wiki.bergau.de/index.php?title=FRMGETSELECTION_Y00EOD2AXH&amp;diff=64374</id>
		<title>FRMGETSELECTION Y00EOD2AXH</title>
		<link rel="alternate" type="text/html" href="https://wiki.bergau.de/index.php?title=FRMGETSELECTION_Y00EOD2AXH&amp;diff=64374"/>
		<updated>2026-03-16T14:14:05Z</updated>

		<summary type="html">&lt;p&gt;Nimz: Weiterleitung nach Kostenpflichtige Module/Internet-Shop/brShop24#Menü erstellt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Kostenpflichtige_Module/Internet-Shop/brShop24#Menü]]&lt;/div&gt;</summary>
		<author><name>Nimz</name></author>
	</entry>
	<entry>
		<id>https://wiki.bergau.de/index.php?title=Kostenpflichtige_Module/Internet-Shop/brShop24&amp;diff=64373</id>
		<title>Kostenpflichtige Module/Internet-Shop/brShop24</title>
		<link rel="alternate" type="text/html" href="https://wiki.bergau.de/index.php?title=Kostenpflichtige_Module/Internet-Shop/brShop24&amp;diff=64373"/>
		<updated>2026-03-16T14:13:04Z</updated>

		<summary type="html">&lt;p&gt;Nimz: /* Menü */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Kostenpflichtige Module}}&lt;br /&gt;
{{Aktuelles|Die Schnittstelle brShop24 wird 60 Euro monatlich kosten.}}&lt;br /&gt;
Der brShop24 wird von der Genossenschaft [https://www.bueroring.de Büroring eG] entwickelt und angeboten. Diese ECommerce-Lösung soll langfristig den bisher angebotenen VShop 4 Pro ablösen. Für die Anbindung an den brShop24 steht Ihnen eine Schnittstelle basierend auf [https://de.wikipedia.org/wiki/GraphQL GraphQL] zur Verfügung.&lt;br /&gt;
{{Achtung|Für die Preisübertragung wird das kostenpflichtige Modul [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] vorausgesetzt!}}&lt;br /&gt;
{{Achtung|Die Schnittstellen für VShop 4 Pro und brShop24 sind nicht kompatibel! Sollten Sie sich also für eine Umstellung Ihres VShop 4 Pro auf das neue System brShop24 entscheiden, so muss dies im OBS ebenfalls umgestellt werden!&amp;lt;br/&amp;gt;Siehe auch die Punkte [[#Umstellung.2FMigration_VShop_4|Umstellung/Migration VShop 4]] und [[#faq_brshop24_allg_parallelbetrieb|FAQ Parallelbetrieb]].}}&lt;br /&gt;
=Funktionsumfang=&lt;br /&gt;
{{Achtung|Die hier aufgeführten Funktionen sind unter Vorbehalt in der aktuellen Version von OBS enthalten, da sich die Funktionalitäten in API und OBS noch ändern können.}}&lt;br /&gt;
Diese Schnittstelle unterstützt den Im- und Export von Daten wie folgt:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Import!! Export&lt;br /&gt;
|-&lt;br /&gt;
| Auftragsimport (OpenTRANS 1.0)|| Preislisten&lt;br /&gt;
|-&lt;br /&gt;
| Depots + Partner|| Kundengruppen&lt;br /&gt;
|-&lt;br /&gt;
| Anreden|| Ansprechpartner (Benutzer und Personen)&lt;br /&gt;
|-&lt;br /&gt;
| Kundentypen|| Kostenstellen&lt;br /&gt;
|-&lt;br /&gt;
| Kundenqualifikation|| Adressen (Personenstamm)&lt;br /&gt;
|-&lt;br /&gt;
| Job-Informationen (Ergebnis/Protokoll Preispflege)|| Shopping-Listen (Meistgekaufte Artikel/Top-Artikel)&lt;br /&gt;
|-&lt;br /&gt;
| Kundengruppen (Migration)|| &lt;br /&gt;
|-&lt;br /&gt;
| Benutzer (Migration)|| &lt;br /&gt;
|-&lt;br /&gt;
| Kostenstellen (Migration)|| &lt;br /&gt;
|}&lt;br /&gt;
{{Hinweis|Zu Beginn wird es nur Bestelldateien im Format OpenTRANS 1.0 geben. Das neuere Format 2.1 ist aber bereits eingeplant und soll zu einem späteren Zeitpunkt folgen.}}&lt;br /&gt;
==Vergleich zur Schnittstelle VShop 4==&lt;br /&gt;
Stand: 13.10.2022&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!|&lt;br /&gt;
|&#039;&#039;&#039;VShop 4&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;brShop24&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Bestellungen importieren&#039;&#039;&#039;&lt;br /&gt;
|ja&lt;br /&gt;
|ja&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Kundendaten abfragen&#039;&#039;&#039;&lt;br /&gt;
|ja (&amp;quot;Kunde vorhanden?&amp;quot;)&lt;br /&gt;
|ja (&amp;quot;Kunde vorhanden?&amp;quot; und Migration)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Kundendaten übertragen&#039;&#039;&#039;&lt;br /&gt;
|ja&lt;br /&gt;
|ja&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-left: 100px&amp;quot;|(Kunden-)Gruppe&lt;br /&gt;
|Aus Personennummer (Hauptperson)&lt;br /&gt;
|eigene Verwaltung&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-left: 100px&amp;quot;|Benutzerkonto&lt;br /&gt;
|aus Person und Ansprechpartner&lt;br /&gt;
|aus Ansprechpartner&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-left: 100px&amp;quot;|Kostenstellen&lt;br /&gt;
|nur als Kostenstelle (mit Budget)&lt;br /&gt;
|Kostenstelle (noch ohne Budget; fehlt im Shop bisher) und Versandadresse&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-left: 100px&amp;quot;|Shopping-Listen&lt;br /&gt;
|ja&lt;br /&gt;
|ja&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-left: 100px&amp;quot;|Adressen/Adressbuch&lt;br /&gt;
|nein (nur Standardadresse im Benutzerkonto)&lt;br /&gt;
|ja&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-left: 100px&amp;quot;|Anreden&lt;br /&gt;
|nein&lt;br /&gt;
|Import (Definition/Zuordnung)&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-left: 100px&amp;quot;|Kundentyp&lt;br /&gt;
|nein&lt;br /&gt;
|Import (Definition/Zuordnung)&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-left: 100px&amp;quot;|Kundenqualifikation&lt;br /&gt;
|nein&lt;br /&gt;
|Import (Definition/Zuordnung)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Artikelvorlage setzen&#039;&#039;&#039;&lt;br /&gt;
|ja&lt;br /&gt;
|nein&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Preise übertragen&#039;&#039;&#039;&lt;br /&gt;
|ja&lt;br /&gt;
|ja (nur Preislisten)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Lager&#039;&#039;&#039;&lt;br /&gt;
|Import (Definition/Zuordnung)&lt;br /&gt;
|Import (Definition/Zuordnung)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Partner&#039;&#039;&#039;&lt;br /&gt;
|Import (Definition/Zuordnung)&lt;br /&gt;
|Import (Definition/Zuordnung)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Warengruppen/Kategorien&#039;&#039;&#039;&lt;br /&gt;
|Import (Definition/Zuordnung)&lt;br /&gt;
|nein&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Artikel&#039;&#039;&#039;&lt;br /&gt;
|ja&lt;br /&gt;
|ja&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-left: 100px&amp;quot;|übertragen&lt;br /&gt;
|ja&lt;br /&gt;
|ja&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;padding-left: 100px&amp;quot;|Abgleich (eigene Artikel)&lt;br /&gt;
|ja&lt;br /&gt;
|nein&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;Sterne&#039;&#039;&#039;&lt;br /&gt;
|ja&lt;br /&gt;
|nein&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;monatliche Kosten&#039;&#039;&#039;&lt;br /&gt;
|20 Euro&lt;br /&gt;
|60 Euro&lt;br /&gt;
|}&lt;br /&gt;
{{Hinweis|Für eine Beschreibung der einzelnen Funktionen siehe [[#Erklärungen/Funktionen|Erklärungen/Funktionen]].}}&lt;br /&gt;
&lt;br /&gt;
==Bekannte Probleme==&lt;br /&gt;
{{Hinweis|Die hier aufgeführten Probleme sollen einen Überblick zum Stand einzelner Funktionen geben, sollten Sie sich dazu entscheiden mit der Schnittstelle zu arbeiten.}}&lt;br /&gt;
{{Achtung|Bei den letzten Tests kam es zu einem Fehler innerhalb der API, durch den die übermittelten Daten nicht korrekt verarbeitet wurden. Der Fehler trat an verschiedenen Stellen auf und konnte nicht reproduziert werden. Aktuell ist dies unter Beobachtung seitens Büroring. Von OBS aus können Sie aktuell die Datenübertragung nur ein zweites Mal ausführen, bis eine Lösung für das Problem gefunden wurde. Bei Preislisten hatte das Problem jedoch noch die Auswirkung, dass die Preislisten danach doppelt vorhanden war (siehe &amp;quot;doppelte Preislisten bei Fehler in Preislistenupdate&amp;quot;).}}&lt;br /&gt;
===Import Bestellungen===&lt;br /&gt;
*;eindeutige Identifikation von Artikeln&lt;br /&gt;
:Nach aktuellem Stand wird nur der aktuelle Katalog von Büroring eingespielt. Sollten jedoch auch von anderen Lieferanten Artikel im Shop verkauft werden, kann es bei den Artikelnummern zu &amp;quot;doppelten&amp;quot; Artikeln kommen. Derzeit fehlt noch die Möglichkeit dies beim Import unterscheiden zu können.&lt;br /&gt;
*;fehlende Kostenstellen&lt;br /&gt;
:In der Auftragsdatei werden nach aktuellem Stand keine Kostenstellen geliefert. Somit kann OBS diese bei der Auftragsgenerierung hinterlegen.&amp;lt;br /&amp;gt;&#039;&#039;Die Kostenstellen werden nach Informationen von Büroring jetzt in die openTRANS-Order übernommen (Stand 25.02.2021).&#039;&#039;&lt;br /&gt;
*;Anzeige in FTP-Eingang&lt;br /&gt;
:Bei aktivierter Anzeige von importierten Bestellungen im FTP-Eingang, wird bisher in der Spalte &#039;&#039;Typ&#039;&#039; nichts angezeigt.&amp;lt;br /&amp;gt;&#039;&#039;Behoben mit Version 003663 (Info 005482).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Personendaten===&lt;br /&gt;
*;Export Kostenstellen Budgets&lt;br /&gt;
:Die Budgetverwaltung wurde bisher noch nicht im brShop24 umgesetzt und steht daher auch in der API noch nicht zur Verfügung.&lt;br /&gt;
*;Anzeige Webshop-Einstellungen&lt;br /&gt;
:Die Anzeige des Kundenstatus funktioniert aktuell nur, wenn die Kundennummer auch in einer Kundengruppe steht.&amp;lt;br /&amp;gt;&#039;&#039;Behoben mit Version 003591 (Info 005378).&#039;&#039;&lt;br /&gt;
*;Übertragung Adressen&lt;br /&gt;
:Die Adressen werden nicht angelegt, weil der Typ mit einem ungültigen Wert an die API übergeben wird.&amp;lt;br /&amp;gt;&#039;&#039;Behoben mit Version 003587 (Info 005365).&#039;&#039;&lt;br /&gt;
*;Zuordnung Adressen Kundengruppe&lt;br /&gt;
:Adressen werden bei Übertragung auch in der Kundengruppe zugeordnet, obwohl es sich um eine System-Gruppe handelt.&amp;lt;br /&amp;gt;&#039;&#039;Behoben mit Version 003600.&#039;&#039;&lt;br /&gt;
*;Zuordnung Adressen Benutzer&lt;br /&gt;
:Im Benutzer wird eine übertragene Adresse nicht zugeordnet.&amp;lt;br /&amp;gt;&#039;&#039;Behoben mit Version 003665 (Info 005483).&#039;&#039;&lt;br /&gt;
*;Einfügen neuer Kundengruppen&lt;br /&gt;
:Die Datensätze werden im OBS nicht korrekt angelegt und können daher nicht exportiert werden.&amp;lt;br /&amp;gt;&#039;&#039;Behoben mit Version 003594 (Infos 005375 und 005393).&#039;&#039;&lt;br /&gt;
*;Adressen aus Kostenstellen&lt;br /&gt;
:Werden bisher nicht übertragen.&amp;lt;br /&amp;gt;&#039;&#039;Behoben mit Version 003606 (Info 005398). Adressen aus Kostenstellen werden jetzt als Versandadressen hinterlegt&#039;&#039;&lt;br /&gt;
*;Zuordnung Kostenstellen&lt;br /&gt;
:Kostenstellen werden bei Übertragung auch in der Kundengruppe zugeordnet, wenn es sich um eine System-Gruppe handelt.&amp;lt;br /&amp;gt;&#039;&#039;Behoben mit Version 003600. Kostenstellen werden bei Systemgruppen nicht mehr exportiert. Benutzer erhalten einen Hinweis bei Export der Personendaten aus den Webshop-Einstellungen und werden gefragt, ob die Personedaten trotzdem exportiert werden sollen.&#039;&#039;&lt;br /&gt;
*;Im Shop ist der Adresstyp vertauscht&lt;br /&gt;
:Adressen die eigentlich &amp;quot;Postanschrift&amp;quot; haben sollten, bekommen &amp;quot;Postfach Anschrift&amp;quot; und umgekehrt.&amp;lt;br /&amp;gt;&#039;&#039;Behoben mit Version 003684 (Info 005494).&#039;&#039;&lt;br /&gt;
*;Benutzer ist immer Admin&lt;br /&gt;
:Die Funktionalität über Eigenschaft 9011 wurde noch nicht übernommen aus der VShop-Schnittstelle übernommen, da sie dort problembehaftet ist. Die Fehlerhafte Übertragung in dieser Schnittstelle wurde somit vorerst vollständig entfernt.&amp;lt;br /&amp;gt;&#039;&#039;Behoben mit Version 003735 (Info 005548).&#039;&#039;&lt;br /&gt;
*;Benutzer wird nicht angelegt&lt;br /&gt;
:Während des Exports kommt es zu einem Abbruch im OBS und der Export wird nicht vollständig ausgeführt.&amp;lt;br /&amp;gt;&#039;&#039;Behoben mit Version 004061 (Info 005911).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Preise/Preislisten===&lt;br /&gt;
*;Keine Aktualisierung für Kunden mit Kundennummer im Benutzer&lt;br /&gt;
:Preislisten werden nicht erkannt, wenn die Kundennummer nur im Benutzer vorkommt.&amp;lt;br /&amp;gt;&#039;&#039;Behoben mit Version 003592 (Info 005384).&#039;&#039;&lt;br /&gt;
*;doppelte Preislisten bei Fehler in Preislistenupdate&lt;br /&gt;
:Tritt in der Aktualisierung der Preislistenkopfdaten ein Fehler auf, so wird die Preisliste ein weitere Mal angelegt.&amp;lt;br /&amp;gt;&#039;&#039;Behoben mit Version 003630 (Info 005452).&#039;&#039;&lt;br /&gt;
*;Keine Aktualisierung der Kopfdaten&lt;br /&gt;
:Wurden im OBS Änderungen an den Kopfdaten (Name, Prio, Gültigkeitszeitraum) vorgenommen, konnte es passieren, dass diese nicht in den Shop übertragen wurden.&amp;lt;br /&amp;gt;&#039;&#039;Behoben mit Version 003703 (Info 005515).&#039;&#039;&lt;br /&gt;
*;Preise löschen verlängert die Laufzeit der Preispflege&lt;br /&gt;
:Beim Löschen von Preisen könnte es vorkommen, dass sich die zu löschenden Datensätze nicht korrekt aus der Liste genommen wurden, auch wenn der Datensatz aus dem Shop entfernt wurde. Dadurch versucht OBS diese Datensätze bei jedem folgenden Durchlauf der Preispflege zu löschen, was fehlschlägt, da die Datensätze ja schon gelöscht sind.&amp;lt;br /&amp;gt;&#039;&#039;Behoben voraussichtlich mit Version 003833 (Info 005664).&#039;&#039;&lt;br /&gt;
*;Preise werden nicht bei allen Preislisten aktualisiert&lt;br /&gt;
:Eine Prüfung war fehlerhaft und konnte die Aktualisierung der Preise für eine Preisliste verhindern.&amp;lt;br /&amp;gt;&#039;&#039;Behoben mit Version 003911 (Info 005733).&#039;&#039;&lt;br /&gt;
*;Preislisten, welche über Preisgruppen einem Kunden zugeordnet sind, werden im Shop nicht in Kundengruppen und Benutzern hinterlegt&lt;br /&gt;
:An einer Stelle in der Abfrage der Zuordnungen sind die Nummern für Preisgruppe und Preisliste vertauscht. Der Fehler betrifft eigene Preislisten, welche über Preisgruppen zugeordnet sind. Für die Standard-Preislisten VK1 bis VK9 kommt es nicht zu diesem Fehler, da hier die Nummern identisch sind.&amp;lt;br /&amp;gt;&#039;&#039;Behoben mit Version 003959 (Info 005785).&#039;&#039;&lt;br /&gt;
*;Zuordnungen von Preislisten sind fehlerhaft&lt;br /&gt;
:Unter bestimmten Umständen (Löschen ganzer Preislisten oder Kunde ohne verbleibende Preisliste) kann es im OBS zu einem Problem mit der Verwaltung der Zuordnungen im Shop kommen. Zuordnungen können dabei erhalten bleiben oder werden nicht angelegt.&amp;lt;br /&amp;gt;&#039;&#039;Behoben mit Version 004012 (Info 005847).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Bestellvorlagen/Shoppinglisten===&lt;br /&gt;
*;Anzeige im Shop&lt;br /&gt;
:Nach aktuellem Stand können die Bestellvorlagen, die es auch schon für den VShop 4 exportiert werden konnten, in den brShop24 übertragen werden. Die Anzeige im Frontend (Ansicht für den Kunden) ist jedoch noch nicht umgesetzt. Sie können aktuell nur über den Admibereich prüfen, ob die Bestellvorlagen im Shop angekommen sind.&amp;lt;br /&amp;gt;&#039;&#039;Im Frontend werden die Listen jetzt angezeigt (Stand: 09.11.2021).&#039;&#039;&lt;br /&gt;
*;Generierung Shoppinglisten&lt;br /&gt;
:Durch einen Fehler in der Erkennung des Brüroring Zentrallagers konnte die falsche Lager-ID gezogen werden. Dadurch wurden die Artikel nicht korrekt identifiziert und die Shoppinglisten wurden nicht generiert.&amp;lt;br /&amp;gt;&#039;&#039;Behoben vorraussichtlich mit Version 003815 (Info 005654).&#039;&#039;&lt;br /&gt;
*;Zuordnung Shoppinglisten&lt;br /&gt;
:In der Übertragung wurden Shoppinglisten nicht in Benutzern zugeordnet. Dadurch sehen insbesondere bei allgemeinen Kundengruppen (z. B. registrierte Kunden) Benutzer die von OBS für eine Kundennummer erstellten und übertragenen Shoppinglisten nicht.&amp;lt;br /&amp;gt;&#039;&#039;Behoben mit Version 003832 (Info 005663).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Migration===&lt;br /&gt;
*;Auswahl eines vorhandenen Ansprechpartner für Zuordnung zu einem Shop-Benutzer schlägt fehlt&lt;br /&gt;
:Die Auswahl verhält sich als würde keine Datensatz ausgewählt werden und setzt daher die Zuordnung nicht.&amp;lt;br /&amp;gt;&#039;&#039;Behoben mit Version 004012 (Info 005845).&#039;&#039;&lt;br /&gt;
*;Aus einem Benutzerkonto kann kein Ansprechpartner angelegt werden&lt;br /&gt;
:Es kann bei der Übernahme der Daten zu einem SQL-Fehler im OBS kommen, welcher die Anlage der Daten verhindert.&amp;lt;br /&amp;gt;&#039;&#039;Behoben mit Version 004012 (Info 005844).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Kosten=&lt;br /&gt;
*;Einrichtung&lt;br /&gt;
:Sie können die Schnittstelle vom OBS-Support einrichten lassen oder dies selbst erledigen. Informationen zu den nötigen Daten/Angaben für eine Einrichtung finden Sie im nächsten Punkt [[#Installation.2FEinrichtung|Installation/Einrichtung]].&amp;lt;br /&amp;gt;Wenn Sie eine Einrichtung durch den OBS-Support wünschen, wird dies &#039;&#039;&#039;einmalig nach Aufwand&#039;&#039;&#039; abgerechnet.&lt;br /&gt;
*;Nutzung Schnittstelle&lt;br /&gt;
:Für den Einsatz wird pro aktiver brShop24-Schnittstelle &#039;&#039;&#039;monatlich 60 Euro&#039;&#039;&#039; berechnet.&lt;br /&gt;
&lt;br /&gt;
=Installation/Einrichtung=&lt;br /&gt;
Für die Einrichtung werden Angaben zur API-Anbindung und FTP-Zugangsdaten für die Abholung der Auftragsdateien benötigt. Außerdem muss OBS für die Preispflege auf das kostenpflichtige [[OBS/Kostenpflichtige_Module/Preislisten|OBS-Modul Preislisten]] umgestellt worden sein.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Für eine genaue Auflistung der benötigten Informationen und eine Beschreibung der Einrichtung lesen Sie bitte die Seite zur [[Kostenpflichtige_Module/Internet-Shop/brShop24/Einrichtung|&amp;lt;u&amp;gt;Einrichtung einer brShop24-Schnittstelle&amp;lt;/u&amp;gt;]].&lt;br /&gt;
&lt;br /&gt;
=Mit der Schnittstelle Starten=&lt;br /&gt;
==Daten migrieren==&lt;br /&gt;
Sofern Sie in der Vergangenheit einen VShop 4 verwendet haben und die Daten vom Büroring in den neuen brShop24 migriert wurden, empfehlen wir nach Abschluss der Einrichtung eine [[Kostenpflichtige_Module/Internet-Shop/brShop24/Migration|Datenmigration im OBS]] durchzuführen (siehe auch [[#Umstellung.2FMigration_VShop_4|Umstellung/Migration VShop 4]]). Dabei werden die vom VShop 4 migrierten Kundendaten aus dem Shop ausgelesen und in OBS importiert. OBS versucht die importierten Daten anschließend mit den Stammdaten zu verknüpfen und erstellt für die Kunden die Webshop-Einstellungen und gibt die Ansprechpartner frei.&amp;lt;br /&amp;gt;&lt;br /&gt;
Nach den Kundengruppen und Benutzern werden die Kostenstellen eingelesen und versucht den Einträgen im OBS zuzuordnen. Der Anzeigename (Shop) einer Kostenstelle muss dabei mit der Bezeichnung der Kostenstelle übereinstimmen und innerhalb der Kundengruppe eindeutig sein.&lt;br /&gt;
{{Achtung|Die Zuordnung läuft automatisiert und kann einige Minuten in Anspruch nehmen! Sollte der Vorgang abbrechen, können Sie die Migration erneut starten. Die Zuordnung erfolgt nur für Daten, die eindeutig identifiziert werden konnten!}}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Außerdem werden die Preislisten aus den im Shop vorhandenen Preislisten ermittelt und für die Schnittstelle freigegeben. Die Preislisten werden stattdessen nach erfolgreicher Zuordnung im Shop geleert und neu befüllt. So sind die Preisdaten auch gleich auf dem aktuellen Stand und für die spätere Aktualisierung sind die Daten im OBS entsprechend vorbereitet.&lt;br /&gt;
{{Achtung|Es findet &#039;&#039;&#039;keine&#039;&#039;&#039; Verknüpfung mit den Preisdaten im OBS statt, da der vollständige Abgleich aller einzelnen Preisdaten zu lange dauern würde!}}&lt;br /&gt;
&lt;br /&gt;
==Datenhoheit==&lt;br /&gt;
Es gibt einige spezifische Daten im Shop, die von OBS nicht angefasst werden (dürfen). Das betrifft z. B. die Standard-Kundengruppen des brShop24. Für OBS-Daten hat jedoch OBS die Datenhoheit. Im Shop können Sie dies an den verfügbaren Funktionen (Bild 1) erkennen. Die von OBS gepflegten Daten werden über die API (Bild 2) angelegt und haben bei den Funktionen statt dem Stift-Symbol (Daten bearbeiten) nur ein Auge-Symbol (Daten ansehen).&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;200px&amp;quot;&amp;gt;&lt;br /&gt;
File:Br24_admin_datenoptionen.jpg|Bild 1: Funktionen|alt=Funktionen&lt;br /&gt;
File:Br24_admin_letzte_aend.jpg|Bild 2: Letzte Änderung|alt=letzte Änderung&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Umstellung/Migration VShop 4=&lt;br /&gt;
Nach aktuellem Stand wird für Kunden mit VShop 4 vom Büroring eine Migration des bestehenden VShop 4 auf den neuen brShop24 durchgeführt. Dabei soll auch gewählt werden können, welche Daten bei der Migration übernommen werden. Wie dies genau aussieht, müssen Sie jedoch mit dem Büroring klären. Es gibt jedoch auch einige Punkte, die Sie bei der Migration für die Umstellung im OBS bedenken müssen.&lt;br /&gt;
*;Neue API&lt;br /&gt;
:Im Unterschied zum VShop 4 läuft die Schnittstelle zum brShop24 über eine API. OBS dies bringt ein paar Einschränkungen für die migrierten Daten mit sich. Es ist OBS nicht möglich die Daten wiederzufinden, die von OBS zuvor in den VShop 4 übertragen wurden. Wie sich dies auf die Pflege von Daten auswirkt, muss noch in Erfahrung gebracht werden, da im Testsystem keine migrierten Daten zur Verfügung stehen.&lt;br /&gt;
*;Besonderheit Preisdaten&lt;br /&gt;
:OBS arbeitet in Schnittstelle über eine sogenannte API-ID, also eine Identifikationsnnummer speziell für die neue API. OBS kann nur Preisdaten verändern, die auch über die API in den Shop übertragen wurden. Wir empfehlen daher die Preisdaten möglichst über OBS zu pflegen und nicht migrieren zu lassen.&lt;br /&gt;
*;Schnittstelle im OBS&lt;br /&gt;
:Die Schnittstelle muss im OBS freigeschaltet und eingerichtet werden (siehe dazu [[Kostenpflichtige_Module/Internet-Shop/brShop24/Einrichtung|Einrichtung]]). Dies kann bereits vor der Migration geschehen. Bedenken Sie jedoch, dass die Aufträge erst importiert werden können, nachdem die Schnittstelle eingerichtet wurde. Gebe Sie uns also rechtzeitig Bescheid, damit wir die Schnittstelle freigeben können. Die Einrichtung kann auf Wunsch von uns kostenpflichtig übernommen werden.{{Hinweis|Die Freischaltung der Schnittstelle hat auch eine Anpassung des Vertrags zur Folge. Bitte beachten Sie, dass die Schnittstelle brShop24 mit 60 Euro statt 20 Euro berechnet wird.}}&lt;br /&gt;
*;Modul Preislisten&lt;br /&gt;
:Für den brShop24 wird das Modul [[OBS/Kostenpflichtige_Module/Preislisten|Preislisten]] für die Pflege von Preisen über die Schnittstelle vorrausgesetzt. Sollten Sie dieses Modul noch nicht nutzen, so müsste dies zuvor eingerichtet werden, wenn Sie Preise aus OBS in den Shop übertragen möchten. Die Einrichtung des Moduls kann mehrere Stunden in Anspruch nehmen. Wir empfehlen die Umstellung vor der Migration durchzuführen, da dies die Arbeitsweise mit Artikelpreisen verändert. Eine Schulung wird ebenfalls empfohlen.&lt;br /&gt;
*;Migration Freigaben OBS VShop 4 nach brShop24 (siehe [[Kostenpflichtige Module/Internet-Shop/brShop24/Migration|Migration]])&lt;br /&gt;
:Über das Shop-Menü können Kundengruppen und Benutzer mit dem OBS-Personenstamm abgeglichen werden. Im Personenstamm werden dann für gefundene Datensätze Webshop-Einstelungen angelegt. Ansprechpartnern, welchen ein Benutzer eindeutig zugeordnet werden konnten, erhalten die Eigenschaft 9013 und die Zuordnung zur Schnittstelle. Sollte die eindeutige Zuordnung ohne Benutzername erfolgt sein, so wird auch der Benutzername im Ansprechpartner hinterlegt. Außerdem werden die Preislisten mit dem Shop abgeglichen, freigegeben und übertragen.{{Hinweis|Es ist nicht möglich die Passwörter auszulesen. Diese können also nicht im Ansprechpartner hinterlegt werden. Sollten Sie zu einem späteren Zeitpunkt die den Benutzer im Shop aktualisieren wollen, müssten diesen zuvor ein Passwort gegeben werden, sollte noch keines vorhanden sein.}}{{Achtung|Damit die Migration auch die Kundendaten verknüpfen kann, muss diese Funktionalität im Shop freigeschaltet sein. Wenden Sie sich hierzu an den Support des Büroring.}}&lt;br /&gt;
==Ablauf einer Umstellung==&lt;br /&gt;
Für gewöhnlich richtet Büroring zunächst einen Shop zu Testzwecken ein. Sie erhalten danach die API-Daten, mit denen die Schnittstelle eingerichtet werden kann (siehe dazu [[Kostenpflichtige_Module/Internet-Shop/brShop24/Einrichtung|Einrichtung]]). Sie können jetzt die Schnittstelle testen und wenn Fragen oder Probleme geklärt sind, dem Büroring die Freigabe für den Live-Betrieb erteilen. Der Shop wird daraufhin zurückgesetzt. Dies muss im OBS ebenfalls passieren. Informieren Sie dazu den Support per Ticket oder E-Mail (siehe dazu auch [[Kostenpflichtige_Module/Internet-Shop/brShop24/Einrichtung#Vorwort|Vorwort Einrichtung]]).&lt;br /&gt;
&lt;br /&gt;
=Menü=&lt;br /&gt;
&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|menu_b&lt;br /&gt;
|B Preislisten verwalten&lt;br /&gt;
|Öffnet die [[Kostenpflichtige_Module/Internet-Shop/brShop24/Preise_übertragen#Preislisten_verwalten|Preislistenverwaltung der Schnittstelle]].&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|menu_f&lt;br /&gt;
|F Kundengruppen&lt;br /&gt;
|Öffnet die [[Kostenpflichtige_Module/Internet-Shop/brShop24/Kundengruppen_verwalten|Kundengruppenverwaltung der Schnittstelle]].&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|menu_i&lt;br /&gt;
|I Bestellvorlagen verwalten&lt;br /&gt;
|Öffnet die [[Kostenpflichtige_Module/Internet-Shop/brShop24/Shoppinglisten_übertragen|Shoplistenverwaltung der Schnittstelle]].&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|menu_m&lt;br /&gt;
|M Migration&lt;br /&gt;
|Startet die [[Kostenpflichtige Module/Internet-Shop/brShop24/Migration|Migration]] der Daten. Dabei werden die aktuellen Kudnendaten (Gruppen und Benutzer) eingelesen und im Personestamm, sofern automatisiert möglich, Webshop-Einstellungen angelegt und Ansprechpartner zugeordnet.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|menu_t&lt;br /&gt;
|T Jobinformationen&lt;br /&gt;
|Die [[Kostenpflichtige_Module/Internet-Shop/brShop24/Jobinformationen|Jobinformationen]] sind ein Protokoll des Shops für die Preispflege-Jobs. Diese werden beim Exportieren der Preise angelegt. Über diesen Menüpunkt können Sie die bisherigen Job-Protokolle einsehen. Beim Einlesen der Jobinformationen werden aufgetretene Fehler verarbeitet.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|menu_u&lt;br /&gt;
|U Bestellungen einlesen&lt;br /&gt;
|Liest die vorhanden Bestelldateien aus dem Shop-Verzeichnis ein. Für den automatischen Import siehe [[Kostenpflichtige_Module/Internet-Shop/Einrichtung/Automatiken#Bestellungen_einlesen|Automatiken: Bestellungen einlesen]].&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|menu_w&lt;br /&gt;
|W Definitionen importieren&lt;br /&gt;
|Über diesen Menüpunkt können Sie alle für OBS-Relevanten Definitionen zur Vorbereitung der Datenexporte importieren. Dies umfasst aktuell folgende Definitionen:&lt;br /&gt;
*[[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner|Depots/Lager mit Partner]]&lt;br /&gt;
*[[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/Anreden#brShop24|Anreden]]&lt;br /&gt;
*Kundentypen (u. a. B2B, B2C)&lt;br /&gt;
*Kundenqualifikation (u. a. neuer Kunden, Stammkunde)&lt;br /&gt;
*Artikelbezeichnungsgruppen&lt;br /&gt;
*Produkttypen&lt;br /&gt;
*Mengeneinheiten&lt;br /&gt;
*Artikellieferstatus&lt;br /&gt;
*Hersteller&lt;br /&gt;
*Marken&lt;br /&gt;
*Umsatzsteuerdefinitionen&lt;br /&gt;
*Paketdienstleister&lt;br /&gt;
*Artikel-Einschluss-Listen&lt;br /&gt;
*Artikel-Ausschluss-Listen&lt;br /&gt;
*Kataloge&lt;br /&gt;
Für den automatischen Import siehe [[Kostenpflichtige_Module/Internet-Shop/Einrichtung/Automatiken#Definitionen_importieren|Automatiken: Definitionen importieren]].&lt;br /&gt;
{{Hinweis|Diese Definitionen spielen an verschiedenen Stellen eine wichtige Rolle. Sollten Sie die Definitionen noch nicht importiert und vor einem Datenexport zugeordnet haben, funktionert entweder der Datenexport nicht oder es werden Standardwerte verwendet.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|menu_x&lt;br /&gt;
|X Konfiguration&lt;br /&gt;
|Öffnet die [[OBS/Stammdaten/Schnittstellen/Internet-Shop/Konfiguration|Konfiguration]] der Schnittstellen. Hier können die Einstellungen der Schnittstelle angepasst werden.{{Hinweis|Um Anpassungen vorzunehmen wird für die meisten Einstellungen ein Level von 3 oder 5 benötigt. Es ist möglich dieses Level anzupassen, auch kann ein Benutzer für die Schnittstelle ein abweichendes Benutzerlevel erhalten. Melden Sie sich bei Bedarf per [[OBS/System/Ticket-System|OBS Ticketsystem]] beim OBS-Support.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|menu_y&lt;br /&gt;
|Y Testumgebung&lt;br /&gt;
|Öffnet eine Testumgebung, um die Anbindung zu testen.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|menu_z&lt;br /&gt;
|Z Protokoll&lt;br /&gt;
|Über den Menüpunkt &#039;&#039;Z Protokoll&#039;&#039; des Shops-Menüs erhalten Sie Zugriff auf das Shop-Protokoll. Es werden vorrangig Hinweise zu Fehlern oder Problemen bei Im- und Exporten protokolliert. Über die Konfiguration kann mit Aktivierung des Debugmodus (Schlüssel &#039;&#039;Shop.Debug&#039;&#039;) eine erweiterte Protokollierung aktiviert werden. Dafür benötigt ein Benutzer jedoch Administrationsrechte (Level 9) für die Schnittstelle.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=Zuordnungen=&lt;br /&gt;
Zuordnungen von Stammdaten wie Lieferanten und Mengeneinheiten nehmen Sie über den Shop-Menüpunkt &#039;&#039;X Konfiguration&#039;&#039; vor. In der Kofigurationsliste gelangen Sie über {{Key|F8 Zuord}} ins Zuordnungsmenü.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Aktuelle Menüpunkte:&lt;br /&gt;
*;[[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/Anreden#brShop24|A Anreden]]&lt;br /&gt;
:Liste für im Shop definierte Anreden. Hier können Sie die OBS-Anreden mit den Shop-Anreden verknüpfen. Relevant für den Export von Personen. Ohne Zuordnung werden Personen ohne Anrede exportiert.&lt;br /&gt;
*;[[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/Einheiten#brShop24|E Einheiten]]&lt;br /&gt;
:Liste für im Shop definierte Mengeneinheiten. Ordenen Sie hier die im OBS verwendeten Mengeneinheiten zu. {{Hinweis|Relevant für eigene Artikel. Ist eine verwendete OBS-Mengeneinheit nicht zugeordnet, so wird beim Export die Einheit &amp;quot;ST&amp;quot; (Stück) für den jeweiligen Artikel verwendet.}}&lt;br /&gt;
*;[[Kostenpflichtige_Module/Internet-Shop/Konfiguration/Zuordnungen/DepotPartner|L Lager und Lagerlieferanten]]&lt;br /&gt;
:Definierte Depots und Partner des Shops. Partnern können Sie einem OBS-Lieferanten zuordnen und die Lager entsprechend auf Pflege Büroring oder als eigene Artikel definieren. Relevant für den Export von Preisen, Shoppinglisten (Bestellvorlagen) und eigene Artikel.&lt;br /&gt;
*;[[Kostenpflichtige_Module/Internet-Shop/Zusatz/Artikeltausch|T Artikeltausch]]&lt;br /&gt;
:Greift beim Auftragsimport. Austauschen bestimmter Referenznummern gegen einen festgeschrieben Artikel z. B. für Pauschalen.&lt;br /&gt;
&lt;br /&gt;
=Erklärungen/Funktionen=&lt;br /&gt;
*[[Kostenpflichtige_Module/Internet-Shop/brShop24/Kundengruppen_verwalten|Kundengruppen verwalten]]&lt;br /&gt;
*[[Kostenpflichtige_Module/Internet-Shop/brShop24/Personen_übertragen|Kunden übertragen]]&lt;br /&gt;
*[[Kostenpflichtige_Module/Internet-Shop/brShop24/Preise_übertragen|Preise übertragen]]&lt;br /&gt;
*[[Kostenpflichtige_Module/Internet-Shop/brShop24/Eigene_Artikel_übertragen|eigene Artikel übertragen]]&lt;br /&gt;
*[[Kostenpflichtige_Module/Internet-Shop/brShop24/Shoppinglisten_übertragen|Shoppinglisten übertragen (z. B. Bestellvorlagen)]]&lt;br /&gt;
*[[Kostenpflichtige_Module/Internet-Shop/brShop24/Jobinformationen|Jobinformationen]]&lt;br /&gt;
*[[Kostenpflichtige Module/Internet-Shop/brShop24/Migration|Migration]]&lt;br /&gt;
*[[Kostenpflichtige Module/Internet-Shop/brShop24/PDF-Druck Artikellink|PDF-Druck Artikellink]]&lt;br /&gt;
*[[Kostenpflichtige_Module/Internet-Shop/brShop24/Definition_Sortiment|Definition Sortiment (individuelle Konfiguration)]]&lt;br /&gt;
&lt;br /&gt;
=Häufig gestellte Fragen (FAQ)=&lt;br /&gt;
==API Fehlermeldungen==&lt;br /&gt;
&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|faq_brshop24_fehler_trashed&lt;br /&gt;
|Was bedeutet die Meldung &amp;quot;api error: Record with the given unique fields data is trashed with ID 012356!&amp;quot;?&lt;br /&gt;
|Werden Datensätze wie ein Benutzer oder ein Artikel bei der jeweiligen Datenübertragung als &amp;quot;neuer Datensatz&amp;quot; erkannt, so übergibt OBS die Daten mit der Bitte/Anweisung um Anlage eines Datensatzes mit diesen Daten. Dies schlägt jedoch mit dieser Fehlermeldung fehl, wenn bereits ein Datensatz mit den gleichen zur eindeutigen Identifizierung verwendeten Daten im Shop mit der angegebenen ID existiert, jedoch in den &amp;quot;Papierkorb&amp;quot; verschoben wurde. Im brShop24 werden Daten nicht unbedingt gleich vollständig gelöscht. Diese Datensätze sind auch über die API nicht zu finden und müssen über den Adminbereich entweder vollständig gelöscht oder aus dem Papierkorb geholt werden.{{Hinweis|Welche Daten eindeutig sein müssen ist abhängig von der Art der Daten. Bei Artikeldaten ist dies z. B. die Lager- bzw. Depot-Identifikationsnummer zusammen mit der Shop-Artikelnummer aus den Artikel-Lagereinstellungen.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Daten Allgemein==&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|faq_brshop24_alg_datennichtangezeigt&lt;br /&gt;
|Ich habe Daten aus OBS übertragen, diese werden jedoch nicht angezeigt?&lt;br /&gt;
|Je nach Art der Daten gelten verschiedene Voraussetzungen. Prüfen Sie daher, ob die Voraussetzungen gegeben sind oder bereits der Export scheitert. Entsprechende Hinweise finden Sie in den Hilfetexten zum jeweiligen Datenexport oder im Protokoll.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;Sind die Daten im Shop angelegt dort jedoch z. B. über den Adminbereich gelöscht worden, so können die Daten dort wiederhergestellt werden. Prüfen Sie daher auch, ob dies auf die Daten zutrifft.&amp;lt;br /&amp;gt;Dazu sei noch angemerkt, dass es im brShop24 zwei Varianten zum Löschen von Daten gibt:&lt;br /&gt;
#Soft-Delete&amp;lt;br /&amp;gt;d.h. ein Datensatz kann mit einem Löschkennzeichen markiert werden, so dass dieser zur Not auch wieder hergestellt werden kann (ähnlich dem Papierkorb unter Windows). Dies wird so z. B. im Adminbereich angewendet.&lt;br /&gt;
#Hard-Delete&amp;lt;br /&amp;gt;d.h. der Datensatz wird auch physikalisch vom Datenträger gelöscht, ist somit aus dem System entfernt und kann nicht wieder hergestellt werden. Dies gilt für die API.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|faq_brshop24_alg_apisuperadmin&lt;br /&gt;
|Kann ich die Datensätze aus der API im Adminbereich ändern/editieren?&lt;br /&gt;
|Standardmäßig wird eine Bearbeitung von Datensätzen, welche per API gepflegt werden, im Shop gesperrt. Sie haben jedoch die Möglichkeit die Bearbeitung in Ihrem Adminbenutzer freizugeben. Die Administratoren finden Sie im Menü des Adminbereichs unter &#039;&#039;Administration&#039;&#039; im Unterpunkt &#039;&#039;Administratoren&#039;&#039;. Suchen Sie in der Liste Ihren Benutzer (Benutzername steht oben rechts) und öffnen Sie die Eingabemaske. Im Reiter &#039;&#039;Einstellungen&#039;&#039; setzen Sie dann as Häkchen bei &#039;&#039;API Super-Administrator?&#039;&#039;.&lt;br /&gt;
{{Hinweis|Da es Daten/Felder gibt, welche OBS nicht über die API pflegen kann. Kann es durchaus sinnvoll sein, dies zu aktivieren. Dies betrifft z. B. Berechtigungen für Kundengruppen wie die Sortimentsfreigabe.}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Preise/Preislisten==&lt;br /&gt;
Siehe [[Kostenpflichtige_Module/Internet-Shop/brShop24/Preise_übertragen#Häufig_gestellt_Fragen_(FAQ)|FAQ Preisexport brShop24]].&lt;br /&gt;
&lt;br /&gt;
==Import Auftragsdateien (OpenTRANS)==&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|faq_brshop24_imp_auftrag&lt;br /&gt;
|Warum wird die Kostenstelle nicht übernommen?&lt;br /&gt;
|Die Referenz auf die Kostenestelle muss in der Auftragsdatei im Element COST_CATEGORY_ID enthalten sein. OBS erwartet hier die vollständige Bezeichnung der [[OBS/Stammdaten/Personen#B2_-_Kostenstellen|Kostenstelle]]. Ist die Kostenstelle in der Auftragsdatei nicht enthalten oder die Referenz stimmt mit keiner Kostenstelle überein, so wird im Import keine Kostenstelle übernommen.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Migration VShop4==&lt;br /&gt;
{{Vorlage:KlapptextFAQ&lt;br /&gt;
|faq_brshop24_allg_parallelbetrieb&lt;br /&gt;
|Können im OBS brShop24 und VShop4 parallel betrieben werden?&lt;br /&gt;
|Ja, es ist mögliche beide Shops im OBS zu verwalten. OBS ist in der Lage mehrere Schnittstellen, auch des gleichen Typs, zu verwalten. Die Schnittstellen arbeiten unabhängig voneinander. Nach unseren Informationen ist ein Parallelbetrieb seitens Büroring jedoch nicht gewünscht, da die Daten des VShop 4 nachträglich nicht oder nur mit deutlich größerem Aufwand in den brShop24 migriert werden könnten. Eventuell gehen Ihnen hier also Daten verloren, wenn der VShop4 abgeschaltet wird. Der brShop24 würde nach der Migration also Ihren aktuellen VShop 4 ersetzen. Bei Fragen zu dem Thema wenden Sie sich bitte an den Support des Büroring.&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Nimz</name></author>
	</entry>
	<entry>
		<id>https://wiki.bergau.de/index.php?title=OBS/Stammdaten/Artikel/Registerkarte:_Shop/Einstellungsliste&amp;diff=64189</id>
		<title>OBS/Stammdaten/Artikel/Registerkarte: Shop/Einstellungsliste</title>
		<link rel="alternate" type="text/html" href="https://wiki.bergau.de/index.php?title=OBS/Stammdaten/Artikel/Registerkarte:_Shop/Einstellungsliste&amp;diff=64189"/>
		<updated>2025-11-25T11:19:34Z</updated>

		<summary type="html">&lt;p&gt;Nimz: /* Tasten und Schaltflächen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Vorlage:Stammdaten}}&lt;br /&gt;
Die Liste der Shopeinstellung dient der Anlage und Verwaltung schnittstellenspezifischer Einstellungen.&lt;br /&gt;
=Liste=&lt;br /&gt;
[[Datei:U_webshopeinstellungen_artikel.jpg]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Spalten der Tabelle Shopeinstellungen&lt;br /&gt;
|-&lt;br /&gt;
! Spalte !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| Nummer || Nummer der Shop-Schnittstelle &lt;br /&gt;
|-&lt;br /&gt;
| Bezeichnung || Vergebene Bezeichnung für die Schnittstelle&lt;br /&gt;
|-&lt;br /&gt;
| Typ || Typ/Art der Schnittstelle&lt;br /&gt;
|-&lt;br /&gt;
| Pflege  || aktuelle Pflege-Einstellung in den Webshop-Einstellungen&lt;br /&gt;
|}&lt;br /&gt;
==Tasten und Schaltflächen==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Taste !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| {{Key|F4{{nb_space}}Sort}} || Änderung der Sortierung&lt;br /&gt;
|-&lt;br /&gt;
| {{Key|F6{{nb_space}}Meta}} || Sie werden zunächst gefragt, ob Metadaten für alle Schnittstellen erstellt werden sollen. Bei Auswahl &#039;&#039;Nein&#039;&#039; werden Metadaten nur für die aktuelle Schnittstelle erstellt/geändert. Anschließend  öffnet sich die Maske [[OBS/Stammdaten/Artikel:_H3_-_Shoppflege/D_Metadaten_generieren|Artikel Metadaten generieren]].&lt;br /&gt;
|-&lt;br /&gt;
| {{Key|F7{{nb_space}}Text}} || Öffnet die Maske [[OBS/Stammdaten/Artikel:_Liste_Externe-Artikeltexte/Textgenerierung|Textgenerierung]]. Hier können Sie mit verschiedenen Platzhaltern einen Text für den artikel erstellen lassen. {{Hinweis|Nur verfügbar für Modified-Schnittstellen.}}&lt;br /&gt;
|-&lt;br /&gt;
| {{Key|F10{{nb_space}}Weit.}} || Öffnet die weiteren Funktionen der Liste&amp;lt;br /&amp;gt;&lt;br /&gt;
*[[#Z_Prüfsumme_zurücksetzen|Z Prüfsumme zurücksetzen]]&lt;br /&gt;
|-&lt;br /&gt;
| {{Key|F11{{nb_space}}Aktua.}} || Aktualisiert die Anzeige. Dies passiert automatisch alle 30 Sekunden, sollten Sie nicht manuell {{F11}} drücken.&lt;br /&gt;
|-&lt;br /&gt;
| {{Key|Ret{{nb_space}}Ändern}} || {{Return}} öffnet die [[OBS/Stammdaten/Artikel/Registerkarte:_Shop/Einstellungsliste/Artikelauswahl|Einstellungsmaske]].{{Hinweis|Die Maske kann abweichen, da die enthaltenen Felder zum Teil schnittstellenabhängig sind! Für spezifische Informationen zu einer Schnittstlle siehe:&lt;br /&gt;
*[[Kostenpflichtige_Module/Internet-Shop/brShop24/Eigene_Artikel_übertragen#Shop-Einstellungen|Maske brShop24]]}}&lt;br /&gt;
|-&lt;br /&gt;
| {{Key|Einfg{{nb_space}}einf.}} || {{Einfg}} öffnet eine Auswahl hinterlegter Shop-Schnittstellen, welche noch nicht dem Artikel hinterlegt sind und zu denen Webshopeinstellungen gepflegt werden können. Wählen Sie die gewünschte Schnittstelle mit Return aus. Sollten Sie bereits Schnittstellen gepflegt haben, werden Sie anschließend gefragt, ob verschiedene Einstellungsdaten einer anderen Schnittstelle übernommen werden sollen.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Weitere Funktionen=&lt;br /&gt;
==Z Prüfsumme zurücksetzen==&lt;br /&gt;
Damit OBS nicht laufend Artikeldaten überträgt, wird nach einer erfolgreichen Übertragung eine Prüfsumme vermerkt. Diese kann mit dieser Funktion manuell zurückgesetzt werden.&lt;/div&gt;</summary>
		<author><name>Nimz</name></author>
	</entry>
	<entry>
		<id>https://wiki.bergau.de/index.php?title=OBS/Stammdaten/Artikel/Registerkarte:_Shop/Einstellungsliste&amp;diff=64188</id>
		<title>OBS/Stammdaten/Artikel/Registerkarte: Shop/Einstellungsliste</title>
		<link rel="alternate" type="text/html" href="https://wiki.bergau.de/index.php?title=OBS/Stammdaten/Artikel/Registerkarte:_Shop/Einstellungsliste&amp;diff=64188"/>
		<updated>2025-11-25T11:16:12Z</updated>

		<summary type="html">&lt;p&gt;Nimz: /* Tasten und Schaltflächen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Vorlage:Stammdaten}}&lt;br /&gt;
Die Liste der Shopeinstellung dient der Anlage und Verwaltung schnittstellenspezifischer Einstellungen.&lt;br /&gt;
=Liste=&lt;br /&gt;
[[Datei:U_webshopeinstellungen_artikel.jpg]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Spalten der Tabelle Shopeinstellungen&lt;br /&gt;
|-&lt;br /&gt;
! Spalte !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| Nummer || Nummer der Shop-Schnittstelle &lt;br /&gt;
|-&lt;br /&gt;
| Bezeichnung || Vergebene Bezeichnung für die Schnittstelle&lt;br /&gt;
|-&lt;br /&gt;
| Typ || Typ/Art der Schnittstelle&lt;br /&gt;
|-&lt;br /&gt;
| Pflege  || aktuelle Pflege-Einstellung in den Webshop-Einstellungen&lt;br /&gt;
|}&lt;br /&gt;
==Tasten und Schaltflächen==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Taste !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| {{Key|F4{{nb_space}}Sort}} || Änderung der Sortierung&lt;br /&gt;
|-&lt;br /&gt;
| {{Key|F6{{nb_space}}Meta}} || Sie werden zunächst gefragt, ob Metadaten für alle Schnittstellen erstellt werden sollen. Bei Auswahl &#039;&#039;Nein&#039;&#039; werden Metadaten nur für die aktuelle Schnittstelle erstellt/geändert. Anschließend  öffnet sich die Maske [[OBS/Stammdaten/Artikel:_H3_-_Shoppflege/D_Metadaten_generieren|Artikel Metadaten generieren]].&lt;br /&gt;
|-&lt;br /&gt;
| {{Key|F7{{nb_space}}Text}} || Öffnet die Maske [[OBS/Stammdaten/Artikel:_Liste_Externe-Artikeltexte/Textgenerierung|Textgenerierung]]. Hier können Sie mit verschiedenen Platzhaltern einen Text für den artikel erstellen lassen. {{Hinweis|Nur verfügbar für Modified-Schnittstellen.}}&lt;br /&gt;
|-&lt;br /&gt;
| {{Key|F10{{nb_space}}Weit.}} || Öffnet die weiteren Funktionen der Liste&amp;lt;br /&amp;gt;&lt;br /&gt;
*[[#Z_Prüfsumme_zurücksetzen|Z Prüfsumme zurücksetzen]]&lt;br /&gt;
|-&lt;br /&gt;
| {{Key|F11{{nb_space}}Aktua.}} || Aktualisiert die Anzeige. Dies passiert automatisch alle 30 Sekunden, sollten Sie nicht manuell {{F11}} drücken.&lt;br /&gt;
|-&lt;br /&gt;
| {{Key|Ret{{nb_space}}Ändern}} || {{Return}} öffnet die Einstellungsmaske.&lt;br /&gt;
|-&lt;br /&gt;
| {{Key|Einfg{{nb_space}}einf.}} || {{Einfg}} öffnet eine Auswahl hinterlegter Shop-Schnittstellen, welche noch nicht dem Artikel hinterlegt sind und zu denen Webshopeinstellungen gepflegt werden können. Wählen Sie die gewünschte Schnittstelle mit Return aus. Sollten Sie bereits Schnittstellen gepflegt haben, werden Sie anschließend gefragt, ob verschiedene Einstellungsdaten einer anderen Schnittstelle übernommen werden sollen.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Weitere Funktionen=&lt;br /&gt;
==Z Prüfsumme zurücksetzen==&lt;br /&gt;
Damit OBS nicht laufend Artikeldaten überträgt, wird nach einer erfolgreichen Übertragung eine Prüfsumme vermerkt. Diese kann mit dieser Funktion manuell zurückgesetzt werden.&lt;/div&gt;</summary>
		<author><name>Nimz</name></author>
	</entry>
	<entry>
		<id>https://wiki.bergau.de/index.php?title=OBS/Stammdaten/Artikel/Registerkarte:_Shop/Einstellungsliste&amp;diff=64187</id>
		<title>OBS/Stammdaten/Artikel/Registerkarte: Shop/Einstellungsliste</title>
		<link rel="alternate" type="text/html" href="https://wiki.bergau.de/index.php?title=OBS/Stammdaten/Artikel/Registerkarte:_Shop/Einstellungsliste&amp;diff=64187"/>
		<updated>2025-11-25T11:14:13Z</updated>

		<summary type="html">&lt;p&gt;Nimz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Vorlage:Stammdaten}}&lt;br /&gt;
Die Liste der Shopeinstellung dient der Anlage und Verwaltung schnittstellenspezifischer Einstellungen.&lt;br /&gt;
=Liste=&lt;br /&gt;
[[Datei:U_webshopeinstellungen_artikel.jpg]]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Spalten der Tabelle Shopeinstellungen&lt;br /&gt;
|-&lt;br /&gt;
! Spalte !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| Nummer || Nummer der Shop-Schnittstelle &lt;br /&gt;
|-&lt;br /&gt;
| Bezeichnung || Vergebene Bezeichnung für die Schnittstelle&lt;br /&gt;
|-&lt;br /&gt;
| Typ || Typ/Art der Schnittstelle&lt;br /&gt;
|-&lt;br /&gt;
| Pflege  || aktuelle Pflege-Einstellung in den Webshop-Einstellungen&lt;br /&gt;
|}&lt;br /&gt;
==Tasten und Schaltflächen==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Taste !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| {{Key|F4 Sort}} || Änderung der Sortierung&lt;br /&gt;
|-&lt;br /&gt;
| {{Key|F6 Meta}} || Sie werden zunächst gefragt, ob Metadaten für alle Schnittstellen erstellt werden sollen. Bei Auswahl &#039;&#039;Nein&#039;&#039; werden Metadaten nur für die aktuelle Schnittstelle erstellt/geändert. Anschließend  öffnet sich die Maske [[OBS/Stammdaten/Artikel:_H3_-_Shoppflege/D_Metadaten_generieren|Artikel Metadaten generieren]].&lt;br /&gt;
|-&lt;br /&gt;
| {{Key|F7 Text}} || Öffnet die Maske [[OBS/Stammdaten/Artikel:_Liste_Externe-Artikeltexte/Textgenerierung|Textgenerierung]]. Hier können Sie mit verschiedenen Platzhaltern einen Text für den artikel erstellen lassen. {{Hinweis|Nur verfügbar für Modified-Schnittstellen.}}&lt;br /&gt;
|-&lt;br /&gt;
| {{Key|F10 Weit.}} || Öffnet die weiteren Funktionen der Liste&amp;lt;br /&amp;gt;&lt;br /&gt;
*[[#Z_Prüfsumme_zurücksetzen|Z Prüfsumme zurücksetzen]]&lt;br /&gt;
|-&lt;br /&gt;
| {{Key|F11 Aktua.}} || Aktualisiert die Anzeige. Dies passiert automatisch alle 30 Sekunden, sollten Sie nicht manuell {{F11}} drücken.&lt;br /&gt;
|-&lt;br /&gt;
| {{Key|Ret Ändern}} || {{Return}} öffnet die Einstellungsmaske.&lt;br /&gt;
|-&lt;br /&gt;
| {{Key|Einfg einf.}} || {{Einfg}} öffnet eine Auswahl hinterlegter Shop-Schnittstellen, welche noch nicht dem Artikel hinterlegt sind und zu denen Webshopeinstellungen gepflegt werden können. Wählen Sie die gewünschte Schnittstelle mit Return aus. Sollten Sie bereits Schnittstellen gepflegt haben, werden Sie anschließend gefragt, ob verschiedene Einstellungsdaten einer anderen Schnittstelle übernommen werden sollen.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Weitere Funktionen=&lt;br /&gt;
==Z Prüfsumme zurücksetzen==&lt;br /&gt;
Damit OBS nicht laufend Artikeldaten überträgt, wird nach einer erfolgreichen Übertragung eine Prüfsumme vermerkt. Diese kann mit dieser Funktion manuell zurückgesetzt werden.&lt;/div&gt;</summary>
		<author><name>Nimz</name></author>
	</entry>
	<entry>
		<id>https://wiki.bergau.de/index.php?title=OBS/Stammdaten/Artikel/Eingabemaske&amp;diff=64186</id>
		<title>OBS/Stammdaten/Artikel/Eingabemaske</title>
		<link rel="alternate" type="text/html" href="https://wiki.bergau.de/index.php?title=OBS/Stammdaten/Artikel/Eingabemaske&amp;diff=64186"/>
		<updated>2025-11-25T10:51:54Z</updated>

		<summary type="html">&lt;p&gt;Nimz: /* Registerkarte: 5 Shop */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Vorlage:Stammdaten}}&lt;br /&gt;
&lt;br /&gt;
=Registerkarte: 1 Allgemeine Artikelstammdaten=&lt;br /&gt;
[[Image:ArtikelRegisterkarte 1.PNG]]&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Felder der Artikelmaske Registerkarte: Allgemeine Artikelstammdaten&lt;br /&gt;
|-&lt;br /&gt;
! Feld !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| Art-Nr || Dies ist die eindeutige Identifikationsnummer des Artikel in Ihrem Artikelstamm. Bei der Anlage eines neuen Artikels müssen Sie die eingegeben Artikelnummer mit {{Return}} bestätigen, bevor Sie die anderen Felder verwenden können. Welche Zeichen für Artikelnummern verwendet werden können richtet sich nach der Einstellung des Programmparameters &#039;&#039;0293&#039;&#039;. Nachdem die Nummer eingegeben wurde kann diese über die Maske nicht mehr geändert werden. Dies ist nur in der Liste unter {{Key|F10 Weitere}} über die Funktion [[OBS/Artikel/F10_Weitere_Funktionen1#X1_-_Artikel_verschmelzen/Artikelnummer_%C3%A4ndern|Artikelnummer ändern]] möglich. &lt;br /&gt;
|-&lt;br /&gt;
| Suchbegriff || Der Suchbegriff wird automatisch aus Bezeichnung 1 generiert, kann aber auch eigenständig eingegeben werden.&lt;br /&gt;
|-&lt;br /&gt;
| Herst-Art-Nr || Die Herst-Art-Nr. unter der dieser Artikel beim Hersteller geführt wird&lt;br /&gt;
|-&lt;br /&gt;
| Bezeichnung 1 &amp;amp; 2  || geben Sie hier eine möglichst genaue Artikelbezeichnung ein.&lt;br /&gt;
|-&lt;br /&gt;
| Warengruppe || Wählen Sie hier die Warengruppe aus, in die der Artikel gehört.&lt;br /&gt;
|-&lt;br /&gt;
| U-Warengruppe || Wählen Sie hier die Unterwarengruppe, in die der Artikel gehört.&lt;br /&gt;
|-&lt;br /&gt;
| Erlöskonto || Wählen Sie hier das Konto aus, auf welchem die Erlöse dieses Artikels gutgeschrieben werden.&lt;br /&gt;
|-&lt;br /&gt;
| Einheit || Wählen Sie hier die Einheit aus, in der der Artikel gemessen wird.&lt;br /&gt;
|-&lt;br /&gt;
| EClass  ||&lt;br /&gt;
|-&lt;br /&gt;
| Bemerkung || Diese steht als freier Text zur Verfügung.&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Mengeneinheit || Hier wird die Definition des Artikels als solcher angeben, z.B. ,1 Stück&#039; oder ein Artikel entspricht einem 5er Pack also ,5 Stück&#039; oder 1 Kasten Selter mit ,12 Flaschen&#039;. Mit diesem Feld wird gerechnet! Die Staffelpreise müssen bzgl. der Mengeneinheit ausmultipliziert angegeben werden, z.B. bei einer Staffel 3 eines Artikels mit Mengeneinheit 100 ergibt das eine Staffel für Menge 300. Bei richtiger Einstellung in der Artikelpflege werden die Staffeln automatisch richtig übernommen.&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Mengenkennzeichen || ( Z Zehn / H Hundert /T Tausend) gibt an, wie viele Untereinheiten eine Mengeneinheit beinhaltet, z.B. 1 Packung Briefumschläge enthält 100 einzelne Briefumschläge. Es dient nur der besseren Verständnis und wird nicht zur Berechnung herangezogen.&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| EAN-Nummer || Tragen Sie hier die EAN-Nummer Ihres Artikels ein, Sie können den EAN-Code auch mit einem Hand-Scanner einlesen. Wenn Sie in der Kasse diesen EAN-Code wieder einlesen, wird der Artikel automatisch erkannt.&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Lagerort || dient zum Auffinden des Artikels, auf der &#039;&#039;Registerkarte: Umsatzstatistik und Anderes&#039;&#039; kann noch eine genauere &#039;&#039;&#039;&#039;&#039;Lagerpos.nr&#039;&#039;&#039;&#039;&#039; eingetragen werden.&lt;br /&gt;
|-&lt;br /&gt;
| Positionsvorb. || Gibt die vorbelegte Menge dieses Artikels in den Positionen an.&amp;lt;br/&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Anlagedatum || beinhaltet das Datum, an dem der Artikel in den Artikelstamm eingefügt wurde und wird automatisch gesetzt.&amp;lt;br/&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Durchschnittlicher EK-Preis || Dies ist eine berechnete Größe, die beim Verbuchen von Einkaufsrechnungen immer wieder neu gesetzt wird.&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Letzer Umsatz || Dies ist das Datum, an dem zuletzt eine Rechnung zu diesem Artikel erzeugt wurde.&amp;lt;br/&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Verpackung || Dieses Feld gibt an, wie viele Artikel zusammen geliefert werden, z.B. ein Karton Briefumschläge enthält 10 Packungen Briefumschläge. Diese Angabe dient nur zur reinen Information, d.h. hiermit werden keine Berechnungen durchgeführt.&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Alternative Artikelnummer || Dieses Feld ist ein Informationsfeld für eine andere Artikelnummer, die für diesen Artikel verwendet wird (z.B. eine interne Artikelnummer). Über Programmparameter ist einstellbar, ob der Artikel über die alternative Artikelnummer gesucht werden kann und ob die alternative Artikelnummer in der Positionserfassung benutzt werden kann.&amp;lt;br /&amp;gt;&lt;br /&gt;
Hier können sie folgende Angaben machen:&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Bestand || Hier wird der aktuelle Bestand angezeigt.&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Meldebestand || Lagerbestand sollte nicht unter diese Menge fallen  (wird für Hinweise u. Auswertung genutzt)&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Maximaler Bestand || Bis zu dieser Menge sollte das Lager aufgefüllt werden (wird für Hinweise u. Auswertung genutzt)&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Preisfokus ||&lt;br /&gt;
|-&lt;br /&gt;
| Automatik für Inaktiv || Wenn aktiviert setzt die Artikelpflege den Artikelzustand auf &#039;&#039;inaktiv&#039;&#039; wenn der Artikel bei keinem Lieferanten mehr lieferbar ist und keinen Lagerbestand hat. {{Hinweis|Hierzu muss der Programmparameter 0644 aktijviert sein.}}&lt;br /&gt;
|-&lt;br /&gt;
| Artikel ohne Bestandspflege || standardmäßig auf &#039;&#039;&#039; Nein&#039;&#039;&#039;, d.h. Artikel wird mit Bestandsdaten geführt&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Produktionsartikel || standardmäßig auf &#039;&#039;&#039;Nein&#039;&#039;&#039;, d.h. Artikel wird &#039;&#039;&#039;nicht&#039;&#039;&#039; innerhalb des Untenehmens hergestellt&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Stückliste = Optionsliste || standardmäßig auf &#039;&#039;&#039;Nein&#039;&#039;&#039;, d.h. der zusammengesetzte Artikel aus anderen Artikeln gilt &#039;&#039;&#039;nicht&#039;&#039;&#039; als Artikel in verschiedenen Ausführungen&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Kein Skonto || auf diesen Artikel wird kein Skonto gewährt&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Lagerartikel || dieser Artikel wird im Lager vorgehalten&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Inaktiv || dieser Artikel kann/soll nicht nehr verwendet werden, &#039;&#039;empfohlene Vorgehensweise, wenn Artikel aus dem Sortiment genommen werden soll, besser als den Artikel zu löschen, da ältere Daten noch auf diesen Artikel zurückgreifen&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==VK-Preise 1-9 Tabelle:==&lt;br /&gt;
Die &#039;&#039;&#039;linke untere Seite der Regsiterkarte: Allgemeine Artikelstammdaten&#039;&#039;&#039; sieht wie folgt aus:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:Artikel_Registerkarte_teil_3.PNG]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Bedeutung dieser Tabelle ist abhängig davon, ob mit Preissystem oder Rabattsystem  (PP 305 Rabattgruppe=Ja, Preisgruppe =Nein) gearbeitet wird. Ist das &#039;&#039;&#039;Preissystem&#039;&#039;&#039; aktiviert, so wird einem Kunden entsprechend seiner Preis-/Rabattgruppe, der zugehörige VK zugewiesen, z.B. steht der Kunde auf Gruppe 2 so wird der VK2 benutzt. Ist das &#039;&#039;&#039;Rabattsystem&#039;&#039;&#039; aktiviert, so wird aus dieser Tabelle nur der VK1 benutzt. Es wird entsprechend der Gruppe des Kunden der zugehörige Rabatt (siehe [[OBS/Stammdaten/Registerkarte: Umsatzstatistiken + Anderes|Registerkarte: Umsatzstatistik und Anderes]]) der zugehörige Rabatt auf den VK1 gewährt, z.B. bei Gruppe2 der Rabatt2.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Hinweis: In der Praxis bietet es sich an, nicht bei den einzelnen Artikeln verschiedene Rabatte zu definieren, sondern die Rabatte für die Warengruppen festzulegen.&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hier können Sie sehen, was die einzelnen Felder bedeuten: [[OBS/Weitere Stammdaten/F9 VK-Preise 1-9|Artikel VK-Preise 1-9]]&amp;lt;br/&amp;gt;&lt;br /&gt;
Mit {{Return}} oder {{F9}} können Sie die Tabelle bearbeiten.&lt;br /&gt;
&lt;br /&gt;
Es gibt auch die Möglichkeit die Preise mit {{F7}} zu kalkulieren. Näheres hierzu finden Sie unter [[OBS/Stammdaten/Artikel/Eingabemaske#F7_Kalk| F7 Kalkulation]].&lt;br /&gt;
&lt;br /&gt;
==Lieferanten Tabelle:==&lt;br /&gt;
In der Lieferantentabelle im unteren Bereich sehen Sie die Lieferanten des aktuellen Artikels mit den entsprechenden Preisen. &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:Artikel_LieferantenTabelle.PNG]]&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Durch einen Doppelklick oder {{Return}} auf die Tabelle oder {{Key|F10 EK}} lassen sich die [[OBS/Weitere Stammdaten/F10 EK Lieferanten für Artikel|Lieferanten für den Artikel]] bearbeiten, d.h. es können Lieferanten geändert, eingefügt oder gelöscht werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Registerkarte: 2 Umsatzstatistiken und Anderes=&lt;br /&gt;
&lt;br /&gt;
[[Image:Artikel Registerkarte 2.PNG]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Im oberen Teil der Eingabemaske werden Ihnen zur Information die &#039;&#039;&#039;Artikelnummer&#039;&#039;&#039;, der &#039;&#039;&#039;Suchbegriff &#039;&#039;&#039; und die &#039;&#039;&#039;Hersteller-Artikelnummer&#039;&#039;&#039; des Artikels angezeigt. Sie können diese Daten hier nicht verändern.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Felder der Artikelmaske Registerkarte: Umsatzstatistiken und Anderes&lt;br /&gt;
|-&lt;br /&gt;
! Feld !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| Artikelnr Folgeartikel || Ein weiterer Artikel, der normalerweise immer zusammen mit dem aktuellen Artikel ausgeliefert wird. Dieser Folgeartikel darf nicht identisch mit dem Artikel sein. &lt;br /&gt;
|-&lt;br /&gt;
| Aufgelaufener Umsatz || In diesem Block wird der Umsatz des laufenden Monats, Quartals, Jahres, des Vorjahres und der Einkauf im laufenden Jahr in Euro und in Stück angezeigt. Diese Werte werden automatisch von OBS beim Verbuchen gesetzt und können nicht verändert werden.  &lt;br /&gt;
|-&lt;br /&gt;
| Periodenumsätze || Öffnet [[OBS/Stammdaten/Periodenumsatz|Periodenumsätze]]&lt;br /&gt;
|-&lt;br /&gt;
| Einstellungen für Sprache 2 || Dieser Teil der Registerkarte ist für den Handel mit dem Ausland. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Einstellungen für Sprache 2&lt;br /&gt;
|-&lt;br /&gt;
| Bez. 1 und Bez. 2|| Hier können Sie die Bezeichnung des Artikels für die Fremdsprache einstellen. &lt;br /&gt;
|-&lt;br /&gt;
| Erlöskonto für Ausland und EU || Oft sollen die Erlöse, die durch Verkauf ins Ausland bzw. in die EU erwirtschaftet werden, auf ein separates Erlöskonto gebucht werden. Hier kann nun mit {{Raute}} die entsprechende Kontonummer eingetragen werden.&lt;br /&gt;
|-&lt;br /&gt;
| Mengeneinheit || Hier kann die gewünschte Mengeneinheit des Artikels für die Fremdsprache eingestellt werden. &lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
| Gerät || Handelt es sich bei dem Artikel um ein Gerät, das in der [[OBS/Weitere Stammdaten/Geräteverwaltung|Geräteverwaltung]] als solches geführt werden soll, damit ggf. Verträge und Reparaturaufträge zu diesem Gerät erfasst werden können, so muss der Schalter &#039;&#039;&#039;Gerät = JA&#039;&#039;&#039; gesetzt werden.&lt;br /&gt;
|-&lt;br /&gt;
| Art || Die Geräteart muss ausgewählt werden, wenn es sich bei dem Artikel um ein Gerät handelt. &lt;br /&gt;
|- &lt;br /&gt;
| Garantiezeit ||  Es kann die Garantiezeit in Anzahl Monate eingegeben werden.&lt;br /&gt;
|-&lt;br /&gt;
| Serien-Nr Verwaltung || Spätestens bei der Auftragsbearbeitung muss jedem Gerät eine Seriennummer zugewiesen werden (per Grundeinstellung änderbar)&lt;br /&gt;
|-&lt;br /&gt;
| Gutscheinartikel || Hierüber kann einstellt werden ob es sich bei dem Artikel um einen [[OBS/Häufig gestellte Fragen/Gutscheinverwaltung|Gutschein]] handelt. Hiebei kann unterschieden werden, ob die Gutscheinnummer beim Verkaufen eines Gutscheinartikels automatisch (Generierung) oder manuell (Vorgefertigt), durch Eingabe des Kassieres, erstellt werden soll.&lt;br /&gt;
|-&lt;br /&gt;
| Inventurgruppe || Um die Inventur ein wenig zu strukturieren, es ist ratsam, die Artikel in Inventurgruppenzu gliedern, um so entsprechend Inventurlisten für  Artikel zu erstellen, die zusammen gezählt werden sollen. &lt;br /&gt;
|-&lt;br /&gt;
| Lag.pos.nr || Zur schnelleren Auffindung des Artikels kann eine Lager Positionsnummer zusätzlich zum Lagerort von Registerblatt 1 angegeben werden.&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Mindest-VK-Menge || Gibt die mindestens zu verkaufende Menge an.&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Provisionssatz || Gibt die Provision an, die beim Verkauf dieses Artikels erzielt werden kann.&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Poskennz. || Sie können Ihrem Artikel ein Positionskennzeichen zuordnen, das automatisch in alle Aufträge, Rechnungen, etc. übernommen wird, wenn dieser Artikel eingefügt wird.&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Mindest-VK-Menge ||&lt;br /&gt;
|-&lt;br /&gt;
| WA || &lt;br /&gt;
|-&lt;br /&gt;
| G - Faktor ||  Geben Sie hier den Faktor zum Umrechnen von der Mengeneinheit auf die G-Mengeneinheit ein. &amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| G - Mengeneinheit || Wählen Sie hier eine Mengeneinheit wie z.B. &amp;quot;%&amp;quot;, &amp;quot;Stück&amp;quot; oder &amp;quot;Kg&amp;quot; für den Artikel aus. Die G-Menge dient dem Kunden zum Vergleichen verschiedener Artikel. Sie können so z.B. bei allen Artikeln den Preis für 1 Kg angeben.&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Hersteller Name || Gibt den Namen des Herstellers an.&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Umsatzmenge || &#039;&#039;gewünschter Sollwert&#039;&#039; für den Umsatz&lt;br /&gt;
|-&lt;br /&gt;
| Rabatt || &#039;Möchten Sie auf diesen Artikel generell keinen Rabatt gewähren (auch wenn auf die entsprechende Warengruppe ein Rabatt gewährt wird oder ein personenbezogener Rabatt exsitiert), dann tragen Sie ein &amp;quot;N&amp;quot; ein.&amp;lt;br/&amp;gt; Ist das Preissystem auf &amp;quot;Rabattsystem&amp;quot; gestellt (Programmparameter 0305 auf JA), erscheinen folgende Zusatzfelder:&amp;lt;br /&amp;gt;[[Image:Artikel_Registerkarte_Rabattsystem_ja.PNG]]&amp;lt;br /&amp;gt;Hier können Sie bei einem Artikel zusätzliche Informationen eingestellen:&amp;lt;br/&amp;gt;&#039;&#039;&#039;Rabatt: &#039;&#039;&#039;&#039; Ist hier ein &amp;quot;N&amp;quot; eingeragen, werden auch die Werte in den Feldern &amp;quot;Rabatt 1-5&amp;quot; ignoriert, gehen jedoch nicht verloren, um sie später gegebenenfalls wieder zu aktivieren.&amp;lt;br /&amp;gt;&#039;&#039;&#039;Rabatt 1,2,3,... (%): &#039;&#039;&#039;Sie können pro Artikel verschiedene Rabattgruppen definieren. Je nachdem, welcher Rabattkategorie ein Kunde angehört, wird ihm in der Auftragsabwicklung automatisch der entsprechende Rabatt in eine Position übernommen und kann dort individuell geändert werden. Die Grundlage zur Berechnung des Rabattes ist hierbei der &#039;&#039;&#039;erste VK-Netto&#039;&#039;&#039; Preis; die folgenden Preise werden ignoriert. Ein Rabatt, der der Warengruppe dieses Artikels zugewiesen wurde, wird durch diese Felder überschrieben.&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Lohnansatz || Hier können Lohnstunden hinterlegt werden. &lt;br /&gt;
|-&lt;br /&gt;
| Masch.-ansatz || Bei Maschinenansatz können die Maschinenstunden hinterlegt werden. &lt;br /&gt;
|-&lt;br /&gt;
| Hadelsgew. || Handelsgewicht des Artikels&lt;br /&gt;
|-&lt;br /&gt;
| Absatz - Menge || &amp;quot;tatsächlicher Istwert&amp;quot; für den Umsatz&lt;br /&gt;
|-&lt;br /&gt;
| Übernahme Bezeichnung und Langtext aus Pflege ||  Bei Aktivierung werden die Bezeichnungen der einzelnen Artikel aus der Artikelpflege übernommen. &lt;br /&gt;
|-&lt;br /&gt;
| Multi-Steuer || s. [[OBS/Stammdaten/Artikel/Weitere Funktionen/Multisteuer|Multisteuer]]&lt;br /&gt;
|-&lt;br /&gt;
| MwST-Schlüssel || Mehrwertsteuer-Schlüssel des Artikels&lt;br /&gt;
|-&lt;br /&gt;
| VSt-Schlüssel || Vorsteuer-Schlüssel des Artikels&lt;br /&gt;
|-&lt;br /&gt;
| TSE-Geschäftsfall &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Registerkarte: 3 Langtext=&lt;br /&gt;
&lt;br /&gt;
[[Image:Artikel_Registerkarte_Langtext.PNG]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Felder der Artikelmaske Registerkarte: Langtext&lt;br /&gt;
|-&lt;br /&gt;
! Feld !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| Langtext || Langtexte dienen zur genaueren Beschreibung eines Artikels und werden automatisch bei Angeboten, Aufträgen, etc. in die Positionserfassung übernommen. Dies kann jedoch deaktiviert werden (s. &#039;&#039;Keine Übernahme des Langtextes in Positionen&#039;&#039;).&lt;br /&gt;
|-&lt;br /&gt;
| Suchtexte || Sie können einem Artikel verschiedene Suchtexte hinzufügen, um Artikel über die OBS Suchfunktion leichter zu finden.&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Preislistenkalkulationsschalter 1-3 || &lt;br /&gt;
|-&lt;br /&gt;
| Erfasst von  || Hier wird der Sachbearbeiter angezeigt, der den Artikel angelegt hat. &lt;br /&gt;
|-&lt;br /&gt;
| Pos-art || Hiermit kann vorbelegt werden mit welcher Pos-Art ein Artikel in einem Vorgang angelegt wird. Dies kann z.B. hilfreich sein, wenn man einen Artikel standardmäßig auf &#039;&#039;ohne Berechnung&#039;&#039; in Aufträgen einfügen möchte. &lt;br /&gt;
|-&lt;br /&gt;
| Keine Übernahme des Langtextes in Positionen aus Artikel / Externe Texte || &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Artikel || Wenn aktiviert wird der Langtext nicht automatisch in die Positionen von Vorgängen (Angebote, Aufträge, etc.) übernommen. &lt;br /&gt;
|-&lt;br /&gt;
| Externe Texte || &lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
| Umrechnungsfaktor Material || &lt;br /&gt;
|-&lt;br /&gt;
| Kostenstellenfaktor || &lt;br /&gt;
|-&lt;br /&gt;
| Bruttogewicht || &lt;br /&gt;
|-&lt;br /&gt;
| Volumen || &lt;br /&gt;
|-&lt;br /&gt;
| Gefahrgutfaktor nach Beförder.-kat. || &lt;br /&gt;
|-&lt;br /&gt;
| KanBan || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Registerkarte: 4 Mengenberechnung=&lt;br /&gt;
&lt;br /&gt;
=Registerkarte: 5 Shop=&lt;br /&gt;
Der Reiter 5 ist visueller Natur und zeigt Ihnen die gepflegten Webshop-Einstellungen des Artikels an. Mit Doppelklick oder {{Return}} öffnet die [[OBS/Stammdaten/Registerkarte: Shop/Einstellungsliste|Liste der Webshop-Einstellungen.]]. Dort können Sie vorhandene Einstellungen bearbeiten oder neue hinzufügen.&amp;lt;br/&amp;gt;&lt;br /&gt;
Die Webshop-Einstellungen umfassen Daten wie eine alternative Artikelbezeichnung für den Shop, Bilder oder Langtext.&lt;br /&gt;
{{Hinweis|Unter den weiteren Funktionen ({{Key|[[OBS/Artikel/F10_Weitere_Funktionen1|F10 Weit.]]}}) des Artikelstamms finden sich alternative Zugänge zu den Listen und Daten von Shoptexten, Bildern und Varianten. Diese wurden lediglich in einem Reiter in der Maske zusammengefasst, damit die Shopdaten zu einem Artikel übersichtlicher und einfacher zu pflegen sind. In den weiteren Funktionen sind diese unter [[OBS/Stammdaten/Artikel:_H3_-_Shoppflege|H3 Shoppflege (Bilder/Texte/Textvarianten)]] und [[OBS/Stammdaten/Artikel:_O2_-_Preis-Varianten|O2 – Preis Varianten]] zu finden.}}&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Image:Ue_artikel_r5_shop.jpg]]&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Spalten der Tabelle Shopeinstellungen&lt;br /&gt;
|-&lt;br /&gt;
! Spalte !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| Nummer || Nummer der Shop-Schnittstelle &lt;br /&gt;
|-&lt;br /&gt;
| Bezeichnung || Vergebene Bezeichnung für die Schnittstelle&lt;br /&gt;
|-&lt;br /&gt;
| Typ || Typ/Art der Schnittstelle&lt;br /&gt;
|-&lt;br /&gt;
| Pflege  || aktuelle Pflege-Einstellung in den Webshop-Einstellungen&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Tasten und Schaltflächen=&lt;br /&gt;
&lt;br /&gt;
=={{F5}} EAN-Nr==&lt;br /&gt;
Mit dieser Funktion können Sie in der Eingabemaske zu dem jeweiligen Artikel eine EAN (European Article Number) generieren. &lt;br /&gt;
&lt;br /&gt;
=={{F6}} In PL==&lt;br /&gt;
Mit {{F6}} können Sie sich alle personenbezogenen Preise für diesen Artikel anzeigen lassen. Es öffnet sich das folgende Fenster:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:Personenbezogene_Preise.PNG]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit {{Einfg}} können Sie für weitere Personen Preise hinterlegen. Das sich öffnende Fenster sieht wie folgt aus:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:Personenbezogene_Preise_Eingabe.PNG]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wählen Sie hiermit der {{Raute}}-Taste im Feld &amp;quot;Personennummer&amp;quot; die gewünschte Person aus, tragen Sie den Preis ein und sichern Sie mit {{F2}} Ihre Eingabe. Wenn Sie diesen Artikel nun in einem Auftrag für eine dieser Personen einfügen, wird der hinterlegte Preis automatisch eingefügt. [[Category:html]]&lt;br /&gt;
=={{F7}} Kalk==&lt;br /&gt;
&lt;br /&gt;
Durch Klick auf {{F7}} in der Eingabemaske öffnet sich folgendes Fenster:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:Artikel_kalkulieren.PNG]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Im linken Feld wird ihnen der Einkaufspreis (EK1) angezeigt. Die drei Spalten rechts daneben Zeigen Ihnen den &#039;&#039;&#039;Netto-Verkaufspreis&#039;&#039;&#039;, den &#039;&#039;&#039;Brutto-Verkaufspreis&#039;&#039;&#039;, den &#039;&#039;&#039;Erlös in Prozent&#039;&#039;&#039; und den &#039;&#039;&#039;Soll Erlös in Prozent&#039;&#039;&#039;. Jede Zeile steht für einen Verkaufspreis (VK1 - VK9). Immer wenn sie in einem Feld eine Änderung vornehmen, wird für die anderen beiden Felder derselben Spalte der entsprechende Wert automatisch errechnet. &amp;lt;br /&amp;gt;&lt;br /&gt;
Wenn sie den Einkaufspreis ändern, wird in jeder Zeile, bei der sie in der entsprechenden Checkbox ein Häkchen gemacht haben, der &#039;&#039;&#039;Verkaufspreis&#039;&#039;&#039; neu errechnet. In allen Zeilen bei denen kein Häkchen gesetzt wurde, wird der &#039;&#039;&#039;Erlös&#039;&#039;&#039; neu errechnet.&lt;br /&gt;
Die Spalte Erlös Soll in Prozent dient der Funktion [[AusArtikelPreisanpassungSollanpassung|Preisanpassung über Sollanpassung]]. Hier können Sie den Soll-Erlös in Prozent eintragen.&amp;lt;br /&amp;gt;&lt;br /&gt;
Durch &#039;&#039;&#039;Brutto führend&#039;&#039;&#039; kann eingestellt werden, dass der Bruttopreis nicht vom Nettopreis aus errechnet wird. Dies ist notwendig, da es sonst durch Rundungen nicht möglich ist, bestimmte Bruttopreise einzugeben. Näheres hierzu finden Sie auch unter: [[OBS/Stammdaten/OBS/Stammdaten/Brutto und Netto|Brutto und Netto in OBS]].&lt;br /&gt;
Wenn Sie mit der {{F2}}-Taste Ihre Eingabe sichern, werden die kalkulierten Preise automatisch in die richtigen Felder eingetragen.[[Category:html]]&lt;br /&gt;
&lt;br /&gt;
=={{F8}} EAN==&lt;br /&gt;
Öffnet die [[OBS/Stammdaten/Artikel/F8 EAN-Verwaltung|EAN-Verwaltung]] gefiltert mit Einträgen nur für den aktuellen Artikel. &lt;br /&gt;
&lt;br /&gt;
=={{F9}} VK==&lt;br /&gt;
In dieser Übersicht werden die &#039;&#039;&#039;VK1-VK9 &#039;&#039;&#039; tabellarisch dargestellt. Wenn in dieser Spalte einen Brutto-Verkaufspreis angegeben wird, so wird der Netto - Verkaufspreis automatisch, entsprechend dem Mehrwertsteuersatz, angepaßt. &amp;lt;br /&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;VK-Netto &#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;VK-Brutto &#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Erlös in % &#039;&#039;&#039;- prozentualer Roherlös&lt;br /&gt;
*&#039;&#039;&#039;Erlös in  € &#039;&#039;&#039;- der Roherlös, der bleibt, wenn der Einkaufspreis vom Netto-Verkaufspreis abgezogen wird&lt;br /&gt;
*&#039;&#039;&#039; Bedingung &#039;&#039;&#039; - dient der reinen Information für den Anwender&lt;br /&gt;
&lt;br /&gt;
Diese Tabelle sieht wie folgt aus:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:F9_VK-Preise_1-9.PNG]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sichern Sie mit {{F2}} Ihre Angaben.[[Category:html]]&lt;br /&gt;
&lt;br /&gt;
=={{F10}} EK==&lt;br /&gt;
Öffnet die Liste der [[OBS/Stammdaten/Artikel/F10 EK Lieferanten für Artikel|Lieferanten für den aktuellen Artikel]]&lt;/div&gt;</summary>
		<author><name>Nimz</name></author>
	</entry>
	<entry>
		<id>https://wiki.bergau.de/index.php?title=OBS/Stammdaten/Artikel/Registerkarte:_Shop&amp;diff=64185</id>
		<title>OBS/Stammdaten/Artikel/Registerkarte: Shop</title>
		<link rel="alternate" type="text/html" href="https://wiki.bergau.de/index.php?title=OBS/Stammdaten/Artikel/Registerkarte:_Shop&amp;diff=64185"/>
		<updated>2025-11-25T10:47:26Z</updated>

		<summary type="html">&lt;p&gt;Nimz: Weiterleitung nach OBS/Stammdaten/Artikel/Eingabemaske#Registerkarte: 5 Shop erstellt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[OBS/Stammdaten/Artikel/Eingabemaske#Registerkarte:_5_Shop]]&lt;/div&gt;</summary>
		<author><name>Nimz</name></author>
	</entry>
	<entry>
		<id>https://wiki.bergau.de/index.php?title=OBS/Stammdaten/Artikel/Eingabemaske&amp;diff=64184</id>
		<title>OBS/Stammdaten/Artikel/Eingabemaske</title>
		<link rel="alternate" type="text/html" href="https://wiki.bergau.de/index.php?title=OBS/Stammdaten/Artikel/Eingabemaske&amp;diff=64184"/>
		<updated>2025-11-25T10:46:16Z</updated>

		<summary type="html">&lt;p&gt;Nimz: /* Registerkarte: 5 Shop */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Vorlage:Stammdaten}}&lt;br /&gt;
&lt;br /&gt;
=Registerkarte: 1 Allgemeine Artikelstammdaten=&lt;br /&gt;
[[Image:ArtikelRegisterkarte 1.PNG]]&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Felder der Artikelmaske Registerkarte: Allgemeine Artikelstammdaten&lt;br /&gt;
|-&lt;br /&gt;
! Feld !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| Art-Nr || Dies ist die eindeutige Identifikationsnummer des Artikel in Ihrem Artikelstamm. Bei der Anlage eines neuen Artikels müssen Sie die eingegeben Artikelnummer mit {{Return}} bestätigen, bevor Sie die anderen Felder verwenden können. Welche Zeichen für Artikelnummern verwendet werden können richtet sich nach der Einstellung des Programmparameters &#039;&#039;0293&#039;&#039;. Nachdem die Nummer eingegeben wurde kann diese über die Maske nicht mehr geändert werden. Dies ist nur in der Liste unter {{Key|F10 Weitere}} über die Funktion [[OBS/Artikel/F10_Weitere_Funktionen1#X1_-_Artikel_verschmelzen/Artikelnummer_%C3%A4ndern|Artikelnummer ändern]] möglich. &lt;br /&gt;
|-&lt;br /&gt;
| Suchbegriff || Der Suchbegriff wird automatisch aus Bezeichnung 1 generiert, kann aber auch eigenständig eingegeben werden.&lt;br /&gt;
|-&lt;br /&gt;
| Herst-Art-Nr || Die Herst-Art-Nr. unter der dieser Artikel beim Hersteller geführt wird&lt;br /&gt;
|-&lt;br /&gt;
| Bezeichnung 1 &amp;amp; 2  || geben Sie hier eine möglichst genaue Artikelbezeichnung ein.&lt;br /&gt;
|-&lt;br /&gt;
| Warengruppe || Wählen Sie hier die Warengruppe aus, in die der Artikel gehört.&lt;br /&gt;
|-&lt;br /&gt;
| U-Warengruppe || Wählen Sie hier die Unterwarengruppe, in die der Artikel gehört.&lt;br /&gt;
|-&lt;br /&gt;
| Erlöskonto || Wählen Sie hier das Konto aus, auf welchem die Erlöse dieses Artikels gutgeschrieben werden.&lt;br /&gt;
|-&lt;br /&gt;
| Einheit || Wählen Sie hier die Einheit aus, in der der Artikel gemessen wird.&lt;br /&gt;
|-&lt;br /&gt;
| EClass  ||&lt;br /&gt;
|-&lt;br /&gt;
| Bemerkung || Diese steht als freier Text zur Verfügung.&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Mengeneinheit || Hier wird die Definition des Artikels als solcher angeben, z.B. ,1 Stück&#039; oder ein Artikel entspricht einem 5er Pack also ,5 Stück&#039; oder 1 Kasten Selter mit ,12 Flaschen&#039;. Mit diesem Feld wird gerechnet! Die Staffelpreise müssen bzgl. der Mengeneinheit ausmultipliziert angegeben werden, z.B. bei einer Staffel 3 eines Artikels mit Mengeneinheit 100 ergibt das eine Staffel für Menge 300. Bei richtiger Einstellung in der Artikelpflege werden die Staffeln automatisch richtig übernommen.&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Mengenkennzeichen || ( Z Zehn / H Hundert /T Tausend) gibt an, wie viele Untereinheiten eine Mengeneinheit beinhaltet, z.B. 1 Packung Briefumschläge enthält 100 einzelne Briefumschläge. Es dient nur der besseren Verständnis und wird nicht zur Berechnung herangezogen.&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| EAN-Nummer || Tragen Sie hier die EAN-Nummer Ihres Artikels ein, Sie können den EAN-Code auch mit einem Hand-Scanner einlesen. Wenn Sie in der Kasse diesen EAN-Code wieder einlesen, wird der Artikel automatisch erkannt.&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Lagerort || dient zum Auffinden des Artikels, auf der &#039;&#039;Registerkarte: Umsatzstatistik und Anderes&#039;&#039; kann noch eine genauere &#039;&#039;&#039;&#039;&#039;Lagerpos.nr&#039;&#039;&#039;&#039;&#039; eingetragen werden.&lt;br /&gt;
|-&lt;br /&gt;
| Positionsvorb. || Gibt die vorbelegte Menge dieses Artikels in den Positionen an.&amp;lt;br/&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Anlagedatum || beinhaltet das Datum, an dem der Artikel in den Artikelstamm eingefügt wurde und wird automatisch gesetzt.&amp;lt;br/&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Durchschnittlicher EK-Preis || Dies ist eine berechnete Größe, die beim Verbuchen von Einkaufsrechnungen immer wieder neu gesetzt wird.&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Letzer Umsatz || Dies ist das Datum, an dem zuletzt eine Rechnung zu diesem Artikel erzeugt wurde.&amp;lt;br/&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Verpackung || Dieses Feld gibt an, wie viele Artikel zusammen geliefert werden, z.B. ein Karton Briefumschläge enthält 10 Packungen Briefumschläge. Diese Angabe dient nur zur reinen Information, d.h. hiermit werden keine Berechnungen durchgeführt.&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Alternative Artikelnummer || Dieses Feld ist ein Informationsfeld für eine andere Artikelnummer, die für diesen Artikel verwendet wird (z.B. eine interne Artikelnummer). Über Programmparameter ist einstellbar, ob der Artikel über die alternative Artikelnummer gesucht werden kann und ob die alternative Artikelnummer in der Positionserfassung benutzt werden kann.&amp;lt;br /&amp;gt;&lt;br /&gt;
Hier können sie folgende Angaben machen:&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Bestand || Hier wird der aktuelle Bestand angezeigt.&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Meldebestand || Lagerbestand sollte nicht unter diese Menge fallen  (wird für Hinweise u. Auswertung genutzt)&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Maximaler Bestand || Bis zu dieser Menge sollte das Lager aufgefüllt werden (wird für Hinweise u. Auswertung genutzt)&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Preisfokus ||&lt;br /&gt;
|-&lt;br /&gt;
| Automatik für Inaktiv || Wenn aktiviert setzt die Artikelpflege den Artikelzustand auf &#039;&#039;inaktiv&#039;&#039; wenn der Artikel bei keinem Lieferanten mehr lieferbar ist und keinen Lagerbestand hat. {{Hinweis|Hierzu muss der Programmparameter 0644 aktijviert sein.}}&lt;br /&gt;
|-&lt;br /&gt;
| Artikel ohne Bestandspflege || standardmäßig auf &#039;&#039;&#039; Nein&#039;&#039;&#039;, d.h. Artikel wird mit Bestandsdaten geführt&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Produktionsartikel || standardmäßig auf &#039;&#039;&#039;Nein&#039;&#039;&#039;, d.h. Artikel wird &#039;&#039;&#039;nicht&#039;&#039;&#039; innerhalb des Untenehmens hergestellt&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Stückliste = Optionsliste || standardmäßig auf &#039;&#039;&#039;Nein&#039;&#039;&#039;, d.h. der zusammengesetzte Artikel aus anderen Artikeln gilt &#039;&#039;&#039;nicht&#039;&#039;&#039; als Artikel in verschiedenen Ausführungen&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Kein Skonto || auf diesen Artikel wird kein Skonto gewährt&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Lagerartikel || dieser Artikel wird im Lager vorgehalten&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Inaktiv || dieser Artikel kann/soll nicht nehr verwendet werden, &#039;&#039;empfohlene Vorgehensweise, wenn Artikel aus dem Sortiment genommen werden soll, besser als den Artikel zu löschen, da ältere Daten noch auf diesen Artikel zurückgreifen&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==VK-Preise 1-9 Tabelle:==&lt;br /&gt;
Die &#039;&#039;&#039;linke untere Seite der Regsiterkarte: Allgemeine Artikelstammdaten&#039;&#039;&#039; sieht wie folgt aus:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:Artikel_Registerkarte_teil_3.PNG]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Bedeutung dieser Tabelle ist abhängig davon, ob mit Preissystem oder Rabattsystem  (PP 305 Rabattgruppe=Ja, Preisgruppe =Nein) gearbeitet wird. Ist das &#039;&#039;&#039;Preissystem&#039;&#039;&#039; aktiviert, so wird einem Kunden entsprechend seiner Preis-/Rabattgruppe, der zugehörige VK zugewiesen, z.B. steht der Kunde auf Gruppe 2 so wird der VK2 benutzt. Ist das &#039;&#039;&#039;Rabattsystem&#039;&#039;&#039; aktiviert, so wird aus dieser Tabelle nur der VK1 benutzt. Es wird entsprechend der Gruppe des Kunden der zugehörige Rabatt (siehe [[OBS/Stammdaten/Registerkarte: Umsatzstatistiken + Anderes|Registerkarte: Umsatzstatistik und Anderes]]) der zugehörige Rabatt auf den VK1 gewährt, z.B. bei Gruppe2 der Rabatt2.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Hinweis: In der Praxis bietet es sich an, nicht bei den einzelnen Artikeln verschiedene Rabatte zu definieren, sondern die Rabatte für die Warengruppen festzulegen.&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hier können Sie sehen, was die einzelnen Felder bedeuten: [[OBS/Weitere Stammdaten/F9 VK-Preise 1-9|Artikel VK-Preise 1-9]]&amp;lt;br/&amp;gt;&lt;br /&gt;
Mit {{Return}} oder {{F9}} können Sie die Tabelle bearbeiten.&lt;br /&gt;
&lt;br /&gt;
Es gibt auch die Möglichkeit die Preise mit {{F7}} zu kalkulieren. Näheres hierzu finden Sie unter [[OBS/Stammdaten/Artikel/Eingabemaske#F7_Kalk| F7 Kalkulation]].&lt;br /&gt;
&lt;br /&gt;
==Lieferanten Tabelle:==&lt;br /&gt;
In der Lieferantentabelle im unteren Bereich sehen Sie die Lieferanten des aktuellen Artikels mit den entsprechenden Preisen. &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:Artikel_LieferantenTabelle.PNG]]&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Durch einen Doppelklick oder {{Return}} auf die Tabelle oder {{Key|F10 EK}} lassen sich die [[OBS/Weitere Stammdaten/F10 EK Lieferanten für Artikel|Lieferanten für den Artikel]] bearbeiten, d.h. es können Lieferanten geändert, eingefügt oder gelöscht werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Registerkarte: 2 Umsatzstatistiken und Anderes=&lt;br /&gt;
&lt;br /&gt;
[[Image:Artikel Registerkarte 2.PNG]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Im oberen Teil der Eingabemaske werden Ihnen zur Information die &#039;&#039;&#039;Artikelnummer&#039;&#039;&#039;, der &#039;&#039;&#039;Suchbegriff &#039;&#039;&#039; und die &#039;&#039;&#039;Hersteller-Artikelnummer&#039;&#039;&#039; des Artikels angezeigt. Sie können diese Daten hier nicht verändern.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Felder der Artikelmaske Registerkarte: Umsatzstatistiken und Anderes&lt;br /&gt;
|-&lt;br /&gt;
! Feld !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| Artikelnr Folgeartikel || Ein weiterer Artikel, der normalerweise immer zusammen mit dem aktuellen Artikel ausgeliefert wird. Dieser Folgeartikel darf nicht identisch mit dem Artikel sein. &lt;br /&gt;
|-&lt;br /&gt;
| Aufgelaufener Umsatz || In diesem Block wird der Umsatz des laufenden Monats, Quartals, Jahres, des Vorjahres und der Einkauf im laufenden Jahr in Euro und in Stück angezeigt. Diese Werte werden automatisch von OBS beim Verbuchen gesetzt und können nicht verändert werden.  &lt;br /&gt;
|-&lt;br /&gt;
| Periodenumsätze || Öffnet [[OBS/Stammdaten/Periodenumsatz|Periodenumsätze]]&lt;br /&gt;
|-&lt;br /&gt;
| Einstellungen für Sprache 2 || Dieser Teil der Registerkarte ist für den Handel mit dem Ausland. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Einstellungen für Sprache 2&lt;br /&gt;
|-&lt;br /&gt;
| Bez. 1 und Bez. 2|| Hier können Sie die Bezeichnung des Artikels für die Fremdsprache einstellen. &lt;br /&gt;
|-&lt;br /&gt;
| Erlöskonto für Ausland und EU || Oft sollen die Erlöse, die durch Verkauf ins Ausland bzw. in die EU erwirtschaftet werden, auf ein separates Erlöskonto gebucht werden. Hier kann nun mit {{Raute}} die entsprechende Kontonummer eingetragen werden.&lt;br /&gt;
|-&lt;br /&gt;
| Mengeneinheit || Hier kann die gewünschte Mengeneinheit des Artikels für die Fremdsprache eingestellt werden. &lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
| Gerät || Handelt es sich bei dem Artikel um ein Gerät, das in der [[OBS/Weitere Stammdaten/Geräteverwaltung|Geräteverwaltung]] als solches geführt werden soll, damit ggf. Verträge und Reparaturaufträge zu diesem Gerät erfasst werden können, so muss der Schalter &#039;&#039;&#039;Gerät = JA&#039;&#039;&#039; gesetzt werden.&lt;br /&gt;
|-&lt;br /&gt;
| Art || Die Geräteart muss ausgewählt werden, wenn es sich bei dem Artikel um ein Gerät handelt. &lt;br /&gt;
|- &lt;br /&gt;
| Garantiezeit ||  Es kann die Garantiezeit in Anzahl Monate eingegeben werden.&lt;br /&gt;
|-&lt;br /&gt;
| Serien-Nr Verwaltung || Spätestens bei der Auftragsbearbeitung muss jedem Gerät eine Seriennummer zugewiesen werden (per Grundeinstellung änderbar)&lt;br /&gt;
|-&lt;br /&gt;
| Gutscheinartikel || Hierüber kann einstellt werden ob es sich bei dem Artikel um einen [[OBS/Häufig gestellte Fragen/Gutscheinverwaltung|Gutschein]] handelt. Hiebei kann unterschieden werden, ob die Gutscheinnummer beim Verkaufen eines Gutscheinartikels automatisch (Generierung) oder manuell (Vorgefertigt), durch Eingabe des Kassieres, erstellt werden soll.&lt;br /&gt;
|-&lt;br /&gt;
| Inventurgruppe || Um die Inventur ein wenig zu strukturieren, es ist ratsam, die Artikel in Inventurgruppenzu gliedern, um so entsprechend Inventurlisten für  Artikel zu erstellen, die zusammen gezählt werden sollen. &lt;br /&gt;
|-&lt;br /&gt;
| Lag.pos.nr || Zur schnelleren Auffindung des Artikels kann eine Lager Positionsnummer zusätzlich zum Lagerort von Registerblatt 1 angegeben werden.&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Mindest-VK-Menge || Gibt die mindestens zu verkaufende Menge an.&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Provisionssatz || Gibt die Provision an, die beim Verkauf dieses Artikels erzielt werden kann.&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Poskennz. || Sie können Ihrem Artikel ein Positionskennzeichen zuordnen, das automatisch in alle Aufträge, Rechnungen, etc. übernommen wird, wenn dieser Artikel eingefügt wird.&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Mindest-VK-Menge ||&lt;br /&gt;
|-&lt;br /&gt;
| WA || &lt;br /&gt;
|-&lt;br /&gt;
| G - Faktor ||  Geben Sie hier den Faktor zum Umrechnen von der Mengeneinheit auf die G-Mengeneinheit ein. &amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| G - Mengeneinheit || Wählen Sie hier eine Mengeneinheit wie z.B. &amp;quot;%&amp;quot;, &amp;quot;Stück&amp;quot; oder &amp;quot;Kg&amp;quot; für den Artikel aus. Die G-Menge dient dem Kunden zum Vergleichen verschiedener Artikel. Sie können so z.B. bei allen Artikeln den Preis für 1 Kg angeben.&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Hersteller Name || Gibt den Namen des Herstellers an.&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Umsatzmenge || &#039;&#039;gewünschter Sollwert&#039;&#039; für den Umsatz&lt;br /&gt;
|-&lt;br /&gt;
| Rabatt || &#039;Möchten Sie auf diesen Artikel generell keinen Rabatt gewähren (auch wenn auf die entsprechende Warengruppe ein Rabatt gewährt wird oder ein personenbezogener Rabatt exsitiert), dann tragen Sie ein &amp;quot;N&amp;quot; ein.&amp;lt;br/&amp;gt; Ist das Preissystem auf &amp;quot;Rabattsystem&amp;quot; gestellt (Programmparameter 0305 auf JA), erscheinen folgende Zusatzfelder:&amp;lt;br /&amp;gt;[[Image:Artikel_Registerkarte_Rabattsystem_ja.PNG]]&amp;lt;br /&amp;gt;Hier können Sie bei einem Artikel zusätzliche Informationen eingestellen:&amp;lt;br/&amp;gt;&#039;&#039;&#039;Rabatt: &#039;&#039;&#039;&#039; Ist hier ein &amp;quot;N&amp;quot; eingeragen, werden auch die Werte in den Feldern &amp;quot;Rabatt 1-5&amp;quot; ignoriert, gehen jedoch nicht verloren, um sie später gegebenenfalls wieder zu aktivieren.&amp;lt;br /&amp;gt;&#039;&#039;&#039;Rabatt 1,2,3,... (%): &#039;&#039;&#039;Sie können pro Artikel verschiedene Rabattgruppen definieren. Je nachdem, welcher Rabattkategorie ein Kunde angehört, wird ihm in der Auftragsabwicklung automatisch der entsprechende Rabatt in eine Position übernommen und kann dort individuell geändert werden. Die Grundlage zur Berechnung des Rabattes ist hierbei der &#039;&#039;&#039;erste VK-Netto&#039;&#039;&#039; Preis; die folgenden Preise werden ignoriert. Ein Rabatt, der der Warengruppe dieses Artikels zugewiesen wurde, wird durch diese Felder überschrieben.&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Lohnansatz || Hier können Lohnstunden hinterlegt werden. &lt;br /&gt;
|-&lt;br /&gt;
| Masch.-ansatz || Bei Maschinenansatz können die Maschinenstunden hinterlegt werden. &lt;br /&gt;
|-&lt;br /&gt;
| Hadelsgew. || Handelsgewicht des Artikels&lt;br /&gt;
|-&lt;br /&gt;
| Absatz - Menge || &amp;quot;tatsächlicher Istwert&amp;quot; für den Umsatz&lt;br /&gt;
|-&lt;br /&gt;
| Übernahme Bezeichnung und Langtext aus Pflege ||  Bei Aktivierung werden die Bezeichnungen der einzelnen Artikel aus der Artikelpflege übernommen. &lt;br /&gt;
|-&lt;br /&gt;
| Multi-Steuer || s. [[OBS/Stammdaten/Artikel/Weitere Funktionen/Multisteuer|Multisteuer]]&lt;br /&gt;
|-&lt;br /&gt;
| MwST-Schlüssel || Mehrwertsteuer-Schlüssel des Artikels&lt;br /&gt;
|-&lt;br /&gt;
| VSt-Schlüssel || Vorsteuer-Schlüssel des Artikels&lt;br /&gt;
|-&lt;br /&gt;
| TSE-Geschäftsfall &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Registerkarte: 3 Langtext=&lt;br /&gt;
&lt;br /&gt;
[[Image:Artikel_Registerkarte_Langtext.PNG]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Felder der Artikelmaske Registerkarte: Langtext&lt;br /&gt;
|-&lt;br /&gt;
! Feld !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| Langtext || Langtexte dienen zur genaueren Beschreibung eines Artikels und werden automatisch bei Angeboten, Aufträgen, etc. in die Positionserfassung übernommen. Dies kann jedoch deaktiviert werden (s. &#039;&#039;Keine Übernahme des Langtextes in Positionen&#039;&#039;).&lt;br /&gt;
|-&lt;br /&gt;
| Suchtexte || Sie können einem Artikel verschiedene Suchtexte hinzufügen, um Artikel über die OBS Suchfunktion leichter zu finden.&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Preislistenkalkulationsschalter 1-3 || &lt;br /&gt;
|-&lt;br /&gt;
| Erfasst von  || Hier wird der Sachbearbeiter angezeigt, der den Artikel angelegt hat. &lt;br /&gt;
|-&lt;br /&gt;
| Pos-art || Hiermit kann vorbelegt werden mit welcher Pos-Art ein Artikel in einem Vorgang angelegt wird. Dies kann z.B. hilfreich sein, wenn man einen Artikel standardmäßig auf &#039;&#039;ohne Berechnung&#039;&#039; in Aufträgen einfügen möchte. &lt;br /&gt;
|-&lt;br /&gt;
| Keine Übernahme des Langtextes in Positionen aus Artikel / Externe Texte || &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Artikel || Wenn aktiviert wird der Langtext nicht automatisch in die Positionen von Vorgängen (Angebote, Aufträge, etc.) übernommen. &lt;br /&gt;
|-&lt;br /&gt;
| Externe Texte || &lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
| Umrechnungsfaktor Material || &lt;br /&gt;
|-&lt;br /&gt;
| Kostenstellenfaktor || &lt;br /&gt;
|-&lt;br /&gt;
| Bruttogewicht || &lt;br /&gt;
|-&lt;br /&gt;
| Volumen || &lt;br /&gt;
|-&lt;br /&gt;
| Gefahrgutfaktor nach Beförder.-kat. || &lt;br /&gt;
|-&lt;br /&gt;
| KanBan || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Registerkarte: 4 Mengenberechnung=&lt;br /&gt;
&lt;br /&gt;
=Registerkarte: 5 Shop=&lt;br /&gt;
Der Reiter 5 ist visueller Natur und zeigt Ihnen die gepflegten Webshop-Einstellungen des Artikels an. Mit Doppelklick oder {{Return}} öffnet die Liste der Webshop-Einstellungen. Dort können Sie vorhandene Einstellungen bearbeiten oder neue hinzufügen.&amp;lt;br/&amp;gt;&lt;br /&gt;
[[Image:Ue_artikel_r5_shop.jpg]]&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Spalten der Tabelle Shopeinstellungen&lt;br /&gt;
|-&lt;br /&gt;
! Spalte !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| Nummer || Nummer der Shop-Schnittstelle &lt;br /&gt;
|-&lt;br /&gt;
| Bezeichnung || Vergebene Bezeichnung für die Schnittstelle&lt;br /&gt;
|-&lt;br /&gt;
| Typ || Typ/Art der Schnittstelle&lt;br /&gt;
|-&lt;br /&gt;
| Pflege  || aktuelle Pflege-Einstellung in den Webshop-Einstellungen&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Tasten und Schaltflächen=&lt;br /&gt;
&lt;br /&gt;
=={{F5}} EAN-Nr==&lt;br /&gt;
Mit dieser Funktion können Sie in der Eingabemaske zu dem jeweiligen Artikel eine EAN (European Article Number) generieren. &lt;br /&gt;
&lt;br /&gt;
=={{F6}} In PL==&lt;br /&gt;
Mit {{F6}} können Sie sich alle personenbezogenen Preise für diesen Artikel anzeigen lassen. Es öffnet sich das folgende Fenster:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:Personenbezogene_Preise.PNG]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit {{Einfg}} können Sie für weitere Personen Preise hinterlegen. Das sich öffnende Fenster sieht wie folgt aus:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:Personenbezogene_Preise_Eingabe.PNG]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wählen Sie hiermit der {{Raute}}-Taste im Feld &amp;quot;Personennummer&amp;quot; die gewünschte Person aus, tragen Sie den Preis ein und sichern Sie mit {{F2}} Ihre Eingabe. Wenn Sie diesen Artikel nun in einem Auftrag für eine dieser Personen einfügen, wird der hinterlegte Preis automatisch eingefügt. [[Category:html]]&lt;br /&gt;
=={{F7}} Kalk==&lt;br /&gt;
&lt;br /&gt;
Durch Klick auf {{F7}} in der Eingabemaske öffnet sich folgendes Fenster:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:Artikel_kalkulieren.PNG]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Im linken Feld wird ihnen der Einkaufspreis (EK1) angezeigt. Die drei Spalten rechts daneben Zeigen Ihnen den &#039;&#039;&#039;Netto-Verkaufspreis&#039;&#039;&#039;, den &#039;&#039;&#039;Brutto-Verkaufspreis&#039;&#039;&#039;, den &#039;&#039;&#039;Erlös in Prozent&#039;&#039;&#039; und den &#039;&#039;&#039;Soll Erlös in Prozent&#039;&#039;&#039;. Jede Zeile steht für einen Verkaufspreis (VK1 - VK9). Immer wenn sie in einem Feld eine Änderung vornehmen, wird für die anderen beiden Felder derselben Spalte der entsprechende Wert automatisch errechnet. &amp;lt;br /&amp;gt;&lt;br /&gt;
Wenn sie den Einkaufspreis ändern, wird in jeder Zeile, bei der sie in der entsprechenden Checkbox ein Häkchen gemacht haben, der &#039;&#039;&#039;Verkaufspreis&#039;&#039;&#039; neu errechnet. In allen Zeilen bei denen kein Häkchen gesetzt wurde, wird der &#039;&#039;&#039;Erlös&#039;&#039;&#039; neu errechnet.&lt;br /&gt;
Die Spalte Erlös Soll in Prozent dient der Funktion [[AusArtikelPreisanpassungSollanpassung|Preisanpassung über Sollanpassung]]. Hier können Sie den Soll-Erlös in Prozent eintragen.&amp;lt;br /&amp;gt;&lt;br /&gt;
Durch &#039;&#039;&#039;Brutto führend&#039;&#039;&#039; kann eingestellt werden, dass der Bruttopreis nicht vom Nettopreis aus errechnet wird. Dies ist notwendig, da es sonst durch Rundungen nicht möglich ist, bestimmte Bruttopreise einzugeben. Näheres hierzu finden Sie auch unter: [[OBS/Stammdaten/OBS/Stammdaten/Brutto und Netto|Brutto und Netto in OBS]].&lt;br /&gt;
Wenn Sie mit der {{F2}}-Taste Ihre Eingabe sichern, werden die kalkulierten Preise automatisch in die richtigen Felder eingetragen.[[Category:html]]&lt;br /&gt;
&lt;br /&gt;
=={{F8}} EAN==&lt;br /&gt;
Öffnet die [[OBS/Stammdaten/Artikel/F8 EAN-Verwaltung|EAN-Verwaltung]] gefiltert mit Einträgen nur für den aktuellen Artikel. &lt;br /&gt;
&lt;br /&gt;
=={{F9}} VK==&lt;br /&gt;
In dieser Übersicht werden die &#039;&#039;&#039;VK1-VK9 &#039;&#039;&#039; tabellarisch dargestellt. Wenn in dieser Spalte einen Brutto-Verkaufspreis angegeben wird, so wird der Netto - Verkaufspreis automatisch, entsprechend dem Mehrwertsteuersatz, angepaßt. &amp;lt;br /&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;VK-Netto &#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;VK-Brutto &#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Erlös in % &#039;&#039;&#039;- prozentualer Roherlös&lt;br /&gt;
*&#039;&#039;&#039;Erlös in  € &#039;&#039;&#039;- der Roherlös, der bleibt, wenn der Einkaufspreis vom Netto-Verkaufspreis abgezogen wird&lt;br /&gt;
*&#039;&#039;&#039; Bedingung &#039;&#039;&#039; - dient der reinen Information für den Anwender&lt;br /&gt;
&lt;br /&gt;
Diese Tabelle sieht wie folgt aus:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:F9_VK-Preise_1-9.PNG]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sichern Sie mit {{F2}} Ihre Angaben.[[Category:html]]&lt;br /&gt;
&lt;br /&gt;
=={{F10}} EK==&lt;br /&gt;
Öffnet die Liste der [[OBS/Stammdaten/Artikel/F10 EK Lieferanten für Artikel|Lieferanten für den aktuellen Artikel]]&lt;/div&gt;</summary>
		<author><name>Nimz</name></author>
	</entry>
	<entry>
		<id>https://wiki.bergau.de/index.php?title=Datei:Ue_artikel_r5_shop.jpg&amp;diff=64183</id>
		<title>Datei:Ue artikel r5 shop.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.bergau.de/index.php?title=Datei:Ue_artikel_r5_shop.jpg&amp;diff=64183"/>
		<updated>2025-11-25T10:36:23Z</updated>

		<summary type="html">&lt;p&gt;Nimz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Nimz</name></author>
	</entry>
	<entry>
		<id>https://wiki.bergau.de/index.php?title=Datei:U_webshopeinstellungen_artikel.jpg&amp;diff=64182</id>
		<title>Datei:U webshopeinstellungen artikel.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.bergau.de/index.php?title=Datei:U_webshopeinstellungen_artikel.jpg&amp;diff=64182"/>
		<updated>2025-11-25T10:36:08Z</updated>

		<summary type="html">&lt;p&gt;Nimz: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Nimz</name></author>
	</entry>
	<entry>
		<id>https://wiki.bergau.de/index.php?title=OBS/Stammdaten/Artikel/Eingabemaske&amp;diff=64181</id>
		<title>OBS/Stammdaten/Artikel/Eingabemaske</title>
		<link rel="alternate" type="text/html" href="https://wiki.bergau.de/index.php?title=OBS/Stammdaten/Artikel/Eingabemaske&amp;diff=64181"/>
		<updated>2025-11-25T10:06:16Z</updated>

		<summary type="html">&lt;p&gt;Nimz: /* Registerkarte: 5 Shopt Langtext */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Vorlage:Stammdaten}}&lt;br /&gt;
&lt;br /&gt;
=Registerkarte: 1 Allgemeine Artikelstammdaten=&lt;br /&gt;
[[Image:ArtikelRegisterkarte 1.PNG]]&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Felder der Artikelmaske Registerkarte: Allgemeine Artikelstammdaten&lt;br /&gt;
|-&lt;br /&gt;
! Feld !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| Art-Nr || Dies ist die eindeutige Identifikationsnummer des Artikel in Ihrem Artikelstamm. Bei der Anlage eines neuen Artikels müssen Sie die eingegeben Artikelnummer mit {{Return}} bestätigen, bevor Sie die anderen Felder verwenden können. Welche Zeichen für Artikelnummern verwendet werden können richtet sich nach der Einstellung des Programmparameters &#039;&#039;0293&#039;&#039;. Nachdem die Nummer eingegeben wurde kann diese über die Maske nicht mehr geändert werden. Dies ist nur in der Liste unter {{Key|F10 Weitere}} über die Funktion [[OBS/Artikel/F10_Weitere_Funktionen1#X1_-_Artikel_verschmelzen/Artikelnummer_%C3%A4ndern|Artikelnummer ändern]] möglich. &lt;br /&gt;
|-&lt;br /&gt;
| Suchbegriff || Der Suchbegriff wird automatisch aus Bezeichnung 1 generiert, kann aber auch eigenständig eingegeben werden.&lt;br /&gt;
|-&lt;br /&gt;
| Herst-Art-Nr || Die Herst-Art-Nr. unter der dieser Artikel beim Hersteller geführt wird&lt;br /&gt;
|-&lt;br /&gt;
| Bezeichnung 1 &amp;amp; 2  || geben Sie hier eine möglichst genaue Artikelbezeichnung ein.&lt;br /&gt;
|-&lt;br /&gt;
| Warengruppe || Wählen Sie hier die Warengruppe aus, in die der Artikel gehört.&lt;br /&gt;
|-&lt;br /&gt;
| U-Warengruppe || Wählen Sie hier die Unterwarengruppe, in die der Artikel gehört.&lt;br /&gt;
|-&lt;br /&gt;
| Erlöskonto || Wählen Sie hier das Konto aus, auf welchem die Erlöse dieses Artikels gutgeschrieben werden.&lt;br /&gt;
|-&lt;br /&gt;
| Einheit || Wählen Sie hier die Einheit aus, in der der Artikel gemessen wird.&lt;br /&gt;
|-&lt;br /&gt;
| EClass  ||&lt;br /&gt;
|-&lt;br /&gt;
| Bemerkung || Diese steht als freier Text zur Verfügung.&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Mengeneinheit || Hier wird die Definition des Artikels als solcher angeben, z.B. ,1 Stück&#039; oder ein Artikel entspricht einem 5er Pack also ,5 Stück&#039; oder 1 Kasten Selter mit ,12 Flaschen&#039;. Mit diesem Feld wird gerechnet! Die Staffelpreise müssen bzgl. der Mengeneinheit ausmultipliziert angegeben werden, z.B. bei einer Staffel 3 eines Artikels mit Mengeneinheit 100 ergibt das eine Staffel für Menge 300. Bei richtiger Einstellung in der Artikelpflege werden die Staffeln automatisch richtig übernommen.&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Mengenkennzeichen || ( Z Zehn / H Hundert /T Tausend) gibt an, wie viele Untereinheiten eine Mengeneinheit beinhaltet, z.B. 1 Packung Briefumschläge enthält 100 einzelne Briefumschläge. Es dient nur der besseren Verständnis und wird nicht zur Berechnung herangezogen.&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| EAN-Nummer || Tragen Sie hier die EAN-Nummer Ihres Artikels ein, Sie können den EAN-Code auch mit einem Hand-Scanner einlesen. Wenn Sie in der Kasse diesen EAN-Code wieder einlesen, wird der Artikel automatisch erkannt.&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Lagerort || dient zum Auffinden des Artikels, auf der &#039;&#039;Registerkarte: Umsatzstatistik und Anderes&#039;&#039; kann noch eine genauere &#039;&#039;&#039;&#039;&#039;Lagerpos.nr&#039;&#039;&#039;&#039;&#039; eingetragen werden.&lt;br /&gt;
|-&lt;br /&gt;
| Positionsvorb. || Gibt die vorbelegte Menge dieses Artikels in den Positionen an.&amp;lt;br/&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Anlagedatum || beinhaltet das Datum, an dem der Artikel in den Artikelstamm eingefügt wurde und wird automatisch gesetzt.&amp;lt;br/&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Durchschnittlicher EK-Preis || Dies ist eine berechnete Größe, die beim Verbuchen von Einkaufsrechnungen immer wieder neu gesetzt wird.&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Letzer Umsatz || Dies ist das Datum, an dem zuletzt eine Rechnung zu diesem Artikel erzeugt wurde.&amp;lt;br/&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Verpackung || Dieses Feld gibt an, wie viele Artikel zusammen geliefert werden, z.B. ein Karton Briefumschläge enthält 10 Packungen Briefumschläge. Diese Angabe dient nur zur reinen Information, d.h. hiermit werden keine Berechnungen durchgeführt.&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Alternative Artikelnummer || Dieses Feld ist ein Informationsfeld für eine andere Artikelnummer, die für diesen Artikel verwendet wird (z.B. eine interne Artikelnummer). Über Programmparameter ist einstellbar, ob der Artikel über die alternative Artikelnummer gesucht werden kann und ob die alternative Artikelnummer in der Positionserfassung benutzt werden kann.&amp;lt;br /&amp;gt;&lt;br /&gt;
Hier können sie folgende Angaben machen:&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Bestand || Hier wird der aktuelle Bestand angezeigt.&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Meldebestand || Lagerbestand sollte nicht unter diese Menge fallen  (wird für Hinweise u. Auswertung genutzt)&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Maximaler Bestand || Bis zu dieser Menge sollte das Lager aufgefüllt werden (wird für Hinweise u. Auswertung genutzt)&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Preisfokus ||&lt;br /&gt;
|-&lt;br /&gt;
| Automatik für Inaktiv || Wenn aktiviert setzt die Artikelpflege den Artikelzustand auf &#039;&#039;inaktiv&#039;&#039; wenn der Artikel bei keinem Lieferanten mehr lieferbar ist und keinen Lagerbestand hat. {{Hinweis|Hierzu muss der Programmparameter 0644 aktijviert sein.}}&lt;br /&gt;
|-&lt;br /&gt;
| Artikel ohne Bestandspflege || standardmäßig auf &#039;&#039;&#039; Nein&#039;&#039;&#039;, d.h. Artikel wird mit Bestandsdaten geführt&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Produktionsartikel || standardmäßig auf &#039;&#039;&#039;Nein&#039;&#039;&#039;, d.h. Artikel wird &#039;&#039;&#039;nicht&#039;&#039;&#039; innerhalb des Untenehmens hergestellt&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Stückliste = Optionsliste || standardmäßig auf &#039;&#039;&#039;Nein&#039;&#039;&#039;, d.h. der zusammengesetzte Artikel aus anderen Artikeln gilt &#039;&#039;&#039;nicht&#039;&#039;&#039; als Artikel in verschiedenen Ausführungen&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Kein Skonto || auf diesen Artikel wird kein Skonto gewährt&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Lagerartikel || dieser Artikel wird im Lager vorgehalten&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Inaktiv || dieser Artikel kann/soll nicht nehr verwendet werden, &#039;&#039;empfohlene Vorgehensweise, wenn Artikel aus dem Sortiment genommen werden soll, besser als den Artikel zu löschen, da ältere Daten noch auf diesen Artikel zurückgreifen&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==VK-Preise 1-9 Tabelle:==&lt;br /&gt;
Die &#039;&#039;&#039;linke untere Seite der Regsiterkarte: Allgemeine Artikelstammdaten&#039;&#039;&#039; sieht wie folgt aus:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:Artikel_Registerkarte_teil_3.PNG]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Bedeutung dieser Tabelle ist abhängig davon, ob mit Preissystem oder Rabattsystem  (PP 305 Rabattgruppe=Ja, Preisgruppe =Nein) gearbeitet wird. Ist das &#039;&#039;&#039;Preissystem&#039;&#039;&#039; aktiviert, so wird einem Kunden entsprechend seiner Preis-/Rabattgruppe, der zugehörige VK zugewiesen, z.B. steht der Kunde auf Gruppe 2 so wird der VK2 benutzt. Ist das &#039;&#039;&#039;Rabattsystem&#039;&#039;&#039; aktiviert, so wird aus dieser Tabelle nur der VK1 benutzt. Es wird entsprechend der Gruppe des Kunden der zugehörige Rabatt (siehe [[OBS/Stammdaten/Registerkarte: Umsatzstatistiken + Anderes|Registerkarte: Umsatzstatistik und Anderes]]) der zugehörige Rabatt auf den VK1 gewährt, z.B. bei Gruppe2 der Rabatt2.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;Hinweis: In der Praxis bietet es sich an, nicht bei den einzelnen Artikeln verschiedene Rabatte zu definieren, sondern die Rabatte für die Warengruppen festzulegen.&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hier können Sie sehen, was die einzelnen Felder bedeuten: [[OBS/Weitere Stammdaten/F9 VK-Preise 1-9|Artikel VK-Preise 1-9]]&amp;lt;br/&amp;gt;&lt;br /&gt;
Mit {{Return}} oder {{F9}} können Sie die Tabelle bearbeiten.&lt;br /&gt;
&lt;br /&gt;
Es gibt auch die Möglichkeit die Preise mit {{F7}} zu kalkulieren. Näheres hierzu finden Sie unter [[OBS/Stammdaten/Artikel/Eingabemaske#F7_Kalk| F7 Kalkulation]].&lt;br /&gt;
&lt;br /&gt;
==Lieferanten Tabelle:==&lt;br /&gt;
In der Lieferantentabelle im unteren Bereich sehen Sie die Lieferanten des aktuellen Artikels mit den entsprechenden Preisen. &amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:Artikel_LieferantenTabelle.PNG]]&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Durch einen Doppelklick oder {{Return}} auf die Tabelle oder {{Key|F10 EK}} lassen sich die [[OBS/Weitere Stammdaten/F10 EK Lieferanten für Artikel|Lieferanten für den Artikel]] bearbeiten, d.h. es können Lieferanten geändert, eingefügt oder gelöscht werden.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Registerkarte: 2 Umsatzstatistiken und Anderes=&lt;br /&gt;
&lt;br /&gt;
[[Image:Artikel Registerkarte 2.PNG]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Im oberen Teil der Eingabemaske werden Ihnen zur Information die &#039;&#039;&#039;Artikelnummer&#039;&#039;&#039;, der &#039;&#039;&#039;Suchbegriff &#039;&#039;&#039; und die &#039;&#039;&#039;Hersteller-Artikelnummer&#039;&#039;&#039; des Artikels angezeigt. Sie können diese Daten hier nicht verändern.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Felder der Artikelmaske Registerkarte: Umsatzstatistiken und Anderes&lt;br /&gt;
|-&lt;br /&gt;
! Feld !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| Artikelnr Folgeartikel || Ein weiterer Artikel, der normalerweise immer zusammen mit dem aktuellen Artikel ausgeliefert wird. Dieser Folgeartikel darf nicht identisch mit dem Artikel sein. &lt;br /&gt;
|-&lt;br /&gt;
| Aufgelaufener Umsatz || In diesem Block wird der Umsatz des laufenden Monats, Quartals, Jahres, des Vorjahres und der Einkauf im laufenden Jahr in Euro und in Stück angezeigt. Diese Werte werden automatisch von OBS beim Verbuchen gesetzt und können nicht verändert werden.  &lt;br /&gt;
|-&lt;br /&gt;
| Periodenumsätze || Öffnet [[OBS/Stammdaten/Periodenumsatz|Periodenumsätze]]&lt;br /&gt;
|-&lt;br /&gt;
| Einstellungen für Sprache 2 || Dieser Teil der Registerkarte ist für den Handel mit dem Ausland. &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Einstellungen für Sprache 2&lt;br /&gt;
|-&lt;br /&gt;
| Bez. 1 und Bez. 2|| Hier können Sie die Bezeichnung des Artikels für die Fremdsprache einstellen. &lt;br /&gt;
|-&lt;br /&gt;
| Erlöskonto für Ausland und EU || Oft sollen die Erlöse, die durch Verkauf ins Ausland bzw. in die EU erwirtschaftet werden, auf ein separates Erlöskonto gebucht werden. Hier kann nun mit {{Raute}} die entsprechende Kontonummer eingetragen werden.&lt;br /&gt;
|-&lt;br /&gt;
| Mengeneinheit || Hier kann die gewünschte Mengeneinheit des Artikels für die Fremdsprache eingestellt werden. &lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
| Gerät || Handelt es sich bei dem Artikel um ein Gerät, das in der [[OBS/Weitere Stammdaten/Geräteverwaltung|Geräteverwaltung]] als solches geführt werden soll, damit ggf. Verträge und Reparaturaufträge zu diesem Gerät erfasst werden können, so muss der Schalter &#039;&#039;&#039;Gerät = JA&#039;&#039;&#039; gesetzt werden.&lt;br /&gt;
|-&lt;br /&gt;
| Art || Die Geräteart muss ausgewählt werden, wenn es sich bei dem Artikel um ein Gerät handelt. &lt;br /&gt;
|- &lt;br /&gt;
| Garantiezeit ||  Es kann die Garantiezeit in Anzahl Monate eingegeben werden.&lt;br /&gt;
|-&lt;br /&gt;
| Serien-Nr Verwaltung || Spätestens bei der Auftragsbearbeitung muss jedem Gerät eine Seriennummer zugewiesen werden (per Grundeinstellung änderbar)&lt;br /&gt;
|-&lt;br /&gt;
| Gutscheinartikel || Hierüber kann einstellt werden ob es sich bei dem Artikel um einen [[OBS/Häufig gestellte Fragen/Gutscheinverwaltung|Gutschein]] handelt. Hiebei kann unterschieden werden, ob die Gutscheinnummer beim Verkaufen eines Gutscheinartikels automatisch (Generierung) oder manuell (Vorgefertigt), durch Eingabe des Kassieres, erstellt werden soll.&lt;br /&gt;
|-&lt;br /&gt;
| Inventurgruppe || Um die Inventur ein wenig zu strukturieren, es ist ratsam, die Artikel in Inventurgruppenzu gliedern, um so entsprechend Inventurlisten für  Artikel zu erstellen, die zusammen gezählt werden sollen. &lt;br /&gt;
|-&lt;br /&gt;
| Lag.pos.nr || Zur schnelleren Auffindung des Artikels kann eine Lager Positionsnummer zusätzlich zum Lagerort von Registerblatt 1 angegeben werden.&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Mindest-VK-Menge || Gibt die mindestens zu verkaufende Menge an.&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Provisionssatz || Gibt die Provision an, die beim Verkauf dieses Artikels erzielt werden kann.&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Poskennz. || Sie können Ihrem Artikel ein Positionskennzeichen zuordnen, das automatisch in alle Aufträge, Rechnungen, etc. übernommen wird, wenn dieser Artikel eingefügt wird.&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Mindest-VK-Menge ||&lt;br /&gt;
|-&lt;br /&gt;
| WA || &lt;br /&gt;
|-&lt;br /&gt;
| G - Faktor ||  Geben Sie hier den Faktor zum Umrechnen von der Mengeneinheit auf die G-Mengeneinheit ein. &amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| G - Mengeneinheit || Wählen Sie hier eine Mengeneinheit wie z.B. &amp;quot;%&amp;quot;, &amp;quot;Stück&amp;quot; oder &amp;quot;Kg&amp;quot; für den Artikel aus. Die G-Menge dient dem Kunden zum Vergleichen verschiedener Artikel. Sie können so z.B. bei allen Artikeln den Preis für 1 Kg angeben.&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Hersteller Name || Gibt den Namen des Herstellers an.&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Umsatzmenge || &#039;&#039;gewünschter Sollwert&#039;&#039; für den Umsatz&lt;br /&gt;
|-&lt;br /&gt;
| Rabatt || &#039;Möchten Sie auf diesen Artikel generell keinen Rabatt gewähren (auch wenn auf die entsprechende Warengruppe ein Rabatt gewährt wird oder ein personenbezogener Rabatt exsitiert), dann tragen Sie ein &amp;quot;N&amp;quot; ein.&amp;lt;br/&amp;gt; Ist das Preissystem auf &amp;quot;Rabattsystem&amp;quot; gestellt (Programmparameter 0305 auf JA), erscheinen folgende Zusatzfelder:&amp;lt;br /&amp;gt;[[Image:Artikel_Registerkarte_Rabattsystem_ja.PNG]]&amp;lt;br /&amp;gt;Hier können Sie bei einem Artikel zusätzliche Informationen eingestellen:&amp;lt;br/&amp;gt;&#039;&#039;&#039;Rabatt: &#039;&#039;&#039;&#039; Ist hier ein &amp;quot;N&amp;quot; eingeragen, werden auch die Werte in den Feldern &amp;quot;Rabatt 1-5&amp;quot; ignoriert, gehen jedoch nicht verloren, um sie später gegebenenfalls wieder zu aktivieren.&amp;lt;br /&amp;gt;&#039;&#039;&#039;Rabatt 1,2,3,... (%): &#039;&#039;&#039;Sie können pro Artikel verschiedene Rabattgruppen definieren. Je nachdem, welcher Rabattkategorie ein Kunde angehört, wird ihm in der Auftragsabwicklung automatisch der entsprechende Rabatt in eine Position übernommen und kann dort individuell geändert werden. Die Grundlage zur Berechnung des Rabattes ist hierbei der &#039;&#039;&#039;erste VK-Netto&#039;&#039;&#039; Preis; die folgenden Preise werden ignoriert. Ein Rabatt, der der Warengruppe dieses Artikels zugewiesen wurde, wird durch diese Felder überschrieben.&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Lohnansatz || Hier können Lohnstunden hinterlegt werden. &lt;br /&gt;
|-&lt;br /&gt;
| Masch.-ansatz || Bei Maschinenansatz können die Maschinenstunden hinterlegt werden. &lt;br /&gt;
|-&lt;br /&gt;
| Hadelsgew. || Handelsgewicht des Artikels&lt;br /&gt;
|-&lt;br /&gt;
| Absatz - Menge || &amp;quot;tatsächlicher Istwert&amp;quot; für den Umsatz&lt;br /&gt;
|-&lt;br /&gt;
| Übernahme Bezeichnung und Langtext aus Pflege ||  Bei Aktivierung werden die Bezeichnungen der einzelnen Artikel aus der Artikelpflege übernommen. &lt;br /&gt;
|-&lt;br /&gt;
| Multi-Steuer || s. [[OBS/Stammdaten/Artikel/Weitere Funktionen/Multisteuer|Multisteuer]]&lt;br /&gt;
|-&lt;br /&gt;
| MwST-Schlüssel || Mehrwertsteuer-Schlüssel des Artikels&lt;br /&gt;
|-&lt;br /&gt;
| VSt-Schlüssel || Vorsteuer-Schlüssel des Artikels&lt;br /&gt;
|-&lt;br /&gt;
| TSE-Geschäftsfall &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Registerkarte: 3 Langtext=&lt;br /&gt;
&lt;br /&gt;
[[Image:Artikel_Registerkarte_Langtext.PNG]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Felder der Artikelmaske Registerkarte: Langtext&lt;br /&gt;
|-&lt;br /&gt;
! Feld !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| Langtext || Langtexte dienen zur genaueren Beschreibung eines Artikels und werden automatisch bei Angeboten, Aufträgen, etc. in die Positionserfassung übernommen. Dies kann jedoch deaktiviert werden (s. &#039;&#039;Keine Übernahme des Langtextes in Positionen&#039;&#039;).&lt;br /&gt;
|-&lt;br /&gt;
| Suchtexte || Sie können einem Artikel verschiedene Suchtexte hinzufügen, um Artikel über die OBS Suchfunktion leichter zu finden.&amp;lt;br /&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Preislistenkalkulationsschalter 1-3 || &lt;br /&gt;
|-&lt;br /&gt;
| Erfasst von  || Hier wird der Sachbearbeiter angezeigt, der den Artikel angelegt hat. &lt;br /&gt;
|-&lt;br /&gt;
| Pos-art || Hiermit kann vorbelegt werden mit welcher Pos-Art ein Artikel in einem Vorgang angelegt wird. Dies kann z.B. hilfreich sein, wenn man einen Artikel standardmäßig auf &#039;&#039;ohne Berechnung&#039;&#039; in Aufträgen einfügen möchte. &lt;br /&gt;
|-&lt;br /&gt;
| Keine Übernahme des Langtextes in Positionen aus Artikel / Externe Texte || &lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Artikel || Wenn aktiviert wird der Langtext nicht automatisch in die Positionen von Vorgängen (Angebote, Aufträge, etc.) übernommen. &lt;br /&gt;
|-&lt;br /&gt;
| Externe Texte || &lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
| Umrechnungsfaktor Material || &lt;br /&gt;
|-&lt;br /&gt;
| Kostenstellenfaktor || &lt;br /&gt;
|-&lt;br /&gt;
| Bruttogewicht || &lt;br /&gt;
|-&lt;br /&gt;
| Volumen || &lt;br /&gt;
|-&lt;br /&gt;
| Gefahrgutfaktor nach Beförder.-kat. || &lt;br /&gt;
|-&lt;br /&gt;
| KanBan || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Registerkarte: 4 Mengenberechnung=&lt;br /&gt;
&lt;br /&gt;
=Registerkarte: 5 Shop=&lt;br /&gt;
&lt;br /&gt;
=Tasten und Schaltflächen=&lt;br /&gt;
&lt;br /&gt;
=={{F5}} EAN-Nr==&lt;br /&gt;
Mit dieser Funktion können Sie in der Eingabemaske zu dem jeweiligen Artikel eine EAN (European Article Number) generieren. &lt;br /&gt;
&lt;br /&gt;
=={{F6}} In PL==&lt;br /&gt;
Mit {{F6}} können Sie sich alle personenbezogenen Preise für diesen Artikel anzeigen lassen. Es öffnet sich das folgende Fenster:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:Personenbezogene_Preise.PNG]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Mit {{Einfg}} können Sie für weitere Personen Preise hinterlegen. Das sich öffnende Fenster sieht wie folgt aus:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:Personenbezogene_Preise_Eingabe.PNG]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wählen Sie hiermit der {{Raute}}-Taste im Feld &amp;quot;Personennummer&amp;quot; die gewünschte Person aus, tragen Sie den Preis ein und sichern Sie mit {{F2}} Ihre Eingabe. Wenn Sie diesen Artikel nun in einem Auftrag für eine dieser Personen einfügen, wird der hinterlegte Preis automatisch eingefügt. [[Category:html]]&lt;br /&gt;
=={{F7}} Kalk==&lt;br /&gt;
&lt;br /&gt;
Durch Klick auf {{F7}} in der Eingabemaske öffnet sich folgendes Fenster:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:Artikel_kalkulieren.PNG]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Im linken Feld wird ihnen der Einkaufspreis (EK1) angezeigt. Die drei Spalten rechts daneben Zeigen Ihnen den &#039;&#039;&#039;Netto-Verkaufspreis&#039;&#039;&#039;, den &#039;&#039;&#039;Brutto-Verkaufspreis&#039;&#039;&#039;, den &#039;&#039;&#039;Erlös in Prozent&#039;&#039;&#039; und den &#039;&#039;&#039;Soll Erlös in Prozent&#039;&#039;&#039;. Jede Zeile steht für einen Verkaufspreis (VK1 - VK9). Immer wenn sie in einem Feld eine Änderung vornehmen, wird für die anderen beiden Felder derselben Spalte der entsprechende Wert automatisch errechnet. &amp;lt;br /&amp;gt;&lt;br /&gt;
Wenn sie den Einkaufspreis ändern, wird in jeder Zeile, bei der sie in der entsprechenden Checkbox ein Häkchen gemacht haben, der &#039;&#039;&#039;Verkaufspreis&#039;&#039;&#039; neu errechnet. In allen Zeilen bei denen kein Häkchen gesetzt wurde, wird der &#039;&#039;&#039;Erlös&#039;&#039;&#039; neu errechnet.&lt;br /&gt;
Die Spalte Erlös Soll in Prozent dient der Funktion [[AusArtikelPreisanpassungSollanpassung|Preisanpassung über Sollanpassung]]. Hier können Sie den Soll-Erlös in Prozent eintragen.&amp;lt;br /&amp;gt;&lt;br /&gt;
Durch &#039;&#039;&#039;Brutto führend&#039;&#039;&#039; kann eingestellt werden, dass der Bruttopreis nicht vom Nettopreis aus errechnet wird. Dies ist notwendig, da es sonst durch Rundungen nicht möglich ist, bestimmte Bruttopreise einzugeben. Näheres hierzu finden Sie auch unter: [[OBS/Stammdaten/OBS/Stammdaten/Brutto und Netto|Brutto und Netto in OBS]].&lt;br /&gt;
Wenn Sie mit der {{F2}}-Taste Ihre Eingabe sichern, werden die kalkulierten Preise automatisch in die richtigen Felder eingetragen.[[Category:html]]&lt;br /&gt;
&lt;br /&gt;
=={{F8}} EAN==&lt;br /&gt;
Öffnet die [[OBS/Stammdaten/Artikel/F8 EAN-Verwaltung|EAN-Verwaltung]] gefiltert mit Einträgen nur für den aktuellen Artikel. &lt;br /&gt;
&lt;br /&gt;
=={{F9}} VK==&lt;br /&gt;
In dieser Übersicht werden die &#039;&#039;&#039;VK1-VK9 &#039;&#039;&#039; tabellarisch dargestellt. Wenn in dieser Spalte einen Brutto-Verkaufspreis angegeben wird, so wird der Netto - Verkaufspreis automatisch, entsprechend dem Mehrwertsteuersatz, angepaßt. &amp;lt;br /&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;VK-Netto &#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;VK-Brutto &#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Erlös in % &#039;&#039;&#039;- prozentualer Roherlös&lt;br /&gt;
*&#039;&#039;&#039;Erlös in  € &#039;&#039;&#039;- der Roherlös, der bleibt, wenn der Einkaufspreis vom Netto-Verkaufspreis abgezogen wird&lt;br /&gt;
*&#039;&#039;&#039; Bedingung &#039;&#039;&#039; - dient der reinen Information für den Anwender&lt;br /&gt;
&lt;br /&gt;
Diese Tabelle sieht wie folgt aus:&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:F9_VK-Preise_1-9.PNG]]&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sichern Sie mit {{F2}} Ihre Angaben.[[Category:html]]&lt;br /&gt;
&lt;br /&gt;
=={{F10}} EK==&lt;br /&gt;
Öffnet die Liste der [[OBS/Stammdaten/Artikel/F10 EK Lieferanten für Artikel|Lieferanten für den aktuellen Artikel]]&lt;/div&gt;</summary>
		<author><name>Nimz</name></author>
	</entry>
	<entry>
		<id>https://wiki.bergau.de/index.php?title=OBS/Widgets/Position-Infobaum&amp;diff=64180</id>
		<title>OBS/Widgets/Position-Infobaum</title>
		<link rel="alternate" type="text/html" href="https://wiki.bergau.de/index.php?title=OBS/Widgets/Position-Infobaum&amp;diff=64180"/>
		<updated>2025-11-18T10:55:14Z</updated>

		<summary type="html">&lt;p&gt;Nimz: /* Der Infobaum */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Widgets}}&lt;br /&gt;
Dieses Widget zeigt die direkten Vorgangsreferenzierungen einer Position an. Per Doppelklick können Sie den jeweiligen angezeigten Vorgang aufrufen.&lt;br /&gt;
=Der Infobaum=&lt;br /&gt;
Als Wurzel sehen Sie den aktuellen Vorgang zu dem die Positionserfassung geöffnet ist. Daunter sehen Sie dann die Vorgänge, welche über die Position, auf der Sie stehen, identifiert werden können.&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Beispiel&#039;&#039;&#039;:&amp;lt;br /&amp;gt;&lt;br /&gt;
Sie stehen in einem Auftrag auf einer Position, welche in drei Teilmengen geliefert und anhließen komplett berechnet wurde. Im Widget sehen Sie dann die drei Lieferscheine und die Rechnung.&amp;lt;br /&amp;gt;&lt;br /&gt;
[[Image:widposinfobaum_beispiel.jpg]]&lt;br /&gt;
&lt;br /&gt;
=Aktivierung und Einstellungen=&lt;br /&gt;
Auf die Pflege Ihrer Widgets greifen Sie über die Benutzerpflege zu. Diese finden Sie unter:&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;System&#039;&#039;&#039;→&#039;&#039;&#039;K Benutzerpflege&#039;&#039;&#039;→Benutzer auswählen→{{F10}}→&#039;&#039;&#039;C - Allgemeine Widgets&#039;&#039;&#039;&lt;br /&gt;
==Aktivieren==&lt;br /&gt;
In der Liste &#039;&#039;Widgets für Benutzer&#039;&#039; drücken Sie {{Key|Einfg Einf.}}. Anschließend suchen Sie das Widget 177 &#039;&#039;&#039;Position-Infobaum&#039;&#039;&#039; und markieren den Eintrag mit {{Key|F5 Mark}}. Übernehmen Sie das Widget mit {{Key|F2 Speich.}}.&amp;lt;br /&amp;gt;&lt;br /&gt;
Sie gelangen in die Liste &#039;&#039;Widgets für Benutzer&#039;&#039; zurück. Standardmäßig ist die Anzeige aktiviert und Docking rechtsseitig eingestellt. Dies können Sie in den Einstellungen ({{Return}}) ändern.&lt;br /&gt;
==Einstellungen/Parameter==&lt;br /&gt;
In der Liste &#039;&#039;Widgets für Benutzer&#039;&#039; drücken Sie {{Return}} um die Einstellungen zum Widget öffnen. Folgende Parameter können Sie hier konfigurieren:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!Pos!! Parameter!! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
| 02 || Anzeige aktiv || Anzeige aktivieren(J)/deaktivieren(N) per {{Return}}.&lt;br /&gt;
|-&lt;br /&gt;
| 03 || Docking Links=0/Rechts=1/Oben=2/Unten=3 || Einstellung für das Docking des Widgets an die Positionserfassung.&amp;lt;br /&amp;gt;Standard: 1&lt;br /&gt;
|}&lt;br /&gt;
[[Kategorie:OBS/Widgets]]&lt;/div&gt;</summary>
		<author><name>Nimz</name></author>
	</entry>
</feed>