Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Изменение прав пользователей(Конфигурация для с/х предприятий Украины 2,02.93,вер.7.70.027) , Нужно запретить добаление новых документов и вообще всего          
nickolas Подменю пользователя
сообщение 09.11.16, 8:30
Сообщение #1

Общительный
**
Группа: Пользователи
Сообщений: 36
Спасибо сказали: 0 раз
Рейтинг: 0

Здравствуйте, нужен практический совет по настройке прав доступа в 1С предприятии 7.7, а именно разграничить права пользователей, конкретно нужно всем запретить добавление новых документов и вообще всего нового, но оставить редактирование того что уже введено ранее.
Что делал:
добавил новый набор прав, в нем всё и везде разрешил разрешил кроме Любые изменения и Ввод нового, где такое было. Переключил всех нужных мне пользователей на этот набор пров, но из них всех никто после этого не смог ввойти в программу, пришлось вернуть всё обратно.
Кто подскажет как решить проблему если конечно так вообще можно сделать?

Naghual Подменю пользователя
сообщение 09.11.16, 9:31
Сообщение #2

Завсегдатай
****
Группа: Пользователи
Сообщений: 102
Из: Днепропетровск
Спасибо сказали: 21 раз
Рейтинг: 0

Сделать можно.
Вопрос: Что означает "никто после этого не смог ввойти в программу"? 1С так и написала : Вы не смогли войти в программу? wink.gif


Signature
Я желаю всем Счастья!

nik389 Подменю пользователя
сообщение 09.11.16, 11:03
Сообщение #3

Завсегдатай
****
Группа: Пользователи
Сообщений: 158
Из: Украина
Спасибо сказали: 38 раз
Рейтинг: 35

Смотрите, если вам нужно редактирование старых объектов, а новым - только доступ на чтение, через настройки прав пользователей в конфигураторе этого не решить. Нужно программно подкорректировать код, чтобы при открытии документов анализировались права пользователя и назначался соответствующий доступ

nickolas Подменю пользователя
сообщение 09.11.16, 11:13
Сообщение #4

Общительный
**
Группа: Пользователи
Сообщений: 36
Спасибо сказали: 0 раз
Рейтинг: 0

Цитата(Naghual @ 09.11.16, 9:31) *
Сделать можно.
Вопрос: Что означает "никто после этого не смог ввойти в программу"? 1С так и написала : Вы не смогли войти в программу? wink.gif


в саму программу пускало, но при выборе любього пункта меню(или подменю) писало Недостаточно прав для доступа

#3 спасибо за информацию, сейчас все работают под правами администратора, это изначально считаю не верно, но возможно что по другому нельзя было. Не хотелось бы ковыряться в коде, очень сильно не хотелось бы.
#2 какой вариант вы предлагаете?

nik389 Подменю пользователя
сообщение 09.11.16, 11:33
Сообщение #5

Завсегдатай
****
Группа: Пользователи
Сообщений: 158
Из: Украина
Спасибо сказали: 38 раз
Рейтинг: 35

Для "спасибо" кнопка есть. А насчет "ковыряться в коде" - не нужно ковыряться, дописываете процедурку проверки прав, выносите в глобальный модуль, из модулей проверяемых документов ссылаетесь на нее.

будет примерно так
в глобальнике
Функция ПроверитьДату(прДата) Экспорт    
    Если (прДата > МояДатаЗапрета) И (НазваниеНабораПрав()<>"Администратор")  Тогда
        Возврат 0;    
    КонецЕсли;  
    Возврат 1;
КонецФункции


в документах
Если ПроверитьДату(ДатаДок) = 0 Тогда
    Форма.ТолькоПросмотр(1);
КонецЕсли;

Naghual Подменю пользователя
сообщение 09.11.16, 12:09
Сообщение #6

Завсегдатай
****
Группа: Пользователи
Сообщений: 102
Из: Днепропетровск
Спасибо сказали: 21 раз
Рейтинг: 0

Не оптимальный пример кода, но как-то так.


Signature
Я желаю всем Счастья!

nik389 Подменю пользователя
сообщение 09.11.16, 12:32
Сообщение #7

Завсегдатай
****
Группа: Пользователи
Сообщений: 158
Из: Украина
Спасибо сказали: 38 раз
Рейтинг: 35

Naghual @ Сегодня, 13:09 * ,
нормальный код. что значит "не оптимальный"?
код дан для образца, чтоб человек знал, в каком направлении копать

Naghual Подменю пользователя
сообщение 09.11.16, 12:56
Сообщение #8

Завсегдатай
****
Группа: Пользователи
Сообщений: 102
Из: Днепропетровск
Спасибо сказали: 21 раз
Рейтинг: 0

Цитата(nik389 @ 09.11.16, 13:32) *
что значит "не оптимальный"?

Это означает, что код не оптимален.
Но это другая тема. Если желаетеать в личке.


Signature
Я желаю всем Счастья!

Sharzem Подменю пользователя
сообщение 09.11.16, 16:57
Сообщение #9

Оратор
Иконка группы
Группа: Местный
Сообщений: 298
Спасибо сказали: 98 раз
Рейтинг: 99.1

Naghual @ Сегодня, 12:56 * ,
Что именно Вам не понравилось ? Написание в 4-х строках ?
Функция ПроверитьДату(прДата) Экспорт    
    Возврат ?((прДата > МояДатаЗапрета) И (НазваниеНабораПрав()<>"Администратор"),0,1);
КонецФункции

Так оптимальней ? Продолжите свою мысль мне, например, интересно Ваше мнение.


Signature
То, что для одного человека константа, для другого - переменная. (Алан.Дж.Перлис)

Naghual Подменю пользователя
сообщение 09.11.16, 17:59
Сообщение #10

Завсегдатай
****
Группа: Пользователи
Сообщений: 102
Из: Днепропетровск
Спасибо сказали: 21 раз
Рейтинг: 0

Ок.

1. Не целесообразно опрашивать при каждом вызове функции название текущего набора прав пользователей. Оптимальнее будет запомнить его значение в переменную при загрузке системы.
2. Сдвоенное через И условие, в данном случае, оптимальнее будет разделить на два отдельных условия, вложенных одно в другое. Такое решение не потребует лишнего вычисления второго условия при Ложном первом.

Итого:
Перем глНазваниеНабораПрав Экспорт;

//
Процедура ПриНачалеРаботыСистемы()
    глНазваниеНабораПрав = СокрЛП(НазваниеНабораПрав());
КонецПроцедуры

//
Функция ПроверитьДату(прДата) Экспорт    
    Если прДата > МояДатаЗапрета Тогда
        Если глНазваниеНабораПрав <> "Администратор" Тогда
            Возврат 0;
        КонецЕсли;
    КонецЕсли;
    Возврат 1;
КонецФункции


Продолжать общение НЕ по теме топикстартера, все-же, предлагаю через Личку.



P.S. Оптимальный, в моем понимании, код, это:
1. Легко читаемый код.
2. Быстрый код.


Signature
Я желаю всем Счастья!

logist Подменю пользователя
сообщение 09.11.16, 18:21
Сообщение #11

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0

Простите, что встряну : )
Цитата(Naghual @ 09.11.16, 18:59) *
2. Сдвоенное через И условие, в данном случае, оптимальнее будет разделить на два отдельных условия, вложенных одно в другое. Такое решение не потребует лишнего вычисления второго условия при Ложном первом.

Разве второе условие вычисляется если результат первого ложь? Просто в 8-ке - нет.


Signature
Личные бесплатные консультации не даю, для этого есть форум!

Naghual Подменю пользователя
сообщение 09.11.16, 18:27
Сообщение #12

Завсегдатай
****
Группа: Пользователи
Сообщений: 102
Из: Днепропетровск
Спасибо сказали: 21 раз
Рейтинг: 0

Цитата(logist @ 09.11.16, 19:21) *
Разве второе условие вычисляется если результат первого ложь? Просто в 8-ке - нет.

В 7.7 - Да.
В 8.Х - НЕТ??? Не знал. Это хорошо.


Signature
Я желаю всем Счастья!

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 24.04.24, 2:35
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!