so erstellen Sie einen neuen Datensatz in Formular-Datenquelle ein, aus x++
In form Journal Voucher
(AR>Journal> PaymentJournal> Klick auf SchaltflächeLines
). Ich möchte einen neuen Datensatz anlegen aus x++ - code.
Ich habe gesehen, einige Methoden in der form viz erstellen(), initvalue(), ledgerJournalEngine_custPayment... etc, die genannt werden, wenn wir Presse -ctrl+n
. Wie könnte man diese Methoden durch x++ code zu erstellen, die einen Datensatz mit standard-Funktionalität.
plz help.
Sollten Sie erweitern die Basis-Funktionen ordnungsgemäß mit den ledgerjournal Klassen. Können Sie uns mehr details? Wollen Sie eine einzelne oder mehrere Zeilen unmittelbar nach dem klicken auf "Linien"? Oder wollen Sie ein journal & Linien von einem X - ++ - Klasse oder so etwas? Es gibt eine ganze form framework (LedgerJournalForm*) und eine Tabelle Rahmen (LedgerJournalT*), und die Buchungs-engine. Also, wenn Sie wollen-Formular-Funktionalität, es würde Sinn machen, benutzen Sie das Formular-framework, während, wenn Sie versuchen, nur Linien erstellen auf ein bestehendes journal zum Beispiel über einige andere Funktion, wäre es nicht.
was ich versuche ist nach dem Klick auf
Ich Folge etwas. Bitte mehr erklären.
absolut.. ich werde einfach wählen Sie die
was ich versuche ist nach dem Klick auf
Lines
und öffnen einer neuen form Journal Voucher
Hinzugefügt eine benutzerdefinierte Schaltfläche Function>settlement using cust group
nach dem Klick auf die form CustTransOpen
öffnet sich, basierend auf den cust-Gruppe selelcted. Nun basierend auf der Kennzeichnung, die ich haben, um die Summe bis amounts
basierend auf AccountNum
und erstellen von Datensätzen entsprechend in form JournalVoucher
. Ich bin gerade steckte, bis mit dem letzten Teil.Ich Folge etwas. Bitte mehr erklären.
Func>Settlement
ist, was du versuchst zu kopieren, es hört sich so an, aber es dauert 1 Zeile, dann rechnet es basiert auf markierte Datensätze. Sie wollen Func>SettleUseCustGrp
(custom) aus den Zeilen-Bildschirm (F\LedgerJournalTransCustPaym) und einfach automatisch erstellen, die mehrere Transaktions-Linien in der Zeitschrift? Der Unterschied Func>Settlement
verwendet die LedgerJournalTrans aufzeichnen, während Sie nicht. Habe ich dieses Recht?absolut.. ich werde einfach wählen Sie die
Settlement cust group
so die neue Siedlung Formular basierend auf cust Group
wird geöffnet und nachdem ich mark/unmark, werden die Beträge aufsummiert basierend auf AccountNum und erstellen Sie einzelne/mehrere Datensätze entsprechend in form JournalVoucher
.. ich habe den obigen code(angehängtes Bild)in close()
- Ereignis für das Formular custOpenTrans
InformationsquelleAutor piku | 2013-08-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Bevor Sie ausgearbeitet, ich dachte, Sie waren versucht, zu erstellen Sie Ihre eigenen benutzerdefinierte Formular Erweiterung der journal-Funktionalität. Wenn Sie nur versuchen, ein Instrument zu schaffen, können Sie einfach erstellen Sie eine neue
Settlement Using Cust Group
- Taste. In der clicked-Ereignis, rufen Sie Ihre Transaktion-Kennzeichnung, form oder was auch immer Sie tun, um die Transaktionen, die Sie verwenden möchten. Dann etwas wie dieses:Dann in der neuen Methode erstellt, die ich mit dem Namen
settleTransCustGroup
können Sie die Schleife über Ihre Datensätze in dertestLedgerJournalSpecTrans
Modellierung aus etwas ähnliches wie dieses (benutzerdefinierte Methode erstellt auf der engine-Klasse):LedgerJournalTrans
Datensatz C1, C2, C3 sind erstellt... ich muss auch zu halten Konto von dem, was der Datensatz markiert wurde früher für einen bestimmten Kunden z.B. C1Ich kann nicht verstehen, was du sagst. Ich werde mich nicht um code, der Ihr gesamtes Projekt für Sie...
its done.. danke
InformationsquelleAutor Alex Kwitny
In der Regel, die X++ - code würde wie folgt Aussehen:
Können Sie ersetzen Sie die Felder und Werte wie benötigt. Wenn Felder fehlen, wird der Fehler angezeigt wird in der infolog (zum Beispiel, wenn Sie waren ausführen der oben genannten, Sie erhalten eine "Währungs-code muss angegeben werden" - Fehler), so werden Sie sicher, dass alle erforderlichen Felder angesprochen werden.
In den meisten Fällen können Sie auch anrufen
ledgerJournalTrans.initValue();
vor der Vergabe Ihre Werte zu pre-füllen Sie den Datensatz mit Standard-AX-Werte. Ich glaube, das werden die gleichen sein wie das, was Sie sehen, wenn Sie Strg + N auf die form. Im Beispiel oben, dadurch wird die Währung Code ausgefüllt werden, und die Aufzeichnung werden korrekt gespeichert (zumindest bei unserem system).Sie können viele Sequenzen, wie beschrieben in dynamics-ax-dev.blogspot.com/2010/04/.... Wie für die anderen Funktionen, die Sie könnte nur duplizieren Sie es in Ihrer eigenen Klasse und führen Sie Sie von dort. Ich würde annehmen, die meisten davon würden in die gemeinsame Codebasis schon durch (auf dem Tisch oder einer Klasse form Referenzen). Es sollte nicht schwierig sein zu imitieren Funktionalität. Aus meiner Erfahrung jedoch nur den Aufruf der geraden .insert () - Methode wird erlauben, den Datensatz zu gehen über das normale AX-Prozesse. Ich schlage vor, die Tests in einer test-Umgebung zu sehen.
ein problem, das ich bin vor ist, wie übergeben Sie die datasource-Instanz, die aus x++ als erwartet
ledgerJournalEngine.formMethodDataSourceCreatePost();
Ich bin nicht zu sehen, dass die Anforderung in meiner version der Methode in meinem system, aber der name impliziert es sein sollte Anruf von einer form, die nicht aus dem code. Sind Sie nur versuchen, erstellen eines journal-Datensatz Zeile, oder werden Sie versuchen zu buchen, das journal? Ich würde vorschlagen, mit ihm zu spielen in einer test-Umgebung. Versuchen Sie das einlegen der Platte, und sehen, ob das leistet, was Sie brauchen.
Das sieht aus wie es ist nur zu Fragen, für eine Tabelle " LedgerJournalTrans-Puffer, möglicherweise nur den Datensatz, der eingefügt wird. Sie sollten in der Lage sein, um die gleiche Aufgabe durch den Aufruf dieser Methoden nach der
ledgerJournalTrans.initValue();
und WeitergabeledgerJournalTrans
in dieledgerJournalEngine
.InformationsquelleAutor kingofzeal
Es gibt keine Magische Art und Weise der Aufruf von standard-Funktionen aus der frameworks zitiert hier auf andere Kommentare. Für jedes Ledger-Typ (Buchhaltung, Inventar, Bestellungen, Zahlungen, ...), die Art und Weise zu erstellen und zu initialisieren Zeilen ist unterschiedlich, und Sie arbeiten auf diese Weise, wenn Sie wollen das journal zu post richtig.
Gibt es eine Menge von Beispielen auf google von X++ - code, fügt journal-Transaktionen für fast jede Art von Ihnen. Es ist nicht leicht, aber zumindest ist es immer fast den gleichen code und es kann easilly wiederverwendet.
InformationsquelleAutor j.a.estevan