Erweiterte Suche - verknüpfte Entität mit OR verknüpfen

8

Gibt es eine Möglichkeit, diese Abfrage zu erstellen?

Ich brauche Daten von Adresse und Kontaktadresse, normalerweise kann ich sie einfach mit Combine OR kombinieren, aber nicht in diesem Fall.

Ich denke, dass ich ein neues Plugin mit der Methode PreExecute() schreiben, meine Abfrage abfragen, Daten parsen und dann manuell die gleiche Adresse bekommen ODER anders herum?

    
Maks Martynov 01.08.2013, 13:34
quelle

3 Antworten

2

Ich habe das Problem gelöst.

  • Erstellen Sie ein Plugin für die Vorvalidierung mit Execute() method und einigen Methode für das Parsen von Daten.
  • Fügen Sie in der Entitätsansicht ein Feld mit GUID hinzu.
  • Wenn das Plugin guid in Ihrer Ansicht gefunden hat, wird es die fetchxml Abfrage für Ihre Die Entity und die zweite Abfrage-Entity else zeigen die Standardansicht.
  • Analysieren Sie Daten für das, was Sie für den Benutzer anzeigen möchten.
  • Registrieren Sie Ihr Plugin.
  • Gewinn.

PS Ich werde Quellen in ein oder zwei Tagen nach dem Refactoring und der Genehmigung durch den Kunden hinzufügen.

Bearbeiten:

Zuerst müssen Sie ein neues GUID erstellen und ein String-Feld hinzufügen, das mit dieser Guid angezeigt werden kann (es ist besser, es vor dem Benutzer zu verbergen). Erstellen Sie ein Plugin mit RetrieveMultiple action und Post validation (in Pre action können Sie Ihre Änderungen verlieren)

Im Plugin: Hauptmethode RetrieveMultiple , die den Kontext und den Service erhalten, von dem aus Sie eine Abfrage durchführen, dann müssen Sie fetchXml holen und prüfen, ob Ihr GUID vorhanden ist.

%Vor%

In Ihrer ApllyFilter Methode benötigen Sie:

  1. Abfrage vom Benutzer (er kann einige neue Dateien hinzufügen).

  2. Löschen Sie Ihr Feld mit GUID .

  3. Abfrage ausführen.

  4. Löschen Sie Dateien, die mit Ihrer OR -Anweisung in Konflikt stehen können.

  5. Fügen Sie link-entity zur Abfrage hinzu.

  6. Abfrage ausführen.

  7. Fügen Sie empfangene Entitäten aus der zweiten Abfrage zuerst hinzu.

  8. Wählen Sie mit LINQ Elemente aus, die nicht wiederholt werden.

    %Vor%
  9. Senden Sie diese Daten an den Client.

Maks Martynov 12.08.2013, 07:55
quelle
2

Ich bin mir keiner Möglichkeit bewusst, das oben Gesagte zu tun.

Anstatt ein Plugin zu schreiben, würde ich einen Bericht erstellen.

Der einfachste Weg, den ich mir vorstellen kann, ist, fetchXML ohne Filter so zu machen.

%Vor%

Aktivieren Sie dann die Sichtbarkeit von Zeilen in Ihrem Bericht mit

%Vor%

Offensichtlich könntest du Sydney durch einen Parameter ersetzen

    
Campey 02.08.2013 04:57
quelle
0

Einfach ausgedrückt: Es gibt keine Möglichkeit, das zu tun, was Sie durch den erweiterten Suchvorgang verlangen.

Die Beispielabfrage, die Sie aufstellen, zeigt Ihnen nur Konten an, bei denen die verknüpften Kontakte die richtige Adresse haben (und natürlich das Konto, das die Adresse hat). Sobald Sie eine andere Entität einer erweiterten Suche zugeordnet haben, werden nur Eltern mit den zugehörigen Datensätzen angezeigt. Es gibt keine Möglichkeit, eine äußere Verknüpfung zu erstellen (was effektiv ist).

Ihre einzige Option besteht darin, etwas in Silverlight oder HTML zu erstellen und es als Web-Ressource hinzuzufügen - sobald Sie in diesem Code sind, können Sie so ziemlich alles anzeigen, was Sie wollen. Wie andere vorgeschlagen haben, ist dies in einem Bericht möglich.

    
Rocksalt 12.08.2013 04:33
quelle