Domanda

Sembra che sarebbe una cosa semplice, in realtà (e può essere), ma sto cercando di prendere i dati di stringa di una colonna e poi attraverso una colonna calcolata, sostituire tutti gli spazi con% 20 di modo che il codice HTML collegamento nel flusso di lavoro prodotta e-mail non sarà effettivamente rompere al primo spazio.

Per esempio, abbiamo questo nella nostra colonna di origine:

file: /// Z: / data / Questo è il nostro report.rpt

e vorrebbe finire con questo nella colonna calcolata:

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

Già utilizzato Sostituisci, e costituito da un super spettrale nidificato SOSTITUIRE versione / SEARCH, ma il problema non è che si deve fare il nido per ogni spazio potenziale, e se non si sa quanti in attacco, esso doesn' t lavoro, o salterà alcuni.

Qualcuno di voi venire attraverso questo scenario e come hai gestirlo?

Grazie in anticipo!

È stato utile?

Soluzione

Per quanto ne so non esiste una soluzione generica utilizzando la sintassi calcolata colonne. La soluzione standard per questo problema consiste nell'utilizzo di un evento ItemAdded (/ ItemUpdated) e inizializzare il valore del campo dal codice.

Altri suggerimenti

  

in modo che il link HTML nel flusso di lavoro prodotta e-mail verrà realtà non rompere al primo spazio.

Il browser solo questo se si dispone di non racchiuso il tuo link tra virgolette

Se si avvolge il collegamento tra virgolette, lo fa non tagliato al primo spazio

In uno SharePoint Formula sarebbe:

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

becuase due citazioni sono la notazione SP fuga in uscita un preventivo

È possibile utilizzare questa formula (Inizio assetto per 1, nel mio caso è stato di 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)

Sono stato in grado di risolvere questo problema per la mia situazione, utilizzando una serie di colonne calcolate.

Nella prima colonna calcolata (C1) sono entrato in una formula per rimuovere il primo spazio, qualcosa di simile a questo:

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

Nella seconda colonna calcolata (C2) ho usato:

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

Nel mio caso, ho voluto codificare fino a quattro spazi, così ho usato 3 colonne calcolate (C1, C2, C3) nello stesso modo ed ho ottenuto il risultato desiderato.

Questo non è efficiente come utilizzando una singola colonna calcolata, ma se SUBSTITUTE non funziona nell'ambiente SharePoint, e non è possibile utilizzare un gestore di eventi o di flusso di lavoro, può offrire un'alternativa praticabile.

Ho utilizzato una formula leggermente diversa, ma era su una macchina di lavoro a cui non ho accesso in questo momento, così ho preso questa formula da un S.O. simile domanda. Qualsiasi formula che andrà a sostituire la prima occorrenza di uno spazio con "% 20" funziona, il trucco è quello di a) assicurarsi che la formula restituisce la stringa originale invariato se non ha più spazi in esso, e b) test, test , test. Creare una vista della vostra lista che ha il campo si sta cercando di codificare, più i campi calcolati, e vedere se si stanno ottenendo i risultati desiderati.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top