UUID beim Erstellen von ReportContainer via DOM API

Hallo!

Habe mir einige meiner Reports im Dom Code Generator angesehen, was wirklich sehr nützlich ist (danke an dieser Stelle nochmals für diesen Tipp) und dabei ist mir aufgefallen, dass bei einigen Objekten eine Property namens UUID auf eine bestimmte GUID gesetzt wird.

        public static void Generate(combit.Reporting.Dom.ObjectLine item)
        {
            item.ParentComponent.Core.LlSetOption(LlOption.NoAutoPropertyCorrection, 1);
            item.Color = "LL.Color.Black";
            item.Width = "10";
            item.ReadOnly = "False";
            item.UUID = "{5F465378-BB52-45EC-872F-0DAF6615E32A}";
            item.LinkUUID = "";
            item.LayerId = 1;
            item.GroupId = 0;
            item.LinkMode = 32;
            item.Selected = "False";
            item.Position.Left = "6620";
            item.Position.Top = "54160";
            item.Position.Width = "194520";
            item.Position.Height = "0";
            item.ParentComponent.Core.LlSetOption(LlOption.NoAutoPropertyCorrection, 0);
        }

Konnte aber über diese Property keine Infos finden, scheint eine Art eindeutiger ObjektID zu sein. Muss man diese Eigenschaft wirklich setzen oder wird sie beim Erzeugen eines Objektes vielelicht sogar automatisch generiert?

Vielen Dank im Voraus
Thomas

Hi, die wird automatisch von LL gesetzt und dient wie du erkannt hast zur Identifikation des jeweiligen Objekts, man könnte diese verwenden wenn man Objekte verketten möchte, dann müsste man die LinkUUID füllen, kannst ja mal ein Projekt mit verketteten Objekten in dem Sample öffnen und den code generieren, dort siehste es dann.

viel Spass

1 Like

Sehr geehrter Herr Polaschek,

hierbei handelt es sich um eine Eigenschaft die eigentlich nicht gesetzt werden muss. Sie können die betroffene Zeile daher auch einfach löschen. Wir werden uns das von Ihnen beschriebene Verhalten in unserem Hause einmal genauer ansehen und ggf. eine entsprechende Anpassung des Code Generators an dieser Stelle vornehmen.

Viele Grüße

1 Like

Hallo Herr Litkin!

Habe die Eigenschaft entfernt und beim Ausführen ist mir noch etwas aufgefallen. Der Code Generator hat dazu noch folgende Zeile generiert:

objObjectReportContainer.LinkUUID = "";

Diese Zeile hat bei der Ausführung zu einem Fehler geführt und ich habe sie ebenfalls rausgenommen.

Sehr geehrter Herr Polaschek,

wir haben einen Fix erstellt welcher, dafür sorgt, dass die UUID nicht mehr benöitgt bzw. gesetzt wird. Damit wir Ihnen die entsprechende DLL zukommen lassen können, würden wir Sie bitten, einen Supportcase über unser Supportportal zu eröffnen.

Was die LinkUUID angeht - um diese setzen zu können, muss die NoAutoProertyCorrection-Option gesetzt werden. Der Codegenerator macht das wie folgt:

item.GetParentComponent().Core.LlSetOption(LlOption.NoAutoPropertyCorrection, 1);

Am besten setzen Sie die Option, wie im Auto-Code, zu Beginn und geben diese am Ende wieder frei.

Mit freundlichen Grüßen

Sehr geehrter Herr Litkin!

Ich habe schon vor einiger Zeit einen solchen Supportcase erstellt. Ist eventuell untergegangen.
→ W202211150002

Hatte dann auch noch ein anderes Problem mit dem Code Generator das ebenfalls im betreffenden SupportCase beschrieben ist. Würde hier bei noch etwas Unterstützung benötigen.

vielen Dank & mit freundlichen Grüßen

Thomas Polaschek

Guten Abend Herr Polaschek,

vielen Dank für den Hinweis. Ich bedauere, dass Sie meine Antwort bezüglich des Case nicht schon am 17.11 erhalten haben und entschuldige mich dafür.

Ich habe soeben nochmal einen Blick in den Case geworfen, und Ihnen im gleichen Atemzug die benötigten Module, für die Änderungen, des DOM-Generators, sowie eine Antwort bezüglich Ihrer im Case gestellten Frage zukommen lassen.

Sollten Sie noch eine weitere Frage zu den Modulen oder zum DOM-Generator haben, so können Sie sich jederzeit entweder im Supportportal oder hier im Forum an das Supporteam wenden.

Mit freundlichen Grüßen