Как полностью скрыть себестоимость товаров от менеджеров в 1С:УТ 11.5

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

Вопрос ограничения доступа к финансовым показателям, в частности к себестоимости товаров, является одной из классических задач при настройке 1С:Управление торговлей 11.5. Менеджеры по продажам должны видеть выручку и количество, но доступ к маржинальности и закупочным ценам часто должен быть ограничен по соображениям коммерческой безопасности. Разберем подробно, как реализовать этот запрет, чтобы даже продвинутый пользователь не смог добраться до заветных цифр.

Проблема стандартных настроек

Стандартный профиль Менеджер по продажам в типовой конфигурации 1С:УТ 11.5 спроектирован так, чтобы сотрудник имел максимум информации для оперативной работы. Даже если мы уберем роль Отчеты руководителя отдела продаж, менеджер все равно может увидеть себестоимость через «Валовую прибыль», универсальные отчеты или банально заглянув в движения документа «Реализация товаров и услуг». Проанализируем ситуацию: простое отключение отчетов не помогает, так как данные хранятся в регистрах, к которым у пользователя остается право на чтение. Нам потребуется комплексный подход.

Шаг 1: Ограничение доступа на уровне регистров накопления

Данные о себестоимости в системе не возникают из ниоткуда — они хранятся в конкретных структурах. Рассмотрим основные регистры, которые необходимо «закрыть» в первую очередь:

  1. Выручка и себестоимость продаж — основной источник данных для всех отчетов по прибыли.
  2. Себестоимость товаров — здесь фиксируются остатки и движения в денежном выражении.
  3. Партии товаров организаций — актуально, если на предприятии включен партионный учет (ФИФО).

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

Шаг 2: Модификация отчетов через расширение и СКД

Менеджерам по-прежнему нужны отчеты по продажам, но без колонок себестоимости. Рассмотрим, как программно вмешаться в процесс формирования отчета. Один из наиболее надежных методов — использование обработчика ПриКомпоновкеРезультата в модуле объекта отчета (в расширении).

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


Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
    
    // Проверяем, есть ли у пользователя роль, ограничивающая просмотр
    Если РольДоступна("МенеджерБезСебестоимости") Тогда
        
        // Находим поле Себестоимость в доступных полях компоновщика
        ПолеСебестоимость = КомпоновщикНастроек.Настройки.ДоступныеПоляВыбора.Элементы.Найти("Себестоимость");
        Если ПолеСебестоимость <> Неопределено Тогда
            ПолеСебестоимость.Использование = Ложь;
        КонецЕсли;
        
        // Аналогично блокируем вывод в выбранные поля
        Для Каждого Элемент Из КомпоновщикНастроек.Настройки.ВыбранныеПоля.Элементы Цикл
            Если ТипЗнч(Элемент) = Тип("ВыбранноеПолеКомпоновкиДанных") Тогда
                Если Строка(Элемент.Поле) = "Себестоимость" ИЛИ Строка(Элемент.Поле) = "ВаловаяПрибыль" Тогда
                    Элемент.Использование = Ложь;
                КонецЕсли;
            КонецЕсли;
        КонецЦикла;
        
    КонецЕсли;

КонецПроцедуры

Кроме того, в самой схеме компоновки данных для каждого поля предусмотрено свойство «Ограничение доступа». Если установить этот флаг для полей себестоимости и связать его с нашей ролью, система автоматически скроет эти поля из конструктора настроек у пользователя.

Шаг 3: Защита «от дурака» — движения документов

Даже если мы закрыли отчеты, менеджер может открыть документ «Реализация товаров и услуг» и нажать кнопку «Движения документа» (пиктограмма Дт/Кт). Там в наглядном виде по регистру «Выручка и себестоимость продаж» будут видны все суммы.

Проанализируем шаги по блокировке этой лазейки:

  1. В профиле доступа менеджера необходимо найти и отключить роль Просмотр движений документов.
  2. Также проверьте право Интерактивный просмотр движений. Его отключение полностью уберет команду просмотра записей регистров из интерфейса форм документов.

Шаг 4: Контроль внешних обработок и консоли запросов

Если менеджер обладает минимальными техническими навыками или имеет доступ к интернету, он может попытаться запустить внешнюю обработку «Консоль запросов» и выгрузить любые данные. Чтобы предотвратить это, необходимо строго ограничить следующие права в профиле:

Шаг 5: Предварительная себестоимость и формы документов

В 1С:УТ 11.5 реализован механизм предварительного расчета себестоимости. Это позволяет видеть расчетную прибыль прямо в заказе клиента или в списке заказов (колонка «Рентабельность»). Посмотрим на ситуацию глазами менеджера: он видит процент прибыли и цену продажи, а значит, легко вычислит себестоимость на калькуляторе.

Чтобы скрыть эти данные, нам придется через расширение модифицировать формы:

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

Шаг 6: Альтернативный подход с управленческой наценкой

Часто менеджеру все же нужно понимать границы допустимой скидки. Вместо того чтобы бороться с отображением реальной себестоимости, разберем альтернативный вариант. Можно создать отдельный Вид цены (например, «Расчетный закуп»), который будет рассчитываться как Цена поступления + 10%.

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

Резюме

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

← На главную