Tabelle 312 - Purchase & Payables Setup

25. Januar 2021 16:53

Hallo zusammen,

Ich schreibe eine neue Tabelle für interne Bestellungen. Im Feld "No." teste ich mit NoSeriesMgt.TestManual das Feld PurchSetup."Internal Order Nos." aus Tabelle 312 Purchases &Payables Setup.

Code:
{ 1   ;   ;No.                 ;Code10        ;OnValidate=BEGIN
                                                                IF "No." <> xRec."No." THEN BEGIN
                                                                  GetPurchSetup;
                                                                  NoSeriesMgt.TestManual(PurchSetup."Internal Order Nos.");
                                                                  "No. Series" := '';
                                                                END;
                                                              END;


PurchSetup."Internal Order Nos." ist aus NAV 2009. Leider finde ich in Business Central v16 das Feld "Internal Order Nos" nicht in Tabelle 312. Leider habe ich gerade keinen Einblick in eine NAV 2009 DB.
Ist das Feld umbenannt? Finde hierbei nur "Order Nos." ..

Grüße

Re: Tabelle 312 - Purchase & Payables Setup

25. Januar 2021 17:07

also in meinen 2009er Datenbanken gibt es das von dir genannte Feld nicht.
Da du von internen Bestellungen sprichst und das Feld "Internal Order Nos" heißt, gehe ich davon aus, dass ihr das selbst eingebaut habt ;)

Re: Tabelle 312 - Purchase & Payables Setup

25. Januar 2021 17:42

sweikelt hat geschrieben:[...] gehe ich davon aus, dass ihr das selbst eingebaut habt ;)
Oder es stammt aus einer Branchenlösung oder einem anderen AddOn. ;-)
NAV-Standard ist es jedenfalls nicht.

Ich wollte gerade schreiben, dass eine einfach TableExtension und PageExtension das Problem lösen würde, dann fiel mir aber die Syntax im ersten Beitrag auf, die darauf schließen lässt, dass noch klassisch in C/AL entwickelt wird.
Na gut, dann müsst ihr in der Kreditoren & Einkauf Einrichtung eine Kopie vom Feld "Order Nos" als "Internal Order Nos" anlegen und in der dazugehörigen Page einblenden, dann kannst du es in deiner Programmierung ansprechen.

Extensions können zwar auf Anpassungen in den Objekten der Datenbank zugreifen, aber die Anpassungen in den Objekten können nicht auf Funktionen zugreifen, welche in Extensions liegen.
(Die Erfahrung musste ich die Tage machen, als ich in einer kleinen temporären Hilfs-Codeunit auf eine Funktion einer Codeunit in unserer Extension zugreifen wollte.)

Re: Tabelle 312 - Purchase & Payables Setup

25. Januar 2021 18:22

Erstmal danke beide für die Antwort.

@sweikelt: gut zu wissen, das es nicht im Standard steht und vermutlich selbst eingebaut wurde!

@Timo Lässer:
aber die Syntax im ersten Beitrag auf, die darauf schließen lässt, dass noch klassisch in C/AL entwickelt wird.

Ich verwende alten Quellcode aus NAV 2009, ist mir als Textdatei zugeschickt worden, aber ich programmiere die neue Tabelle mit AL (also Extensions möglich). Ich weiß aber nicht was das Feld alles können muss. Wahrscheinlich werde ich das Feld in einer Extension anlegen.

Grüße

Re: Tabelle 312 - Purchase & Payables Setup

25. Januar 2021 18:39

navCH hat geschrieben:Ich weiß aber nicht was das Feld alles können muss. Wahrscheinlich werde ich das Feld in einer Extension anlegen.

ne, du musst schon wissen, was das Feld können muss. wenn es z.B. im Standardcode verwendet wird, dann kann es keine Extension sein (ok außer du kannst per Event in einer Extension den Ablauf nach deinem Gusto manipulieren)

Re: Tabelle 312 - Purchase & Payables Setup

26. Januar 2021 01:30

ne, du musst schon wissen, was das Feld können muss.
Ja stimmt, habe zum Feld noch Informationen erhalten.
Grüße

Re: Tabelle 312 - Purchase & Payables Setup

27. Januar 2021 16:20

Im Feld "No." meiner neuen Page wird die Nummerserie nicht angezeigt. Nummernserie ist eingetragen. editable=true ist gesetzt. Welcher Trigger / funktion überträgt die Seriennummer in meine Tabelle/Page?

Code:
field(1; "No."; Code[10])
        {
            CaptionML = DEU = 'Nr.',
                        ENU = 'No.';

            Editable = true;
            trigger OnValidate()
            begin
                if "No." <> xRec."No." then begin
                    GetPurchaseSetup();
                    NoSeriesMgt.TestManual(PurchSetup."Internal Order Nos.");
                    "No. Series" := '';
                end;
            end;
        }


Grüße

Re: Tabelle 312 - Purchase & Payables Setup

27. Januar 2021 16:32

? <<<----- !!!!!!
erzähl doch mal ein bisschen von deiner neuen Page, damit wir uns darunter auch was vorstellen können.
EDIT: ahhh jetzt steht wenigstens Code dabei....mit dem man nichts wirklich gutes anfangen kann.

aber egal - da ich vermute, dass du eine automat. Nummernzuweisung programmieren möchtest, gebe ich dir den Hinweis, dir einfach mal Table 18 anzusehen
noch genauer - den OnInsert()-Trigger ...dein Code prüft nur, ob manuelle Nummern erlaubt sind und setzt dann entspr. das Feld
"No. Series" zurück, falls es lt. Nummernserie gestattet ist.

Re: Tabelle 312 - Purchase & Payables Setup

27. Januar 2021 16:44

mein OnInsert()
Code:
trigger OnInsert()
    begin
        If "No." = '' Then begin
            GetPurchaseSetup();
            PurchSetup.TestField("Internal Order Nos.");
            NoSeriesMgt.InitSeries(PurchSetup."Internal Order Nos.", xRec."No. Series", 0D, "No.", "No. Series");
        end;
        "be generated" := TODAY;
        "generated at" := TIME;
        "generated by" := USERID;
    end;

Re: Tabelle 312 - Purchase & Payables Setup

27. Januar 2021 17:14

navCH hat geschrieben:Im Feld "No." meiner neuen Page wird die Nummerserie nicht angezeigt. Nummernserie ist eingetragen. editable=true ist gesetzt. Welcher Trigger / funktion überträgt die Seriennummer in meine Tabelle/Page?

kannst du bitte dein Problem genauer schildern?
Wird im Feld "No." keine Nummernserie angezeigt oder eher keine Nummer?
Ist eine Nummernserie eingerichtet?
Ist diese in der T 312 im Feld "Internal Order Nos." hinterlegt?
Wie gehst du vor?
--Du öffnest deine Page, und legst einen neuen DS an?
--> wie?

Re: Tabelle 312 - Purchase & Payables Setup

27. Januar 2021 17:43

Wird im Feld "No." keine Nummernserie angezeigt oder eher keine Nummer?

weder noch. keine Nummernserie und manual geht auch nix, wenn ich enter drücke wieder Feld leer.

Ist eine Nummernserie eingerichtet?

doch ist.
Code Beschreibung Startnr. Endnr. Letztes Datum verwendet Letzte Nr. verwendet Standardnr. Manuelle Nr. Chronologisch
E-BEST Einkaufsbestellung 106001 107999 03.01.2022 106024 WAHR FALSCH FALSCH

Ist diese in der T 312 im Feld "Internal Order Nos." hinterlegt?

ja per Table und Page extension.
Code:
tableextension 50100 PurchSetupExtension extends "Purchases & Payables Setup"
{
    fields
    {
        // Add changes to table fields here
        field(50100; "Internal Order Nos."; Code[20])
        {
            CaptionML = DEU = 'Interne Bestellnummer',
                        ENU = 'Internal Order Nos.';
            TableRelation = "No. Series".Code;
        }
    }

Du öffnest deine Page, und legst einen neuen DS an?

Öffne Page. Klicke ins leere Feld Number, gebe Nummer ein, Enter. Wieder leer.

Grüße

Re: Tabelle 312 - Purchase & Payables Setup

28. Januar 2021 13:13

also du legst einen neuen DS an, indem du die Nummer manuell einträgst, obwohl du eigentlich eine autom. Nummer per Nummernserie vergeben willst?
warum?

okay - also selbst wenn du eine Nummer manuell einträgst, sollte die nach dem Verlassen des Feldes "No." nicht einfach verschwinden/geleert werden (das tut sie doch, oder habe ich dich falsch verstanden?)

zeig doch mal den gesamten Code deiner Page und der dazugehörigen Table (kritischen Code kannst du selbstverständlich weglassen/unkenntlich machen)

Re: Tabelle 312 - Purchase & Payables Setup

28. Januar 2021 16:06

Ich kenne so ein Verhalten, falls noch irgendein Filter gesetzt ist und der neue Datensatz dadurch direkt nach dem Insert gleich weggefiltert wird. Kann so etwas sein? (Nach deiner Nummernserie scheinen ja bereits 24 Inserts funktioniert zu haben)

Re: Tabelle 312 - Purchase & Payables Setup

28. Januar 2021 16:44

McClane hat geschrieben:Ich kenne so ein Verhalten, falls noch irgendein Filter gesetzt ist und der neue Datensatz dadurch direkt nach dem Insert gleich weggefiltert wird. Kann so etwas sein? (Nach deiner Nummernserie scheinen ja bereits 24 Inserts funktioniert zu haben)

genau meine Meinung ;) - aber ohne Codeeinsicht rate ich hier nicht weiter ins Blaue. Wurde dir (Christian) denn eigentlich mal eine Entwicklerschulung bewilligt (mein letzter Stand von 2018 - nein)? Ich meine, du programmierst bei dir alles mehr oder minder ohne große Kenntnisse (Respekt dafür!) - da wäre eine Schulung schon gut investiertes Geld. Dir muss ich es ja sicherlich nicht sagen, aber mich interessiert es trotzdem