emsir
Егор Ширялин
0 комментариев 2 399 18.07.2023

Как запретить менять данные ссылочного типа в колонке табличной части, сохранив возможность для их просмотра (УФ)

Для тех, кто не хочет читать статью начну сразу с ответа. Вот эти свойства нужного нам поля следует изменить:

  1. КнопкаВыпадающегоСписка = Нет
  2. КнопкаВыбора = Нет
  3. КнопкаСоздания = Нет
  4. РедактированиеТекста = Ложь (отжать галочку)
  5. БыстрыйВыбор = Нет
  6. ИсторияВыбораПриВводе = Не использовать
При этом для возможности просмотра элемента поля ссылочного типа свойство ТолькоПросмотр следует оставить в значении Ложь

Теперь подробнее для тех, кто еще не понял о чем речь.

Итак, у нас есть табличная часть на форме. Например, такая:

Эта табличная часть каким-то образом заполняется и мы хотим показать в ней данные пользователю, но так, чтобы он не мог их изменить. При этом нам нужно, чтобы он мог "проваливаться" в данные ссылочного типа, чтобы ознакомиться с ними. Например, посмотреть счет или зайти в карточку контрагента.

Вот так:

При этом крайне нежелательно, чтобы в следствие случайных или преднамеренных действий пользователь испортил данные. Например, подставил вместо одного контрагента другого или изменил счет. Для этого нам нужно убрать все установленные по умолчанию возможности по изменению данных в полях. Создание нового элемента в рамках нашей задачи тоже будем считать нежелательным действием.

Итак, вот исчерпывающий список нежелательных элементов:

  1. Кнопка выпадающего списка
  2. Кнопка выбора
  3. Опция "Показать все"
  4. Возможность создания элемента
  5. Выбор элемента из истории вариантов
  6. Быстрый поиск элемента вводом с клавиатуры

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

Избавляемся от кнопки выпадающего списка

Заходим в палитру свойств элемента и находим свойство "КнопкаВыпадающегоСписка". По умолчанию оно установлено в значение "Авто". Нам же нужно изменить его на "Нет".

Убираем кнопку выбора и опцию "Показать все"

Свойство "КнопкаВыбора" избавит нас сразу от двух нежелательных элементов, позволяющих пользователю несанкционированно изменить данные в нашей табличной части. Это свойство также нужно изменить с "Авто" на "Нет".

Закрываем возможность создания элемента

Для этого ищем свойство "КнопкаСоздания" и так же меняем его на "Нет".

Убираем выбор из истории вариантов

История вариантов - это когда мы дважды нажимаем на ячейку поля и система показывает нам элементы, которые мы ранее использовали при заполнении данных в системе. Выглядит это так:

Но нам такое не подходит. Чтобы закрыть эту возможность нужно найти свойство "ИсторияВыбораПриВводе" и переключить его в значение "Не использовать", а также установить свойство "БыстрыйВыбор" в значение "Нет".

Запрещаем быстрый поиск элемента вводом с клавиатуры

Последняя возможность несанкционированно изменить ссылочные данные - это войти в режим редактирования и набить данные руками. Чтобы прикрыть эту лазейку найдем свойство "РедактированиеТекста" и снимем флаг.

Чтобы гарантированно защитить таблицу от редактирования нужно запретить команды добавления, копирования, изменения и удаления данных. Для этого у таблицы есть свойство "Состав команд". В открытом перечне нужно снять флаги у команд "Добавить", "Скопировать", "Изменить" и "Удалить".

Теперь у пользователя нет ни единого шанса испортить нашу таблицу. Пользуйтесь на здоровье!

Комментарии (0)

Для добавления комментария необходимо авторизоваться.

Вход | Регистрация