Kunden Bestell Datum

Alles über Formulare, deren Erstellung und deren eventueller Austausch

Moderator: SYNERPY

Antworten
tan09
Beiträge: 47
Registriert: Mi Mär 18, 2009 11:12 am

Kunden Bestell Datum

Beitrag von tan09 »

Hallo,

auf meiner Rechung erscheint, das von mir eingegebene Kunden.Bestell.Datum nicht. Es ist das Feld direkt über "Kundenkomission".
Im Designer hab ich für das Feld "meAuftragsnummer" folgenden Code gefunden:

Code: Alles auswählen

  begin
// Lieferschein-Nr und Ihre Bestellnummer
   memo.clear;
   anr  := [trim([LB_Auftragsnummer.memo])];
   lnr  := [trim([LB_Lieferscheinnummer.memo])];
   ibn  := [trim([LB_IhreBestellNr.memo])];
   lsNr := [trim([q_Rep4."BRLS_MASKENKEY"])];
   kuNr := [trim([q_Rep13."KUAUFNR"])];

  if ([q_rep4."LLTERMIN"] > 0) then
  begin
    lsDt := [trim([FORMATDATETIME('dd.mm.yyyy', [q_rep4."LLTERMIN"])])];
    if (Trim([q_Rep4."BAUF_MASKENKEY"]) <> '') then
       memo.add(anr+ ': ' +[q_Rep4."BAUF_MASKENKEY"]);
    if ([lsNr] <> '') then
       memo.add([lnr]+' '+[lsNr]+' - '+lsDt);
    if ([kuNr] > '') or (trim([q_Rep13."KUAUFTEXT"]) <> '') then
    begin
      memo.add([ibn]+' '+[kuNr]);
      if (trim([q_Rep13."KUAUFTEXT"]) <> '') then
        memo.add([q_rep13."KUAUFTEXT"]);
    end;
  end
  else
  begin
    if (Trim([q_Rep4."BAUF_MASKENKEY"]) <> '') then
       memo.add(anr+ ': ' +[q_Rep4."BAUF_MASKENKEY"]);
    if ([lsNr] <> '') then
        memo.add([lnr]+' '+[lsNr]);
    if ([kuNr] > '') or (trim([q_Rep13."KUAUFTEXT"]) <> '') then
    begin
      memo.add([ibn]+' '+[kuNr]);
      if (trim([q_Rep13."KUAUFTEXT"]) <> '') then
        memo.add([q_rep13."KUAUFTEXT"]);
    end;
  end;

 if (([q_rep32."ID"] <> 0 ) and (trim([q_rep32."MASKENKEY"]) <> ResAlt) and (([q_rep1."RECHNUNGSART"] <> 'S') or 
      (([q_rep1."RECHNUNGSART"] = 'S') and ([SchlussRech] = 'J')))) then
   memo.add(trim(meRechnungNr.memo) + ' ' + trim([q_rep32."MASKENKEY"]) + ' - ' + Str([q_rep32."RECHDATUM"]))
end

 
Hier finde ich auch keinen Hinweis auf die "Kunden Bestell Datum".
Kann ich einfach eine neue Variable definieren und diese einbinden? Ich müsste nur noch wissen wie das Band und Feld heißt wo mein Bestelldatum eingetragen...

Vielleicht so:
kdBstdat := [trim([LB_Bestelldatum.memo])];

[...]
memo.add([ibn]+' '+[kuNr] + ' ' + [kdBstdat ]);
[...]
MfG
tan09


Software-Version: 3.6.0.15
GDB-Version: AVERP2009-A.02
NPLADMIN
Beiträge: 163
Registriert: Di Okt 07, 2008 7:54 am
Wohnort: Oxbüll / Wees

Beitrag von NPLADMIN »

Code: Alles auswählen

begin
// Lieferschein-Nr und Ihre Bestellnummer
   memo.clear();
   anr  := [trim([LB_Auftragsnummer.memo])];
   lnr  := [trim([LB_Lieferscheinnummer.memo])];
   ibn  := [trim([LB_IhreBestellNr.memo])];
   lsNr := [trim([q_Rep4."BRLS_MASKENKEY"])];
   kdBstdat := [trim([LB_Bestelldatum.memo]) + ' '];

    if ([q_rep13."KUAUFDATUM"] > 0) then
     begin
      kuNr := [trim([q_rep13."KUAUFNR"]) + '       ' + kdBstdat + trim([FORMATDATETIME('dd.mm.yyyy', [q_rep13."KUAUFDATUM"])])];      
     end
    else
      kuNr := [trim([q_rep13."KUAUFNR"])]; 


  if ([q_rep4."LLTERMIN"] > 0) then
  begin
    lsDt := [trim([FORMATDATETIME('dd.mm.yyyy', [q_rep4."LLTERMIN"])])];
    if (Trim([q_Rep4."BAUF_MASKENKEY"]) <> '') then
       memo.add(anr+ ': ' +[q_Rep4."BAUF_MASKENKEY"]);
    if ([lsNr] <> '') then
       memo.add([lnr]+' '+[lsNr]+' - '+lsDt);
    if ([kuNr] > '') or (trim([q_Rep13."KUAUFTEXT"]) <> '') then
    begin
      if (trim([q_Rep13."KUAUFNR"]) > '') then
      memo.add([ibn]+' '+[kuNr]);
      if (trim([q_Rep13."KUAUFTEXT"]) <> '') then
        memo.add([q_rep13."KUAUFTEXT"]);
    end;
  end
  else
  begin
    if (Trim([q_Rep4."BAUF_MASKENKEY"]) <> '') then
       memo.add(anr+ ': ' +[q_Rep4."BAUF_MASKENKEY"]);
    if ([lsNr] <> '') then
        memo.add([lnr]+' '+[lsNr]);
    if ([kuNr] > '') or (trim([q_Rep13."KUAUFTEXT"]) <> '') then
    begin
      if (trim([q_Rep13."KUAUFNR"]) > '') then
      memo.add([ibn]+' '+[kuNr]);
      if (trim([q_Rep13."KUAUFTEXT"]) <> '') then
        memo.add([q_rep13."KUAUFTEXT"]);
    end;
  end;

 if (([q_rep32."ID"] <> 0 ) and (trim([q_rep32."MASKENKEY"]) <> ResAlt) and (([q_rep1."RECHNUNGSART"] <> 'S') or 
      (([q_rep1."RECHNUNGSART"] = 'S') and ([SchlussRech] = 'J')))) then
   memo.add(trim(meRechnungNr.memo) + ' ' + trim([q_rep32."MASKENKEY"]) + ' - ' + Str([q_rep32."RECHDATUM"]))
end
und im Hauptband bdMD:

Code: Alles auswählen

  LB_Bestelldatum.memo      := TR(sp,'LB_Bestelldatum','Bestelldatum: ');
einfügen.

Das Label LB_Bestelldatum.memo nochmals in AvERP-Admin in Sprachübersetzung anpassen und fertig.

So habe ich es bei uns gelöst.
Gruß
KTS

AvERP-Exe: 4.2.1.6
Datenbank: AvERP2009-A.01
_________________________
Suchen heißt finden und je mehr man sucht um so mehr findet man. ;-)
Syn19
Beiträge: 92
Registriert: Mo Sep 17, 2007 8:19 am

Beitrag von Syn19 »

Die von NPLADMIN vorgeschlagene Lösung sollte zum gewünschten Ergebnis führen.
Es wäre vielleicht noch sinnvoll, ein abschließendes Leerzeichen einzufügen, damit der Kunden.Bestell.Text nicht direkt nach dem Datum gedruckt wird:

Code: Alles auswählen

begin 
// Lieferschein-Nr und Ihre Bestellnummer 
   memo.clear(); 
   anr  := [trim([LB_Auftragsnummer.memo])]; 
   lnr  := [trim([LB_Lieferscheinnummer.memo])]; 
   ibn  := [trim([LB_IhreBestellNr.memo])]; 
   lsNr := [trim([q_Rep4."BRLS_MASKENKEY"])]; 
   kdBstdat := [trim([LB_Bestelldatum.memo]) + ' ']; 

    if ([q_rep13."KUAUFDATUM"] > 0) then 
     begin 
      kuNr := [trim([q_rep13."KUAUFNR"]) + '       ' + kdBstdat + trim([FORMATDATETIME('dd.mm.yyyy', [q_rep13."KUAUFDATUM"])])] + ' ';      
     end 
    else 
      kuNr := [trim([q_rep13."KUAUFNR"])]; 


  if ([q_rep4."LLTERMIN"] > 0) then 
  begin 
    lsDt := [trim([FORMATDATETIME('dd.mm.yyyy', [q_rep4."LLTERMIN"])])]; 
    if (Trim([q_Rep4."BAUF_MASKENKEY"]) <> '') then 
       memo.add(anr+ ': ' +[q_Rep4."BAUF_MASKENKEY"]); 
    if ([lsNr] <> '') then 
       memo.add([lnr]+' '+[lsNr]+' - '+lsDt); 
    if ([kuNr] > '') or (trim([q_Rep13."KUAUFTEXT"]) <> '') then 
    begin 
      if (trim([q_Rep13."KUAUFNR"]) > '') then 
      memo.add([ibn]+' '+[kuNr]); 
      if (trim([q_Rep13."KUAUFTEXT"]) <> '') then 
        memo.add([q_rep13."KUAUFTEXT"]); 
    end; 
  end 
  else 
  begin 
    if (Trim([q_Rep4."BAUF_MASKENKEY"]) <> '') then 
       memo.add(anr+ ': ' +[q_Rep4."BAUF_MASKENKEY"]); 
    if ([lsNr] <> '') then 
        memo.add([lnr]+' '+[lsNr]); 
    if ([kuNr] > '') or (trim([q_Rep13."KUAUFTEXT"]) <> '') then 
    begin 
      if (trim([q_Rep13."KUAUFNR"]) > '') then 
      memo.add([ibn]+' '+[kuNr]); 
      if (trim([q_Rep13."KUAUFTEXT"]) <> '') then 
        memo.add([q_rep13."KUAUFTEXT"]); 
    end; 
  end; 

 if (([q_rep32."ID"] <> 0 ) and (trim([q_rep32."MASKENKEY"]) <> ResAlt) and (([q_rep1."RECHNUNGSART"] <> 'S') or 
      (([q_rep1."RECHNUNGSART"] = 'S') and ([SchlussRech] = 'J')))) then 
   memo.add(trim(meRechnungNr.memo) + ' ' + trim([q_rep32."MASKENKEY"]) + ' - ' + Str([q_rep32."RECHDATUM"])) 
end
NPLADMIN
Beiträge: 163
Registriert: Di Okt 07, 2008 7:54 am
Wohnort: Oxbüll / Wees

Beitrag von NPLADMIN »

Also wenn ich den FastReport richtig verstanden habe, dann wird jedes memo.add() in eine neue Zeile geschrieben.

1.Zeile: memo.add();
2.Zeile: memo.add();
-
-
-
n.Zeile: memo.add();

Unterliege ich da einem Irrtum?
Gruß
KTS

AvERP-Exe: 4.2.1.6
Datenbank: AvERP2009-A.01
_________________________
Suchen heißt finden und je mehr man sucht um so mehr findet man. ;-)
Syn19
Beiträge: 92
Registriert: Mo Sep 17, 2007 8:19 am

Beitrag von Syn19 »

Da haben Sie natürlich recht.
Bei memo.add() wird eine neue Zeile erzeugt und das zusätzliche Leerzeichen ist daher nicht notwendig.
tan09
Beiträge: 47
Registriert: Mi Mär 18, 2009 11:12 am

Beitrag von tan09 »

Vielen Dank. Es funktioniert (für Rechnung) so wie wir es haben wollen! Kann ich diesen Code auch für Auftrag und andere Formulare verwenden? Vermutlich muss man dazu noch die Bändernamen wissen...

Bei der Ausgabe der Bankverbindung fehlt BIC und IBAN. Kann man das auch irgendwie steuern wann man diese Info ausgedruckt haben will und wann nicht? Oder muss es im Quellcode fest codiert werden?
Im Feld "meLast" finde ich folgenden Code

Code: Alles auswählen

 begin
  memo.clear;
  sWirBeliefern := LB_WirBeliefern.memo;
  memo.add(sWirBeliefern);

  if ([q_rep1."BFIRMAKTO_KTONR"] <> '') then
  begin
    sKontonummer := trim(LB_Kontonummer.memo) + ' ' + trim([q_rep1."BFIRMAKTO_KTONR"]);
    memo.add(''); // Leerzeile
    memo.add(sKontonummer);
  end;

  if ([q_rep1."BFIRMAKTO_BSBANK_MASKENKEY"] <> '') then
  begin
    sBLZ := trim(LB_BLZ.memo) + ' ' + trim([q_rep1."BFIRMAKTO_BSBANK_MASKENKEY"]);
    memo.add(sBLZ);
  end;

  if ([q_rep1."BFIRMAKTO_BSBANK_BANKNAME"] <> '') then
  begin
    sBank := trim(LB_Bank.memo) + ' ' + trim([q_rep1."BFIRMAKTO_BSBANK_BANKNAME"]);
    memo.add(sBank);
  end;
 
//MEIN CODE HIER
end

In der vorletzten Zeile habe ich mein Code wie folgt eingefügt:
if ([q_rep1."BFIRMAKTO_BSBANK_SWIFT"] <> '') then
begin
sSwift := trim(LB_Swift.memo) + ' ' + trim([q_rep1."BFIRMAKTO_BSBANK_SWIFT"]);
memo.add(sSwift);
end;

Leider hat das nicht funktioniert, weil rep1 diese Variablen nicht kennt. Wie kann ich das umgehen?

Vielen Dank schon mal!
MfG
tan09


Software-Version: 3.6.0.15
GDB-Version: AVERP2009-A.02
NPLADMIN
Beiträge: 163
Registriert: Di Okt 07, 2008 7:54 am
Wohnort: Oxbüll / Wees

Beitrag von NPLADMIN »

Für Aufträge wäre es das Band "bdMDChild"
In Memo3:

Code: Alles auswählen

begin
   memo.clear();
  
  // Bei Angeboten die Anfragenummer, sonst Bestellnummer andrucken
  if ([RepArt] = 'A') then
  begin
    ibn  := [trim(LB_AnfNr.memo)];
    kuNr := [trim([q_rep1."KUANFNR"])];
    if (trim([q_rep1."KUANFNR"]) <> '') then
      memo.add(ibn + ' ' + kuNr);
  end
  else
  begin
    ibn  := [trim(LB_IhreBestellNr.memo)];
    KunKom := [trim(LB_KunKom.memo) + ': ' + trim([q_Rep1."BEMERKUNG"])];

    if ([q_rep1."KUAUFDATUM"] > 0) then
     begin
      kuNr := [trim([q_rep1."KUAUFNR"]) + '       ' + trim([FORMATDATETIME('dd.mm.yyyy', [q_rep1."KUAUFDATUM"])])];      
     end
    else
      kuNr := [trim([q_rep1."KUAUFNR"])];            

    if (trim([q_rep1."KUAUFNR"]) <> '') then
      memo.add([ibn] + ' ' + [kuNr]);

    if (trim([q_Rep1."BEMERKUNG"]) <> '') then
      memo.add(KunKom);

    if (trim([q_Rep1."KUAUFTEXT"]) <> '') then
      memo.add([q_rep1."KUAUFTEXT"]);
  end;

  if ([q_rep1."LLZEIT_KW"] <> '') then
  begin
    s := Trim(LB_LLZEIT.memo) + ': ' + [q_rep1."LLZEIT_KW"] + ' ' + Trim(LB_KW.memo);
    memo.add(s);
  end;

  // Angeb. gueltig bis (nur bei Angeboten drucken)
  if ([q_rep1."GUELTIG_BIS"] > 0) and ([RepArt] = 'A') then
  begin
    s := Trim(LB_GUELTIG_BIS.memo) + ' ' + Trim(FormatDateTime('dd.mm.yyyy',[q_rep1."GUELTIG_BIS"]));
    memo.add(s);
  end;
end
Ich habe es noch soweit separiert, das wenn nur ein Text steht das Band gedruckt wird.
Dazu im OnBeforePrint

Code: Alles auswählen

begin
  if (([trim([q_rep1."LLZEIT_KW"])] <> '') or
      (([trim([q_rep1."KUAUFNR"])] <> '') and ([RepArt] <> 'A')) or
      (([trim([q_rep1."BEMERKUNG"])] <> '') and ([RepArt] <> 'A')) or
      (([trim([q_rep1."KUAUFTEXT"])] <> '') and ([RepArt] <> 'A')) or
      (([trim([q_rep1."KUANFNR"])] <> '') and ([RepArt] = 'A')) or
      (([q_rep1."GUELTIG_BIS"] > 0) and ([RepArt] = 'A'))) then
    visible := true
  else
    visible := false;
end
Um die Funktion wie Sie sie beschrieben haben zu realisieren könnten Sie die V_BRRC entsprechend erweitern.

--schnipp oberer Bereich
BFIRMAKTO_BSBANK_MASKENKEY,
BFIRMAKTO_BSBANK_BANKNAME,
BFIRMAKTO_BSBANK_SWIFT,
--schnapp

--schnipp unterer Bereich
S.MASKENKEY,
S.BANKNAME,
S.SWIFT,
--schnapp

Die Trigger anpassen und im AvERP-Admin einmal aktualisieren.
Dann funktioniert es auch im Designer.
Gruß
KTS

AvERP-Exe: 4.2.1.6
Datenbank: AvERP2009-A.01
_________________________
Suchen heißt finden und je mehr man sucht um so mehr findet man. ;-)
Antworten