helpf.pro
Регистрация

v8: Редактировать полные права

Ermak
15.11.2011 10:12Прочитано: 1901
Доброе утро!

У меня у пользователей ограничены права. После проведения документа, пользователь не может редактировать его. Как можно сделать, чтобы он редактировал в проведенном документе реквизиты которые я ему назначу?
Yandex
Возможно, вас также заинтересует
Реклама на портале
McCoy
15.11.2011 10:38Ответ № 1
Примерно так. Если у тебя типовая конфигурация, необходимо в план видов характеристик НастройкиПользователей добавить характеристику тип Булево, например "РазрешитьРедактированиеНаименования". Установить в настройках нужным пользователям эту настройку в Истина. В код документа вставить следующее:
Код 1C v 8.х
 
Процедура ПриОткрытии()

Если Проведен Тогда
УстановитьДоступностьЭлементов();
КонецЕсли;

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

Процедура УстановитьДоступностьЭлементов()

Если РольДоступна("ПолныеПрава") Тогда
Возврат
КонецЕсли;

// ====== Получить Настройку пользователя =====
ИмяНастройкиОткрытия = Неопределено;
ТекПользователь = глЗначениеПеременной("глТекущийПользователь");

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

// =========================================================
// ====== Установка видимости и доступности элементов ======
// =========================================================

СписокДоступностиЭлементовФормы = Новый СписокЗначений;

Если ИмяНастройкиОткрытия = "РазрешитьРедактированиеНаименования" Тогда

// Список доступных элементов
Если ИмяНастройкиОткрытия = "РазрешитьРедактированиеНаименования" Тогда
СписокДоступностиЭлементовФормы.Добавить("Наименование");
СписокДоступностиЭлементовФормы.Добавить("ОК");
СписокДоступностиЭлементовФормы.Добавить("Записать");
СписокДоступностиЭлементовФормы.Добавить("Закрыть");
КонецЕсли;

КонецЕсли;

// Для всех элементов проверяем доступность
Для каждого Элемент Из ЭлементыФормы Цикл
Элемент.Доступность = ?(СписокДоступностиЭлементовФормы.НайтиПоЗначению(Элемент.Имя) = Неопределено, Ложь, Истина);
КонецЦикла;

КонецПроцедуры // УстановитьДоступностьЭлементов()


В твоем случае код может несколько отличаться, ну думаю сам поймешь что нужно подправить. Список необходимых реквизитов можно корректировать. У пользователя должны быть права на редактирование проведенных документов! Удачи.
Подсказка: Вы можете приложить к ответу файл или изображение щелкнув по значку или в редакторе.
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.