Назначение
Плагин db в hid предназначен для удаленной работы с ядром АСР "Гидра". Он позволяет выполнять хранимые процедуры и делать SQL-выборки из БД без установки непосредственного соединения с ней.
Принцип работы
Для работы с hid используется протокол XML-RPC или SOAP.
Все хранимые процедуры СУБД отображаются в названия методов напрямую (например, для процедуры SI_USERS_PKG.SI_USERS_PUT используется соответствующий метод плагина SI_USERS_PKG.SI_USERS_PUT). В качестве аргумента методов хранимых процедур следует передавать структуру (хэш, словарь) с параметрами ее вызова. Методы хранимых процедур возвращают структуры переданных параметров, но с измененными во время выполнения значениями (например, если передавать в процедуру SI_USERS_PKG.SI_USERS_PUT в качестве значения num_N_USER_ID NULL, то на "выходе" процедуры в качестве значения num_N_USER_ID будет идентификатор созданного абонента).
...
Метод SELECT возвращает структуру (хэш, словарь) следущего содержания:
Code Block |
---|
{
'RecordsNumber' => RecordsNumber,
'PagesNumber' => PagesNumber,
'SelectResult' => SelectResult,
}
|
RecordsNumber
— количество записей результата выборки;PagesNumber
— количество страниц результата выборки;SelectResult
— список (массив) записей. Каждая запись представляется еще одним списком, элементы которого соответствуют выбираемым полям таблицы. Все числовые поля таблиц из БД представляются в виде строк.
Параметры конфига hid
db select page size
— размер страницы выборки. По умолчанию — 20.db allow unlimited select
— флаг разрешения выборок без ограничения (on
или off
). По умолчанию — off
.
Примеры
Физические лица
...
Получение информации о юридическом лице
Code Block |
---|
SELECT("SELECT * FROM SI_V_PERSONSCOMPANIES_JR WHERE N_COMPANY_ID = <num_N_COMPANY_ID>")
|
Получение информации о физическом лице
...
num_N_COMPANY_ID
— идентификатор юр. лица
Удаление физического лица
Code Block |
---|
SI_PERSONS_PKG.SI_PERSONS_DEL({
'num_N_PERSON_ID' => <numnum_N_PERSON_ID>"ID,
})
|
num_N_PERSON_ID
— идентификатор физ. лица.
...
Добавление/изменение физического лица
Code Block |
---|
SI_PERSONS_PKG.SI_PERSONS_PUT({
'num_N_PERSON_ID' => num_N_PERSON_ID,
'vch_VC_SURNAME' => 'Шварценгольд',
'vch_VC_SECOND_NAME' => 'Викторович',
'ch_C_SEX' => 'M',
'num_N_SUBJ_GROUP_ID' => 49001,
'vch_VC_INN' => '1234567891',
'num_N_DOC_AUTH_TYPE_ID' => 2015,
'vch_VC_DOC_SERIAL' => '01 06',
'vch_VC_DOC_NO' => '489635',
'dt_D_DOC' => DATE('24.01.2009', 'DD.MM.YYYY'),
'vch_VC_DOCUMENT' => 'Отделением по району Царицыно ОУФМС России по г. Москве в ЮАО',
'dt_D_BIRTH' => DATE('20.03.1955', 'DD.MM.YYYY'),
'vch_VC_BIRTH_PLACE' => 'г. Москва',
'num_N_SUBJ_STATE_ID' => 2011,
'num_N_CITIZENSHIP_ID' => 21101,
})
|
num_N_PERSON_ID
— идентификатор физ. лица. Если равен NULL
— производится создание, иначе — редактированиеnum_N_SUBJ_GROUP_ID
— идентификатор группы физ. лиц (представление SI_V_SUBJ_GROUPS
)num_N_DOC_AUTH_TYPE_ID
— идентификатор типа документа, удостоверяющего личность (справочник REF_TYPE_Document
)num_N_SUBJ_STATE_ID
— идентификатор состояния СУ (справочник REF_TYPE_Subject_State
, SYS_CONTEXT('CONST', 'SUBJ_STATE_On') == 2011)num_N_CITIZENSHIP_ID
— идентификатор региона гражданства
Удаление физического лица
Code Block |
---|
SI_PERSONS_PKG.SI_PERSONS_DEL({
'num_N_PERSON_ID' => num_N_PERSON_ID,
})
|
num_N_PERSON_ID
— идентификатор физ. лица.
Юридические лица
Получение списка юридических лиц
Code Block |
---|
SELECT("SELECT * FROM SI_V_COMPANIES_JR")
|
Получение информации о юридическом лице
...
Ознакомиться со многими другими примерами работы с БД вы можете в разделе «Примеры работы с БД (Офис оператора связи)». Для использования этих примеров в работе с плагином db агента hid вам достаточно привести код PL/SQL к формату, описанному в примерах выше.
XML-запросы
Можно выполнять запросы к HID, используя XML-RPC:
Code Block |
---|
|
curl -d '<?xml version="1.0"?><methodCall><methodName>SELECT</methodName><params><param><value><string>SELECT * FROM SI_V_COMPANIES_JRUSERS WHERE N_COMPANYSUBJECT_ID = <num_N_COMPANY_ID>")
|
num_N_COMPANY_ID
— идентификатор юр. лица.
Редактирование (создание) юридического лица
Code Block |
---|
SI_COMPANIES_PKG.SI_COMPANIES_PUT({
'num_N_COMPANY_ID' => num_N_COMPANY_ID,
'num_N_OPF_ID' => 1041,
'num_N_REGION_ID' => 21301,
'vch_VC_CODE'302</string></value></param></params></methodCall>' 'http://hydra:pass@127.0.0.1:10080/xml-rpc/db' |
Code Block |
---|
language | yml |
---|
title | результат |
---|
collapse | true |
---|
|
<?xml version='1.0'?>
<methodResponse>
<params>
<param>
<value>
=> 'Вектор', 'vch_VC_INN'<struct>
=> '1234567891', 'vch_VC_OGRN' <member>
=> '12345', 'num_N_SUBJ_STATE_ID' => 2011, 'num_N_SUBJ_GROUP_ID' => 196401, }) |
num_N_COMPANY_ID
— идентификатор юр. лица. Если равен NULL
— производится создание, иначе — редактированиеnum_N_OPF_ID
— идентификатор ОПФ (справочник REF_TYPE_OPF
)num_N_REGION_ID
— идентификатор регионаnum_N_SUBJ_STATE_ID
— идентификатор состояния СУ (справочник REF_TYPE_Subject_State
, SYS_CONTEXT('CONST', 'SUBJ_STATE_On') == 2011)num_N_SUBJ_GROUP_ID
— идентификатор группы юр. лиц (представление SI_V_SUBJ_GROUPS
)
Удаление юридического лица
Code Block |
---|
SI_COMPANIES_PKG.SI_COMPANIES_DEL({ 'num_N_COMPANY_ID' => num_N_COMPANY_ID, }) |
num_N_COMPANY_ID
— идентификатор юр. лица.
Абоненты
Получение списка абонентов
Code Block |
---|
SELECT("SELECT * FROM SI_V_USERS_JR")
|
Получение информации об абоненте
Code Block |
---|
SELECT("SELECT * FROM SI_V_USERS_JR WHERE N_SUBJECT_ID = <num_N_SUBJECT_ID>")
|
num_N_SUBJECT_ID
— идентификатор абонента
Редактирование (создание) абонента
Code Block |
---|
SI_USERS_PKG.SI_USERS_PUT({
'num_N_USER_ID' <name>RecordsNumber</name>
=> num_N_USER_ID,<value>
'num_N_BASE_SUBJECT_ID' => 712282701, 'num_N_SUBJ_GROUP_ID' => 255664501, 'vch_VC_CODE' => 'uralsky',
'num_N_SUBJ_STATE_ID' <string>1</string>
=> 2011, }) |
num_N_USER_ID
— идентификатор абонента. Если равен NULL
— производится создание, иначе — редактированиеnum_N_BASE_SUBJECT_ID
— идентификатор физ. или юр. лица, к которому добавляется абонентnum_N_SUBJ_GROUP_ID
— идентификатор группы абонентов (представление SI_V_SUBJ_GROUPS
)num_N_SUBJ_STATE_ID
— идентификатор состояния СУ (справочник REF_TYPE_Subject_State
, SYS_CONTEXT('CONST', 'SUBJ_STATE_On') == 2011)
Удаление абонента
Code Block |
---|
SI_USERS_PKG.SI_USERS_DEL({ 'num_N_USER_ID' => num_N_USER_ID, }) |
num_N_USER_ID
— идентификатор абонента
Договоры
Получение информации о договорах
Code Block |
---|
SELECT("SELECT * FROM SI_V_USER_CONTRACTS") |
Получение информации о договоре
Code Block |
---|
SELECT("SELECT * FROM SI_V_USER_CONTRACTS WHERE N_DOC_ID = <num_N_DOC_ID>")
|
num_N_DOC_ID
— идентификатор договора
Добавление договора с абонентом
Code Block |
---|
SI_USERS_PKG.CREATE_CONTRACT({
'num_N_USER_ID' </value>
=> 49979801, </member>
'num_N_BASE_CONTRACT_ID' => 40174101, 'num_N_CONTRACT_ID' => NULL, }) |
num_N_USER_ID
— идентификатор абонентаnum_N_BASE_CONTRACT_ID
— идентификатор базового договора (представление SD_V_DOCUMENTS_JR
)num_N_CONTRACT_ID
— идентификатор созданного договора
Редактирование договора
Code Block |
---|
SD_CONTRACTS_PKG.SD_CONTRACTS_PUT({ 'num_N_DOC_ID' <member>
=> 52481301, 'num_N_DOC_TYPE_ID' => 1002, 'dt_D_DOC' => DATE('11.06.2010', 'DD.MM.YYYY'),
'vch_VC_DOC_NO' <name>PagesNumber</name>
=> 'T0100001', 'vch_VC_REM' => 'Тестовый', 'dt_D_BEGIN'<value>
=> DATE('11.06.2010', 'DD.MM.YYYY'), 'dt_D_END' => NULL, }) |
num_N_DOC_TYPE_ID
— идентификатор типа договора (справочник REF_TYPE_Document_Type
, договор на оказание услуг — SYS_CONTEXT('CONST', 'DOC_TYPE_SubscriberContract') == 1002)
Удаление договора
Code Block |
---|
SD_DOCUMENTS_PKG.SD_DOCUMENTS_DEL({ 'num_N_DOC_ID' => num_N_DOC_ID,
})
|
num_N_DOC_ID
— идентификатор договора с абонентом
Редактирование (создание) подписки на услуги
Code Block |
---|
SI_USERS_PKG.SI_USER_GOODS_PUT({
'num_N_SUBJ_GOOD_ID'<string>1</string>
=> num_N_SUBJ_GOOD_ID, 'num_N_GOOD_ID' </value>
=> 22165301, 'num_N_SUBJ_GOOD_TYPE_ID' => 1031, 'num_N_SUBJECT_ID' </member>
=> 712282901, 'num_N_ACCOUNT_ID' => 712283801, 'num_N_OBJECT_ID' <member>
=> 712284401, 'num_N_PAY_DAY' => 1, 'num_N_LINE_NO' <name>SelectResult</name>
=> 1000000, 'num_N_QUANT' <value>
=> 1, 'num_N_UNIT_ID' => 1009, 'num_N_DOC_ID' <array>
=> 712283101, 'num_N_PAR_SUBJ_GOOD_ID' => NULL, 'dt_D_BEGIN' => DATE('11.06.2010', 'DD.MM.YYYY'),
'dt_D_END' <data>
<value>
<array>
<data>
<value>
<string>1</string>
</value>
<value>
<string>302</string>
</value>
<value>
<string>302</string>
</value>
<value>
<string>2001</string>
</value>
<value>
<string>301</string>
</value>
<value>
<string>Миграторов Мигратор1 Миграторович1</string>
</value>
<value>
<string>18001</string>
</value>
<value>
<nil/>
=> NULL,
})
|
num_N_SUBJ_GOOD_ID
— идентификатор подписки на услуги. Если равен NULL
— производится создание, иначе — редактированиеnum_N_GOOD_ID
— идентификатор тарифного плана или услуги из номенклатуры (представление SR_V_GOODS
)num_N_SUBJ_GOOD_TYPE_ID
— идентификатор типа подписки (справочник REF_TYPE_Subj_Good_Type
, тарифный план — SYS_CONTEXT('CONST', 'GOOD_SUBJ_Tariff') == 1031, услуга — SYS_CONTEXT('CONST', 'GOOD_SUBJ_Periodic') == 2031)num_N_SUBJECT_ID
— идентификатор абонентаnum_N_ACCOUNT_ID
— идентификатор лицевого счетаnum_N_OBJECT_ID
— идентификатор оборудованияnum_N_PAY_DAY
— расчетный день месяцаnum_N_LINE_NO
— номер строки по порядку при отображении таблицы. Для первой родительской записи — 1000000, для второй родительской — 2000000 и т.д. Для первой дочерней записи первой родительской записи — 1000001, для второй дочерней записи третьей родительской строки — 3000002.num_N_QUANT
— количествоnum_N_UNIT_ID
— идентификатор единицы измерения (представление SI_V_UNITS
, неопределенно — SYS_CONTEXT('CONST', 'UNIT_Piece') == 2009)num_N_DOC_ID
— идентификатор договораnum_N_PAR_SUBJ_GOOD_ID
— идентификатор родительской подписки (указывается в случае, если добавляется дочерняя строка)
Удаление подписки на услуги
Code Block |
---|
SI_USERS_PKG.SI_USER_GOODS_DEL({
'num_N_SUBJ_GOOD_ID' => num_N_SUBJ_GOOD_ID,
})
|
num_N_SUBJ_GOOD_ID
— идентификатор подписки на услуги
Лицевые счета
Получение информации о счетах
Code Block |
---|
SELECT("SELECT * FROM SI_V_SUBJ_ACCOUNTS WHERE N_ACCOUNT_TYPE_ID = 2042")
|
N_ACCOUNT_TYPE_ID
— идентификатор типа счета (справочник REF_TYPE_Account_Type
, лицевой счет — SYS_CONTEXT('CONST', 'ACC_TYPE_Personal') == 2042)
Получение информации о счете
Code Block |
---|
SELECT("SELECT * FROM SI_V_SUBJ_ACCOUNTS WHERE N_ACCOUNT_ID = <num_N_ACCOUNT_ID>")
|
num_N_ACCOUNT_ID
— идентификатор счета
Добавление лицевого счета для абонента
Code Block |
---|
SI_USERS_PKG.CREATE_ACCOUNT({
'num_N_USER_ID' => 49979801,
'num_N_ACCOUNT_ID' => NULL,
})
|
num_N_USER_ID
— идентификатор абонентаnum_N_ACCOUNT_ID
— идентификатор созданного лицевого счета
Редактирование (добавление) счета
Code Block |
---|
SI_SUBJECTS_PKG.SI_SUBJ_ACCOUNTS_PUT({
'num_N_ACCOUNT_ID' => num_N_ACCOUNT_ID,
'num_N_SUBJECT_ID' => 52480701,
'num_N_ACCOUNT_TYPE_ID' => 2042,
'num_N_BANK_ID' </value>
<value>
<string>5011</string>
</value>
<value>
<nil/>
</value>
<value>
<string>Миграторов М. М.</string>
</value>
=> 100, 'num_N_CURRENCY_ID' => 1044, 'vch_VC_ACCOUNT' <value>
=> 'T0100001', 'num_N_OVERDRAFT' => 100, 'dt_D_OVERDRAFT_END' => DATE('15.06.2010', 'DD.MM.YYYY'),
})
|
num_N_ACCOUNT_ID
— идентификатор счета. Если равен NULL
— производится создание, иначе — редактированиеnum_N_SUBJECT_ID
— идентификатор СУ (абонента)num_N_ACCOUNT_TYPE_ID
— идентификатор типа счета (справочник REF_TYPE_Account_Type
, лицевой счет — SYS_CONTEXT('CONST', 'ACC_TYPE_Personal') == 2042)num_N_BANK_ID
— идентификатор банка (для реальных счетов) или оператора связи (для лицевых)num_N_CURRENCY_ID
— идентификатор валюты (справочник REF_TYPE_Currency
, лицевой счет — SYS_CONTEXT('CONST', 'CURR_Ruble') == 1044)vch_VC_ACCOUNT
— номер счетаnum_N_OVERDRAFT
— кредитный лимитdt_D_OVERDRAFT_END
— дата окончания срока действия кредитного лимита
Удаление счета
Code Block |
---|
SI_SUBJECTS_PKG.SI_SUBJ_ACCOUNTS_DEL({
'num_N_ACCOUNT_ID' => num_N_ACCOUNT_ID,
})
|
num_N_ACCOUNT_ID
— идентификатор счета
Пополнение баланса лицевого счета
Code Block |
---|
SD_PAYMENTS_PKG.SD_PAYMENTS_CHARGE({
'num_N_DOC_ID' <string>Migrator</string>
</value>
<value>
<string>Миграторов М. М.</string>
</value>
<value>
<string>Migrator</string>
</value>
<value>
<string>MIGRATOR</string>
</value>
<value>
<string>МИГРАТОРОВ М. М.</string>
=> NULL, 'num_N_DOC_TYPE_ID' => 4002, 'num_N_PAY_TYPE_ID' </value>
=> 40492401, 'num_N_MOVE_TYPE_ID' => 1007, 'num_N_ACCOUNT_ID_ForWho' => 52481101, 'num_N_PAYER_ID' => 52480501, 'num_N_ACCOUNT_ID_Payer' => NULL, 'num_N_RECEIVER_ID'<value>
=> 99, 'num_N_ACCOUNT_ID_Receiver' => 40140101, 'num_N_SUM' => 100, 'num_N_TAX_RATE_ID' = <nil/>
3005, 'num_N_CURRENCY_ID' => 1044, 'b_Virtual' => 0,
})
|
num_N_DOC_ID
— идентификатор созданного платежного документаnum_N_DOC_TYPE_ID
— идентификатор типа платежного документа (справочник REF_TYPE_Document_Type
, кассовый ордер — SYS_CONTEXT('CONST', 'DOC_TYPE_CashWarrant') == 4002)num_N_PAY_TYPE_ID
— идентификатор типа платежа (справочник REF_TYPE_Real_MM_Kind
, оплата наличным в офисе — SYS_CONTEXT('CONST', 'RMM_KIND_Office') == 40492401)num_N_MOVE_TYPE_ID
— идентификатор вида движения средств (справочник REF_TYPE_Money_Move_Type
, поступление — SYS_CONTEXT('CONST', 'MM_TYPE_Intake') == 1007)num_N_ACCOUNT_ID_ForWho
— идентификатор лицевого счета абонента-получателяnum_N_PAYER_ID
— идентификатор СУ плательщика (физ. или юр. лица)num_N_ACCOUNT_ID_Payer
— идентификатор счета плательщикаnum_N_RECEIVER_ID
— идентификатор СУ получателя (юр. лица оператора)num_N_ACCOUNT_ID_Receiver
— идентификатор счета получателя (расчетный счет юр. лица оператора)num_N_TAX_RATE_ID
— идентификатор ставки налога (справочник REF_TYPE_TAX_Rates
, 18 % — SYS_CONTEXT('CONST', 'Tax_18') == 3005)num_N_CURRENCY_ID
— идентификатор валюты (справочник REF_TYPE_Currency
, руб. — SYS_CONTEXT('CONST', 'CURR_Ruble') == 1044)b_Virtual
— флаг виртуального платежа (0
— платеж реальный, 1
— платеж виртуальный)
Получение списка платежей абонента
Code Block |
---|
SELECT("SELECT * FROM TABLE(SI_USERS_PKG_S.USERS_ACC_DETALIZATION( </value>
<value>
<nil/>
</value>
<value>
<dateTime.iso8601>20090617T17:18:39</dateTime.iso8601>
TO_DATE('<dt_D_BEGIN>', 'DD.MM.YYYY HH24:MI:SS'), </value>
TO_DATE('<dt_D_END>', 'DD.MM.YYYY HH24:MI:SS'), <num_N_ACCOUNT_ID>, 1, 0))")
|
dt_D_BEGIN
— дата начала периода, за который получается список платежейdt_D_END
— дата окончания периода, за который получается список платежейnum_N_ACCOUNT_ID
— идентификатор лицевого счета.
Оборудование абонента
Получение информации об оборудовании абонентов
Code Block |
---|
SELECT("SELECT * FROM SI_V_USER_DEVICES")
|
Получение информации об оборудовании абонента
Code Block |
---|
SELECT("SELECT * FROM SI_V_USER_DEVICES WHERE N_USER_ID = <num_N_USER_ID>")
|
num_N_USER_ID
— идентификатор абонента
Добавление оборудования абонента
—
Редактирование оборудования абонента
Code Block |
---|
SI_OBJECTS_PKG.SI_OBJECTS_PUT({
'num_N_OBJECT_ID' => 52508301,
'num_N_GOOD_ID' <value>
=> 40376601, 'vch_VC_NAME' = <nil/>
'AV1-T0100002', 'vch_VC_CODE' => 'AV1-T0100002', 'num_N_FIRM_ID' => 100, 'num_N_OBJ_STATE_ID' => 1040, 'num_N_OWNER_ID' => 52499001, }) |
num_N_OBJECT_ID
— идентификатор оборудованияnum_N_FIRM_ID
— идентификатор фирмы, которой принадлежит оборудованиеnum_N_OBJ_STATE_ID
— идентификатор состояния (справочник REF_TYPE_Object_State
, лицевой счет — SYS_CONTEXT('CONST', 'OBJ_STATE_Active') == 1040)num_N_OWNER_ID
— идентификатор абонента
Удаление оборудования абонента
Code Block |
---|
SI_OBJECTS_PKG.SI_OBJECTS_DEL({ num_N_OBJECT_ID => num_N_OBJECT_ID, }) |
num_N_OBJECT_ID
— идентификатор оборудования
Услуги абонента
Список текущих услуг
Code Block |
---|
SELECT("SELECT * FROM TABLE(SI_USERS_PKG_S.USERS_CURRENT_SERVS_LIST(<num_N_USER_ID>, 1))")
|
num_N_USER_ID
— идентификатор абонента
Список оказанных услуг
Code Block |
---|
SELECT("SELECT * FROM TABLE(SI_USERS_PKG_S.USERS_BILLED_SERVS_LIST(<num_N_USER_ID>, TO_DATE('<dt_D_BEGIN>', 'DD.MM.YYYY HH24:MI:SS'), TO_DATE('<dt_D_END>', 'DD.MM.YYYY HH24:MI:SS'), 1))")
|
num_N_USER_ID
— идентификатор абонентаdt_D_BEGIN
— дата начала периода, за который получается список оказанных услугdt_D_END
— дата окончания периода, за который получается список оказанных услуг
Получение информации о текущей услуге
Code Block |
---|
SELECT("SELECT * FROM TABLE(SI_USERS_PKG_S.USERS_CURRENT_SERVS_LIST(<num_N_USER_ID>, 1)) WHERE N_GOOD_ID = <num_N_GOOD_ID>")
|
num_N_USER_ID
— идентификатор абонентаnum_N_GOOD_ID
— идентификатор услуги из номенклатуры
Изменение состояния услуги доступа
Code Block |
---|
SI_USERS_PKG.ACCESS_SERV_CHG_STATE({
'num_N_GOOD_ID' </value>
=> 40216501, 'num_N_PARENT_GOOD_ID' => 40161101, 'num_N_ACCOUNT_ID' <value>
=> 52481101, 'num_N_OBJECT_ID' => 52482001, 'num_N_INVOICE_ID' => 52485101, 'b_Enable' => 1, }) |
num_N_GOOD_ID
— идентификатор услуги доступа из номенклатурыnum_N_PARENT_GOOD_ID
— идентификатор основной услуги (тарифного плана) из номенклатурыnum_N_ACCOUNT_ID
— идентификатор лицевого счета абонентаnum_N_OBJECT_ID
— идентификатор оборудованияnum_N_INVOICE_ID
— идентификатор инвойсаb_Enable
— флаг включения (значение 1) или выключения (значение 0) услуги
Получение детализации по трафику
—
Получение детализации по доп. услугам
Code Block |
---|
SELECT("SELECT * FROM SI_V_USER_ADDSERVS WHERE N_DOC_ID = <num_N_DOC_ID> AND N_PARENT_GOOD_ID = <num_N_GOOD_ID>")
|
num_N_DOC_ID
— идентификатор абонентаnum_N_GOOD_ID
— идентификатор услуги (тарифного плана) из номенклатуры
Инвойсы
Список инвойсов абонента
Code Block |
---|
SELECT("SELECT D.* <array>
FROM SD_V_INVOICES_JR D, SI_V_DOC_SUBJECTS_SIMPLE S WHERE S.N_DOC_ID = D.N_DOC_ID <data>
<value>
<string>системный_пользователь</string>
AND S.N_DOC_ROLE_ID = SYS_CONTEXT('CONST', 'SUBJ_ROLE_Receiver') </value>
<value>
<string>не_выгружать_пл</string>
</value>
</data>
</array>
</value>
<value>
<string>системный_пользователь, не_выгружать_пл</string>
AND S.N_SUBJECT_ID = <num_N_USER_ID>") |
num_N_USER_ID
— идентификатор абонента
Получение заголовка инвойса
Code Block |
---|
SELECT("SELECT * FROM SD_V_INVOICES_T WHERE N_DOC_ID = <num_N_DOC_ID>") |
num_N_DOC_ID
— идентификатор инвойса
Получение состава инвойса
Code Block |
---|
SELECT("SELECT * FROM SD_V_INVOICES_C WHERE N_DOC_ID = <num_N_DOC_ID>") |
num_N_DOC_ID
— идентификатор инвойса
Изменение состояния инвойса
Code Block |
---|
SD_DOCUMENTS_CHANGE_STATE( 'num_N_DOC_ID' => 52485101,</value>
'num_N_New_DOC_STATE_ID' => 4003,
})
|
num_N_DOC_ID
— идентификатор инвойсаdt_D_OPER
— идентификатор состояния документа (справочник REF_TYPE_Document_State
, лицевой счет — SYS_CONTEXT('CONST', 'DOC_STATE_Actual') == 4003)
Досрочное закрытие инвойса
Code Block |
---|
SI_USERS_PKG.CHANGE_INVOICE_PERIOD({
'num_N_DOC_ID' => 52485101,
'dt_D_OPER' => DATE('11.06.2010 23:11:02', 'DD.MM.YYYY HH24:MI:SS')
})
|
num_N_DOC_ID
— идентификатор инвойсаdt_D_OPER
— время закрытия. Если не передано, используется текущее время системы
Подписки на службы
Получение информации о подписках на службы
Code Block |
---|
SELECT("SELECT * FROM SI_V_SUBJ_SERVICES WHERE N_SUBJ_SERV_TYPE_ID = SYS_CONTEXT('CONST','SUBJ_SERV_ServiceUse')")
|
Получение информации о подписках на службы абонента
Code Block |
---|
SELECT("SELECT * FROM SI_V_SUBJ_SERVICES WHERE N_SUBJ_SERV_TYPE_ID = SYS_CONTEXT('CONST','SUBJ_SERV_ServiceUse') AND N_SUBJECT_ID = <num_N_USER_ID>")
|
num_N_USER_ID
— идентификатор абонента
Получение информации о подписке на службу
Code Block |
---|
SELECT("SELECT * FROM SI_V_SUBJ_SERVICES WHERE N_SUBJ_SERV_TYPE_ID = SYS_CONTEXT('CONST','SUBJ_SERV_ServiceUse') AND N_SUBJ_SERV_ID = <num_N_SUBJ_SERV_ID>")
|
num_N_SUBJ_SERV_ID
— идентификатор подписки на службу
Редактирование (добавление) подписки на службу
Code Block |
---|
SI_SUBJECTS_PKG.SI_SUBJ_SERVICES_PUT({
'num_N_SUBJ_SERV_ID' => num_N_SUBJ_SERV_ID,
'num_N_SUBJ_SERV_TYPE_ID' => 3066,
'num_N_SUBJECT_ID' => 52480701,
'num_N_SERVICE_ID' => 40176501,
'num_N_OBJECT_ID' <value>
<string>Создан при инсталляции</string>
</value>
<value>
<string>100</string>
</value>
<value>
<nil/>
</value>
<value>
<nil/>
</value>
<value>
<nil/>
</value>
<value>
<string>50853901</string>
</value>
<value>
<array>
<data>
<value>
<int>50853901</int>
</value>
</data>
</array>
</value>
<value>
<string>Системные пользователи</string>
</value>
<value>
<string>51845401</string>
</value>
<value>
<dateTime.iso8601>20250521T11:12:34</dateTime.iso8601>
</value>
=> 54154801, 'num_N_AUTH_TYPE_ID' <value>
=> 1019, 'vch_VC_LOGIN' => 'T0100001', }) |
num_N_SUBJ_SERV_ID
— идентификатор подписки на службы. Если равен NULL
— производится создание, иначе — редактированиеnum_N_SUBJ_SERV_TYPE_ID
— идентификатор типа привязки к службе (SYS_CONTEXT('CONST', 'SUBJ_SERV_ServiceUse') == 3066)num_N_SUBJECT_ID
— идентификатор абонентаnum_N_SERVICE_ID
— идентификатор сетевой службыnum_N_OBJECT_ID
— идентификатор компонента сетевой службыnum_N_AUTH_TYPE_ID
— идентификатор типа авторизации (SYS_CONTEXT('CONST', 'AUTH_TYPE_LoginPass') == 1019)
Удаление подписки на службу
Code Block |
---|
SI_SUBJECTS_PKG.SI_SUBJ_SERVICES_DEL({ 'num_N_SUBJ_SERV_ID' => num_N_SUBJ_SERV_ID, }) |
num_N_SUBJ_SERV_ID
— идентификатор подписки на службы
Изменение пароля на подписку к службе
Code Block |
---|
SI_SUBJECTS_PKG.SI_SUBJ_SERVICES_CHG_PASS({ 'num_N_SUBJ_SERV_ID' => 42231101, 'vch_VC_OLD_PASS' => NULL, 'vch_VC_NEW_PASS' <string>4624499330801</string>
=> 'q123', }) |
num_N_SUBJ_SERV_ID
— идентификатор подписки на службеvch_VC_OLD_PASS
— старый пароль. Для новой подписки — NULLvch_VC_NEW_PASS
— новый пароль
Доступ к приложениям
Получение информации о доступе к приложениям
Code Block |
---|
SELECT("SELECT * FROM SS_V_USERS_APP_BINDS") |
Получение информации о доступе к приложениям по абоненту
Code Block |
---|
SELECT("SELECT * FROM SS_V_USERS_APP_BINDS WHERE N_USER_ID = <num_N_USER_ID>") |
num_N_USER_ID
— идентификатор абонента
Получение информации о доступе к приложению
Code Block |
---|
SELECT("SELECT * FROM SS_V_USERS_APP_BINDS WHERE N_SUBJ_SERV_ID = <num_N_SUBJ_SERV_ID>") |
num_N_SUBJ_SERV_ID
— идентификатор подписки на приложение
Редактирование (добавление) доступа в приложение
Code Block |
---|
SI_SUBJECTS_PKG.SI_SUBJ_SERVICES_PUT({ 'num_N_SUBJ_SERV_ID' => num_N_SUBJ_SERV_ID, 'num_N_SUBJ_SERV_TYPE_ID' => 3066, 'num_N_SUBJECT_ID' </value>
=> 52480701, 'num_N_SERVICE_ID' => 1005, 'num_N_AUTH_TYPE_ID' => 1019, 'vch_VC_LOGIN' => 'uralsky',
})
|
num_N_SUBJ_SERV_ID
— идентификатор подписки на приложение. Если равен NULL
— производится создание, иначе — редактированиеnum_N_SUBJ_SERV_TYPE_ID
— идентификатор типа привязки к приложению (SYS_CONTEXT('CONST', 'SUBJ_SERV_AppAccess') == 1066)num_N_SUBJECT_ID
— идентификатор абонентаnum_N_SERVICE_ID
— идентификатор приложения (выборка из SS_V_AVAILABLE_SERV_APPS, АРМ Личный кабинет пользователя — 1005)num_N_AUTH_TYPE_ID
— идентификатор типа авторизации (SYS_CONTEXT('CONST', 'AUTH_TYPE_LoginPass') == 1019)
Удаление доступа к приложению
Code Block |
---|
SI_SUBJECTS_PKG.SI_SUBJ_SERVICES_DEL({
'num_N_SUBJ_SERV_ID' </data>
=> num_N_SUBJ_SERV_ID, }) |
num_N_SUBJ_SERV_ID
— идентификатор подписки на приложение
Изменение пароля на доступ к приложению
Code Block |
---|
SI_SUBJECTS_PKG.SI_SUBJ_SERVICES_CHG_PASS({ 'num_N_SUBJ_SERV_ID' => 42231101, 'vch_VC_OLD_PASS' => NULL, 'vch_VC_NEW_PASS' => 'q123', })
|
num_N_SUBJ_SERV_ID
— идентификатор подписки на приложениеvch_VC_OLD_PASS
— старый пароль. Для новой подписки — NULLvch_VC_NEW_PASS
— новый пароль
Проверка авторизационных данных абонента по приложению
—
</array>
</value>
</data>
</array>
</value>
</member>
</struct>
</value>
</param>
</params>
</methodResponse> |