Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Tip

PERSON Пользователь

CORE Ядро

MACRO Макрокоманда

Пример 1. Создание тестовых пользователей

По макрокоманде 101 создать в ПК Интеллект 50 пользователей с идентификаторами от 100 до 150, назначив им уровень доступа с идентификатором 1 (при условии, что УД назначен отделу, в который добавляются пользователи, и пользователи наследуют УД отдела) и привязав карту доступа с номером, равным идентификатору пользователя. Номер карты должен быть в HEX-формате. В отделе должно быть не более 30 пользователей (для ускорения процесса добавления).

Info
titleПримечание.

Дополнительную информацию об уровнях доступа и картах доступа см. в документации на ПК ACFA-Интеллект в хранилище документации Репозиторий документации Документация для продуктов компании ITV.

Если в ПК Интеллект настроена интеграция СКУД, поддерживающая динамическую запись пользователей, то при отправке события CORE||UPDATE_OBJECT|objtype<PERSON> создаваемый пользователь будет автоматически записываться в контроллер СКУД. Если динамика не поддерживается, то запись пользователей в контроллер необходимо будет инициировать вручную.


Code Block
languagejs
dep=10; // идентификатор отдела 
start=100;// идентификатор первого пользователя
last=150; // идентификатор последнего пользователя
acc_lev=1; // идентификатор уровня доступа 
dep_count=30; // максимальное количество пользователей в отделе

if( Event.SourceType == "MACRO" && Event.Action == "RUN" && Event.SourceId=="101")
 {    
	kol=0;
	card_count=0;
	NotifyEventStr("CORE","","UPDATE_OBJECT","objtype<DEPARTMENT>,objid<"+dep+">");
	for (i=start;i<=last;i++)
	{
		kol++;
		card_count++;
		card=decToHex(card_count);
		if (card[card.length-1]==0) 
		{	
			card_count++;
			card=decToHex(card_count);	
		}
					
		if (kol==dep_count) 
		{						
			NotifyEventStr("CORE","","UPDATE_OBJECT", "objtype<PERSON>,objid<"+i+">,name<user"+i+">,parent_id<"+dep+">, level_id<"+acc_lev+">, facility_code<0>, card<"+card+">");
			kol=0;
			dep++;
			NotifyEventStr("CORE","","UPDATE_OBJECT","objtype<DEPARTMENT>,objid<"+dep+">");
		}
		else
		{
			NotifyEventStr("CORE","","UPDATE_OBJECT", "objtype<PERSON>,objid<"+i+">,name<user"+i+">,parent_id<"+dep+">,level_id<"+acc_lev+">, facility_code<0>,card<"+card+">");
		}
        Sleep(10);
	}
 }
 
function decToHex(n)
{ 
 return Number(n).toString(16); 
}

...