Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
19 мар 2024, 11:42

ошибка "Невозможно обработать параметр "ПрофильПолномочийПользователя""

Автор lindelu, 02 мая 2012, 13:50

0 Пользователей и 1 гость просматривают эту тему.

lindelu

Здравствуйте!
Возникла проблема при создании нового пользователя с новой ролью. Может, кто сталкивался с подобным?
1с 8.2.14.540 конф.- "Управление торговлей и взаимоотношениями с клиентами (CRM)", редакция 1.1 (1.1.10.2) .Надо сделат так, чтобы в удаленном подразделении видели только свои документы.
Решила установить ограничения доступа к данным на уровне записей по подразделениям, поскольку в этой конфе предусмотрено только ограничение по организациям и контрагентам, стала воять сама. Сделала по такому алгоритму:

Ограничения доступа по подразделениям

В конфигураторе:

Перечисления/ВидыОбъектовДоступа/Значение - добавить Подразделения

РегистрыСведений/ОбъектыДоступаДокументов/Измерения/ОбъектДоступа - добавить тип Справочник.Подразделения

РегистрыСведений/НастройкиПравДоступаПользователей/Измерения/ОбъектДоступа - добавить тип Справочник.Подразделения
РегистрыСведений/НастройкиПравДоступаПользователей/Измерения/ВладелецПравДоступа - добавить тип Справочник.Подразделения

Общие модули/НастройкаПравДоступа/ПолучитьВидОбъектаДоступа:
Функция ПолучитьВидОбъектаДоступа(ОбъектДоступа) Экспорт

Если ТипЗнч(ОбъектДоступа) = Тип("СправочникСсылка.Организации") Тогда
Возврат Перечисления.ВидыОбъектовДоступа.Организации;
//ДОБАВЛЯЕМ ТЕКСТ   
ИначеЕсли ТипЗнч(ОбъектДоступа) = Тип("СправочникСсылка.Подразделения") Тогда
Возврат Перечисления.ВидыОбъектовДоступа.Подразделения;
//ДОБАВЛЯЕМ ТЕКСТ   
ИначеЕсли ТипЗнч(ОбъектДоступа) = Тип("СправочникСсылка.ГруппыДоступаККонтрагентам") Тогда
Возврат Перечисления.ВидыОбъектовДоступа.Контрагенты;
Иначе
Возврат Перечисления.ВидыОбъектовДоступа.ПустаяСсылка();
КонецЕсли;

КонецФункции

Для интерактивной настройки прав доступа - необязательная часть

Обработки/НастройкаПравДоступа/Формы/НастройкаПравДоступа/Форма - добавить копированием страницу "Поразделения", добавить копированием на страницу табличное поле ТаблицаПравДоступа_Подразделения

Обработки/НастройкаПравДоступа/Формы/НастройкаПравДоступа/Форма/ПередОткрытием:
Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)

Если НЕ ПараметрыСеанса.ИспользоватьОграниченияПравДоступаНаУровнеЗаписей Тогда
Предупреждение("В конфигурации отключено использование ограничения прав доступа не уровне записей.");
Отказ = Истина;
Возврат;
КонецЕсли;

ТипыОбъектовДоступа = Новый Структура;

ТипыОбъектовДоступа.Вставить("Организации", Тип("СправочникСсылка.Организации"));
ТипыОбъектовДоступа.Вставить("Контрагенты", Тип("СправочникСсылка.ГруппыДоступаККонтрагентам"));
//ДОБАВЛЯЕМ ТЕКСТ
ТипыОбъектовДоступа.Вставить("Кассы", Тип("СправочникСсылка.Подразделения"));
//ДОБАВЛЯЕМ ТЕКСТ


СсылкаОбъекта = ЭтаФорма.КлючУникальности;
МетаданныеОбъекта = СсылкаОбъекта.Метаданные();

Если Не НаличиеПраваНаЧтениеСсылки(СсылкаОбъекта) Тогда
Предупреждение("Отсутствует право на чтение объекта!");
Отказ = Истина;
Возврат;
КонецЕсли;

НастройкаПользователя = ТипЗнч(СсылкаОбъекта) = Тип("СправочникСсылка.ГруппыПользователей");

СформироватьЗакладки();
ОбновитьОтборПоНаследуемымЗаписям();

ПраваДоступаПользователей = РегистрыСведений.НастройкиПравДоступаПользователей.СоздатьНаборЗаписей();
НастройкаПравДоступа.ПрочитатьПраваДоступаКОбъекту(ПраваДоступаПользователей, СсылкаОбъекта);
ПрочитатьТаблицыПравДоступа(ПраваДоступаПользователей);

Заголовок = Заголовок + ": " + ?(НЕ ЗначениеЗаполнено(МетаданныеОбъекта.Синоним), МетаданныеОбъекта.Имя, МетаданныеОбъекта.Синоним) + ": " + ?(НЕ ЗначениеЗаполнено(СсылкаОбъекта),"<Весь справочник>", Строка(СсылкаОбъекта));

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


Дальше создала новую роль "Менеджер1" копированием роли "Полные права" и добавила ограничения доступа к данным для документов по аналогии с шаблонами ограничений по организации. В пользовательском режиме добавила нового пользователя и присвоила ему роли "Менеджер1" и "Пользователь", добавила его в группу пользователей для которой будут действовать ограничения, определила некоторые дополнительные права. Открываю документ Приходный Кассовый Ордер все отрабатывает супер: и добавляет новые документы, и проводит, и отображает только те документ, которые надо. А , например, документ Реализация товаров не дает даже создать, выдает ошибку: "{ОбщийМодуль.ОбщегоНазначения.Модуль(1958)}: Невозможно обработать параметр "ПрофильПолномочийПользователя" для получения значения  ВызватьИсключение СтрокаИсключения;" Также не получается под этим пользователем зайти в Сервис-Настройки пользователя - та же ошибка. Скорее всего и еще где-то вылезает, просто пока только на этих объектах эксперименты проводила.  Помогите советом, пожалуйста, если есть идеи. Заранее спасибо)

lindelu

Откликнитесь, плизззз!!!! Ломаю голову, ошибку устранить не получается((

Dethmontt

Ну ты посмотри что обрабатывается тут - ОбщийМодуль.ОбщегоНазначения - строка 1958
"ctrl+g - перейти к строке"
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

lindelu

Прошу прощения,я в 1С и  впринципе в программировании новичок, поэтому всех тонокостей не знаю. В общий модуль.ОбщегоНазначения зашла, ошибка в функции ПолучитьЗначениеПеременной. Запускаю отладчик эта функция, например, возвращает значение переменной "ЗначенияДополнительныхПравПользователя", а затем пытается получить значение переменной "ПрофильПолномочийПользователя" и вылетает в ветку:
Иначе
СтрокаИсключения = "Невозможно обработать параметр " + """" + ИмяПараметра + """" + " для получения значения";
ВызватьИсключение СтрокаИсключения;

Дальше пока разобраться не получается, при этом попробовала другие роли (кроме Полные права) вместе с ролью "пользователь" подключить пользователю - результат тот же. Я нашла информацию, что при новом подходе в 1с 8.2 используется не роль "пользователь" в качестве роли дающей права на вход в систему, а роль "Базовые права", у меня 1с 8.2, но конфа то старая. Может это чушь, но я  уже даже не знаю в чем искать ошибку((

Dethmontt

Ужс...
Наверное в структуре "ЗначенияДополнительныхПравПользователя" нету свойства "ПрофильПолномочийПользователя" соответственно его туда нужно либо добавить либо не получать это свойство...
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

lindelu

Спасибо большое за помощь! Косяк был в обновлениях Раруса, после обновления все заработало)

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск