UNID als Rückgabewert beim ERstellen von neuem Dok?

  • Hi,


    habe in einem meiner Formulare einen Button mit dem einfach ein neues Dok angelegt wird, also


    @command([compose]; ...


    gibt es da ne Möglichkeit die UNID des neues Dokuments herauszubekommen? Evtl. in LS? Möchte nämlich in dem alten Dokument einen Link auf das neu erstellte Dok anlegen - und dazu brauche ich eben einen Verweis auf dieses...


    Grüsse

  • die unid wird erst beim speichern erzeugt...du müsstest also das doc erst speichern und könntest dann ggf. die unid auslesen...
    wie das funktioniert muss dir einer unserer entwickler erklären, weil ich davon keine ahnung habe :P

  • Hi,


    ja, ich dachte mir schon fast, dass man erst speichern muß. Also mit LS wäre es ja kein Problem ein neues Dok anzulegen, zu speichern und dann die UNID auszulesen - aber wenn ich recht weiß würde das neue Dok nicht autom. geöffnet wie bei @command([compose];...


    oder irre ich mich?


    Grüsse

  • Ich würde es anders herum machen, das dokument welches du erstellst eine verweis auf den ersten mitgeben, und bei dessen speicherung (ich nehme an das du da den design ändern kannst) in dessen postsave das andere dokument nimmst, und dieses anpasst..


    Eventuell (falls das andere dokument auch neu ist, dieses dokument zuerst speichern, und SCHLIEßEN, und dann das neue erstellen, und bei dessen speicherung dann das vorherige öffnen, ändern und wieder darstellen.


    Ronka

  • Das neu zu erstellende Dokument hat in den Maskeneigenschaften - Formulas inherit values from selected Doc.
    Die Maske hat ein verborgenens Feld mit der Formel @inheritedDocumentuniqueID ... Computed when composed. Und beim Speicher im query - oder postsave dann die Formel @setDocField mit einer Pruefung. z.B. so

    Code
    @if(@isnewdoc;@SetDocField(Untitled;"resp_doc";@DocumentUniqueID);"")


    Aber es gibt noch andere Moeglichkeiten.