[gelöst] Sammelrechnung <> manuelle Artikelz. in der Rechn.

1. Juli 2009 19:56

Hallo Forum,

beim Erstellen einer Sammelrechnung werden die Preise aus den Aufträgen (wenn Lieferung gebucht) in die erstellte Rechnung übernommen. Ein manuell übersteuerter Preis im Auftrag ist in der Rechnung auch zu finden.
Füge ich eine manuelle Zeile in die Rechnung ein, greift die Nav Preisfindung.

Ich weiß, dass in der Tabelle 111 (Sales Shipment Line) die Funktion "InsertInvLineFromShptLine" dafür zuständig ist, die Sammelrechnung zu erstellen. Diese Funktion wird vom Report 295 (Combine Shipments) aufgerufen.
In der Funktion ich nicht erkennen, dass der Preis aus dem Auftrag übernommen wird.
Also muss der Unterschied in der Tabelle 37 (Sales Line) zu finden sein ? Im OnValidate Trigger der "No." ?
Wer kann helfen, die richtige Stelle zu finden ?

Gruss
Wolfgang
Zuletzt geändert von voyager am 1. Juli 2009 21:52, insgesamt 1-mal geändert.

Re: Sammelrechnung <> manuelle Artikelzeile in der Rechnung

1. Juli 2009 20:57

voyager hat geschrieben:Ich weiß, dass in der Tabelle 111 (Sales Shipment Line) die Funktion "InsertInvLineFromShptLine" dafür zuständig ist, die Sammelrechnung zu erstellen. Diese Funktion wird vom Report 295 (Combine Shipments) aufgerufen.
In der Funktion ich nicht erkennen, dass der Preis aus dem Auftrag übernommen wird.


Du warst schon richtig, es ist die Funktion InsertInvLineFromShptLine. Hast du dir die REPEAT-Schleife näher angeschaut?

Code:
  IF SalesOrderLine.GET( // <-- Hole VK-Zeile
    SalesOrderLine."Document Type"::Order,"Order No.","Order Line No.")
  THEN BEGIN
    IF (SalesOrderHeader."Document Type" <> SalesOrderLine."Document Type"::Order) OR
       (SalesOrderHeader."No." <> SalesOrderLine."Document No.")
    THEN
      SalesOrderHeader.GET(SalesOrderLine."Document Type"::Order,"Order No."); // <-- Hole VK-Kopf
    ..
    SalesLine := SalesOrderLine; // Setze neue Zeile = gefunde VK-Zeile. Setzt auch den VK-Preis
    ...

  IF NOT ExtTextLine AND (SalesLine.Type <> 0) THEN BEGIN
    SalesLine.VALIDATE(Quantity,Quantity - "Quantity Invoiced");
    SalesLine.VALIDATE("Unit Price",SalesOrderLine."Unit Price"); // <- Validiere den Preis aus der VK-Zeile
    ....


Deutlicher gehts nimmer :-)

Re: Sammelrechnung <> manuelle Artikelzeile in der Rechnung

1. Juli 2009 21:50

Hallo Natalie, :-)

so spät noch in Sachen Community unterwegs ....

Danke für Deine Erklärung. Ich habe wohl nach etwas gesucht, was Navision im Standard anders macht.
Wie sagt man so schön "Man hat den Wald vor lauter Bäumen nicht gesehen..."

Ich weiß jetzt, dass ich an einer anderen Stelle ansetzen muss. In einer Kundenlösung muss die Preisfindung komplett anders funktionieren als NAV Standard.
Deshalb WOLLTE ich wohl nicht sehen, wie es der Standard macht.

Beim nächsten CT wirst Du hoffentlich wieder dabei sein, dann geht ein Getränk auf meine Rechnung :-)

Wolfgang


P.S.: Schönen Feierabend heute ...