Re: Feld Ersteller aus dem Windows Login

7. Juli 2009 13:39

Lustige Ratestunde hört sich gut an, bei mir sieht es so den ganzen Tag aus.

Also du hattest recht. Ich habe die Felder gleichgesetzt und jetzt klappt es. Jedoch verstehe ich nicht, warum mir nicht der Wert aus der Table User Setup (also meine neue Spalte), der dort gefüllt ist, automatisch in die andere Table Sales Invoice Header (dort habe ich das gleiche Feld reinkopiert) geschrieben wird für die jeweiligen User. Es klappt ja, aber die daten das Erstellers werden einfach nicht in die Table abgelegt.

Die Filterung findet alle Rechnungen und ich kann mir auch ein auswählen. Dann kommt aber keine Seitenansicht. Ohne Filterung kann ich alle Rechnungen sehen. Was kann das sein?

Re: Feld Ersteller aus dem Windows Login

7. Juli 2009 13:58

Nicht missverstehen, aber in deinem Fall kann man halt nur versuchen, das Naheliegenste zu raten. Und da eine Sache schon mal richtig war, liege ich mit 20 Punkten gut im Rennen :)

misterelektro1981 hat geschrieben:Jedoch verstehe ich nicht, warum mir nicht der Wert aus der Table User Setup (also meine neue Spalte), der dort gefüllt ist, automatisch in die andere Table Sales Invoice Header (dort habe ich das gleiche Feld reinkopiert) geschrieben wird für die jeweiligen User. Es klappt ja, aber die daten das Erstellers werden einfach nicht in die Table abgelegt.

Nun wird´s schwer mit der Raterei .. kannst du mal den Code posten, der das Feld füllen soll?

misterelektro1981 hat geschrieben:Die Filterung findet alle Rechnungen und ich kann mir auch ein auswählen. Dann kommt aber keine Seitenansicht. Ohne Filterung kann ich alle Rechnungen sehen. Was kann das sein?

Du meinst, dass die Seitenansicht leer bleibt ("Berichterstellung abgeschlossen (0 Seiten)"? Das kann eigentlich nur daran liegen, dass deine Filterung alle Rechnungen raus filtert.

Re: Feld Ersteller aus dem Windows Login

7. Juli 2009 14:34

Mit der Filterung ist es so wie du es beschrieben hast. So sollte es aber nicht sein. Kann man so etwas "leicht" reparieren?

Tut mir wirklich leid, aber ich versteh nicht, was du mit Code schreiben meinst. Ich habe doch "nur" folgendes gemacht.
Gl.Variable erstellt Typ Record, die sich auf die Table User Setup bezieht. Diese Variable ziehlt sich dann den User über gl.Variable.GET(USERID);
Danach habe ich das entsprechende Feld, das ich zuvor auf der User Setup Table erstellt und gepflegt habe, in den Report gebaut.

Erstelle ich nun eine Rechnung, so erscheint auf allen Rechnungen mein Name, jedoch auch die die nicht von mir erstellt wurden. Der Grund ist ja wie du beschrieben hast klar.

Daher wollte ich diese Werte festhalten in dem Sales Invoice Header, wo die gebuchten Rechnungen auftauchen. Alle Daten bis auf mein Feld wurden in diese Table übernommen. Daher habe ich das Feld aus der User Setup in den Sales Invoice Header kopiert, in der Hoffnung das dieser Wert beim buchen dort eingetragen wird.

Ich dachte, wenn ich jetzt dieses Feld fülle, dann wird der Inhalt in die Table geschriében und verstehe daher nicht, was du mit Quellcode schreiben meinst.

Re: Feld Ersteller aus dem Windows Login

7. Juli 2009 14:44

Achso, so langsam fällt der Groschen. Du hast nur im SalesInvoiceHeader ein neues Feld angelegt - ganz genau so wie in der User Setup Tabelle - und sonst nichts weiter?

Re: Feld Ersteller aus dem Windows Login

7. Juli 2009 14:46

Davon das du das Feld in dem Sales Invoice Header hast, füllst sich dieses leider nicht alleine.
Hier geht es aber genauso wie schon im Report.
Eine globale Variable auf User Setup.
Wieder ein GET(USERID)
Und dann die Felder zuweisen.
Das ganze kannst du zum Beispiel in der Form machen, wenn jemand auf freigeben drückt.

Re: Feld Ersteller aus dem Windows Login

7. Juli 2009 15:31

An McClane: Ja genau so, ist halt immer schwer das so genau zu beschreiben.

An Danjo: Sorry, wenn ich erneut nachfrage. Also wir reden jetzt nicht über eine Programmierung bzw. Erweiterung auf einem Report. Du meinst ich muss jetzt auf einer Form programmieren. Kann man das was du meinst überhaupt ohne Programmierlizenz? Also ich habe es so verstanden, dass wie du gesagt hast ich eine neue gl.Variable erstelle auf User Setup (ich nehme an Typ Record). Dann auf dem Sales Invoice Header das Feld zuweisen (also doch einfach nur user."User Name" in die Source des entsprechenden Feldes, oder? User ist dabei meine Variable und User Name das neue Feld in User Setup). Danke für eure Hilfe!

Re: Feld Ersteller aus dem Windows Login

7. Juli 2009 16:45

Was Danjo meint, ist, dass du die UserID (bzw. den darüber gezogenen Namen) speichern solltest, während der Beleg angelegt, freigegeben oder gebucht wird (je nachdem, was dir da vorschwebt).

Alle drei Zustände werden halt üblicherweise auf der Form (Auftragsmaske) durchlaufen:
Beleg neu anlegen -> wenn du F3 drückst -> hier wird auf der Maske der Trigger OnNewRecord durchlaufen
Beleg freigeben (Strg+F11): Hier wird auf der Maske der Code im Trigger OnPush des MenuButtons "Funktion"->MenuItem "Freigeben" durchlaufen
Beleg buchen (F11): Hier wird auf der Maske der Code im Trigger OnPush des MenuButtons "Buchen"->MenuItem "Buchen" (oder "Buchen und Drucken") durchlaufen
An einer dieser drei Stellen könntest du dem Sales Header die UserID des Bearbeiters (oder seinen Namen) mitgeben, falls du das Feld dafür analog zu dem Feld im Sales Invoice Header angelegt hast (dann mit get auf die User-Tabelle usw. wie schon beschrieben).

Wenn du das Feld für die UserID bzw. den Namen nur im Sales Invoice Header hast, müsstest du einen anderen Weg beschreiten. Aber von dem würde ich zum jetzigen Zeitpunkt abraten, da es sich hierbei um die schnuckelige Codeunit 80 handelt.

Re: Feld Ersteller aus dem Windows Login

8. Juli 2009 08:15

Hi,

ohne Programmierlizenz ist hier wohl nicht viel zu machen.
Der Weg dem McClane beschreibt ist auch der den ich meinte.
Aber wenn deine Lizenz dir nicht erlaubt C/AL-Code in Forms einzufügen, sehe ich keine Möglichkeit wie du speichern kannst wer den Auftrag frei gegeben hat.

Re: Feld Ersteller aus dem Windows Login

8. Juli 2009 08:41

Solche Lizenzen gibt`s auch? Im Report Code schreiben dürfen, aber der Form nicht?

Re: Feld Ersteller aus dem Windows Login

8. Juli 2009 09:10

Mit der CRONUS kannst du doch in einem bestimmten Nummernkreis programmieren.
Und in den Standardobjekten meine ich nicht.
Vielleicht hat er ja sowas ähnliches.

Re: Feld Ersteller aus dem Windows Login

8. Juli 2009 13:37

Ich kann mit meiner Lizenz nicht programmieren.

Aber so wie es aussieht werde ich in Kürze eine Programmierschulung erhalten. GOTT SEI DANK!

Kann man das ganze nicht über ein FlowField realisieren? Also einfach ein Feld in der Table Geb. Verkaufsrechnung erzeugen des Types Code und dann in den Properties ein Flow Field einstellen, das mir die Daten aus der Spalte Benutzername der Table User Setup übernimmt. Oder gibt es da irgendwelche Probleme, die auftauchen könnten?

Re: Feld Ersteller aus dem Windows Login

8. Juli 2009 13:42

McClane hat geschrieben:Solche Lizenzen gibt`s auch? Im Report Code schreiben dürfen, aber der Form nicht?


jep, hab auch so eine ;)
Code geht nur in Reports u. Dataports. Beim Rest kann man ihn nichtmal anschaun :/
Ist unabhängig vom Nummernkreis, also ich kann zb auch Standardreports bearbeiten. Gab es wohl recht günstig im Vergleich zu einer kompletten Entwicklerlizenz ;)

Re: Feld Ersteller aus dem Windows Login

8. Juli 2009 13:52

misterelektro1981 hat geschrieben:Ich kann mit meiner Lizenz nicht programmieren.

lol hattest du das schon mal erwähnt, und ich habe es wie immer überlesen? Das erklärt natürlich so manches :wink:

misterelektro1981 hat geschrieben:Aber so wie es aussieht werde ich in Kürze eine Programmierschulung erhalten. GOTT SEI DANK!

Das ist gut. Danach fehlt dir nur noch die richtige Lizenz :wink:

misterelektro1981 hat geschrieben:Kann man das ganze nicht über ein FlowField realisieren? Also einfach ein Feld in der Table Geb. Verkaufsrechnung erzeugen des Types Code und dann in den Properties ein Flow Field einstellen, das mir die Daten aus der Spalte Benutzername der Table User Setup übernimmt. Oder gibt es da irgendwelche Probleme, die auftauchen könnten?

Wenn du die UserID irgendwo hinterlegen könntest, ginge das per Flowfield. Aber ohne Programmieren weiß ich keinen Weg. Außer natürlich, dass der Anwender seine UserID selbst in dieses Feld eingibt :-?

Re: Feld Ersteller aus dem Windows Login

8. Juli 2009 13:59

Alles klar, dann bin ich wohl so gerade an meine möglichen Grenzen gestoßen. Das Thema werde ich dann vielleicht nochmal ansprechen, wenn es soweit ist. Bis dahin trotzdem vielen dank.

Re: Feld Ersteller aus dem Windows Login

8. Juli 2009 14:24

Ara hat geschrieben:
McClane hat geschrieben:Solche Lizenzen gibt`s auch? Im Report Code schreiben dürfen, aber der Form nicht?

Ist unabhängig vom Nummernkreis, also ich kann zb auch Standardreports bearbeiten. Gab es wohl recht günstig im Vergleich zu einer kompletten Entwicklerlizenz ;)

Mit dem Granule "Form-/Report-Designer" kann man zwar Forms und Reports designen, jedoch nicht in Forms programmieren.
(Warum das so ist kann ich jedoch nicht erklären.)

Um richtig programmieren zu können benötigt man das Granule "Application Builder" bzw. "Solution Developer".
(Je nachdem, ob man auch in Buchungsfunktionen programmieren will oder nicht.)