BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 25 июн 2025, 21:16

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




Начать новую тему Ответить на тему  [ Сообщений: 14 ] 
Автор Сообщение
СообщениеДобавлено: 22 ноя 2016, 07:50 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
Подскажите, как можно использовать параметры из объектов в макросах подстановок
Код:
Также в командах можно задавать переменные. Переменные обозначаются через значок $. Примеры $ip, $vlan и т.п. Список переменных
host - ip адрес устройства из поля Хост/порт
ip - ip адрес сервиса или сессии (192.168.1.1)
net - сеть сервиса (192.168.1.1/32)
mask,bitmask - битовая маска сервиса (32)
netmask - маска сервиса в виде (255.255.255.255)
netmaskWild - маска wildcard сервиса (0.0.0.0)
vlan - vlan сервиса
iface, port - интерфейс сервиса
ifaceTitle - наименование интерфейса сервиса
mac - MAC-адрес сервиса (00:14:fd:11:dd:79)
macBytes - MAC-адрес сервиса (0014fd11dd79)
macBytesDoted - MAC-адрес сервиса (abcd.ef12.3456)
servId - код сервиса
servTitle - наименование сервиса
contractId - код договора
contractTitle - название договора
translit($contractTitle) - транслитерация аргумента
ipGate - значение поля Gate из IP-ресурса
ipDns - значение поля DNS из IP-ресурса
ipSubnetMask - значение поля Маска подсети из IP-ресурса
ipParam(myParam) - значение параметра конфигурации myParam из IP-ресурса
deviceAttr(1) - значение атрибута 1 устройства
deviceAttr(1,2,default) - значение атрибута 2 устройства 1
ifaceTitleBeforeColon - название интерфейса из тайтла до : . Например EPON0/1:2 = EPON0/1
ifaceTitleAfterColon - название интерфейса из тайтла после : . Например EPON0/1:2 = 2
servParam - параметр сервиса из вкладки Дополнительно (параметры хранятся с индексами .1/.2 в ключах, поэтому до 7.0 нужно указывать ключ.1)
$deviceIP($servDeviceId) - IP устройства, привязанного к сервису
$deviceIdentifier($servDeviceId) - идентификатор устройства, привязанного к сервису
$iface($servDeviceId) - порт сервиса

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 22 ноя 2016, 14:57 
Не в сети
Клиент

Зарегистрирован: 09 фев 2011, 15:28
Сообщения: 1092
Карма: 135
видимо, придумать макрос самому, т.к. таковых сейчас нет и дописать код SA. Или попросить об этом разработчиков.
или как обычно, helpdesk=>доработка=>профит


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 22 ноя 2016, 16:55 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
А примера нет случаем?

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 22 ноя 2016, 17:06 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
В самом AbstractTerminalServiceActivator:
Код:
      else if( "contractTitle".equals( macros ) )
      {
         final DefaultContext context = DefaultContext.get();
         final ContractRuntime contractRuntime = ContractRuntimeMap.getInstance().getContractRuntime( context.getConnectionSet(), serv.getContractId() );
         if( contractRuntime == null )
         {
            return "null";
         }

         return contractRuntime.getContractTitle();
      }


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 23 ноя 2016, 12:13 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
А как то можно сделать так, чтобы при обновлении этот класс не перетирался? А то не вспомню что менял )
и подскажите как номер супердоговора получить?
Код:
      else if( "contractTitleParent".equals( macros ) )
      {
         final DefaultContext context = DefaultContext.get();
         final ContractRuntime contractRuntime = ContractRuntimeMap.getInstance().getContractRuntime( context.getConnectionSet(), serv.getContractId() );
         if( contractRuntime == null )
         {
            return "null";
         }

         return ContractRuntimeMap.getInstance().getContractRuntime( context.getConnectionSet(), contractRuntime.getSuperContractId()).getContractTitle();
      }

так говорит что id договора = 0

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 23 ноя 2016, 18:16 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Никак, только расширять своим классом в другом пакете.

contractRuntime.getSuperContractId()


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 24 ноя 2016, 11:58 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
Amir писал(а):
Никак, только расширять своим классом в другом пакете.

contractRuntime.getSuperContractId()

Код:
else if( "contractParentTitle".equals( macros ) )
      {
         final DefaultContext context = DefaultContext.get();
         final ContractManager cm = new ContractManager(context.getConnectionSet().getConnection());
         final Contract c = cm.getContractById(serv.getContractId());
         if( c == null )
         {
            return "null";
         }
         return cm.getContractById(c.getSuperId()).getTitle();
      }

если я так сделаю, ничего не поломается? ))))

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 24 ноя 2016, 17:15 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Ну если договор не найдент с superId - то упадет.
Лучше через ContractRuntime использовать - там title кэшируется, не будет базу нагружать лишними запросами.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 25 ноя 2016, 08:11 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
Amir писал(а):
Ну если договор не найдент с superId - то упадет.
Лучше через ContractRuntime использовать - там title кэшируется, не будет базу нагружать лишними запросами.

а я не особо понял как это сделать :-(

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 25 ноя 2016, 13:09 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Код:
      else if( "contractTitleParent".equals( macros ) )
      {
         final DefaultContext context = DefaultContext.get();
         ContractRuntime contractRuntime = ContractRuntimeMap.getInstance().getContractRuntime( context.getConnectionSet(), serv.getContractId() );
         if( contractRuntime == null )
         {
            return "null";
         }

         contractRuntime = ContractRuntimeMap.getInstance().getContractRuntime( context.getConnectionSet(), contractRuntime.getSuperContractId() );
         if( contractRuntime == null )
         {
            return "null";
         }

         return contractRuntime.getContractTitle();
      }


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 02 дек 2016, 06:58 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
Amir писал(а):
Код:
      else if( "contractTitleParent".equals( macros ) )
      {
         final DefaultContext context = DefaultContext.get();
         ContractRuntime contractRuntime = ContractRuntimeMap.getInstance().getContractRuntime( context.getConnectionSet(), serv.getContractId() );
         if( contractRuntime == null )
         {
            return "null";
         }

         contractRuntime = ContractRuntimeMap.getInstance().getContractRuntime( context.getConnectionSet(), contractRuntime.getSuperContractId() );
         if( contractRuntime == null )
         {
            return "null";
         }

         return contractRuntime.getContractTitle();
      }

Так null прилетает

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 02 дек 2016, 17:08 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
null когда у договора этого сервиса есть родительский?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 02 дек 2016, 17:21 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
не, идея то какая была, на субдоговоре передать название супердоговора, везде сервисы родительские, без дочерних

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 02 дек 2016, 18:21 
Не в сети
Разработчик
Аватара пользователя

Зарегистрирован: 19 дек 2006, 21:04
Сообщения: 5970
Карма: 256
Добавить логирования, посмотреть кто из них null.
По идее null сейчас вернет, если супер договора нет у текущего договора.


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

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


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

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


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

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