Получение данных из Wialon Hosting через HTTP запросы (Remote API)

12.09.17

Интеграция - WEB-интеграция

Статья будет полезна для быстрого старта работы с Wialon Hosting. Здесь я опишу основные принципы работы с системой Wialon через Remote API.

Скачать файлы

Наименование Файл Версия Размер
Получение данных из Wialon Hosting через HTTP запросы (Remote API).:
.epf 21,37Kb
150
.epf 21,37Kb 150 Скачать

 

1. Старт работы с Wialon hosting

 

Для работы с Wialon hosting прежде всего потребуется получение Токена.

Для этого переходим по адресу:  http://hosting.wialon.com/login.html?client_id=wialon&access_type=0xffff&activation_time=0&duration=%E2%80%94%202592000&lang=ru&flags=0x1

 

Указываем Пользователя и пароль. У этого пользователя должны быть права для работы с внешними программами. Если прав нет нужно обратиться в поддержку Wialon hosting.

После ввода данных , появляется окно «Авторизация успешна» и в адресной строке появится наш Токен : http://hosting.wialon.com/login.html?lang=ru&access_token=ea8fc6f1fd68c344d7e77773b01d7e6893CBDA276C4017B6A5CB2C7C1BCAA70B6F84AFF&user_name=admin&svc_error=0. Токен сохраняем в удобном для Вас месте.

 

2. Получение SID 

 

Любой запрос к серверу Wialon должен содержать SID - уникальный идентификатор сессии. Чтобы его получить нужно выполнить следующий запрос:

              

               СерверАГ = "hst-api.wialon.com";        
               имяВыходногоФайла = ПолучитьимяВременногоФайла();
               ssl = Новый ЗащищенноеСоединениеOpenSSL();
               Заголовки = Новый Соответствие();
               Заголовки.Вставить("Content-Type", "application/x-www-form-urlencoded");
               HTTPСоединение = Новый HTTPСоединение(СерверАГ,,,,,,ssl );

                              
               Результат=HTTPСоединение.Получить("wialon/ajax.html?svc=token/login&params={""token"":"" ea8fc6f1fd68c344d7e77773b01d7e6893CBDA276C4017B6A5CB2C7C1BCAA70B6F84AFF ""}", имяВыходногоФайла);

             Сервер wialon вернет Вам SID. SID обнуляется ,если на сервер за 5 минут не поступило ни одного запроса с этим SID. 

 

 

3. Получение списка техники :

         СерверАГ = "hst-api.wialon.com";

        имяВыходногоФайла = ПолучитьимяВременногоФайла();

        ssl = Новый ЗащищенноеСоединениеOpenSSL();

        Заголовки = Новый Соответствие();

        Заголовки.Вставить("Content-Type", "application/x-www-form-urlencoded");

        HTTPСоединение = Новый HTTPСоединение(СерверАГ,,,,,,ssl );



        HTTPСоединение.Получить("wialon/ajax.html?svc=core/search_items&params={""spec"":{""itemsType"":""avl_unit"",""propName"":""sys_name"",""propValueMask"":""*"",""sortType"":""sys_name""},""force"":1,""flags"":""0x00000001"",""from"":0,""to"":0}&sid=1fd68c344324е678601d7e6893CB");

 

Запрос вернет список техники с ID.

 

 

 

4. Получение пробега и данных по расходу топлива за период.

 

Для получения каких-либо данных, в системе Wialon есть отчеты (отдельной функции для получения данных по ресурсам нет).  Чтобы сформировать отчет через  запрос нужно знать ID отчета .

 

Получение ID отчета :


 

HTTPСоединение.Получить("wialon/ajax.html?svc=core/search_items&params={""spec"":{""itemsType"":""avl_resource"",""propName"":""reporttemplates"",""propValueMask"":""*"",""sortType"":""reporttemplates""},""force"":1,""flags"":""0x00002001"",""from"":0,""to"":0}&sid=1fd68c344324е678601d7e6893CB");

Результат запроса:

 

{"searchSpec":{"itemsType":"avl_resource","propName":"reporttemplates","propValueMask":"*","sortType":"reporttemplates","propType":"","or_logic":"0"},

"dataFlags":8193,

"totalItemsCount":1,

"indexFrom":0,

"indexTo":0,

"items":[

{"nm":"admin",

"cls":3,

"id":14971447, - это ID отчета

"mu":0,

"rep":

{

"17":{"id":17,"n":"ОТЧЕТ по ГЕОЗОНАМ","ct":"avl_unit_group","c":30356},

"18":{"id":18,"n":"Сводный отчет ГазПром","ct":"avl_unit","c":61003}, - Это ID шаблона

"19":{"id":19,"n":"Отчет по котельной","ct":"avl_unit","c":23997},

 

Для каждого пользователя системы у отчета будет свой ID и свой ID шаблона. В данном случае мне нужен отчет «Сводный отчет ГазПром» с ID шаблона 18 и ID ресурса отчетов, для моего пользователя, ID 14971447.

 

Получение данных по датчикам (выполнение отчета):

 

reportObjectId:12370291 – это ID автомобиля, который мы узнали из запроса по списоку техники

 

               Дт1 = Дата(2017,9,5,8,0,0);  - Дата начала

               Дт2 = Дата(2017,9,5,20,0,0); - Дата окончания

 

Даты в системе Wialon  хранятся в формате UNIX-time с часовым поясом – GMT0. У запроса  «report/exec_report» есть параметр с часовым поясом “tzOffset”, но в моих запросах он , почему –то , не отрабатывает, поэтому я сам корректирую часовой пояс:   

 

               пДТ1 = Формат(Дт1 - Дата(1970,1,1,1,0,0) - 3600 * 4, "ЧГ=0") ; - 3600 * 4 (корректировка на 4 часа);
               пДТ2 = Формат(Дт2 - Дата(1970,1,1,1,0,0)- 3600 * 4, "ЧГ=0");
              
               HTTPСоединение.Получить("wialon/ajax.html?svc=report/exec_report&params={""reportResourceId"":14971447,""reportTemplateId"":18,""reportObjectId"":12370291,""reportObjectSecId"":0,""interval"":{""from"":"+пДТ1+",""to"":"+пДТ2+",""flags"":0} }&sid=1fd68c344324е678601d7e6893CB”);

 

После получения данных рекомендуется закрывать сесию :

HTTPСоединение.Получить("wialon/ajax.html?svc=core/logout&params={}&sid=1fd68c344324е678601d7e6893CB);

 

 

 

_______________________________________________

Это общий синтаксис работы с сервером Wialon , описание всех функций  с примерами есть  в документации к нему:  https://sdk.wialon.com/wiki/ru/sidebar/remoteapi/apiref/reqformat/reqformat.

 

К статье прикладываю обработку по работе с ПО «Автограф» и “Wialon Hosting” через HTTP запросы. Обработка работает на конфигурации 1С:УАТ и служит заготовкой для интеграции . Обработка не универсальная , и чтобы она заработала, нужно будет прописать в модуле обработки  ID отчетов и токен.  

 

Wialon Hosting API Путевые листы

См. также

Интеграция Альфа Авто 5 / Альфа Авто 6 и AUTOCRM / Инфотек

Сайты и интернет-магазины WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Интеграционный модуль обмена между конфигурацией Альфа Авто 5 и Альфа Авто 6 и порталом AUTOCRM. Данный модуль универсален. Позволяет работать с несколькими обменами AUTOCRM разных брендов в одной информационной базе в ручном и автоматическом режиме.

36000 руб.

03.08.2020    15748    10    17    

11

Интеграция 1С — Битрикс24. Обмен задачами

Сайты и интернет-магазины Интеграция WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Управленческий учет Платные (руб)

Интеграция 1С и Битрикс24. Разработка имеет двухстороннюю синхронизацию 1С и Битрикс24 задачами. Решение позволяет создавать пользователя в 1С из Битрикс24 и наоборот. Данная разработка технически подходит под все основные конфигурации линейки продуктов 1С:Предприятие 8.3 (8.3.18.1289). При приобретении предоставляется 1 месяц бесплатных обновлений разработки. Доступна демо-версия продукта с подключением Вашего Битрикс24

5040 руб.

04.05.2021    17551    6    15    

13

Интеграция с сервисом vetmanager

WEB-интеграция Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Бытовые услуги, сервис Платные (руб)

Внешняя обработка разрабатывалась для загрузки документов из Ветменеджер в 1С: Бухгалтерия 3.0

12000 руб.

02.02.2021    16360    42    49    

23

[Расширение] БОР-Навигатор.Культура

Зарплата Бюджетный учет WEB-интеграция Обмен с ГосИС Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бюджетный учет Платные (руб)

Расширение конфигурации, включающее в себя объекты, необходимые для подготовки и сдачи отчета "Штатная численность" системы "БОР-Навигатор.Культура" в программе "1С:Зарплата и кадры государственного учреждения", редакция 3.1.

8400 руб.

01.02.2019    25741    9    0    

7

Заполнение по ИНН или наименованию реквизитов контрагента по данным сайта ФНС

Обмен с ГосИС WEB-интеграция Платформа 1С v8.3 Управляемые формы 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия государственного учреждения 1С:Документооборот 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Платные (руб)

Обработка является альтернативой механизму, разработанному фирмой 1С и заполняющему реквизиты контрагента по ИНН или наименованию. Не требуется действующей подписки ИТС. Вызывается как внешняя дополнительная обработка, т.е. используется, непосредственно, из карточки контрагента. Заполнение по ИНН или наименованию реквизитов контрагента по данным сайта ФНС (egrul.nalog.ru) для БП 2.0, БП 3.0, БГУ 1.0, БГУ 2.0, УТ 10.3, УТ 11.x, КА 1.1, КА 2.x, УПП 1.x, ERP 2.x, УНФ 1.5, УНФ 1.6, УНФ 3.0, ДО 2.1

2400 руб.

28.04.2016    88584    160    215    

318
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. fzt 09.10.17 10:38 Сейчас в теме
Каково время жизни токена?
2. maxopik2 69 10.10.17 12:04 Сейчас в теме
(1) Токен живет месяц. Потом его нужно получать заново либо через API , либо руками, как написано в статье
26. mftrash@ya.ru 30.08.21 12:20 Сейчас в теме
(1) Вызываем форму авторизации с параметрами duration=0 и access_type=1 и получаем бесрочный токен (удаляется только после 100 дней без обращений по нему) с максимальными правами, в т.ч. на создание токенов.

https://hosting.wialon.com/login.html?lang=ru&client_id=wialon&access_type=1&activation_time=0&dur­ation=0&flags=7&response_type=token&svc_error=0
1Cynep4eJIoBek; +1 Ответить
3. aka Любитель XML 13.10.17 17:56 Сейчас в теме
(0) а есть пример как выгрузить в систему заявку с несколькими маршрутами?
4. maxopik2 69 16.10.17 10:21 Сейчас в теме
Примера нет, не было такой потребности
5. родственник 27.10.17 20:24 Сейчас в теме
6. lzhebolsheglazik 27.02.18 14:08 Сейчас в теме
У Вас есть пример получения техники, можете подсказать, что нужно поменять в запросе, чтобы получить список геозон?
7. родственник 09.10.18 06:22 Сейчас в теме
а не пробовали получать токен get запросом к http://hosting.wialon.com/login.html?
15. Жолтокнижниг 258 24.06.19 21:01 Сейчас в теме
(7) Немного сложнее, необходим парсить html страницу и передавать данные формы, после последует серия редиректов, которые 1с не обрабатывает, придется сами логику писать.

В моем случае (8,2) была проблема также с URLEncoding от 1с (она кодировала там где не надо) пришлось для получения токена использовать WinHttpRequest
8. Altez50 1 11.12.18 14:36 Сейчас в теме
Кто знает, как получить логи GPS координат за период?
9. Altez50 1 11.12.18 15:22 Сейчас в теме
10. frodoirbit 13.12.18 06:46 Сейчас в теме
Добрый день, подскажите пожалуйста начинающему, не могу получить список техники,
11. poyson 27.02.19 18:31 Сейчас в теме
Статья просто отличная! Сначала прочитал описание Виалона - впал в уныние, но после статьи - все встало на места :). А вот обработка - разочаровала. Ждал большего.
12. maxopik2 69 28.02.19 12:04 Сейчас в теме
13. poyson 28.02.19 13:31 Сейчас в теме
(12) Надеялся встретить большее количество (а в идеале - все... :) ) используемых методов Виалона.
16. PLAstic 295 16.09.19 09:38 Сейчас в теме
(13) Зачем? Они все описаны в доке виалона. Описаны криво, актуальному формату описание не соответствует, но лучше вы не найдёте.
14. slonba 24 07.05.19 22:06 Сейчас в теме
добрый вечер
запускаю отчет по пробегу
стрЗапрос = "?svc=report/exec_report¶ms={""reportResourceId"":15028259,""reportTemplateId"":9,""reportObjectId"":"+идТС+",""reportObjectSecId"":0,""interval"":{""from"":"+пДТ1+",""to"":"+пДТ2+",""flags"":0},""tzOffset"":14400 }&sid="+СидВиалон;
как в статье

а он возвращает мне

{"reportResult":{"msgsRendered":0,"stats":[],"tables":[{"name":"unit_group_location","label":"Пробег ТС","grouping":{"type":"unit"},"flags":4096,"rows":1,"level":1,"columns":6,"header":["№","Grouping","Пробег","Последнее сообщение","Водитель","Прицеп"],"header_type":["","","mileage","msg_time","driver_name","trailer_name"]}],"attachments":[]},"reportLayer":{"name":"report markers","bounds":[0,0,0,0]},"layerCount":1}

никак не пойму почему нет данных о пробеге?
подскажите, а то уже голову сломал
17. hillsnake 35 25.09.19 14:38 Сейчас в теме
работа с заявками везде "itemId":<long>, /* id ресурса */

что это за ид откуда брать не понятно...

svc=order/update¶ms={"itemId":<long>, /* id ресурса */
"id":<long>, /* id заявки внутри ресурса (0 при создании) */
"n":<text>, /* имя заявки */
18. MazhutkoAV 01.11.19 12:11 Сейчас в теме
Скачал обработку, а она ещё на обычных формах.

В принципе я хотел получить список автомобилей по имеющемуся токену. С помощью п2 я должен получить SId? И подставить его в п3? Только в п2 я получаю в результат некое соответствие, в котором нет ничего похожего на SId.
19. user817897 2 25.02.20 00:15 Сейчас в теме
при запуске обработки сразу пишет:
{ВнешняяОбработка.Автограф.Форма.Форма.Форма(375,2)}: Переменная не определена (уатИнтерфейсВводаТС)
<<?>>уатИнтерфейсВводаТС.НомерТСОкончаниеВводаТекста(Элемент, Текст, Значение, СтандартнаяОбработка, Организация,,"Ссылка"); (Проверка: Толстый клиент (обычное приложение))
20. user817897 2 25.02.20 00:19 Сейчас в теме
(19)а сразу после этой ошибки вот такая ошибка:

{ВнешняяОбработка.Автограф.Форма.Форма.Форма(329)}: Ошибка при вызове метода контекста (Выполнить)
Тбл = Запрос.Выполнить().Выгрузить();
по причине:
{(5, 2)}: Таблица не найдена "РегистрСведений.уатМестонахождениеТС.СрезПоследних"
<<?>>РегистрСведений.уатМестонахождениеТС.СрезПоследних КАК уатМестонахождениеТССрезПоследних
21. evgaid 145 10.09.20 05:03 Сейчас в теме
Всем привет, а есть пример запроса получения координат для машины?
22. user640247 11.11.20 10:28 Сейчас в теме
Спасибо большое!
а может есть пример импорта заявок из 1с?
24. user1478130 30.12.20 15:29 Сейчас в теме
(22) можете написать здесь код этой обработки?
25. user1478130 30.12.20 15:33 Сейчас в теме
23. user1478130 30.12.20 15:22 Сейчас в теме
27. 1c.pro.fun 187 09.12.21 10:03 Сейчас в теме
Огромное спасибо! Обработку не качал, но статья помогла перейти с ActiveX-компоненты которая перестала работать.
28. user623159_i.dm 23.03.22 14:35 Сейчас в теме
Спасибо за статью, помогла прояснить методику работы

а можно ли авторизоваться непосредственно из 1С? получить токен не руками а через АПИ?
29. romba 12 16.12.22 11:41 Сейчас в теме
Спасибо, очень помогло
30. romba 12 25.01.23 16:03 Сейчас в теме
Не могу корректно отправить запрос на установку часового пояса, у кого-нибудь есть рабочий пример?
31. stepani4 07.11.23 09:16 Сейчас в теме
Кто-нибудь пробовал из 1с сделать оптимизацию маршрута с помощью инструмента "Маршрутизатор"?
32. Goggy 1 07.12.23 21:09 Сейчас в теме
Все перешли на https?
Не принимает сертификат на 8.2
https://its.1c.ru/db/islhelper/content/7/hdoc
не помогло.
Подскажете теперь какой алгоритм запросов?
33. Goggy 1 08.12.23 15:49 Сейчас в теме
(32) Если кто-то вдруг тоже столкнётся оставлю тут на всякий/
Помогло в добавить в cacert.pem(для серверных вызовов на сервере, для клиентских в локальной платформе):

-----BEGIN CERTIFICATE-----
MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzEL­MAkG
A1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsT­B1Jv
b3QgQ0ExGzAZBgNVBAMTEkdsb2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDEx­MjAw
MDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBH­bG9i
YWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYDVQQDExJHbG9i­YWxT
aWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDa­DuaZ
jc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymA­Zavp
xy0Sy6scTHAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz­8kHp
1Wrjsok6Vjk4bwY8iGlbKk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHR­jcdG
snUOhugZitVtbNV4FpWi6cgKOOvyJBNPc1STE4U6G7weNLWLBYy5d4ux2x8g­kasJ
U26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrXgzT/LCrBbBlDSgeF­59N8
9iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMB­Af8E
BTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG­9w0B
AQUFAAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLbl­CKOz
yj1hTdNGCbM+w6DjY1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGU­l5gE
38NflNUVyRRBnMRddWQVDf9VMOyGj/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm­7ymP
AbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhHhm4qxFYxldBniYUr+Wym­XUad
DKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveCX4XSQRjb­gbME
HMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A==
-----END CERTIFICATE-----

-----BEGIN CERTIFICATE-----
MIIEijCCA3KgAwIBAgIQfU1CqStDHX5kU+fBmo1YdzANBgkqhkiG9w0BAQsF­ADBX
MQswCQYDVQQGEwJCRTEZMBcGA1UEChMQR2xvYmFsU2lnbiBudi1zYTEQMA4G­A1UE
CxMHUm9vdCBDQTEbMBkGA1UEAxMSR2xvYmFsU2lnbiBSb290IENBMB4XDTIy­MTAx
MjAzNDk0M1oXDTI3MTAxMjAwMDAwMFowTDELMAkGA1UEBhMCQkUxGTAXBgNV­BAoT
EEdsb2JhbFNpZ24gbnYtc2ExIjAgBgNVBAMTGUFscGhhU1NMIENBIC0gU0hB­MjU2
IC0gRzQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtJCmVZhWI­PzOH
A3jP1QwkuDFT8/+DImyZlSt85UpZwq7G0Sqd+n8gLlHIZypQkad5VkT7OLU+­MI78
lC7LVwxpU19ExlaWL67ANyWG8XHx3AJFQoZhuDbvUeNzRQyQs6XS5wN6uDlF­0Bf1
AtCUQWrGGLGYwyC1xTrzgrFKpESsIXMqklUGTsh8i7DKZhRUVfgrPLJUkbbL­UrLY
42+KRCiwfSvBloC5PgDYnj3oMZ1aTe3Wfk3l1I4D3RKaJ4PU1qHXhHJOge2b­jGIG
l6MsaBN+BB2sr6EnxX0xnMIbew2oIfOFoLqs47vh/GH4JN0qql2WBHfDPVDm­3b+G
QxY6N/LXAgMBAAGjggFbMIIBVzAOBgNVHQ8BAf8EBAMCAYYwHQYDVR0lBBYw­FAYI
KwYBBQUHAwEGCCsGAQUFBwMCMBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0O­BBYE
FE/LrKjC76vdg29rv86YPVxYJXYVMB8GA1UdIwQYMBaAFGB7ZhpFDZfKiVAv­fQTN
NKj//P1LMHoGCCsGAQUFBwEBBG4wbDAtBggrBgEFBQcwAYYhaHR0cDovL29j­c3Au
Z2xvYmFsc2lnbi5jb20vcm9vdHIxMDsGCCsGAQUFBzAChi9odHRwOi8vc2Vj­dXJl
Lmdsb2JhbHNpZ24uY29tL2NhY2VydC9yb290LXIxLmNydDAzBgNVHR8ELDAq­MCig
JqAkhiJodHRwOi8vY3JsLmdsb2JhbHNpZ24uY29tL3Jvb3QuY3JsMCEGA1Ud­IAQa
MBgwCAYGZ4EMAQIBMAwGCisGAQQBoDIKAQMwDQYJKoZIhvcNAQELBQADggEB­ABol
9nNkiECpWQenQ7oVP1FhvRX/LWTdzXpdMmp/SELnEJhoOe+366E0dt8tWGg+­ezAc
DPeGYPmp83nAVLeDpji7Nqu8ldB8+G/B6U9GB8i2DDIAqSsFEvcMbWb5gZ2/­DmRN
cifGi9FKAuFu2wyft4s4DHwzL2CJ2zjMlUOM3RaE1cxuOs+Om6MCD9G7vnkA­tSiC
/OOfHO902f4yI2a48K+gKaAf3lISFXjd32pwQ21LpM3ueIGydaJ+1/z8nv+C­7SUT
5bHoz7cYU27LUvh1n2WSNnC6/QwFSoP6gNKa4POO/oO13xjhrLRHJ/04cKMb­RALt
JWQkPacJ8SJVhB2R7BI=
-----END CERTIFICATE-----
Показать
Оставьте свое сообщение