forum.bitel.ru http://forum.bitel.ru/ |
|
[5.1] Не работает метод getNoClosedTaskList http://forum.bitel.ru/viewtopic.php?f=21&t=6881 |
Страница 1 из 1 |
Автор: | mikos [ 20 июн 2012, 16:23 ] |
Заголовок сообщения: | [5.1] Не работает метод getNoClosedTaskList |
У класса ru.bitel.bgbilling.plugins.crm.server.dao.RegisterTaskManager не работает метод getNoClosedTaskList - выдает пустой список, хотя задачи открытые у договора есть. Пробовал даже их принимать - эффект тот же, пустой список на выходе метода. |
Автор: | stark [ 20 июн 2012, 17:14 ] |
Заголовок сообщения: | Re: [5.1] Не работает метод getNoClosedTaskList |
что возращает запрос Код: SELECT * FROM register_task WHERE cid=XXX AND status IN (0, 1) где XXX - id договора. |
Автор: | mikos [ 20 июн 2012, 17:24 ] |
Заголовок сообщения: | Re: [5.1] Не работает метод getNoClosedTaskList |
Задача на месте. Код: mysql> SELECT * FROM register_task WHERE cid=3964 AND status IN (0, 1); +-------+------+------------+------+------+---------------------+----------+-----------+------------+---------------------+-----------+---------------------+--------+--------+-----------+---------------------+-----------------------------------------------------------------------------------------+----+------------+------+------------+ | id | cid | aobject_id | apid | type | open_dt | open_uid | accept_dt | accept_uid | close_dt | close_uid | lm_dt | lm_uid | status | processed | target_dt | comment | gr | resolution | prid | execute_dt | +-------+------+------------+------+------+---------------------+----------+-----------+------------+---------------------+-----------+---------------------+--------+--------+-----------+---------------------+-----------------------------------------------------------------------------------------+----+------------+------+------------+ | 18901 | 3964 | 0 | 13 | 1 | 2012-06-19 20:01:58 | 0 | NULL | -10 | 2012-06-20 14:33:44 | 0 | 2012-06-20 14:29:18 | 5 | 0 | 0 | 2012-06-26 20:01:00 | Закрыто автоматически по отказу от подключения | 6 | | 0 | NULL | +-------+------+------------+------+------+---------------------+----------+-----------+------------+---------------------+-----------+---------------------+--------+--------+-----------+---------------------+-----------------------------------------------------------------------------------------+----+------------+------+------------+ 1 row in set (0.00 sec) Что еще интересно, так это иногда (через раз) получается вытащить список задач с помощью этого метода, когда перед его вызовом воспользоваться фильтром: Код: filter = new TaskFilter(); filter.cid = cid; cnt = rtm.getTaskCount( filter ); Вообще странности. По сути, я сейчас вообще никак не могу получить список задач для договора - ни фильтром, ни getNoClosedTaskList ( |
Автор: | mikos [ 20 июн 2012, 17:25 ] |
Заголовок сообщения: | Re: [5.1] Не работает метод getNoClosedTaskList |
ru.bitel.bgbilling.plugins.crm вер. 5.1 сборка 185 от 21.01.2012 01:58:39 |
Автор: | mikos [ 20 июн 2012, 17:39 ] |
Заголовок сообщения: | Re: [5.1] Не работает метод getNoClosedTaskList |
Правильно ли вызываю метод? Сейчас даже с фильтром ничего не выдает, хотя было несколько раз - возвращал результат. Вызываю closeAllTasks из события "доп.действия" договора. Код: public void closeAllTasks( cid ) { // ctx = getContext(); con = ctx.con; rtm = new RegisterTaskManager( con ); filter = new TaskFilter(); filter.cid = cid; cnt = rtm.getTaskCount( filter ); print("getTaskCount="+cnt); print("getNoClosedTaskList="+rtm.getNoClosedTaskList( cid ) ); for ( RegisterTask task : rtm.getNoClosedTaskList( cid ) ) { print("task="+task); // закрываем очередную задачу task = closeTask( task, "Закрыто автоматически" ); rtm.updateTask( task ); } } public RegisterTask closeTask( RegisterTask task, String comment ) { CloseTaskDate = new java.util.Date(); // закрываем задачу task.setCloseUserID( 0 ); task.setCloseTime( CloseTaskDate ); task.setComment( comment ); return task; } Лог выполнения Код: GENERATE_TIME: 20.06.12 15:37:08
EXECUTION_STOP_TIME: 20.06.12 15:37:08 PROCESS_TIME: 7 OUT: getTaskCount=0 getNoClosedTaskList=[] |
Автор: | mikos [ 20 июн 2012, 17:45 ] |
Заголовок сообщения: | Re: [5.1] Не работает метод getNoClosedTaskList |
Похоже проблема была в контексте. Стал передавать контекст из события в функцию closeAllTasks - находит задачи и даже меняет комментарий. Только почему-то не закрывает ее. Для закрытия отдельный метод есть какой-то? |
Автор: | mikos [ 20 июн 2012, 19:31 ] |
Заголовок сообщения: | Re: [5.1] Не работает метод getNoClosedTaskList |
Так и есть - разобрался во всем. Моя вина ) Напоследок такой вот метод отсутствует, по крайней мере у меня: RegisterTask.getId() В документации написано, что getID() устарел, использовать getId(), а его нет. Использую getID() - ругани на deprecated нет. PS: Может обновиться?) |
Автор: | skn [ 21 июн 2012, 19:30 ] |
Заголовок сообщения: | Re: [5.1] Не работает метод getNoClosedTaskList |
страно, в коде метод RegisterTask.getId() есть... |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |