문제

정말 간단한 것 같아서 (그리고 그럴 수도 있음), 열의 문자열 데이터를 가져 와서 계산 된 열을 통해 모든 공백을 %20으로 바꾸어 HTML 링크가 워크 플로우 생성 이메일은 실제로 첫 번째 공간에서 분류되지 않습니다.

예를 들어 소스 열에 이것을 가지고 있습니다.

파일 : /// z :/data/this is report.rpt

계산 된 열에서 이것으로 끝나고 싶습니다.

파일 : /// z : /data/this%20is%20our%20report.rpt

이미 교체를 사용하고 끔찍하게 중첩 된 교체/검색 버전을 만들었지 만 문제는 각 잠재적 공간에 대해 둥지를 두어야한다는 점이며, 앞쪽이 얼마나 많이 작동하는지 모르면 작동하지 않습니다. 아니면 일부를 놓칠 것입니다.

당신 이이 시나리오를 발견했으며 어떻게 처리 했습니까?

미리 감사드립니다!

도움이 되었습니까?

해결책

내가 아는 한, 계산 된 컬럼 구문을 사용하여 일반적인 솔루션이 없습니다. 이 상황의 표준 솔루션은 항목 표시 (/itemupdated) 이벤트를 사용하고 코드에서 필드 값을 초기화하는 것입니다.

다른 팁

워크 플로우 생성 이메일의 HTML 링크가 실제로 첫 번째 공간에서 분류되지 않도록합니다.

브라우저는 귀하가있는 경우에만이 작업을 수행합니다 ~ 아니다 당신의 링크를 따옴표로 동봉했습니다

링크를 따옴표로 랩핑하면 ~ 아니다 첫 번째 공간에서 잘라

SharePoint 공식에서는 다음과 같습니다.

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

두 가지 인용문은 견적을 출력하는 SP 탈출 표기법입니다.

이 공식을 사용할 수 있습니다 (제 경우에는 1에 대한 시작 트림, 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)

일련의 계산 된 열을 사용 하여이 문제를 해결할 수있었습니다.

첫 번째 계산 된 열 (C1)에서 나는 첫 번째 공간을 제거하기위한 공식에 들어갔다.

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

두 번째 계산 열 (C2)에서 나는 사용했다.

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

제 경우에는 4 개의 공간을 인코딩하고 싶었으므로 동일한 방식으로 3 개의 계산 된 열 (C1, C2, C3)을 사용하여 원하는 결과를 얻었습니다.

이것은 단일 계산 열을 사용하는 것만 큼 효율적이지 않지만 SUBSTITUTE SharePoint 환경에서는 작동하지 않으며 이벤트 핸들러 또는 워크 플로를 사용할 수 없으므로 실행 가능한 대안을 제공 할 수 있습니다.

실제로 약간 다른 공식을 사용했지만 현재 액세스 할 수없는 작업 기계에 있었기 때문에 비슷한 질문 에서이 공식을 잡았습니다. 공간의 첫 번째 발생을 "%20"으로 대체하는 모든 공식은 작동하며, 트릭은 a) 공식이 더 많은 공간이없는 경우 원래 문자열을 변경하지 않은지 확인하고 b) 테스트, 테스트 , 테스트. 인코딩하려는 필드와 계산 된 필드가있는 목록을 작성하고 원하는 결과를 얻는 지 확인하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top