К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

полные права из командной строки

Гость
0 - 24.10.2014 - 10:44
Ежедневно восстанавливается база MSSQL из бэкапа как тестовая. Нужно выставлять конкретным пользователям на этой тестовой базе ПолныеПрава. Как это сделать скриптом по расписанию утром. Наверно, есть параметры при запуске в командной строке?


Гость
1 - 24.10.2014 - 11:17
(0) нету, надо сделать обработку которая это делает, и вызывать её уже с помощью командной строки
Гость
2 - 24.10.2014 - 11:31
Да. /Execute [имя файла внешней обработки]
и запускать батник по расписанию.
вот что в обработке написать?

Метаданные.Роли.ПолныеПрава
РольДоступна(......
ПараметрыДоступа(<НаименованиеПрава>, <ОбъектМетаданных>, <СписокПолей>, <Пользователь/Роль>)
Гость
3 - 24.10.2014 - 12:20
нужно установить пользователя с административными правами программно в обработке, но как не знаю.
Гость
4 - 24.10.2014 - 12:32
3-Klyukovkin > "нужно установить пользователя с административными правами программно" - мусье знает толк в извращениях...
И откуда такая уверенность, интересно? Весь такой непререкаемый: "Нужно!" :D
Гость
5 - 24.10.2014 - 12:37
+3 И кстати: "установить программно в обработке" - это как? До запуска, штоль?? А "программно устанавливать" под какими правами будем?
Гость
6 - 24.10.2014 - 12:40
(4) VZ Извините, что встревожил Ваши Чувства.
Задачка в том, чтоб установить пользователю нужную Роль.
чтоб РольДоступна(.. в Истину пришла :))
коль знаете, так пишите, мусье
Заранее Благодарен
Гость
7 - 24.10.2014 - 12:47
6-Klyukovkin > Зачем??? Чем не угодил "служебный" пользователь?
Гость
8 - 24.10.2014 - 12:51
по Теме, пожалуйста, напишите.

"C:\Program Files\1cv82\8.2.15.301\bin\1cv8.exe" ENTERPRISE /FH:\energobase /Execute обработка
Гость
9 - 24.10.2014 - 12:57
VZ Мил друг. Всё предельно просто для крупного предприятия:
в рабочей базе права админа только админу, но на копии админ разрешает писать что хочешь. Дабы не тревожить админа каждое утро, чтоб давал полныеправа мне руками в конфе, запускается обработка с присвоением Роли.
Так как же УстановитьРоль(ВасяПользователь, ПолныеПрава) Знаете?
Гость
10 - 24.10.2014 - 13:02
8-Klyukovkin > "По теме" жду ответа на вопросы "Чем не угодил "служебный" пользователь?", и "под какими правами будем "программно устанавливать" нужную роль?". Кстати, стирать эту самую роль по завершению процесса, предусматривается?
А ничего, что пользователь, обладающий правами назначать себе роль, может сделать это без позволения, а?
Моет, есть смысл сначала продумать свою идею, а потом присваивать ей статус гениальной?
Гость
11 - 24.10.2014 - 13:11
9-Klyukovkin > Теперь понятно ;)
ЗначиЦЦа так: Под правами админа запускается эта самая обработка для "БД вчерашнего дня", которая конкретному пользователю добавляет роль.
Алгоритм берется из соответствующей обработки управления списком пользователей.
Гость
12 - 24.10.2014 - 13:25
(11) я туплю - Что за "соответствующей обработки управления списком пользователей"
Гость
13 - 24.10.2014 - 13:50
12-Klyukovkin > Начнем с самого начала. "Наверно, есть параметры при запуске в командной строке?"(0) - что, собственно, и вызвало последующий срач.
Нет таких параметров командной строки, что бы в данных что-то меняли. А список пользователей и набор ролей есть часть базы.
Потому путь вполне даже традиционный: запускается на исполнение клиент, который должен выполнить какие-то действия в БД.
В данном случае эти действия суть прописка пользователя. Значит, клиент должен запускатся под юзером, имеющим административные права. Админом, короче.
После запуска при старте должна запуститься обработка (или задание - дело вкуса), которая сделает нечто со списком пользователей (добавит объект, или модернизирует, что для озвученной задачи совсем не важно).
На известном ресурсе ИС (http://infostart.ru/) я как-то видел решение для переноса списка пользователей (или формирования). По-моему, это то, что надо.
Гость
14 - 24.10.2014 - 13:55
добавить роль:
ПользовательИБ = ПользователиИнформационнойБазы.НайтиПоИмени(ВыбПол ьзователь);
ПользовательИБ.Роли.Добавить(Метаданные.Роли.Бухга лтер);
ПользовательИБ.Записать();

удалить роль:

ПользовательИБ = ПользователиИнформационнойБазы.НайтиПоИмени(ВыбПол ьзователь);
ПользовательИБ.Роли.Удалить(Метаданные.Роли.Кассир );
ПользовательИБ.Записать();
Гость
15 - 24.10.2014 - 13:58
Всего-то подсказать нужно было, что в ОбщихОбъектах есть Работа со списком пользователей информационной базы Откуда всё и берем.
стало быть пишем:
СтарыйПрограммистПользователь = ПользователиИнформационнойБазы.НайтиПоИмени("Стары йПрограммист");
СтарыйПрограммистПользователь.Роли.Добавить(Метада нные.Роли.ПолныеПрава);
СтарыйПрограммистПользователь.Записать();
Гость
16 - 24.10.2014 - 14:09
(12) VZ Спасибо, как видите сам нашел нужную веть в структуре ОбщихОбъектов. Всё, что Вы пишите делалось неоднократно мною, и список пользователей переносил при конвертациях и переделках всяких баз, и батники вешал на расписание (понятно что запускаюсь с паролем Админа). НО вот сразу сказать как angro: см. ПользователиИнформационнойБазы видать тяжко было :))
ВСЕМ СПАСИБО
Гость
17 - 24.10.2014 - 14:15
15-Klyukovkin > "Как сформировать вопрос, чтобы получить на форуме правильный ответ?"
Эти несложные правила легко найти в интернете: они появились одновременно с ним.
Мало задать вразумительный вопрос (не надеясь, что кто-то знает ваши обстоятельства, и догадается о цели вопроса).
Надо еще выбросить из него предполагаемое решение (если такой умный, так проверь его самостоятельно!)
Гость
18 - 24.10.2014 - 14:19
не было времени. А так не только умный, но и опытный - знаю, что это стандарт, а вот забыл код. angro вот например сообразал сразу и правильно подсказал. Всё закончили.


К списку вопросов






Copyright ©, Все права защищены