Почему в 1С:Управление торговлей 11 пропадают колонки Сумма или Касса в списке документов под ограниченными правами?

Программист 1С v8.3 (Управляемые формы) 1С:Управление торговлей Управленческий учет Торговля и дистрибуция
← На главную

В процессе администрирования и настройки прав доступа в 1С:Предприятие 8.3, особенно в таких сложных конфигурациях как «Управление торговлей 11» (УТ 11), специалисты часто сталкиваются с загадочным поведением интерфейса. Одной из наиболее типичных, но труднодиагностируемых проблем является внезапное исчезновение стандартных колонок (например, СуммаДокумента, КассаККМ, Статус) в списках документов для пользователей с ограниченными правами. При этом под полными правами всё отображается корректно, а попытки включить видимость через «Изменить форму» не приносят результата — нужные поля просто отсутствуют в списке доступных.

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

Разберем архитектурную причину: Журнал документов vs Форма списка

Первым делом проанализируем ситуацию, описанную в теме. Пользователь ищет причину в форме списка конкретного документа Документ.ЧекККМ. Однако в современных типовых конфигурациях 1С, таких как УТ 11 или ERP, для отображения чеков часто используется не собственная форма списка документа, а общий Журнал документов (например, журнал «Чеки ККМ»).

Посмотрим на ключевое отличие. Список документа отображает данные только одной таблицы. Журнал документов — это объект метаданных, который объединяет несколько видов документов (например, ЧекККМ и ЧекККМНаВозврат). Именно здесь кроется корень проблемы, который мы назовем «правилом самого слабого звена».

Если в журнал входят несколько типов документов, платформа применяет следующий алгоритм:

  1. Система проверяет права пользователя на каждый объект метаданных (документ), входящий в этот журнал.
  2. Для корректного отображения общих граф журнала (таких как Сумма) пользователю необходимы права не только на Чтение, но и на Просмотр всех типов документов, которые являются источниками данных для этой графы.
  3. Если на какой-то один документ из списка (даже если вы им не пользуетесь) прав нет, платформа исключает общую графу из запроса динамического списка в целях безопасности. В результате колонка исчезает бесследно.

Проанализируем влияние прав доступа и ролей

Рассмотрим ситуацию глубже. В 1С права на объекты разделяются на «Чтение» (доступ к данным на уровне базы) и «Просмотр» (возможность видеть данные в интерфейсе). Чтобы колонка была видна в журнале, проверьте следующие настройки в конфигураторе или в профилях групп доступа:

Изучим программные способы управления видимостью

Если с правами на объекты метаданных всё в порядке, но колонка всё равно не отображается, выясним причину в программном коде. В типовых конфигурациях на базе БСП (Библиотека стандартных подсистем) видимость элементов часто настраивается динамически при создании формы.

Разберем, где искать такие настройки:

1. Метод ПриСозданииНаСервере: Проверьте модуль формы журнала. Даже если там нет кода, он может вызывать общие модули. Ищите вызовы процедур, связанных с установкой прав и видимости. Пример кода, который может скрывать колонку:


&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    // Пример программного скрытия колонки по условию прав
    Если Не РольДоступна("ПолныеПрава") Тогда
        ЭлементСумма = Элементы.Найти("СписокСуммаДокумента");
        Если ЭлементСумма <> Неопределено Тогда
            ЭлементСумма.Видимость = Ложь;
        КонецЕсли;
    КонецЕсли;
КонецПроцедуры

2. Функциональные опции: Проанализируйте, не привязана ли графа журнала к функциональной опции. В конфигураторе откройте свойства графы журнала и посмотрите поле «Функциональные опции». Если там указана опция, которая отключена в пользовательском режиме (например, «Использовать несколько валют»), колонка исчезнет у всех, кроме администраторов.

Посмотрим на настройки динамического списка

Иногда проблема кроется в самом запросе динамического списка. Если список строится на основе Произвольного запроса, платформа анализирует поля, используемые в секции ВЫБРАТЬ.

Проанализируем ситуацию с RLS (Record Level Security). Если включено ограничение доступа на уровне записей, и в запросе происходит соединение с таблицей, к которой у пользователя нет доступа (даже по одному полю), платформа может «обрезать» часть данных. В УТ 11 это часто касается полей Организация, Касса или Подразделение. Если колонка в интерфейсе завязана на такое поле, она может стать недоступной.

Разберем порядок действий для решения проблемы

Подведем итог и составим пошаговый алгоритм действий для специалиста:

  1. Идентификация объекта: Уточните, является ли форма списком одного документа или это Журнал документов. Это критически важно.
  2. Проверка прав на состав: Если это журнал, откройте его состав в конфигураторе. Проверьте через «Отчет по правам доступа», есть ли у проблемного пользователя право Просмотр на каждый документ из этого состава.
  3. Проверка функциональных опций: Выясните, не привязаны ли реквизиты СуммаДокумента или Касса к опциям, которые могут быть выключены.
  4. Сброс настроек пользователя: Иногда «кэш» настроек формы мешает отображению. Перейдите в Администрирование — Настройки пользователей и прав — Персональные настройки интерфейса и очистите настройки для нужной формы у конкретного пользователя.
  5. Глобальный поиск: Выполните поиск по имени колонки (например, «СуммаДокумента») по всей конфигурации. Это поможет найти скрытые механизмы БСП или расширения, которые могут программно управлять свойством Видимость или ПользовательскаяВидимость.

Как показывает практика и обсуждение в теме, чаще всего в УТ 11 проблема решается именно через анализ состава Журнала документов и добавление недостающих прав на просмотр всех связанных типов документов. Помните, что 1С стремится обеспечить максимальную безопасность данных, и скрытие колонки в журнале — это штатный механизм защиты от несанкционированного доступа к информации, собранной из разных источников.

← На главную