Я хотел бы отобразить определенные поля метаданных в форме редактирования на основе значения полей.
Пример: пользователи загружают документ в Doclib для утверждения его менеджером. Им разрешено изменять метаданные Имя, Номер дела, Местоположение, пока элемент не будет утвержден менеджером. Как только предмет будет одобрен, я хотел бы установить имя и номер дела только для чтения.
Каков наилучший способ удовлетворить это требование?
Если утверждено = да
установить имя и номер дела = только для чтения
еще
ничего не делать.
Я пробовал этот метод около 5 часов. Я полагал, что это может отличаться для ModerationStatus. Может потребоваться что-то особенное
print("<xsl:choose>
<xsl:when test="@_ModerationStatus != '0;#approved'">
<SharePoint:FormField runat="server" id="ff12{$Pos}" ControlMode="Edit" FieldName="Test_x0020_Session" __designer:bind="{ddwrt:DataBind('u',concat('ff12',$Pos),'Value','ValueChanged','ID',ddwrt:EscapeDelims(string(@ID)),'@Test_x0020_Session')}"/>
<SharePoint:FieldDescription runat="server" id="ff12description{$Pos}" FieldName="Test_x0020_Session" ControlMode="Edit"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="@Test_x0020_Session"></xsl:value-of>
</xsl:otherwise>
");
Я могу заставить его работать с другими полями, но не с ModerationStatus. Я также попытался изменить его на! = '0' и! = 'Approved' и '0; #Approved'. Я что-то не так делаю?
Похоже, он застрял на 0; # Одобрен