Скрывать элементы можно на JS с помощью клиентского API веб-доступа и через jQuery, а также в прикладном событии справочника «Форма-карточка.Показ», означивая свойство Visible.
Предварительные действия
XML
<!-- В веб-модуле MyExt переопределяем стандартную карточку записи справочника AllReq с помощью класса AllReqCardForm -->
<Extension name="MyExt" title="My_Extension" jsfile="/js/myext.js">
<Cards>
<Card type="ReferenceRecord" refcode="AllReq" jsfile="/js/myext.js" customcardformclass="DIRECTUM.WebAccess.Extensions.MyExt.AllReqCardForm, NpoComputer.WebAccess.Components ">
</Card>
</Cards>
</Extension>
JS
(function (global) {
WA.ready(function () {
switch (WA.getLocation()) {
case 'reference':
// Карточка записи справочника.
switch (WA.CR.getReferenceCode()) {
case 'AllReq':
// Справочник "Все реквизиты" (AllReq).
// Вычисления при открытия карточки справочника «Все реквизиты».
// Код, описанный ниже.
break;
//...
}
break;
case 'referencerecords':
// Список записей справочника.
break;
}
});
})(window);
|
Постоянное скрытие элементов
var labelDfmName = 'STLabel1';
$('.CardForm_Label_Standalone').filter('[name=' + labelDfmName + ']').hide();
var tableDfmName = 'STcxGrid1';
var tableDetailNumber = 1;
// По DFM-имени.
WA.CR.form.controls.tables[tableDfmName]._jObject.hide();
// По номеру табличной части.
WA.CR.details[tableDetailNumber].getTable()._jObject.hide();
• | колонок табличных частей: |
var table2DfmName = 'STcxGrid2';
var table2DetailNumber = 2;
var table2ColumnName = 'НомСтр';
var table2 = WA.CR.form.controls.tables[table2DfmName];
var visCols = table2._grid.getVisibleColumns();
var newVisCols = _(visCols).filter(function (col) {
// Убрать нужную колонку.
return col.id != table2ColumnName;
});
table2._grid.setVisibleColumns(newVisCols);
var requisiteName = 'НашаОрг';
WA.CR.form.requisites[requisiteName].hide();
var groupDfmName = 'STGroupBox1';
$('.CardForm_Group').filter('[name=' + groupDfmName + ']').hide();
var toolbarButtonName = 'SendAsAttachment';
WA.CR.toolBar.buttons[toolbarButtonName].hide();
// Первая закладка.
WA.CR.sideBar.tabs["Card"].hide();
// Вторая закладка.
WA.CR.sideBar.tabs["TabHeader2"].hide();
var hyperLinkDfmName = 'STHyperLinkLabel1';
WA.CR.form.controls.links[hyperLinkDfmName].hide();
|
В зависимости от значений других реквизитов карточки
Скрытие подхватывается из прикладного события «Форма-карточка.Показ» и в вычислениях на реквизитах.
|
В зависимости от значений реквизитов связанного объекта
Скрытие подхватывается из прикладного события «Форма-карточка.Показ» и в вычислениях на реквизитах.
|
В зависимости от информации о текущем пользователе
Под информацией о текущем пользователе подразумеваются его права, вхождение в группы пользователей, нахождение на определенном уровне иерархии в орг. структуре и т.п.
Скрытие подхватывается из прикладного события «Форма-карточка.Показ» и в вычислениях на реквизитах.
|