Support

Forum

Forum

Suche

Anmeldung

Geben Sie Ihren Benutzernamen und Ihr Passwort ein, um sich anzumelden.

Workaround: Angebotsrevisionen

chevi111
Amateur
Themenersteller
Verfasst am: 29.12.2020 [17:01]
Hallo Forumskollegen,

nachdem es Deltra ja irgendwie nicht schafft eine Lösung für Angebotsrevisionen zu etablieren, das aber für uns extrem erleichternd wäre, habe ich mich mal über die Feiertage drangemacht einen Workaround zu erstellen mit dem bis zu 9 Revisionen machbar sind.
Vielleicht hat irgendwer ähnlichen Bedarf, deshalb möchte ich meinen Code hier gerne teilen!
Ich übernehme hier selbstverständlich keine Garantie für Funktion und Vollständigkeit, bei mir läuft es aber prima:

Bedarf:
Angebote mit Revisionsnummern:
z.B. Angebot 12345 >> Angebotrevision 12345-1 12345-2 usw.

Vorbereitung:
Nummernkreis der Angebote eine "0" anhängen: aus 12345 wird 123450

VL - Entwurf:
3 unsichtbare Variablen (dtInteger) anlegen: Var1 Var2 Var3
1 unsichtbares Label anlegen: Lab1

VL - Berechnung:
Neue Prozedur anlegen.
Hier wird ein Hinweisfenster beim Start der Druckvorlage generiert, mit dem Hinweis die AngebotsNr bei Bedarf anzupassen. Neue Angebote sind nun immer in 10-Schritten anzulegen, Die nächste freie Nummer wird empfohlen.


procedure ReportOnStartFirstPass;
begin
{Hinweis auf neue AG Nummer}
var1.value := ceil((AVX['M_ID'])/10)*10;
ShowMessage('Nächste freie Nummer für Angebot: '+ var1.value);
end;
end;


Prozedur "DetailBeforeGenerate" anpassen.
Hier wird nun die Ausgabe der Nummern und Texte angepasst.
Achtung! Hier das "DBText32." ggf. an eure Vorlage anpassen!!


DBText32.displayformat:= '#-0'; {<--- "DBText" anpassen auf Feld mit Angebotsnummer!!}
{Zusatztext bei Revision}
var2.value := AVX['M_ID']-((ceil((AVX['M_ID'])/10)*10)-10);
var3.value := (AVX['M_ID']- var2.value)/10;
if var2.value < 10 then begin
Lab1.visible := true;
Lab1.caption := 'Revision ' + var2.value + ' zu Angebot ' + var3.value +' - 0' ;
end else begin
Lab1.visible := false;
end;


Ergebnis:
Angebotsnumer 123453 wird nun wie folgt ausgegeben:
Angebotsnummer: "12345-3"
Lab1.caption enthält jetzt einen Text: "Revision 3 zu Angebot 12345-0"

Sonstiges:
Die Alte Vorlage sollte beibehalten werden, da Angebote VOR der Anderung mit der neuen Vorlage falsch angezeit werden!
Ich habe bei der alten Vorlage noch ein Hinweisfenster eingebaut, damit - zum Beispiel beim "kopieren&bearbeiten"nicht vergessen wird die Vorlage zu wechseln:

Ebenfalls neue Prozedur anlegen

procedure ReportOnStartFirstPass;
begin
{Hinweis auf neues Formular}
ShowMessage('ACHTUNG! Alte Vorlage!);
end;
end;


Ich hoffe dass evtl. der Eine oder Andere damit was anfangen kann. Kleiner Wermutstropfen: Das Hinweisfester poppt bei jedem Start der Vorlage auf, sollte hier wer eine Lösung finden: Gerne her damit!. Aber ich denke das ist verkraftbar, dafür sind jetzt Revisionen immer immer fortlaufend zu finden.
Wenn wer Fragen hat kann er mich gerne Anschreiben, wenn ich Zeit finde und helfen kann: gerne!

Guten Rutsch!
Steffen
[Dieser Beitrag wurde 4mal bearbeitet, zuletzt am 29.12.2020 um 17:28.]
MarcelBe
Neuling
Verfasst am: 28.01.2021 [09:16]
Vielen dank für den Vorschlag zum workaround. Schade nur, dass hier deltra nicht selbst aktiv wird. Auch wir benötigen immer wieder mal Angebots-Revisionen für Kundenanfragen. Unser Workaround ist etwas einfacher gestrickt. Wir verwenden ein individuelles Feld im Angebot für eine fortlaufende Nummerrierung, sollte die Version des Angebots sich ändern.
Das klappt zwar im Ausdruck sehr gut, jedoch verliert man die überschriebenen / geänderten Positionsdaten aus dem Angebot. Das ist das eigentlich schlimme an dieser Situation. [Dieser Beitrag wurde 1mal bearbeitet, zuletzt am 28.01.2021 um 09:18.]
Samm
orgaMAX-Profi
Verfasst am: 29.01.2021 [19:57]
Hallo Freunde,
Danke für Eure aufgedeckten Möglichkeiten.
Chevi's Alternative gelang mir nicht nachzustellen.

Es gibt eine wunderbare Möglichkeit überarbeitete Positionen in Angebotsrevisionen zu erhalten und lediglich auszublenden, aber weiterhin sichtbar in der Eingabemaske zu sehen.
1. Man verändert die Positionsart des Artikels in Alternative.

2. In der Angebotsvorlage im Vorlagen Designer
wird unter procedure DetailBeforeGenerate; in Zeile 45 Folgendes in geschweifte Klammern gesetzt:
{RegionAlternative.Visible := Anzeige_Alternative;}
Fertig. [Dieser Beitrag wurde 2mal bearbeitet, zuletzt am 29.01.2021 um 23:11.]۝ ➽► Anpassung von Vorlagen & Beratung per PN über Deine Geschäftsadresse ◄ ۝
chevi111
Amateur
Themenersteller
Verfasst am: 30.01.2021 [09:08]
Hallo Samm,

Schade, dass es nicht klappt!? Wo klemmts!?
Deine Version nimmt aber die Möglichkeit der Alternativpositionen, wenn ich das richtig verstehe?
Dann würde ich das eher so lösen (so machte ich das bisher):
Ohne Deine Änderung, und die geänderte POS einfach auf Alternativ verschieben, und die neue pos darüber.
Ich hatte zusätzlich noch ein individualfeld mit in der Maske hinter der PosArt eingeblendet, Die den Text über der Position („optional“ bzw. „Alternativ“) ändert:

Dieses dann in der Berechnung abgefragt:
Wenn Individualfeld := „x“ dann Labelfeld = „diese POS. Wurde ersetzt“
Ansonsten Wenn Individualfeld <> „“ dann Labelfeld = individualfeld Text

Damit ist es dann so:
I-Feld = leer: Standardtext
I-Feld = „x“: Revisionstext
I-Feld = „irgendwas außer x“: „irgendwas außer x“

Das hat dann gleich den Vorteil ggf. Auch mal den Text zu ändern. ( ich dann hier z.b. als mal „Empfehlung“ oder Ähnliches drin.)

Trotzdem ist dann aber alles in einem Angebot, ich wollte aber für jede REV ein eigenständiges Angebot die auch von der AGnr. Her nachvollziehbar sind.

Lg Steffen

orgaMAX Forum hat 4938 registrierte Benutzer, 5672 Themen und 18262 Antworten.
Es werden durchschnittlich 4.97 Beiträge pro Tag erstellt.

Zur Zeit sind 0 Benutzer online, davon 0 registrierte Benutzer.
Heute waren bereits 0 registrierte Benutzer online.

SUPPORT HOTLINE

Wir sind für Sie da!

+49 (0) 5231 7090-0

Montag - Freitag
8:00 - 12:00 und 13:00 - 17:00 Uhr

Erweiterte Supportzeiten von 7:00 - 20:00 Uhr sind in unseren Premium-Supportpaketen verfügbar.
Jetzt anfragen