Решено0
0
Добавление проверки статуса курса 'Пройден'
Из чата сообщества
Содержание обработано автоматически и может отличаться от оригинала.
Приветствую Всех с новым годом и наступающим рождеством.
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
//установите:
//K - завершить курс окончательно после К дней с момента завершения курса
//N - начинать отсылать уведомления за N дней
var K=1
var N=1;
//--------------------------------------------------------------------------------------------------------
//поставьте
//0-если отсылать уведомление надо и руководителю, и сотруднику
//1-если только пользователю
//2-если только руководителю
var i=1; //znachenie po umol4aniu-otsilat oboim
//----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
ArrayActiveLearning = XQuery( "for $elem in active_learnings where $elem/state_id=0 or $elem/state_id=1 or $elem/state_id=2 return $elem" );
for ( _elem in ArrayActiveLearning )
try
{
docSub = OpenDoc( UrlFromDocID(_elem.id) );
if ( docSub.TopElem.max_end_date.HasValue && docSub.TopElem.max_end_date \<= DateOffset( Date(), N * 86400 ) && Date() \< docSub.TopElem.max_end_date)
{
NotArray1=XQuery ("for $elem1 in notifications where $elem1/code='2598' return $elem1");
if (ArrayCount(NotArray1)!=0) //существование данных уведомлений
{
tools.create_notification(ArrayFirstElem(NotArray1).id, _elem.id);
}
}
if ( docSub.TopElem.max_end_date.HasValue && DateNewTime(docSub.TopElem.max_end_date) \<= DateNewTime(Date()) )
{
if (i==0)
{
NotArray2=XQuery ("for $elem2 in notifications where $elem2/code='25100' return $elem2");
if (ArrayCount(NotArray2)!=0) //существование данных уведомлений
{
tools.create_notification(ArrayFirstElem(NotArray2).id, _elem.id);
}
NotArray3=XQuery ("for $elem3 in notifications where $elem3/code='2599' return $elem3");
if (ArrayCount(NotArray3)!=0) //существование данных уведомлений
{
tools.create_notification(ArrayFirstElem(NotArray3).id, _elem.id);
}
}
if (i==1)
{
NotArray3=XQuery ("for $elem3 in notifications where $elem3/code='2599' return $elem3");
if (ArrayCount(NotArray3)!=0) //существование данных уведомлений
{
tools.create_notification(ArrayFirstElem(NotArray3).id, _elem.id);
}
}
if (i==2)
{
NotArray2=XQuery ("for $elem2 in notifications where $elem2/code='25100' return $elem2");
if (ArrayCount(NotArray2)!=0) //существование данных уведомлений
{
tools.create_notification(ArrayFirstElem(NotArray2).id, _elem.id);
}
}
}
if ( docSub.TopElem.max_end_date.HasValue && Date() >= DateOffset( docSub.TopElem.max_end_date, K * 86400 ) )
{
tools.active_learning_finish(_elem.id, docSub.TopElem);
DeleteDoc(UrlFromDocID(_elem.id));
}
}
catch ( ee )
{
alert(ee);
}
Есть вот такой стандартный агент для закрытия курса по истечению его срока годности, как можно добавить проверку что есть курс "Пройден", его пропускать? $elem/state_id = 4` это нашел через Назначение пользователей
2 ответа
Чтобы ответить, необходимо войти в систему
