Verkauf Angebot

Hallo Leute, im Standard gibt es die Form 45 Verkaufsangebot, diese hat eine Subform, die Verkaufszeilen. In den Verkaufszeilen möchte ich als erstes einen “Kopftext” und zum Schluss einen “Fusstext” einfügen. Zwischen Kopf und Fußtext werden die Verkaufszeilen erfasst. Im report sollten der Kopftext vor der Überschrift der Verkaufszeilen stehen. Der Fußtext sollte ganz am Schluss hinter der gesamtsumme stehen. Hat jemand dieses realisiert, oder kann mir jemand einen Tip geben wie das funktioniert. Vielen Dank schon mal. Lothar Knichel

Hallo Lothar, im Mahnwesen kannst Du dir ein Beispiel anschauen wie dies gelöst werden kann - bei Mahnungen werden sogenannte Vor- und Nachtexte erfasst, die automatisch in die Mahnungszeilen (in deinem Beispiel Verkaufszeilen) kopiert werden. Der Vortext wird nach der Titelzeile eingefügt, der Nachtext nach der Gesamtsumme wie von dir angegeben. In jedem Fall musst Du eine neue Tabelle mit diesen Texten anlegen, wenn diese Texte pro Angebotsgruppe variieren und die jeweils nötigen Verkaufszeilen erstellen, und natürlich den Report Verkaufsangebot erweitern, dass diese Zeilen an der richtigen Stelle eingefügt werden. Hoffe, das Beispiel hilft dir weiter. Saludos Nils

Hallo Lothar, ich poste die Antwort hier, damit alle nachvollziehen können, wie dies gelöst werden kann… Aktuelle Situation: Vortext funktioniert, Nachtext (in den Verkaufszeilen) wird nicht nach der Gesamtsumme ausgegeben, weil die entsprechenden Zeilen nicht identifiziert werden… der Report muss folgendermassen angepasst werden… 1) hinter dem TotalElement ein weiteres DataItem Verkaufszeilen anlegen (Verkaufszeile; Zeile2) 2) neue Variablen: VerkZeile, Verkaufszeile LetzteVerkZeile, Integer 3) im Verkaufskopf-OnAfterGetRecord feststellen, wo Nachtext anfängt. //*** Vor- und Nachtext bestimmten VerkZeile.RESET; VerkZeile.SETRANGE("Belegart,Kopf.Belegart); VerkZeile.SETRANGE(“Belegnr.”,Kopf.Nummer); VerkZeile.SETRANGE(Art,VerkZeile.Art::Fibukonto,VerkZeile.Art::Ressource); IF VerkZeile.FIND(’+’) THEN LetzteVerkZeile := VerkZeile.“Zeilennr.”; 4) erstes Verkaufszeilen Dataitem anpassen, damit Nachtext nicht ausgegeben wird: SETRANGE(“Zeilennr.”,0,LetzteVerkZeile); 5) zweites Verkaufszeilen Dataitem anpassen, damit nur Nachtextzeilen ausgegeben werden: SETFILTER(“Zeilennr.”,’>%1’,LetzteVerkZeile); Hoffe, es klappt. Saludos Nils

Hallo Nils, danke für Deine Antwort. Leider hat es noch nicht geklappt mit dem Nachtext. Den Punkt 3) verstehe ich nicht ganz. Warum muss im Verkaufkopf festgestellt werden, wo der Nachtext anfängt. Der Code müsste den letzten Datensatz finden der im Feld Art:=leer und in Feld Nr.<> leer ist. Wobei Feld Art ein Optionsfeld ist, und Feld Nr. ein Codefeld ist Dieser Datensatz wäre die erste Zeile die als Nachtext gedruckt würde. Vielleicht kannst Du mir noch einen Tip geben. Danke im voraus. Lothar Knichel

Hallo Lothar, hoffe, diese Infos helfen dir weiter…

quote:


Warum muss im Verkaufkopf festgestellt werden, wo der Nachtext anfängt. Der Code müsste den letzten Datensatz finden der im Feld Art:=leer und in Feld Nr.<> leer ist.


Das ist genau das Ergebnis dieses Codes, wobei die letzte Zeile gesucht wird, die diese Eigenschaften nicht aufweisen. Das bedeutet, dass die nächste Zeile der Anfang des Nachtextes ist, wobei mehrer Nachtextzeilen möglich sind. Bei deinem Filter ist das Problem, dass bei einem Filter Art:=leer und Feld Nr.<> leer und FIND(’+’), immer nur die letzte Nachtextzeile gefunden wird, und nicht die erste Nachtextzeile. Die Suche nach dem ersten Datensatz (FIND’-’) in diesem Filter liefert logischerweise die erste Vortextzeile. Saludos Nils

Hallo Nils, mit ein paar kleinen Änderungen, habe ich die Sache jetzt hingekriegt. Danke nochmals. Lothar