Frage

Scheint, wie es eine einfache Sache wirklich sein würde (und es kann sein), aber ich versuche, die String-Daten von einer Spalte zu nehmen und dann durch eine berechnete Spalte, ersetzen Sie alle Felder mit% 20 sind so, dass die HTML Link im Workflow erzeugten E-Mail tatsächlich nicht auf dem ersten Raum abbrechen.

Zum Beispiel, haben wir diese in unserem Quellspalte:

file: /// Z: / data / Dies ist unser report.rpt

Und möchte mit diesem in der berechneten Spalte am Ende:

file: /// Z: /data/This%20is%20our%20report.rpt

verwenden Schon die REPLACE und machte eine grausige Super verschachtelte REPLACE / SEARCH-Version, aber das Problem ist, dass Sie für jeden potentiellen Raum zu nisten, und wenn Sie nicht wissen, wie viele vorne, es doesn‘ t Arbeit, oder werden einige verpassen.

Hat jemand von Ihnen in diesem Szenario kommen und wie Sie es umgegangen?

Vielen Dank im Voraus!

War es hilfreich?

Lösung

Soweit ich weiß, gibt es keine allgemeine Lösung die berechnete-Spalte Syntax. Die Standardlösung für diese Situation wird unter Verwendung eines ItemAdded (/ ItemUpdated) Ereignisse und den Feldwert von Code initialisiert wird.

Andere Tipps

  

, so dass der HTML-Link im Workflow erzeugten E-Mail tatsächlich nicht auf dem ersten Raum abbrechen.

Der Browser nur, dass diese, wenn Sie nicht eingeschlossen Ihr Link in Anführungszeichen

Wenn Sie den Link in Anführungszeichen wickeln, tut es nicht in dem ersten Raum abgeschnitten

In einer Sharepoint-Formel wäre es:

="""file:///Z:/data/This is our report.rpt"""

becuase zwei Zitate sind die SP Flucht Notation zur Ausgabe eines Zitat

Sie können diese Formel (Start für 1 trimmen, in meinem Fall war 4):

=IF(ISBLANK([EUR Amount]),"",(TRIM(MID([EUR Amount],4,2))&TRIM(MID([EUR Amount],6,2))&TRIM(MID([EUR Amount],8,2))&TRIM(MID([EUR Amount],10,2))&TRIM(MID([EUR Amount],12,2))&TRIM(MID([EUR Amount],14,2)))*1)

Ich konnte dieses Problem für meine Verhältnisse lösen, indem eine Reihe von berechneten Spalten verwenden.

In der ersten berechneten Spalte (C1) trat ich eine Formel, um den ersten Platz zu entfernen, so etwas wie folgt aus:

=IF(ISNUMBER(FIND(" ",[Title])),REPLACE([Title],FIND(" ",[Title]),1,"%20"),[Title])

In der zweiten berechneten Spalte (C2) I verwendet:

=IF(ISNUMBER(FIND(" ",[C1])),REPLACE([C1],FIND(" ",[C1]),1,"%20"),[C1]).

In meinem Fall wollte ich bis zu vier Räumen kodieren, so habe ich 3 berechnete Spalten (C1, C2, C3) in der gleichen Art und Weise und bekam das gewünschte Ergebnis.

Das ist nicht so effizient wie eine einzige berechnete Spalte, aber wenn SUBSTITUTE nicht in Sharepoint-Umgebung arbeiten, und Sie können nicht einen Event-Handler oder Workflow verwenden, kann es eine brauchbare Alternative bieten.

Ich habe tatsächlich eine etwas andere Formel, aber es war auf einer Arbeitsmaschine, auf die ich keinen Zugang zur Zeit, so dass ich nur packte diese Formel aus einem ähnlichen S.O. Frage. Jede Formel, die das erste Auftreten eines Raum ersetzen wird mit „% 20“ wird funktionieren, der Trick ist, a) um die Formel sicherzustellen, dass die ursprüngliche Zeichenfolge unverändert zurück, wenn es nicht mehr Räume hat in ihm, und b) Test, Test , Prüfung. Erstellen Sie eine Ansicht der Liste, die das Feld hat Sie zu kodieren versuchen, und die berechneten Felder, und sehen, ob Sie die Ergebnisse werden immer Sie wollen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top