СКД: что меняется в системе под воздействием ролей 
и функциональных опций

Технические статьи

В этом пособии мы детально разберём, как роли и функциональные опции воздействуют на систему компоновки данных (СКД), а также рассмотрим порядок формирования внешних отчётов в среде 1С.

Функциональные опции СКД: для чего они нужны и как их конфигурировать

Сначала определим, какие опции предусмотрены в изучаемой конфигурации и за что отвечает каждая из них. Работать будем в усовершенствованной консоли СКД из учебной программы «1С Предприятие», взятой с АТС.

Screenshot_10.png

Отправная точка — опция «Учёт по складам». Её структура объединяет:

Screenshot_11.png

Эти же данные доступны в конфигураторе.

При переходе в раздел «Регистры накопления» и нажать «Дополнительно», где расположены «Товарные запасы», станет ясно: регистр накопления как таковой в опцию не входит, а параметр «Склад» содержится в опции «Учёт по складам».

Screenshot_12.png

Содержится она в константе «Учёт по складам».

Screenshot_13.png

Переходим в режим работы с программой «1С Предприятие». В консоли СКД формируем схему: в «Запросе» устанавливаем «Товарные запасы — Остатки», отмечаем имеющиеся графы.

Screenshot_14.png

Применим минимальную настройку — детальные записи, — отметив графы: «Склад», «Товар», «Количество — Остаток». Итог этой операции:

Screenshot_15.png

Далее в параметрах БД деактивируем соответствующую функцию — уберём галочку «Учёт по складам».

Screenshot_16.png

Построим отчёт заново — графы «Склад» в нём не окажется.

Screenshot_17.png

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

Screenshot_18.png

Вернёмся в параметры системы, снова активируем «Учёт по складам» и войдём в СКД: поле «Склад» восстановится — как в перечне доступных, так и в списке выбранных.

Screenshot_19.png

Вывод: когда какое-либо поле фигурирует в перечнях «Наборы данных» или «Вычисляемые поля», но его применение отключено в функциональных опциях, оно исчезнет из списка доступных.

Как влияет отсутствие поля на СКД: создаём внешний отчёт в 1С

Переходим к вопросу о том, как отсутствие полей меняет работу системы компоновки данных.Немного скорректируем запрос: используем физическую таблицу «Товарные запасы» и выделим все поля — «Склад», «Товар», «Количество — Остаток».

Screenshot_20.png

В выбранных полях отметим «Регистратор», а также его дочернее поле. Дата», которое тоже» перенесём в список «выбранных».

Screenshot_21.png

Поскольку отчёт формируется при «полных правах», всё «работает» корректно.

Screenshot_22.png

Сохраним схему в файл и откроем «конфигуратор». Изучим весь перечень «ролей» и убедимся: есть ли среди них та, что запрещает пользователю читать «документы движения товаров — «Приход товара», «Расход товара», «Операция по учёту «товара». Как выяснится, каждая из ролей открывает «возможность чтения» или «доступ к просмотру».

Screenshot_23.png

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

Screenshot_24.png

В справочнике «Товары» выставляем «Просмотр».

Screenshot_25.png

В справочнике «Склады» — право «Ввод по строке».

Screenshot_26.png

В документе «Приход товара» открываем полный доступ: «Чтение» и «Просмотр».

Screenshot_27.png

Для документа «Расход товара» предоставим право «Чтение» и задействуем ограничение доступности. На вкладке «Условия» пропишем условие «ГДЕ ЛОЖЬ»: оно разрешает адресоваться к таблице документов «Расход товара», однако получить что-либо не получится.

Screenshot_28.png

Чтобы хотя бы представление документа оставалось видимым, внесём поля «Ссылка», «Номер», «Дата» — не привязывая к ним каких-либо ограничений.Для документа «Операция по учёту товаров» откроем право «Чтение». Ограничивающее условие — «ГДЕ ЛОЖЬ»; в поля занесём единственную позицию — «Ссылку». 

Screenshot_29.png

В регистре «Товарные запасы» назначим права «Чтение» и «Просмотр».

Screenshot_30.png

Выполним обновление БД и добавим пользователя «Приход товара», деактивировав защиту от угроз — в нашем случае она не нужна. После этого закрепим за ним только что сформированную роль «Приход товара (демо)».

Screenshot_31.png

Сформируем новый внешний отчёт и загрузим в него подготовленную СКД. В ней отображаются: «Товарные запасы», «Регистратор», «Регистратор». Дата». В» подробных «записях» указаны «Регистратор» и «Регистратор. »«Дата»» — к ним нужно подойти особенно внимательно.

Screenshot_32.png

Сохраним «Внешний отчёт 3» и начнём отладку в режиме «Толстый клиент» под учётной записью «Приход товара».

Screenshot_33.png

В наборе данных «Запрос» установим флаг «Разрешённые». Сохраним отчёт, запустим его в режиме «1С Предприятие» и посмотрим, что получилось.

Screenshot_34.png

В сформированном отчёте присутствуют «Поступление товара» и «Продажа». Между «Продажей» и «Корректировкой движения товара» заметно различие, обусловленное недостатком доступа:

Отсюда очевидно, что одной ссылки для отображения «Представления» недостаточно — требуется указать «Номер» и «Дату».

Screenshot_35.png

Еще раз посмотрим на отчет: в числе выбранных полей есть «Регистратор», «Склад» и «Товар». Дополним этот список полем «Регистратор. Дата», а чтобы информация выводилась в самостоятельных столбцах, в параметре «Расположение реквизитов» установим значение «Отдельно».

После того как отчёт сформирован, картина такова: поле «Дата» отображается для документов прибытия товаров, но не отображается для «Продажи» и «Корректировки движения документов».

Screenshot_36.png

Вернёмся к конфигурированию схемы и изучим актуальные настройки. В разделе «Выбранные поля» укажем «Регистратор». Дата» — она будет присутствовать в числе «выбранных». В «Расположении реквизитов» зафиксируем «значение «Отдельно».

Screenshot_37.png

В режиме «1С Предприятие» поле «Регистратор. Дата» отсутствует ни среди доступных, ни среди выбранных — система его удалила.

Screenshot_38.png

Важно! Если пользователь не располагает правами как минимум на один из типов, составляющих составной тип (при расхождении полей составного типа в СКД), соответствующее поле окажется закрытым в режиме «1С Предприятие».

Решить эту проблему реально. Когда требуется дата регистратора исключительно с типом «Приход товара», в запрос достаточно вписать: Выразить (Товарные Запасы. Регистратор КАК Документ. Приход товара. Дата).

Эта конструкция даёт СКД указание извлекать значение исключительно из столбца «Количество товара». Она доступна, поэтому поле в режиме «1С Предприятие» удаляться не должно.

Удостоверимся в этом. В обновлённой БД активируем режим «Толстый клиент». Откроем «Внешний отчёт 3»: поле «Регистратор. Дата» присутствует в списке избранных и отражает исключительно время документа поставки продукции.

Screenshot_39.png

Таким образом, необходимый внешний отчёт успешно создан и готов к использованию.

Резюмируем

В настоящей статье мы детально рассмотрели:

Надеемся, что изложенный материал поможет вам в работе.

Разработка и новости из мира 1С
Подпишитесь на Телеграм-канал, чтобы быть в курсе
Подписаться

Эту статью хорошо дополняют

Доставка в 1С:ERP. Инструкция по работе с базовым функционалом

Склад в 1С: ERP — обзор возможностей (часть 3)

Реализация конфигурации с нуля. Портал для клиентов организации с синхронизацией с учетной системой

Получить консультацию

Наш специалист по 1С ответит на все вопросы и подберёт оптимальное решение ваших задач

Нужна помощь, но не знаете, с чего начать?

Напиште нам - мы поможем. Выслушаем Ваши задачи для бизнеса и подберём вариант развития

Лидия Алимова
Руководитель отдела продаж implecs
Иконка стрелки вверх