8.х УПП Ограничение доступа к переключению интерфейсов в УПП

Тема в разделе ""1С:Управление производственным предприятием УПП"", создана пользователем Ренат1103, 18 янв 2013.

  1. TopicStarter Overlay
    Ренат1103
    Offline

    Ренат1103

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

    {МодульОбычногоПриложения(292)}: Поле объекта недоступно для записи (УправлениеПроизводством)
    УправлениеПроизводством = ГлавныйИнтерфейс.УправлениеПроизводством;

    Кто нить может подсказать в чем может быть причина?
    Так же данная ошибка выскакивает с интерфейсом УправлениеЗапасами.
  2. TopicStarter Overlay
    Ренат1103
    Offline

    Ренат1103

    Регистрация:
    17 янв 2013
    Сообщения:
    11
    Симпатии:
    0
    Баллы:
    1
    Уважаемые коллеги, дамы и господа, прошу вас, помогите
  3. TopicStarter Overlay
    Ренат1103
    Offline

    Ренат1103

    Регистрация:
    17 янв 2013
    Сообщения:
    11
    Симпатии:
    0
    Баллы:
    1
    Все программисты и знатоки 1С ушли в спячку ;(
  4. TopicStarter Overlay
    Ренат1103
    Offline

    Ренат1103

    Регистрация:
    17 янв 2013
    Сообщения:
    11
    Симпатии:
    0
    Баллы:
    1
    Ответ нашелся, вопрос закрыт.
    Вот правильный запрос. УправлениеПроизводством не может быть переменной, так как имеется в 1С такой модуль
    Всем спасибо за внимание :)


    ИначеЕсли ПользовательИБ.ОсновнойИнтерфейс.Имя = "УправлениеПроизводством" Тогда
    УправлениеПроизводствомИнтерфейс = ГлавныйИнтерфейс.УправлениеПроизводством;
    УправлениеПроизводствомИнтерфейс.Переключаемый = Истина;
    УправлениеПроизводствомИнтерфейс.Видимость = Истина;

Поделиться этой страницей