|  04.03.2008, 16:19 | #1 | 
| Участник |  TwC: Validate access to return value from display/edit method. 
			
			Ребята, вероятно мой вопрос окажется бояном, но я честно искал и не нашел(  Итак, следующий BP: TwC: Validate access to return value from display/edit method. Вот собсна метод. X++: display Addressing address() { Addressing address; ; address=Address::find(this.TableId, this.RecId, AddressType::Delivery).Address; if(!(hasSecurityKeyAccess(securitykeyNum(My_SK), AccessType::View)) &&isConfigurationkeyEnabled(configurationkeyNum(MY_CK)) ) { throw error("@SYS57330"); } return address; } 
				__________________ Axapta has seduced me deadly!   | 
|  | 
|  04.03.2008, 16:29 | #2 | 
| Участник | 
			
			//BP Deviation Documented перед названием метода влепи.   | 
|  | 
|  04.03.2008, 16:42 | #3 | 
| Участник | 
			
			Да это ясно) Просто хотелось без такой гадости, хотя посмотрел стандартный функционал, там тоже не смотря на проверки, сверху документируеццо БП. А потом всё-таки отрыл на форуме похожую тему и тут стало всё свои на места: Цитата: 
		
			Так как дисплей/едит метод может возвращать данные с другой таблицы, к которой у вас может и не быть доступа, это предупреждение выводится, чтобы вы проверили, возможно ли такое нарушение секурити - поставили например проверку на конфигурейшен и секурити ключи.  И это чисто на совести программиста, потому что можно ситуацию исправить упомянутой уже строчкой  . И, кстати, бест практис не оценивает содержимое метода, а просто всегда бросает ошибку, если видит ключевые слова дисплей/едит. 
				__________________ Axapta has seduced me deadly!   Последний раз редактировалось HorrR; 04.03.2008 в 16:53. | 
|  | 
|  04.03.2008, 18:03 | #4 | 
| Модератор | 
				__________________ -ТСЯ или -ТЬСЯ ? | 
|  | 
|  04.03.2008, 18:22 | #5 | 
| Участник |  На самом деле все ж хорошо. В том смысле, что это так специально сделано. Компилятор будет выдавать предупреждение до тех пор, пока программист не проанализирует код, и не напишет его так, чтобы учитывать права доступа. После этого он, как бы, выставляет флажок, что, мол, проверено - права учитываются. А флажок этот - это как раз этот комментарий | 
|  | 
|  04.03.2008, 19:32 | #6 | 
| Участник | 
			
			Интересно, они действительно это проверяют?
		 | 
|  | 
|  04.03.2008, 20:04 | #7 | 
| MCTS | Цитата: 
		
			А флажок этот - это как раз этот комментарий
		
	  ? | 
|  | 
|  04.03.2008, 23:56 | #8 | 
| Участник | 
			
			А это не компилятор делает.   Это тулзень, вызываемая во время компиляции - совсем разные вещи. Код, кстати, вдруг кто не знает, можно посмотреть/подкорректировать в классах, которые начинаются на SysBPCheck Цитата: 
		
			Сообщение от belugin
			
			 Интересно, они действительно это проверяют? Последний раз редактировалось kashperuk; 05.03.2008 в 11:27. | 
|  | 
|  05.03.2008, 11:22 | #9 | 
| MCTS | 
			
			[offtop] Хотел было написать "выглядит дико", но тут вспомнилось "// TODO", хотя опять же, кажется, это MS фича. Когда искал решение этой проблемы, то привел вид метода edit, в точности к виду какого-то edit метода на SYS слое, за исключением того самого комментария. Предупреждение осталось. Была мысль, что это комментарий виноват, но отбросили ее как бредовую  . Пока, наконец, не заглянули на форум... [/offtop] | 
|  | 
|  05.03.2008, 11:48 | #10 | 
| Участник | |
|  | |
| За это сообщение автора поблагодарили: HorrR (1). | |
|  05.03.2008, 12:17 | #11 | 
| Участник | 
			
			Предполагаю, что со всеми TWC BP та же ситуёвина. Как минимум с тем, что ругается на Assert.
		 
				__________________ Axapta has seduced me deadly!   | 
|  |