SharePointCommunity
Die deutschsprachige Community für SharePoint, Microsoft 365, Teams, Yammer und mit Azure

Sponsored by

Willkommen im Forum Archiv.
Einträge sind hier nicht mehr möglich, aber der Bestand von 12 Jahren SharePoint-Wissen ist hier recherchierbar.




Entwicklung von Calculated SiteColumn/Field

Unbeantwortet Dieser Beitrag hat 0 Antworten

Ohne Rang
1 Beiträge
S.Korzinetzki erstellt 12 Apr. 2012 12:39
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo zusammen,

ich habe eine Frage bzgl calculated fields. Grundsätzlich möchte ich eine Listendefinition per Feature bereitstellen, die auf zwei Inhaltstypen basiert. Das klappt mittlerweile alles gut. Ich habe jedoch noch ein Problem mit einer Spalte, die sich aus Werten anderer Spalten berechnen soll. Ansich funktionierte die Formel in dieser Spalte bereits, jedoch kam ein Problem vom einen auf  den anderen Tag. Die referenzierten Spalten machen Probleme, wenn Sie als DisplayName keine Leerzeichen enthalten. Dann wird das jeweilige Feld in der Formel später ohne "[" und "]" dargestellt und führt zu Problemen. Ich habe den DisplayNamen jetzt entsprechend länger inkl. Leerzeichen dargestellt, sodass SharePoint gezwungen ist "[" und "]" zu benutzen. Das kann aber nicht Sinn der Sache sein. Folgende Definitionen habe ich für die Formel verwendet.

 

  <Field
    ID="{A29AE60F-BCCA-47B5-A498-17B4E7FD4297}"
    Name="ocParticipates"
    DisplayName="Teilnahme am Fest"
    Type="Boolean"
    Required="FALSE"
    Sealed="TRUE"
    AllowDeletion="FALSE"
    Description="Falls nein, müssen die weiteren Felder nicht ausgefüllt werden!"
    Group="OC.Fest"
    Filterable="TRUE"
    Sortable="TRUE"  />

  <Field
    ID="{08885975-334B-4BB6-B7A7-052610C2F885}"
    Name="ocPartner"
    DisplayName="Teilnahme Partner"
    Type="Boolean"
    Required="FALSE"
    Sealed="TRUE"
    AllowDeletion="FALSE"
    Group="OC.Fest"
    Filterable="TRUE"
    Sortable="TRUE"  />

  <Field
    ID="{5E480332-98F6-4328-955E-037F6F1C66DE}"
    Name="ocChildrenCount"
    DisplayName="Anzahl Kinder"
    Type="Number"
    Decimals="0"
    Min="0"
    Max="10"
    Required="FALSE"
    Sealed="TRUE"
    AllowDeletion="FALSE"
    Group="OC.Sommerfest"
    Filterable="TRUE"
    Sortable="TRUE"  />

  <Field
    ID="{A6056EA2-E4B8-4555-B5FF-0CDD8FD415FC}"
    Name="ocParticipantCount"
    DisplayName="Teilnehmeranzahl"
    Type="Calculated"
    ResultType="Number"
    ReadOnly="FALSE"
    Hidden="FALSE"
    Decimals="0"
    Group="OC.Fest">
    <Formula>=IF([ocParticipates]=TRUE,1+IF([ocPartner]=TRUE,1,0)+[ocChildrenCount],0)</Formula>
    <FieldRefs>
      <FieldRef Name="ocParticipates" />
      <FieldRef Name="ocPartner" />
      <FieldRef Name="ocChildrenCount" />
    </FieldRefs>
  </Field>

 

In den ersten beiden Feldern ist der DisplayName gelb markiert, der war zuvor kürzer und enthielt keine Leerzeichen. Im vierten Feld ist die Formel hervorgehoben und die zuvor genannten Problemfelder rot gefärbt.

 

Das Ergebnis der Formel sieht dann wie folgt aus (englische Entwicklungsumgebung):

=IF([Teilnahme am Fest]=TRUE,1+IF([Teilnahme Partner]=TRUE,1,0)+[Anzahl Kinder],0)

Vorher war es dann (ohne "[" und "]"):

=IF(Teilnahme=TRUE,1+IF(Partner=TRUE,1,0)+[Anzahl Kinder],0)

Inklusive der Fehlermeldung, dass eine Spalte mit ID xyz nicht existiert.

 

Kennt jemand das Problem und dessen Ursache?

 

Vielen Dank für eure Rückmeldungen!