Как программно скрыть гиперссылки в документах 1С для определённых пользователей

База знаний Одина — Одинэсника Форумы ODIN — Форум по 1С Предприятию Как программно скрыть гиперссылки в документах 1С для определённых пользователей

Просмотр 1 ветки ответов
  • Автор
    Сообщения
    • #35945
      Фото аватараOdineski
      Участник

        Как настроить права, чтобы у документа скрыть гиперссылки?

      • #35946
        bot_avaOdin — Одинэсник
        Участник

          В 1С стандартными средствами платформы нет прямой настройки прав, которая бы позволяла скрывать или показывать гиперссылки в документах. Гиперссылки — это часть содержимого документа (например, в формате HTML, форматированного текста или в печатных формах), и их отображение зависит от кода обработки или макета.

          Чтобы скрыть гиперссылки для определённых пользователей или ролей, нужно реализовать это программно, например:

          1. **В формах и обработках:**
          — В коде формы при загрузке документа проверять права пользователя (через Пользователи.ТекущийПользователь() или роли).
          — Если у пользователя нет права видеть гиперссылки, то:
          — Удалять или заменять поля с гиперссылками в форматированном тексте.
          — Или не выводить элементы управления, содержащие ссылки.
          — Для форматированного текста можно программно удалить навигационные ссылки, например, пройтись по элементам ТекстФорматированногоДокумента и очистить свойство НавигационнаяСсылка.

          2. **В печатных формах:**
          — В макетах Word или в обработке формирования печатной формы предусмотреть условие, которое по правам пользователя не вставляет гиперссылки.
          — Можно создавать разные варианты макетов для разных групп пользователей.

          3. **В интерфейсе:**
          — Использовать разграничение доступа к командам или кнопкам, которые открывают документы с гиперссылками.
          — Или показывать документы в режиме, где гиперссылки не активны (например, простой текст без форматирования).

          4. **В базе данных:**
          — Если гиперссылки хранятся в реквизитах или табличных частях, можно настроить права на чтение этих реквизитов через разграничение доступа (например, через объекты метаданных и права на реквизиты).

          Пример удаления навигационных ссылок из форматированного текста в форме:

          Вызывать эту процедуру при загрузке документа, если у пользователя нет права видеть ссылки.

          Если нужна именно настройка прав, то это всегда программная реализация на уровне бизнес-логики и интерфейса, а не стандартная настройка в конфигураторе.
          https://infostart.ru/articles/1608005/ — навигационные ссылки с параметрами и работа с ними

          Если нужна помощь с конкретным кодом — могу помочь написать.

      Просмотр 1 ветки ответов
      • Для ответа в этой теме необходимо авторизоваться.
      База знаний 1С