| 
			
			 | 
		#1 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
			
			
			База для просмотра в трехзвенке
			 
			
			Здравствуйте уважаемые знатоки ! 
		
		
		
		
		
		
			Подскажите пожалуйста, как настроить базу, в которой можно только просматривать документы, отчеты и т.д. но вносить изменения не разрешалось бы. Поясню некоторые моменты: -эта база является копией рабочей (обновляется каждую ночь) -права у пользователей как в рабочей Поменял в SQL свойства базы только для просмотра. Включил АОС. При вхождении в базу она долго ругается на то, что база только для просмотра, а потом выкидывает. Как это победить? или может быть есть какие-нибудь обходные пути? За ранее благодарен. 
				__________________ 
		
		
		
		
	Александр  | 
| 
	
 | 
| 
			
			 | 
		#2 | 
| 
			
			 Модератор 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Запиши таблицы, на которые ругается, и дай к ним доступ. 
		
		
		
		
		
		
		
	Или переделай права и заливай права каждый раз ![]() Мы решали эту задачу 1м способом. С Уважением, Георгий.  | 
| 
	
 | 
| 
			
			 | 
		#3 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от George Nordic
			
			 
Запиши таблицы, на которые ругается, и дай к ним доступ. 
		
	Или переделай права и заливай права каждый раз ![]() Мы решали эту задачу 1м способом. С Уважением, Георгий. Спасибо за подсказку. 
				__________________ 
		
		
		
		
	Александр  | 
| 
	
 | 
| 
			
			 | 
		#4 | 
| 
			
			 Administrator 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Вопросик возник.... Как эта фраза 
		
		
		
		
		
		
			Цитата: 
	
		
			Сообщение от George Nordic
			
			 
Запиши таблицы, на которые ругается, и дай к ним доступ. 
		
	Цитата: 
	
		
			Сообщение от tolstjak
			
			 
-эта база является копией рабочей (обновляется каждую ночь) 
		
	
				__________________ 
		
		
		
		
	Возможно сделать все. Вопрос времени  | 
| 
	
 | 
| 
			
			 | 
		#5 | 
| 
			
			 Модератор 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Поменял в SQL свойства базы только для просмотра
		
	 
Георгий.  | 
| 
	
 | 
| 
			
			 | 
		#6 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от George Nordic
			
			 
Там не права пользователей ограничкны, а на уровне всей базы. 
		
	Георгий. Точно. В свойствах базы устанавливаю "read only". Не подскажите какие таблицы необходимо открыть для редактирования, а то система указывает на таблицу SQLSYSTEMVARIABLES? Я открыт на нее доступ, но система все равно на нее ругается. По двух звенке вроде молчил (не ругается), но главное меню не открывается. За ранее благодарен 
				__________________ 
		
		
		
		
	Александр  | 
| 
	
 | 
| 
			
			 | 
		#7 | 
| 
			
			 Administrator 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от George Nordic
			
			 
Там не права пользователей ограничкны, а на уровне всей базы. 
		
	Очевидно - что дать доступ read-only на базу можно и ручками   а вот для таблиц придется писать скриптик.2tolstjak: Для создания перечня таблиц придется полность повторить Вашу ситуацию (если конечно у кого-то это уже не настроено). Поэтому могу только посоветовать ручками копать. Мы у себя такую базу не запрещали на запись - ибо какая разница чего туда запишут если база завтра обновится? А в конфигурационный файлик вставили сообщение что это тестовая база и любые сделанные изменения - не будут отражены в рабочей базе. В общем так. 
				__________________ 
		
		
		
		
	Возможно сделать все. Вопрос времени  | 
| 
	
 | 
| 
			
			 | 
		#8 | 
| 
			
			 Administrator 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Кстати - по поводу SQLSystemVariables - очевидно доступ придется давать как учетной записи пользователя (группе в которую он входит) так и учетной записи АОСа (от имени которой он запущен) в трехзвенке. А Вы похоже дали доступ только учетной записи пользователя. Поэтому в двухзвенке все работает а в трехзвенке не хочет. 
		
		
		
		
		
		
			Может я конечно ошибаюсь - это одна из версий - на мой взгляд. По логике АОСу вообще можно дать права владельца - как говорится ему-то не жалко. Но если причина не в этом - то тогда с ходу не готов сказать в чем проблема с доступом к таблице 
				__________________ 
		
		
		
		
		
			Возможно сделать все. Вопрос времени Последний раз редактировалось sukhanchik; 16.06.2006 в 15:10.  | 
| 
	
 | 
| 
			
			 | 
		#9 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Если это тонкий клиент, то права пользователя по барабану. К б/д цепляется AOS
		 
		
		
		
		
		
		
			
				__________________ 
		
		
		
		
	Axapta v.3.0 sp5 kr2  | 
| 
	
 | 
| 
			
			 | 
		#10 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			А приложение отдельное на эту базу смотрит? или то же что и на рабочую?  
		
		
		
		
		
		
		
	Если отдельное, то проблему можно решить на уровне приложения, запретив редактирование там. С уважением, itfs.  | 
| 
	
 | 
| 
			
			 | 
		#11 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от itfs
			
			 
А приложение отдельное на эту базу смотрит? или то же что и на рабочую?  
		
	Если отдельное, то проблему можно решить на уровне приложения, запретив редактирование там. С уважением, itfs. 
				__________________ 
		
		
		
		
	Александр  | 
| 
	
 | 
| 
			
			 | 
		#12 | 
| 
			
			 Administrator 
		
			
	 | 
	
	
	
		
		
		
		 
			
			гым ... приложение-то отдельное - но также "регулярно копирующееся с рабочего" - так?  
		
		
		
		
		
		
			![]() 2itfs - Вы имели в виду отдельно кодить чего-то? 2tolstjak - приложение - "регулярно копирующееся с рабочего"? 
				__________________ 
		
		
		
		
	Возможно сделать все. Вопрос времени  | 
| 
	
 | 
| 
			
			 | 
		#13 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от sukhanchik
			
			 
гым ... приложение-то отдельное - но также "регулярно копирующееся с рабочего" - так?  
		
	![]() 2itfs - Вы имели в виду отдельно кодить чего-то? 2tolstjak - приложение - "регулярно копирующееся с рабочего"? 
				__________________ 
		
		
		
		
	Александр  | 
| 
	
 | 
| 
			
			 | 
		#14 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от tolstjak
			
			 
Разумеется регулярно. 
		
	  что с базой возиться, что с приложением ... Да, имел ввиду модифицировать код некоторым компактным образом .... С уважением, itfs.  | 
| 
	
 | 
| 
			
			 | 
		#15 | 
| 
			
			 Administrator 
		
			
	 | 
	
	
	
		
		
		
		 
			
			В общем резюмируя и обобщая: 
		
		
		
		
		
		
			Получаются пока 2 пути решения задачи: 1. Создание SQL-скриптика - который устанавливает доступ на некий перечень таблиц. (таблицы в перечне - к примеру полный доступ, а остальные - только чтение) Перечень таблиц придется определить самостоятельно так сказать экспериментальным путем. 2. Собсно отказ от такой постановки задачи (пересмотр ее постановки). (К примеру разрешать редактировать) 
				__________________ 
		
		
		
		
	Возможно сделать все. Вопрос времени  | 
| 
	
 | 
| 
			
			 | 
		#16 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Для полноты ощущений. 
		
		
		
		
		
		
		
	3. Пишем и выполняем страшный вирус типа: Код:    
   treeNode        _treeNode;
   treeNode        _treeNodeTab;
   xInfo           xInfo;
   UtilIdElements  UiE;
   str             properties = "";
;
   xInfo               = new xInfo();
   _treeNode           = xInfo.rootNode();
    _treeNode           = _treeNode.AOTfindChild("Data Dictionary");
    _treeNode           = _treeNode.AOTfindChild("Tables");
   while select id, name from UiE
    group by id, name
    where UiE.recordType == 44
       && !(UiE.name like 'Tmp*')
    {
        _treeNodeTab  = _treeNode.AOTfindChild(UiE.name);
        if (_treeNodeTab)
        {
          properties = _treeNodeTab.AOTgetProperties();
          properties = setProperty(Properties, 'MaxAccessMode', 'View');
          _treeNodeTab.AOTsetProperties(Properties);
          _treeNodeTab.AOTsave();
        }
    } .PS Не претендую на то, что вариант из лучших. С уважением, itfs.  | 
| 
	
 | 
|
| За это сообщение автора поблагодарили: sukhanchik (2). | |
| 
			
			 | 
		#17 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от itfs
			
			 
Для полноты ощущений...... 
		
	... И через пару минут у вас read-only приложение. Только не забудьте сохранить все что вам дорого  .PS Не претендую на то, что вариант из лучших. С уважением, itfs. Большое спасибо за джоб. Немного подправили и запустили на базе. В итоге сообщил 1 ошибку и 175 предупреждений, но ничего не показал. Как мы поняли, он делает у части таблиц свойство MaxAccessMode - View. Работоспособность всего приложения и базы не проверяли, но на вскидку все работает. Понравилось. Как теперь это запускать еженочно без запуска системы? Или может быть преобразовать в SQL job? 
				__________________ 
		
		
		
		
	Александр  | 
| 
	
 | 
| 
			
			 | 
		#18 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Ошибки и предупреждения - это особенности ваших таблиц, которые job потрогал, отчего они перекомпилировались. Если вы с этим живете на боевой, значит, ничего страшного.  
		
		
		
		
		
		
		
	Мысль насчет sql-job-а или не до конца понял или не приветствую, т.к. приложение ничего не будет знать о том, что таблицы недоступны на изменение, и вы получите кучу мусора на экране. Это гораздо менее красиво. Возможно как дополнение. Запуск этого job-а каждую ночь ... вы каждую ночь перекладываете приложение? Впрочем, раз так заведено, наверное придется организовать свое com-подключение, которое запустит job после обновление приложения. Где-то здесь эта проблема обсуждалась вплоть до того, что-то выкладывали dll, которая вам поможет ... поищите. С уважением, itfs.  | 
| 
	
 | 
| 
			
			 | 
		#19 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Еще раз спасибо за Job 
		
		
		
		
		
		
		
	Исправили только строчку Цитата: 
	
		
			UiE.name like 'Tmp*'
		
	 
new DictTable(UiE.id).isTmp()  | 
| 
	
 |