Копировать ссылку на страницу Перейти в предыдущий раздел Перейти в следующий раздел

Подробнее В зависимости от значения других реквизитов карточки

 

var Organization = "Организация";
var Unit = "Подразделение";
WA.CR.form.requisites[Organization].bind('change', function (req, event, newOrg) {
if (newOrg.value === "38838") {
  // Изменить название реквизита "Подразделение",

  // если ИД реквизита "Организация" равно 38838.
   WA.CR.form.requisites[Unit].setLabel("Департамент");
 
// Изменить текст метки, не относящейся к реквизиту на форме.
   $('div[name="NetAssetsLabel2"]').text("Новый текст метки");
}
});

 

Подробнее В зависимости от значений реквизитов связанного объекта

В атрибуте CustomCardFormClass получаем нужные связанные объекты и возвращаем на страницу данные этих объектов, влияющие на изменение текстов меток и названий реквизитов, в js-объект AllBoundReqData.

.NET

 

Imports NpoComputer.WebAccess
Imports NpoComputer.WebAccess.API
Imports NpoComputer.WebAccess.API.RequisiteDescription
Imports System.Web.UI
Imports NpoComputer
Imports NpoComputer.WebAccess.Components
Imports System.Text
 
Namespace DIRECTUM.WebAccess.Extensions.MyExt
 
''' <summary>
''' Класс для работы с карточкой "Все реквизиты".
''' </summary>
''' <remarks></remarks>
Public Class AllReqCardForm
   Inherits CardForm
 
  ''' <summary>
  ''' Конструктор класса.
  ''' </summary>
  ''' <param name="RefRec">Запись справочника</param>
  ''' <param name="ViewCode">Представление</param>
  ''' <remarks></remarks>
  Public Sub New(ByVal RefRec As ReferenceRecord, ByVal ViewCode As String)
     MyBase.New(RefRec, ViewCode)
  End Sub
 
   Protected Overrides Sub RegisterScript()
     MyBase.RegisterScript()
 
    ' Получить объект, связанный с текущим объектом Me.DataObject,
    ' потом выгрузить на страницу все его данные,
    ' касающиеся изменения текстов меток и названий реквизитов.
 
    Dim ScriptRenderText As New StringBuilder
     ScriptRenderText.Append("<script>")
     ScriptRenderText.Append(String.Format("AllBoundReqData={0};", New With {
       .boundDocSomeData = "test"
     }.ToJSON()))
     ScriptRenderText.Append("</script>")
     Page.ClientScript.RegisterClientScriptBlock(Me.GetType, "AllReqCardForm", ScriptRenderText.ToString)
  End Sub
End Class
End Namespace

JS

 

if (AllBoundReqData. boundDocSomeReq === 'test') {
  // Изменить описание поля «Подразделение».
  Var Unit = "Подразделение";
  WA.CR.form.requisites[Unit]. setLabel("Департамент");
// Изменить текст метки, не относящейся к реквизиту на форме.
   $('div[name="NetAssetsLabel2"]').text("Новый текст метки");
}

 

Подробнее В зависимости от информации о текущем пользователе

Под информацией о текущем пользователе подразумеваются его права, вхождение в группы пользователей, нахождение на определенном уровне иерархии в орг. структуре и т.п.

Часть информации о текущем пользователе есть в WA.CR.user. Если этого не достаточно, то нужно делать аналогично связанным объектам.

© Компания DIRECTUM, 2018 Сообщество пользователей DIRECTUM
.navbar > a:hover { background: #FFD73B; }