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.




ControlMode Eigenschaft auf Display gestellt - Im Word ist aber überschreibbar..

Geprüfte Antwort Dieser Beitrag hat 8 Antworten

Ohne Rang
47 Beiträge
anfänger erstellt 14 Jan. 2015 15:47
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo zusammen

Ich habe den Beitrag von Andi gelesen und durchgeführt mit Erfolg.

http://sharepointcommunity.de/forums/p/23770/67320.aspx

Die "Nachbearbeitung" der entsprechende Spalte in der Bibliothek ist nicht möglich.

Es handelt es sich um eine Dokumentenbibliothek - mit als Inhaltstyp "Dokumentenmappe", inkl. Standard Vorlagen (Word Dokumente).

Die Metadatenfelder sind im die Wordvorlagen implementiert - allerdings ist so, dass wenn ein User das Dokument öffnet - kann er in der auf "Display" gestellte Spalte - trotzdem in das Dokument selbst, überschreiben.

Auch habe ich es probiert mit berechnete Spalten - allerdings kann ich dieses nicht im Dokument als Baustein "einpflanzen".

Kann mir jemandem mir weiterhelfen?

Alle Antworten

Ohne Rang
47 Beiträge
anfänger Als Antwort am 14 Jan. 2015 15:48
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Mit freundliche Grüsse - und nachträglich ein gute neues Jahr wünsche ich euch.

Liliane

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 14 Jan. 2015 15:57
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote user="Liliane"]Die Metadatenfelder sind im die Wordvorlagen implementiert - allerdings ist so, dass wenn ein User das Dokument öffnet - kann er in der auf "Display" gestellte Spalte - trotzdem in das Dokument selbst, überschreiben[/quote]

Da kann man nicht wirklich was machen. Office schert sich nicht um die ControlMode Einstellungen...

[quote user="Liliane"]Auch habe ich es probiert mit berechnete Spalten - allerdings kann ich dieses nicht im Dokument als Baustein "einpflanzen".[/quote]

Das geht leider ebenfalls nicht.

Das Einzige was wirklich hilft ist Programmierung. Damit kann man eine Spalte wirklich auf ReadOnly setzen. Man kann sie dann nur-lesend im Dokument verwenden. Und man kann per Code trotzdem etwas reinschreiben.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
47 Beiträge
anfänger Als Antwort am 14 Jan. 2015 17:13
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo Andi

Vielen Dank für dein Antwort und Zeit.

Wäre dass den richtigen Code?

using (SPSite oSiteCollection = new SPSite("http://MyServer"))

{

    using (SPWeb oWebsite = oSiteCollection.OpenWeb())

    {

        SPList oList = oWebsite.Lists["MyList"];

        SPListItem oItem = oList.Items[0];

        oItem.Fields["MyField"].ReadOnlyField = true;

        oItem.Fields["MyField"].Update();

    }

}

Und dann, wenn man es für kurzer Zeit wieder schreibar gemacht wird - stellt man = true auf false?

Merci fürs Feedback.

Freundliche Grüsse Liliane

Ohne Rang
929 Beiträge
Thomas Östreich Als Antwort am 14 Jan. 2015 17:26
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo Liliane,

nicht ganz du kannst immer nur das Feld für die gesamte Liste auf ReadOnly setzen aber nicht für einen Datensatz. "Fields" bezieht sich immer auf die Liste daher benötigst du kein SPListItem. Dann noch ein Tipp im SharePoint auf den Index verzichten bzw. immer prüfen was dieser macht in deinen Fall ruft dieser alle Elemente mit allen Spalte aus der Liste ab.

Wenn es wieder beschreibbar sein soll dann ReadOnlyField = false

...

var field = oList.Fields["MyField"];

field.ReadOnlyField = true;

field.Update();

...

Ohne Rang
47 Beiträge
anfänger Als Antwort am 14 Jan. 2015 19:11
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ok.......

Hallo Thomas, vielen Dank für deiner Input, der mir weiter in meinen Unwissenheit hilft.
Ich werde mich mit dem Index - Verhalten noch beschäftigen, was ich bisher ausser acht gelassen habe.

Ich melde mich wieder - und kann es erst Morgen testen lassen.

Herzlichen Grüsse Liliane

Ohne Rang
47 Beiträge
anfänger Als Antwort am 21 Jan. 2015 07:58
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo zusammen

Ich habe folgende Code implementieren lassen und es klappt.

#Get the Web

$web = Get-SPWeb "WEBSEITE"

#Get the List

$List = $Web.Lists["LISTENAME"]

#Get the Field

$Field = $List.Fields["Spaltename"]

#Set the field to Read only

$Field.ReadOnlyField = $true

$Field.Update()

Danke viel mal für euren Input.
Schöne Woche noch
Liliane
Ohne Rang
47 Beiträge
anfänger Als Antwort am 21 Jan. 2015 08:06
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Eine Frage hätte ich noch.

Mache ich ein Denkfehler?

Wenn ich 2 verschiedenen Ansichten erstelle - und das "Read only" nur auf eine Ansicht codieren - dass dieses Befehl
nur für diese Ansicht gilt?

Danke Liliane

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 21 Jan. 2015 08:16
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Nein, sowas geht nicht. Sämtliche Einstellungden, die man für ein Feld machen kann, gelten immer global, d.h. überall wo das Feld verwendet wird.

Wenn Du da irgendeine Logik haben möchtest, mußt Du das mit JavaScript machen. Damit kann man dann in Abhängigkeit von irgendwelchen Randbedingungen das Feld aus- oder einblenden.

Viele Grüße
Andi
af @ evocom de
Blog