[Gelöst] - [CC] - Debitor Stammdaten Vorlage automatisieren

25. Januar 2012 13:28

Hi,

in der Debitorenkarte erhält man über Funktion -> Vorlage verwenden , eine Übersicht der Vorlagen und kann sich eine aussuchen.

Ich möchte diesen Auruf automatisieren , und zwar soll eine Abfrage passieren nachdem die DebitorNr gezogen wurde.
Quasi: F3 drücken, DebitorNr wird gezogen, Debitor wird angelegt , dann soll ein Dialog kommen "Möchten Sie eine Vorlage verwenden?" , wenn ja, soll die Übersicht aufgehen.

Ich weiß aber nicht wo ich das unter bringen soll, hier fehlt mir "mal wieder" der "OnAfterInsert" Trigger :)
Wenn ich versuche den Code in der Table 18 unterzubringen geht das auch nicht weil Form.Runmodal in schreibtransaktionen nicht zulässig ist

Jemand ein Tipp?

Danke
Zuletzt geändert von elTorito am 26. Januar 2012 18:41, insgesamt 1-mal geändert.

Re: [CC] - Debitor Stammdaten Vorlage automatisieren

25. Januar 2012 14:43

Wenn es nur um das Drücken auf F3 geht, kannst du das zB mit einem neuen MenuItem+eigener Insertfunktion machen, dem du den ShortKey F3 gibst. Das Insert über das Menu kriegst du damit allerdings nicht übersteuert.

Re: [CC] - Debitor Stammdaten Vorlage automatisieren

25. Januar 2012 15:52

Wenn du mit Kontakten arbeitest, kannst du daraus Debitoren erstellen, der fragt dich dann, welche Vorlage du verwenden möchtest. Allerdings ist das eine andere Vorlage aus "Verwaltung\Anwendung Einrichtung\Verkauf & Marketing\Debitorenvorlagen"

Gruß, Fiddi

Re: [CC] - Debitor Stammdaten Vorlage automatisieren

25. Januar 2012 17:08

Hi,

danke für eure Antworten, schade das es nicht einfacher geht... schade für unsere User,... die werden viel zu viel verwöhnt ;-)
Ich werde einfach ein Button neben dem Feld DebitoreNo. einfügen wo "Vorlage" drauf steht. Müssen die halt mal ein wenig mitdenken und zusätzliches Knöpfchen drücken ;-) Der Weg über "Funktion -> Vorlage" können die sich einfach nicht merken ... schlimm sowas .. ;-)

Ich lass den Thread aber mal als nicht gelöst stehen, vielleicht wühlt ja grad noch jemand in der Trickkiste :)

Danke
+ gruß Peter

Re: [CC] - Debitor Stammdaten Vorlage automatisieren

25. Januar 2012 17:29

Also ich mache hier bei sowas ähnliches, und da alle Anwender zum Anlegen eines neuen Datensatzes F3 drücken, klappt das wunderbar, wie ich es in meinem letzten Beitrag beschrieben habe.

Wie schaut es denn mit dem OnNewRecord-Trigger in der Form aus, kann man damit nichts anfangen? Oder du gibst den Debitoren ein Boolfeld, an dem du erkennst, ob die Vorlagen schon einmal angeboten wurden und das du im OnAfterGetCurrRecord abfragst ... sei kreativ :wink:

Re: [CC] - Debitor Stammdaten Vorlage automatisieren

25. Januar 2012 18:42

jetzt hast du Salz in die Wunde geschüttet ;-) ... Aber heute bin ich nicht mehr so kreativ... morgen nochmal versuchen :)

Re: [CC] - Debitor Stammdaten Vorlage automatisieren

25. Januar 2012 20:29

elTorito hat geschrieben:Ich lass den Thread aber mal als nicht gelöst stehen, vielleicht wühlt ja grad noch jemand in der Trickkiste :)


OT:
Vielleicht schenkst du deinen Usern die DVD von Wall-E?
IIRC waren die Menschen auf dem Raumschiff nach einer Weile ganz besonders "geformt" ;-)
:-D

Re: [CC] - Debitor Stammdaten Vorlage automatisieren

26. Januar 2012 11:20

:-) MOrgen zusammen,

Habe nun im OnNewRecord eine Funktionsaufruf CalltemplateList(Rec);

die Fnc CalltemplateList sieht wie folgt aus:

Code:

IF CONFIRM('Möchten Sie eine Vorlage benutzen?',TRUE) THEN BEGIN
  RecRef.GETTABLE(locRecCust);
  locDataTemplateHeader.SETRANGE(TableID,18);
  IF FORM.RUNMODAL(FORM::"Data Template List",locDataTemplateHeader) = ACTION::LookupOK THEN BEGIN
    locDataTemplateLine.SETRANGE("Data Template Code",locDataTemplateHeader.Code);
    IF locDataTemplateLine.FINDFIRST THEN BEGIN
      REPEAT
        IF locDataTemplateLine.Type = locDataTemplateLine.Type::Field THEN BEGIN
          IF locDataTemplateLine.FieldID <> 0 THEN BEGIN
            FieldRef := RecRef.FIELD(locDataTemplateLine.FieldID);
           
            FieldRef.Value := locDataTemplateLine."Default Value";

            //Message('Feld: ' + FORMAT(FieldRef.Name) + ' - Value: ' + FORMAT(FieldRef.Value));
            //Address := locDataTemplateLine."Default Value";
          END;
        END;
      UNTIL locDataTemplateLine.NEXT = 0;
    END;
  END;
END;


Hatte gedacht ich kann die Werte schon vor dem Insert festlegen, aber das klappt nicht.
Irgendwas passt hier noch nicht bei:

Code:
FieldRef.Value := locDataTemplateLine."Default Value";


hmm. Kreativ sein, kreativ sein ... :lol:

Re: [CC] - Debitor Stammdaten Vorlage automatisieren

26. Januar 2012 11:26

FieldRef.Value := locDataTemplateLine."Default Value";


ich hoffe hinter den Feldern aus der Vorlage liegen keine Validates, die würden dann wohl nicht ausgeführt :wink:

Gruß, Fiddi

Re: [CC] - Debitor Stammdaten Vorlage automatisieren

26. Januar 2012 18:41

So, ich habs :)

habs wie folgt gelöst:

1. Neues Menu Item "Debitor erstellen" mit Shortcut F3 hinterlegt.
2. im OnPush wird die Funktion NewCustomerFromtemplate aufgerufen
3. NewCustomerFromTemplate sieht so aus:
Code:

IF FORM.RUNMODAL(FORM::"Data Template List",locDataTemplateHeader,locDataTemplateHeader.Code) = ACTION::LookupOK THEN BEGIN
  RecRef.OPEN(18);
  TemplateMgt.UpdateRecord(locDataTemplateHeader,RecRef);
  DebCode := ConfirmNewInstance(RecRef);

  IF locCustomer.GET(DebCode) THEN BEGIn
    IF CONFIRM ('Der Debitor wurde angelegt und kann jetzt bearbeitet werden', TRUE) THEN BEGIN
    SETFILTER("No.", locCustomer."No.");
    END;
  END;
END;


beim drücken von F3 wird nun die Template Übersicht aufgerufen, ich hole mir dort den passenden Code, und erstelle den Datensatz.

Inspiriert hat mich die Funktion "Instanz erstellen" aus dem Formular "Datenvorlagekopf" :-)

Re: [Gelöst] - [CC] - Debitor Stammdaten Vorlage automatisie

28. Januar 2012 02:16

Vorhande Funktionen zu nutzen, ergibt meist eine kurze (und damit schöne) Lösung :-)