Пользователь
Логин:
Пароль:
Забыли свой пароль?

Поиск по сайту
 

 Расширенный поиск
Реклама

 

Опрос


Погода

Автоматическая установка статуса ЗНИ "Выполнен" (rfcAccomplishmentCheck)

Форумы
Обновления
Поиск
Пользователи 
Правила
Помощь
Войти

Страницы: 1 2 3 След.
Автоматическая установка статуса ЗНИ "Выполнен" (rfcAccomplishmentCheck)
После отметки всех подчиненных нарядов как "Выполнен", статус ЗНИ тоже должен автоматически быть отмечен как "Выполнен". Но функция не работает, были ли у кого-нибудь такие проблемы?
А подсчет нарядов видеться?
давайте я сразу код выложу


IChangeHome rfcHome = msession.getChangeHome();
IChange rfc = null;
try
{
rfc = rfcHome.openChange(rfcId);
}
catch (RuntimeException e)
{
msession.closeConnection();
out.print("n_fields=1&field_0=");
return;
}
try
{
IWorkorder[] WOs = rfc.getWorkorders();
boolean isAllWorkordersDone = true;
for(int i=0; i<WOs.length; i++)
{
if(WOs[i].getStatus().getText() != "Выполнен")
isAllWorkordersDone = false;
}
if(isAllWorkordersDone = true)
{
String closedChangeStatusSring = "Выполнен";
IStatusChangeHome closedStatusChangeHome = msession.getStatusChangeHome();
IStatusChangeWhere closedStatusChangeWhere = closedStatusChangeHome.createStatusChangeWhere();
closedStatusChangeWhere.addCriteriumOnText(closedChangeStatusSring);
IStatusChange[] allClosedStatusChange = closedStatusChangeHome.findStatusChange(closedStatusChangeWhere);
IStatusChange closedStatusChange=allClosedStatusChange[0];

rfc.setStatus(closedStatusChange);
rfc.save();
}
}
catch (RuntimeException e)
{
msession.closeConnection();
out.print(e.getMessage() +" n_fields=1&field_0=");
return;
}
Раньше это работало?
говорят, что работало. а сейчас нет. а когда именно перестало работать - не уследили.
эта часть почему-то не полностью отображается на форуме

try
{
IWorkorder[] WOs = rfc.getWorkorders();
boolean isAllWorkordersDone = true;
for(int i=0; i<WOs.length; i++)
{
if(WOs[i].getStatus().getText() != "Выполнен")
isAllWorkordersDone = false;
}
Изменено: dauren - 01.07.2011 16:06:18
Если запускается через правило, то можно попробовать для начала руками запустить… посмотреть что будет возвращать.
проблема вашего кода может быть в Акаунте с которым вы делаете сессию -> msession
1. у акаунта нет прав, были а теперь нет - надо проверить и по Каталогу и по полям
2. у акаунта кончились сессии - их всего 9 на акаунт, возможно они просто весят
3. у вас проверка по статусу "Выполнено", но если акаунту сменить локализацию скажем на Англ., то он никогда и не прочитает "Выполнено".
4. у вас со временем изменились требования к Change, и были объявлены дополнительно Required field, и о них ваш код ничего не знает, а оперирует только Статусом, где благополучно попадает на Exception.
Большое спасибо! возможно найду решение проблемы в одном из ваших пунктов
1. Можете пожалуйста уточнить о каком каталоге идет речь?
В SD права админа, в СУБД - db_datareader, db_writer.

2. msession=null

3. Локализация русская, не менялась

4. Должен ли скрипт описывать Required fields?

Заранее спасибо!
Страницы: 1 2 3 След.

Сегодня были (гостей: 1, пользователей: 0, из них скрытых: 0)