Почему в списках документов ПКО и РКО пропадают колонки Дата и Номер и как это исправить?

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

При работе в конфигурациях 1С:ERP Управление предприятием и 1С:Управление торговлей 11 администраторы и разработчики могут столкнуться со специфической ситуацией: у обычных пользователей в динамических списках документов ПриходныйКассовыйОрдер и РасходныйКассовыйОрдер внезапно пропадают стандартные колонки Дата и Номер. При этом пользователи сохраняют возможность создавать и проводить документы, а под полными правами интерфейс отображается корректно.

Попытка восстановить колонки через меню Еще → Изменить форму не приносит результата: стандартные поля Дата, Номер и даже реквизит Ссылка полностью отсутствуют в списке доступных полей формы и недоступны для добавления через кнопку «Добавить поля».

Почему платформа скрывает стандартные реквизиты списка

Разберем технические причины такого поведения платформы «1С:Предприятие 8.3»:

  1. Ограничение на уровне полей (RLS по реквизитам). Механизм RLS (Record Level Security) позволяет накладывать ограничения на право «Чтение» не только на объект целиком, но и на отдельные поля. Если шаблон ограничения ошибочно применен не к полю <Прочие поля>, а к определенным реквизитам, либо стандартные реквизиты (Ссылка, Номер, Дата) исключены из правила чтения, платформа на уровне ядра исключает их из схемы динамического списка. В таком случае поле становится физически недоступным для вывода на клиенте.
  2. Особенности динамических списков с объединением таблиц. Формы списков кассовых документов часто используют запросы с объединением (ОБЪЕДИНИТЬ ВСЕ) или виртуальные таблицы журналов документов. Если хотя бы в одной из связанных таблиц RLS ограничивает доступ к общим полям, платформа исключает данные реквизиты из итоговой выборки динамического списка для текущего сеанса.
  3. Сбой расчета ключей доступа (производительный RLS). В конфигурациях на базе БСП (Библиотеки стандартных подсистем) разграничение прав выполняется через регистры ключей доступа. Ошибки в фоновых заданиях обновления прав могут приводить к некорректной выдаче прав на чтение реквизитов.
  4. Ограничение прав на связанные объекты. Если шаблон RLS кассового документа проверяет разрезы (например, справочники Кассы или Организации), а у пользователя ограничено чтение реквизитов этих справочников, механизм безопасности может заблокировать связанные поля самого документа.

Пошаговое решение проблемы

Для исправления отображения колонок в кассовых документах выполним следующие шаги:

  1. Проверим настройки RLS в ролях пользователей. Откроем конфигурацию в режиме «Конфигуратор», перейдем к ролям, назначенным проблемным профилям групп доступа. Для документов ПриходныйКассовыйОрдер и РасходныйКассовыйОрдер проверим права Чтение и Просмотр. Убедимся, что шаблоны RLS (например, #ПоЗначениям или #ДляОбъекта) назначены на объект в целом (поле <Прочие поля>), а не на отдельные реквизиты документа.
  2. Проверим базовые роли чтения. Убедимся, что пользователю назначены типовые роли для чтения базовых справочников и журналов кассовых документов (например, роли на чтение касс и организаций).
  3. Выполним обновление прав доступа БСП. Перейдем в режим «1С:Предприятие» под администратором в раздел НСИ и администрирование → Обслуживание → Настройки пользователей и прав и запустим регламентные процедуры пересчета прав доступа или воспользуемся обработкой «Анализ прав доступа».
  4. Сбросим пользовательские настройки формы. После корректировки прав откроем форму списка кассовых документов под проблемным пользователем, нажмем Еще → Установить стандартные настройки. При необходимости выполним очистку сохраненных настроек через Администрирование → Настройки пользователей и прав → Очистка настроек для формы списка соответствующего документа.

Ограничения и рекомендации

Проанализируем важные особенности механизмов платформы при работе с правами:

Важно: если платформа скрыла реквизит из-за ограничений RLS, включить его программно в коде формы (например, через Элементы.Список.ПодчиненныеЭлементы...Видимость = Истина) невозможно, так как серверный контекст не возвращает данные по этому полю.

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

← На главную