Изменение прав пользователей(Конфигурация для с/х предприятий Украины 2,02.93,вер.7.70.027) , Нужно запретить добаление новых документов и вообще всего
Группа: Пользователи
Сообщений: 36
Спасибо сказали: 0 раз
Рейтинг: 0
Здравствуйте, нужен практический совет по настройке прав доступа в 1С предприятии 7.7, а именно разграничить права пользователей, конкретно нужно всем запретить добавление новых документов и вообще всего нового, но оставить редактирование того что уже введено ранее. Что делал: добавил новый набор прав, в нем всё и везде разрешил разрешил кроме Любые изменения и Ввод нового, где такое было. Переключил всех нужных мне пользователей на этот набор пров, но из них всех никто после этого не смог ввойти в программу, пришлось вернуть всё обратно. Кто подскажет как решить проблему если конечно так вообще можно сделать?
Группа: Пользователи
Сообщений: 158
Из: Украина
Спасибо сказали: 38 раз
Рейтинг: 35
Смотрите, если вам нужно редактирование старых объектов, а новым - только доступ на чтение, через настройки прав пользователей в конфигураторе этого не решить. Нужно программно подкорректировать код, чтобы при открытии документов анализировались права пользователя и назначался соответствующий доступ
Группа: Пользователи
Сообщений: 36
Спасибо сказали: 0 раз
Рейтинг: 0
Цитата(Naghual @ 09.11.16, 9:31)
Сделать можно. Вопрос: Что означает "никто после этого не смог ввойти в программу"? 1С так и написала : Вы не смогли войти в программу?
в саму программу пускало, но при выборе любього пункта меню(или подменю) писало Недостаточно прав для доступа
#3 спасибо за информацию, сейчас все работают под правами администратора, это изначально считаю не верно, но возможно что по другому нельзя было. Не хотелось бы ковыряться в коде, очень сильно не хотелось бы. #2 какой вариант вы предлагаете?
Группа: Пользователи
Сообщений: 158
Из: Украина
Спасибо сказали: 38 раз
Рейтинг: 35
Для "спасибо" кнопка есть. А насчет "ковыряться в коде" - не нужно ковыряться, дописываете процедурку проверки прав, выносите в глобальный модуль, из модулей проверяемых документов ссылаетесь на нее.
будет примерно так в глобальнике
Функция ПроверитьДату(прДата) Экспорт Если (прДата > МояДатаЗапрета) И (НазваниеНабораПрав()<>"Администратор") Тогда Возврат 0; КонецЕсли; Возврат 1; КонецФункции
в документах
Если ПроверитьДату(ДатаДок) = 0 Тогда Форма.ТолькоПросмотр(1); КонецЕсли;
1. Не целесообразно опрашивать при каждом вызове функции название текущего набора прав пользователей. Оптимальнее будет запомнить его значение в переменную при загрузке системы. 2. Сдвоенное через И условие, в данном случае, оптимальнее будет разделить на два отдельных условия, вложенных одно в другое. Такое решение не потребует лишнего вычисления второго условия при Ложном первом.
// Функция ПроверитьДату(прДата) Экспорт Если прДата > МояДатаЗапрета Тогда Если глНазваниеНабораПрав <> "Администратор" Тогда Возврат 0; КонецЕсли; КонецЕсли; Возврат 1; КонецФункции
Продолжать общение НЕ по теме топикстартера, все-же, предлагаю через Личку.
P.S. Оптимальный, в моем понимании, код, это: 1. Легко читаемый код. 2. Быстрый код.
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0
Простите, что встряну : )
Цитата(Naghual @ 09.11.16, 18:59)
2. Сдвоенное через И условие, в данном случае, оптимальнее будет разделить на два отдельных условия, вложенных одно в другое. Такое решение не потребует лишнего вычисления второго условия при Ложном первом.
Разве второе условие вычисляется если результат первого ложь? Просто в 8-ке - нет.
Личные бесплатные консультации не даю, для этого есть форум!
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!