BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 06 май 2024, 04:51

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: Method setAddressObjectId( null ) not found
СообщениеДобавлено: 06 июл 2009, 22:35 
Не в сети
Аватара пользователя

Зарегистрирован: 23 мар 2009, 23:16
Сообщения: 780
Откуда: St.Petersburg
Карма: 0
Добрый день.
Подскажите пожалуйста. Пытаюсь создать задачу в CRM. (4.6)

Код:
register_task_manager = new RegisterTaskManager( con );
object = getObject(cid);
RegisterTask task = new RegisterTask();
task.setContractID( cid );
task.setTypeID(  11 );
task.setGroupID( 6 );
task.setOpenUserID( 0 ) ;
task.setOpenTime( EventDate );
task.setComment( "Недостаточная оплата.\nТекущий баланс: "+contract_balance+"\nСтоимость подключения: " + connect_pay);
task.setAddressParamID( 2 );
task.setAddressObjectId( object );
task.setTargetDate( EventDate );
register_task_manager.updateTask( "new", task );


Получаю вот такую ошибку

Код:
java.util.concurrent.ExecutionException: Sourced file: Function [id:12; title:Проверка оплаты подключения] : Error in method invocation: Method setAddressObjectId( null ) not found in class'ru.bitel.bgbilling.plugins.crm.common.model.RegisterTask' : at Line: 150 : in file: Function [id:12; title:Проверка оплаты подключения] : task .setAddressObjectId ( object )


Пошел искать в описание API 4.6 и нашел этот метой - он есть

Код:
setAddressObjectId

public void setAddressObjectId(int addressObjectId)
Устанавливает код адресного параметра объекта договора
Parameters:
addressObjectId - - id из таблицы object_param


Почему скрипт рукается на этот метод, если он по описанию присутствует. Или это ошибка в описании и для привязки объекта к задаче требуется другой метод?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 06 июл 2009, 23:28 
Не в сети
Аватара пользователя

Зарегистрирован: 23 мар 2009, 23:16
Сообщения: 780
Откуда: St.Petersburg
Карма: 0
Понял, что дело не в этом методе, а в параметре который передается ему. В моем случае происходит попытка передать Null, отсюда и ошибка.
Но вопрос остается, только немного в другом ракурсе.

Почему этот метод возвращает Null?

Код:
object = getObject(cid);


Что за объект он возвращает, и от какого объекта этот метод?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 06 июл 2009, 23:48 
Не в сети
Разработчик

Зарегистрирован: 07 апр 2007, 23:51
Сообщения: 4489
Откуда: Уфа, Россия
Карма: 186
Код:
object = getObject(cid);


а откуда вы взяли эту строку, если из wiki, то там еще и это надо было взять

Код:
private getObject (cid)
{
   object_manager = new ObjectManager(con);
   contract_objects = object_manager.getObjectList(cid);
   for( ContractObject object : contract_objects )
   {
      return object.getId();
   };
   return null;
}


хотя логика этого метода, своеобразна... :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 07 июл 2009, 00:11 
Не в сети
Аватара пользователя

Зарегистрирован: 23 мар 2009, 23:16
Сообщения: 780
Откуда: St.Petersburg
Карма: 0
Да, точно, это функция в самом скрипте - не углядел, спасибо.

А о каких объектах идет речь в рамках того скрипта (все верно, пытаюсь запустить этот скрипт http://wiki.bgbilling.ru/index.php/Пример_автоматизации_подключения_новых_клиентов)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 07 июл 2009, 01:36 
Не в сети
Разработчик

Зарегистрирован: 07 апр 2007, 23:51
Сообщения: 4489
Откуда: Уфа, Россия
Карма: 186
обекты договора.. у них может быть адресный параметр
и в задаче может идти ссылка на адрес из договора или из объекта договора (причем должен быть указан или тот или другой)
если вы объекты не используйте
Код:
task.setAddressObjectId( -1 );


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 07 июл 2009, 03:55 
Не в сети
Аватара пользователя

Зарегистрирован: 23 мар 2009, 23:16
Сообщения: 780
Откуда: St.Petersburg
Карма: 0
Т.е. в случае

Код:
task.setAddressObjectId( -1 );


будет использоваться адрес договора, а не объекта, так?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 07 июл 2009, 03:58 
Не в сети
Разработчик

Зарегистрирован: 07 апр 2007, 23:51
Сообщения: 4489
Откуда: Уфа, Россия
Карма: 186
да


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: 07 июл 2009, 04:00 
Не в сети
Аватара пользователя

Зарегистрирован: 23 мар 2009, 23:16
Сообщения: 780
Откуда: St.Petersburg
Карма: 0
Спасибо!


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 8 ] 

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
POWERED_BY
Русская поддержка phpBB
[ Time : 0.052s | 34 Queries | GZIP : On ]