СКД: влияние ролей и функциональных опций
-
В этой статье мы вместе с вами пошагово разберем влияние ролей и функциональных опций на работу системы компоновки данных и создание внешних отчетов 1С.
Функциональные опции СКД: расширение возможностей и гибкость конфигурирования
Итак, для начала мы с вами рассмотрим какие вообще функциональные опции есть в этой конфигурации. И обязательно определим на что они влияют. Для этого будем использовать в демонстрационном приложении «1С Предприятие» доработанную консоль системы компоновки данных, взятых с АТС
Начнем с функциональной опции «Учет по складам».
В ее состав входят:
- справочник «Склады»;
- документы, влияющие на вложения: «Приход товара», «Расход товара», «Заказ»;
- «Регистры накопления», где накапливается движение: «Измерения», «Склад»
То же самое можно посмотреть в конфигураторе.
Если открыть в «Регистры накопления» кнопку «Дополнительно», где размещены «Товарные запасы», то мы увидим, что сам регистр накопления не входит в состав функциональной опции, а вот измерение «Склад» уже включен в функциональную опцию «Учет по складам»
Данная функциональная опция хранится в константе «Учет по складам»
Вернемся в режим «1С Предприятие». В консоли системы компоновки данных добавим схему: в наборе данных «Запрос» выберем «Товарные запасы – Остатки» и все поля
Выполним простую настройку в виде детальных записей. Для этого выберем поля: «Склад», «Товар», «Количество – Остаток». Получаем результат, представленный на скриншоте ниже
Затем в настройках базы данных отключим функциональную опцию. Для этого в общих настройках отключаем «Учет по складам»
Скомпануем отчет еще раз. Мы видим, что теперь поле «Склад» не выводится
Причем, если посмотреть на настройки, то среди доступных полей поле «Склад» отсутствует. Но если зайти в конструктор схемы компоновки данных, то в выбранных полях у нас отображается поле «Склад» (с красным крестиком). А значит, оно теперь недоступно
Вернувшись в настройки программы и включив функциональную опцию «Учет по складам», а также открыв конструктор схемы компоновки данных, мы увидим, что поле «Склад» появилось и в доступных полях, и в настройке полей
Вывод: если на вкладке «Наборы данных» или «Вычисляемые поля» у нас присутствует одно из полей, но при этом в функциональных опциях использование данного поля отключено, то в режиме «1С Предприятие» среди доступных полей это поле также будет отсутствовать.
Влияние ролей на СКД, создание внешнего отчета 1С
А теперь рассмотрим как влияют роли на систему компоновки данных. Для этого немного исправим запрос. Будем использовать физическую таблицу «Товарные запасы». Выберем все поля: «Склад», «Товар», «Количество – Остаток»
В выбранных полях выберем поле «Регистратор» и его дочернее поле «Регистратор. Дата». Также добавим его в выбранные поля
Отчёт компонуется под полными правами, поэтому все работает прекрасно
Сохраним схему в файл и перейдем в конфигуратор. Обратим внимание на все роли и проверим: есть ли у нас в системе роль, которая ограничивает пользователя в чтении документа движения товаров («Приход товара», «Расход товара», «Операция по учету товара»). Как видно, все роли предоставляют хотя бы право на чтение либо на просмотр
Создадим новую роль «Приход товара» (демо) и дадим право администрирования, чтобы работала консоль СКД, также право запуска «Толстый клиент» и «Интерактивное открытие внешних отчетов», поскольку мы будем создавать внешний отчет, надо иметь право его открывать
В справочнике «Товары» настраиваем право на «Просмотр»
В справочнике «Склады» настраиваем право на «Ввод по строке»
В справочнике «Приход товара» устанавливаем полные права на «Чтение» и «Просмотр»
К документу «Расход товара» дадим право «Чтение» и включим ограничение доступности. Для этого на вкладке «Условия» укажем простое условие « ГДЕ ЛОЖЬ». Это разрешит обращаться к таблице документов «Расход товара», но ни один документ увидеть не удастся
Чтобы можно было увидеть хотя бы представление документа, добавим поля: «Ссылка», «Номер», «Дата», при этом не задав для них никаких условий.
Для документа операция для учета товаров предоставим право на «Чтение». Для ограничения доступа укажем условие «ГДЕ ЛОЖЬ», а в поля добавим только поле «Ссылка»
В регистре «Товарные запасы» добавим права на «Чтение» и «Просмотр»
Обновим конфигурацию базы данных и добавим пользователя «Приход товара», отключим защиту от опасных действий (она не понадобится). Затем назначим ему роль «Приход товара» (демо), которую мы только что создали
Создадим новый внешний отчет и загрузим туда созданную схему компоновки данных. Здесь у нас: «Товарные запасы», «Регистратор», «Регистратор. Дата». В детальных записях выбраны поля «Регистратор» и «Регистратор. Дата», на которые следует обратить внимание
Сначала сохраним «Внешний отчет 3». Затем запустим отладку в режиме «Толстый клиент» под пользователем «Приход товара»
Кроме того, в наборе данных «Запрос» добавим флаг «Разрешенные». Сохраним отчет и откроем его в режиме «1С Предприятие». Посмотрим как сформировался отчет
Мы видим документы «Поступление товара» и «Продажа». Также замечаем разницу в документе «Продажа» и документе «Корректировка движения товара». Эта разница получилась в связи с ограничением доступа:
- в документе «Расход товара» мы установили доступные поля «Ссылка», «Номер», «Дата»,
- а в документе «Операция по учету товара» доступно только поле «Ссылка».
Поэтому можно сделать вывод: ссылки не достаточно для отображения «Представление». Поэтому добавляем поля «Номер» и «Дата»
Проверим настройки отчета. Среди выбранных полей присутствует только поле «Регистратор», «Склад», «Товар». Добавим поле «Регистратор. Дата». И чтобы эти данные вывелись в отдельных колонках, нужно в параметре «Расположение реквизитов» выбрать значение «Отдельно».
Сформировав отчет, мы видим, что для документов поступления товаров дочернее поле «Дата» мы можем вывести, а для документов «Продажа» и «Корректировка движения документов» – нет
Вернемся в конфигуратор в конструктор схемы и проверим какие здесь есть настройки . В настройке «Выбранные поля» добавим поле «Регистратор. Дата» и оно также доступно среди выбранных полей. В параметре «Расположение реквизитов» выбираем значение «Отдельно».
В режиме «1С Предприятие» среди доступных выбранных полей нет поля «Регистратор. Дата» и в выбранных полях оно тоже было удалено
Важное замечание! Если у пользователя не хватает прав на один из типов, входящий в состав этого составного типа (при несовпадении полей составного типа в СКД), данное поле будет недоступно пользователю в режиме «1С Предприятие».
Данную ситуацию можно обойти. Если нас интересует дата регистратора только с типом приход товара, то мы можем в запросе написать: «Выразить (Товарные Запасы. Регистратор КАК Документ. Приход товара. Дата)»
Это выражение скажет СКД о том, что данное поле нужно брать только из таблицы «Приход товара». Доступ к этой таблице у поля имеется, поэтому в режиме «1С Предприятие» данное поле не должно быть удалено. И мы это проверим.
Для этого обновим конфигурацию базы данных и зайдем в режиме «Толстый клиент». Сформируем «Внешний отчет 3». И видим что поле «Регистратор. Дата» доступно среди выбранных полей. Причем это поле отображает только дату документа поступления товара
В итоге мы создали необходимый внешний отчет.
Подведем итог
В этой статье мы подробно рассмотрели:
- функциональные опции СКД, остановившись на расширении возможностей и гибкости конфигурирования;
- установили влияние ролей на СКД;
- разобрали особенности создания внешнего отчета.
Надеемся, что были полезны!
Оцените статью
Читайте также: