| 
			
			 | 
		#1 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
			
			
			AX 2012 R3 Ошибка проверки прав доступа при обработке Workflow
			 
			
			Здравствуйте. 
		
		
		
		
		
		
		
		
			AX 2012 R3 R3 CU 11 билд 6.3.4000.127 Microsoft SQL Server 2014 (SP2) (KB3171021) - 12.0.5000.0 (X64) При попытке назначить рабочий элемент Workflow некоторым пользователям Ax возникает ошибка проверки прав доступа. Цитата: 
	
		
			Не удается создать рабочий элемент. Недостаточно прав для пользователя annakoc.                                                                                                                                                   
(S)\Classes\SysWorkflowWorkItem\delegate 111 (S)\Classes\WorkflowWorkItem\delegateWorkItem 55 (C)\Classes\WorkflowStatusReassignWorkItem\run 5 (C)\Classes\WorkflowStatusReassignWorkItem\main 14 Большинство пользователей работают без ошибок. Ошибка возникает только для некоторых пользователей. Пользователь имеет полные права доступа (Системный администратор) Пользователь изначально был заведен в Active Directory и успешно работал. Затем ушел в декретный отпуск, учетная запись в AD при этом была заблокирована. После возврата из декрета запись в AD разблокировали. Но при работе с WF стала возникать ошибка проверки прав доступа. Если сделать проверку прав доступа из кода под этим пользователем - то результат успешный. Полный доступ. При назначении WF - ошибка проверки прав доступа. Ошибка воспроизводится стабильно. Права доступа проверяются в методе Цитата: 
	
		
			\Classes\SysWorkflowDocument\assert
		
	 
Цитата: 
	
		
			result = runAs(user, classNum(SysWorkflowDocument), staticMethodStr(SysWorkflowDocument, assertAsUser), args);
		
	 
Цитата: 
	
		
			\Classes\SysWorkflowDocument\assertMenuItem
		
	 
Цитата: 
	
		
			    ret = securityRights.menuItemAccessRight(_type == MenuItemType:: Display ? SecurableType::MenuItemDisplay : SecurableType::MenuItemAction, _name, '') > AccessRight::NoAccess;
		
	 
При проверке прав ошибочного пользователя - до вызова этой хранимой процедуры дело не доходит. Видимо, ошибка на клиенте происходит раньше, до обращения к SQL. Ошибка происходит на клиенте, так как это видно при анализе событий Windows. Ошибок на АОС не возникает. В EventViewer на клиенте показывает ошибку 0xc0000005 Клиенты и АОСы все одной версии. Все возможные перезапуски, сбросы кэшей, удаление AUC файлов были сделаны. Пользователя в АХ пересоздавали. SID в AD и в AX одинаковый. Последний раз редактировалось ta_and; 21.03.2023 в 17:23.  | 
| 
	
 | 
| Теги | 
| workflow, права доступа | 
| 
	
	 | 
	
		
  |