На базе АИС «Omni-UtilitieS» реализованы специализированные решения для предприятий ТЭК и ЖКХ:
АИС «Omni-UtilitieS» для сбытовых компаний;
АИС «Omni-UtilitieS» для сетевых компаний;
АИС «Omni-UtilitieS» для предприятий ЖКХ;
АИС «Omni-UtilitieS» для генерирующих компаний.
Система обеспечивает:
учет и хранение нормативно-справочной информации;
ведение лицевых счетов с абонентами;
расчет стоимости реализованных энергоресурсов и услуг с учетом режима энергопотребления, действующих тарифов и тарифных зон и других составляющих стоимости энергоресурсов и услуг;
формирование первичных платежных документов для расчета с абонентом.
расчет сальдо по лицевому счету (сводного и по видам реализуемых услуг) в разрезе различных видов дебиторской задолженности;
детальный аналитический учет на всех уровнях реализации энергоресурсов и услуг;
накопление коммерческой информации из территориально удаленных филиалов сбытовой компании по всем абонентам в единой базе данных;
многомерный анализ данных с возможностью построения сводных отчетов в произвольной форме за требуемый период времени;
сокращение трудозатрат при приеме, обработке информации и формированию отчетной информации;
многопользовательская среда с регламентируемым доступом к данным и функциональным модулям;
формирование на основе заранее заданных шаблонов основных документов, связанных со сбытовой деятельностью (договора, приложения к договорам, напоминания, предупреждения, постановлений и т.п.);
интеграция с автоматизированными системами коммерческого учета электроэнергии энергоресурсов для сбора данных об энергопотреблении;
различные уровни интеграции с другими информационными системами (бухгалтерия, ERP-система);
автоматизация технологических бизнес-процессов сбытового предприятия (учет, бизнес-логика, документооборот).
АИС реализована на основе технологии "клиент-сервер". Сервер АИС обеспечивает хранение и доступ к данным и реализует необходимую бизнес-логику; клиент АИС обеспечивает визуализацию интерфейса. Интерфейс АИС реализован на основе Web-технологий. Связь между сервером и клиентом осуществляется через локальную сеть или выделенную линию.
Рисунок 6. Архитектура АИС Omni-US
Компоненты АИС "Omni-UtilitieS":
инфраструктура - Microsoft Windows 2003
сервер БД - Microsoft SQL Server 2005;
сервер анализа - MS OLAP Server;
сервер приложений - Microsoft IIS 6.0;
сервер отчетов - MSSQL Reporting Server 2.0
программная платформа - Microsoft.NET;
клиент - “толстый” клиент (Win32), “тонкий” клиент (web).
Рисунок 7. Вид интерфейса Omni-US
Рисунок 8. Вид интерфейса Omni-US
4. Разработка программы для интеграции ИС предприятия с СБИС
Для взаимодействия СБИС и системой предприятия используется API-интерфейс. На основе API-интерфейса была разработана программа, позволяющая авторизовываться в системе СБИС, получать информацию по требуемым документам за определенный период и выходить из системы. Программа реализована на языке Python, так как он был рекомендован руководителем практики от предприятия.
Код программы приведен в приложении А.
Заключение
В ходе выполнения работы была изучена история, традиции, организационная структура предприятия АО «ОмскРТС», были изучена система электронного документооборота СБИС, ИС Omni-US. Результатом работы стала программа интеграции информационной системы предприятия со СБИС.
Библиографический список
1.Электронный ресурс: http://tgc-11.ru/
2.Электронный ресурс: http://www.omskrts.ru/
3.Электронный ресурс: https://help.sbis.ru/help/#msid=s1468300599443
4.Электронный ресурс: http://omni-us.ru/
Приложение A
Программа интеграции ИС с СБИС
государственный программа контроль
import requests
import json
def login():
url = "https://online.sbis.ru/auth/service/"
headers = {
'content-type': 'application/json-rpc;charset=utf-8',
}
request = {
"jsonrpc": "2.0",
"method": "СБИС.Аутентифицировать",
"params": {
"Логин": "login",
"Пароль": "password"
},
"id": 0
}
response = requests.post(url, data=json.dumps(request), headers=headers).json()
data = json.dumps(response)
parsed = json.loads(data)
if 'result' not in parsed:
return 0
else:
return parsed["result"]
def logout(session):
url = "https://online.sbis.ru/auth/service/"
headers = {
'content-type': 'application/json-rpc;charset=utf-8',
'X-SBISSessionID': session
}
request = {
"jsonrpc": "2.0",
"method": "СБИС.Выход",
"params": {},
"id": 0
}
response = requests.post(url, data=json.dumps(request), headers=headers).json()
def get_document_status(session):
url = "https://online.sbis.ru/service/?srv=1"
headers = {
'content-type': 'application/json-rpc;charset=utf-8',
'X-SBISSessionID': session
}
request = {
"jsonrpc": "2.0",
"method": "СБИС.СписокДокументов",
"params": {
"Фильтр": {
"ДатаС": "01.01.2016",
"Тип": "ДокОтгрВх"
}
},
"Навигация": {
"РазмерСтраницы": "50",
"Страница": "0",
"ВернутьРазмерСписка": "Да"
},
"id": 0
}
response = requests.post(url, data=json.dumps(request), headers=headers).json()
data = json.dumps(response)
parsed = json.loads(data)
docs = parsed["result"]["Документ"]
for item in docs:
print(str(item["Идентификатор"]) + " " + str(item["Название"]) + " " + str(item["Состояние"]))