SharePointCommunity
Die deutschsprachige Community für SharePoint, Office 365 und mit Azure

GetListItems von External List - "Id" nicht auslesebar / immer 0

bewertet von 0 Usern
Nicht beantwortet Dieser Beitrag hat 0 Geprüfte Antworten | 3 Antworten | 1 Follower

Top-25-Beitragsschreiber
Männlich
360 Beiträge
Christian Merkel erstellt in 13 Apr 2018 16:38

HI,

 

ich habe eine externe Liste angebunden, welche die Felder "Id" und "Status" bereitstellt.

Der Abruf der Daten funktioniert wunderbar (sofern man die notwendigen Felder in den ViewFields und dem Include hinterlegt hat).

Leider bekomme ich beim abruf von "oListItem.get_id()" immer "0" gemeldet. und via "oListItem.get_item('Id')" erhalte ich immer "Die Eigenschaft oder das Feld wurde nicht initialisiert. Es ist keine Anforderung erfolgt, oder die Anforderung wurde nicht ausgeführt. Ggf. muss eine ausdrückliche Anforderung erfolgen."

Der interne Feld-Name von "Id" ist auch Id. sowohl in SQL als auch im ExternalContentType.

Ich habe die Vermutung das es mit dem Standard-ID Feld in irgend einer Form kolidiert :(

Status und BdcIdentity kann ich problemlos abrufen...

camlQuery.set_viewXml('<View>' +
            "<ViewFields>" +
                "<FieldRef Name='Id'/>" +
                "<FieldRef Name='StatusDescription'/>" +
            "</ViewFields>" +   
            '<RowLimit>100</RowLimit>'+
        '</View>');

this.Items = oList.getItems(camlQuery);

clientContext.load(Items, 'Include(Id,BdcIdentity,StatusDescription)');

So der Aufruf. Und so die Feld-Abfrage:

listItemInfo += '\nId: ' + oListItem.get_id() +
            '\nTitle: ' + oListItem.get_item('StatusDescription') +
            '\nBody: ' ; //+ oListItem.get_item('Id');

:(

SharePoint Enthusiast

Ich helfe gern, wenn es mein Zeit zu lässt :)
Gern auch per direkter Anfrage auf XING

Alle Antworten

Top-10-Beitragsschreiber
Männlich
18.557 Beiträge

ID ist immer für das gleichnamige Feld von SharePoint reserviert, das jede Liste und Bibliothek besitzt. Allerdings wird es bei externen Listen nicht benutzt. Das von Dir gesuchte Id-Feld muß auf jeden Fall einen anderen Namen haben, wie id1 oder id_1 oder so. Gehe am einfachsten mal alle Spalten per Schleife durch und schaue sie dir an.

Viele Grüße
Andi
af @ evocom de
Blog
Top-25-Beitragsschreiber
Männlich
360 Beiträge

Leider gibt mir die Abfrage der Felder "Title, InternalName, StaticName" folgende aussage zurück:

 

SP.FieldCollection from list.get_fields()
Title - Internal Name - Static Name
---------------------------
BDC-Identität - BdcIdentity - BdcIdentity;
 Status_Id - Id - Id;
 StatusDescription - StatusDescription - StatusDescription;
 --------------------------
 Number of Fields: 3

SP.ViewFieldCollection from view.get_viewFields()
Internal Name
---------------------------
Id
StatusDescription
BdcIdentity
--------------------------
 Number of Fields: 3

Abfrage via diesem Script hier:

https://blog.josequinto.com/2015/12/08/retrieve-static-and-internal-field-names-of-a-sharepoint-list-using-javascript-in-office-365/#Code

 

Da scheint "Id" wirklich "Id" zu lauten...

Ggf. gibt es Komplikationen wegen dem kleinen "D"

SharePoint Enthusiast

Ich helfe gern, wenn es mein Zeit zu lässt :)
Gern auch per direkter Anfrage auf XING

Top-10-Beitragsschreiber
Männlich
18.557 Beiträge

Kannst Du dasselbe auch mal schnell z.B. per PowerShell testen? Entweder clientseitig oder (weil es schneller geht) vielleicht sogar serverseitig?

Hast Du Zugriff auf die Definition der externen Daten? Und kannst Du die eventuell beeinflussen und der Spalte einen völlig unverfänglichen Namen wie ExternalID oder so verpassen?

Viele Grüße
Andi
af @ evocom de
Blog
Seite 1 von 1 (4 Elemente) | RSS