8.х Как настроить дополнительные права в УТП

Тема в разделе "Общие вопросы "1С:Предприятие 8"", создана пользователем Pencroff, 9 сен 2009.

  1. TopicStarter Overlay
    Pencroff
    Offline

    Pencroff

    Регистрация:
    9 сен 2009
    Сообщения:
    31
    Симпатии:
    0
    Баллы:
    1
    Редактирование цен и скидок в документах

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

    Теперь по объектам кода:

    Код Форма документа
    Код:
    // установим доступность колонки "Цена" для редактирования
    мМожноМенятьЦенуВДокументе = УправлениеДопПравамиПользователей.РазрешитьРедактированиеЦенВДокументах(); // тут всегда истина из-за см код [b]Управление Доп Правами Пользователей[/b]
    
    ЭлементыФормы.Товары.Колонки.Цена.ЭлементУправления.ТолькоПросмотр                 = НЕ мМожноМенятьЦенуВДокументе;
    ЭлементыФормы.Товары.Колонки.Сумма.ЭлементУправления.ТолькоПросмотр                = НЕ мМожноМенятьЦенуВДокументе;
    ЭлементыФормы.Товары.Колонки.ПроцентСкидкиНаценки.ЭлементУправления.ТолькоПросмотр = НЕ мМожноМенятьЦенуВДокументе;
    ЭлементыФормы.Товары.Колонки.СуммаНДС.ЭлементУправления.ТолькоПросмотр             = НЕ мМожноМенятьЦенуВДокументе;
    
    Код Управление Доп Правами Пользователей
    Код:
    СписокФильтров = УправлениеПользователями.ПолучитьЗначениеПраваДляТекущегоПользователя(ПланыВидовХарактеристик.ПраваПользователей.РедактированиеЦенВДокументах, Ложь);
    
    Если СписокФильтров.Количество() = 0 Тогда
    Возврат Ложь;
    ИначеЕсли СписокФильтров.Количество() > 1 Тогда // У меня возвращается два значения и получаю возврат истины
    Возврат Истина;
    Иначе
    Возврат СписокФильтров[0].Значение;
    КонецЕсли;
    
    Подскажите как побороть настройку доп прав?
  2. mialord
    Offline

    mialord Модераторы Команда форума Модератор

    Регистрация:
    31 июл 2009
    Сообщения:
    5.398
    Симпатии:
    40
    Баллы:
    54
    При запуске 1С, определяется набор прав пользователя, который хранится на протяжении всего сеанса работы, Вам нужно проверить считывание настроек пользователя и установку ему прав, Все права хранятся в одной переменной. Запустите на отладчике, найдите переменную, и узнаете почему он записывает туда истину, Вся настройка обычно проводится в одной процедуре, где собран ряд соответствий, и заполняется настройка, у Вас скорее всего не ведется чтение, а прописано в наглую = Истина, вот и все.
  3. TopicStarter Overlay
    Pencroff
    Offline

    Pencroff

    Регистрация:
    9 сен 2009
    Сообщения:
    31
    Симпатии:
    0
    Баллы:
    1
    Решил проблему редактированием кода в анализе количества (Пример кода 2)
    Теперь это:
    Общий модуль УправлениеДопПравамиПользователей
    Код:
    Если СписокФильтров.Количество() = 0 Тогда
    Возврат Ложь;
    ИначеЕсли СписокФильтров.Количество() > 1 Тогда
    Возврат СписокФильтров[0].Значение; // Возвращает теперь значение флага из доп прав пользователей [b]"РазрешитьРедактированиеЦенВДокументах"[/b] 
    //Возврат Истина;
    Иначе
    Возврат СписокФильтров[0].Значение;
    КонецЕсли;
    
    Спасибо mialord за направление на правильный путь мыслей.

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