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

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

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

 

Опрос


Погода

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

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

Страницы: Пред. 1 2 3 След.
Автоматическая установка статуса ЗНИ "Выполнен" (rfcAccomplishmentCheck)
1и2 Ну в коде есть msession, msession можно отрыть если использовать какой-либо акаут, и как-то сомнительно что его через Administrator открывают, потому как там и пароль должен быть, сам понимаешь, что это странно выкладывать пароль админа в текстовый файл smile:|
3. Локализацию надо смотреть у найденного акаунта из пункта 1.
4. скрипт работает через апплик сервер, и для сервера пофиг что клиент, что скрипт - правила для всех одни, если есть в этом статусе Required fields, то они все должны быть заполнены иначе не даст сохранить.
Забыл упомянуть, что работаю на тестовом сервере.

Пароль действительно указывается в этом самом файле:

ApiSDSession msession = null;
String server = new String("___");
String username = new String("___");
String password = new String("___");


Сам я не админ, но меня уверили, что проблема не в сессиях и не в локализации.

Очень интересует 4 пункт. А какая часть данного скрипта подвергается изменениям при добавлении Required fields?
возьми этот акаунт(логин) String username = new String("___");
и пароль String password = new String("___");
открой клиента в этими данными, найди Изменение в котором не работал этот скрипт, и попробуй закрыть его или воздай новое и попробуй закрыть под этим логином изменяя только поле статус. Получится? Это будет ответ об Required fields.
В административной консоли убрал все обязательные поля, остались только Рабочая группа и Описание. Все равно не работает.
Просмотрел лог клиента, но он выполнение этого скрипта даже и не показывает
Dauren, много действий, но они все не "по теме".
Судя по приведённому выше коду - это servlet или .jsp файл который лежит на вебе, скорее всего Tomcat, так чего смотреть в лог клиента?
Я спрашивал найти логин с которым заходит скрипт в апплик сервер, начни с этого. И посмотри видит-ли он вообще то что он должен изменять - CH и WO.
А, теперь понятно. наконец-то до меня дошло!

Зашел под этим логином, Change Request открывается в обычном виде, а вот Наряд - нет, в маленьком окне с тремя полями, среди которых Статуса нету
Василий, вы случайно не знаете, что может означать РАЗМЕР МАССИВА и EXTERNAL DATA PROVIDER в среднем абзаце? Очень надеюсь на ваше помощь


Пн, 25/07/2011 12:25:55 <RuleManager> Rule "Статус связанного изменения = "Выполнено" если все наряды выполнены" condition: Статус (*) равен Выполнен (value: Выполнен): true
Пн, 25/07/2011 12:25:55 <RuleManager> Rule "Статус связанного изменения = "Выполнено" если все наряды выполнены" condition: НЕ (Изменение пустой) (value: фывфыв): true
Пн, 25/07/2011 12:25:55 <DBRuleManager> Rule "Статус связанного изменения = "Выполнено" если все наряды выполнены" was valid, execute the actions

Пн, 25/07/2011 12:25:56 <Trace> Правило "Статус связанного изменения = "Выполнено" если все наряды выполнены" действие "Статус связанного изменения = "Выполнено" если все наряды выполнены" дают ошибку: Размер массива, полученного от External Data Provider не верен.

Пн, 25/07/2011 12:25:56 <DBRuleManager> Evaluate Rule: "Установить статус последующего наряда "Новый" при выполнении предыдущего При создании наряды
ИЛИ При изменении наряды
где Статус (*) равен Выполнен" not executed (changed attributes not in condition)
Пн, 25/07/2011 12:25:56 <DBRuleManager> Evaluate Rule: "Статус связанного изменения = "Выполнено" если все наряды выполнены При создании наряды
ИЛИ При изменении наряды
где Статус (*) равен Выполнен
И НЕ (Изменение пустой)" not executed (changed attributes not in condition)
Откройте правило "Статус связанного изменения = "Выполнено", дойдите до действий. Там скорее всего Data Update from exteral system, посмотрите в параметры которые передаются.
Если честно, я такого здесь не вижу. Вот весь скрипт на правило. Может дело во второй строке (см следующий пост)?


<%@ page contentType="text/html; charset=UTF-8"%>
<%@ page import="com.hp.itsm.api.*,com.hp.itsm.api.ApiSDSession,com.hp.itsm.api.interfaces.*, java.net.*"%>
<%
ApiSDSession msession = null;
// настройки соединения с Service Desk 4.5
String server = new String("*******");
String username = new String("*******");
String password = new String("*******");

msession = ApiSDSession.openSession(server, username, password);

long rfcId = 0;

// получаем ID ЗНИ из входного параметра скрипта
rfcId = Long.valueOf(request.getParameter("output_field_value_0")).longValue();

// открываем ЗНИ
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 && rfc.getStatus().getText() != "Закрыт")
{
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;
}
msession.closeConnection();
out.print("n_fields=1&field_0=");
%>
Изменено: dauren - 25.07.2011 14:16:14
Первые две строки выглядят вот так и почему-то не отображаются в предыдущем посте

page contentType="text/html; charset=UTF-8"%>
page import="com.hp.itsm.api.*,com.hp.itsm.api.ApiSDSession,com.hp.itsm.api.interfaces.*, java.net.*"%>
Страницы: Пред. 1 2 3 След.

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