<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://wiki.userside.eu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=IronBot</id>
	<title>WiKi - UserSide - Вклад [ru]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.userside.eu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=IronBot"/>
	<link rel="alternate" type="text/html" href="https://wiki.userside.eu/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/IronBot"/>
	<updated>2026-07-13T01:52:26Z</updated>
	<subtitle>Вклад</subtitle>
	<generator>MediaWiki 1.41.1</generator>
	<entry>
		<id>https://wiki.userside.eu/index.php?title=%D0%92%D0%B5%D1%80%D1%81%D1%96%D1%97_3.21&amp;diff=22310</id>
		<title>Версії 3.21</title>
		<link rel="alternate" type="text/html" href="https://wiki.userside.eu/index.php?title=%D0%92%D0%B5%D1%80%D1%81%D1%96%D1%97_3.21&amp;diff=22310"/>
		<updated>2026-07-12T13:11:10Z</updated>

		<summary type="html">&lt;p&gt;IronBot: [IronBot] Sync UK localization from RU&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Versions_3.21_EN|en]] | &#039;&#039;&#039;uk&#039;&#039;&#039; | [[Версии_3.21|ru]]&lt;br /&gt;
&lt;br /&gt;
Версії гілки [[3.21_UK|3.21]]&lt;br /&gt;
&lt;br /&gt;
Див. також: [[Версії_ERP_&amp;quot;USERSIDE&amp;quot;|Версії ERP &amp;quot;USERSIDE&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
== 3.21.14 (у розробці) ==&lt;br /&gt;
* У списку будинків додано фільтрацію за наявністю/відсутністю споруди зв&#039;язку на будинку&lt;br /&gt;
* Додано нове право для профілів співробітників: &amp;quot;Налаштування - Статуси завдань&amp;quot;&lt;br /&gt;
* У календарі робіт додано фільтри для налаштування власного порядку/наявності підрозділів і співробітників у календарі&lt;br /&gt;
* Перероблено розділ зі списком підрозділів. Змінено зовнішній вигляд, додано швидкий пошук за співробітником/підрозділом&lt;br /&gt;
* Під час створення нового будинку в блоці вибору адреси нова адреса одразу підставляється без перезавантаження поточної сторінки&lt;br /&gt;
* Під час пошуку в блоці вибору адреси в результатах виводяться не лише будинки, а й інші типи адресних об&#039;єктів, що дозволяє також швидко додавати нові будинки, вулиці тощо&lt;br /&gt;
* Доопрацьовано зовнішній вигляд картки завдання для мобільних пристроїв&lt;br /&gt;
* Виправлено швидкість роботи карти покриття під час відображення шару &amp;quot;Співробітники та автотранспорт&amp;quot;&lt;br /&gt;
* Виправлено фільтрацію у списку будинків &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлено перегляд PDF-файлів у браузері &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлено фільтрацію списку абонентів-боржників&lt;br /&gt;
* Виправлено відображення розділу &amp;quot;Налаштування-Адреси&amp;quot; для співробітників з обмеженим доступом за географією&lt;br /&gt;
* Виправлено відображення волокон на схемі комутації за наявності мітки на волокні&lt;br /&gt;
* Виправлено помилку під час відображення завдань поточного дня в календарі робіт &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 3.21.13 - 10.07.2026 ==&lt;br /&gt;
* &#039;&#039;&#039;Під час приходу ТМЦ тепер можна одразу вказувати кілька різних найменувань ТМЦ&#039;&#039;&#039;&lt;br /&gt;
* Доопрацювання у відображенні виконаних завдань у календарі&lt;br /&gt;
* У схемі комутації для дільників і ODF/кросів у меню об&#039;єктів додано кнопки дій, як і в картках цих об&#039;єктів &#039;&#039;(редагування, видалення, структурна схема тощо)&#039;&#039;&lt;br /&gt;
* Виправлено комутацію у схемі комутації &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлено дублювання запитів під час автооновлення рівня сигналу на ONU під час відкриття її картки&lt;br /&gt;
* Виправлено зовнішній вигляд відображення історії за завданням&lt;br /&gt;
* Виправлено редагування налаштувань карти покриття &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлено вибір об&#039;єктів на глобальній схемі комутації &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлено перевірку прав доступу до списку ONU для співробітників&lt;br /&gt;
* Виправлено зовнішній вигляд картки стійки/шафи в темній схемі інтерфейсу&lt;br /&gt;
&lt;br /&gt;
== 3.21.12 - 09.07.2026 ==&lt;br /&gt;
* Доопрацьовано метод API-&amp;gt;[[API_redirect_UK|redirect]]&lt;br /&gt;
* Під час розділення ТМЦ на кілька частин за наявності прикріплених файлів вони закріплюються за всіма ТМЦ&lt;br /&gt;
* Доопрацьовано діалог додавання кабельної лінії з-під споруди зв&#039;язку&lt;br /&gt;
* Додано параметр налаштування &amp;quot;Відображати виконані завдання з прозорістю (%)&amp;quot;&lt;br /&gt;
* Виправлено роботу параметра налаштування &amp;quot;Відображати виконані завдання сірим кольором&amp;quot;&lt;br /&gt;
* Виправлено виведення поля для зазначення MAC-адреси під час приходу ТМЦ&lt;br /&gt;
* Виправлено роботу залежностей додаткових полів&lt;br /&gt;
* Виправлено роботу з прикріпленими файлами в операціях з автотранспортом&lt;br /&gt;
* Виправлено перехід до налаштування полів таблиці споруд зв&#039;язку&lt;br /&gt;
* Виправлено зовнішній вигляд інформації за завданнями у вкладці &amp;quot;Тех. підтримка&amp;quot; у картці абонента&lt;br /&gt;
* Виправлено помилки під час перегляду історії дій користувачів &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлено помилку під час відкриття діалогового вікна вибору ТМЦ для інтеграції&lt;br /&gt;
* Виправлено переміщення позицій об&#039;єктів на глобальній схемі комутації&lt;br /&gt;
* Виправлено зазначення резервів для кабельних ліній&lt;br /&gt;
* Виправлено помилку під час приходу ТМЦ та автопризначення інвентарних номерів &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлено налаштування доступу до адрес для співробітників&lt;br /&gt;
&lt;br /&gt;
== 3.21.11 - 08.07.2026 ==&lt;br /&gt;
* Виправлено зовнішній вигляд налаштування таблиці прав для типів завдань&lt;br /&gt;
* Виправлено зміну позиції окремої схеми комутації споруди зв&#039;язку на загальній глобальній схемі комутації&lt;br /&gt;
* Виправлено фільтрацію завдань у розділі &amp;quot;Мої завдання&amp;quot; &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлено зміну координат адресного об&#039;єкта з-під картки будинку&lt;br /&gt;
* Виправлено сортування виконавців під час створення завдання&lt;br /&gt;
* Виправлено зміну координат сектора для радіообладнання&lt;br /&gt;
* Виправлено перевірку прав доступу під час відкриття картки пристрою &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлено приховування/відображення споруди зв&#039;язку на карті покриття&lt;br /&gt;
&lt;br /&gt;
== 3.21.10 - 07.07.2026 ==&lt;br /&gt;
* Додано метод API-&amp;gt;call-&amp;gt;[[API_call_UK#edit|edit]]&lt;br /&gt;
* Додано нові права для профілів користувачів &amp;quot;Власники (доступ до фінансової інформації)&amp;quot; та &amp;quot;Орендарі (доступ до фінансової інформації)&amp;quot;&lt;br /&gt;
* &#039;&#039;&#039;Реалізовано передачу ТМЦ співробітнику з підтвердженням отримання/відмови від отримання співробітником&#039;&#039;&#039;&lt;br /&gt;
* У групових діях за спорудами зв&#039;язку створення спільного завдання/окремих завдань реалізовано через стандартний діалог додавання завдання&lt;br /&gt;
* Виправлено позначення завдання як прочитаного в новинах під час відкриття картки завдання&lt;br /&gt;
* Виправлено відображення дати останньої операції за ТМЦ у списку ТМЦ за об&#039;єктом&lt;br /&gt;
* Виправлено генерацію документа на друк з-під картки завдання&lt;br /&gt;
* Виправлено комутацію вільних волокон кабелів між собою &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлено редагування координат у лінії зв&#039;язку&lt;br /&gt;
* Виправлено виведення сторонніх артефактів у глобальній схемі комутації &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
== 3.21.9 - 06.07.2026 ==&lt;br /&gt;
* У виключення для SMS-розсилок додано можливість виключати абонентів із певним періодом від&#039;ємного балансу&lt;br /&gt;
* У статистиці &amp;quot;Проблемні будинки/абоненти&amp;quot; додано можливість налаштовувати власні фільтри&lt;br /&gt;
* У налаштуваннях типу завдань у секції додаткових полів окремо вказуються типи додаткових полів, які можна використовувати під час зміни статусу завдань. А в налаштуваннях статусів завдань додано властивість &amp;quot;Вивести додаткові поля&amp;quot;&lt;br /&gt;
* Додано можливість автоматично створювати завдання на роботу для невідповіджених телефонних викликів&lt;br /&gt;
* Зміну пароля користувача винесено в окреме діалогове вікно&lt;br /&gt;
&lt;br /&gt;
== 3.21.8 - 04.07.2026 ==&lt;br /&gt;
* Доопрацьовано метод API-&amp;gt;customer-&amp;gt;[[API_customer_UK#get_customers_id|get_customers_id]]&lt;br /&gt;
* Доробки зовнішнього вигляду завдань у календарі робіт&lt;br /&gt;
* У групових діях за абонентами: створення завдань тепер використовує повноцінний діалог зазначення властивостей для створюваних завдань&lt;br /&gt;
* Оптимізація структурної схеми&lt;br /&gt;
* Виправлено помилку під час встановлення умов у SMS-розсилці &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлено зазначення власних координат для абонента&lt;br /&gt;
* Виправлено помилку під час збереження системного пристрою&lt;br /&gt;
* Виправлено виведення об&#039;єктів на глобальній схемі комутації &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлено комутацію кабельної лінії до пристрою у схемі комутації абонента&lt;br /&gt;
* Виправлено зміну довільних координат для обладнання&lt;br /&gt;
* Виправлено роботу фільтра за виключенням тарифу в SMS-розсилці&lt;br /&gt;
&lt;br /&gt;
== 3.21.7 - 03.07.2026 ==&lt;br /&gt;
* Режим планування в календарі робіт&lt;br /&gt;
* Виправлено пошук у списку споруд зв&#039;язку &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлено відображення прикріплених файлів у картці споруди зв&#039;язку за наявності прав лише на читання&lt;br /&gt;
* Виправлено перегляд/формування SMS-розсилок &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлено відображення рівнів сигналів для ONU &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлено відображення затухань на структурній схемі для OLT &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлено помилку під час перегляду історії за співробітниками &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлено неправильне виведення дати активності у спливній підказці на мапі покриття за автотранспортом&lt;br /&gt;
* Виправлено можливість виключення абонента із завдання&lt;br /&gt;
&lt;br /&gt;
== 3.21.6 - 02.07.2026 ==&lt;br /&gt;
* Додано історію використання IP-адрес&lt;br /&gt;
* Доопрацьовано використання лінійки на мапі покриття&lt;br /&gt;
* Виправлено зовнішній вигляд кабельних ліній на мапі покриття залежно від налаштувань міток &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлено список обладнання у віджеті головної сторінки &amp;quot;Неактивні комутатори&amp;quot;&lt;br /&gt;
* Виправлено додавання нових схем споруд зв&#039;язку на глобальну схему комутації&lt;br /&gt;
* Виправлено пошук за базою обладнання під час додавання найменування ТМЦ у каталозі товарів&lt;br /&gt;
* Виправлено очищення комутації портів обладнання &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлено помилку у звіті щодо залишків ТМЦ &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлено зазначення довільних запасів/об&#039;єктів на маршруті кабельної лінії&lt;br /&gt;
* Виправлено перемикання комутації в порт іншого пристрою на споруді зв&#039;язку&lt;br /&gt;
* Виправлено відображення об&#039;єктів на мапі покриття у групових операціях за спорудами зв&#039;язку&lt;br /&gt;
* Виправлено зміну шляху комутації у схемі комутації &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 3.21.5 - 01.07.2026 ==&lt;br /&gt;
* Додано сповіщення під час редагування завдання &#039;&#039;(налаштовується)&#039;&#039;&lt;br /&gt;
* Доробка зі знімання інформації за інтерфейсами ONU&lt;br /&gt;
* Доопрацьовано зовнішній вигляд портів обладнання для темної схеми&lt;br /&gt;
* Для типів завдань додано можливість вказати дії з ТМЦ: передавати з абонента на вибраний склад потрібні ТМЦ, що знаходяться в абонента&lt;br /&gt;
* Виправлено швидкий пошук обладнання потрібної категорії у списку обладнання&lt;br /&gt;
* Виправлено вибір інших пристроїв на цій споруді зв&#039;язку в діалоговому вікні перемикання порту&lt;br /&gt;
* Виправлено відображення доступних складів для співробітника &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлено помилку під час перегляду картки ТМЦ &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлено автовибір будинку під час додавання споруди зв&#039;язку з картки будинку&lt;br /&gt;
* Виправлено перегляд списку опитуваних пристроїв у модулі usm_observer&lt;br /&gt;
* Виправлено можливість зміни кольору з&#039;єднання між пристроями у схемі комутації&lt;br /&gt;
&lt;br /&gt;
== 3.21.4 - 30.06.2026 ==&lt;br /&gt;
* Доопрацьовано метод API-&amp;gt;attach-&amp;gt;[[API_attach_UK#upload|upload]]&lt;br /&gt;
* Додано окремий профіль email-сповіщень для надсилання повідомлень абонентам-юридичним особам&lt;br /&gt;
* Доопрацьовано сортування у списку споруд зв&#039;язку за будинком&lt;br /&gt;
* Календар робіт відкривається на поточній даті&lt;br /&gt;
* Доробка календаря завдань для випадків, коли кілька завдань призначаються на один час&lt;br /&gt;
* Впроваджено багаторівневі групи типів завдань&lt;br /&gt;
* У новинах за завданнями додано можливість частково позначати події як прочитані, а також групувати новини за завданнями&lt;br /&gt;
* В автоматизації за завданнями додано можливість надсилати Email абонентам &#039;&#039;(за налаштовуваними шаблонами)&#039;&#039;&lt;br /&gt;
* Доопрацьовано виведення спливного сповіщення під час призначення підрозділу співробітника на завдання&lt;br /&gt;
* Виправлено відображення блока з прикріпленими файлами у власних розділах за права лише на читання&lt;br /&gt;
* Виправлено перехід у картку абонента з мапи покриття&lt;br /&gt;
* Виправлено помилку під час налаштування доступності статусів для профілів співробітників у картці типу завдання&lt;br /&gt;
* Виправлено фільтрацію за датами у списку завдань &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлено відображення автора завдання у списку завдань&lt;br /&gt;
* Виправлено відображення поля &amp;quot;Нотатки&amp;quot; у картці споруди зв&#039;язку&lt;br /&gt;
* Виправлено помилку під час спроби видалення адресного об&#039;єкта &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлено можливість вимкнення/увімкнення порту пристрою&lt;br /&gt;
* Виправлено перегляд глобальних схем комутації &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 3.21.3 - 28.06.2026 ==&lt;br /&gt;
* Доопрацьовано метод API-&amp;gt;inventory-&amp;gt;[[API_inventory_UK#transfer_inventory|transfer_inventory]]&lt;br /&gt;
* Доопрацьовано метод API-&amp;gt;commutation-&amp;gt;[[API_commutation_UK#delete|commutation]]&lt;br /&gt;
* Доопрацьовано метод API-&amp;gt;node-&amp;gt;[[API_node_UK#get|get]]&lt;br /&gt;
* Доопрацьовано метод API-&amp;gt;address-&amp;gt;[[API_address_UK#get_house|get_house]]&lt;br /&gt;
* Для завдання планувальника &amp;quot;Розсилання інформації про зниження резервів на складі&amp;quot; додано можливість указувати варіанти надсилання &amp;quot;E-mail/Messenger&amp;quot;, а також у картці співробітника в розділі &amp;quot;Сповіщення&amp;quot; можна вказати варіанти отримання цієї розсилки&lt;br /&gt;
* У списку ТМЦ у картці завдання додано можливість одразу передавати всі ТМЦ вибраному отримувачу&lt;br /&gt;
* У додаткових полях із типом &amp;quot;Вибір зі списку&amp;quot; додано швидкий пошук значення&lt;br /&gt;
* Доопрацьовано використання явно вказаних координат під час редагування картки будівлі та вибору полігона/точки&lt;br /&gt;
* Виправлено створення кабельних ліній до будівлі з мапи покриття&lt;br /&gt;
* Виправлено помилку під час переходу до розділу Налаштування - Модулі &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлено групування у списку завдань &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлено видалення напису зі схеми комутації&lt;br /&gt;
* Виправлено роботу параметра &amp;quot;Відображати у селекторах/пошуку звільнених співробітників протягом N днів після їх звільнення&amp;quot;&lt;br /&gt;
* Виправлено перевірку доступності складів під час вибору ТМЦ при виконанні завдання&lt;br /&gt;
* Виправлено роботу змінної &amp;quot;Виводити завдання за датою фактичного виконання&amp;quot;&lt;br /&gt;
* Виправлено використання колірних налаштувань зовнішнього вигляду типів завдань у календарі&lt;br /&gt;
* Виправлено пошук на мапі покриття &#039;&#039;(підставляння поточного населеного пункту у вікні пошуку)&#039;&#039;&lt;br /&gt;
* Виправлено перехід із картки клієнта на мапу з координатами будівлі клієнта&lt;br /&gt;
* Виправлено збереження інтерфейсів/стекування в картці пристрою&lt;br /&gt;
&lt;br /&gt;
== 3.21.2 - 26.06.2026 ==&lt;br /&gt;
* Доопрацьовано метод API-&amp;gt;address-&amp;gt;[[API_address_UK#get_house|get_house]]&lt;br /&gt;
* Під час передавання ТМЦ із картки клієнта можна вибрати субрахунок, на який передаємо&lt;br /&gt;
* Під час створення/зміни завдання для будівлі виводиться інформація про мітки на будівлі та примітку до будівлі&lt;br /&gt;
* Під час створення завдання за ланцюжком можна окремо вказати потрібного довільного виконавця/підрозділ&lt;br /&gt;
* У масовому передаванні ТМЦ тепер створюються об&#039;єднані операції передавання, а не кожна окремо&lt;br /&gt;
* У списку завдань у групуванні результатів фільтрації додано варіант &amp;quot;Дата виконання (місяць)&amp;quot;&lt;br /&gt;
* Виправлено помилку під час створення завдання &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлено зміну координат у картці будівлі, споруди зв&#039;язку, клієнта &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлено формування назви споруди зв&#039;язку під час вибору поверху будівлі &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлено обробку посилань у текстових значеннях додаткових полів&lt;br /&gt;
* Виправлено призначення виконавців під час створення завдання &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 3.21.1 - 25.06.2026 ==&lt;br /&gt;
* Доопрацьовано центрування мапи під час редагування полігона/будівлі на мапі покриття&lt;br /&gt;
* Виправлено відображення глобальних схем комутації &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлено експорт у XLS списку кабельних ліній &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлено коректне відображення клієнтів на логічній схемі будівлі &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлено вибір батьківських об&#039;єктів під час додавання будівлі з мапи покриття&lt;br /&gt;
* Виправлено прикріплення клієнта під час додавання нового завдання для клієнта&lt;br /&gt;
* Виправлення невеликих помилок&lt;br /&gt;
&lt;br /&gt;
== 3.21.0 - 23.06.2026 ==&lt;br /&gt;
* Реліз версії&lt;br /&gt;
&lt;br /&gt;
== 3.21.0-beta.7 - 21.06.2026 ==&lt;br /&gt;
* Виправлення за підсумками бета-тестування&lt;br /&gt;
&lt;br /&gt;
== 3.21.0-beta.6 - 20.06.2026 ==&lt;br /&gt;
* Виправлення за підсумками бета-тестування&lt;br /&gt;
&lt;br /&gt;
== 3.21.0-beta.5 - 17.06.2026 ==&lt;br /&gt;
* Виправлення за підсумками бета-тестування&lt;br /&gt;
&lt;br /&gt;
== 3.21.0-beta.4 - 13.06.2026 ==&lt;br /&gt;
* Виправлення за підсумками бета-тестування&lt;br /&gt;
&lt;br /&gt;
== 3.21.0-beta.3 - 07.06.2026 ==&lt;br /&gt;
* Виправлення за підсумками бета-тестування&lt;br /&gt;
&lt;br /&gt;
== 3.21.0-beta.2 - 30.05.2026 ==&lt;br /&gt;
* Виправлення за підсумками бета-тестування&lt;br /&gt;
&lt;br /&gt;
== 3.21.0-beta.1 - 24.05.2026 ==&lt;br /&gt;
* Перелік змін див. у [[3.21_UK|3.21]]&lt;/div&gt;</summary>
		<author><name>IronBot</name></author>
	</entry>
	<entry>
		<id>https://wiki.userside.eu/index.php?title=%D0%92%D0%B5%D1%80%D1%81%D1%96%D1%97_3.20&amp;diff=22309</id>
		<title>Версії 3.20</title>
		<link rel="alternate" type="text/html" href="https://wiki.userside.eu/index.php?title=%D0%92%D0%B5%D1%80%D1%81%D1%96%D1%97_3.20&amp;diff=22309"/>
		<updated>2026-07-12T13:11:10Z</updated>

		<summary type="html">&lt;p&gt;IronBot: [IronBot] Sync UK localization from RU&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Versions 3.20 EN|en]] | &#039;&#039;&#039;uk&#039;&#039;&#039; | [[Версии_3.20|ru]]&lt;br /&gt;
&lt;br /&gt;
Версії гілки [[3.20_UK|3.20]]&lt;br /&gt;
&lt;br /&gt;
Також див.: [[Версії ERP &amp;quot;USERSIDE&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
== 3.20.26 (у розробці) ==&lt;br /&gt;
* Виправлено генерацію/транслітерацію логіна співробітника під час створення &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлено помилку під час побудови звіту щодо залишків ТМЦ за завданнями&lt;br /&gt;
* Виправлено помилку під час перегляду графіка зростання абонентів &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Невеликі зміни та виправлення помилок&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 3.20.25 - 24.06.2026 ==&lt;br /&gt;
* Доопрацьовано відображення запланованих кабельних ліній на мапі покриття відповідно до налаштувань кольору за щільністю кабелю&lt;br /&gt;
* Виправлено помилку з відображенням списку кабельних ліній &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлення невеликих помилок та змін&lt;br /&gt;
&lt;br /&gt;
== 3.20.24 - 27.05.2026 ==&lt;br /&gt;
* Виправлення невеликих помилок та змін&lt;br /&gt;
&lt;br /&gt;
== 3.20.23 - 27.04.2026 ==&lt;br /&gt;
* Додано метод API-&amp;gt;call-&amp;gt;[[API_call_UK#agent_call|agent_call]]&lt;br /&gt;
* Додано метод API-&amp;gt;chapter-&amp;gt;[[API_chapter_UK#link_add|link_add]]&lt;br /&gt;
* Додано метод API-&amp;gt;chapter-&amp;gt;[[API_chapter_UK#link_get|link_get]]&lt;br /&gt;
* Додано метод API-&amp;gt;chapter-&amp;gt;[[API_chapter_UK#link_remove|link_remove]]&lt;br /&gt;
* Доопрацьовано метод API-&amp;gt;call-&amp;gt;[[API_call_UK#add|add]]&lt;br /&gt;
* Доопрацьовано метод API-&amp;gt;task-&amp;gt;[[API_task_UK#edit|edit]]&lt;br /&gt;
* У виконаних завданнях також відображається ознака &amp;quot;Прострочено&amp;quot; під час порушенні термінів робіт&lt;br /&gt;
* Виправлена помилка з входом у календар робіт &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлення невеликих помилок&lt;br /&gt;
&lt;br /&gt;
== 3.20.22 - 04.04.2026 ==&lt;br /&gt;
* Виправлено вибір порожнього значення в типі завдань для реєстрації телефоном&lt;br /&gt;
* Оптимізаційні роботи&lt;br /&gt;
* Виправлення невеликих помилок&lt;br /&gt;
&lt;br /&gt;
== 3.20.21 - 11.03.2026 ==&lt;br /&gt;
* Виправлено відображення лічильника помилок на інтерфейсах пристроїв &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлено налаштування шаблонів SMS-повідомлень для абонентів у завданнях&lt;br /&gt;
* Оптимізаційні роботи&lt;br /&gt;
* Виправлення невеликих помилок&lt;br /&gt;
&lt;br /&gt;
== 3.20.20 - 22.02.2026 ==&lt;br /&gt;
* Оптимізована робота розділу &amp;quot;Мої завдання&amp;quot;&lt;br /&gt;
* Виправлено порушення розмітки головного меню в деяких випадках&lt;br /&gt;
&lt;br /&gt;
== 3.20.19 - 08.02.2026 ==&lt;br /&gt;
* Виправлення невеликих помилок&lt;br /&gt;
&lt;br /&gt;
== 3.20.18 - 23.01.2026 ==&lt;br /&gt;
* Оптимізація звіту за складу &amp;quot;Оборотно-сальдова відомість&amp;quot;&lt;br /&gt;
* Виправлення невеликих помилок&lt;br /&gt;
&lt;br /&gt;
== 3.20.17 - 31.12.2025 ==&lt;br /&gt;
* Додано метод API-&amp;gt;task-&amp;gt;[[API_task_UK#add_node_to_task|add_node_to_task]]&lt;br /&gt;
* Додано метод API-&amp;gt;task-&amp;gt;[[API_task_UK#remove_node_from_task|remove_node_from_task]]&lt;br /&gt;
* Виправлено виконання ланцюжка завдань &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлення невеликих помилок&lt;br /&gt;
&lt;br /&gt;
== 3.20.16 - 14.12.2025 ==&lt;br /&gt;
* Виправлена помилка з фільтрацією за секції ТМЦ у списку операцій за складу&lt;br /&gt;
* Виправлення невеликих помилок&lt;br /&gt;
&lt;br /&gt;
== 3.20.15 - 06.12.2025 ==&lt;br /&gt;
* Для ланцюжків завдань/автоматизації в типах завдань додано можливість вказівки дробового інтервалу годинника&lt;br /&gt;
* Виправлення невеликих помилок&lt;br /&gt;
&lt;br /&gt;
== 3.20.14 - 29.11.2025 ==&lt;br /&gt;
* Доопрацювання API взаємозв&#039;язку з Binotel&lt;br /&gt;
* Виправлення невеликих помилок&lt;br /&gt;
&lt;br /&gt;
== 3.20.13 - 22.11.2025 ==&lt;br /&gt;
* Виправлення невеликих помилок&lt;br /&gt;
&lt;br /&gt;
== 3.20.12 - 15.11.2025 ==&lt;br /&gt;
* Додано параметр налаштування &amp;quot;Масштабувати ширину кабельної лінії на схемі комутації в залежності від довжини назви&amp;quot;&lt;br /&gt;
* Допрацьовано відображення невідомих ONU за OLT у віджеті головної сторінки&lt;br /&gt;
* Виправлення інших невеликих помилок&lt;br /&gt;
&lt;br /&gt;
== 3.20.11 - 08.11.2025 ==&lt;br /&gt;
* Виправлення помилки під час вході в розділ Custom-повідомлень &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлення помилки під час вході в налаштування інтерфейсів/стекування за пристрої &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлена неможливість комутації між ODF/кросами у майстрі комутацій&lt;br /&gt;
* Виправлення деяких помилок міграції&lt;br /&gt;
&lt;br /&gt;
== 3.20.10 - 07.11.2025 ==&lt;br /&gt;
* Додано метод API-&amp;gt;vehicle-&amp;gt;[[API_vehicle_UK#add|add]]&lt;br /&gt;
* Додано метод API-&amp;gt;vehicle-&amp;gt;[[API_vehicle_UK#edit|edit]]&lt;br /&gt;
* Додано метод API-&amp;gt;vehicle-&amp;gt;[[API_vehicle_UK#delete|delete]]&lt;br /&gt;
* У картці спорудження зв&#039;язку в блоці з прикріпленими файлами-зображеннями можна швидко зробити зображення основним фото для цього об&#039;єкта &#039;&#039;(без необхідності переходити до редагування)&#039;&#039;&lt;br /&gt;
* У картці кабельної лінії додано можливість створити завдання з цією лінією або додати лінію до існуючого завдання&lt;br /&gt;
* Доопрацьовано сортування за додатковими полями у власних розділах&lt;br /&gt;
* Виправлена фільтрація за найменуванням ТМЦ у списку ТМЦ&lt;br /&gt;
* Виправлено відображення шарів обладнання на карті покриття&lt;br /&gt;
* Виправлення інших невеликих помилок&lt;br /&gt;
&lt;br /&gt;
== 3.20.9 - 14.09.2025 ==&lt;br /&gt;
* Доопрацювання перевірки прав доступу до ONU&lt;br /&gt;
* Виправлена помилка під час пошуку абонента під час передачі ТМЦ &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлено оновлення на базі серійних номерів для ONU під час опитуванні OLT &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 3.20.8 - 06.09.2025 ==&lt;br /&gt;
* Додано метод API-&amp;gt;billing-&amp;gt;[[API_billing_UK#refresh_date_update|refresh_date_update]]&lt;br /&gt;
* Оптимізовано інтерфейс редагування/додавання адресної одиниці &#039;&#039;(актуально для розгалужених адресних структур)&#039;&#039;&lt;br /&gt;
* У картці завдання додані посилання на перегляд зв&#039;язаних абонентів із спорудами зв&#039;язку та з кабельними лініями&lt;br /&gt;
* Виправлена перевірка на статус батьківського завдання в автоматизації дій із завдань &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлено відображення спливаючої підказки в календарі завдань під час горизонтальному скролі&lt;br /&gt;
* Виправлено призначення співробітників у підрозділ &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 3.20.7 - 25.08.2025 ==&lt;br /&gt;
* &#039;&#039;&#039;Глибока переробка операцій із транспорту. Різні типи, контроль пробігу, терміни. Повідомлення на головну сторінку та список транспорту. Ведення історії змін в операціях &#039;&#039;&#039;&lt;br /&gt;
* Історія дій щодо потенційного абонента переноситься в історію дій звичайного абонента під час їх об&#039;єднанні&lt;br /&gt;
* При гарячій заміні пристрою можна вказати збереження історії MAC-адрес на портах обладнання&lt;br /&gt;
* У групових діях за списком абонентів додано можливість очищення комутації&lt;br /&gt;
* Технічні міграції даних ядра&lt;br /&gt;
* Виправлена фільтрація FDB-таблиці з пристрою &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлена помилка під час обмеженні співробітнику доступу за конкретною IP-адресою&lt;br /&gt;
* Виправлено перевірку прав на доступ до ONU&lt;br /&gt;
&lt;br /&gt;
== 3.20.6 - 15.08.2025 ==&lt;br /&gt;
* &#039;&#039;&#039; Окремі SMS-профілі для роботи. Наприклад, для кожної SMS-розсилки можна вказати окремий SMS-профіль &#039;&#039;(власне альфа-ім&#039;я, інший оператор...)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
* Виділено окремі права доступу до ONU на перегляд та зміну&lt;br /&gt;
* Виправлено відображення великої кількості розділів блокнота у списку розділів&lt;br /&gt;
* Виправлено оновлення інформації під час додавання/виключенні споруди зв&#039;язку в завданні&lt;br /&gt;
&lt;br /&gt;
== 3.20.5 - 08.08.2025 ==&lt;br /&gt;
* Додано метод API-&amp;gt;address-&amp;gt;[[API_address_UK#get_building_type|get_building_type]]&lt;br /&gt;
* Додано параметр налаштування &amp;quot;Будівлі. Шаблон спливаючого повідомлення на карті&amp;quot;&lt;br /&gt;
* Доопрацьовано інтерфейс зміни нотатки, типу адаптера та з&#039;єднання для волокна кабельної лінії&lt;br /&gt;
* Перероблено інтерфейс додавання споруд зв&#039;язку та кабельних ліній у завдання під час створення завдання&lt;br /&gt;
* Підкориговано перевірку прав доступу до табеля робіт&lt;br /&gt;
* Доопрацьовано тарифікацію співробітникам за завдання у відомості робіт за участю в завданні понад 5 співробітників&lt;br /&gt;
* Виправлена помилка фільтрації за будівлі у списку операцій за складом &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 3.20.4 - 04.08.2025 ==&lt;br /&gt;
* Додано метод API-&amp;gt;cross-&amp;gt;[[API_cross_UK#edit_adapter|edit_adapter]]&lt;br /&gt;
* Доопрацьовано метод API-&amp;gt;task-&amp;gt;[[API_address_UK#edit_address|edit_address]]&lt;br /&gt;
* Додано параметр налаштування &amp;quot;Заблокувати виконання автоматизації/ланцюжка завдань під час поверненні завдання зі статусу із системною роллю &amp;quot;Відкладено&amp;quot;&lt;br /&gt;
* У списку завдань додано угруповання завдань за вулиці або населеному пункту&lt;br /&gt;
* Доопрацювання збереження прикріплених файлів до коментарів за завданням&lt;br /&gt;
* Невеликі виправлення та доопрацювання&lt;br /&gt;
&lt;br /&gt;
== 3.20.3 - 27.07.2025 ==&lt;br /&gt;
* Доопрацьовано метод API-&amp;gt;task-&amp;gt;[[API_task_UK#change_state|change_state]]&lt;br /&gt;
* Додано параметр налаштування &amp;quot;З&#039;єднання на дільниках вважати механічними&amp;quot;&lt;br /&gt;
* У налаштуваннях типів завдань для ТМЦ можна вказати, що переміщати всі ТМЦ після закриття на зв&#039;язану будівлю&lt;br /&gt;
* У ланцюжках/автоматизації за типами завдань додано можливість додаткової умови &amp;quot;Статус дочірнього/батьківського завдання&amp;quot; для варіантів дій &amp;quot;Батьківське/Дочірнє завдання. Змінити статус на&amp;quot;&lt;br /&gt;
* У картці будівлі у списку ТМЦ додано інформацію про дату встановлення ТМЦ на будівлі та можливість експорту в XLS та у версію для друку&lt;br /&gt;
* У картці можна скопіювати всі прикріплені файли з іншого завдання&lt;br /&gt;
* У картці абонента додано пряме посилання на перегляд його маршруту комутації&lt;br /&gt;
* Для профілів співробітників можна обмежити максимальну кількість записів на сторінці &#039;&#039;(у таблицях/списках)&#039;&#039;&lt;br /&gt;
* У фільтр зі споруд зв&#039;язку додано можливість вибірки за відсутнім власним значком на карті&lt;br /&gt;
* У списку операцій за складу в селекторах вибору контрагента додано можливість вказівки конкретної будівлі&lt;br /&gt;
* У групових діях за будівлях додано можливість зміни індивідуального кольору на карті&lt;br /&gt;
* У групових діях за будинках можна змінити менеджера на порожнє значення &#039;&#039;(видалити менеджера)&#039;&#039;&lt;br /&gt;
* Виправлено сортування за адресою у списку завдань &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлена можливість одночасно відкласти завдання та вказати довільний коментар&lt;br /&gt;
&lt;br /&gt;
== 3.20.2 - 18.07.2025 ==&lt;br /&gt;
* Додано метод API-&amp;gt;task-&amp;gt;[[API_task_UK#add_cable_line_to_task|add_cable_line_to_task]]&lt;br /&gt;
* Додано метод API-&amp;gt;task-&amp;gt;[[API_task_UK#remove_cable_line_from_task|remove_cable_line_from_task]]&lt;br /&gt;
* Список підключених ONU на OLT можна виводити на друк або експортувати до XLS&lt;br /&gt;
* Для споруд зв&#039;язку та кабельних ліній додано можливість у групових діях змінювати нотатки&lt;br /&gt;
* У шаблоні спливаючої підказки на завдання на карті покриття можна відображати дату створення завдання, дату оновлення, текст останнього коментаря&lt;br /&gt;
* У ланцюжках/автоматизації за типами завдань додано дію &amp;quot;Абоненти. Виключити&amp;quot;&lt;br /&gt;
* Для ланцюжків/автоматизації в типах завдань додана можливість відключати автопризначуваних виконавців під час створення нового завдання за ланцюжку&lt;br /&gt;
* Доопрацьовано відображення посилань в описі типу завдань у картці завдання&lt;br /&gt;
* Виправлена фільтрація абонентів, що залежать від кросу/odf &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 3.20.1 - 12.07.2025 ==&lt;br /&gt;
* У списку будівель доданий фільтр за будівлях, у яких знято позначку &amp;quot;Відображати на карті&amp;quot;&lt;br /&gt;
* Виправлена неможливість відкрити картку автотранспорту зі списку&lt;br /&gt;
* Виправлено пошук за найменуванням кабельної лінії під час створення завдання &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлення відображення інформації про абонента у списку завдань &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 3.20 - 09.07.2025 ==&lt;br /&gt;
* Реліз версії 3.20&lt;br /&gt;
* Список змін див. [[3.20_UK|3.20]]&lt;/div&gt;</summary>
		<author><name>IronBot</name></author>
	</entry>
	<entry>
		<id>https://wiki.userside.eu/index.php?title=Versions_3.21_EN&amp;diff=22308</id>
		<title>Versions 3.21 EN</title>
		<link rel="alternate" type="text/html" href="https://wiki.userside.eu/index.php?title=Versions_3.21_EN&amp;diff=22308"/>
		<updated>2026-07-12T13:11:10Z</updated>

		<summary type="html">&lt;p&gt;IronBot: [IronBot] Sync EN localization from RU&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;en&#039;&#039;&#039; | [[Версії_3.21|uk]] | [[Версии_3.21|ru]]&lt;br /&gt;
&lt;br /&gt;
Versions of the [[3.21_EN|3.21]] branch&lt;br /&gt;
&lt;br /&gt;
Also see: [[Versions_of_ERP_&amp;quot;USERSIDE&amp;quot;|ERP &amp;quot;USERSIDE&amp;quot; versions]]&lt;br /&gt;
&lt;br /&gt;
== 3.21.14 (in development) ==&lt;br /&gt;
* Building list filtering now supports filtering by the presence or absence of a communications installation on the building&lt;br /&gt;
* Added a new employee profile right: &amp;quot;Settings - Task statuses&amp;quot;&lt;br /&gt;
* Work calendar filters now let users configure their own order and visibility of departments and employees in the calendar&lt;br /&gt;
* Reworked the department list section. The appearance was changed, and quick search by employee/department was added&lt;br /&gt;
* When creating a new building in the address selection block, the new address is inserted immediately without reloading the current page&lt;br /&gt;
* Search results in the address selection block now show buildings and other address object types, making it faster to add new buildings, streets, and similar objects&lt;br /&gt;
* Improved the task card appearance on mobile devices&lt;br /&gt;
* Fixed coverage map performance when displaying the &amp;quot;Employees and vehicles&amp;quot; layer&lt;br /&gt;
* Fixed filtering in the building list &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed PDF file preview in the browser &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed filtering in the debtor customer list&lt;br /&gt;
* Fixed display of the &amp;quot;Settings-Addresses&amp;quot; section for employees with geography-limited access&lt;br /&gt;
* Fixed fiber rendering on the commutation scheme when a fiber has a label&lt;br /&gt;
* Fixed an error when displaying current-day tasks in the work calendar &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 3.21.13 - 10.07.2026 ==&lt;br /&gt;
* &#039;&#039;&#039;When receiving inventory, multiple different inventory item names can now be specified at once&#039;&#039;&#039;&lt;br /&gt;
* Improved display of completed tasks in the calendar&lt;br /&gt;
* In the commutation scheme, splitters and distribution frames now have action buttons in object menus, as in the object cards &#039;&#039;(edit, delete, structural scheme, and so on)&#039;&#039;&lt;br /&gt;
* Fixed commutation in the commutation scheme &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed duplicate requests during automatic ONU signal level refresh when opening an ONU card&lt;br /&gt;
* Fixed the task history appearance&lt;br /&gt;
* Fixed editing coverage map settings &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed object selection on the global commutation scheme &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed access-right checks for the ONU list for employees&lt;br /&gt;
* Fixed the rack/cabinet card appearance in the dark interface theme&lt;br /&gt;
&lt;br /&gt;
== 3.21.12 - 09.07.2026 ==&lt;br /&gt;
* Improved API-&amp;gt;[[API_redirect_EN|redirect]] method&lt;br /&gt;
* When splitting inventory into several parts, attached files are linked to all resulting inventory items&lt;br /&gt;
* Improved the cable line add dialog opened from a communications installation&lt;br /&gt;
* Added the setting parameter &amp;quot;Display completed tasks with opacity (%)&amp;quot;&lt;br /&gt;
* Fixed the &amp;quot;Display completed tasks in gray&amp;quot; setting parameter&lt;br /&gt;
* Fixed display of the MAC address field when receiving inventory&lt;br /&gt;
* Fixed additional field dependency handling&lt;br /&gt;
* Fixed attached-file handling in vehicle operations&lt;br /&gt;
* Fixed navigation to communications installation table field settings&lt;br /&gt;
* Fixed task information appearance on the &amp;quot;Technical support&amp;quot; tab in the customer card&lt;br /&gt;
* Fixed errors when viewing user action history &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed an error when opening the inventory selection dialog for integration&lt;br /&gt;
* Fixed moving object positions on the global commutation scheme&lt;br /&gt;
* Fixed reserve specification for cable lines&lt;br /&gt;
* Fixed an error when receiving inventory and auto-assigning inventory numbers &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed employee access settings for addresses&lt;br /&gt;
&lt;br /&gt;
== 3.21.11 - 08.07.2026 ==&lt;br /&gt;
* Fixed the appearance of the task type rights settings table&lt;br /&gt;
* Fixed changing the position of a separate communications installation commutation scheme on the shared global commutation scheme&lt;br /&gt;
* Fixed task filtering in the &amp;quot;My tasks&amp;quot; section &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed changing address object coordinates from the building card&lt;br /&gt;
* Fixed assignee sorting when creating a task&lt;br /&gt;
* Fixed changing sector coordinates for radio equipment&lt;br /&gt;
* Fixed access-right checks when opening a device card &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed hiding/showing a communications installation on the coverage map&lt;br /&gt;
&lt;br /&gt;
== 3.21.10 - 07.07.2026 ==&lt;br /&gt;
* Added API-&amp;gt;call-&amp;gt;[[API_call_EN#edit|edit]] method&lt;br /&gt;
* Added new user profile rights &amp;quot;Owners (access to financial information)&amp;quot; and &amp;quot;Tenants (access to financial information)&amp;quot;&lt;br /&gt;
* &#039;&#039;&#039;Implemented inventory transfer to an employee with employee confirmation of receipt/refusal&#039;&#039;&#039;&lt;br /&gt;
* In group actions for communications installations, creating a common task or separate tasks now creates tasks through the standard task-add dialog&lt;br /&gt;
* Fixed marking a task as read in news when opening the task card&lt;br /&gt;
* Fixed display of the latest inventory operation date in the list of inventory by object&lt;br /&gt;
* Fixed document print generation from the task card&lt;br /&gt;
* Fixed commutation of free cable fibers to each other &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed editing coordinates for a communication line&lt;br /&gt;
* Fixed display of stray artifacts on the global commutation scheme &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
== 3.21.9 - 06.07.2026 ==&lt;br /&gt;
* SMS mailing exclusions can now exclude customers with a specific period of negative balance&lt;br /&gt;
* The &amp;quot;Problem buildings/customers&amp;quot; statistics can now use custom filters&lt;br /&gt;
* In task type settings, the additional fields section now separately specifies the additional field types that can be used when changing task status. Task status settings also now include the &amp;quot;Display additional fields&amp;quot; property&lt;br /&gt;
* Added the ability to automatically create a work task for unanswered phone calls&lt;br /&gt;
* User password changes were moved to a separate dialog window&lt;br /&gt;
&lt;br /&gt;
== 3.21.8 - 04.07.2026 ==&lt;br /&gt;
* Improved API method API-&amp;gt;customer-&amp;gt;[[API_customer_EN#get_customers_id|get_customers_id]]&lt;br /&gt;
* Improved the appearance of tasks in the work calendar&lt;br /&gt;
* In group actions for customers, task creation now uses a full dialog for specifying properties of the tasks being created&lt;br /&gt;
* Optimized the structural scheme&lt;br /&gt;
* Fixed setting conditions in SMS mailings &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed setting custom coordinates for a customer&lt;br /&gt;
* Fixed saving a system device&lt;br /&gt;
* Fixed object display on the global commutation scheme &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed commutating a cable line to a device in the customer&#039;s commutation scheme&lt;br /&gt;
* Fixed changing custom coordinates for equipment&lt;br /&gt;
* Fixed the tariff exclusion filter in SMS mailings&lt;br /&gt;
&lt;br /&gt;
== 3.21.7 - 03.07.2026 ==&lt;br /&gt;
* Planning mode in the work calendar&lt;br /&gt;
* Fixed search in the communications installation list &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed attached-file display in a communications installation card when the user has read-only rights&lt;br /&gt;
* Fixed viewing/creating SMS mailings &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed signal level display for ONU &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed attenuation display on the structural scheme for OLT &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed an error when viewing employee history &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed incorrect activity date output in the coverage map tooltip for transport&lt;br /&gt;
* Fixed the ability to exclude a customer from a task&lt;br /&gt;
&lt;br /&gt;
== 3.21.6 - 02.07.2026 ==&lt;br /&gt;
* Added IP address usage history&lt;br /&gt;
* Improved use of the ruler on the coverage map&lt;br /&gt;
* Fixed cable line appearance on the coverage map according to tag settings &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed the equipment list in the &amp;quot;Inactive switches&amp;quot; home-page widget&lt;br /&gt;
* Fixed adding new communications installation schemes to the global commutation scheme&lt;br /&gt;
* Fixed equipment database search when adding an inventory item name to the product catalog&lt;br /&gt;
* Fixed clearing equipment port commutation &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed an error in the inventory balance report &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed specifying custom reserves/objects on a cable line route&lt;br /&gt;
* Fixed switching commutation to a port of another device on a communications installation&lt;br /&gt;
* Fixed object display on the coverage map in group operations for communications installations&lt;br /&gt;
* Fixed changing the commutation path in the commutation scheme &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 3.21.5 - 01.07.2026 ==&lt;br /&gt;
* Added notifications when editing a task &#039;&#039;(configurable)&#039;&#039;&lt;br /&gt;
* Improved collecting information from ONU interfaces&lt;br /&gt;
* Improved equipment port appearance for the dark theme&lt;br /&gt;
* Task types can now specify actions with inventory: transfer the required inventory currently assigned to a customer from that customer to the selected warehouse&lt;br /&gt;
* Fixed quick search by the required equipment category in the equipment list&lt;br /&gt;
* Fixed selection of other devices on the same communications installation in the port switching dialog&lt;br /&gt;
* Fixed display of warehouses available to an employee &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed an error when viewing an inventory item card &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed automatic building selection when adding a communications installation from a building card&lt;br /&gt;
* Fixed viewing the list of polled devices in the usm_observer module&lt;br /&gt;
* Fixed the ability to change the color of a connection between devices in the commutation scheme&lt;br /&gt;
&lt;br /&gt;
== 3.21.4 - 30.06.2026 ==&lt;br /&gt;
* Improved API method API-&amp;gt;attach-&amp;gt;[[API_attach_EN#upload|upload]]&lt;br /&gt;
* Added a separate email notification profile for sending messages to corporate customers&lt;br /&gt;
* Improved sorting by building in the communications installation list&lt;br /&gt;
* The work calendar opens on the current date&lt;br /&gt;
* Improved the task calendar for cases where several tasks are scheduled for the same time&lt;br /&gt;
* Implemented multilevel task type groups&lt;br /&gt;
* Task news can now partially mark events as read and group news by task&lt;br /&gt;
* Task automation can now send Email messages to customers &#039;&#039;(using configurable templates)&#039;&#039;&lt;br /&gt;
* Improved popup notification output when assigning an employee department to a task&lt;br /&gt;
* Fixed attached-file block display in custom sections when the user has read-only rights&lt;br /&gt;
* Fixed opening a customer card from the coverage map&lt;br /&gt;
* Fixed an error when configuring status availability for employee profiles in a task type card&lt;br /&gt;
* Fixed filtering by dates in the task list &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed task author display in the task list&lt;br /&gt;
* Fixed display of the &amp;quot;Notes&amp;quot; field in the communications installation card&lt;br /&gt;
* Fixed an error when trying to delete an address object &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed the ability to disable/enable a device port&lt;br /&gt;
* Fixed viewing global commutation schemes &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 3.21.3 - 28.06.2026 ==&lt;br /&gt;
* Improved API method API-&amp;gt;inventory-&amp;gt;[[API_inventory_EN#transfer_inventory|transfer_inventory]]&lt;br /&gt;
* Improved API method API-&amp;gt;commutation-&amp;gt;[[API_commutation_EN#delete|commutation]]&lt;br /&gt;
* Improved API method API-&amp;gt;node-&amp;gt;[[API_node_EN#get|get]]&lt;br /&gt;
* Improved API method API-&amp;gt;address-&amp;gt;[[API_address_EN#get_house|get_house]]&lt;br /&gt;
* The scheduler task &amp;quot;Send low-stock information&amp;quot; can now specify the delivery options &amp;quot;E-mail/Messenger&amp;quot;; the employee card also now lets you specify delivery options for this mailing in the &amp;quot;Notifications&amp;quot; section&lt;br /&gt;
* The inventory list in the task card can now transfer all inventory items to the selected recipient at once&lt;br /&gt;
* Quick value search was added to custom fields of the &amp;quot;List selection&amp;quot; type&lt;br /&gt;
* Improved the use of explicitly specified coordinates when editing a building card and selecting a polygon/point&lt;br /&gt;
* Fixed creating cable lines to a building from the coverage map&lt;br /&gt;
* Fixed an error when opening Settings - Modules &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed grouping in the task list &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed deleting a label from the switching scheme&lt;br /&gt;
* Fixed the &amp;quot;Show dismissed employees in selectors/search for N days after dismissal&amp;quot; parameter&lt;br /&gt;
* Fixed warehouse availability checks when selecting inventory items during task execution&lt;br /&gt;
* Fixed the &amp;quot;Show tasks by actual completion date&amp;quot; variable&lt;br /&gt;
* Fixed using task-type appearance color settings in the calendar&lt;br /&gt;
* Fixed coverage-map search &#039;&#039;(substituting the current locality in the search window)&#039;&#039;&lt;br /&gt;
* Fixed navigation from a customer card to the map with the customer&#039;s building coordinates&lt;br /&gt;
* Fixed saving interfaces/stacking in the device card&lt;br /&gt;
&lt;br /&gt;
== 3.21.2 - 26.06.2026 ==&lt;br /&gt;
* Improved API method API-&amp;gt;address-&amp;gt;[[API_address_EN#get_house|get_house]]&lt;br /&gt;
* When transferring inventory from a customer card, the sub-account receiving the inventory can now be selected&lt;br /&gt;
* When creating/editing a task for a building, information about building tags and the building note is shown&lt;br /&gt;
* When creating a task in a chain, a specific custom assignee/department can be specified separately&lt;br /&gt;
* Bulk inventory transfer now creates combined transfer operations instead of separate operations for each item&lt;br /&gt;
* The task list filter-result grouping now has a &amp;quot;Completion date (month)&amp;quot; option&lt;br /&gt;
* Fixed an error when creating a task &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed changing coordinates in building, communications installation, and customer cards &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed generation of communications-installation names when selecting a building floor &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed link handling in text values of custom fields&lt;br /&gt;
* Fixed assigning assignees when creating a task &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 3.21.1 - 25.06.2026 ==&lt;br /&gt;
* Improved map centering when editing a polygon/building on the coverage map&lt;br /&gt;
* Fixed displaying global switching schemes &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed exporting the cable line list to XLS &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed correct rendering of customers on the building logical scheme &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed selecting parent objects when adding a building from the coverage map&lt;br /&gt;
* Fixed attaching a customer when adding a new task for a customer&lt;br /&gt;
* Fixed minor bugs&lt;br /&gt;
&lt;br /&gt;
== 3.21.0 - 23.06.2026 ==&lt;br /&gt;
* Version release&lt;br /&gt;
&lt;br /&gt;
== 3.21.0-beta.7 - 21.06.2026 ==&lt;br /&gt;
* Fixes based on beta testing results&lt;br /&gt;
&lt;br /&gt;
== 3.21.0-beta.6 - 20.06.2026 ==&lt;br /&gt;
* Fixes based on beta testing results&lt;br /&gt;
&lt;br /&gt;
== 3.21.0-beta.5 - 17.06.2026 ==&lt;br /&gt;
* Fixes based on beta testing results&lt;br /&gt;
&lt;br /&gt;
== 3.21.0-beta.4 - 13.06.2026 ==&lt;br /&gt;
* Fixes based on beta testing results&lt;br /&gt;
&lt;br /&gt;
== 3.21.0-beta.3 - 07.06.2026 ==&lt;br /&gt;
* Fixes based on beta testing results&lt;br /&gt;
&lt;br /&gt;
== 3.21.0-beta.2 - 30.05.2026 ==&lt;br /&gt;
* Fixes based on beta testing results&lt;br /&gt;
&lt;br /&gt;
== 3.21.0-beta.1 - 24.05.2026 ==&lt;br /&gt;
* See the list of changes in [[3.21_EN|3.21]]&lt;/div&gt;</summary>
		<author><name>IronBot</name></author>
	</entry>
	<entry>
		<id>https://wiki.userside.eu/index.php?title=Versions_3.20_EN&amp;diff=22307</id>
		<title>Versions 3.20 EN</title>
		<link rel="alternate" type="text/html" href="https://wiki.userside.eu/index.php?title=Versions_3.20_EN&amp;diff=22307"/>
		<updated>2026-07-12T13:11:10Z</updated>

		<summary type="html">&lt;p&gt;IronBot: [IronBot] Sync EN localization from RU&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;en&#039;&#039;&#039; | [[Версії_3.20|uk]] | [[Версии_3.20|ru]]&lt;br /&gt;
&lt;br /&gt;
Branch versions [[3.20_EN|3.20]]&lt;br /&gt;
&lt;br /&gt;
Also see: [[Versions of ERP &amp;quot;USERSIDE&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
== 3.20.26 (in development) ==&lt;br /&gt;
* Fixed employee login generation/transliteration on creation &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed an error when building the inventory balance by tasks report&lt;br /&gt;
* Fixed an error when viewing the customer growth chart &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Minor changes and bug fixes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 3.20.25 - 24.06.2026 ==&lt;br /&gt;
* Improved the display of planned cable lines on the coverage map according to cable-density color settings&lt;br /&gt;
* Fixed a bug with displaying the cable line list &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed minor bugs and changes&lt;br /&gt;
&lt;br /&gt;
== 3.20.24 - 27.05.2026 ==&lt;br /&gt;
* Fixed minor bugs and changes&lt;br /&gt;
&lt;br /&gt;
== 3.20.23 - 27.04.2026 ==&lt;br /&gt;
* Added API method-&amp;gt;call-&amp;gt;[[API_call_EN#agent_call|agent_call]]&lt;br /&gt;
* Added API method-&amp;gt;chapter-&amp;gt;[[API_chapter_EN#link_add|link_add]]&lt;br /&gt;
* Added API method-&amp;gt;chapter-&amp;gt;[[API_chapter_EN#link_get|link_get]]&lt;br /&gt;
* Added API method-&amp;gt;chapter-&amp;gt;[[API_chapter_EN#link_remove|link_remove]]&lt;br /&gt;
* Improved API method-&amp;gt;call-&amp;gt;[[API_call_EN#add|add]]&lt;br /&gt;
* Improved API method-&amp;gt;task-&amp;gt;[[API_task_EN#edit|edit]]&lt;br /&gt;
* Completed tasks now also show the &amp;quot;Overdue&amp;quot; flag when work deadlines are missed&lt;br /&gt;
* Fixed a bug when opening the work calendar &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed minor bugs&lt;br /&gt;
&lt;br /&gt;
== 3.20.22 - 04.04.2026 ==&lt;br /&gt;
* Fixed selecting an empty value in the task type for registration by phone&lt;br /&gt;
* Optimization work&lt;br /&gt;
* Fixed minor bugs&lt;br /&gt;
&lt;br /&gt;
== 3.20.21 - 11.03.2026 ==&lt;br /&gt;
* Fixed display of the error counter on equipment interfaces &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed SMS message template settings for customers in tasks&lt;br /&gt;
* Optimization work&lt;br /&gt;
* Fixed minor bugs&lt;br /&gt;
&lt;br /&gt;
== 3.20.20 - 22.02.2026 ==&lt;br /&gt;
* Optimized the &amp;quot;My tasks&amp;quot; section&lt;br /&gt;
* Fixed broken main menu layout in some cases&lt;br /&gt;
&lt;br /&gt;
== 3.20.19 - 08.02.2026 ==&lt;br /&gt;
* Fixed minor bugs&lt;br /&gt;
&lt;br /&gt;
== 3.20.18 - 23.01.2026 ==&lt;br /&gt;
* Optimized the warehouse report &amp;quot;Turnover balance sheet&amp;quot;&lt;br /&gt;
* Fixed minor bugs&lt;br /&gt;
&lt;br /&gt;
== 3.20.17 - 31.12.2025 ==&lt;br /&gt;
* Added API method-&amp;gt;task-&amp;gt;[[API task#add_node_to_task|add_node_to_task]]&lt;br /&gt;
* Added API method-&amp;gt;task-&amp;gt;[[API task#remove_node_from_task|remove_node_from_task]]&lt;br /&gt;
* Fixed execution of task chain &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed minor bugs&lt;br /&gt;
&lt;br /&gt;
== 3.20.16 - 14.12.2025 ==&lt;br /&gt;
* Fixed a bug with filtering by inventory section in the warehouse operations list&lt;br /&gt;
* Fixed minor bugs&lt;br /&gt;
&lt;br /&gt;
== 3.20.15 - 06.12.2025 ==&lt;br /&gt;
* For task chains/automation in task types, added the ability to specify fractional hour intervals&lt;br /&gt;
* Fixed minor bugs&lt;br /&gt;
&lt;br /&gt;
== 3.20.14 - 29.11.2025 ==&lt;br /&gt;
* Improvements to the API interface with Binotel&lt;br /&gt;
* Fixed minor bugs&lt;br /&gt;
&lt;br /&gt;
== 3.20.13 - 22.11.2025 ==&lt;br /&gt;
* Fixed minor bugs&lt;br /&gt;
&lt;br /&gt;
== 3.20.12 - 15.11.2025 ==&lt;br /&gt;
* Added the setting &amp;quot;Scale the width of the cable line on the switching diagram depending on the length of the name&amp;quot;&lt;br /&gt;
* Improved the display of unknown ONUs by OLT in the main page widget&lt;br /&gt;
* Fixed other minor bugs&lt;br /&gt;
&lt;br /&gt;
== 3.20.11 - 08.11.2025 ==&lt;br /&gt;
* Fixed an error when entering the Custom notifications section &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed an error when entering the device interface/stacking settings &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed the inability to switch between ODF/crosses in the switching master&lt;br /&gt;
* Fixed some migration errors&lt;br /&gt;
&lt;br /&gt;
== 3.20.10 - 07.11.2025 ==&lt;br /&gt;
* Added API method-&amp;gt;vehicle-&amp;gt;[[API vehicle#add|add]]&lt;br /&gt;
* Added API method-&amp;gt;vehicle-&amp;gt;[[API vehicle#edit|edit]]&lt;br /&gt;
* Added API method-&amp;gt;vehicle-&amp;gt;[[API vehicle#delete|delete]]&lt;br /&gt;
* In the communication installations card, in the block with attached image files, it is possible to quickly make an image the main photo for this object &#039;&#039;(without having to go to editing)&#039;&#039;&lt;br /&gt;
* In the cable line card, the ability to create a task with this line or add a line to an existing task has been added&lt;br /&gt;
* Sorting by additional fields in custom sections has been improved&lt;br /&gt;
* Filtering by inventory item name in the inventory list has been fixed&lt;br /&gt;
* The display of equipment layers on the coverage map has been fixed&lt;br /&gt;
* Other minor bugs have been fixed&lt;br /&gt;
&lt;br /&gt;
== 3.20.9 - 14.09.2025 ==&lt;br /&gt;
* Improved verification of access rights to ONU&lt;br /&gt;
* Fixed a bug when searching for a user during the transfer of inventory items &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed an update in the serial number database for ONU when polling OLT &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 3.20.8 - 06.09.2025 ==&lt;br /&gt;
* Added API method-&amp;gt;billing-&amp;gt;[[API billing#refresh_date_update|refresh_date_update]]&lt;br /&gt;
* Optimised interface for editing/adding address units &#039;&#039;(relevant for branched address structures)&#039;&#039;&lt;br /&gt;
* Links to view users associated with communication installations and cable lines have been added to the task card&lt;br /&gt;
* Fixed checking for parent task status in task automation &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed display of pop-up hints in the task calendar when scrolling horizontally&lt;br /&gt;
* Fixed assignment of employees to a department &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 3.20.7 - 25.08.2025 ==&lt;br /&gt;
* &#039;&#039;&#039;In-depth processing of transport operations. Various types, mileage control, deadlines. Notification on the main page and transport list. Keeping a history of changes in operations&#039;&#039;&#039;&lt;br /&gt;
* The history of actions for a potential user is transferred to the history of actions for a regular user when they are merged&lt;br /&gt;
* During hot replacement of a device, you can specify to save the history of MAC addresses on equipment ports &lt;br /&gt;
* The ability to clear switching has been added to group actions on the user list&lt;br /&gt;
* Technical migration of core data&lt;br /&gt;
* Fixed filtering of the FDB table by device &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed a bug when restricting an employee&#039;s access to a specific IP address&lt;br /&gt;
* Fixed ONU access rights verification&lt;br /&gt;
&lt;br /&gt;
== 3.20.6 - 15.08.2025 ==&lt;br /&gt;
* &#039;&#039;&#039; Separate SMS profiles for work. For example, you can specify a separate SMS profile for each SMS mailing &#039;&#039;(your own alpha name, different operator, etc.)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
* Separated ONU access rights for viewing and editing&lt;br /&gt;
* Fixed display of a large number of notebook sections in the section list&lt;br /&gt;
* Fixed information update when adding/removing a communication facility in a task&lt;br /&gt;
&lt;br /&gt;
== 3.20.5 - 08.08.2025 ==&lt;br /&gt;
* Added API method-&amp;gt;address-&amp;gt;[[API address#get_building_type|get_building_type]]&lt;br /&gt;
* Added the &amp;quot;Buildings. Pop-up message template on the map&amp;quot; setting&lt;br /&gt;
* Improved the interface for changing notes, adapter types, and connections for fibre cable lines&lt;br /&gt;
* Redesigned the interface for adding communication structures and cable lines to a task when creating a task&lt;br /&gt;
* Corrected the verification of access rights to the work schedule&lt;br /&gt;
* Improved the billing of employees for tasks in the work schedule when more than 5 employees are involved in the task&lt;br /&gt;
* Fixed a bug in filtering by building in the list of warehouse operations &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 3.20.4 - 04.08.2025 ==&lt;br /&gt;
* Added API method-&amp;gt;cross-&amp;gt;[[API cross#edit_adapter|edit_adapter]]&lt;br /&gt;
* Added API method-&amp;gt;task-&amp;gt;[[API address#edit_address|edit_address]]&lt;br /&gt;
* Added a setting parameter &amp;quot;Block automation/task chain execution when returning a task from the status with the system role &#039;Pending&#039; &amp;quot;&lt;br /&gt;
* Added grouping of tasks by street or location to the task list&lt;br /&gt;
* Improved saving of files attached to task comments&lt;br /&gt;
* Minor fixes and improvements&lt;br /&gt;
&lt;br /&gt;
== 3.20.3 - 27.07.2025 ==&lt;br /&gt;
* Added API method-&amp;gt;task-&amp;gt;[[API task#change_state|change_state]]&lt;br /&gt;
* The &amp;quot;Consider connections on dividers as mechanical&amp;quot; configuration parameter has been added&lt;br /&gt;
* In the task type settings for inventory items, you can specify that all inventory items should be moved to the associated building after closing&lt;br /&gt;
* In chains/automation by task type, the additional condition &amp;quot;Child/parent task status&amp;quot; has been added for the action options &amp;quot;Parent/Child task. Change status to&amp;quot;&lt;br /&gt;
* Information about the date of installation of inventory items on the building and the ability to export to XLS and printable versions has been added to the building card in the inventory list&lt;br /&gt;
* All attached files from another task can be copied to the card&lt;br /&gt;
* A direct link to view the customer&#039;s switching route has been added to the customer card&lt;br /&gt;
* For employee profiles, you can limit the maximum number of entries on the page (in tables/lists)&lt;br /&gt;
* The filter for communication facilities now includes the option to select by missing custom icon on the map&lt;br /&gt;
* In the list of warehouse operations in the counterparty selection selectors, the ability to specify a specific building has been added&lt;br /&gt;
* In group actions for buildings, the ability to change the individual colour on the map has been added&lt;br /&gt;
* In group actions for buildings, you can change the manager to the empty value &#039;&#039;(delete manager)&#039;&#039;&lt;br /&gt;
* Fixed sorting by address in the task list &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed the ability to simultaneously postpone a task and specify an arbitrary comment&lt;br /&gt;
&lt;br /&gt;
== 3.20.2 - 18.07.2025 ==&lt;br /&gt;
* Added API method-&amp;gt;task-&amp;gt;[[API task#add_cable_line_to_task|add_cable_line_to_task]]&lt;br /&gt;
* Added API method-&amp;gt;task-&amp;gt;[[API task#remove_cable_line_from_task|remove_cable_line_from_task]]&lt;br /&gt;
* The list of connected ONUs on the OLT can be printed or exported to XLS&lt;br /&gt;
* For communication installations and cable lines the possibility to change notes in group actions has been added&lt;br /&gt;
* In the template of the tooltip on the task on the coverage map it is possible to display the date of task creation, update date, text of the last comment&lt;br /&gt;
* In chains/automation by task type, added action &amp;quot;Customers. Exclude.&amp;quot;&lt;br /&gt;
* In chains/automation by task types, added possibility to disable auto-assigned executors when creating a new task in a chain&lt;br /&gt;
* Improved displaying of links in the description of a task type in the task card&lt;br /&gt;
* Fixed filtering of customers that depend on cross/odf &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 3.20.1 - 12.07.2025 ==&lt;br /&gt;
* In the list of buildings, added filter for buildings with &amp;quot;Display on map&amp;quot; unchecked&lt;br /&gt;
* Fixed inability to open a vehicle card from the list&lt;br /&gt;
* Fixed search by cable line name when task is created &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed display of customer information in the task list &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 3.20 - 09.07.2025 ==&lt;br /&gt;
* Release version 3.20&lt;br /&gt;
* For a list of changes see [[3.20_EN|3.20]]&lt;/div&gt;</summary>
		<author><name>IronBot</name></author>
	</entry>
	<entry>
		<id>https://wiki.userside.eu/index.php?title=3.21_UK&amp;diff=22306</id>
		<title>3.21 UK</title>
		<link rel="alternate" type="text/html" href="https://wiki.userside.eu/index.php?title=3.21_UK&amp;diff=22306"/>
		<updated>2026-07-12T13:10:33Z</updated>

		<summary type="html">&lt;p&gt;IronBot: [IronBot] Sync UK localization from RU&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[3.21_EN|en]] | &#039;&#039;&#039;uk&#039;&#039;&#039; | [[3.21|ru]]&lt;br /&gt;
&lt;br /&gt;
Дата випуску: &#039;&#039;&#039;червень 2026&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Основні зміни: https://promo.userside.eu/321/&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Див. також:&lt;br /&gt;
* [[Оновлення 3.21|Оновлення до версії 3.21]]&lt;br /&gt;
* [[Версії ERP &amp;quot;USERSIDE&amp;quot;]] | [[Версії 3.21|Версії 3.21]]&lt;br /&gt;
&lt;br /&gt;
== Перелік змін ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Особливої важливості:&#039;&#039;&#039;&lt;br /&gt;
* [[PWA (застосунок)|PWA &#039;&#039;(застосунок)&#039;&#039;]]&lt;br /&gt;
* Автоматична побудова [[Бізнес-процес|схеми бізнес-логіки/робочого процесу]] для типів завдань на основі ланцюжків/автоматизації&lt;br /&gt;
* [[Календар|Оновлений календар]] завдань та [[Інтеграція з Google-календарем|інтеграція з Google-календарем]]&lt;br /&gt;
* Окремий [[Масова передача ТМЦ|інтерфейс для швидкої передачі ТМЦ]] через сканування або введення штрихкодів, серійних номерів тощо &#039;&#039;(зокрема з підтримкою сканування штрихкодів камерою мобільного пристрою)&#039;&#039;&lt;br /&gt;
* [[Схема комутації#anchor_321|Снапшоти схем комутації]] виводяться на основній схемі та формуються безпосередньо під час операцій комутації/розриву комутації на споруді зв&#039;язку&lt;br /&gt;
* У схемі комутації створення з&#039;єднань, видалення та зміна ламаної з&#039;єднання виконуються без перезавантаження й очікування сторінки &#039;&#039;(на практиці це пришвидшило роботу у 2-10 разів)&#039;&#039;&lt;br /&gt;
* Панель на головній сторінці з [[Список завдань#anchor_321|лічильниками фільтрів за завданнями/показниками KPI]]&lt;br /&gt;
* &amp;quot;Фізичне&amp;quot; [[Підписання документів з абонентами|підписання документів з абонентами/клієнтами]] на планшетах &#039;&#039;(мобільних пристроях)&#039;&#039;&lt;br /&gt;
* Реалізовано автооновлення GPS-позиції транспорту на мапі в реальному часі &#039;&#039;(кожні N секунд)&#039;&#039;&lt;br /&gt;
* Віджет на головну сторінку: [[Статистика_UK#anchor_321|найпроблемніші абоненти та будинки]]&lt;br /&gt;
* Нова [[Структурна схема|структурна схема]]. Масштабування, збереження у SVG&lt;br /&gt;
* [[Internal API UK|Internal API]] v2. Подієва система в ERP&lt;br /&gt;
* Підтримка обліку IPv6 для обладнання та абонентів&lt;br /&gt;
* Оновлений UI/UX&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Абоненти/клієнти:&#039;&#039;&#039;&lt;br /&gt;
* Реалізовано масовий імпорт потенційних абонентів&lt;br /&gt;
* У групових діях за абонентами додано можливість надіслати SMS&lt;br /&gt;
* &#039;&#039;&#039;В умовах SMS-розсилки можна додавати конкретних абонентів&#039;&#039;&#039;&lt;br /&gt;
* В SMS-розсилці додано фільтр &amp;quot;Ігнорувати відмову від отримання SMS&amp;quot;&lt;br /&gt;
* У груповому надсиланні email абонентам додано різні шаблони з даними про абонента&lt;br /&gt;
* У листуванні з абонентом можна вимкнути відображення коментарів за завданнями&lt;br /&gt;
* Додано зберігання історії статусів абонентів&lt;br /&gt;
* Додано історію використання IP-адрес&lt;br /&gt;
* Список абонентів:&lt;br /&gt;
** &#039;&#039;&#039;У фільтрі підтримується режим &amp;quot;і/або&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;У фільтрі додано можливість включати/виключати умови &#039;&#039;(раніше можна було лише включати)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
** Додано фільтр &amp;quot;Абоненти, включені в обладнання&amp;quot;&lt;br /&gt;
** Додано фільтр за номером завдання. Також у картці завдання, де прикріплено від 3 абонентів, додано посилання на цей фільтр&lt;br /&gt;
** У списку абонентів додано можливість відображати поле &amp;quot;Менеджер&amp;quot;&lt;br /&gt;
** У списку залежних абонентів від пристрою/споруди зв&#039;язку також враховуються абоненти, які не скомутовані, але мають пристрої &#039;&#039;(наприклад ONU)&#039;&#039;, залежні від батьківського об&#039;єкта&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Обладнання:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Додано вкладки в картці комутатора/обладнання&#039;&#039;&#039;&lt;br /&gt;
* Якщо для пристрою не вказано IP-адресу, він має один порт і при цьому підключений до вищого керованого комутатора, то в таблиці портів цього пристрою виводитиметься SNMP-інформація з порту вищого пристрою&lt;br /&gt;
* PON:&lt;br /&gt;
** &#039;&#039;&#039;Історія зміни рівня сигналу ONU тепер виводиться у вигляді графіка&#039;&#039;&#039;&lt;br /&gt;
** Для списку підключених ONU можна налаштувати порядок і відображення полів&lt;br /&gt;
** У картці OLT на портах виводиться лічильник кількості ONU на них&lt;br /&gt;
* Можна вказувати відсотки поділу для запланованих дільників&lt;br /&gt;
* У таблиці дільників додано поле &amp;quot;Кількість зайнятих адаптерів&amp;quot;&lt;br /&gt;
* У картці VLAN додано можливість вручну додавати пристрої&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Схема комутації:&#039;&#039;&#039;&lt;br /&gt;
* Написи на схемі комутації можна повертати під кутом&lt;br /&gt;
* Під час додавання дільника зі схеми комутації більше не відбувається перехід у картку дільника: користувач залишається у схемі&lt;br /&gt;
* У майстрі комутації додано можливість комутації пристроїв&lt;br /&gt;
* Для кросу/ODF у схемі комутації додано можливість швидко змінювати підписи для всіх портів одразу&lt;br /&gt;
* Для запланованих комутацій у схемі перепланування додано можливість змінювати маршрут вручну&lt;br /&gt;
* Для мобільних пристроїв перетягування ліній комутації типово заблоковане під час відкриття сторінки&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Завдання:&#039;&#039;&#039;&lt;br /&gt;
* Впроваджено багаторівневі групи типів завдань&lt;br /&gt;
* Оновлений [[Календар|календар завдань]]:&lt;br /&gt;
** &#039;&#039;&#039;перетягування завдань &#039;&#039;(зміна часу робіт)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
** можна змінювати строк виконання завдання &#039;&#039;(перетягувати нижню межу)&#039;&#039;&lt;br /&gt;
** тижневий/місячний режим для підрозділів і співробітників&lt;br /&gt;
** режим &amp;quot;підрозділ&amp;quot;/&amp;quot;+співробітники&amp;quot;/&amp;quot;+співробітники і підрозділи&amp;quot;&lt;br /&gt;
** 15/30/60 хвилин &#039;&#039;(раніше тільки слоти по 1 годині)&#039;&#039;&lt;br /&gt;
** позначається факт високого пріоритету, а також можна налаштовувати шаблон інформації для заголовка завдання і тіла завдання&lt;br /&gt;
* &#039;&#039;&#039;Перевірка існування раніше прикріпленого файла в завданнях і коментарях до завдання &#039;&#039;(щоб запобігти спробам співробітників прикріплювати старі файли, видаючи їх за нові)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
* У картці завдання додано можливість однією кнопкою передати ТМЦ із доступних цьому співробітнику&lt;br /&gt;
* Новий спецтип для типів завдань: &amp;quot;Роботи з боржниками&amp;quot;&lt;br /&gt;
* У картці завдання виводиться рядок з координатами і швидким переходом на Google-мапу&lt;br /&gt;
* Під час створення дочірнього завдання з картки завдання додано можливість копіювати &#039;&#039;(використовувати)&#039;&#039; також файли з батьківського завдання&lt;br /&gt;
* Дороблено відображення інформації про ТМЦ у списку ТМЦ під час зміни статусу завдання&lt;br /&gt;
* &amp;quot;Робочі нотатки&amp;quot; розширено з будинків на будь-який адресний об&#039;єкт&lt;br /&gt;
&lt;br /&gt;
* Нові параметри налаштування:&lt;br /&gt;
** &amp;quot;У картці завдання сортувати абонентів за порядком їх додавання в завдання&amp;quot;&lt;br /&gt;
** &amp;quot;Інтервал для відображення завдань у розділі &amp;quot;Мої завдання&amp;quot; (днів)&amp;quot;&lt;br /&gt;
** &amp;quot;Заблокувати виконання автоматизації/ланцюжка завдань під час повернення завдання зі статусу із системною роллю &amp;quot;Відкладено&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Ланцюжки завдань/автоматизація:&lt;br /&gt;
** Додано додаткову умову &amp;quot;Завдання. Мітка&amp;quot;&lt;br /&gt;
** Додано варіанти дій:&lt;br /&gt;
*** &amp;quot;Батьківське завдання (найперше в ланцюжку). Змінити статус на&amp;quot;&lt;br /&gt;
*** &amp;quot;Батьківське завдання (усі в ланцюжку). Змінити статус на&amp;quot;&lt;br /&gt;
*** &amp;quot;ТМЦ. Передати в батьківське завдання&amp;quot;&lt;br /&gt;
*** &amp;quot;ТМЦ. Передати в дочірнє завдання&amp;quot;&lt;br /&gt;
*** &amp;quot;Перенесення значень додаткових полів у картку будинку&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Список завдань:&lt;br /&gt;
** У списку завдань виводяться мініатюри прикріплених файлів &#039;&#039;(параметр налаштування)&#039;&#039;&lt;br /&gt;
** Фільтр завдань:&lt;br /&gt;
*** додано режими &amp;quot;і/або&amp;quot;&lt;br /&gt;
*** розширено фільтр за номером батьківського завдання&lt;br /&gt;
*** розширено фільтр за &amp;quot;Виконано зі строком виконання понад...&amp;quot;&lt;br /&gt;
*** розширено фільтр за номером батьківського завдання&lt;br /&gt;
*** додано фільтр за значенням чек-листа&lt;br /&gt;
** У списку завдань додано групові дії:&lt;br /&gt;
*** &amp;quot;Абоненти - Відкрити список&amp;quot;&lt;br /&gt;
*** &amp;quot;Призначити власника&amp;quot;&lt;br /&gt;
*** &amp;quot;Виключити власника&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Склад:&#039;&#039;&#039;&lt;br /&gt;
* Реалізовано передачу ТМЦ співробітнику з підтвердженням отримання/відмови від отримання співробітником&lt;br /&gt;
* &#039;&#039;&#039;Під час приходу ТМЦ тепер можна одразу вказувати кілька різних найменувань ТМЦ&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;В операціях за складом додано фільтрацію за &amp;quot;Адреса (з об&#039;єктами)&amp;quot;, що дозволяє вибрати операції передачі ТМЦ на всі об&#039;єкти цієї території&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;У списку ТМЦ додано можливість фільтрації за будь-яким адресним об&#039;єктом &#039;&#039;(включно з усім підпорядкуванням)&#039;&#039; &#039;&#039;(область, місто, вулиця...)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
* У списку ТМЦ виводиться підсумковий рядок із загальною вартістю/закупівельною вартістю&lt;br /&gt;
* У звіті щодо залишків ТМЦ назви позицій ТМЦ зроблено посиланнями для швидкого перегляду списку цих ТМЦ&lt;br /&gt;
* Групи для постачальників&lt;br /&gt;
* Додано можливість надсилати повідомлення співробітнику в Messenger/Telegram під час передачі ТМЦ йому під звіт/з-під звіту&lt;br /&gt;
* Під час розділення ТМЦ додано можливість одразу вказувати MAC-адреси/серійні номери для цих ТМЦ&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Покриття:&#039;&#039;&#039;&lt;br /&gt;
* Реалізовано автооновлення GPS-позиції транспорту на мапі в реальному часі &#039;&#039;(кожні N секунд)&#039;&#039;. Додано параметр налаштування &amp;quot;Інтервал оновлення позиції транспорту на мапі&amp;quot;&lt;br /&gt;
* &#039;&#039;&#039;Коли на мапі кілька об&#039;єктів накладено один на одного &#039;&#039;(споруди зв&#039;язку в одній точці/багато муфт на опорі... або кабельні лінії проходять поруч)&#039;&#039;, то під час наведення на це скупчення об&#039;єктів воно розкривається з можливістю вибрати потрібний&#039;&#039;&#039;&lt;br /&gt;
* Доробка відображення на мапі кабельних ліній, які проходять через екран, але мають кінцеві точки поза поточною областю відображення&lt;br /&gt;
* Нова лінійка на мапі&lt;br /&gt;
* Новий тип об&#039;єктів на мапу: &amp;quot;Посилання&amp;quot;&lt;br /&gt;
* У спливних підказках на полігонах на мапі виводяться значення додаткових полів&lt;br /&gt;
* У списку будинків додано можливість виведення поля з відсотком проникнення, поле &amp;quot;Нотатки&amp;quot; і фільтр за цим полем&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Споруди зв&#039;язку:&#039;&#039;&#039;&lt;br /&gt;
* Для споруди зв&#039;язку можна вказати приховування її з мапи покриття&lt;br /&gt;
* Для типів споруд зв&#039;язку додано параметр &amp;quot;Під час додавання об&#039;єкта пропонувати новий номер&amp;quot;&lt;br /&gt;
* У макеті шафи/стійки у спливних підказках на пристроях додано відображення серійного/інвентарних номерів&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Кабельні лінії:&#039;&#039;&#039;&lt;br /&gt;
* У списку кабельних ліній додано фільтр за додатковими полями&lt;br /&gt;
* У групових діях із заміни марки кабелю в списку кабельних ліній додано можливість під час цієї дії замінювати кольори модулів/волокон/провідників у кабелі відповідно до нової марки кабелю&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Співробітники:&#039;&#039;&#039;&lt;br /&gt;
* Налаштування в персональному налаштуванні: додаткові кнопки для лівого меню в мобільній версії, зокрема власні посилання&lt;br /&gt;
* Нові права в профілях співробітників:&lt;br /&gt;
** Перегляд/зміна інформації про постачальників&lt;br /&gt;
** Перегляд/зміна штрафів і премій персоналу&lt;br /&gt;
** Налаштування - Статуси завдань&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;API:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Можна створювати окремі [[UserSide API Key UK|API-ключі]] тільки для операцій читання даних&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Усі запити на запис/зміну даних тепер мають надсилатися лише через POST&#039;&#039;&#039;&lt;br /&gt;
* У запиті не повинно бути сторонніх параметрів. Якщо сторонній параметр присутній, запит повертатиме помилку&lt;br /&gt;
* Доопрацьовано метод API-&amp;gt;address-&amp;gt;[[API_address_UK#edit_address|edit_address]]&lt;br /&gt;
* Доопрацьовано метод API-&amp;gt;attach-&amp;gt;[[API_attach_UK#add|add]]&lt;br /&gt;
* Додано метод API-&amp;gt;attach-&amp;gt;[[API_attach_UK#upload|upload]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Транспорт:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Глибоко перероблено операції за транспортом. Різні типи, контроль пробігу, строків. Повідомлення на головну сторінку і список транспорту. Ведення історії змін в операціях&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Інше:&#039;&#039;&#039;&lt;br /&gt;
* PHP 8.4&lt;br /&gt;
* Додано локалізації: албанська, узбецька, таджицька. Численні виправлення в поточних локалізаціях.&lt;br /&gt;
* &#039;&#039;&#039;Модуль [[usm_asterisk]] тепер підтримує передачу записів дзвінків і можливість прослуховувати їх в інтерфейсі ERP&#039;&#039;&#039;&lt;br /&gt;
* Перехід із числових ID на рядкові UUID в об&#039;єктах &#039;&#039;(числові ID для частини об&#039;єктів залишено як додаткові довідкові)&#039;&#039;&lt;br /&gt;
* Новий редактор WYSIWYG&lt;br /&gt;
* &#039;&#039;&#039;Темна схема інтерфейсу &#039;&#039;(з підтримкою автоматичного перемикання)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Редагування значень додаткових полів у картках об&#039;єктів прямо в режимі перегляду &#039;&#039;(без потреби переходити в редагування)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Перероблено блок роботи з прикріпленими файлами&#039;&#039;&#039;&lt;br /&gt;
** Повністю інші можливості, галерея, дії тощо&lt;br /&gt;
** Для мобільних пристроїв швидка кнопка &amp;quot;Фотографувати&amp;quot;&lt;br /&gt;
** Для мобільних пристроїв велика кнопка додавання файлів&lt;br /&gt;
** Блок Ctrl+V для роботи з буфером обміну тепер підтримує вставлення кількох зображень і файлів будь-яких форматів &#039;&#039;(а не лише зображень)&#039;&#039;&lt;br /&gt;
* Нове ліве адаптивне меню з можливістю приховування/відкриття&lt;br /&gt;
* &#039;&#039;&#039;Додано кнопки в лівому меню для мобільних пристроїв:&#039;&#039;&#039;&lt;br /&gt;
** &amp;quot;Моя позиція на мапі&amp;quot;&lt;br /&gt;
** QR-код&lt;br /&gt;
** Штрихкод &#039;&#039;(+ може подавати звуковий сигнал під час сканування)&#039;&#039;. Якщо є такий ТМЦ, відкривається картка ТМЦ; якщо немає прав до ТМЦ, але є таке обладнання, відкривається картка обладнання. Інакше відкривається список пошуку&lt;br /&gt;
** Три кнопки для власних посилань&lt;br /&gt;
** Кнопки поділитися посиланням/відкрити посилання&lt;br /&gt;
* &#039;&#039;&#039;Опція &amp;quot;Конвертувати HEIC-файли в JPEG&amp;quot; і власне підтримка роботи з .heic файлами на льоту&#039;&#039;&#039;&lt;br /&gt;
* Розділ &amp;quot;Блокнот&amp;quot; трансформувався в налаштовуваний власний розділ. Це значно розширює його функціональність&lt;br /&gt;
* Нова бібліотека генерації штрихкодів &#039;&#039;(у SVG-форматі)&#039;&#039;&lt;br /&gt;
* Дороблено звіт за надходженнями коштів: групування за населеними пунктами, а також за населеними пунктами + місяцями, і можливість детального перегляду списку платежів&lt;br /&gt;
* У групових діях за об&#039;єктами кнопка &amp;quot;Застосувати&amp;quot; тепер містить кількість позначених об&#039;єктів і блокується, якщо не вибрано дію/об&#039;єкти&lt;br /&gt;
* Селектор вибору дати/дати-часу: виправлено локалізацію під поточну мову&lt;br /&gt;
* Превентивно впроваджено рішення для забезпечення сумісності з датами після 2038 року &#039;&#039;(&amp;quot;Unix 2038 bug&amp;quot;)&#039;&#039;&lt;br /&gt;
* Окремі SMS-профілі для роботи. Наприклад, для кожної SMS-розсилки можна вказати окремий SMS-профіль &#039;&#039;(власне альфа-ім&#039;я, інший оператор...)&#039;&#039;&lt;br /&gt;
* У списках об&#039;єктів у фільтрацію за значеннями додаткових полів додано варіанти фільтрації &amp;quot;більше&amp;quot; і &amp;quot;менше&amp;quot;&lt;br /&gt;
* Нові версії зовнішніх [[Модулі|модулів]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Інші зміни: див. https://wiki.userside.eu/3.20&lt;/div&gt;</summary>
		<author><name>IronBot</name></author>
	</entry>
	<entry>
		<id>https://wiki.userside.eu/index.php?title=API_call_UK&amp;diff=22305</id>
		<title>API call UK</title>
		<link rel="alternate" type="text/html" href="https://wiki.userside.eu/index.php?title=API_call_UK&amp;diff=22305"/>
		<updated>2026-07-12T13:10:33Z</updated>

		<summary type="html">&lt;p&gt;IronBot: [IronBot] Sync UK localization from RU&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[API_call_EN|en]] | &#039;&#039;&#039;uk&#039;&#039;&#039; | [[API call|ru]]&lt;br /&gt;
&lt;br /&gt;
Розділ &#039;&#039;&#039;[[API_UK|API]]&#039;&#039;&#039; ERP &amp;quot;UserSide&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Призначення: Дзвінки&lt;br /&gt;
&lt;br /&gt;
 Додаткові параметри:&lt;br /&gt;
 action - підкатегорія запиту &#039;&#039;(можливе значення: див. нижче)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Підкатегорії ==&lt;br /&gt;
&lt;br /&gt;
==== add ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Доопрацьовано у: 3.21.0 (додано параметр line)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Доопрацьовано у: 3.20.23 (додано параметри caller_id_name і direction, додано можливість змінювати запис про дзвінок на підставі phone_system_uuid)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Додано у: 3.18beta1&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 Опис: Створення запису про дзвінок / зміна інформації про дзвінок на підставі phone_system_uuid&lt;br /&gt;
 Обов&#039;язкові параметри:&lt;br /&gt;
  number - номер абонента, що викликає&lt;br /&gt;
 Необов&#039;язкові параметри:&lt;br /&gt;
  answer_number - номер, що викликається&lt;br /&gt;
  caller_id_name - ім&#039;я абонента, що викликає&lt;br /&gt;
  date_add - дата виклику&lt;br /&gt;
  direction - напрямок виклику &#039;&#039;(in|out)&#039;&#039;&lt;br /&gt;
  line - номер або назва вхідної лінії для вхідного дзвінка або номер вихідної лінії для вихідного дзвінка&lt;br /&gt;
  phone_system_uuid - ID виклику в зовнішній системі телефонії&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;agent_call&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== dial ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Додано у: 3.21.0&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 Опис: Передавання вхідного виклику отримувачу (на виклик ще не відповіли)&lt;br /&gt;
 Обов&#039;язкові параметри:&lt;br /&gt;
  phone_system_uuid - ID виклику в зовнішній системі телефонії&lt;br /&gt;
  answer_number - номер, що викликається&lt;br /&gt;
 Необов&#039;язкові параметри:&lt;br /&gt;
  line - номер або назва вхідної лінії для вхідного дзвінка або номер вихідної лінії для вихідного дзвінка&lt;br /&gt;
  number - номер абонента, що викликає&lt;br /&gt;
&lt;br /&gt;
==== edit ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Додано у: 3.21.10&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 Опис: Редагування виклику&lt;br /&gt;
 Обов&#039;язкові параметри:&lt;br /&gt;
  id - id виклику&lt;br /&gt;
 Необов&#039;язкові параметри:&lt;br /&gt;
  description - текст коментаря&lt;br /&gt;
  description_employee_id - id співробітника, який залишив коментар&lt;br /&gt;
&lt;br /&gt;
==== get ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Додано у: 3.16dev3&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 Опис: Список дзвінків&lt;br /&gt;
 Обов&#039;язкові параметри:&lt;br /&gt;
  немає&lt;br /&gt;
 Необов&#039;язкові параметри:&lt;br /&gt;
  date_from - дата й час дзвінка (з)&lt;br /&gt;
  date_to - дата й час дзвінка (до)&lt;br /&gt;
&lt;br /&gt;
==== hangup ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Додано у: 3.18beta1&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 Опис: Фіксація факту завершення дзвінка&lt;br /&gt;
 Обов&#039;язкові параметри:&lt;br /&gt;
  id - ID виклику&lt;br /&gt;
 АБО&lt;br /&gt;
  phone_system_uuid - ID виклику в зовнішній системі телефонії&lt;br /&gt;
 Необов&#039;язкові параметри:&lt;br /&gt;
  record_url - посилання на запис виклику&lt;br /&gt;
&lt;br /&gt;
==== transfer_call ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Додано у: 3.18beta1&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 Опис: Передавання інформації про дзвінок і самого дзвінка іншому співробітнику&lt;br /&gt;
 Обов&#039;язкові параметри:&lt;br /&gt;
  id - ID виклику&lt;br /&gt;
 АБО&lt;br /&gt;
  phone_system_uuid - ID виклику в зовнішній системі телефонії&lt;br /&gt;
 Необов&#039;язкові параметри:&lt;br /&gt;
  answer_number - номер, що викликається&lt;/div&gt;</summary>
		<author><name>IronBot</name></author>
	</entry>
	<entry>
		<id>https://wiki.userside.eu/index.php?title=3.21_EN&amp;diff=22304</id>
		<title>3.21 EN</title>
		<link rel="alternate" type="text/html" href="https://wiki.userside.eu/index.php?title=3.21_EN&amp;diff=22304"/>
		<updated>2026-07-12T13:10:33Z</updated>

		<summary type="html">&lt;p&gt;IronBot: [IronBot] Sync EN localization from RU&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;en&#039;&#039;&#039; | [[3.21_UK|uk]] | [[3.21|ru]]&lt;br /&gt;
&lt;br /&gt;
Release date: &#039;&#039;&#039;June 2026&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Main changes: https://promo.userside.eu/321/&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
See also:&lt;br /&gt;
* [[Upgrade_3.21|Upgrade to version 3.21]]&lt;br /&gt;
* [[Versions of ERP &amp;quot;USERSIDE&amp;quot;]] | [[Versions 3.21 EN|Versions 3.21]]&lt;br /&gt;
&lt;br /&gt;
== List of changes ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;High-priority changes:&#039;&#039;&#039;&lt;br /&gt;
* [[PWA (application)|PWA &#039;&#039;(application)&#039;&#039;]]&lt;br /&gt;
* Automatic building of a [[Business process|business logic/workflow diagram]] for task types based on task chains and automation&lt;br /&gt;
* Updated task [[Calendar|calendar]] and [[Google Calendar integration|Google Calendar integration]]&lt;br /&gt;
* A separate [[Bulk inventory transfer|interface for fast inventory transfer]] by scanning or entering barcodes, serial numbers, and other identifiers &#039;&#039;(including barcode scanning with a mobile device camera)&#039;&#039;&lt;br /&gt;
* [[Switching scheme#anchor_321|Switching scheme snapshots]] are shown on the main scheme and are generated directly during switching/disconnection operations on a communications installation&lt;br /&gt;
* In the switching scheme, creating connections and deleting or changing a connection polyline is performed without reloading or waiting for the page &#039;&#039;(in practice, this made work 2-10 times faster)&#039;&#039;&lt;br /&gt;
* A home-page panel with [[Work schedule#anchor_321|task filter counters/KPI indicators]]&lt;br /&gt;
* &amp;quot;Physical&amp;quot; [[Document signing with customers|document signing by customers/clients]] on tablets &#039;&#039;(mobile devices)&#039;&#039;&lt;br /&gt;
* Automatic real-time GPS position updates for transport on the map &#039;&#039;(every N seconds)&#039;&#039;&lt;br /&gt;
* Home-page widget with [[Statistics#anchor_321|the most problematic customers and buildings]]&lt;br /&gt;
* New [[Structural scheme|structural scheme]]. Scaling and SVG export&lt;br /&gt;
* [[Internal API EN|Internal API]] v2. Event system in ERP&lt;br /&gt;
* IPv6 accounting support for equipment and customers&lt;br /&gt;
* Updated UI/UX&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Customers/clients:&#039;&#039;&#039;&lt;br /&gt;
* Added mass import of potential customers&lt;br /&gt;
* Added the ability to send SMS in group actions for customers&lt;br /&gt;
* &#039;&#039;&#039;Specific customers can be added to SMS mailing conditions&#039;&#039;&#039;&lt;br /&gt;
* Added the &amp;quot;Ignore SMS opt-out&amp;quot; filter to SMS mailings&lt;br /&gt;
* Added different customer-data templates for group email sending to customers&lt;br /&gt;
* Customer correspondence can hide comments from tasks&lt;br /&gt;
* Added customer status history storage&lt;br /&gt;
* Added IP address usage history&lt;br /&gt;
* Customer list:&lt;br /&gt;
** &#039;&#039;&#039;The filter now supports &amp;quot;and/or&amp;quot; mode&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;The filter can now include/exclude conditions &#039;&#039;(previously it could only include them)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
** Added the &amp;quot;Customers included in equipment&amp;quot; filter&lt;br /&gt;
** Added filtering by task number. The task card also shows a link to this filter when at least three customers are attached to the task&lt;br /&gt;
** The customer list can display the &amp;quot;Manager&amp;quot; field&lt;br /&gt;
** The list of customers dependent on a device/communications installation also includes customers that are not commutated but have devices &#039;&#039;(for example ONU)&#039;&#039; that depend on the parent object&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equipment:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Added tabs to the switch/equipment card&#039;&#039;&#039;&lt;br /&gt;
* If a device has no IP address, has one port, and is connected to an upstream managed switch, the port table for that device shows SNMP information from the upstream device port&lt;br /&gt;
* PON:&lt;br /&gt;
** &#039;&#039;&#039;ONU signal level history is now displayed as a chart&#039;&#039;&#039;&lt;br /&gt;
** The order and displayed fields can be configured for the list of connected ONUs&lt;br /&gt;
** The OLT card now shows an ONU counter on ports&lt;br /&gt;
* Split percentages can be specified for planned splitters&lt;br /&gt;
* Added the &amp;quot;Number of occupied adapters&amp;quot; field to the splitters table&lt;br /&gt;
* Devices can be added manually in the VLAN card&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Switching scheme:&#039;&#039;&#039;&lt;br /&gt;
* Labels on the switching scheme can be rotated&lt;br /&gt;
* When adding a splitter from the switching scheme, the user no longer leaves the scheme for the splitter card&lt;br /&gt;
* The switching wizard can now switch devices&lt;br /&gt;
* Added the ability to quickly change labels for all ports at once for a distribution frame/ODF in the switching scheme&lt;br /&gt;
* Planned commutations in the replanning scheme can now have their route changed manually&lt;br /&gt;
* On mobile devices, dragging switching lines is blocked by default when the page is opened&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks:&#039;&#039;&#039;&lt;br /&gt;
* Implemented multilevel task type groups&lt;br /&gt;
* Updated task [[Calendar|calendar]]:&lt;br /&gt;
** &#039;&#039;&#039;dragging tasks &#039;&#039;(changing work time)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
** task due time can be changed &#039;&#039;(by dragging the lower boundary)&#039;&#039;&lt;br /&gt;
** weekly/monthly mode for departments and employees&lt;br /&gt;
** modes: &amp;quot;department&amp;quot; / &amp;quot;+ employees&amp;quot; / &amp;quot;+ employees and departments&amp;quot;&lt;br /&gt;
** 15/30/60 minutes &#039;&#039;(previously only one-hour slots)&#039;&#039;&lt;br /&gt;
** high priority is marked, and the information template for the task title and task body can be configured&lt;br /&gt;
* &#039;&#039;&#039;Checks whether a previously attached file still exists in tasks and task comments &#039;&#039;(to prevent employees from attaching old files as if they were new)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
* The task card can transfer inventory available to the employee with one button&lt;br /&gt;
* Added a new special type for task types: &amp;quot;Work with debtors&amp;quot;&lt;br /&gt;
* The task card shows a row with coordinates and a quick link to Google Maps&lt;br /&gt;
* When creating a child task from the task card, files from the parent task can also be copied &#039;&#039;(used)&#039;&#039;&lt;br /&gt;
* Improved display of inventory information in the inventory list when the task status changes&lt;br /&gt;
* &amp;quot;Work notes&amp;quot; were extended from buildings to any address object&lt;br /&gt;
&lt;br /&gt;
* New settings:&lt;br /&gt;
** &amp;quot;Sort customers in the task card by the order in which they were added to the task&amp;quot;&lt;br /&gt;
** &amp;quot;Interval for displaying tasks in the My tasks section (days)&amp;quot;&lt;br /&gt;
** &amp;quot;Block execution of task automation/chain when a task is returned from a status with the system role Deferred&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Task chains/automation:&lt;br /&gt;
** Added the additional condition &amp;quot;Task. Tag&amp;quot;&lt;br /&gt;
** Added action variants:&lt;br /&gt;
*** &amp;quot;Parent task (the very first in the chain). Change status to&amp;quot;&lt;br /&gt;
*** &amp;quot;Parent task (all in the chain). Change status to&amp;quot;&lt;br /&gt;
*** &amp;quot;Inventory. Transfer to parent task&amp;quot;&lt;br /&gt;
*** &amp;quot;Inventory. Transfer to child task&amp;quot;&lt;br /&gt;
*** &amp;quot;Transfer custom field values to the building card&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Task list:&lt;br /&gt;
** The task list can show thumbnails of attached files &#039;&#039;(setting)&#039;&#039;&lt;br /&gt;
** Task filter:&lt;br /&gt;
*** added &amp;quot;and/or&amp;quot; modes&lt;br /&gt;
*** expanded filter by parent task number&lt;br /&gt;
*** expanded filter by &amp;quot;Completed with due time over...&amp;quot;&lt;br /&gt;
*** expanded filter by parent task number&lt;br /&gt;
*** added filtering by checklist value&lt;br /&gt;
** Added group actions in the task list:&lt;br /&gt;
*** &amp;quot;Customers - Open list&amp;quot;&lt;br /&gt;
*** &amp;quot;Assign owner&amp;quot;&lt;br /&gt;
*** &amp;quot;Remove owner&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Warehouse:&#039;&#039;&#039;&lt;br /&gt;
* Implemented inventory transfer to an employee with employee confirmation of receipt/refusal&lt;br /&gt;
* &#039;&#039;&#039;When receiving inventory, multiple different inventory item names can now be specified at once&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Warehouse operations now have filtering by &amp;quot;Address (with objects)&amp;quot;, which allows selecting inventory transfer operations for all objects in that area&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;The inventory list can now be filtered by any address object &#039;&#039;(including the full hierarchy)&#039;&#039; &#039;&#039;(region, city, street, etc.)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
* The inventory list shows a totals row with total cost/purchase cost&lt;br /&gt;
* In the inventory balance report, report item names are links for quickly viewing the corresponding inventory list&lt;br /&gt;
* Added groups for suppliers&lt;br /&gt;
* Added the ability to send an employee a Messenger/Telegram message when inventory is transferred to or from that employee&#039;s accountability&lt;br /&gt;
* When splitting inventory, MAC addresses/serial numbers can be specified for the resulting items immediately&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coverage:&#039;&#039;&#039;&lt;br /&gt;
* Added automatic real-time GPS position updates for transport on the map &#039;&#039;(every N seconds)&#039;&#039;. Added the &amp;quot;Transport position update interval on the map&amp;quot; setting&lt;br /&gt;
* &#039;&#039;&#039;When several objects overlap on the map &#039;&#039;(communications installations at one point, many closures on one pole, cable lines running next to each other, etc.)&#039;&#039;, hovering over this cluster expands it so the required object can be selected&#039;&#039;&#039;&lt;br /&gt;
* Improved display of cable lines that pass through the visible map area while their endpoints are outside the current view&lt;br /&gt;
* Added a new ruler on the map&lt;br /&gt;
* Added a new map object type: &amp;quot;Link&amp;quot;&lt;br /&gt;
* Popup hints on map polygons now show custom field values&lt;br /&gt;
* The building list can show the penetration percentage field and the &amp;quot;Notes&amp;quot; field, and a filter for this field was added&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Communications installations:&#039;&#039;&#039;&lt;br /&gt;
* A communications installation can be hidden from the coverage map&lt;br /&gt;
* Added the &amp;quot;Suggest a new number when adding an object&amp;quot; parameter for communications installation types&lt;br /&gt;
* In the cabinet/rack layout, popup hints on devices now show serial/inventory numbers&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cable lines:&#039;&#039;&#039;&lt;br /&gt;
* Added filtering by custom fields in the cable line list&lt;br /&gt;
* In group actions for replacing the cable brand in the cable line list, this action can also replace module/fiber/conductor colors in the cable according to the new cable brand&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Employees:&#039;&#039;&#039;&lt;br /&gt;
* Added a personal setting for extra buttons in the left menu of the mobile version, including custom links&lt;br /&gt;
* New rights in employee profiles:&lt;br /&gt;
** View/change supplier information&lt;br /&gt;
** View/change employee fines and bonuses&lt;br /&gt;
** Settings - Task statuses&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;API:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Separate [[UserSide API Key EN|API keys]] can now be created for read-only operations&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;All requests that write or modify data must now be sent only through POST&#039;&#039;&#039;&lt;br /&gt;
* Requests must not include extra parameters. If an extra parameter is present, the request returns an error&lt;br /&gt;
* Improved API method API-&amp;gt;address-&amp;gt;[[API_address_EN#edit_address|edit_address]]&lt;br /&gt;
* Improved API method API-&amp;gt;attach-&amp;gt;[[API_attach_EN#add|add]]&lt;br /&gt;
* Added API method API-&amp;gt;attach-&amp;gt;[[API_attach_EN#upload|upload]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Transport:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Transport operations were deeply reworked. Different types, mileage and deadline control, home-page and transport-list notifications, and operation change history are now supported&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Other:&#039;&#039;&#039;&lt;br /&gt;
* PHP 8.4&lt;br /&gt;
* Added Albanian, Uzbek, and Tajik localizations. Multiple fixes in existing localizations.&lt;br /&gt;
* &#039;&#039;&#039;The [[usm_asterisk]] module now supports transferring call recordings and listening to them in the ERP interface&#039;&#039;&#039;&lt;br /&gt;
* Switched objects from numeric IDs to string UUIDs &#039;&#039;(numeric IDs remain for some objects as additional reference values)&#039;&#039;&lt;br /&gt;
* New WYSIWYG editor&lt;br /&gt;
* &#039;&#039;&#039;Dark interface theme &#039;&#039;(with automatic switching support)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Custom field values can be edited directly in object cards while viewing them &#039;&#039;(without switching to edit mode)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Reworked attached-file block&#039;&#039;&#039;&lt;br /&gt;
** Completely different capabilities, gallery, actions, and more&lt;br /&gt;
** Quick &amp;quot;Take photo&amp;quot; button for mobile devices&lt;br /&gt;
** Large file-add button for mobile devices&lt;br /&gt;
** The Ctrl+V clipboard block now supports pasting multiple images and files of any format &#039;&#039;(not only images)&#039;&#039;&lt;br /&gt;
* New adaptive left menu with hide/show support&lt;br /&gt;
* &#039;&#039;&#039;Added buttons to the left menu for mobile devices:&#039;&#039;&#039;&lt;br /&gt;
** &amp;quot;My position on the map&amp;quot;&lt;br /&gt;
** QR code&lt;br /&gt;
** Barcode &#039;&#039;(and it can beep while scanning)&#039;&#039;. If such an inventory item exists, its card opens; if there are no rights to the inventory item but such equipment exists, the equipment card opens. Otherwise, the search list opens&lt;br /&gt;
** Three buttons for custom links&lt;br /&gt;
** Buttons to share/open a link&lt;br /&gt;
* &#039;&#039;&#039;Added the &amp;quot;Convert HEIC files to JPEG&amp;quot; option and on-the-fly .heic file support&#039;&#039;&#039;&lt;br /&gt;
* The &amp;quot;Notebook&amp;quot; section was transformed into a configurable custom section. This significantly expands its functionality&lt;br /&gt;
* New barcode generation library &#039;&#039;(SVG format)&#039;&#039;&lt;br /&gt;
* Improved the cash receipts report: grouping by settlements and by settlements + months, plus detailed payment list viewing&lt;br /&gt;
* In group actions for objects, the &amp;quot;Apply&amp;quot; button now shows the number of selected objects and is blocked if no action/objects are selected&lt;br /&gt;
* The date/date-time selector localization was fixed for the current language&lt;br /&gt;
* A compatibility solution for dates after 2038 was implemented preventively &#039;&#039;(&amp;quot;Unix 2038 bug&amp;quot;)&#039;&#039;&lt;br /&gt;
* Separate SMS profiles for work. For example, each SMS mailing can use a separate SMS profile &#039;&#039;(custom alpha name, different operator, etc.)&#039;&#039;&lt;br /&gt;
* Object-list filters by custom field values now include &amp;quot;greater than&amp;quot; and &amp;quot;less than&amp;quot; variants&lt;br /&gt;
* New versions of external [[Modules_EN|modules]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Other changes: see https://wiki.userside.eu/3.20&lt;/div&gt;</summary>
		<author><name>IronBot</name></author>
	</entry>
	<entry>
		<id>https://wiki.userside.eu/index.php?title=API_call_EN&amp;diff=22303</id>
		<title>API call EN</title>
		<link rel="alternate" type="text/html" href="https://wiki.userside.eu/index.php?title=API_call_EN&amp;diff=22303"/>
		<updated>2026-07-12T13:10:22Z</updated>

		<summary type="html">&lt;p&gt;IronBot: [IronBot] Sync EN localization from RU&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;en&#039;&#039;&#039; | [[API_call_UK|uk]] | [[API call|ru]]&lt;br /&gt;
&lt;br /&gt;
Section &#039;&#039;&#039;[[API_EN|API]]&#039;&#039;&#039; ERP &amp;quot;UserSide&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Purpose: Calls&lt;br /&gt;
&lt;br /&gt;
 Additional parameters:&lt;br /&gt;
 action - request subcategory &#039;&#039;(possible value: see below)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Subcategories ==&lt;br /&gt;
&lt;br /&gt;
==== add ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Improved in: 3.21.0 (added line parameter)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Improved in: 3.20.23 (added the caller_id_name and direction parameters, added the ability to update a call record based on phone_system_uuid)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Added in: 3.18beta1&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 Description: Creating a call record / updating call information based on phone_system_uuid&lt;br /&gt;
 Required parameters:&lt;br /&gt;
  number - caller&#039;s number&lt;br /&gt;
 Optional parameters:&lt;br /&gt;
  answer_number - called number&lt;br /&gt;
  caller_id_name - caller&#039;s name&lt;br /&gt;
  date_add - call date&lt;br /&gt;
  direction - call direction &#039;&#039;(in|out)&#039;&#039;&lt;br /&gt;
  line - number or name of the incoming line for an incoming call, or outgoing line number for an outgoing call&lt;br /&gt;
  phone_system_uuid - call ID in the external telephony system&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;agent_call&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== dial ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Added in: 3.21.0&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 Description: Transfer an incoming call to the recipient (the call has not been answered yet)&lt;br /&gt;
 Required parameters:&lt;br /&gt;
  phone_system_uuid - call ID in the external telephony system&lt;br /&gt;
  answer_number - called number&lt;br /&gt;
 Optional parameters:&lt;br /&gt;
  line - number or name of the incoming line for an incoming call, or outgoing line number for an outgoing call&lt;br /&gt;
  number - caller&#039;s number&lt;br /&gt;
&lt;br /&gt;
==== edit ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Added in: 3.21.10&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 Description: Editing a call&lt;br /&gt;
 Required parameters:&lt;br /&gt;
  id - call id&lt;br /&gt;
 Optional parameters:&lt;br /&gt;
  description - comment text&lt;br /&gt;
  description_employee_id - id of the employee who left the comment&lt;br /&gt;
&lt;br /&gt;
==== get ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039; Added in: 3.16dev3&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 Description: Call list&lt;br /&gt;
 Required parameters:&lt;br /&gt;
  None&lt;br /&gt;
 Optional parameters:&lt;br /&gt;
  date_from - date and time of the call (from)&lt;br /&gt;
  date_to - date and time of the call (to)&lt;br /&gt;
&lt;br /&gt;
==== hangup ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Added in: 3.18beta1&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 Description: Fixing the fact that a call has ended&lt;br /&gt;
 Required parameters:&lt;br /&gt;
  id - call id&lt;br /&gt;
 OR&lt;br /&gt;
  phone_system_uuid - call ID in external telephony system&lt;br /&gt;
 Optional parameters:&lt;br /&gt;
  record_url - reference to the call record&lt;br /&gt;
&lt;br /&gt;
==== transfer_call ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Added in: 3.18beta1&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 Description: Transmit information and call to another employee&lt;br /&gt;
 Required parameters:&lt;br /&gt;
  id - call id&lt;br /&gt;
 OR&lt;br /&gt;
  phone_system_uuid - call ID in external telephony system&lt;br /&gt;
 Optional parameters:&lt;br /&gt;
  answer_number - called number&lt;/div&gt;</summary>
		<author><name>IronBot</name></author>
	</entry>
	<entry>
		<id>https://wiki.userside.eu/index.php?title=3.21_UK&amp;diff=22235</id>
		<title>3.21 UK</title>
		<link rel="alternate" type="text/html" href="https://wiki.userside.eu/index.php?title=3.21_UK&amp;diff=22235"/>
		<updated>2026-07-06T13:59:48Z</updated>

		<summary type="html">&lt;p&gt;IronBot: [IronBot] Sync UK localization from RU&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[3.21_EN|en]] | &#039;&#039;&#039;uk&#039;&#039;&#039; | [[3.21|ru]]&lt;br /&gt;
&lt;br /&gt;
Дата випуску: &#039;&#039;&#039;червень 2026&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Основні зміни: https://promo.userside.eu/321/&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Див. також:&lt;br /&gt;
* [[Оновлення 3.21|Оновлення до версії 3.21]]&lt;br /&gt;
* [[Версії ERP &amp;quot;USERSIDE&amp;quot;]] | [[Версії 3.21|Версії 3.21]]&lt;br /&gt;
&lt;br /&gt;
== Перелік змін ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Особливої важливості:&#039;&#039;&#039;&lt;br /&gt;
* [[PWA (застосунок)|PWA &#039;&#039;(застосунок)&#039;&#039;]]&lt;br /&gt;
* Автоматична побудова [[Бізнес-процес|схеми бізнес-логіки/робочого процесу]] для типів завдань на основі ланцюжків/автоматизації&lt;br /&gt;
* [[Календар|Оновлений календар]] завдань та [[Інтеграція з Google-календарем|інтеграція з Google-календарем]]&lt;br /&gt;
* Окремий [[Масова передача ТМЦ|інтерфейс для швидкої передачі ТМЦ]] через сканування або введення штрихкодів, серійних номерів тощо &#039;&#039;(зокрема з підтримкою сканування штрихкодів камерою мобільного пристрою)&#039;&#039;&lt;br /&gt;
* [[Схема комутації#anchor_321|Снапшоти схем комутації]] виводяться на основній схемі та формуються безпосередньо під час операцій комутації/розриву комутації на споруді зв&#039;язку&lt;br /&gt;
* У схемі комутації створення з&#039;єднань, видалення та зміна ламаної з&#039;єднання виконуються без перезавантаження й очікування сторінки &#039;&#039;(на практиці це пришвидшило роботу у 2-10 разів)&#039;&#039;&lt;br /&gt;
* Панель на головній сторінці з [[Список завдань#anchor_321|лічильниками фільтрів за завданнями/показниками KPI]]&lt;br /&gt;
* &amp;quot;Фізичне&amp;quot; [[Підписання документів з абонентами|підписання документів з абонентами/клієнтами]] на планшетах &#039;&#039;(мобільних пристроях)&#039;&#039;&lt;br /&gt;
* Реалізовано автооновлення GPS-позиції транспорту на мапі в реальному часі &#039;&#039;(кожні N секунд)&#039;&#039;&lt;br /&gt;
* Віджет на головну сторінку: [[Статистика_UK#anchor_321|найпроблемніші абоненти та будинки]]&lt;br /&gt;
* Нова [[Структурна схема|структурна схема]]. Масштабування, збереження у SVG&lt;br /&gt;
* [[Internal API UK|Internal API]] v2. Подієва система в ERP&lt;br /&gt;
* Підтримка обліку IPv6 для обладнання та абонентів&lt;br /&gt;
* Оновлений UI/UX&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Абоненти/клієнти:&#039;&#039;&#039;&lt;br /&gt;
* Реалізовано масовий імпорт потенційних абонентів&lt;br /&gt;
* У групових діях за абонентами додано можливість надіслати SMS&lt;br /&gt;
* &#039;&#039;&#039;В умовах SMS-розсилки можна додавати конкретних абонентів&#039;&#039;&#039;&lt;br /&gt;
* В SMS-розсилці додано фільтр &amp;quot;Ігнорувати відмову від отримання SMS&amp;quot;&lt;br /&gt;
* У груповому надсиланні email абонентам додано різні шаблони з даними про абонента&lt;br /&gt;
* У листуванні з абонентом можна вимкнути відображення коментарів за завданнями&lt;br /&gt;
* Додано зберігання історії статусів абонентів&lt;br /&gt;
* Додано історію використання IP-адрес&lt;br /&gt;
* Список абонентів:&lt;br /&gt;
** &#039;&#039;&#039;У фільтрі підтримується режим &amp;quot;і/або&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;У фільтрі додано можливість включати/виключати умови &#039;&#039;(раніше можна було лише включати)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
** Додано фільтр &amp;quot;Абоненти, включені в обладнання&amp;quot;&lt;br /&gt;
** Додано фільтр за номером завдання. Також у картці завдання, де прикріплено від 3 абонентів, додано посилання на цей фільтр&lt;br /&gt;
** У списку абонентів додано можливість відображати поле &amp;quot;Менеджер&amp;quot;&lt;br /&gt;
** У списку залежних абонентів від пристрою/споруди зв&#039;язку також враховуються абоненти, які не скомутовані, але мають пристрої &#039;&#039;(наприклад ONU)&#039;&#039;, залежні від батьківського об&#039;єкта&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Обладнання:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Додано вкладки в картці комутатора/обладнання&#039;&#039;&#039;&lt;br /&gt;
* Якщо для пристрою не вказано IP-адресу, він має один порт і при цьому підключений до вищого керованого комутатора, то в таблиці портів цього пристрою виводитиметься SNMP-інформація з порту вищого пристрою&lt;br /&gt;
* PON:&lt;br /&gt;
** &#039;&#039;&#039;Історія зміни рівня сигналу ONU тепер виводиться у вигляді графіка&#039;&#039;&#039;&lt;br /&gt;
** Для списку підключених ONU можна налаштувати порядок і відображення полів&lt;br /&gt;
** У картці OLT на портах виводиться лічильник кількості ONU на них&lt;br /&gt;
* Можна вказувати відсотки поділу для запланованих дільників&lt;br /&gt;
* У таблиці дільників додано поле &amp;quot;Кількість зайнятих адаптерів&amp;quot;&lt;br /&gt;
* У картці VLAN додано можливість вручну додавати пристрої&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Схема комутації:&#039;&#039;&#039;&lt;br /&gt;
* Написи на схемі комутації можна повертати під кутом&lt;br /&gt;
* Під час додавання дільника зі схеми комутації більше не відбувається перехід у картку дільника: користувач залишається у схемі&lt;br /&gt;
* У майстрі комутації додано можливість комутації пристроїв&lt;br /&gt;
* Для кросу/ODF у схемі комутації додано можливість швидко змінювати підписи для всіх портів одразу&lt;br /&gt;
* Для запланованих комутацій у схемі перепланування додано можливість змінювати маршрут вручну&lt;br /&gt;
* Для мобільних пристроїв перетягування ліній комутації типово заблоковане під час відкриття сторінки&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Завдання:&#039;&#039;&#039;&lt;br /&gt;
* Впроваджено багаторівневі групи типів завдань&lt;br /&gt;
* Оновлений [[Календар|календар завдань]]:&lt;br /&gt;
** &#039;&#039;&#039;перетягування завдань &#039;&#039;(зміна часу робіт)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
** можна змінювати строк виконання завдання &#039;&#039;(перетягувати нижню межу)&#039;&#039;&lt;br /&gt;
** тижневий/місячний режим для підрозділів і співробітників&lt;br /&gt;
** режим &amp;quot;підрозділ&amp;quot;/&amp;quot;+співробітники&amp;quot;/&amp;quot;+співробітники і підрозділи&amp;quot;&lt;br /&gt;
** 15/30/60 хвилин &#039;&#039;(раніше тільки слоти по 1 годині)&#039;&#039;&lt;br /&gt;
** позначається факт високого пріоритету, а також можна налаштовувати шаблон інформації для заголовка завдання і тіла завдання&lt;br /&gt;
* &#039;&#039;&#039;Перевірка існування раніше прикріпленого файла в завданнях і коментарях до завдання &#039;&#039;(щоб запобігти спробам співробітників прикріплювати старі файли, видаючи їх за нові)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
* У картці завдання додано можливість однією кнопкою передати ТМЦ із доступних цьому співробітнику&lt;br /&gt;
* Новий спецтип для типів завдань: &amp;quot;Роботи з боржниками&amp;quot;&lt;br /&gt;
* У картці завдання виводиться рядок з координатами і швидким переходом на Google-мапу&lt;br /&gt;
* Під час створення дочірнього завдання з картки завдання додано можливість копіювати &#039;&#039;(використовувати)&#039;&#039; також файли з батьківського завдання&lt;br /&gt;
* Дороблено відображення інформації про ТМЦ у списку ТМЦ під час зміни статусу завдання&lt;br /&gt;
* &amp;quot;Робочі нотатки&amp;quot; розширено з будинків на будь-який адресний об&#039;єкт&lt;br /&gt;
&lt;br /&gt;
* Нові параметри налаштування:&lt;br /&gt;
** &amp;quot;У картці завдання сортувати абонентів за порядком їх додавання в завдання&amp;quot;&lt;br /&gt;
** &amp;quot;Інтервал для відображення завдань у розділі &amp;quot;Мої завдання&amp;quot; (днів)&amp;quot;&lt;br /&gt;
** &amp;quot;Заблокувати виконання автоматизації/ланцюжка завдань під час повернення завдання зі статусу із системною роллю &amp;quot;Відкладено&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Ланцюжки завдань/автоматизація:&lt;br /&gt;
** Додано додаткову умову &amp;quot;Завдання. Мітка&amp;quot;&lt;br /&gt;
** Додано варіанти дій:&lt;br /&gt;
*** &amp;quot;Батьківське завдання (найперше в ланцюжку). Змінити статус на&amp;quot;&lt;br /&gt;
*** &amp;quot;Батьківське завдання (усі в ланцюжку). Змінити статус на&amp;quot;&lt;br /&gt;
*** &amp;quot;ТМЦ. Передати в батьківське завдання&amp;quot;&lt;br /&gt;
*** &amp;quot;ТМЦ. Передати в дочірнє завдання&amp;quot;&lt;br /&gt;
*** &amp;quot;Перенесення значень додаткових полів у картку будинку&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Список завдань:&lt;br /&gt;
** У списку завдань виводяться мініатюри прикріплених файлів &#039;&#039;(параметр налаштування)&#039;&#039;&lt;br /&gt;
** Фільтр завдань:&lt;br /&gt;
*** додано режими &amp;quot;і/або&amp;quot;&lt;br /&gt;
*** розширено фільтр за номером батьківського завдання&lt;br /&gt;
*** розширено фільтр за &amp;quot;Виконано зі строком виконання понад...&amp;quot;&lt;br /&gt;
*** розширено фільтр за номером батьківського завдання&lt;br /&gt;
*** додано фільтр за значенням чек-листа&lt;br /&gt;
** У списку завдань додано групові дії:&lt;br /&gt;
*** &amp;quot;Абоненти - Відкрити список&amp;quot;&lt;br /&gt;
*** &amp;quot;Призначити власника&amp;quot;&lt;br /&gt;
*** &amp;quot;Виключити власника&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Склад:&#039;&#039;&#039;&lt;br /&gt;
* Реалізовано передачу ТМЦ співробітнику з підтвердженням отримання/відмови від отримання співробітником&lt;br /&gt;
* &#039;&#039;&#039;В операціях за складом додано фільтрацію за &amp;quot;Адреса (з об&#039;єктами)&amp;quot;, що дозволяє вибрати операції передачі ТМЦ на всі об&#039;єкти цієї території&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;У списку ТМЦ додано можливість фільтрації за будь-яким адресним об&#039;єктом &#039;&#039;(включно з усім підпорядкуванням)&#039;&#039; &#039;&#039;(область, місто, вулиця...)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
* У списку ТМЦ виводиться підсумковий рядок із загальною вартістю/закупівельною вартістю&lt;br /&gt;
* У звіті щодо залишків ТМЦ назви позицій ТМЦ зроблено посиланнями для швидкого перегляду списку цих ТМЦ&lt;br /&gt;
* Групи для постачальників&lt;br /&gt;
* Додано можливість надсилати повідомлення співробітнику в Messenger/Telegram під час передачі ТМЦ йому під звіт/з-під звіту&lt;br /&gt;
* Під час розділення ТМЦ додано можливість одразу вказувати MAC-адреси/серійні номери для цих ТМЦ&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Покриття:&#039;&#039;&#039;&lt;br /&gt;
* Реалізовано автооновлення GPS-позиції транспорту на мапі в реальному часі &#039;&#039;(кожні N секунд)&#039;&#039;. Додано параметр налаштування &amp;quot;Інтервал оновлення позиції транспорту на мапі&amp;quot;&lt;br /&gt;
* &#039;&#039;&#039;Коли на мапі кілька об&#039;єктів накладено один на одного &#039;&#039;(споруди зв&#039;язку в одній точці/багато муфт на опорі... або кабельні лінії проходять поруч)&#039;&#039;, то під час наведення на це скупчення об&#039;єктів воно розкривається з можливістю вибрати потрібний&#039;&#039;&#039;&lt;br /&gt;
* Доробка відображення на мапі кабельних ліній, які проходять через екран, але мають кінцеві точки поза поточною областю відображення&lt;br /&gt;
* Нова лінійка на мапі&lt;br /&gt;
* Новий тип об&#039;єктів на мапу: &amp;quot;Посилання&amp;quot;&lt;br /&gt;
* У спливних підказках на полігонах на мапі виводяться значення додаткових полів&lt;br /&gt;
* У списку будинків додано можливість виведення поля з відсотком проникнення, поле &amp;quot;Нотатки&amp;quot; і фільтр за цим полем&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Споруди зв&#039;язку:&#039;&#039;&#039;&lt;br /&gt;
* Для споруди зв&#039;язку можна вказати приховування її з мапи покриття&lt;br /&gt;
* Для типів споруд зв&#039;язку додано параметр &amp;quot;Під час додавання об&#039;єкта пропонувати новий номер&amp;quot;&lt;br /&gt;
* У макеті шафи/стійки у спливних підказках на пристроях додано відображення серійного/інвентарних номерів&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Кабельні лінії:&#039;&#039;&#039;&lt;br /&gt;
* У списку кабельних ліній додано фільтр за додатковими полями&lt;br /&gt;
* У групових діях із заміни марки кабелю в списку кабельних ліній додано можливість під час цієї дії замінювати кольори модулів/волокон/провідників у кабелі відповідно до нової марки кабелю&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Співробітники:&#039;&#039;&#039;&lt;br /&gt;
* Налаштування в персональному налаштуванні: додаткові кнопки для лівого меню в мобільній версії, зокрема власні посилання&lt;br /&gt;
* Нові права в профілях співробітників:&lt;br /&gt;
** Перегляд/зміна інформації про постачальників&lt;br /&gt;
** Перегляд/зміна штрафів і премій персоналу&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;API:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Можна створювати окремі [[UserSide API Key UK|API-ключі]] тільки для операцій читання даних&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Усі запити на запис/зміну даних тепер мають надсилатися лише через POST&#039;&#039;&#039;&lt;br /&gt;
* У запиті не повинно бути сторонніх параметрів. Якщо сторонній параметр присутній, запит повертатиме помилку&lt;br /&gt;
* Доопрацьовано метод API-&amp;gt;address-&amp;gt;[[API_address_UK#edit_address|edit_address]]&lt;br /&gt;
* Доопрацьовано метод API-&amp;gt;attach-&amp;gt;[[API_attach_UK#add|add]]&lt;br /&gt;
* Додано метод API-&amp;gt;attach-&amp;gt;[[API_attach_UK#upload|upload]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Транспорт:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Глибоко перероблено операції за транспортом. Різні типи, контроль пробігу, строків. Повідомлення на головну сторінку і список транспорту. Ведення історії змін в операціях&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Інше:&#039;&#039;&#039;&lt;br /&gt;
* PHP 8.4&lt;br /&gt;
* Додано локалізації: албанська, узбецька, таджицька. Численні виправлення в поточних локалізаціях.&lt;br /&gt;
* &#039;&#039;&#039;Модуль [[usm_asterisk]] тепер підтримує передачу записів дзвінків і можливість прослуховувати їх в інтерфейсі ERP&#039;&#039;&#039;&lt;br /&gt;
* Перехід із числових ID на рядкові UUID в об&#039;єктах &#039;&#039;(числові ID для частини об&#039;єктів залишено як додаткові довідкові)&#039;&#039;&lt;br /&gt;
* Новий редактор WYSIWYG&lt;br /&gt;
* &#039;&#039;&#039;Темна схема інтерфейсу &#039;&#039;(з підтримкою автоматичного перемикання)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Редагування значень додаткових полів у картках об&#039;єктів прямо в режимі перегляду &#039;&#039;(без потреби переходити в редагування)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Перероблено блок роботи з прикріпленими файлами&#039;&#039;&#039;&lt;br /&gt;
** Повністю інші можливості, галерея, дії тощо&lt;br /&gt;
** Для мобільних пристроїв швидка кнопка &amp;quot;Фотографувати&amp;quot;&lt;br /&gt;
** Для мобільних пристроїв велика кнопка додавання файлів&lt;br /&gt;
** Блок Ctrl+V для роботи з буфером обміну тепер підтримує вставлення кількох зображень і файлів будь-яких форматів &#039;&#039;(а не лише зображень)&#039;&#039;&lt;br /&gt;
* Нове ліве адаптивне меню з можливістю приховування/відкриття&lt;br /&gt;
* &#039;&#039;&#039;Додано кнопки в лівому меню для мобільних пристроїв:&#039;&#039;&#039;&lt;br /&gt;
** &amp;quot;Моя позиція на мапі&amp;quot;&lt;br /&gt;
** QR-код&lt;br /&gt;
** Штрихкод &#039;&#039;(+ може подавати звуковий сигнал під час сканування)&#039;&#039;. Якщо є такий ТМЦ, відкривається картка ТМЦ; якщо немає прав до ТМЦ, але є таке обладнання, відкривається картка обладнання. Інакше відкривається список пошуку&lt;br /&gt;
** Три кнопки для власних посилань&lt;br /&gt;
** Кнопки поділитися посиланням/відкрити посилання&lt;br /&gt;
* &#039;&#039;&#039;Опція &amp;quot;Конвертувати HEIC-файли в JPEG&amp;quot; і власне підтримка роботи з .heic файлами на льоту&#039;&#039;&#039;&lt;br /&gt;
* Розділ &amp;quot;Блокнот&amp;quot; трансформувався в налаштовуваний власний розділ. Це значно розширює його функціональність&lt;br /&gt;
* Нова бібліотека генерації штрихкодів &#039;&#039;(у SVG-форматі)&#039;&#039;&lt;br /&gt;
* Дороблено звіт за надходженнями коштів: групування за населеними пунктами, а також за населеними пунктами + місяцями, і можливість детального перегляду списку платежів&lt;br /&gt;
* У групових діях за об&#039;єктами кнопка &amp;quot;Застосувати&amp;quot; тепер містить кількість позначених об&#039;єктів і блокується, якщо не вибрано дію/об&#039;єкти&lt;br /&gt;
* Селектор вибору дати/дати-часу: виправлено локалізацію під поточну мову&lt;br /&gt;
* Превентивно впроваджено рішення для забезпечення сумісності з датами після 2038 року &#039;&#039;(&amp;quot;Unix 2038 bug&amp;quot;)&#039;&#039;&lt;br /&gt;
* Окремі SMS-профілі для роботи. Наприклад, для кожної SMS-розсилки можна вказати окремий SMS-профіль &#039;&#039;(власне альфа-ім&#039;я, інший оператор...)&#039;&#039;&lt;br /&gt;
* У списках об&#039;єктів у фільтрацію за значеннями додаткових полів додано варіанти фільтрації &amp;quot;більше&amp;quot; і &amp;quot;менше&amp;quot;&lt;br /&gt;
* Нові версії зовнішніх [[Модулі|модулів]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Інші зміни: див. https://wiki.userside.eu/3.20&lt;/div&gt;</summary>
		<author><name>IronBot</name></author>
	</entry>
	<entry>
		<id>https://wiki.userside.eu/index.php?title=%D0%92%D0%B5%D1%80%D1%81%D1%96%D1%97_3.21&amp;diff=22234</id>
		<title>Версії 3.21</title>
		<link rel="alternate" type="text/html" href="https://wiki.userside.eu/index.php?title=%D0%92%D0%B5%D1%80%D1%81%D1%96%D1%97_3.21&amp;diff=22234"/>
		<updated>2026-07-06T13:59:48Z</updated>

		<summary type="html">&lt;p&gt;IronBot: [IronBot] Sync UK localization from RU&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Versions_3.21_EN|en]] | &#039;&#039;&#039;uk&#039;&#039;&#039; | [[Версии_3.21|ru]]&lt;br /&gt;
&lt;br /&gt;
Версії гілки [[3.21_UK|3.21]]&lt;br /&gt;
&lt;br /&gt;
Див. також: [[Версії_ERP_&amp;quot;USERSIDE&amp;quot;|Версії ERP &amp;quot;USERSIDE&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
== 3.21.10 (у розробці) ==&lt;br /&gt;
* У групових діях за спорудами зв&#039;язку: створення загального завдання/окремих завдань тепер створює завдання через стандартний діалог додавання завдання&lt;br /&gt;
&lt;br /&gt;
== 3.21.9 - 06.07.2026 ==&lt;br /&gt;
* У виключення для SMS-розсилок додано можливість виключати абонентів із певним періодом від&#039;ємного балансу&lt;br /&gt;
* У статистиці &amp;quot;Проблемні будинки/абоненти&amp;quot; додано можливість налаштовувати власні фільтри&lt;br /&gt;
* У налаштуваннях типу завдань у секції додаткових полів окремо вказуються типи додаткових полів, які можна використовувати під час зміни статусу завдань. А в налаштуваннях статусів завдань додано властивість &amp;quot;Вивести додаткові поля&amp;quot;&lt;br /&gt;
* Додано можливість автоматично створювати завдання на роботу для невідповіджених телефонних викликів&lt;br /&gt;
* Зміну пароля користувача винесено в окреме діалогове вікно&lt;br /&gt;
&lt;br /&gt;
== 3.21.8 - 04.07.2026 ==&lt;br /&gt;
* Доопрацьовано метод API-&amp;gt;customer-&amp;gt;[[API_customer_UK#get_customers_id|get_customers_id]]&lt;br /&gt;
* Доробки зовнішнього вигляду завдань у календарі робіт&lt;br /&gt;
* У групових діях за абонентами: створення завдань тепер використовує повноцінний діалог зазначення властивостей для створюваних завдань&lt;br /&gt;
* Оптимізація структурної схеми&lt;br /&gt;
* Виправлено помилку під час встановлення умов у SMS-розсилці &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлено зазначення власних координат для абонента&lt;br /&gt;
* Виправлено помилку під час збереження системного пристрою&lt;br /&gt;
* Виправлено виведення об&#039;єктів на глобальній схемі комутації &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлено комутацію кабельної лінії до пристрою у схемі комутації абонента&lt;br /&gt;
* Виправлено зміну довільних координат для обладнання&lt;br /&gt;
* Виправлено роботу фільтра за виключенням тарифу в SMS-розсилці&lt;br /&gt;
&lt;br /&gt;
== 3.21.7 - 03.07.2026 ==&lt;br /&gt;
* Режим планування в календарі робіт&lt;br /&gt;
* Виправлено пошук у списку споруд зв&#039;язку &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлено відображення прикріплених файлів у картці споруди зв&#039;язку за наявності прав лише на читання&lt;br /&gt;
* Виправлено перегляд/формування SMS-розсилок &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлено відображення рівнів сигналів для ONU &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлено відображення затухань на структурній схемі для OLT &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлено помилку під час перегляду історії за співробітниками &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлено неправильне виведення дати активності у спливній підказці на мапі покриття за автотранспортом&lt;br /&gt;
* Виправлено можливість виключення абонента із завдання&lt;br /&gt;
&lt;br /&gt;
== 3.21.6 - 02.07.2026 ==&lt;br /&gt;
* Додано історію використання IP-адрес&lt;br /&gt;
* Доопрацьовано використання лінійки на мапі покриття&lt;br /&gt;
* Виправлено зовнішній вигляд кабельних ліній на мапі покриття залежно від налаштувань міток &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлено список обладнання у віджеті головної сторінки &amp;quot;Неактивні комутатори&amp;quot;&lt;br /&gt;
* Виправлено додавання нових схем споруд зв&#039;язку на глобальну схему комутації&lt;br /&gt;
* Виправлено пошук за базою обладнання під час додавання найменування ТМЦ у каталозі товарів&lt;br /&gt;
* Виправлено очищення комутації портів обладнання &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлено помилку у звіті щодо залишків ТМЦ &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлено зазначення довільних запасів/об&#039;єктів на маршруті кабельної лінії&lt;br /&gt;
* Виправлено перемикання комутації в порт іншого пристрою на споруді зв&#039;язку&lt;br /&gt;
* Виправлено відображення об&#039;єктів на мапі покриття у групових операціях за спорудами зв&#039;язку&lt;br /&gt;
* Виправлено зміну шляху комутації у схемі комутації &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 3.21.5 - 01.07.2026 ==&lt;br /&gt;
* Додано сповіщення під час редагування завдання &#039;&#039;(налаштовується)&#039;&#039;&lt;br /&gt;
* Доробка зі знімання інформації за інтерфейсами ONU&lt;br /&gt;
* Доопрацьовано зовнішній вигляд портів обладнання для темної схеми&lt;br /&gt;
* Для типів завдань додано можливість вказати дії з ТМЦ: передавати з абонента на вибраний склад потрібні ТМЦ, що знаходяться в абонента&lt;br /&gt;
* Виправлено швидкий пошук обладнання потрібної категорії у списку обладнання&lt;br /&gt;
* Виправлено вибір інших пристроїв на цій споруді зв&#039;язку в діалоговому вікні перемикання порту&lt;br /&gt;
* Виправлено відображення доступних складів для співробітника &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлено помилку під час перегляду картки ТМЦ &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлено автовибір будинку під час додавання споруди зв&#039;язку з картки будинку&lt;br /&gt;
* Виправлено перегляд списку опитуваних пристроїв у модулі usm_observer&lt;br /&gt;
* Виправлено можливість зміни кольору з&#039;єднання між пристроями у схемі комутації&lt;br /&gt;
&lt;br /&gt;
== 3.21.4 - 30.06.2026 ==&lt;br /&gt;
* Доопрацьовано метод API-&amp;gt;attach-&amp;gt;[[API_attach_UK#upload|upload]]&lt;br /&gt;
* Додано окремий профіль email-сповіщень для надсилання повідомлень абонентам-юридичним особам&lt;br /&gt;
* Доопрацьовано сортування у списку споруд зв&#039;язку за будинком&lt;br /&gt;
* Календар робіт відкривається на поточній даті&lt;br /&gt;
* Доробка календаря завдань для випадків, коли кілька завдань призначаються на один час&lt;br /&gt;
* Впроваджено багаторівневі групи типів завдань&lt;br /&gt;
* У новинах за завданнями додано можливість частково позначати події як прочитані, а також групувати новини за завданнями&lt;br /&gt;
* В автоматизації за завданнями додано можливість надсилати Email абонентам &#039;&#039;(за налаштовуваними шаблонами)&#039;&#039;&lt;br /&gt;
* Доопрацьовано виведення спливного сповіщення під час призначення підрозділу співробітника на завдання&lt;br /&gt;
* Виправлено відображення блока з прикріпленими файлами у власних розділах за права лише на читання&lt;br /&gt;
* Виправлено перехід у картку абонента з мапи покриття&lt;br /&gt;
* Виправлено помилку під час налаштування доступності статусів для профілів співробітників у картці типу завдання&lt;br /&gt;
* Виправлено фільтрацію за датами у списку завдань &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлено відображення автора завдання у списку завдань&lt;br /&gt;
* Виправлено відображення поля &amp;quot;Нотатки&amp;quot; у картці споруди зв&#039;язку&lt;br /&gt;
* Виправлено помилку під час спроби видалення адресного об&#039;єкта &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлено можливість вимкнення/увімкнення порту пристрою&lt;br /&gt;
* Виправлено перегляд глобальних схем комутації &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 3.21.3 - 28.06.2026 ==&lt;br /&gt;
* Доопрацьовано метод API-&amp;gt;inventory-&amp;gt;[[API_inventory_UK#transfer_inventory|transfer_inventory]]&lt;br /&gt;
* Доопрацьовано метод API-&amp;gt;commutation-&amp;gt;[[API_commutation_UK#delete|commutation]]&lt;br /&gt;
* Доопрацьовано метод API-&amp;gt;node-&amp;gt;[[API_node_UK#get|get]]&lt;br /&gt;
* Доопрацьовано метод API-&amp;gt;address-&amp;gt;[[API_address_UK#get_house|get_house]]&lt;br /&gt;
* Для завдання планувальника &amp;quot;Розсилання інформації про зниження резервів на складі&amp;quot; додано можливість указувати варіанти надсилання &amp;quot;E-mail/Messenger&amp;quot;, а також у картці співробітника в розділі &amp;quot;Сповіщення&amp;quot; можна вказати варіанти отримання цієї розсилки&lt;br /&gt;
* У списку ТМЦ у картці завдання додано можливість одразу передавати всі ТМЦ вибраному отримувачу&lt;br /&gt;
* У додаткових полях із типом &amp;quot;Вибір зі списку&amp;quot; додано швидкий пошук значення&lt;br /&gt;
* Доопрацьовано використання явно вказаних координат під час редагування картки будівлі та вибору полігона/точки&lt;br /&gt;
* Виправлено створення кабельних ліній до будівлі з мапи покриття&lt;br /&gt;
* Виправлено помилку під час переходу до розділу Налаштування - Модулі &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлено групування у списку завдань &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлено видалення напису зі схеми комутації&lt;br /&gt;
* Виправлено роботу параметра &amp;quot;Відображати у селекторах/пошуку звільнених співробітників протягом N днів після їх звільнення&amp;quot;&lt;br /&gt;
* Виправлено перевірку доступності складів під час вибору ТМЦ при виконанні завдання&lt;br /&gt;
* Виправлено роботу змінної &amp;quot;Виводити завдання за датою фактичного виконання&amp;quot;&lt;br /&gt;
* Виправлено використання колірних налаштувань зовнішнього вигляду типів завдань у календарі&lt;br /&gt;
* Виправлено пошук на мапі покриття &#039;&#039;(підставляння поточного населеного пункту у вікні пошуку)&#039;&#039;&lt;br /&gt;
* Виправлено перехід із картки клієнта на мапу з координатами будівлі клієнта&lt;br /&gt;
* Виправлено збереження інтерфейсів/стекування в картці пристрою&lt;br /&gt;
&lt;br /&gt;
== 3.21.2 - 26.06.2026 ==&lt;br /&gt;
* Доопрацьовано метод API-&amp;gt;address-&amp;gt;[[API_address_UK#get_house|get_house]]&lt;br /&gt;
* Під час передавання ТМЦ із картки клієнта можна вибрати субрахунок, на який передаємо&lt;br /&gt;
* Під час створення/зміни завдання для будівлі виводиться інформація про мітки на будівлі та примітку до будівлі&lt;br /&gt;
* Під час створення завдання за ланцюжком можна окремо вказати потрібного довільного виконавця/підрозділ&lt;br /&gt;
* У масовому передаванні ТМЦ тепер створюються об&#039;єднані операції передавання, а не кожна окремо&lt;br /&gt;
* У списку завдань у групуванні результатів фільтрації додано варіант &amp;quot;Дата виконання (місяць)&amp;quot;&lt;br /&gt;
* Виправлено помилку під час створення завдання &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлено зміну координат у картці будівлі, споруди зв&#039;язку, клієнта &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлено формування назви споруди зв&#039;язку під час вибору поверху будівлі &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлено обробку посилань у текстових значеннях додаткових полів&lt;br /&gt;
* Виправлено призначення виконавців під час створення завдання &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 3.21.1 - 25.06.2026 ==&lt;br /&gt;
* Доопрацьовано центрування мапи під час редагування полігона/будівлі на мапі покриття&lt;br /&gt;
* Виправлено відображення глобальних схем комутації &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлено експорт у XLS списку кабельних ліній &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлено коректне відображення клієнтів на логічній схемі будівлі &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлено вибір батьківських об&#039;єктів під час додавання будівлі з мапи покриття&lt;br /&gt;
* Виправлено прикріплення клієнта під час додавання нового завдання для клієнта&lt;br /&gt;
* Виправлення невеликих помилок&lt;br /&gt;
&lt;br /&gt;
== 3.21.0 - 23.06.2026 ==&lt;br /&gt;
* Реліз версії&lt;br /&gt;
&lt;br /&gt;
== 3.21.0-beta.7 - 21.06.2026 ==&lt;br /&gt;
* Виправлення за підсумками бета-тестування&lt;br /&gt;
&lt;br /&gt;
== 3.21.0-beta.6 - 20.06.2026 ==&lt;br /&gt;
* Виправлення за підсумками бета-тестування&lt;br /&gt;
&lt;br /&gt;
== 3.21.0-beta.5 - 17.06.2026 ==&lt;br /&gt;
* Виправлення за підсумками бета-тестування&lt;br /&gt;
&lt;br /&gt;
== 3.21.0-beta.4 - 13.06.2026 ==&lt;br /&gt;
* Виправлення за підсумками бета-тестування&lt;br /&gt;
&lt;br /&gt;
== 3.21.0-beta.3 - 07.06.2026 ==&lt;br /&gt;
* Виправлення за підсумками бета-тестування&lt;br /&gt;
&lt;br /&gt;
== 3.21.0-beta.2 - 30.05.2026 ==&lt;br /&gt;
* Виправлення за підсумками бета-тестування&lt;br /&gt;
&lt;br /&gt;
== 3.21.0-beta.1 - 24.05.2026 ==&lt;br /&gt;
* Перелік змін див. у [[3.21_UK|3.21]]&lt;/div&gt;</summary>
		<author><name>IronBot</name></author>
	</entry>
	<entry>
		<id>https://wiki.userside.eu/index.php?title=%D0%92%D0%B5%D1%80%D1%81%D1%96%D1%97_3.20&amp;diff=22233</id>
		<title>Версії 3.20</title>
		<link rel="alternate" type="text/html" href="https://wiki.userside.eu/index.php?title=%D0%92%D0%B5%D1%80%D1%81%D1%96%D1%97_3.20&amp;diff=22233"/>
		<updated>2026-07-06T13:59:48Z</updated>

		<summary type="html">&lt;p&gt;IronBot: [IronBot] Sync UK localization from RU&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Versions 3.20 EN|en]] | &#039;&#039;&#039;uk&#039;&#039;&#039; | [[Версии_3.20|ru]]&lt;br /&gt;
&lt;br /&gt;
Версії гілки [[3.20_UK|3.20]]&lt;br /&gt;
&lt;br /&gt;
Також див.: [[Версії ERP &amp;quot;USERSIDE&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
== 3.20.26 (у розробці) ==&lt;br /&gt;
* Виправлено генерацію/транслітерацію логіна співробітника під час створення &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлено помилку під час побудови звіту щодо залишків ТМЦ за завданнями&lt;br /&gt;
&lt;br /&gt;
== 3.20.25 - 24.06.2026 ==&lt;br /&gt;
* Доопрацьовано відображення запланованих кабельних ліній на мапі покриття відповідно до налаштувань кольору за щільністю кабелю&lt;br /&gt;
* Виправлено помилку з відображенням списку кабельних ліній &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлення невеликих помилок та змін&lt;br /&gt;
&lt;br /&gt;
== 3.20.24 - 27.05.2026 ==&lt;br /&gt;
* Виправлення невеликих помилок та змін&lt;br /&gt;
&lt;br /&gt;
== 3.20.23 - 27.04.2026 ==&lt;br /&gt;
* Додано метод API-&amp;gt;call-&amp;gt;[[API_call_UK#agent_call|agent_call]]&lt;br /&gt;
* Додано метод API-&amp;gt;chapter-&amp;gt;[[API_chapter_UK#link_add|link_add]]&lt;br /&gt;
* Додано метод API-&amp;gt;chapter-&amp;gt;[[API_chapter_UK#link_get|link_get]]&lt;br /&gt;
* Додано метод API-&amp;gt;chapter-&amp;gt;[[API_chapter_UK#link_remove|link_remove]]&lt;br /&gt;
* Доопрацьовано метод API-&amp;gt;call-&amp;gt;[[API_call_UK#add|add]]&lt;br /&gt;
* Доопрацьовано метод API-&amp;gt;task-&amp;gt;[[API_task_UK#edit|edit]]&lt;br /&gt;
* У виконаних завданнях також відображається ознака &amp;quot;Прострочено&amp;quot; під час порушенні термінів робіт&lt;br /&gt;
* Виправлена помилка з входом у календар робіт &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлення невеликих помилок&lt;br /&gt;
&lt;br /&gt;
== 3.20.22 - 04.04.2026 ==&lt;br /&gt;
* Виправлено вибір порожнього значення в типі завдань для реєстрації телефоном&lt;br /&gt;
* Оптимізаційні роботи&lt;br /&gt;
* Виправлення невеликих помилок&lt;br /&gt;
&lt;br /&gt;
== 3.20.21 - 11.03.2026 ==&lt;br /&gt;
* Виправлено відображення лічильника помилок на інтерфейсах пристроїв &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлено налаштування шаблонів SMS-повідомлень для абонентів у завданнях&lt;br /&gt;
* Оптимізаційні роботи&lt;br /&gt;
* Виправлення невеликих помилок&lt;br /&gt;
&lt;br /&gt;
== 3.20.20 - 22.02.2026 ==&lt;br /&gt;
* Оптимізована робота розділу &amp;quot;Мої завдання&amp;quot;&lt;br /&gt;
* Виправлено порушення розмітки головного меню в деяких випадках&lt;br /&gt;
&lt;br /&gt;
== 3.20.19 - 08.02.2026 ==&lt;br /&gt;
* Виправлення невеликих помилок&lt;br /&gt;
&lt;br /&gt;
== 3.20.18 - 23.01.2026 ==&lt;br /&gt;
* Оптимізація звіту за складу &amp;quot;Оборотно-сальдова відомість&amp;quot;&lt;br /&gt;
* Виправлення невеликих помилок&lt;br /&gt;
&lt;br /&gt;
== 3.20.17 - 31.12.2025 ==&lt;br /&gt;
* Додано метод API-&amp;gt;task-&amp;gt;[[API_task_UK#add_node_to_task|add_node_to_task]]&lt;br /&gt;
* Додано метод API-&amp;gt;task-&amp;gt;[[API_task_UK#remove_node_from_task|remove_node_from_task]]&lt;br /&gt;
* Виправлено виконання ланцюжка завдань &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлення невеликих помилок&lt;br /&gt;
&lt;br /&gt;
== 3.20.16 - 14.12.2025 ==&lt;br /&gt;
* Виправлена помилка з фільтрацією за секції ТМЦ у списку операцій за складу&lt;br /&gt;
* Виправлення невеликих помилок&lt;br /&gt;
&lt;br /&gt;
== 3.20.15 - 06.12.2025 ==&lt;br /&gt;
* Для ланцюжків завдань/автоматизації в типах завдань додано можливість вказівки дробового інтервалу годинника&lt;br /&gt;
* Виправлення невеликих помилок&lt;br /&gt;
&lt;br /&gt;
== 3.20.14 - 29.11.2025 ==&lt;br /&gt;
* Доопрацювання API взаємозв&#039;язку з Binotel&lt;br /&gt;
* Виправлення невеликих помилок&lt;br /&gt;
&lt;br /&gt;
== 3.20.13 - 22.11.2025 ==&lt;br /&gt;
* Виправлення невеликих помилок&lt;br /&gt;
&lt;br /&gt;
== 3.20.12 - 15.11.2025 ==&lt;br /&gt;
* Додано параметр налаштування &amp;quot;Масштабувати ширину кабельної лінії на схемі комутації в залежності від довжини назви&amp;quot;&lt;br /&gt;
* Допрацьовано відображення невідомих ONU за OLT у віджеті головної сторінки&lt;br /&gt;
* Виправлення інших невеликих помилок&lt;br /&gt;
&lt;br /&gt;
== 3.20.11 - 08.11.2025 ==&lt;br /&gt;
* Виправлення помилки під час вході в розділ Custom-повідомлень &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлення помилки під час вході в налаштування інтерфейсів/стекування за пристрої &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлена неможливість комутації між ODF/кросами у майстрі комутацій&lt;br /&gt;
* Виправлення деяких помилок міграції&lt;br /&gt;
&lt;br /&gt;
== 3.20.10 - 07.11.2025 ==&lt;br /&gt;
* Додано метод API-&amp;gt;vehicle-&amp;gt;[[API_vehicle_UK#add|add]]&lt;br /&gt;
* Додано метод API-&amp;gt;vehicle-&amp;gt;[[API_vehicle_UK#edit|edit]]&lt;br /&gt;
* Додано метод API-&amp;gt;vehicle-&amp;gt;[[API_vehicle_UK#delete|delete]]&lt;br /&gt;
* У картці спорудження зв&#039;язку в блоці з прикріпленими файлами-зображеннями можна швидко зробити зображення основним фото для цього об&#039;єкта &#039;&#039;(без необхідності переходити до редагування)&#039;&#039;&lt;br /&gt;
* У картці кабельної лінії додано можливість створити завдання з цією лінією або додати лінію до існуючого завдання&lt;br /&gt;
* Доопрацьовано сортування за додатковими полями у власних розділах&lt;br /&gt;
* Виправлена фільтрація за найменуванням ТМЦ у списку ТМЦ&lt;br /&gt;
* Виправлено відображення шарів обладнання на карті покриття&lt;br /&gt;
* Виправлення інших невеликих помилок&lt;br /&gt;
&lt;br /&gt;
== 3.20.9 - 14.09.2025 ==&lt;br /&gt;
* Доопрацювання перевірки прав доступу до ONU&lt;br /&gt;
* Виправлена помилка під час пошуку абонента під час передачі ТМЦ &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлено оновлення на базі серійних номерів для ONU під час опитуванні OLT &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 3.20.8 - 06.09.2025 ==&lt;br /&gt;
* Додано метод API-&amp;gt;billing-&amp;gt;[[API_billing_UK#refresh_date_update|refresh_date_update]]&lt;br /&gt;
* Оптимізовано інтерфейс редагування/додавання адресної одиниці &#039;&#039;(актуально для розгалужених адресних структур)&#039;&#039;&lt;br /&gt;
* У картці завдання додані посилання на перегляд зв&#039;язаних абонентів із спорудами зв&#039;язку та з кабельними лініями&lt;br /&gt;
* Виправлена перевірка на статус батьківського завдання в автоматизації дій із завдань &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлено відображення спливаючої підказки в календарі завдань під час горизонтальному скролі&lt;br /&gt;
* Виправлено призначення співробітників у підрозділ &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 3.20.7 - 25.08.2025 ==&lt;br /&gt;
* &#039;&#039;&#039;Глибока переробка операцій із транспорту. Різні типи, контроль пробігу, терміни. Повідомлення на головну сторінку та список транспорту. Ведення історії змін в операціях &#039;&#039;&#039;&lt;br /&gt;
* Історія дій щодо потенційного абонента переноситься в історію дій звичайного абонента під час їх об&#039;єднанні&lt;br /&gt;
* При гарячій заміні пристрою можна вказати збереження історії MAC-адрес на портах обладнання&lt;br /&gt;
* У групових діях за списком абонентів додано можливість очищення комутації&lt;br /&gt;
* Технічні міграції даних ядра&lt;br /&gt;
* Виправлена фільтрація FDB-таблиці з пристрою &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлена помилка під час обмеженні співробітнику доступу за конкретною IP-адресою&lt;br /&gt;
* Виправлено перевірку прав на доступ до ONU&lt;br /&gt;
&lt;br /&gt;
== 3.20.6 - 15.08.2025 ==&lt;br /&gt;
* &#039;&#039;&#039; Окремі SMS-профілі для роботи. Наприклад, для кожної SMS-розсилки можна вказати окремий SMS-профіль &#039;&#039;(власне альфа-ім&#039;я, інший оператор...)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
* Виділено окремі права доступу до ONU на перегляд та зміну&lt;br /&gt;
* Виправлено відображення великої кількості розділів блокнота у списку розділів&lt;br /&gt;
* Виправлено оновлення інформації під час додавання/виключенні споруди зв&#039;язку в завданні&lt;br /&gt;
&lt;br /&gt;
== 3.20.5 - 08.08.2025 ==&lt;br /&gt;
* Додано метод API-&amp;gt;address-&amp;gt;[[API_address_UK#get_building_type|get_building_type]]&lt;br /&gt;
* Додано параметр налаштування &amp;quot;Будівлі. Шаблон спливаючого повідомлення на карті&amp;quot;&lt;br /&gt;
* Доопрацьовано інтерфейс зміни нотатки, типу адаптера та з&#039;єднання для волокна кабельної лінії&lt;br /&gt;
* Перероблено інтерфейс додавання споруд зв&#039;язку та кабельних ліній у завдання під час створення завдання&lt;br /&gt;
* Підкориговано перевірку прав доступу до табеля робіт&lt;br /&gt;
* Доопрацьовано тарифікацію співробітникам за завдання у відомості робіт за участю в завданні понад 5 співробітників&lt;br /&gt;
* Виправлена помилка фільтрації за будівлі у списку операцій за складом &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 3.20.4 - 04.08.2025 ==&lt;br /&gt;
* Додано метод API-&amp;gt;cross-&amp;gt;[[API_cross_UK#edit_adapter|edit_adapter]]&lt;br /&gt;
* Доопрацьовано метод API-&amp;gt;task-&amp;gt;[[API_address_UK#edit_address|edit_address]]&lt;br /&gt;
* Додано параметр налаштування &amp;quot;Заблокувати виконання автоматизації/ланцюжка завдань під час поверненні завдання зі статусу із системною роллю &amp;quot;Відкладено&amp;quot;&lt;br /&gt;
* У списку завдань додано угруповання завдань за вулиці або населеному пункту&lt;br /&gt;
* Доопрацювання збереження прикріплених файлів до коментарів за завданням&lt;br /&gt;
* Невеликі виправлення та доопрацювання&lt;br /&gt;
&lt;br /&gt;
== 3.20.3 - 27.07.2025 ==&lt;br /&gt;
* Доопрацьовано метод API-&amp;gt;task-&amp;gt;[[API_task_UK#change_state|change_state]]&lt;br /&gt;
* Додано параметр налаштування &amp;quot;З&#039;єднання на дільниках вважати механічними&amp;quot;&lt;br /&gt;
* У налаштуваннях типів завдань для ТМЦ можна вказати, що переміщати всі ТМЦ після закриття на зв&#039;язану будівлю&lt;br /&gt;
* У ланцюжках/автоматизації за типами завдань додано можливість додаткової умови &amp;quot;Статус дочірнього/батьківського завдання&amp;quot; для варіантів дій &amp;quot;Батьківське/Дочірнє завдання. Змінити статус на&amp;quot;&lt;br /&gt;
* У картці будівлі у списку ТМЦ додано інформацію про дату встановлення ТМЦ на будівлі та можливість експорту в XLS та у версію для друку&lt;br /&gt;
* У картці можна скопіювати всі прикріплені файли з іншого завдання&lt;br /&gt;
* У картці абонента додано пряме посилання на перегляд його маршруту комутації&lt;br /&gt;
* Для профілів співробітників можна обмежити максимальну кількість записів на сторінці &#039;&#039;(у таблицях/списках)&#039;&#039;&lt;br /&gt;
* У фільтр зі споруд зв&#039;язку додано можливість вибірки за відсутнім власним значком на карті&lt;br /&gt;
* У списку операцій за складу в селекторах вибору контрагента додано можливість вказівки конкретної будівлі&lt;br /&gt;
* У групових діях за будівлях додано можливість зміни індивідуального кольору на карті&lt;br /&gt;
* У групових діях за будинках можна змінити менеджера на порожнє значення &#039;&#039;(видалити менеджера)&#039;&#039;&lt;br /&gt;
* Виправлено сортування за адресою у списку завдань &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлена можливість одночасно відкласти завдання та вказати довільний коментар&lt;br /&gt;
&lt;br /&gt;
== 3.20.2 - 18.07.2025 ==&lt;br /&gt;
* Додано метод API-&amp;gt;task-&amp;gt;[[API_task_UK#add_cable_line_to_task|add_cable_line_to_task]]&lt;br /&gt;
* Додано метод API-&amp;gt;task-&amp;gt;[[API_task_UK#remove_cable_line_from_task|remove_cable_line_from_task]]&lt;br /&gt;
* Список підключених ONU на OLT можна виводити на друк або експортувати до XLS&lt;br /&gt;
* Для споруд зв&#039;язку та кабельних ліній додано можливість у групових діях змінювати нотатки&lt;br /&gt;
* У шаблоні спливаючої підказки на завдання на карті покриття можна відображати дату створення завдання, дату оновлення, текст останнього коментаря&lt;br /&gt;
* У ланцюжках/автоматизації за типами завдань додано дію &amp;quot;Абоненти. Виключити&amp;quot;&lt;br /&gt;
* Для ланцюжків/автоматизації в типах завдань додана можливість відключати автопризначуваних виконавців під час створення нового завдання за ланцюжку&lt;br /&gt;
* Доопрацьовано відображення посилань в описі типу завдань у картці завдання&lt;br /&gt;
* Виправлена фільтрація абонентів, що залежать від кросу/odf &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 3.20.1 - 12.07.2025 ==&lt;br /&gt;
* У списку будівель доданий фільтр за будівлях, у яких знято позначку &amp;quot;Відображати на карті&amp;quot;&lt;br /&gt;
* Виправлена неможливість відкрити картку автотранспорту зі списку&lt;br /&gt;
* Виправлено пошук за найменуванням кабельної лінії під час створення завдання &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлення відображення інформації про абонента у списку завдань &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 3.20 - 09.07.2025 ==&lt;br /&gt;
* Реліз версії 3.20&lt;br /&gt;
* Список змін див. [[3.20_UK|3.20]]&lt;/div&gt;</summary>
		<author><name>IronBot</name></author>
	</entry>
	<entry>
		<id>https://wiki.userside.eu/index.php?title=Versions_3.21_EN&amp;diff=22232</id>
		<title>Versions 3.21 EN</title>
		<link rel="alternate" type="text/html" href="https://wiki.userside.eu/index.php?title=Versions_3.21_EN&amp;diff=22232"/>
		<updated>2026-07-06T13:59:48Z</updated>

		<summary type="html">&lt;p&gt;IronBot: [IronBot] Sync EN localization from RU&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;en&#039;&#039;&#039; | [[Версії_3.21|uk]] | [[Версии_3.21|ru]]&lt;br /&gt;
&lt;br /&gt;
Versions of the [[3.21_EN|3.21]] branch&lt;br /&gt;
&lt;br /&gt;
Also see: [[Versions_of_ERP_&amp;quot;USERSIDE&amp;quot;|ERP &amp;quot;USERSIDE&amp;quot; versions]]&lt;br /&gt;
&lt;br /&gt;
== 3.21.10 (in development) ==&lt;br /&gt;
* In group actions for communications installations, creating a common task or separate tasks now creates tasks through the standard task-add dialog&lt;br /&gt;
&lt;br /&gt;
== 3.21.9 - 06.07.2026 ==&lt;br /&gt;
* SMS mailing exclusions can now exclude customers with a specific period of negative balance&lt;br /&gt;
* The &amp;quot;Problem buildings/customers&amp;quot; statistics can now use custom filters&lt;br /&gt;
* In task type settings, the additional fields section now separately specifies the additional field types that can be used when changing task status. Task status settings also now include the &amp;quot;Display additional fields&amp;quot; property&lt;br /&gt;
* Added the ability to automatically create a work task for unanswered phone calls&lt;br /&gt;
* User password changes were moved to a separate dialog window&lt;br /&gt;
&lt;br /&gt;
== 3.21.8 - 04.07.2026 ==&lt;br /&gt;
* Improved API method API-&amp;gt;customer-&amp;gt;[[API_customer_EN#get_customers_id|get_customers_id]]&lt;br /&gt;
* Improved the appearance of tasks in the work calendar&lt;br /&gt;
* In group actions for customers, task creation now uses a full dialog for specifying properties of the tasks being created&lt;br /&gt;
* Optimized the structural scheme&lt;br /&gt;
* Fixed setting conditions in SMS mailings &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed setting custom coordinates for a customer&lt;br /&gt;
* Fixed saving a system device&lt;br /&gt;
* Fixed object display on the global commutation scheme &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed commutating a cable line to a device in the customer&#039;s commutation scheme&lt;br /&gt;
* Fixed changing custom coordinates for equipment&lt;br /&gt;
* Fixed the tariff exclusion filter in SMS mailings&lt;br /&gt;
&lt;br /&gt;
== 3.21.7 - 03.07.2026 ==&lt;br /&gt;
* Planning mode in the work calendar&lt;br /&gt;
* Fixed search in the communications installation list &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed attached-file display in a communications installation card when the user has read-only rights&lt;br /&gt;
* Fixed viewing/creating SMS mailings &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed signal level display for ONU &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed attenuation display on the structural scheme for OLT &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed an error when viewing employee history &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed incorrect activity date output in the coverage map tooltip for transport&lt;br /&gt;
* Fixed the ability to exclude a customer from a task&lt;br /&gt;
&lt;br /&gt;
== 3.21.6 - 02.07.2026 ==&lt;br /&gt;
* Added IP address usage history&lt;br /&gt;
* Improved use of the ruler on the coverage map&lt;br /&gt;
* Fixed cable line appearance on the coverage map according to tag settings &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed the equipment list in the &amp;quot;Inactive switches&amp;quot; home-page widget&lt;br /&gt;
* Fixed adding new communications installation schemes to the global commutation scheme&lt;br /&gt;
* Fixed equipment database search when adding an inventory item name to the product catalog&lt;br /&gt;
* Fixed clearing equipment port commutation &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed an error in the inventory balance report &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed specifying custom reserves/objects on a cable line route&lt;br /&gt;
* Fixed switching commutation to a port of another device on a communications installation&lt;br /&gt;
* Fixed object display on the coverage map in group operations for communications installations&lt;br /&gt;
* Fixed changing the commutation path in the commutation scheme &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 3.21.5 - 01.07.2026 ==&lt;br /&gt;
* Added notifications when editing a task &#039;&#039;(configurable)&#039;&#039;&lt;br /&gt;
* Improved collecting information from ONU interfaces&lt;br /&gt;
* Improved equipment port appearance for the dark theme&lt;br /&gt;
* Task types can now specify actions with inventory: transfer the required inventory currently assigned to a customer from that customer to the selected warehouse&lt;br /&gt;
* Fixed quick search by the required equipment category in the equipment list&lt;br /&gt;
* Fixed selection of other devices on the same communications installation in the port switching dialog&lt;br /&gt;
* Fixed display of warehouses available to an employee &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed an error when viewing an inventory item card &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed automatic building selection when adding a communications installation from a building card&lt;br /&gt;
* Fixed viewing the list of polled devices in the usm_observer module&lt;br /&gt;
* Fixed the ability to change the color of a connection between devices in the commutation scheme&lt;br /&gt;
&lt;br /&gt;
== 3.21.4 - 30.06.2026 ==&lt;br /&gt;
* Improved API method API-&amp;gt;attach-&amp;gt;[[API_attach_EN#upload|upload]]&lt;br /&gt;
* Added a separate email notification profile for sending messages to corporate customers&lt;br /&gt;
* Improved sorting by building in the communications installation list&lt;br /&gt;
* The work calendar opens on the current date&lt;br /&gt;
* Improved the task calendar for cases where several tasks are scheduled for the same time&lt;br /&gt;
* Implemented multilevel task type groups&lt;br /&gt;
* Task news can now partially mark events as read and group news by task&lt;br /&gt;
* Task automation can now send Email messages to customers &#039;&#039;(using configurable templates)&#039;&#039;&lt;br /&gt;
* Improved popup notification output when assigning an employee department to a task&lt;br /&gt;
* Fixed attached-file block display in custom sections when the user has read-only rights&lt;br /&gt;
* Fixed opening a customer card from the coverage map&lt;br /&gt;
* Fixed an error when configuring status availability for employee profiles in a task type card&lt;br /&gt;
* Fixed filtering by dates in the task list &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed task author display in the task list&lt;br /&gt;
* Fixed display of the &amp;quot;Notes&amp;quot; field in the communications installation card&lt;br /&gt;
* Fixed an error when trying to delete an address object &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed the ability to disable/enable a device port&lt;br /&gt;
* Fixed viewing global commutation schemes &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 3.21.3 - 28.06.2026 ==&lt;br /&gt;
* Improved API method API-&amp;gt;inventory-&amp;gt;[[API_inventory_EN#transfer_inventory|transfer_inventory]]&lt;br /&gt;
* Improved API method API-&amp;gt;commutation-&amp;gt;[[API_commutation_EN#delete|commutation]]&lt;br /&gt;
* Improved API method API-&amp;gt;node-&amp;gt;[[API_node_EN#get|get]]&lt;br /&gt;
* Improved API method API-&amp;gt;address-&amp;gt;[[API_address_EN#get_house|get_house]]&lt;br /&gt;
* The scheduler task &amp;quot;Send low-stock information&amp;quot; can now specify the delivery options &amp;quot;E-mail/Messenger&amp;quot;; the employee card also now lets you specify delivery options for this mailing in the &amp;quot;Notifications&amp;quot; section&lt;br /&gt;
* The inventory list in the task card can now transfer all inventory items to the selected recipient at once&lt;br /&gt;
* Quick value search was added to custom fields of the &amp;quot;List selection&amp;quot; type&lt;br /&gt;
* Improved the use of explicitly specified coordinates when editing a building card and selecting a polygon/point&lt;br /&gt;
* Fixed creating cable lines to a building from the coverage map&lt;br /&gt;
* Fixed an error when opening Settings - Modules &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed grouping in the task list &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed deleting a label from the switching scheme&lt;br /&gt;
* Fixed the &amp;quot;Show dismissed employees in selectors/search for N days after dismissal&amp;quot; parameter&lt;br /&gt;
* Fixed warehouse availability checks when selecting inventory items during task execution&lt;br /&gt;
* Fixed the &amp;quot;Show tasks by actual completion date&amp;quot; variable&lt;br /&gt;
* Fixed using task-type appearance color settings in the calendar&lt;br /&gt;
* Fixed coverage-map search &#039;&#039;(substituting the current locality in the search window)&#039;&#039;&lt;br /&gt;
* Fixed navigation from a customer card to the map with the customer&#039;s building coordinates&lt;br /&gt;
* Fixed saving interfaces/stacking in the device card&lt;br /&gt;
&lt;br /&gt;
== 3.21.2 - 26.06.2026 ==&lt;br /&gt;
* Improved API method API-&amp;gt;address-&amp;gt;[[API_address_EN#get_house|get_house]]&lt;br /&gt;
* When transferring inventory from a customer card, the sub-account receiving the inventory can now be selected&lt;br /&gt;
* When creating/editing a task for a building, information about building tags and the building note is shown&lt;br /&gt;
* When creating a task in a chain, a specific custom assignee/department can be specified separately&lt;br /&gt;
* Bulk inventory transfer now creates combined transfer operations instead of separate operations for each item&lt;br /&gt;
* The task list filter-result grouping now has a &amp;quot;Completion date (month)&amp;quot; option&lt;br /&gt;
* Fixed an error when creating a task &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed changing coordinates in building, communications installation, and customer cards &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed generation of communications-installation names when selecting a building floor &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed link handling in text values of custom fields&lt;br /&gt;
* Fixed assigning assignees when creating a task &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 3.21.1 - 25.06.2026 ==&lt;br /&gt;
* Improved map centering when editing a polygon/building on the coverage map&lt;br /&gt;
* Fixed displaying global switching schemes &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed exporting the cable line list to XLS &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed correct rendering of customers on the building logical scheme &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed selecting parent objects when adding a building from the coverage map&lt;br /&gt;
* Fixed attaching a customer when adding a new task for a customer&lt;br /&gt;
* Fixed minor bugs&lt;br /&gt;
&lt;br /&gt;
== 3.21.0 - 23.06.2026 ==&lt;br /&gt;
* Version release&lt;br /&gt;
&lt;br /&gt;
== 3.21.0-beta.7 - 21.06.2026 ==&lt;br /&gt;
* Fixes based on beta testing results&lt;br /&gt;
&lt;br /&gt;
== 3.21.0-beta.6 - 20.06.2026 ==&lt;br /&gt;
* Fixes based on beta testing results&lt;br /&gt;
&lt;br /&gt;
== 3.21.0-beta.5 - 17.06.2026 ==&lt;br /&gt;
* Fixes based on beta testing results&lt;br /&gt;
&lt;br /&gt;
== 3.21.0-beta.4 - 13.06.2026 ==&lt;br /&gt;
* Fixes based on beta testing results&lt;br /&gt;
&lt;br /&gt;
== 3.21.0-beta.3 - 07.06.2026 ==&lt;br /&gt;
* Fixes based on beta testing results&lt;br /&gt;
&lt;br /&gt;
== 3.21.0-beta.2 - 30.05.2026 ==&lt;br /&gt;
* Fixes based on beta testing results&lt;br /&gt;
&lt;br /&gt;
== 3.21.0-beta.1 - 24.05.2026 ==&lt;br /&gt;
* See the list of changes in [[3.21_EN|3.21]]&lt;/div&gt;</summary>
		<author><name>IronBot</name></author>
	</entry>
	<entry>
		<id>https://wiki.userside.eu/index.php?title=3.21_EN&amp;diff=22231</id>
		<title>3.21 EN</title>
		<link rel="alternate" type="text/html" href="https://wiki.userside.eu/index.php?title=3.21_EN&amp;diff=22231"/>
		<updated>2026-07-06T13:59:48Z</updated>

		<summary type="html">&lt;p&gt;IronBot: [IronBot] Sync EN localization from RU&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;en&#039;&#039;&#039; | [[3.21_UK|uk]] | [[3.21|ru]]&lt;br /&gt;
&lt;br /&gt;
Release date: &#039;&#039;&#039;June 2026&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Main changes: https://promo.userside.eu/321/&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
See also:&lt;br /&gt;
* [[Upgrade_3.21|Upgrade to version 3.21]]&lt;br /&gt;
* [[Versions of ERP &amp;quot;USERSIDE&amp;quot;]] | [[Versions 3.21 EN|Versions 3.21]]&lt;br /&gt;
&lt;br /&gt;
== List of changes ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;High-priority changes:&#039;&#039;&#039;&lt;br /&gt;
* [[PWA (application)|PWA &#039;&#039;(application)&#039;&#039;]]&lt;br /&gt;
* Automatic building of a [[Business process|business logic/workflow diagram]] for task types based on task chains and automation&lt;br /&gt;
* Updated task [[Calendar|calendar]] and [[Google Calendar integration|Google Calendar integration]]&lt;br /&gt;
* A separate [[Bulk inventory transfer|interface for fast inventory transfer]] by scanning or entering barcodes, serial numbers, and other identifiers &#039;&#039;(including barcode scanning with a mobile device camera)&#039;&#039;&lt;br /&gt;
* [[Switching scheme#anchor_321|Switching scheme snapshots]] are shown on the main scheme and are generated directly during switching/disconnection operations on a communications installation&lt;br /&gt;
* In the switching scheme, creating connections and deleting or changing a connection polyline is performed without reloading or waiting for the page &#039;&#039;(in practice, this made work 2-10 times faster)&#039;&#039;&lt;br /&gt;
* A home-page panel with [[Work schedule#anchor_321|task filter counters/KPI indicators]]&lt;br /&gt;
* &amp;quot;Physical&amp;quot; [[Document signing with customers|document signing by customers/clients]] on tablets &#039;&#039;(mobile devices)&#039;&#039;&lt;br /&gt;
* Automatic real-time GPS position updates for transport on the map &#039;&#039;(every N seconds)&#039;&#039;&lt;br /&gt;
* Home-page widget with [[Statistics#anchor_321|the most problematic customers and buildings]]&lt;br /&gt;
* New [[Structural scheme|structural scheme]]. Scaling and SVG export&lt;br /&gt;
* [[Internal API EN|Internal API]] v2. Event system in ERP&lt;br /&gt;
* IPv6 accounting support for equipment and customers&lt;br /&gt;
* Updated UI/UX&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Customers/clients:&#039;&#039;&#039;&lt;br /&gt;
* Added mass import of potential customers&lt;br /&gt;
* Added the ability to send SMS in group actions for customers&lt;br /&gt;
* &#039;&#039;&#039;Specific customers can be added to SMS mailing conditions&#039;&#039;&#039;&lt;br /&gt;
* Added the &amp;quot;Ignore SMS opt-out&amp;quot; filter to SMS mailings&lt;br /&gt;
* Added different customer-data templates for group email sending to customers&lt;br /&gt;
* Customer correspondence can hide comments from tasks&lt;br /&gt;
* Added customer status history storage&lt;br /&gt;
* Added IP address usage history&lt;br /&gt;
* Customer list:&lt;br /&gt;
** &#039;&#039;&#039;The filter now supports &amp;quot;and/or&amp;quot; mode&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;The filter can now include/exclude conditions &#039;&#039;(previously it could only include them)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
** Added the &amp;quot;Customers included in equipment&amp;quot; filter&lt;br /&gt;
** Added filtering by task number. The task card also shows a link to this filter when at least three customers are attached to the task&lt;br /&gt;
** The customer list can display the &amp;quot;Manager&amp;quot; field&lt;br /&gt;
** The list of customers dependent on a device/communications installation also includes customers that are not commutated but have devices &#039;&#039;(for example ONU)&#039;&#039; that depend on the parent object&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equipment:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Added tabs to the switch/equipment card&#039;&#039;&#039;&lt;br /&gt;
* If a device has no IP address, has one port, and is connected to an upstream managed switch, the port table for that device shows SNMP information from the upstream device port&lt;br /&gt;
* PON:&lt;br /&gt;
** &#039;&#039;&#039;ONU signal level history is now displayed as a chart&#039;&#039;&#039;&lt;br /&gt;
** The order and displayed fields can be configured for the list of connected ONUs&lt;br /&gt;
** The OLT card now shows an ONU counter on ports&lt;br /&gt;
* Split percentages can be specified for planned splitters&lt;br /&gt;
* Added the &amp;quot;Number of occupied adapters&amp;quot; field to the splitters table&lt;br /&gt;
* Devices can be added manually in the VLAN card&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Switching scheme:&#039;&#039;&#039;&lt;br /&gt;
* Labels on the switching scheme can be rotated&lt;br /&gt;
* When adding a splitter from the switching scheme, the user no longer leaves the scheme for the splitter card&lt;br /&gt;
* The switching wizard can now switch devices&lt;br /&gt;
* Added the ability to quickly change labels for all ports at once for a distribution frame/ODF in the switching scheme&lt;br /&gt;
* Planned commutations in the replanning scheme can now have their route changed manually&lt;br /&gt;
* On mobile devices, dragging switching lines is blocked by default when the page is opened&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks:&#039;&#039;&#039;&lt;br /&gt;
* Implemented multilevel task type groups&lt;br /&gt;
* Updated task [[Calendar|calendar]]:&lt;br /&gt;
** &#039;&#039;&#039;dragging tasks &#039;&#039;(changing work time)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
** task due time can be changed &#039;&#039;(by dragging the lower boundary)&#039;&#039;&lt;br /&gt;
** weekly/monthly mode for departments and employees&lt;br /&gt;
** modes: &amp;quot;department&amp;quot; / &amp;quot;+ employees&amp;quot; / &amp;quot;+ employees and departments&amp;quot;&lt;br /&gt;
** 15/30/60 minutes &#039;&#039;(previously only one-hour slots)&#039;&#039;&lt;br /&gt;
** high priority is marked, and the information template for the task title and task body can be configured&lt;br /&gt;
* &#039;&#039;&#039;Checks whether a previously attached file still exists in tasks and task comments &#039;&#039;(to prevent employees from attaching old files as if they were new)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
* The task card can transfer inventory available to the employee with one button&lt;br /&gt;
* Added a new special type for task types: &amp;quot;Work with debtors&amp;quot;&lt;br /&gt;
* The task card shows a row with coordinates and a quick link to Google Maps&lt;br /&gt;
* When creating a child task from the task card, files from the parent task can also be copied &#039;&#039;(used)&#039;&#039;&lt;br /&gt;
* Improved display of inventory information in the inventory list when the task status changes&lt;br /&gt;
* &amp;quot;Work notes&amp;quot; were extended from buildings to any address object&lt;br /&gt;
&lt;br /&gt;
* New settings:&lt;br /&gt;
** &amp;quot;Sort customers in the task card by the order in which they were added to the task&amp;quot;&lt;br /&gt;
** &amp;quot;Interval for displaying tasks in the My tasks section (days)&amp;quot;&lt;br /&gt;
** &amp;quot;Block execution of task automation/chain when a task is returned from a status with the system role Deferred&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Task chains/automation:&lt;br /&gt;
** Added the additional condition &amp;quot;Task. Tag&amp;quot;&lt;br /&gt;
** Added action variants:&lt;br /&gt;
*** &amp;quot;Parent task (the very first in the chain). Change status to&amp;quot;&lt;br /&gt;
*** &amp;quot;Parent task (all in the chain). Change status to&amp;quot;&lt;br /&gt;
*** &amp;quot;Inventory. Transfer to parent task&amp;quot;&lt;br /&gt;
*** &amp;quot;Inventory. Transfer to child task&amp;quot;&lt;br /&gt;
*** &amp;quot;Transfer custom field values to the building card&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Task list:&lt;br /&gt;
** The task list can show thumbnails of attached files &#039;&#039;(setting)&#039;&#039;&lt;br /&gt;
** Task filter:&lt;br /&gt;
*** added &amp;quot;and/or&amp;quot; modes&lt;br /&gt;
*** expanded filter by parent task number&lt;br /&gt;
*** expanded filter by &amp;quot;Completed with due time over...&amp;quot;&lt;br /&gt;
*** expanded filter by parent task number&lt;br /&gt;
*** added filtering by checklist value&lt;br /&gt;
** Added group actions in the task list:&lt;br /&gt;
*** &amp;quot;Customers - Open list&amp;quot;&lt;br /&gt;
*** &amp;quot;Assign owner&amp;quot;&lt;br /&gt;
*** &amp;quot;Remove owner&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Warehouse:&#039;&#039;&#039;&lt;br /&gt;
* Implemented inventory transfer to an employee with employee confirmation of receipt/refusal&lt;br /&gt;
* &#039;&#039;&#039;Warehouse operations now have filtering by &amp;quot;Address (with objects)&amp;quot;, which allows selecting inventory transfer operations for all objects in that area&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;The inventory list can now be filtered by any address object &#039;&#039;(including the full hierarchy)&#039;&#039; &#039;&#039;(region, city, street, etc.)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
* The inventory list shows a totals row with total cost/purchase cost&lt;br /&gt;
* In the inventory balance report, report item names are links for quickly viewing the corresponding inventory list&lt;br /&gt;
* Added groups for suppliers&lt;br /&gt;
* Added the ability to send an employee a Messenger/Telegram message when inventory is transferred to or from that employee&#039;s accountability&lt;br /&gt;
* When splitting inventory, MAC addresses/serial numbers can be specified for the resulting items immediately&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coverage:&#039;&#039;&#039;&lt;br /&gt;
* Added automatic real-time GPS position updates for transport on the map &#039;&#039;(every N seconds)&#039;&#039;. Added the &amp;quot;Transport position update interval on the map&amp;quot; setting&lt;br /&gt;
* &#039;&#039;&#039;When several objects overlap on the map &#039;&#039;(communications installations at one point, many closures on one pole, cable lines running next to each other, etc.)&#039;&#039;, hovering over this cluster expands it so the required object can be selected&#039;&#039;&#039;&lt;br /&gt;
* Improved display of cable lines that pass through the visible map area while their endpoints are outside the current view&lt;br /&gt;
* Added a new ruler on the map&lt;br /&gt;
* Added a new map object type: &amp;quot;Link&amp;quot;&lt;br /&gt;
* Popup hints on map polygons now show custom field values&lt;br /&gt;
* The building list can show the penetration percentage field and the &amp;quot;Notes&amp;quot; field, and a filter for this field was added&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Communications installations:&#039;&#039;&#039;&lt;br /&gt;
* A communications installation can be hidden from the coverage map&lt;br /&gt;
* Added the &amp;quot;Suggest a new number when adding an object&amp;quot; parameter for communications installation types&lt;br /&gt;
* In the cabinet/rack layout, popup hints on devices now show serial/inventory numbers&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cable lines:&#039;&#039;&#039;&lt;br /&gt;
* Added filtering by custom fields in the cable line list&lt;br /&gt;
* In group actions for replacing the cable brand in the cable line list, this action can also replace module/fiber/conductor colors in the cable according to the new cable brand&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Employees:&#039;&#039;&#039;&lt;br /&gt;
* Added a personal setting for extra buttons in the left menu of the mobile version, including custom links&lt;br /&gt;
* New rights in employee profiles:&lt;br /&gt;
** View/change supplier information&lt;br /&gt;
** View/change employee fines and bonuses&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;API:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Separate [[UserSide API Key EN|API keys]] can now be created for read-only operations&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;All requests that write or modify data must now be sent only through POST&#039;&#039;&#039;&lt;br /&gt;
* Requests must not include extra parameters. If an extra parameter is present, the request returns an error&lt;br /&gt;
* Improved API method API-&amp;gt;address-&amp;gt;[[API_address_EN#edit_address|edit_address]]&lt;br /&gt;
* Improved API method API-&amp;gt;attach-&amp;gt;[[API_attach_EN#add|add]]&lt;br /&gt;
* Added API method API-&amp;gt;attach-&amp;gt;[[API_attach_EN#upload|upload]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Transport:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Transport operations were deeply reworked. Different types, mileage and deadline control, home-page and transport-list notifications, and operation change history are now supported&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Other:&#039;&#039;&#039;&lt;br /&gt;
* PHP 8.4&lt;br /&gt;
* Added Albanian, Uzbek, and Tajik localizations. Multiple fixes in existing localizations.&lt;br /&gt;
* &#039;&#039;&#039;The [[usm_asterisk]] module now supports transferring call recordings and listening to them in the ERP interface&#039;&#039;&#039;&lt;br /&gt;
* Switched objects from numeric IDs to string UUIDs &#039;&#039;(numeric IDs remain for some objects as additional reference values)&#039;&#039;&lt;br /&gt;
* New WYSIWYG editor&lt;br /&gt;
* &#039;&#039;&#039;Dark interface theme &#039;&#039;(with automatic switching support)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Custom field values can be edited directly in object cards while viewing them &#039;&#039;(without switching to edit mode)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Reworked attached-file block&#039;&#039;&#039;&lt;br /&gt;
** Completely different capabilities, gallery, actions, and more&lt;br /&gt;
** Quick &amp;quot;Take photo&amp;quot; button for mobile devices&lt;br /&gt;
** Large file-add button for mobile devices&lt;br /&gt;
** The Ctrl+V clipboard block now supports pasting multiple images and files of any format &#039;&#039;(not only images)&#039;&#039;&lt;br /&gt;
* New adaptive left menu with hide/show support&lt;br /&gt;
* &#039;&#039;&#039;Added buttons to the left menu for mobile devices:&#039;&#039;&#039;&lt;br /&gt;
** &amp;quot;My position on the map&amp;quot;&lt;br /&gt;
** QR code&lt;br /&gt;
** Barcode &#039;&#039;(and it can beep while scanning)&#039;&#039;. If such an inventory item exists, its card opens; if there are no rights to the inventory item but such equipment exists, the equipment card opens. Otherwise, the search list opens&lt;br /&gt;
** Three buttons for custom links&lt;br /&gt;
** Buttons to share/open a link&lt;br /&gt;
* &#039;&#039;&#039;Added the &amp;quot;Convert HEIC files to JPEG&amp;quot; option and on-the-fly .heic file support&#039;&#039;&#039;&lt;br /&gt;
* The &amp;quot;Notebook&amp;quot; section was transformed into a configurable custom section. This significantly expands its functionality&lt;br /&gt;
* New barcode generation library &#039;&#039;(SVG format)&#039;&#039;&lt;br /&gt;
* Improved the cash receipts report: grouping by settlements and by settlements + months, plus detailed payment list viewing&lt;br /&gt;
* In group actions for objects, the &amp;quot;Apply&amp;quot; button now shows the number of selected objects and is blocked if no action/objects are selected&lt;br /&gt;
* The date/date-time selector localization was fixed for the current language&lt;br /&gt;
* A compatibility solution for dates after 2038 was implemented preventively &#039;&#039;(&amp;quot;Unix 2038 bug&amp;quot;)&#039;&#039;&lt;br /&gt;
* Separate SMS profiles for work. For example, each SMS mailing can use a separate SMS profile &#039;&#039;(custom alpha name, different operator, etc.)&#039;&#039;&lt;br /&gt;
* Object-list filters by custom field values now include &amp;quot;greater than&amp;quot; and &amp;quot;less than&amp;quot; variants&lt;br /&gt;
* New versions of external [[Modules_EN|modules]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Other changes: see https://wiki.userside.eu/3.20&lt;/div&gt;</summary>
		<author><name>IronBot</name></author>
	</entry>
	<entry>
		<id>https://wiki.userside.eu/index.php?title=API_attach_UK&amp;diff=22230</id>
		<title>API attach UK</title>
		<link rel="alternate" type="text/html" href="https://wiki.userside.eu/index.php?title=API_attach_UK&amp;diff=22230"/>
		<updated>2026-07-06T13:59:03Z</updated>

		<summary type="html">&lt;p&gt;IronBot: [IronBot] Sync UK localization from RU&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[API_attach_EN|en]] | &#039;&#039;&#039;uk&#039;&#039;&#039; | [[API attach|ru]]&lt;br /&gt;
&lt;br /&gt;
Розділ &#039;&#039;&#039;[[API_UK|API]]&#039;&#039;&#039; ERP &amp;quot;UserSide&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Призначення: Робота з прикріпленими файлами&lt;br /&gt;
&lt;br /&gt;
 Додаткові параметри:&lt;br /&gt;
 action - підкатегорія запиту &#039;&#039;(можливе значення: див. нижче)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Підкатегорії ==&lt;br /&gt;
&lt;br /&gt;
==== add ====&lt;br /&gt;
&#039;&#039;Доопрацьовано у: 3.21.0-beta.3 (виключено параметри src, name, comment, src_id)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Доопрацьовано у: 3.19.48 (додано параметр uuid)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Доопрацьовано у: 3.16.19 (додано параметри name і comment)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Доопрацьовано у: 3.16dev4 (до параметра object_type додано можливе значення cable_line)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Доопрацьовано у: 3.16dev2 (виключено параметр operator_id, додано параметр employee_id)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Доопрацьовано у: 3.15.42 (до параметра object_type додано можливе значення inventory)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Доопрацьовано у: 3.14.21 (до параметра object_type додано можливе значення customer)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 Опис: Додавання файла до об&#039;єкта&lt;br /&gt;
 Обов&#039;язкові параметри:&lt;br /&gt;
  object_type - тип об&#039;єкта [cable_line|customer|node|task|task_comment|inventory]&lt;br /&gt;
  object_id - id об&#039;єкта, до якого прикріплювати файл&lt;br /&gt;
  comment_id - id коментаря до завдання, до якого прикріплювати файл &#039;&#039;(для типу task_comment)&#039;&#039;&lt;br /&gt;
  uuid - uuid іншого файла, який уже завантажений і який потрібно прикріпити до іншого об&#039;єкта&lt;br /&gt;
 Необов&#039;язкові параметри:&lt;br /&gt;
  employee_id - id співробітника, від імені якого прикріпити файл&lt;br /&gt;
  name - ім&#039;я файла &#039;&#039;(довільний текст)&#039;&#039; &#039;&#039;(до версії 3.21)&#039;&#039;&lt;br /&gt;
  comment - нотатки/опис до файла &#039;&#039;(до версії 3.21)&#039;&#039;&lt;br /&gt;
  src_id - id методу/типу завантаження файла &#039;&#039;(довільно, на розсуд клієнта)&#039;&#039; &#039;&#039;(до версії 3.21)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== delete ====&lt;br /&gt;
&#039;&#039;Доопрацьовано у: 3.19beta1 (виключено параметр id, додано параметр uuid)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Додано з: 3.12beta25&#039;&#039;&lt;br /&gt;
 Опис: Видалення файла&lt;br /&gt;
 Обов&#039;язкові параметри:&lt;br /&gt;
  id - id файла &#039;&#039;(версії до 3.19)&#039;&#039;&lt;br /&gt;
  uuid - uuid файла &#039;&#039;(версія 3.19+)&#039;&#039;&lt;br /&gt;
  name - ім&#039;я файла &#039;&#039;(без шляхів)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== get ====&lt;br /&gt;
&#039;&#039;Доопрацьовано у: 3.20.23 (до параметра object_type додано можливе значення additional_field)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Доопрацьовано у: 3.19beta1 (виключено параметр id, додано параметр uuid)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Доопрацьовано у: 3.16dev4 (до параметра object_type додано можливе значення cable_line)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Доопрацьовано у: 3.15.42 (до параметра object_type додано можливе значення inventory)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Доопрацьовано у: 3.15.12 (додано параметри object_type і object_id)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Доопрацьовано у: 3.14.41 (додано параметри ext_name і int_name)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Додано з: 3.14.36&#039;&#039;&lt;br /&gt;
 Опис: Отримання інформації&lt;br /&gt;
 Обов&#039;язкові параметри &#039;&#039;(щось одне)&#039;&#039;:&lt;br /&gt;
  uuid - uuid файла &#039;&#039;(можна через кому)&#039;&#039; &#039;&#039;(версії 3.19+)&#039;&#039;&lt;br /&gt;
  id - id файла &#039;&#039;(можна через кому)&#039;&#039; &#039;&#039;(версії до 3.19)&#039;&#039;&lt;br /&gt;
  ext_name - зовнішнє ім&#039;я файла &#039;&#039;(початкове)&#039;&#039;&lt;br /&gt;
  int_name - внутрішнє ім&#039;я файла &#039;&#039;(як зберігається в системі)&#039;&#039;&lt;br /&gt;
  object_type - тип об&#039;єкта [additional_field|cable_line|customer|inventory|node|task|task_comment] &#039;&#039;(використовується разом з object_id)&#039;&#039;&lt;br /&gt;
  object_id - id/uuid об&#039;єкта, до якого прикріплений файл &#039;&#039;(використовується разом з object_type)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== get_file ====&lt;br /&gt;
&#039;&#039;Доопрацьовано у: 3.19beta1 (виключено параметр id, додано параметр uuid)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Додано з: 3.14.57&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 Опис: Виведення вмісту файла &#039;&#039;(у бінарному вигляді)&#039;&#039;&lt;br /&gt;
 Обов&#039;язкові параметри:&lt;br /&gt;
  uuid - uuid файла &#039;&#039;(версії 3.19+)&#039;&#039;&lt;br /&gt;
  id - id файла &#039;&#039;(версії до 3.19)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== get_file_temporary_link ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Доопрацьовано у: 3.19beta1 (виключено параметр id, додано параметр uuid)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Додано з: 3.17dev1&#039;&#039;&lt;br /&gt;
 Опис: Надання прямого тимчасового посилання для завантаження файла&lt;br /&gt;
 Обов&#039;язкові параметри:&lt;br /&gt;
  uuid - uuid файла &#039;&#039;(версії 3.19+)&#039;&#039;&lt;br /&gt;
  id - id файла &#039;&#039;(версії до 3.19)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== upload ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Доопрацьовано у: 3.21.4 (додано параметр additional_field_id)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Додано з: 3.21.0-beta.3&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Опис: Завантаження (додавання) файла до об&#039;єкта.&lt;br /&gt;
 &lt;br /&gt;
 content-type=multipart/form-data&lt;br /&gt;
 &lt;br /&gt;
 Обов&#039;язкові параметри:&lt;br /&gt;
  object_type - тип об&#039;єкта [cable_line|customer|node|task|task_comment|inventory]&lt;br /&gt;
  object_id - id об&#039;єкта, до якого прикріплювати файл&lt;br /&gt;
  comment_id - id коментаря до завдання, до якого прикріплювати файл &#039;&#039;(для object_type=task_comment)&#039;&#039;&lt;br /&gt;
  file - файл&lt;br /&gt;
 Необов&#039;язкові параметри:&lt;br /&gt;
  additional_field_id - id додаткового поля &#039;&#039;(якщо потрібно прикріпити файл до додаткового поля об&#039;єкта. Тип додаткового поля має бути &amp;quot;Файл&amp;quot;)&#039;&#039;&lt;br /&gt;
  employee_id - id співробітника, від імені якого додати файл&lt;br /&gt;
  name - ім&#039;я файла &#039;&#039;(довільний текст)&#039;&#039;&lt;br /&gt;
  comment - нотатки/опис до файла&lt;br /&gt;
  src_id - id методу/типу завантаження файла &#039;&#039;(довільно, на розсуд клієнта)&#039;&#039;&lt;/div&gt;</summary>
		<author><name>IronBot</name></author>
	</entry>
	<entry>
		<id>https://wiki.userside.eu/index.php?title=API_customer_EN&amp;diff=22229</id>
		<title>API customer EN</title>
		<link rel="alternate" type="text/html" href="https://wiki.userside.eu/index.php?title=API_customer_EN&amp;diff=22229"/>
		<updated>2026-07-06T13:59:03Z</updated>

		<summary type="html">&lt;p&gt;IronBot: [IronBot] Sync EN localization from RU&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;en&#039;&#039;&#039; | [[API_customer_UK|uk]] | [[API customer|ru]]&lt;br /&gt;
&lt;br /&gt;
Section &#039;&#039;&#039;[[API_EN|API]]&#039;&#039;&#039; ERP &amp;quot;UserSide&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Purpose: Actions with customers. Most actions are relevant for [[Supported_billings|manual billing]].&lt;br /&gt;
&lt;br /&gt;
 Additional parameters:&lt;br /&gt;
 action - subcategory of the request &#039;&#039;(possible value: see below)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Subcategories ==&lt;br /&gt;
&lt;br /&gt;
==== add ====&lt;br /&gt;
&#039;&#039;Modified in: 3.13.25 (added is_corporate parameter)&#039;&#039;&lt;br /&gt;
 Description: Add a customer&lt;br /&gt;
 Optional parameters:&lt;br /&gt;
  fio - name of the customer&lt;br /&gt;
  codeti - customer id in the billing system&lt;br /&gt;
  is_potential - flag - potential customer&lt;br /&gt;
  is_corporate - flag - legal entity&lt;br /&gt;
  billing_id - billing id&lt;br /&gt;
  billing_customer_id - customer id in billing &#039;&#039;(required if this is not a potential customer)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== abon_hist ====&lt;br /&gt;
&#039;&#039;Modified in: 3.17dev1 (excluded usercode parameter, added customer_id parameter)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 Description: Display customer transactions (financial and other)&lt;br /&gt;
 Required parameters:&lt;br /&gt;
  usercode - &#039;&#039;(for version 3.16 and earlier)&#039;&#039; customer ID&lt;br /&gt;
  customer_id - &#039;&#039;(for version 3.17 and later)&#039;&#039; customer ID&lt;br /&gt;
&lt;br /&gt;
==== change_balance ====&lt;br /&gt;
&#039;&#039;Modified  in: 3.16dev2 (removed operator_id parameter, added employee_id parameter)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Modified in: 3.13.22 (added operator_id parameter)&#039;&#039;&lt;br /&gt;
 Description: Change balance (income/expense operation)&lt;br /&gt;
 Required parameters:&lt;br /&gt;
  customer_id - customer ID&lt;br /&gt;
  amount - Amount&lt;br /&gt;
  comment - operation notes&lt;br /&gt;
 Optional parameters:&lt;br /&gt;
  employee_id - employee ID&lt;br /&gt;
  operator_id - operator ID &#039;&#039;(before version 3.16dev2)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== change_billing ====&lt;br /&gt;
&#039;&#039;Modified  in: 3.16.23 (added billing_user_id parameter)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Added in: 3.12.48&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 Description: Change billing&lt;br /&gt;
 Required parameters:&lt;br /&gt;
  customer_id - customer id&lt;br /&gt;
  billing_id - billing id&lt;br /&gt;
 Optional parameters:&lt;br /&gt;
  billing_user_id - customer id in billing&lt;br /&gt;
&lt;br /&gt;
==== change_date_connect ====&lt;br /&gt;
&#039;&#039;Added in: 3.12.80&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 Description: Change the connection date&lt;br /&gt;
 Required parameters:&lt;br /&gt;
  customer_id - customer ID&lt;br /&gt;
  value - date&lt;br /&gt;
&lt;br /&gt;
==== delete ====&lt;br /&gt;
&#039;&#039;Added in: 3.14.21&#039;&#039;&lt;br /&gt;
 Description: Delete a customer&lt;br /&gt;
 Required parameters:&lt;br /&gt;
  id - customer ID&lt;br /&gt;
&lt;br /&gt;
==== edit ====&lt;br /&gt;
&#039;&#039;Modified in: 3.20.10 (added coordinates parameter)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Modified  in: 3.16dev3 (added group_id parameter)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Modified  in: 3.13.56 (added manager_id parameter)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Added in: 3.12rc2&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 Description: Edit a customer&lt;br /&gt;
 Required parameters:&lt;br /&gt;
  id - customer ID&lt;br /&gt;
 Optional parameters:&lt;br /&gt;
  account_number - personal account number&lt;br /&gt;
  agreement_date - agreement date&lt;br /&gt;
  agreement_number - agreement number&lt;br /&gt;
  apartment_number - flat number&lt;br /&gt;
  comment - notes&lt;br /&gt;
  coordinates - coordinates as text separated by comma &#039;&#039;(example: 47.839628,35.140553)&#039;&#039;&lt;br /&gt;
  date_activity - date of network activity&lt;br /&gt;
  date_activity_inet - date of internet activity&lt;br /&gt;
  date_connect - date of connection&lt;br /&gt;
  email - email address&lt;br /&gt;
  entrance - entrance number&lt;br /&gt;
  flag_corporate - flag - legal entity&lt;br /&gt;
  floor - floor&lt;br /&gt;
  group_id - group id&lt;br /&gt;
  house_id - house id&lt;br /&gt;
  is_potential - flag - potential customer&lt;br /&gt;
  login - login&lt;br /&gt;
  manager_id - id of manager employee&lt;br /&gt;
  name - name of customer&lt;br /&gt;
  parent_id - id of parent customer &#039;&#039;(for the child customer)&#039;&#039;&lt;br /&gt;
  phone0 - mobile phone number&lt;br /&gt;
  phone1 - home phone number&lt;br /&gt;
  phone2 - additional phone number 1&lt;br /&gt;
  phone3 - additional phone number 2&lt;br /&gt;
  phone4 - additional phone number 3&lt;br /&gt;
&lt;br /&gt;
==== get_activity_counter ====&lt;br /&gt;
&#039;&#039;Added in: 3.12.81&#039;&#039;&lt;br /&gt;
 Description: Retrieve the counter of active customers&lt;br /&gt;
 Required parameters:&lt;br /&gt;
  type - counter type &#039;&#039;(Possible values: net, internet, personal_area)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== get_abon_id ====&lt;br /&gt;
&#039;&#039;Modified in: 3.14.34 (added possible account value for data_typer parameter)&#039;&#039;&lt;br /&gt;
 Description: Retrieve customer ID from input data&lt;br /&gt;
 Required parameters:&lt;br /&gt;
  data_typer - type of data we are checking &#039;&#039;(possible values: account, billing_uid, codeti, dognumber, ip, login, mac, mail, phone)&#039;&#039;&lt;br /&gt;
  data_value - value&lt;br /&gt;
 Optional parameters:&lt;br /&gt;
  is_skip_old - flag - do not search among former customers&lt;br /&gt;
&lt;br /&gt;
==== get_customer_group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Added in: 3.19beta1&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 Description: Get list of customer groups&lt;br /&gt;
 Required parameters:&lt;br /&gt;
  None&lt;br /&gt;
 Optional parameters:&lt;br /&gt;
  None&lt;br /&gt;
&lt;br /&gt;
==== get_customers_id ====&lt;br /&gt;
&#039;&#039;Modified in: 3.21.8 (added group_id parameter)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Modified in: 3.19.31 (added account_number parameter)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Modified in: 3.19.15 (added billing_uuid parameter)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Modified in: 3.18.36 (added manager_id parameter)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Modified in: 3.18.10 (added is_corporate parameter)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Modified in: 3.16dev3 (added parameters name, limit, is_like)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Modified in: 3.15.26 (added is_ex parameter)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Modified in: 3.14.71 (added dependence_device_id parameter)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Modified in: 3.14.58 (added balance_from, balance_to, state_id parameters)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Modified in: 3.14.41 (added date_connect_from and date_connect_to parameters)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Modified in: 3.14.5 (added address_unit_id parameter)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Modified in: 3.13.48 (added tariff_id parameter)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Modified in: 3.13.35 (added mark_id parameter)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Added in: 3.12.8&#039;&#039;&lt;br /&gt;
 Description: Retrieve list of customer IDs by incoming conditions&lt;br /&gt;
 Required parameters:&lt;br /&gt;
  None&lt;br /&gt;
 Optional parameters &#039;&#039;(but at least one condition must be specified)&#039;&#039;:&lt;br /&gt;
  account_number - personal account number&lt;br /&gt;
  address_unit_id - address unit id&lt;br /&gt;
  appartment - number of the flat&lt;br /&gt;
  balance_from - balance &#039;&#039;(from)&#039;&#039;&lt;br /&gt;
  balance_to - balance &#039;&#039;(to)&#039;&#039;&lt;br /&gt;
  billing_id - billing number id&lt;br /&gt;
  billing_uuid - customer id in billing&lt;br /&gt;
  date_connect_from - date of connection &#039;&#039;(from)&#039;&#039;&lt;br /&gt;
  date_connect_to - date of connection &#039;&#039;(to)&#039;&#039;&lt;br /&gt;
  dependence_device_id - id of the device the customers depend on&lt;br /&gt;
  group_id - group id&lt;br /&gt;
  house_id - house id&lt;br /&gt;
  is_corporate - flag - a legal entity&lt;br /&gt;
  is_ex - flag - former customers&lt;br /&gt;
  manager_id - manager id &#039;&#039;(0 to search without manager)&#039;&#039;&lt;br /&gt;
  mark_id - mark id&lt;br /&gt;
  name - name/title of customer&lt;br /&gt;
  state_id - status id&lt;br /&gt;
  tariff_id - tariff id&lt;br /&gt;
  limit - maximum number of records to return in the response&lt;br /&gt;
  is_like - flag - use substring comparison where possible &#039;&#039;(not a full match)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== get_data ====&lt;br /&gt;
 Description: Retrieve customer information&lt;br /&gt;
 Required parameters:&lt;br /&gt;
  customer_id - customer ID&lt;br /&gt;
  or&lt;br /&gt;
  account_number - customer&#039;s personal account number&lt;br /&gt;
  +&lt;br /&gt;
  billing_id - billing ID&lt;br /&gt;
&lt;br /&gt;
==== get_ip_port_device_commutation ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Added in: 3.12beta35&#039;&#039;&lt;br /&gt;
 Description: Get customer IP and MAC addresses with switch bindings &#039;&#039;(including for DHCP use)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== get_last_ip ====&lt;br /&gt;
 Description: Get the last used IP address for customers&lt;br /&gt;
&lt;br /&gt;
==== get_mac_history ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Added to: 3.16dev8&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 Description: Get MAC address change history by customer&lt;br /&gt;
 Required parameters:&lt;br /&gt;
  customer_id - customer ID&lt;br /&gt;
&lt;br /&gt;
==== get_max_agreement_number ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Added in: 3.12.3&#039;&#039;&lt;br /&gt;
 Description: Get the maximum occupied contract number &#039;&#039;(numeric)&#039;&#039;&lt;br /&gt;
 Optional parameters:&lt;br /&gt;
  billing_id - billing id of customers among which to perform the selection&lt;br /&gt;
&lt;br /&gt;
==== ip_add ====&lt;br /&gt;
&#039;&#039;Modified in: 3.17.36 (added mac parameter)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Added in: 3.12.83&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 Description: Add IP address&lt;br /&gt;
 Required parameters:&lt;br /&gt;
  customer_id - customer ID&lt;br /&gt;
  value - IP&lt;br /&gt;
 Optional parameters:&lt;br /&gt;
  mac - MAC of the customer&lt;br /&gt;
&lt;br /&gt;
==== ip_delete ====&lt;br /&gt;
&#039;&#039;Modified in: 3.19beta1 (added possible value all to the value parameter)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Added in: 3.12.83&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 Description: Delete IP address&lt;br /&gt;
 Required parameters:&lt;br /&gt;
  customer_id - customer ID&lt;br /&gt;
  value - ip or &amp;quot;-1&amp;quot; for entries with no IP address &#039;&#039;(MAC address only)&#039;&#039; or &amp;quot;all&amp;quot; for all addresses&lt;br /&gt;
&lt;br /&gt;
==== ip_subnet_add ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Added in: 3.14.71&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 Description: Add an IP address subnet for a customer&lt;br /&gt;
 Required parameters:&lt;br /&gt;
  customer_id - customer ID&lt;br /&gt;
  ip - initial ip address&lt;br /&gt;
  subnet - subnet mask/VLSM &#039;&#039;(for example: 24)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== ip_subnet_delete ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Added to: 3.14.71&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 Description: Delete an IP address subnet from a customer&lt;br /&gt;
 Required parameters:&lt;br /&gt;
  customer_id - customer ID&lt;br /&gt;
  ip - initial ip address&lt;br /&gt;
&lt;br /&gt;
==== list_tarif_available ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Excluded in: 3.13&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 Description: List of tariffs available for customer tariff changes&lt;br /&gt;
 Required parameters:&lt;br /&gt;
  usercode - customer ID&lt;br /&gt;
&lt;br /&gt;
==== mark_add ====&lt;br /&gt;
&#039;&#039;Added in: 3.12.82&#039;&#039;&lt;br /&gt;
 Description: Add a mark to a customer&lt;br /&gt;
 Required parameters:&lt;br /&gt;
  customer_id - customer ID&lt;br /&gt;
  mark_id - mark id&lt;br /&gt;
&lt;br /&gt;
==== mark_delete ====&lt;br /&gt;
&#039;&#039;Added in: 3.12.82&#039;&#039;&lt;br /&gt;
 Description: Delete a mark from a customer&lt;br /&gt;
 Required parameters:&lt;br /&gt;
  customer_id - customer ID&lt;br /&gt;
  mark_id - mark id&lt;br /&gt;
&lt;br /&gt;
==== msg ====&lt;br /&gt;
&#039;&#039;Modified in: 3.17dev1 (usercode parameter removed, customer_id parameter added)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Modified in: 3.16dev3 (made usercode parameter optional)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Modified in: 3.16dev2 (excluded operator_id parameter, added employee_id parameter)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Modified in: 3.14.53 (added date_add_from, date_add_to, operator_id parameters)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 Description: Display correspondence with a customer&lt;br /&gt;
 Optional parameters &#039;&#039;(at least one is required)&#039;&#039;:&lt;br /&gt;
  usercode - &#039;&#039;(for version 3.16 and earlier)&#039;&#039; customer ID&lt;br /&gt;
  customer_id - &#039;&#039;(for version 3.17 and later)&#039;&#039; customer ID&lt;br /&gt;
  date_add_from - date of message (from)&lt;br /&gt;
  date_add_to - date of message (to)&lt;br /&gt;
  is_answer - whether the message has an answer &#039;&#039;(1 - answered, 0 - not answered)&#039;&#039;&lt;br /&gt;
  is_archive - whether the message is archived&lt;br /&gt;
  employee_id - id of the employee who authored the message&lt;br /&gt;
  operator_id - id of the operator who authored the message &#039;&#039;(before version 3.16dev2)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== msg_add ====&lt;br /&gt;
&#039;&#039;Added in: 3.13.25&#039;&#039;&lt;br /&gt;
 Description: Add a message from a customer&lt;br /&gt;
 Required parameters:&lt;br /&gt;
  customer_id - customer ID&lt;br /&gt;
  text - Message text&lt;br /&gt;
 Optional parameters:&lt;br /&gt;
  is_arc - flag - put the message into the archive&lt;br /&gt;
&lt;br /&gt;
==== pass_change ====&lt;br /&gt;
&#039;&#039;Modified in: 3.17dev1 (usercode parameter removed, customer_id parameter added)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Modified in: 3.15.23 (pass_old parameter became optional)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 Description: Change password for logging in to the customer portal&lt;br /&gt;
 Required parameters:&lt;br /&gt;
  usercode - &#039;&#039;(for version 3.16 and earlier)&#039;&#039; customer ID&lt;br /&gt;
  customer_id - &#039;&#039;(for version 3.17 and later)&#039;&#039; customer ID&lt;br /&gt;
  pass_new - new password&lt;br /&gt;
 Additional parameters:&lt;br /&gt;
  pass_old - current password&lt;br /&gt;
&lt;br /&gt;
==== service_add ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Added in: 3.18beta1&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 Description: Add additional service&lt;br /&gt;
 Required parameters:&lt;br /&gt;
  customer_id - customer ID&lt;br /&gt;
  service_id - id of additional service&lt;br /&gt;
 Optional parameters:&lt;br /&gt;
  price - individual price&lt;br /&gt;
  comment - notes&lt;br /&gt;
&lt;br /&gt;
==== service_remove ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Added in: 3.18beta1&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 Description: Remove additional service&lt;br /&gt;
 Required parameters:&lt;br /&gt;
  customer_id - customer ID&lt;br /&gt;
  service_id - id of additional service&lt;br /&gt;
&lt;br /&gt;
==== set_mac_by_ip ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Added in: 3.12beta35&#039;&#039;&lt;br /&gt;
 Description: Set the MAC address for a customer&#039;s IP address&lt;br /&gt;
 Required parameters:&lt;br /&gt;
  ip - IP address of the customer (for example: 192.168.0.1)&lt;br /&gt;
  mac - MAC address of the customer (for example: 00:11:22:33:44:55)&lt;br /&gt;
&lt;br /&gt;
==== state_change ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Modified in: 3.17dev1 (removed usercode parameter, added customer_id parameter)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Added in: 3.12.8&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 Description: Change a customer&#039;s service status&lt;br /&gt;
 Required parameters:&lt;br /&gt;
  usercode - &#039;&#039;(for version 3.16 and earlier)&#039;&#039; customer ID&lt;br /&gt;
  customer_id - &#039;&#039;(for version 3.17 and later)&#039;&#039; customer ID&lt;br /&gt;
  state_id - customer status ID (0 - stop, 1 - paused, 2 - active)&lt;br /&gt;
&lt;br /&gt;
==== tarif_change ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Modified in: 3.17dev1 (excluded usercode parameter, added customer_id parameter)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 Description: Change a customer&#039;s tariff&lt;br /&gt;
 Required parameters:&lt;br /&gt;
  usercode - &#039;&#039;(for version 3.16 and earlier)&#039;&#039; customer ID&lt;br /&gt;
  customer_id - &#039;&#039;(for version 3.17 and later)&#039;&#039; customer ID&lt;br /&gt;
  tarif - new tariff ID&lt;br /&gt;
&lt;br /&gt;
==== to_ex ====&lt;br /&gt;
&#039;&#039;Modified in: 3.17dev1 (removed usercode parameter, added customer_id parameter)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Added in: 3.12.69&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 Description: Move a customer to the &#039;&#039;Former customers&#039;&#039; category&lt;br /&gt;
 Required parameters:&lt;br /&gt;
  usercode - &#039;&#039;(for version 3.16 and earlier)&#039;&#039; customer ID&lt;br /&gt;
  customer_id - &#039;&#039;(for version 3.17 and later)&#039;&#039; customer ID&lt;br /&gt;
&lt;br /&gt;
==== to_normal ====&lt;br /&gt;
&#039;&#039;Modified in: 3.17dev1 (removed usercode parameter, added customer_id parameter)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Added in: 3.12.90&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 Description: Move a customer back to normal status (from &amp;quot;Former customers&amp;quot;)&lt;br /&gt;
 Required parameters:&lt;br /&gt;
  usercode - &#039;&#039;(for version 3.16 and earlier)&#039;&#039; customer ID&lt;br /&gt;
  customer_id - &#039;&#039;(for version 3.17 and later)&#039;&#039; customer ID&lt;br /&gt;
&lt;br /&gt;
==== merge ====&lt;br /&gt;
&#039;&#039;Added in: 3.19.33&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 Description: Merge customers&lt;br /&gt;
 Required parameters:&lt;br /&gt;
  dst_id - main customer id&lt;br /&gt;
  src_id - secondary customer id &#039;&#039;(whose information is moved to the main customer)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== msg_add_to_customer ====&lt;br /&gt;
&#039;&#039;Added in: 3.19.45&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 Description: Add a message from an employee to a customer&lt;br /&gt;
 Required parameters:&lt;br /&gt;
  employee_id - employee id&lt;br /&gt;
  customer_id - customer id&lt;br /&gt;
  text - Message text&lt;br /&gt;
 Optional parameters:&lt;br /&gt;
  is_arc - flag - put the message into the archive&lt;/div&gt;</summary>
		<author><name>IronBot</name></author>
	</entry>
	<entry>
		<id>https://wiki.userside.eu/index.php?title=Versions_3.20_EN&amp;diff=22228</id>
		<title>Versions 3.20 EN</title>
		<link rel="alternate" type="text/html" href="https://wiki.userside.eu/index.php?title=Versions_3.20_EN&amp;diff=22228"/>
		<updated>2026-07-06T13:59:03Z</updated>

		<summary type="html">&lt;p&gt;IronBot: [IronBot] Sync EN localization from RU&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;en&#039;&#039;&#039; | [[Версії_3.20|uk]] | [[Версии_3.20|ru]]&lt;br /&gt;
&lt;br /&gt;
Branch versions [[3.20_EN|3.20]]&lt;br /&gt;
&lt;br /&gt;
Also see: [[Versions of ERP &amp;quot;USERSIDE&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
== 3.20.26 (in development) ==&lt;br /&gt;
* Fixed employee login generation/transliteration on creation &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed an error when building the inventory balance by tasks report&lt;br /&gt;
&lt;br /&gt;
== 3.20.25 - 24.06.2026 ==&lt;br /&gt;
* Improved the display of planned cable lines on the coverage map according to cable-density color settings&lt;br /&gt;
* Fixed a bug with displaying the cable line list &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed minor bugs and changes&lt;br /&gt;
&lt;br /&gt;
== 3.20.24 - 27.05.2026 ==&lt;br /&gt;
* Fixed minor bugs and changes&lt;br /&gt;
&lt;br /&gt;
== 3.20.23 - 27.04.2026 ==&lt;br /&gt;
* Added API method-&amp;gt;call-&amp;gt;[[API_call_EN#agent_call|agent_call]]&lt;br /&gt;
* Added API method-&amp;gt;chapter-&amp;gt;[[API_chapter_EN#link_add|link_add]]&lt;br /&gt;
* Added API method-&amp;gt;chapter-&amp;gt;[[API_chapter_EN#link_get|link_get]]&lt;br /&gt;
* Added API method-&amp;gt;chapter-&amp;gt;[[API_chapter_EN#link_remove|link_remove]]&lt;br /&gt;
* Improved API method-&amp;gt;call-&amp;gt;[[API_call_EN#add|add]]&lt;br /&gt;
* Improved API method-&amp;gt;task-&amp;gt;[[API_task_EN#edit|edit]]&lt;br /&gt;
* Completed tasks now also show the &amp;quot;Overdue&amp;quot; flag when work deadlines are missed&lt;br /&gt;
* Fixed a bug when opening the work calendar &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed minor bugs&lt;br /&gt;
&lt;br /&gt;
== 3.20.22 - 04.04.2026 ==&lt;br /&gt;
* Fixed selecting an empty value in the task type for registration by phone&lt;br /&gt;
* Optimization work&lt;br /&gt;
* Fixed minor bugs&lt;br /&gt;
&lt;br /&gt;
== 3.20.21 - 11.03.2026 ==&lt;br /&gt;
* Fixed display of the error counter on equipment interfaces &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed SMS message template settings for customers in tasks&lt;br /&gt;
* Optimization work&lt;br /&gt;
* Fixed minor bugs&lt;br /&gt;
&lt;br /&gt;
== 3.20.20 - 22.02.2026 ==&lt;br /&gt;
* Optimized the &amp;quot;My tasks&amp;quot; section&lt;br /&gt;
* Fixed broken main menu layout in some cases&lt;br /&gt;
&lt;br /&gt;
== 3.20.19 - 08.02.2026 ==&lt;br /&gt;
* Fixed minor bugs&lt;br /&gt;
&lt;br /&gt;
== 3.20.18 - 23.01.2026 ==&lt;br /&gt;
* Optimized the warehouse report &amp;quot;Turnover balance sheet&amp;quot;&lt;br /&gt;
* Fixed minor bugs&lt;br /&gt;
&lt;br /&gt;
== 3.20.17 - 31.12.2025 ==&lt;br /&gt;
* Added API method-&amp;gt;task-&amp;gt;[[API task#add_node_to_task|add_node_to_task]]&lt;br /&gt;
* Added API method-&amp;gt;task-&amp;gt;[[API task#remove_node_from_task|remove_node_from_task]]&lt;br /&gt;
* Fixed execution of task chain &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed minor bugs&lt;br /&gt;
&lt;br /&gt;
== 3.20.16 - 14.12.2025 ==&lt;br /&gt;
* Fixed a bug with filtering by inventory section in the warehouse operations list&lt;br /&gt;
* Fixed minor bugs&lt;br /&gt;
&lt;br /&gt;
== 3.20.15 - 06.12.2025 ==&lt;br /&gt;
* For task chains/automation in task types, added the ability to specify fractional hour intervals&lt;br /&gt;
* Fixed minor bugs&lt;br /&gt;
&lt;br /&gt;
== 3.20.14 - 29.11.2025 ==&lt;br /&gt;
* Improvements to the API interface with Binotel&lt;br /&gt;
* Fixed minor bugs&lt;br /&gt;
&lt;br /&gt;
== 3.20.13 - 22.11.2025 ==&lt;br /&gt;
* Fixed minor bugs&lt;br /&gt;
&lt;br /&gt;
== 3.20.12 - 15.11.2025 ==&lt;br /&gt;
* Added the setting &amp;quot;Scale the width of the cable line on the switching diagram depending on the length of the name&amp;quot;&lt;br /&gt;
* Improved the display of unknown ONUs by OLT in the main page widget&lt;br /&gt;
* Fixed other minor bugs&lt;br /&gt;
&lt;br /&gt;
== 3.20.11 - 08.11.2025 ==&lt;br /&gt;
* Fixed an error when entering the Custom notifications section &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed an error when entering the device interface/stacking settings &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed the inability to switch between ODF/crosses in the switching master&lt;br /&gt;
* Fixed some migration errors&lt;br /&gt;
&lt;br /&gt;
== 3.20.10 - 07.11.2025 ==&lt;br /&gt;
* Added API method-&amp;gt;vehicle-&amp;gt;[[API vehicle#add|add]]&lt;br /&gt;
* Added API method-&amp;gt;vehicle-&amp;gt;[[API vehicle#edit|edit]]&lt;br /&gt;
* Added API method-&amp;gt;vehicle-&amp;gt;[[API vehicle#delete|delete]]&lt;br /&gt;
* In the communication installations card, in the block with attached image files, it is possible to quickly make an image the main photo for this object &#039;&#039;(without having to go to editing)&#039;&#039;&lt;br /&gt;
* In the cable line card, the ability to create a task with this line or add a line to an existing task has been added&lt;br /&gt;
* Sorting by additional fields in custom sections has been improved&lt;br /&gt;
* Filtering by inventory item name in the inventory list has been fixed&lt;br /&gt;
* The display of equipment layers on the coverage map has been fixed&lt;br /&gt;
* Other minor bugs have been fixed&lt;br /&gt;
&lt;br /&gt;
== 3.20.9 - 14.09.2025 ==&lt;br /&gt;
* Improved verification of access rights to ONU&lt;br /&gt;
* Fixed a bug when searching for a user during the transfer of inventory items &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed an update in the serial number database for ONU when polling OLT &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 3.20.8 - 06.09.2025 ==&lt;br /&gt;
* Added API method-&amp;gt;billing-&amp;gt;[[API billing#refresh_date_update|refresh_date_update]]&lt;br /&gt;
* Optimised interface for editing/adding address units &#039;&#039;(relevant for branched address structures)&#039;&#039;&lt;br /&gt;
* Links to view users associated with communication installations and cable lines have been added to the task card&lt;br /&gt;
* Fixed checking for parent task status in task automation &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed display of pop-up hints in the task calendar when scrolling horizontally&lt;br /&gt;
* Fixed assignment of employees to a department &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 3.20.7 - 25.08.2025 ==&lt;br /&gt;
* &#039;&#039;&#039;In-depth processing of transport operations. Various types, mileage control, deadlines. Notification on the main page and transport list. Keeping a history of changes in operations&#039;&#039;&#039;&lt;br /&gt;
* The history of actions for a potential user is transferred to the history of actions for a regular user when they are merged&lt;br /&gt;
* During hot replacement of a device, you can specify to save the history of MAC addresses on equipment ports &lt;br /&gt;
* The ability to clear switching has been added to group actions on the user list&lt;br /&gt;
* Technical migration of core data&lt;br /&gt;
* Fixed filtering of the FDB table by device &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed a bug when restricting an employee&#039;s access to a specific IP address&lt;br /&gt;
* Fixed ONU access rights verification&lt;br /&gt;
&lt;br /&gt;
== 3.20.6 - 15.08.2025 ==&lt;br /&gt;
* &#039;&#039;&#039; Separate SMS profiles for work. For example, you can specify a separate SMS profile for each SMS mailing &#039;&#039;(your own alpha name, different operator, etc.)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
* Separated ONU access rights for viewing and editing&lt;br /&gt;
* Fixed display of a large number of notebook sections in the section list&lt;br /&gt;
* Fixed information update when adding/removing a communication facility in a task&lt;br /&gt;
&lt;br /&gt;
== 3.20.5 - 08.08.2025 ==&lt;br /&gt;
* Added API method-&amp;gt;address-&amp;gt;[[API address#get_building_type|get_building_type]]&lt;br /&gt;
* Added the &amp;quot;Buildings. Pop-up message template on the map&amp;quot; setting&lt;br /&gt;
* Improved the interface for changing notes, adapter types, and connections for fibre cable lines&lt;br /&gt;
* Redesigned the interface for adding communication structures and cable lines to a task when creating a task&lt;br /&gt;
* Corrected the verification of access rights to the work schedule&lt;br /&gt;
* Improved the billing of employees for tasks in the work schedule when more than 5 employees are involved in the task&lt;br /&gt;
* Fixed a bug in filtering by building in the list of warehouse operations &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 3.20.4 - 04.08.2025 ==&lt;br /&gt;
* Added API method-&amp;gt;cross-&amp;gt;[[API cross#edit_adapter|edit_adapter]]&lt;br /&gt;
* Added API method-&amp;gt;task-&amp;gt;[[API address#edit_address|edit_address]]&lt;br /&gt;
* Added a setting parameter &amp;quot;Block automation/task chain execution when returning a task from the status with the system role &#039;Pending&#039; &amp;quot;&lt;br /&gt;
* Added grouping of tasks by street or location to the task list&lt;br /&gt;
* Improved saving of files attached to task comments&lt;br /&gt;
* Minor fixes and improvements&lt;br /&gt;
&lt;br /&gt;
== 3.20.3 - 27.07.2025 ==&lt;br /&gt;
* Added API method-&amp;gt;task-&amp;gt;[[API task#change_state|change_state]]&lt;br /&gt;
* The &amp;quot;Consider connections on dividers as mechanical&amp;quot; configuration parameter has been added&lt;br /&gt;
* In the task type settings for inventory items, you can specify that all inventory items should be moved to the associated building after closing&lt;br /&gt;
* In chains/automation by task type, the additional condition &amp;quot;Child/parent task status&amp;quot; has been added for the action options &amp;quot;Parent/Child task. Change status to&amp;quot;&lt;br /&gt;
* Information about the date of installation of inventory items on the building and the ability to export to XLS and printable versions has been added to the building card in the inventory list&lt;br /&gt;
* All attached files from another task can be copied to the card&lt;br /&gt;
* A direct link to view the customer&#039;s switching route has been added to the customer card&lt;br /&gt;
* For employee profiles, you can limit the maximum number of entries on the page (in tables/lists)&lt;br /&gt;
* The filter for communication facilities now includes the option to select by missing custom icon on the map&lt;br /&gt;
* In the list of warehouse operations in the counterparty selection selectors, the ability to specify a specific building has been added&lt;br /&gt;
* In group actions for buildings, the ability to change the individual colour on the map has been added&lt;br /&gt;
* In group actions for buildings, you can change the manager to the empty value &#039;&#039;(delete manager)&#039;&#039;&lt;br /&gt;
* Fixed sorting by address in the task list &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed the ability to simultaneously postpone a task and specify an arbitrary comment&lt;br /&gt;
&lt;br /&gt;
== 3.20.2 - 18.07.2025 ==&lt;br /&gt;
* Added API method-&amp;gt;task-&amp;gt;[[API task#add_cable_line_to_task|add_cable_line_to_task]]&lt;br /&gt;
* Added API method-&amp;gt;task-&amp;gt;[[API task#remove_cable_line_from_task|remove_cable_line_from_task]]&lt;br /&gt;
* The list of connected ONUs on the OLT can be printed or exported to XLS&lt;br /&gt;
* For communication installations and cable lines the possibility to change notes in group actions has been added&lt;br /&gt;
* In the template of the tooltip on the task on the coverage map it is possible to display the date of task creation, update date, text of the last comment&lt;br /&gt;
* In chains/automation by task type, added action &amp;quot;Customers. Exclude.&amp;quot;&lt;br /&gt;
* In chains/automation by task types, added possibility to disable auto-assigned executors when creating a new task in a chain&lt;br /&gt;
* Improved displaying of links in the description of a task type in the task card&lt;br /&gt;
* Fixed filtering of customers that depend on cross/odf &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 3.20.1 - 12.07.2025 ==&lt;br /&gt;
* In the list of buildings, added filter for buildings with &amp;quot;Display on map&amp;quot; unchecked&lt;br /&gt;
* Fixed inability to open a vehicle card from the list&lt;br /&gt;
* Fixed search by cable line name when task is created &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed display of customer information in the task list &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 3.20 - 09.07.2025 ==&lt;br /&gt;
* Release version 3.20&lt;br /&gt;
* For a list of changes see [[3.20_EN|3.20]]&lt;/div&gt;</summary>
		<author><name>IronBot</name></author>
	</entry>
	<entry>
		<id>https://wiki.userside.eu/index.php?title=API_customer_UK&amp;diff=22227</id>
		<title>API customer UK</title>
		<link rel="alternate" type="text/html" href="https://wiki.userside.eu/index.php?title=API_customer_UK&amp;diff=22227"/>
		<updated>2026-07-06T13:58:52Z</updated>

		<summary type="html">&lt;p&gt;IronBot: [IronBot] Sync UK localization from RU&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[API_customer_EN|en]] | &#039;&#039;&#039;uk&#039;&#039;&#039; | [[API customer|ru]]&lt;br /&gt;
&lt;br /&gt;
Розділ &#039;&#039;&#039;[[API_UK|API]]&#039;&#039;&#039; ERP &amp;quot;UserSide&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Призначення: Дії з абонентами. Більшість дій актуальна для [[Підтримувані білінги|ручних білінгів]].&lt;br /&gt;
&lt;br /&gt;
 Додаткові параметри:&lt;br /&gt;
 action - підкатегорія запиту &#039;&#039;(можливе значення: див. нижче)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Підкатегорії ==&lt;br /&gt;
&lt;br /&gt;
==== add ====&lt;br /&gt;
&#039;&#039;Доопрацьовано у: 3.13.25 (додано параметр is_corporate)&#039;&#039;&lt;br /&gt;
 Опис: Додавання абонента&lt;br /&gt;
 Необов&#039;язкові параметри:&lt;br /&gt;
  fio - найменування абонента&lt;br /&gt;
  codeti - id абонента в білінгу&lt;br /&gt;
  is_potential - прапорець - потенційний абонент&lt;br /&gt;
  is_corporate - прапорець - юридична особа&lt;br /&gt;
  billing_id - id білінгу &#039;&#039;(є обов&#039;язковим, якщо це не потенційний абонент)&#039;&#039;&lt;br /&gt;
  billing_customer_id - id абонента в білінгу &#039;&#039;(є обов&#039;язковим, якщо це не потенційний абонент)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== abon_hist ====&lt;br /&gt;
&#039;&#039;Доопрацьовано у: 3.17dev1 (виключено параметр usercode, додано параметр customer_id)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 Опис: Виведення операцій з абонентом (фінансові та інші)&lt;br /&gt;
 Обов&#039;язкові параметри:&lt;br /&gt;
  usercode - &#039;&#039;(для версії 3.16 і раніше)&#039;&#039; ID абонента&lt;br /&gt;
  customer_id - &#039;&#039;(для версії 3.17 і пізніше)&#039;&#039; ID абонента&lt;br /&gt;
&lt;br /&gt;
==== change_balance ====&lt;br /&gt;
&#039;&#039;Доопрацьовано у: 3.16dev2 (виключено параметр operator_id, додано параметр employee_id)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Доопрацьовано у: 3.13.22 (додано параметр operator_id)&#039;&#039;&lt;br /&gt;
 Опис: Зміна балансу (операція приходу/витрати)&lt;br /&gt;
 Обов&#039;язкові параметри:&lt;br /&gt;
  customer_id - ID абонента&lt;br /&gt;
  amount - Сума&lt;br /&gt;
  comment - Нотатки до операції&lt;br /&gt;
 Необов&#039;язкові параметри:&lt;br /&gt;
  employee_id - ID співробітника&lt;br /&gt;
  operator_id - ID оператора &#039;&#039;(до версії 3.16dev2)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== change_billing ====&lt;br /&gt;
&#039;&#039;Доопрацьовано у: 3.16.23 (додано параметр billing_user_id)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Додано у: 3.12.48&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 Опис: Зміна білінгу&lt;br /&gt;
 Обов&#039;язкові параметри:&lt;br /&gt;
  customer_id - id абонента&lt;br /&gt;
  billing_id - id білінгу&lt;br /&gt;
 Необов&#039;язкові параметри:&lt;br /&gt;
  billing_user_id - id абонента в білінгу&lt;br /&gt;
&lt;br /&gt;
==== change_date_connect ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Додано у: 3.12.80&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 Опис: Зміна дати підключення&lt;br /&gt;
 Обов&#039;язкові параметри:&lt;br /&gt;
  customer_id - ID абонента&lt;br /&gt;
  value - дата&lt;br /&gt;
&lt;br /&gt;
==== delete ====&lt;br /&gt;
&#039;&#039;Додано у: 3.14.21&#039;&#039;&lt;br /&gt;
 Опис: Видалення абонента&lt;br /&gt;
 Обов&#039;язкові параметри:&lt;br /&gt;
  id - id абонента&lt;br /&gt;
&lt;br /&gt;
==== edit ====&lt;br /&gt;
&#039;&#039;Доопрацьовано у: 3.20.10 (додано параметр coordinates)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Доопрацьовано у: 3.16dev3 (додано параметр group_id)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Доопрацьовано у: 3.13.56 (додано параметр manager_id)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Додано у: 3.12rc2&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 Опис: Редагування абонента&lt;br /&gt;
 Обов&#039;язкові параметри:&lt;br /&gt;
  id - id абонента&lt;br /&gt;
 Необов&#039;язкові параметри:&lt;br /&gt;
  account_number - номер особового рахунку&lt;br /&gt;
  agreement_date - дата договору&lt;br /&gt;
  agreement_number - номер договору&lt;br /&gt;
  apartment_number - номер квартири&lt;br /&gt;
  comment - нотатки&lt;br /&gt;
  coordinates - координати в текстовому вигляді через кому &#039;&#039;(приклад: 47.839628,35.140553)&#039;&#039;&lt;br /&gt;
  date_activity - дата активності в мережі&lt;br /&gt;
  date_activity_inet - дата активності в інтернеті&lt;br /&gt;
  date_connect - дата підключення&lt;br /&gt;
  email - адрес електронної пошти&lt;br /&gt;
  entrance - номер під&#039;їзду&lt;br /&gt;
  flag_corporate - прапорець - юридична особа&lt;br /&gt;
  floor - поверх&lt;br /&gt;
  group_id - id групи&lt;br /&gt;
  house_id - id будинку&lt;br /&gt;
  is_potential - прапорець - потенційний абонент&lt;br /&gt;
  login - логін&lt;br /&gt;
  manager_id - id співробітника-менеджера&lt;br /&gt;
  name - найменування абонента&lt;br /&gt;
  parent_id - id батьківського абонента &#039;&#039;(для дочірнього абонента)&#039;&#039;&lt;br /&gt;
  phone0 - номер мобільного телефона&lt;br /&gt;
  phone1 - номер домашнього телефона&lt;br /&gt;
  phone2 - номер додаткового телефона 1&lt;br /&gt;
  phone3 - номер додаткового телефона 2&lt;br /&gt;
  phone4 - номер додаткового телефона 3&lt;br /&gt;
&lt;br /&gt;
==== get_activity_counter ====&lt;br /&gt;
&#039;&#039;Додано у: 3.12.81&#039;&#039;&lt;br /&gt;
 Опис: Отримання лічильника активних абонентів&lt;br /&gt;
 Обов&#039;язкові параметри:&lt;br /&gt;
  type - тип лічильника &#039;&#039;(можливі значення: net, internet, personal_area)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== get_abon_id ====&lt;br /&gt;
&#039;&#039;Доопрацьовано у: 3.14.34 (для параметра data_typer додано можливе значення account)&#039;&#039;&lt;br /&gt;
 Опис: Отримання ID абонента за вхідними даними&lt;br /&gt;
 Обов&#039;язкові параметри:&lt;br /&gt;
  data_typer - тип даних, які перевіряємо &#039;&#039;(можливі значення: account, billing_uid, codeti, dognumber, ip, login, mac, mail, phone)&#039;&#039;&lt;br /&gt;
  data_value - значення&lt;br /&gt;
 Необов&#039;язкові параметри:&lt;br /&gt;
  is_skip_old - прапорець - не виконувати пошук серед колишніх абонентів&lt;br /&gt;
&lt;br /&gt;
==== get_customer_group ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Додано у: 3.19beta1&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 Опис: Отримання списку груп абонентів&lt;br /&gt;
 Обов&#039;язкові параметри:&lt;br /&gt;
  немає&lt;br /&gt;
 Необов&#039;язкові параметри:&lt;br /&gt;
  немає&lt;br /&gt;
&lt;br /&gt;
==== get_customers_id ====&lt;br /&gt;
&#039;&#039;Доопрацьовано у: 3.21.8 (додано параметр group_id)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Доопрацьовано у: 3.19.31 (додано параметр account_number)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Доопрацьовано у: 3.19.15 (додано параметр billing_uuid)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Доопрацьовано у: 3.18.36 (додано параметр manager_id)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Доопрацьовано у: 3.18.10 (додано параметр is_corporate)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Доопрацьовано у: 3.16dev3 (додано параметри name, limit, is_like)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Доопрацьовано у: 3.15.26 (додано параметр is_ex)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Доопрацьовано у: 3.14.71 (додано параметр dependence_device_id)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Доопрацьовано у: 3.14.58 (додано параметри balance_from, balance_to, state_id)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Доопрацьовано у: 3.14.41 (додано параметри date_connect_from і date_connect_to)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Доопрацьовано у: 3.14.5 (додано параметр address_unit_id)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Доопрацьовано у: 3.13.48 (додано параметр tariff_id)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Доопрацьовано у: 3.13.35 (додано параметр mark_id)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Додано у: 3.12.8&#039;&#039;&lt;br /&gt;
 Опис: Отримання списку ID абонентів за вхідними умовами&lt;br /&gt;
 Обов&#039;язкові параметри:&lt;br /&gt;
  немає&lt;br /&gt;
 Необов&#039;язкові параметри &#039;&#039;(але має бути вказана хоча б одна умова)&#039;&#039;:&lt;br /&gt;
  account_number - номер особового рахунку&lt;br /&gt;
  address_unit_id - id адресної одиниці&lt;br /&gt;
  appartment - номер квартири&lt;br /&gt;
  balance_from - баланс &#039;&#039;(з)&#039;&#039;&lt;br /&gt;
  balance_to - баланс &#039;&#039;(до)&#039;&#039;&lt;br /&gt;
  billing_id - id номера білінгу&lt;br /&gt;
  billing_uuid - id абонента в білінгу&lt;br /&gt;
  date_connect_from - дата підключення &#039;&#039;(з)&#039;&#039;&lt;br /&gt;
  date_connect_to - дата підключення &#039;&#039;(до)&#039;&#039;&lt;br /&gt;
  dependence_device_id - id пристрою, від якого залежать абоненти&lt;br /&gt;
  group_id - id групи&lt;br /&gt;
  house_id - id будинку&lt;br /&gt;
  is_corporate - прапорець - юридична особа&lt;br /&gt;
  is_ex - прапорець - колишні абоненти&lt;br /&gt;
  manager_id - id менеджера &#039;&#039;(0 для пошуку без менеджера)&#039;&#039;&lt;br /&gt;
  mark_id - id мітки&lt;br /&gt;
  name - ПІБ/назва абонента&lt;br /&gt;
  state_id - id статусу&lt;br /&gt;
  tariff_id - id тарифу&lt;br /&gt;
  limit - максимальна кількість записів, які потрібно повернути у відповіді&lt;br /&gt;
  is_like - прапорець - використовувати порівняння підрядка там, де це можливо &#039;&#039;(а не повний збіг)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== get_data ====&lt;br /&gt;
 Опис: Отримання інформації за абонентом&lt;br /&gt;
 Обов&#039;язкові параметри:&lt;br /&gt;
  customer_id - ID абонента&lt;br /&gt;
  або&lt;br /&gt;
  account_number - номер особового рахунку абонента&lt;br /&gt;
  +&lt;br /&gt;
  billing_id - ID білінгу&lt;br /&gt;
&lt;br /&gt;
==== get_ip_port_device_commutation ====&lt;br /&gt;
&#039;&#039;Додано у: 3.12beta35&#039;&#039;&lt;br /&gt;
 Опис: Отримання IP,MAC-адрес абонентів із прив&#039;язкою до комутаторів &#039;&#039;(зокрема для роботи з DHCP)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== get_last_ip ====&lt;br /&gt;
 Опис: Отримання останньої використаної IP-адреси для абонентів&lt;br /&gt;
&lt;br /&gt;
==== get_mac_history ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Додано у: 3.16dev8&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 Опис: Отримання історії зміни MAC-адрес за абонентом&lt;br /&gt;
 Обов&#039;язкові параметри:&lt;br /&gt;
  customer_id - id абонента&lt;br /&gt;
&lt;br /&gt;
==== get_max_agreement_number ====&lt;br /&gt;
&#039;&#039;Додано у: 3.12.3&#039;&#039;&lt;br /&gt;
 Опис: Отримання максимального зайнятого номера договору &#039;&#039;(числового)&#039;&#039;&lt;br /&gt;
 Необов&#039;язкові параметри:&lt;br /&gt;
  billing_id - id білінгу абонентів, серед яких виконувати вибірку&lt;br /&gt;
&lt;br /&gt;
==== ip_add ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Доопрацьовано у: 3.17.36 (додано параметр mac)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Додано у: 3.12.83&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 Опис: Додавання IP-адреси&lt;br /&gt;
 Обов&#039;язкові параметри:&lt;br /&gt;
  customer_id - ID абонента&lt;br /&gt;
  value - IP&lt;br /&gt;
 Необов&#039;язкові параметри:&lt;br /&gt;
  mac - MAC абонента&lt;br /&gt;
&lt;br /&gt;
==== ip_delete ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Доопрацьовано у: 3.19beta1 (до параметра value додано можливе значення all)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Додано у: 3.12.83&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 Опис: Видалення IP-адреси&lt;br /&gt;
 Обов&#039;язкові параметри:&lt;br /&gt;
  customer_id - id абонента&lt;br /&gt;
  value - ip або &amp;quot;-1&amp;quot; для записів без IP-адреси &#039;&#039;(тільки з MAC-адресою)&#039;&#039; або &amp;quot;all&amp;quot; для всіх адрес&lt;br /&gt;
&lt;br /&gt;
==== ip_subnet_add ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Додано у: 3.14.71&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 Опис: Додавання підмережі IP-адрес для абонента&lt;br /&gt;
 Обов&#039;язкові параметри:&lt;br /&gt;
  customer_id - id абонента&lt;br /&gt;
  ip - початкова IP-адреса&lt;br /&gt;
  subnet - маска підмережі/VLSM &#039;&#039;(наприклад: 24)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== ip_subnet_delete ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Додано у: 3.14.71&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 Опис: Видалення підмережі IP-адрес в абонента&lt;br /&gt;
 Обов&#039;язкові параметри:&lt;br /&gt;
  customer_id - id абонента&lt;br /&gt;
  ip - початкова IP-адреса&lt;br /&gt;
&lt;br /&gt;
==== list_tarif_available ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Виключено у: 3.13&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 Опис: Список тарифів, доступних абоненту для зміни&lt;br /&gt;
 Обов&#039;язкові параметри:&lt;br /&gt;
  usercode - id абонента&lt;br /&gt;
&lt;br /&gt;
==== mark_add ====&lt;br /&gt;
&#039;&#039;Додано у: 3.12.82&#039;&#039;&lt;br /&gt;
 Опис: Додавання мітки на абонента&lt;br /&gt;
 Обов&#039;язкові параметри:&lt;br /&gt;
  customer_id - id абонента&lt;br /&gt;
  mark_id - id мітки&lt;br /&gt;
&lt;br /&gt;
==== mark_delete ====&lt;br /&gt;
&#039;&#039;Додано у: 3.12.82&#039;&#039;&lt;br /&gt;
 Опис: Видалення мітки з абонента&lt;br /&gt;
 Обов&#039;язкові параметри:&lt;br /&gt;
  customer_id - id абонента&lt;br /&gt;
  mark_id - id мітки&lt;br /&gt;
&lt;br /&gt;
==== merge ====&lt;br /&gt;
&#039;&#039;Додано у: 3.19.33&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 Опис: Об&#039;єднання абонентів&lt;br /&gt;
 Обов&#039;язкові параметри:&lt;br /&gt;
  dst_id - id основного абонента&lt;br /&gt;
  src_id - id вторинного абонента &#039;&#039;(інформацію якого переносимо до основного)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== msg ====&lt;br /&gt;
&#039;&#039;Доопрацьовано у: 3.20.18 (додано параметри is_answer, is_archive)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Доопрацьовано у: 3.17dev1 (виключено параметр usercode, додано параметр customer_id)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Доопрацьовано у: 3.16dev3 (параметр usercode зроблено необов&#039;язковим)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Доопрацьовано у: 3.16dev2 (виключено параметр operator_id, додано параметр employee_id)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Доопрацьовано у: 3.14.53 (додано параметри date_add_from, date_add_to, operator_id)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 Опис: Виведення листування з абонентом&lt;br /&gt;
 Необов&#039;язкові параметри &#039;&#039;(але має бути щось одне)&#039;&#039;:&lt;br /&gt;
  usercode - &#039;&#039;(для версії 3.16 і раніше)&#039;&#039; ID абонента&lt;br /&gt;
  customer_id - &#039;&#039;(для версії 3.17 і пізніше)&#039;&#039; ID абонента&lt;br /&gt;
  date_add_from - дата повідомлення (з)&lt;br /&gt;
  date_add_to - дата повідомлення (до)&lt;br /&gt;
  is_answer - чи була відповідь на повідомлення &#039;&#039;(1 - була відповідь, 0 - відповіді не було)&#039;&#039;&lt;br /&gt;
  is_archive - чи є повідомлення в архіві&lt;br /&gt;
  employee_id - id співробітника-автора повідомлення&lt;br /&gt;
  operator_id - id оператора-автора повідомлення &#039;&#039;(до версії 3.16dev2)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== msg_add ====&lt;br /&gt;
&#039;&#039;Доопрацьовано у: 3.18.40 (додано параметр is_arc)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Додано у: 3.13.25&#039;&#039;&lt;br /&gt;
 Опис: Додавання повідомлення від абонента&lt;br /&gt;
 Обов&#039;язкові параметри:&lt;br /&gt;
  customer_id - id абонента&lt;br /&gt;
  text - Текст повідомлення&lt;br /&gt;
 Необов&#039;язкові параметри:&lt;br /&gt;
  is_arc - прапорець - помістити повідомлення в архів&lt;br /&gt;
&lt;br /&gt;
==== msg_add_to_customer ====&lt;br /&gt;
&#039;&#039;Додано у: 3.19.45&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 Опис: Додавання повідомлення від співробітника до абонента&lt;br /&gt;
 Обов&#039;язкові параметри:&lt;br /&gt;
  employee_id - id співробітника&lt;br /&gt;
  customer_id - id абонента&lt;br /&gt;
  text - Текст повідомлення&lt;br /&gt;
 Необов&#039;язкові параметри:&lt;br /&gt;
  is_arc - прапорець - помістити повідомлення в архів&lt;br /&gt;
&lt;br /&gt;
==== pass_change ====&lt;br /&gt;
&#039;&#039;Доопрацьовано у: 3.17dev1 (виключено параметр usercode, додано параметр customer_id)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Доопрацьовано у: 3.15.23 (параметр pass_old став необов&#039;язковим)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 Опис: Зміна пароля для входу в особистий кабінет&lt;br /&gt;
 Обов&#039;язкові параметри:&lt;br /&gt;
  usercode - &#039;&#039;(для версії 3.16 і раніше)&#039;&#039; ID абонента&lt;br /&gt;
  customer_id - &#039;&#039;(для версії 3.17 і пізніше)&#039;&#039; ID абонента&lt;br /&gt;
  pass_new - новий пароль&lt;br /&gt;
 Додаткові параметри:&lt;br /&gt;
  pass_old - поточний пароль&lt;br /&gt;
&lt;br /&gt;
==== service_add ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Додано у: 3.18beta1&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 Опис: Додавання додаткової послуги&lt;br /&gt;
 Обов&#039;язкові параметри:&lt;br /&gt;
  customer_id - id абонента&lt;br /&gt;
  service_id - id додаткової послуги&lt;br /&gt;
 Необов&#039;язкові параметри:&lt;br /&gt;
  price - індивідуальна вартість&lt;br /&gt;
  comment - нотатки&lt;br /&gt;
&lt;br /&gt;
==== service_remove ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Додано у: 3.18beta1&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 Опис: Видалення додаткової послуги&lt;br /&gt;
 Обов&#039;язкові параметри:&lt;br /&gt;
  customer_id - id абонента&lt;br /&gt;
  service_id - id додаткової послуги&lt;br /&gt;
&lt;br /&gt;
==== set_mac_by_ip ====&lt;br /&gt;
&#039;&#039;Додано у: 3.12beta35&#039;&#039;&lt;br /&gt;
 Опис: Вказання MAC-адреси для IP-адреси абонента&lt;br /&gt;
 Обов&#039;язкові параметри:&lt;br /&gt;
  ip - IP-адреса абонента (наприклад: 192.168.0.1)&lt;br /&gt;
  mac - MAC-адреса абонента (наприклад: 00:11:22:33:44:55)&lt;br /&gt;
&lt;br /&gt;
==== state_change ====&lt;br /&gt;
&#039;&#039;Доопрацьовано у: 3.17dev1 (виключено параметр usercode, додано параметр customer_id)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Додано у: 3.12.8&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 Опис: Зміна статусу роботи в абонента&lt;br /&gt;
 Обов&#039;язкові параметри:&lt;br /&gt;
  usercode - &#039;&#039;(для версії 3.16 і раніше)&#039;&#039; ID абонента&lt;br /&gt;
  customer_id - &#039;&#039;(для версії 3.17 і пізніше)&#039;&#039; ID абонента&lt;br /&gt;
  state_id - ID статусу абонента (0 - стоп, 1 - пауза, 2 - активний)&lt;br /&gt;
&lt;br /&gt;
==== tarif_change ====&lt;br /&gt;
&#039;&#039;Доопрацьовано у: 3.17dev1 (виключено параметр usercode, додано параметр customer_id)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 Опис: Зміна тарифу абонента&lt;br /&gt;
 Обов&#039;язкові параметри:&lt;br /&gt;
  usercode - &#039;&#039;(для версії 3.16 і раніше)&#039;&#039; ID абонента&lt;br /&gt;
  customer_id - &#039;&#039;(для версії 3.17 і пізніше)&#039;&#039; ID абонента&lt;br /&gt;
  tarif - ID нового тарифу&lt;br /&gt;
&lt;br /&gt;
==== to_ex ====&lt;br /&gt;
&#039;&#039;Доопрацьовано у: 3.17dev1 (виключено параметр usercode, додано параметр customer_id)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Додано у: 3.12.69&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 Опис: Переведення абонента в категорію &amp;quot;Колишні абоненти&amp;quot;&lt;br /&gt;
 Обов&#039;язкові параметри:&lt;br /&gt;
  usercode - &#039;&#039;(для версії 3.16 і раніше)&#039;&#039; ID абонента&lt;br /&gt;
  customer_id - &#039;&#039;(для версії 3.17 і пізніше)&#039;&#039; ID абонента&lt;br /&gt;
&lt;br /&gt;
==== to_normal ====&lt;br /&gt;
&#039;&#039;Доопрацьовано у: 3.17dev1 (виключено параметр usercode, додано параметр customer_id)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Додано у: 3.12.90&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 Опис: Переведення абонента у звичайний статус (з &amp;quot;Колишніх абонентів&amp;quot;)&lt;br /&gt;
 Обов&#039;язкові параметри:&lt;br /&gt;
  usercode - &#039;&#039;(для версії 3.16 і раніше)&#039;&#039; ID абонента&lt;br /&gt;
  customer_id - &#039;&#039;(для версії 3.17 і пізніше)&#039;&#039; ID абонента&lt;/div&gt;</summary>
		<author><name>IronBot</name></author>
	</entry>
	<entry>
		<id>https://wiki.userside.eu/index.php?title=API_attach_EN&amp;diff=22226</id>
		<title>API attach EN</title>
		<link rel="alternate" type="text/html" href="https://wiki.userside.eu/index.php?title=API_attach_EN&amp;diff=22226"/>
		<updated>2026-07-06T13:58:52Z</updated>

		<summary type="html">&lt;p&gt;IronBot: [IronBot] Sync EN localization from RU&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;en&#039;&#039;&#039; | [[API_attach_UK|uk]] | [[API attach|ru]]&lt;br /&gt;
&lt;br /&gt;
Section &#039;&#039;&#039;[[API_EN|API]]&#039;&#039;&#039; ERP &amp;quot;UserSide&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Purpose: Attached file management&lt;br /&gt;
&lt;br /&gt;
 Optional parameters:&lt;br /&gt;
 action - request subcategory &#039;&#039;(possible value: see below)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Subcategories ==&lt;br /&gt;
&lt;br /&gt;
==== add ====&lt;br /&gt;
&#039;&#039;Modified in: 3.21.0-beta.3 (removed src, name, comment, and src_id parameters)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Modified in: 3.19.48 (added uuid parameter)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Modified in: 3.16.19 (added name and comment parameters)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Modified in: 3.16dev4 (added possible cable_line value to object_type parameter)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Modified in: 3.16dev2 (excluded operator_id parameter, added employee_id parameter)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Modified in: 3.15.42 (added possible value of inventory to object_type parameter)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Modified in: 3.14.21 (added possible value customer to object_type parameter)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 Description: Add a file to an object&lt;br /&gt;
 Required parameters:&lt;br /&gt;
  object_type - object type [cable_line|customer|node|task|task_comment|inventory]&lt;br /&gt;
  object_id - id of the object to which to attach the file&lt;br /&gt;
  comment_id - id of the task comment to which to attach the file &#039;&#039;(for task_comment type)&#039;&#039;&lt;br /&gt;
  uuid - UUID of another already uploaded file that should be attached to another object&lt;br /&gt;
 Optional parameters:&lt;br /&gt;
  employee_id - id of the employee on whose behalf to attach the file&lt;br /&gt;
  name - file name &#039;&#039;(arbitrary text)&#039;&#039; &#039;&#039;(before version 3.21)&#039;&#039;&lt;br /&gt;
  comment - file notes/description &#039;&#039;(before version 3.21)&#039;&#039;&lt;br /&gt;
  src_id - id of file upload method/type &#039;&#039;(arbitrary, at the client&#039;s discretion)&#039;&#039; &#039;&#039;(before version 3.21)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== delete ====&lt;br /&gt;
&#039;&#039;Modified in: 3.19beta1 (removed id parameter, added uuid parameter)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Added in: 3.12beta25&#039;&#039;&lt;br /&gt;
 Description: Delete a file&lt;br /&gt;
 Required parameters:&lt;br /&gt;
  id - id of file &#039;&#039;(version up to 3.19)&#039;&#039;&lt;br /&gt;
  uuid - uuid of file &#039;&#039;(version 3.19+)&#039;&#039;&lt;br /&gt;
  name - file name &#039;&#039;(no paths)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== get ====&lt;br /&gt;
&#039;&#039;Modified in: 3.20.23 (added possible additional_field value to object_type parameter)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Modified in: 3.19beta1 (removed id parameter, added uuid parameter)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Modified in: 3.16dev4 (added possible cable_line value to object_type)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Modified in: 3.15.42 (added possible value of inventory to object_type parameter)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Modified in: 3.15.12 (added object_type and object_id parameters)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Modified in: 3.14.41 (added ext_name and int_name parameters)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Added in: 3.14.36&#039;&#039;&lt;br /&gt;
 Description: Retrieve information&lt;br /&gt;
 Required parameters &#039;&#039;(one of the following)&#039;&#039;:&lt;br /&gt;
  uuid - uuid of file &#039;&#039;(comma separated)&#039;&#039; &#039;&#039;(version 3.19+)&#039;&#039;&lt;br /&gt;
  id - file id &#039;&#039;(comma separated)&#039;&#039; &#039;&#039;(versions prior to 3.19)&#039;&#039;&lt;br /&gt;
  ext_name - external file name &#039;&#039;(original)&#039;&#039;&lt;br /&gt;
  int_name - internal file name &#039;&#039;(as stored in the system)&#039;&#039;&lt;br /&gt;
  object_type - object type [additional_field|cable_line|customer|inventory|node|task|task_comment] &#039;&#039;(used together with object_id)&#039;&#039;&lt;br /&gt;
  object_id - id of the object to which the file is attached &#039;&#039;(used together with object_type)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== get_file ====&lt;br /&gt;
&#039;&#039;Modified in: 3.19beta1 (removed id parameter, added uuid parameter)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Added in: 3.14.57&#039;&#039;&lt;br /&gt;
 Description: Output file contents &#039;&#039;(in binary form)&#039;&#039;&lt;br /&gt;
 Required parameters:&lt;br /&gt;
  uuid - uuid of file &#039;&#039;(version 3.19+)&#039;&#039;&lt;br /&gt;
  id - file id &#039;&#039;(versions prior to 3.19)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== get_file_temporary_link ====&lt;br /&gt;
&#039;&#039;Modified in: 3.19beta1 (removed id parameter, added uuid parameter)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Added in: 3.17dev1&#039;&#039;&lt;br /&gt;
 Description: Provide a direct temporary link to download the file&lt;br /&gt;
 Required parameters:&lt;br /&gt;
  uuid - uuid of file &#039;&#039;(version 3.19+)&#039;&#039;&lt;br /&gt;
  id - file id &#039;&#039;(versions prior to 3.19)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== upload ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Modified in: 3.21.4 (added additional_field_id parameter)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Added in: 3.21.0-beta.3&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Description: Upload (add) a file to an object.&lt;br /&gt;
 &lt;br /&gt;
 content-type=multipart/form-data&lt;br /&gt;
 &lt;br /&gt;
 Required parameters:&lt;br /&gt;
  object_type - object type [cable_line|customer|node|task|task_comment|inventory]&lt;br /&gt;
  object_id - id of the object to which to attach the file&lt;br /&gt;
  comment_id - id of the task comment to which to attach the file &#039;&#039;(for object_type=task_comment)&#039;&#039;&lt;br /&gt;
  file - file&lt;br /&gt;
 Optional parameters:&lt;br /&gt;
  additional_field_id - id of the custom field &#039;&#039;(if the file should be attached to an object custom field. The custom field type must be &amp;quot;File&amp;quot;)&#039;&#039;&lt;br /&gt;
  employee_id - id of the employee on whose behalf to add the file&lt;br /&gt;
  name - file name &#039;&#039;(arbitrary text)&#039;&#039;&lt;br /&gt;
  comment - file notes/description&lt;br /&gt;
  src_id - id of file upload method/type &#039;&#039;(arbitrary, at the client&#039;s discretion)&#039;&#039;&lt;/div&gt;</summary>
		<author><name>IronBot</name></author>
	</entry>
	<entry>
		<id>https://wiki.userside.eu/index.php?title=%D0%92%D0%B5%D1%80%D1%81%D1%96%D1%97_3.20&amp;diff=22147</id>
		<title>Версії 3.20</title>
		<link rel="alternate" type="text/html" href="https://wiki.userside.eu/index.php?title=%D0%92%D0%B5%D1%80%D1%81%D1%96%D1%97_3.20&amp;diff=22147"/>
		<updated>2026-06-28T14:02:18Z</updated>

		<summary type="html">&lt;p&gt;IronBot: [IronBot] Sync UK localization from RU&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Versions 3.20 EN|en]] | &#039;&#039;&#039;uk&#039;&#039;&#039; | [[Версии_3.20|ru]]&lt;br /&gt;
&lt;br /&gt;
Версії гілки [[3.20_UK|3.20]]&lt;br /&gt;
&lt;br /&gt;
Також див.: [[Версії ERP &amp;quot;USERSIDE&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
== 3.20.25 - 24.06.2026 ==&lt;br /&gt;
* Доопрацьовано відображення запланованих кабельних ліній на мапі покриття відповідно до налаштувань кольору за щільністю кабелю&lt;br /&gt;
* Виправлено помилку з відображенням списку кабельних ліній &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлення невеликих помилок та змін&lt;br /&gt;
&lt;br /&gt;
== 3.20.24 - 27.05.2026 ==&lt;br /&gt;
* Виправлення невеликих помилок та змін&lt;br /&gt;
&lt;br /&gt;
== 3.20.23 - 27.04.2026 ==&lt;br /&gt;
* Додано метод API-&amp;gt;call-&amp;gt;[[API_call_UK#agent_call|agent_call]]&lt;br /&gt;
* Додано метод API-&amp;gt;chapter-&amp;gt;[[API_chapter_UK#link_add|link_add]]&lt;br /&gt;
* Додано метод API-&amp;gt;chapter-&amp;gt;[[API_chapter_UK#link_get|link_get]]&lt;br /&gt;
* Додано метод API-&amp;gt;chapter-&amp;gt;[[API_chapter_UK#link_remove|link_remove]]&lt;br /&gt;
* Доопрацьовано метод API-&amp;gt;call-&amp;gt;[[API_call_UK#add|add]]&lt;br /&gt;
* Доопрацьовано метод API-&amp;gt;task-&amp;gt;[[API_task_UK#edit|edit]]&lt;br /&gt;
* У виконаних завданнях також відображається ознака &amp;quot;Прострочено&amp;quot; під час порушенні термінів робіт&lt;br /&gt;
* Виправлена помилка з входом у календар робіт &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлення невеликих помилок&lt;br /&gt;
&lt;br /&gt;
== 3.20.22 - 04.04.2026 ==&lt;br /&gt;
* Виправлено вибір порожнього значення в типі завдань для реєстрації телефоном&lt;br /&gt;
* Оптимізаційні роботи&lt;br /&gt;
* Виправлення невеликих помилок&lt;br /&gt;
&lt;br /&gt;
== 3.20.21 - 11.03.2026 ==&lt;br /&gt;
* Виправлено відображення лічильника помилок на інтерфейсах пристроїв &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлено налаштування шаблонів SMS-повідомлень для абонентів у завданнях&lt;br /&gt;
* Оптимізаційні роботи&lt;br /&gt;
* Виправлення невеликих помилок&lt;br /&gt;
&lt;br /&gt;
== 3.20.20 - 22.02.2026 ==&lt;br /&gt;
* Оптимізована робота розділу &amp;quot;Мої завдання&amp;quot;&lt;br /&gt;
* Виправлено порушення розмітки головного меню в деяких випадках&lt;br /&gt;
&lt;br /&gt;
== 3.20.19 - 08.02.2026 ==&lt;br /&gt;
* Виправлення невеликих помилок&lt;br /&gt;
&lt;br /&gt;
== 3.20.18 - 23.01.2026 ==&lt;br /&gt;
* Оптимізація звіту за складу &amp;quot;Оборотно-сальдова відомість&amp;quot;&lt;br /&gt;
* Виправлення невеликих помилок&lt;br /&gt;
&lt;br /&gt;
== 3.20.17 - 31.12.2025 ==&lt;br /&gt;
* Додано метод API-&amp;gt;task-&amp;gt;[[API_task_UK#add_node_to_task|add_node_to_task]]&lt;br /&gt;
* Додано метод API-&amp;gt;task-&amp;gt;[[API_task_UK#remove_node_from_task|remove_node_from_task]]&lt;br /&gt;
* Виправлено виконання ланцюжка завдань &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлення невеликих помилок&lt;br /&gt;
&lt;br /&gt;
== 3.20.16 - 14.12.2025 ==&lt;br /&gt;
* Виправлена помилка з фільтрацією за секції ТМЦ у списку операцій за складу&lt;br /&gt;
* Виправлення невеликих помилок&lt;br /&gt;
&lt;br /&gt;
== 3.20.15 - 06.12.2025 ==&lt;br /&gt;
* Для ланцюжків завдань/автоматизації в типах завдань додано можливість вказівки дробового інтервалу годинника&lt;br /&gt;
* Виправлення невеликих помилок&lt;br /&gt;
&lt;br /&gt;
== 3.20.14 - 29.11.2025 ==&lt;br /&gt;
* Доопрацювання API взаємозв&#039;язку з Binotel&lt;br /&gt;
* Виправлення невеликих помилок&lt;br /&gt;
&lt;br /&gt;
== 3.20.13 - 22.11.2025 ==&lt;br /&gt;
* Виправлення невеликих помилок&lt;br /&gt;
&lt;br /&gt;
== 3.20.12 - 15.11.2025 ==&lt;br /&gt;
* Додано параметр налаштування &amp;quot;Масштабувати ширину кабельної лінії на схемі комутації в залежності від довжини назви&amp;quot;&lt;br /&gt;
* Допрацьовано відображення невідомих ONU за OLT у віджеті головної сторінки&lt;br /&gt;
* Виправлення інших невеликих помилок&lt;br /&gt;
&lt;br /&gt;
== 3.20.11 - 08.11.2025 ==&lt;br /&gt;
* Виправлення помилки під час вході в розділ Custom-повідомлень &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлення помилки під час вході в налаштування інтерфейсів/стекування за пристрої &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлена неможливість комутації між ODF/кросами у майстрі комутацій&lt;br /&gt;
* Виправлення деяких помилок міграції&lt;br /&gt;
&lt;br /&gt;
== 3.20.10 - 07.11.2025 ==&lt;br /&gt;
* Додано метод API-&amp;gt;vehicle-&amp;gt;[[API_vehicle_UK#add|add]]&lt;br /&gt;
* Додано метод API-&amp;gt;vehicle-&amp;gt;[[API_vehicle_UK#edit|edit]]&lt;br /&gt;
* Додано метод API-&amp;gt;vehicle-&amp;gt;[[API_vehicle_UK#delete|delete]]&lt;br /&gt;
* У картці спорудження зв&#039;язку в блоці з прикріпленими файлами-зображеннями можна швидко зробити зображення основним фото для цього об&#039;єкта &#039;&#039;(без необхідності переходити до редагування)&#039;&#039;&lt;br /&gt;
* У картці кабельної лінії додано можливість створити завдання з цією лінією або додати лінію до існуючого завдання&lt;br /&gt;
* Доопрацьовано сортування за додатковими полями у власних розділах&lt;br /&gt;
* Виправлена фільтрація за найменуванням ТМЦ у списку ТМЦ&lt;br /&gt;
* Виправлено відображення шарів обладнання на карті покриття&lt;br /&gt;
* Виправлення інших невеликих помилок&lt;br /&gt;
&lt;br /&gt;
== 3.20.9 - 14.09.2025 ==&lt;br /&gt;
* Доопрацювання перевірки прав доступу до ONU&lt;br /&gt;
* Виправлена помилка під час пошуку абонента під час передачі ТМЦ &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлено оновлення на базі серійних номерів для ONU під час опитуванні OLT &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 3.20.8 - 06.09.2025 ==&lt;br /&gt;
* Додано метод API-&amp;gt;billing-&amp;gt;[[API_billing_UK#refresh_date_update|refresh_date_update]]&lt;br /&gt;
* Оптимізовано інтерфейс редагування/додавання адресної одиниці &#039;&#039;(актуально для розгалужених адресних структур)&#039;&#039;&lt;br /&gt;
* У картці завдання додані посилання на перегляд зв&#039;язаних абонентів із спорудами зв&#039;язку та з кабельними лініями&lt;br /&gt;
* Виправлена перевірка на статус батьківського завдання в автоматизації дій із завдань &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлено відображення спливаючої підказки в календарі завдань під час горизонтальному скролі&lt;br /&gt;
* Виправлено призначення співробітників у підрозділ &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 3.20.7 - 25.08.2025 ==&lt;br /&gt;
* &#039;&#039;&#039;Глибока переробка операцій із транспорту. Різні типи, контроль пробігу, терміни. Повідомлення на головну сторінку та список транспорту. Ведення історії змін в операціях &#039;&#039;&#039;&lt;br /&gt;
* Історія дій щодо потенційного абонента переноситься в історію дій звичайного абонента під час їх об&#039;єднанні&lt;br /&gt;
* При гарячій заміні пристрою можна вказати збереження історії MAC-адрес на портах обладнання&lt;br /&gt;
* У групових діях за списком абонентів додано можливість очищення комутації&lt;br /&gt;
* Технічні міграції даних ядра&lt;br /&gt;
* Виправлена фільтрація FDB-таблиці з пристрою &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлена помилка під час обмеженні співробітнику доступу за конкретною IP-адресою&lt;br /&gt;
* Виправлено перевірку прав на доступ до ONU&lt;br /&gt;
&lt;br /&gt;
== 3.20.6 - 15.08.2025 ==&lt;br /&gt;
* &#039;&#039;&#039; Окремі SMS-профілі для роботи. Наприклад, для кожної SMS-розсилки можна вказати окремий SMS-профіль &#039;&#039;(власне альфа-ім&#039;я, інший оператор...)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
* Виділено окремі права доступу до ONU на перегляд та зміну&lt;br /&gt;
* Виправлено відображення великої кількості розділів блокнота у списку розділів&lt;br /&gt;
* Виправлено оновлення інформації під час додавання/виключенні споруди зв&#039;язку в завданні&lt;br /&gt;
&lt;br /&gt;
== 3.20.5 - 08.08.2025 ==&lt;br /&gt;
* Додано метод API-&amp;gt;address-&amp;gt;[[API_address_UK#get_building_type|get_building_type]]&lt;br /&gt;
* Додано параметр налаштування &amp;quot;Будівлі. Шаблон спливаючого повідомлення на карті&amp;quot;&lt;br /&gt;
* Доопрацьовано інтерфейс зміни нотатки, типу адаптера та з&#039;єднання для волокна кабельної лінії&lt;br /&gt;
* Перероблено інтерфейс додавання споруд зв&#039;язку та кабельних ліній у завдання під час створення завдання&lt;br /&gt;
* Підкориговано перевірку прав доступу до табеля робіт&lt;br /&gt;
* Доопрацьовано тарифікацію співробітникам за завдання у відомості робіт за участю в завданні понад 5 співробітників&lt;br /&gt;
* Виправлена помилка фільтрації за будівлі у списку операцій за складом &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 3.20.4 - 04.08.2025 ==&lt;br /&gt;
* Додано метод API-&amp;gt;cross-&amp;gt;[[API_cross_UK#edit_adapter|edit_adapter]]&lt;br /&gt;
* Доопрацьовано метод API-&amp;gt;task-&amp;gt;[[API_address_UK#edit_address|edit_address]]&lt;br /&gt;
* Додано параметр налаштування &amp;quot;Заблокувати виконання автоматизації/ланцюжка завдань під час поверненні завдання зі статусу із системною роллю &amp;quot;Відкладено&amp;quot;&lt;br /&gt;
* У списку завдань додано угруповання завдань за вулиці або населеному пункту&lt;br /&gt;
* Доопрацювання збереження прикріплених файлів до коментарів за завданням&lt;br /&gt;
* Невеликі виправлення та доопрацювання&lt;br /&gt;
&lt;br /&gt;
== 3.20.3 - 27.07.2025 ==&lt;br /&gt;
* Доопрацьовано метод API-&amp;gt;task-&amp;gt;[[API_task_UK#change_state|change_state]]&lt;br /&gt;
* Додано параметр налаштування &amp;quot;З&#039;єднання на дільниках вважати механічними&amp;quot;&lt;br /&gt;
* У налаштуваннях типів завдань для ТМЦ можна вказати, що переміщати всі ТМЦ після закриття на зв&#039;язану будівлю&lt;br /&gt;
* У ланцюжках/автоматизації за типами завдань додано можливість додаткової умови &amp;quot;Статус дочірнього/батьківського завдання&amp;quot; для варіантів дій &amp;quot;Батьківське/Дочірнє завдання. Змінити статус на&amp;quot;&lt;br /&gt;
* У картці будівлі у списку ТМЦ додано інформацію про дату встановлення ТМЦ на будівлі та можливість експорту в XLS та у версію для друку&lt;br /&gt;
* У картці можна скопіювати всі прикріплені файли з іншого завдання&lt;br /&gt;
* У картці абонента додано пряме посилання на перегляд його маршруту комутації&lt;br /&gt;
* Для профілів співробітників можна обмежити максимальну кількість записів на сторінці &#039;&#039;(у таблицях/списках)&#039;&#039;&lt;br /&gt;
* У фільтр зі споруд зв&#039;язку додано можливість вибірки за відсутнім власним значком на карті&lt;br /&gt;
* У списку операцій за складу в селекторах вибору контрагента додано можливість вказівки конкретної будівлі&lt;br /&gt;
* У групових діях за будівлях додано можливість зміни індивідуального кольору на карті&lt;br /&gt;
* У групових діях за будинках можна змінити менеджера на порожнє значення &#039;&#039;(видалити менеджера)&#039;&#039;&lt;br /&gt;
* Виправлено сортування за адресою у списку завдань &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлена можливість одночасно відкласти завдання та вказати довільний коментар&lt;br /&gt;
&lt;br /&gt;
== 3.20.2 - 18.07.2025 ==&lt;br /&gt;
* Додано метод API-&amp;gt;task-&amp;gt;[[API_task_UK#add_cable_line_to_task|add_cable_line_to_task]]&lt;br /&gt;
* Додано метод API-&amp;gt;task-&amp;gt;[[API_task_UK#remove_cable_line_from_task|remove_cable_line_from_task]]&lt;br /&gt;
* Список підключених ONU на OLT можна виводити на друк або експортувати до XLS&lt;br /&gt;
* Для споруд зв&#039;язку та кабельних ліній додано можливість у групових діях змінювати нотатки&lt;br /&gt;
* У шаблоні спливаючої підказки на завдання на карті покриття можна відображати дату створення завдання, дату оновлення, текст останнього коментаря&lt;br /&gt;
* У ланцюжках/автоматизації за типами завдань додано дію &amp;quot;Абоненти. Виключити&amp;quot;&lt;br /&gt;
* Для ланцюжків/автоматизації в типах завдань додана можливість відключати автопризначуваних виконавців під час створення нового завдання за ланцюжку&lt;br /&gt;
* Доопрацьовано відображення посилань в описі типу завдань у картці завдання&lt;br /&gt;
* Виправлена фільтрація абонентів, що залежать від кросу/odf &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 3.20.1 - 12.07.2025 ==&lt;br /&gt;
* У списку будівель доданий фільтр за будівлях, у яких знято позначку &amp;quot;Відображати на карті&amp;quot;&lt;br /&gt;
* Виправлена неможливість відкрити картку автотранспорту зі списку&lt;br /&gt;
* Виправлено пошук за найменуванням кабельної лінії під час створення завдання &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлення відображення інформації про абонента у списку завдань &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 3.20 - 09.07.2025 ==&lt;br /&gt;
* Реліз версії 3.20&lt;br /&gt;
* Список змін див. [[3.20_UK|3.20]]&lt;/div&gt;</summary>
		<author><name>IronBot</name></author>
	</entry>
	<entry>
		<id>https://wiki.userside.eu/index.php?title=Versions_3.21_EN&amp;diff=22146</id>
		<title>Versions 3.21 EN</title>
		<link rel="alternate" type="text/html" href="https://wiki.userside.eu/index.php?title=Versions_3.21_EN&amp;diff=22146"/>
		<updated>2026-06-28T14:02:18Z</updated>

		<summary type="html">&lt;p&gt;IronBot: [IronBot] Sync EN localization from RU&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;en&#039;&#039;&#039; | [[Версії_3.21|uk]] | [[Версии_3.21|ru]]&lt;br /&gt;
&lt;br /&gt;
Versions of the [[3.21_EN|3.21]] branch&lt;br /&gt;
&lt;br /&gt;
Also see: [[Versions_of_ERP_&amp;quot;USERSIDE&amp;quot;|ERP &amp;quot;USERSIDE&amp;quot; versions]]&lt;br /&gt;
&lt;br /&gt;
== 3.21.4 (in development)&lt;br /&gt;
* Task news can now partially mark events as read and group news by task&lt;br /&gt;
* Task automation can now send Email messages to customers &#039;&#039;(using configurable templates)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 3.21.3 - 28.06.2026 ==&lt;br /&gt;
* Improved API method API-&amp;gt;inventory-&amp;gt;[[API_inventory_EN#transfer_inventory|transfer_inventory]]&lt;br /&gt;
* Improved API method API-&amp;gt;commutation-&amp;gt;[[API_commutation_EN#delete|commutation]]&lt;br /&gt;
* Improved API method API-&amp;gt;node-&amp;gt;[[API_node_EN#get|get]]&lt;br /&gt;
* Improved API method API-&amp;gt;address-&amp;gt;[[API_address_EN#get_house|get_house]]&lt;br /&gt;
* The scheduler task &amp;quot;Send low-stock information&amp;quot; can now specify the delivery options &amp;quot;E-mail/Messenger&amp;quot;; the employee card also now lets you specify delivery options for this mailing in the &amp;quot;Notifications&amp;quot; section&lt;br /&gt;
* The inventory list in the task card can now transfer all inventory items to the selected recipient at once&lt;br /&gt;
* Quick value search was added to custom fields of the &amp;quot;List selection&amp;quot; type&lt;br /&gt;
* Improved the use of explicitly specified coordinates when editing a building card and selecting a polygon/point&lt;br /&gt;
* Fixed creating cable lines to a building from the coverage map&lt;br /&gt;
* Fixed an error when opening Settings - Modules &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed grouping in the task list &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed deleting a label from the switching scheme&lt;br /&gt;
* Fixed the &amp;quot;Show dismissed employees in selectors/search for N days after dismissal&amp;quot; parameter&lt;br /&gt;
* Fixed warehouse availability checks when selecting inventory items during task execution&lt;br /&gt;
* Fixed the &amp;quot;Show tasks by actual completion date&amp;quot; variable&lt;br /&gt;
* Fixed using task-type appearance color settings in the calendar&lt;br /&gt;
* Fixed coverage-map search &#039;&#039;(substituting the current locality in the search window)&#039;&#039;&lt;br /&gt;
* Fixed navigation from a customer card to the map with the customer&#039;s building coordinates&lt;br /&gt;
* Fixed saving interfaces/stacking in the device card&lt;br /&gt;
&lt;br /&gt;
== 3.21.2 - 26.06.2026 ==&lt;br /&gt;
* Improved API method API-&amp;gt;address-&amp;gt;[[API_address_EN#get_house|get_house]]&lt;br /&gt;
* When transferring inventory from a customer card, the sub-account receiving the inventory can now be selected&lt;br /&gt;
* When creating/editing a task for a building, information about building tags and the building note is shown&lt;br /&gt;
* When creating a task in a chain, a specific custom assignee/department can be specified separately&lt;br /&gt;
* Bulk inventory transfer now creates combined transfer operations instead of separate operations for each item&lt;br /&gt;
* The task list filter-result grouping now has a &amp;quot;Completion date (month)&amp;quot; option&lt;br /&gt;
* Fixed an error when creating a task &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed changing coordinates in building, communications installation, and customer cards &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed generation of communications-installation names when selecting a building floor &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed link handling in text values of custom fields&lt;br /&gt;
* Fixed assigning assignees when creating a task &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 3.21.1 - 25.06.2026 ==&lt;br /&gt;
* Improved map centering when editing a polygon/building on the coverage map&lt;br /&gt;
* Fixed displaying global switching schemes &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed exporting the cable line list to XLS &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed correct rendering of customers on the building logical scheme &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed selecting parent objects when adding a building from the coverage map&lt;br /&gt;
* Fixed attaching a customer when adding a new task for a customer&lt;br /&gt;
* Fixed minor bugs&lt;br /&gt;
&lt;br /&gt;
== 3.21.0 - 23.06.2026 ==&lt;br /&gt;
* Version release&lt;br /&gt;
&lt;br /&gt;
== 3.21.0-beta.7 - 21.06.2026 ==&lt;br /&gt;
* Fixes based on beta testing results&lt;br /&gt;
&lt;br /&gt;
== 3.21.0-beta.6 - 20.06.2026 ==&lt;br /&gt;
* Fixes based on beta testing results&lt;br /&gt;
&lt;br /&gt;
== 3.21.0-beta.5 - 17.06.2026 ==&lt;br /&gt;
* Fixes based on beta testing results&lt;br /&gt;
&lt;br /&gt;
== 3.21.0-beta.4 - 13.06.2026 ==&lt;br /&gt;
* Fixes based on beta testing results&lt;br /&gt;
&lt;br /&gt;
== 3.21.0-beta.3 - 07.06.2026 ==&lt;br /&gt;
* Fixes based on beta testing results&lt;br /&gt;
&lt;br /&gt;
== 3.21.0-beta.2 - 30.05.2026 ==&lt;br /&gt;
* Fixes based on beta testing results&lt;br /&gt;
&lt;br /&gt;
== 3.21.0-beta.1 - 24.05.2026 ==&lt;br /&gt;
* See the list of changes in [[3.21_EN|3.21]]&lt;/div&gt;</summary>
		<author><name>IronBot</name></author>
	</entry>
	<entry>
		<id>https://wiki.userside.eu/index.php?title=%D0%92%D0%B5%D1%80%D1%81%D1%96%D1%97_3.21&amp;diff=22145</id>
		<title>Версії 3.21</title>
		<link rel="alternate" type="text/html" href="https://wiki.userside.eu/index.php?title=%D0%92%D0%B5%D1%80%D1%81%D1%96%D1%97_3.21&amp;diff=22145"/>
		<updated>2026-06-28T14:02:18Z</updated>

		<summary type="html">&lt;p&gt;IronBot: [IronBot] Sync UK localization from RU&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Versions_3.21_EN|en]] | &#039;&#039;&#039;uk&#039;&#039;&#039; | [[Версии_3.21|ru]]&lt;br /&gt;
&lt;br /&gt;
Версії гілки [[3.21_UK|3.21]]&lt;br /&gt;
&lt;br /&gt;
Див. також: [[Версії_ERP_&amp;quot;USERSIDE&amp;quot;|Версії ERP &amp;quot;USERSIDE&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
== 3.21.4 (у розробці)&lt;br /&gt;
* У новинах за завданнями додано можливість частково позначати події як прочитані, а також групувати новини за завданнями&lt;br /&gt;
* В автоматизації за завданнями додано можливість надсилати Email клієнтам &#039;&#039;(за налаштованими шаблонами)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 3.21.3 - 28.06.2026 ==&lt;br /&gt;
* Доопрацьовано метод API-&amp;gt;inventory-&amp;gt;[[API_inventory_UK#transfer_inventory|transfer_inventory]]&lt;br /&gt;
* Доопрацьовано метод API-&amp;gt;commutation-&amp;gt;[[API_commutation_UK#delete|commutation]]&lt;br /&gt;
* Доопрацьовано метод API-&amp;gt;node-&amp;gt;[[API_node_UK#get|get]]&lt;br /&gt;
* Доопрацьовано метод API-&amp;gt;address-&amp;gt;[[API_address_UK#get_house|get_house]]&lt;br /&gt;
* Для завдання планувальника &amp;quot;Розсилання інформації про зниження резервів на складі&amp;quot; додано можливість указувати варіанти надсилання &amp;quot;E-mail/Messenger&amp;quot;, а також у картці співробітника в розділі &amp;quot;Сповіщення&amp;quot; можна вказати варіанти отримання цієї розсилки&lt;br /&gt;
* У списку ТМЦ у картці завдання додано можливість одразу передавати всі ТМЦ вибраному отримувачу&lt;br /&gt;
* У додаткових полях із типом &amp;quot;Вибір зі списку&amp;quot; додано швидкий пошук значення&lt;br /&gt;
* Доопрацьовано використання явно вказаних координат під час редагування картки будівлі та вибору полігона/точки&lt;br /&gt;
* Виправлено створення кабельних ліній до будівлі з мапи покриття&lt;br /&gt;
* Виправлено помилку під час переходу до розділу Налаштування - Модулі &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлено групування у списку завдань &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлено видалення напису зі схеми комутації&lt;br /&gt;
* Виправлено роботу параметра &amp;quot;Відображати у селекторах/пошуку звільнених співробітників протягом N днів після їх звільнення&amp;quot;&lt;br /&gt;
* Виправлено перевірку доступності складів під час вибору ТМЦ при виконанні завдання&lt;br /&gt;
* Виправлено роботу змінної &amp;quot;Виводити завдання за датою фактичного виконання&amp;quot;&lt;br /&gt;
* Виправлено використання колірних налаштувань зовнішнього вигляду типів завдань у календарі&lt;br /&gt;
* Виправлено пошук на мапі покриття &#039;&#039;(підставляння поточного населеного пункту у вікні пошуку)&#039;&#039;&lt;br /&gt;
* Виправлено перехід із картки клієнта на мапу з координатами будівлі клієнта&lt;br /&gt;
* Виправлено збереження інтерфейсів/стекування в картці пристрою&lt;br /&gt;
&lt;br /&gt;
== 3.21.2 - 26.06.2026 ==&lt;br /&gt;
* Доопрацьовано метод API-&amp;gt;address-&amp;gt;[[API_address_UK#get_house|get_house]]&lt;br /&gt;
* Під час передавання ТМЦ із картки клієнта можна вибрати субрахунок, на який передаємо&lt;br /&gt;
* Під час створення/зміни завдання для будівлі виводиться інформація про мітки на будівлі та примітку до будівлі&lt;br /&gt;
* Під час створення завдання за ланцюжком можна окремо вказати потрібного довільного виконавця/підрозділ&lt;br /&gt;
* У масовому передаванні ТМЦ тепер створюються об&#039;єднані операції передавання, а не кожна окремо&lt;br /&gt;
* У списку завдань у групуванні результатів фільтрації додано варіант &amp;quot;Дата виконання (місяць)&amp;quot;&lt;br /&gt;
* Виправлено помилку під час створення завдання &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлено зміну координат у картці будівлі, споруди зв&#039;язку, клієнта &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлено формування назви споруди зв&#039;язку під час вибору поверху будівлі &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлено обробку посилань у текстових значеннях додаткових полів&lt;br /&gt;
* Виправлено призначення виконавців під час створення завдання &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 3.21.1 - 25.06.2026 ==&lt;br /&gt;
* Доопрацьовано центрування мапи під час редагування полігона/будівлі на мапі покриття&lt;br /&gt;
* Виправлено відображення глобальних схем комутації &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлено експорт у XLS списку кабельних ліній &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлено коректне відображення клієнтів на логічній схемі будівлі &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлено вибір батьківських об&#039;єктів під час додавання будівлі з мапи покриття&lt;br /&gt;
* Виправлено прикріплення клієнта під час додавання нового завдання для клієнта&lt;br /&gt;
* Виправлення невеликих помилок&lt;br /&gt;
&lt;br /&gt;
== 3.21.0 - 23.06.2026 ==&lt;br /&gt;
* Реліз версії&lt;br /&gt;
&lt;br /&gt;
== 3.21.0-beta.7 - 21.06.2026 ==&lt;br /&gt;
* Виправлення за підсумками бета-тестування&lt;br /&gt;
&lt;br /&gt;
== 3.21.0-beta.6 - 20.06.2026 ==&lt;br /&gt;
* Виправлення за підсумками бета-тестування&lt;br /&gt;
&lt;br /&gt;
== 3.21.0-beta.5 - 17.06.2026 ==&lt;br /&gt;
* Виправлення за підсумками бета-тестування&lt;br /&gt;
&lt;br /&gt;
== 3.21.0-beta.4 - 13.06.2026 ==&lt;br /&gt;
* Виправлення за підсумками бета-тестування&lt;br /&gt;
&lt;br /&gt;
== 3.21.0-beta.3 - 07.06.2026 ==&lt;br /&gt;
* Виправлення за підсумками бета-тестування&lt;br /&gt;
&lt;br /&gt;
== 3.21.0-beta.2 - 30.05.2026 ==&lt;br /&gt;
* Виправлення за підсумками бета-тестування&lt;br /&gt;
&lt;br /&gt;
== 3.21.0-beta.1 - 24.05.2026 ==&lt;br /&gt;
* Перелік змін див. у [[3.21_UK|3.21]]&lt;/div&gt;</summary>
		<author><name>IronBot</name></author>
	</entry>
	<entry>
		<id>https://wiki.userside.eu/index.php?title=Versions_3.20_EN&amp;diff=22144</id>
		<title>Versions 3.20 EN</title>
		<link rel="alternate" type="text/html" href="https://wiki.userside.eu/index.php?title=Versions_3.20_EN&amp;diff=22144"/>
		<updated>2026-06-28T14:02:07Z</updated>

		<summary type="html">&lt;p&gt;IronBot: [IronBot] Sync EN localization from RU&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;en&#039;&#039;&#039; | [[Версії_3.20|uk]] | [[Версии_3.20|ru]]&lt;br /&gt;
&lt;br /&gt;
Branch versions [[3.20_EN|3.20]]&lt;br /&gt;
&lt;br /&gt;
Also see: [[Versions of ERP &amp;quot;USERSIDE&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
== 3.20.25 - 24.06.2026 ==&lt;br /&gt;
* Improved the display of planned cable lines on the coverage map according to cable-density color settings&lt;br /&gt;
* Fixed a bug with displaying the cable line list &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed minor bugs and changes&lt;br /&gt;
&lt;br /&gt;
== 3.20.24 - 27.05.2026 ==&lt;br /&gt;
* Fixed minor bugs and changes&lt;br /&gt;
&lt;br /&gt;
== 3.20.23 - 27.04.2026 ==&lt;br /&gt;
* Added API method-&amp;gt;call-&amp;gt;[[API_call_EN#agent_call|agent_call]]&lt;br /&gt;
* Added API method-&amp;gt;chapter-&amp;gt;[[API_chapter_EN#link_add|link_add]]&lt;br /&gt;
* Added API method-&amp;gt;chapter-&amp;gt;[[API_chapter_EN#link_get|link_get]]&lt;br /&gt;
* Added API method-&amp;gt;chapter-&amp;gt;[[API_chapter_EN#link_remove|link_remove]]&lt;br /&gt;
* Improved API method-&amp;gt;call-&amp;gt;[[API_call_EN#add|add]]&lt;br /&gt;
* Improved API method-&amp;gt;task-&amp;gt;[[API_task_EN#edit|edit]]&lt;br /&gt;
* Completed tasks now also show the &amp;quot;Overdue&amp;quot; flag when work deadlines are missed&lt;br /&gt;
* Fixed a bug when opening the work calendar &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed minor bugs&lt;br /&gt;
&lt;br /&gt;
== 3.20.22 - 04.04.2026 ==&lt;br /&gt;
* Fixed selecting an empty value in the task type for registration by phone&lt;br /&gt;
* Optimization work&lt;br /&gt;
* Fixed minor bugs&lt;br /&gt;
&lt;br /&gt;
== 3.20.21 - 11.03.2026 ==&lt;br /&gt;
* Fixed display of the error counter on equipment interfaces &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed SMS message template settings for customers in tasks&lt;br /&gt;
* Optimization work&lt;br /&gt;
* Fixed minor bugs&lt;br /&gt;
&lt;br /&gt;
== 3.20.20 - 22.02.2026 ==&lt;br /&gt;
* Optimized the &amp;quot;My tasks&amp;quot; section&lt;br /&gt;
* Fixed broken main menu layout in some cases&lt;br /&gt;
&lt;br /&gt;
== 3.20.19 - 08.02.2026 ==&lt;br /&gt;
* Fixed minor bugs&lt;br /&gt;
&lt;br /&gt;
== 3.20.18 - 23.01.2026 ==&lt;br /&gt;
* Optimized the warehouse report &amp;quot;Turnover balance sheet&amp;quot;&lt;br /&gt;
* Fixed minor bugs&lt;br /&gt;
&lt;br /&gt;
== 3.20.17 - 31.12.2025 ==&lt;br /&gt;
* Added API method-&amp;gt;task-&amp;gt;[[API task#add_node_to_task|add_node_to_task]]&lt;br /&gt;
* Added API method-&amp;gt;task-&amp;gt;[[API task#remove_node_from_task|remove_node_from_task]]&lt;br /&gt;
* Fixed execution of task chain &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed minor bugs&lt;br /&gt;
&lt;br /&gt;
== 3.20.16 - 14.12.2025 ==&lt;br /&gt;
* Fixed a bug with filtering by inventory section in the warehouse operations list&lt;br /&gt;
* Fixed minor bugs&lt;br /&gt;
&lt;br /&gt;
== 3.20.15 - 06.12.2025 ==&lt;br /&gt;
* For task chains/automation in task types, added the ability to specify fractional hour intervals&lt;br /&gt;
* Fixed minor bugs&lt;br /&gt;
&lt;br /&gt;
== 3.20.14 - 29.11.2025 ==&lt;br /&gt;
* Improvements to the API interface with Binotel&lt;br /&gt;
* Fixed minor bugs&lt;br /&gt;
&lt;br /&gt;
== 3.20.13 - 22.11.2025 ==&lt;br /&gt;
* Fixed minor bugs&lt;br /&gt;
&lt;br /&gt;
== 3.20.12 - 15.11.2025 ==&lt;br /&gt;
* Added the setting &amp;quot;Scale the width of the cable line on the switching diagram depending on the length of the name&amp;quot;&lt;br /&gt;
* Improved the display of unknown ONUs by OLT in the main page widget&lt;br /&gt;
* Fixed other minor bugs&lt;br /&gt;
&lt;br /&gt;
== 3.20.11 - 08.11.2025 ==&lt;br /&gt;
* Fixed an error when entering the Custom notifications section &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed an error when entering the device interface/stacking settings &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed the inability to switch between ODF/crosses in the switching master&lt;br /&gt;
* Fixed some migration errors&lt;br /&gt;
&lt;br /&gt;
== 3.20.10 - 07.11.2025 ==&lt;br /&gt;
* Added API method-&amp;gt;vehicle-&amp;gt;[[API vehicle#add|add]]&lt;br /&gt;
* Added API method-&amp;gt;vehicle-&amp;gt;[[API vehicle#edit|edit]]&lt;br /&gt;
* Added API method-&amp;gt;vehicle-&amp;gt;[[API vehicle#delete|delete]]&lt;br /&gt;
* In the communication installations card, in the block with attached image files, it is possible to quickly make an image the main photo for this object &#039;&#039;(without having to go to editing)&#039;&#039;&lt;br /&gt;
* In the cable line card, the ability to create a task with this line or add a line to an existing task has been added&lt;br /&gt;
* Sorting by additional fields in custom sections has been improved&lt;br /&gt;
* Filtering by inventory item name in the inventory list has been fixed&lt;br /&gt;
* The display of equipment layers on the coverage map has been fixed&lt;br /&gt;
* Other minor bugs have been fixed&lt;br /&gt;
&lt;br /&gt;
== 3.20.9 - 14.09.2025 ==&lt;br /&gt;
* Improved verification of access rights to ONU&lt;br /&gt;
* Fixed a bug when searching for a user during the transfer of inventory items &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed an update in the serial number database for ONU when polling OLT &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 3.20.8 - 06.09.2025 ==&lt;br /&gt;
* Added API method-&amp;gt;billing-&amp;gt;[[API billing#refresh_date_update|refresh_date_update]]&lt;br /&gt;
* Optimised interface for editing/adding address units &#039;&#039;(relevant for branched address structures)&#039;&#039;&lt;br /&gt;
* Links to view users associated with communication installations and cable lines have been added to the task card&lt;br /&gt;
* Fixed checking for parent task status in task automation &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed display of pop-up hints in the task calendar when scrolling horizontally&lt;br /&gt;
* Fixed assignment of employees to a department &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 3.20.7 - 25.08.2025 ==&lt;br /&gt;
* &#039;&#039;&#039;In-depth processing of transport operations. Various types, mileage control, deadlines. Notification on the main page and transport list. Keeping a history of changes in operations&#039;&#039;&#039;&lt;br /&gt;
* The history of actions for a potential user is transferred to the history of actions for a regular user when they are merged&lt;br /&gt;
* During hot replacement of a device, you can specify to save the history of MAC addresses on equipment ports &lt;br /&gt;
* The ability to clear switching has been added to group actions on the user list&lt;br /&gt;
* Technical migration of core data&lt;br /&gt;
* Fixed filtering of the FDB table by device &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed a bug when restricting an employee&#039;s access to a specific IP address&lt;br /&gt;
* Fixed ONU access rights verification&lt;br /&gt;
&lt;br /&gt;
== 3.20.6 - 15.08.2025 ==&lt;br /&gt;
* &#039;&#039;&#039; Separate SMS profiles for work. For example, you can specify a separate SMS profile for each SMS mailing &#039;&#039;(your own alpha name, different operator, etc.)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
* Separated ONU access rights for viewing and editing&lt;br /&gt;
* Fixed display of a large number of notebook sections in the section list&lt;br /&gt;
* Fixed information update when adding/removing a communication facility in a task&lt;br /&gt;
&lt;br /&gt;
== 3.20.5 - 08.08.2025 ==&lt;br /&gt;
* Added API method-&amp;gt;address-&amp;gt;[[API address#get_building_type|get_building_type]]&lt;br /&gt;
* Added the &amp;quot;Buildings. Pop-up message template on the map&amp;quot; setting&lt;br /&gt;
* Improved the interface for changing notes, adapter types, and connections for fibre cable lines&lt;br /&gt;
* Redesigned the interface for adding communication structures and cable lines to a task when creating a task&lt;br /&gt;
* Corrected the verification of access rights to the work schedule&lt;br /&gt;
* Improved the billing of employees for tasks in the work schedule when more than 5 employees are involved in the task&lt;br /&gt;
* Fixed a bug in filtering by building in the list of warehouse operations &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 3.20.4 - 04.08.2025 ==&lt;br /&gt;
* Added API method-&amp;gt;cross-&amp;gt;[[API cross#edit_adapter|edit_adapter]]&lt;br /&gt;
* Added API method-&amp;gt;task-&amp;gt;[[API address#edit_address|edit_address]]&lt;br /&gt;
* Added a setting parameter &amp;quot;Block automation/task chain execution when returning a task from the status with the system role &#039;Pending&#039; &amp;quot;&lt;br /&gt;
* Added grouping of tasks by street or location to the task list&lt;br /&gt;
* Improved saving of files attached to task comments&lt;br /&gt;
* Minor fixes and improvements&lt;br /&gt;
&lt;br /&gt;
== 3.20.3 - 27.07.2025 ==&lt;br /&gt;
* Added API method-&amp;gt;task-&amp;gt;[[API task#change_state|change_state]]&lt;br /&gt;
* The &amp;quot;Consider connections on dividers as mechanical&amp;quot; configuration parameter has been added&lt;br /&gt;
* In the task type settings for inventory items, you can specify that all inventory items should be moved to the associated building after closing&lt;br /&gt;
* In chains/automation by task type, the additional condition &amp;quot;Child/parent task status&amp;quot; has been added for the action options &amp;quot;Parent/Child task. Change status to&amp;quot;&lt;br /&gt;
* Information about the date of installation of inventory items on the building and the ability to export to XLS and printable versions has been added to the building card in the inventory list&lt;br /&gt;
* All attached files from another task can be copied to the card&lt;br /&gt;
* A direct link to view the customer&#039;s switching route has been added to the customer card&lt;br /&gt;
* For employee profiles, you can limit the maximum number of entries on the page (in tables/lists)&lt;br /&gt;
* The filter for communication facilities now includes the option to select by missing custom icon on the map&lt;br /&gt;
* In the list of warehouse operations in the counterparty selection selectors, the ability to specify a specific building has been added&lt;br /&gt;
* In group actions for buildings, the ability to change the individual colour on the map has been added&lt;br /&gt;
* In group actions for buildings, you can change the manager to the empty value &#039;&#039;(delete manager)&#039;&#039;&lt;br /&gt;
* Fixed sorting by address in the task list &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed the ability to simultaneously postpone a task and specify an arbitrary comment&lt;br /&gt;
&lt;br /&gt;
== 3.20.2 - 18.07.2025 ==&lt;br /&gt;
* Added API method-&amp;gt;task-&amp;gt;[[API task#add_cable_line_to_task|add_cable_line_to_task]]&lt;br /&gt;
* Added API method-&amp;gt;task-&amp;gt;[[API task#remove_cable_line_from_task|remove_cable_line_from_task]]&lt;br /&gt;
* The list of connected ONUs on the OLT can be printed or exported to XLS&lt;br /&gt;
* For communication installations and cable lines the possibility to change notes in group actions has been added&lt;br /&gt;
* In the template of the tooltip on the task on the coverage map it is possible to display the date of task creation, update date, text of the last comment&lt;br /&gt;
* In chains/automation by task type, added action &amp;quot;Customers. Exclude.&amp;quot;&lt;br /&gt;
* In chains/automation by task types, added possibility to disable auto-assigned executors when creating a new task in a chain&lt;br /&gt;
* Improved displaying of links in the description of a task type in the task card&lt;br /&gt;
* Fixed filtering of customers that depend on cross/odf &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 3.20.1 - 12.07.2025 ==&lt;br /&gt;
* In the list of buildings, added filter for buildings with &amp;quot;Display on map&amp;quot; unchecked&lt;br /&gt;
* Fixed inability to open a vehicle card from the list&lt;br /&gt;
* Fixed search by cable line name when task is created &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed display of customer information in the task list &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 3.20 - 09.07.2025 ==&lt;br /&gt;
* Release version 3.20&lt;br /&gt;
* For a list of changes see [[3.20_EN|3.20]]&lt;/div&gt;</summary>
		<author><name>IronBot</name></author>
	</entry>
	<entry>
		<id>https://wiki.userside.eu/index.php?title=%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0&amp;diff=22088</id>
		<title>Установка</title>
		<link rel="alternate" type="text/html" href="https://wiki.userside.eu/index.php?title=%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0&amp;diff=22088"/>
		<updated>2026-06-23T12:46:47Z</updated>

		<summary type="html">&lt;p&gt;IronBot: [IronBot] Repair localization links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
[[Installation|en]] | [[Встановлення|uk]] | &#039;&#039;&#039;ru&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ВНИМАНИЕ: Данная инструкция актуальна для версий ERP USERSIDE 3.19+&#039;&#039;&#039;&lt;br /&gt;
* [[Установка для версии 3.18|Инструкция для версии 3.18]]&lt;br /&gt;
* [[Установка для версии 3.17|Инструкция для версии 3.11-3.17]]&lt;br /&gt;
* [[Установка для версии 3.10 и более ранних|Инструкция для версии 3.10 и ранее]].&lt;br /&gt;
&lt;br /&gt;
== Описание ==&lt;br /&gt;
В целях упрощения будут рассмотрены команды для операционной системы &#039;&#039;&#039;Linux Debian 13 (trixie)&#039;&#039;&#039;. Для опытных системных администраторов не составит труда использовать аналогичные команды для другой операционной системы. Если же вы не чувствуете себя уверено в администрировании операционных систем, то мы рекомендуем вам использовать операционную систему &#039;&#039;&#039;Debian&#039;&#039;&#039; либо &#039;&#039;&#039;Ubuntu Server LTS&#039;&#039;&#039;. Из-за их простоты, а также по причине того, что наша техническая поддержка значительно лучше разбирается в Debian-подобных дистрибутивах. Вероятность подсказать что-либо не касающееся ERP USERSIDE, но касающееся администрирования операционной системы, будет значительно выше, если у вас будет Debian или подобный дистрибутив на его основе.&lt;br /&gt;
&lt;br /&gt;
С другой стороны, если вы опытный системный администратор и имеете навыки и опыт работы с Docker, возможно для вас будет более удобным вариант использования готового окружения на базе Docker-образов, которые мы подготовили специально, включив в них всё необходимое для работы ERP USERSIDE. В этом случае вам не придется ничего настраивать, кроме как выполнить простые настройки Docker-бандла https://github.com/userside/userside-docker.&lt;br /&gt;
&lt;br /&gt;
== Требования ==&lt;br /&gt;
Для работы ERP USERSIDE необходимы различные системные приложения и службы, такие как интерпретатор языка PHP с набором расширений, WEB-сервер, система управления базами данных и прочие. В этом разделе будут перечислены такие требования в зависимости от версии ERP USERSIDE.&lt;br /&gt;
&lt;br /&gt;
Также обратите внимание, что ваша операционная система должна быть сконфигурирована с корректным часовым поясом и локалью. От этого зависит правильность отображения информации и корректность сортировки.&lt;br /&gt;
&lt;br /&gt;
Список требуемых расширений PHP содержит все расширения, не входящие в состав ядра PHP. Часть из этих расширений может поставляться вместе с основным пакетом PHP либо в составе пакета php-common, другая же часть должна быть установлена дополнительно. &lt;br /&gt;
&lt;br /&gt;
=== 3.20 ===&lt;br /&gt;
* PHP 8.4-8.5&lt;br /&gt;
* Расширения PHP: ctype, gd, json, libxml, mbstring, openssl, pdo, pdo_pgsql, posix, simplexml, snmp, sockets, zlib, pcntl&lt;br /&gt;
* Дополнительные расширения PHP: ldap&lt;br /&gt;
* Python: &#039;&#039;Необходим Python3 любой поддерживаемой на данный момент версии. Статус версий можно посмотреть здесь: &amp;quot;[https://devguide.python.org/versions/ Status of Python versions]&amp;quot;. Рекомендуется использовать версию с состоянием &amp;quot;security&amp;quot; или &amp;quot;bugfix&amp;quot;. Версии отмеченные как &amp;quot;end-of-life&amp;quot; не поддерживаются. Отмеченные как &amp;quot;feature&amp;quot; не рекомендуется использовать.&#039;&#039;&lt;br /&gt;
* Модули Python: pip, venv&lt;br /&gt;
* PostgreSQL: 16+ (желательно 18)&lt;br /&gt;
* Redis: 5+ (желательно 7)&lt;br /&gt;
* RabbitMQ: 3.13+ (желательно 4+)&lt;br /&gt;
* Supervisor&lt;br /&gt;
&lt;br /&gt;
=== 3.19 (текущая стабильная) ===&lt;br /&gt;
* PHP: 8.3-8.4&lt;br /&gt;
* Расширения PHP: ctype, gd, json, libxml, mbstring, openssl, pdo, pdo_pgsql, posix, simplexml, snmp, sockets, zlib, pcntl&lt;br /&gt;
* Дополнительные расширения PHP: ldap, soap&lt;br /&gt;
* Python: &#039;&#039;Необходим Python3 любой поддерживаемой на данный момент версии. Статус версий можно посмотреть здесь: &amp;quot;[https://devguide.python.org/versions/ Status of Python versions]&amp;quot;. Рекомендуется использовать версию с состоянием &amp;quot;security&amp;quot; или &amp;quot;bugfix&amp;quot;. Версии отмеченные как &amp;quot;end-of-life&amp;quot; не поддерживаются. Отмеченные как &amp;quot;feature&amp;quot; не рекомендуется использовать.&#039;&#039;&lt;br /&gt;
* Модули Python: pip, venv&lt;br /&gt;
* PostgreSQL: 12+ (желательно 16)&lt;br /&gt;
* Redis: 5+ (желательно 7)&lt;br /&gt;
* RabbitMQ: 3.10+ (желательно 3.13)&lt;br /&gt;
* Supervisor&lt;br /&gt;
&lt;br /&gt;
== Основные договорённости ==&lt;br /&gt;
Каталог, в который устанавливается ERP USERSIDE - &amp;lt;code&amp;gt;/var/www/userside&amp;lt;/code&amp;gt;. Внутри этого каталога должен быть подкаталог public, который является корневым каталогом для WEB-сервера. Если вы хотите использовать другой каталог для ERP USERSIDE, не забывайте вносить соответствующие исправления во все примеры из данной инструкции.&lt;br /&gt;
&lt;br /&gt;
Создайте каталоги:&lt;br /&gt;
 sudo mkdir -p /var/www/userside/public /var/log/usm_poller&lt;br /&gt;
 sudo chown -R www-data:www-data /var/www/userside /var/log/usm_poller&lt;br /&gt;
&lt;br /&gt;
Вам необходимо выделить доменное имя для ERP USERSIDE. В примерах ниже используется userside.mycompany.com, но вам необходимо будет заменить его на свое. Пропишите это доменное имя в /etc/hosts, если оно отличается от имени хоста, на котором производистя установка.&lt;br /&gt;
&lt;br /&gt;
== Установка необходимых компонентов ==&lt;br /&gt;
Сперва установите утилиты, которые будут необходимы далее в процессе установки. Они необходимы для любой верии ERP USERSIDE. Вы можете копировать строки по одной и вставлять их в командную строку вашей операционной системы.&lt;br /&gt;
&lt;br /&gt;
Следующие строки скопируйте и вставьте целиком:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo tee /etc/apt/sources.list.d/contrib-non-free.list &amp;lt;&amp;lt; EOL&lt;br /&gt;
deb http://deb.debian.org/debian/ $(lsb_release -sc) contrib non-free non-free-firmware&lt;br /&gt;
EOL&lt;br /&gt;
&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt full-upgrade -y&lt;br /&gt;
sudo apt install -y gnupg ca-certificates lsb-release debian-archive-keyring debian-keyring libsnmp-dev snmp-mibs-downloader&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== PostgreSQL ===&lt;br /&gt;
==== Альтернативный официальный репозиторий ====&lt;br /&gt;
Мы настоятельно рекомендуем использовать последнюю версию PostgreSQL, так как это всегда положительно сказывается на скорости работы. Добавьте в систему официальный репозиторий Postgres:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo install -d /usr/share/postgresql-common/pgdg&lt;br /&gt;
&lt;br /&gt;
sudo curl -o /usr/share/postgresql-common/pgdg/apt.postgresql.org.asc --fail https://www.postgresql.org/media/keys/ACCC4CF8.asc&lt;br /&gt;
&lt;br /&gt;
sudo sh -c &#039;echo &amp;quot;deb [signed-by=/usr/share/postgresql-common/pgdg/apt.postgresql.org.asc] https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main&amp;quot; &amp;gt; /etc/apt/sources.list.d/pgdg.list&#039;&lt;br /&gt;
&lt;br /&gt;
sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Если у вас другая операционная система, вы можете найти необходимые команды для нее на [https://www.postgresql.org/download/ официальном сайте PostgreSQL].&lt;br /&gt;
&lt;br /&gt;
==== Установка ====&lt;br /&gt;
&#039;&#039;&#039;Внимание!&#039;&#039;&#039; Перед установкой PostgreSQL в вашей операционной системе должна быть установлена ваша местная локаль и корректный часовой пояс! Это можно сделать и позже, но будет намного проще, если это будет сделано до установки PostgreSQL. Выполните следующую команду, чтобы убедиться, что нужная локаль присутствует:&lt;br /&gt;
 locale -a&lt;br /&gt;
&lt;br /&gt;
Если среди перечисленных нет вашей местной локали, то установите ее. Для этого достаточно отредактировать файл /etc/locale.gen убрав комментарии перед строкой (строками) с нужной локалью, а затем выполнить команду:&lt;br /&gt;
 sudo locale-gen&lt;br /&gt;
&lt;br /&gt;
Если вам нужно изменить локаль по умолчанию, то выполните:&lt;br /&gt;
 sudo dpkg-reconfigure locales&lt;br /&gt;
&lt;br /&gt;
Чтобы изменить часовой пояс, выполните:&lt;br /&gt;
 sudo timedatectl set-timezone Europe/Kyiv&lt;br /&gt;
&lt;br /&gt;
Теперь можно перейти к установке PostgreSQL:&lt;br /&gt;
 sudo apt install -y postgresql-18 postgresql-18-postgis-3&lt;br /&gt;
&lt;br /&gt;
==== Настройка ====&lt;br /&gt;
Создайте пользователя и базу данных для ERP USERSIDE. В примере ниже создается пользователь с именем userside и база данных с таким же именем. Если ваша локаль не uk_UA, не забудьте изменить команду. Затем к базе данных подключается расширение PostGis, необходимое для работы с географическими данными. После выполнения первой строки, вам необходимо будет дважды ввести пароль для нового пользователя - запишите этот пароль, он понадобится вам далее для установки ERP USERSIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo -u postgres createuser userside -P&lt;br /&gt;
sudo -u postgres createdb -e -E &amp;quot;UTF-8&amp;quot; -l &amp;quot;uk_UA.UTF-8&amp;quot; -O userside -T template0 userside&lt;br /&gt;
sudo -u postgres psql -d userside -c &amp;quot;CREATE EXTENSION postgis&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если ваш PostgreSQL установлен &#039;&#039;&#039;на другом сервере&#039;&#039;&#039;, то вам необходимо будет внести коррекции в файлы postgresql.conf и pg_hba.conf, расположенные в каталоге /etc/postgresql/16/main/. В файле postgresql.conf необходимо раскомментировать и изменить значение параметра &amp;lt;code&amp;gt;listen_addresses&amp;lt;/code&amp;gt;, указав там все IP-адреса интерфейсов сервера, на которых он может принимать подключения к PostgreSQL. В файле pg_hba.conf необходимо в самом конце добавить строку по аналогии с предыдущими, указывающую, с какого адреса может подключаться пользователь ERP USERSIDE. Но если ваш PostgreSQL расположен на том же сервере, что и USERSIDE - нет необходимости вносить какие либо корректировки в эти файлы.&lt;br /&gt;
&lt;br /&gt;
=== Redis ===&lt;br /&gt;
Стандартный репозиторий Debian 13 включает версию Redis 8.0.2. Эта версия подходит для работы ERP USERSIDE.&lt;br /&gt;
&lt;br /&gt;
==== Установка ====&lt;br /&gt;
 sudo apt install -y redis-server&lt;br /&gt;
&lt;br /&gt;
==== Настройка ====&lt;br /&gt;
По умолчанию Redis принимает подключения без пароля, но мы настоятельно рекомендуем установить пароль. Так как пароль передается в открытом виде (Redis не предусматривает шифрования, т.к. делает упор на скорость обработки запросов и лишние этапы вроде шифрования не применяются), вам нужно создать действительно длинный и сложный пароль, например, используя утилиту &#039;&#039;&#039;openssl&#039;&#039;&#039; следующим образом:&lt;br /&gt;
&lt;br /&gt;
 openssl rand --hex 32&lt;br /&gt;
&lt;br /&gt;
На выходе вы получите случайный набор из 32 байт в 16-ричном виде, который и будете использовать в качестве пароля. Далее нужно будет вместо слова &#039;&#039;&#039;MYPASSWORDHERE&#039;&#039;&#039; подставить эту сгенерированную строку. Запишите его. Далее в настройках вы будете указывать эту строку как пароль Redis.&lt;br /&gt;
&lt;br /&gt;
Укажите полученный хэш парольной фразы в конфигурационном файле Redis:&lt;br /&gt;
&lt;br /&gt;
 sudo sed -i &#039;s@^.*requirepass .*@requirepass MYPASSWORDHERE@g&#039; /etc/redis/redis.conf&lt;br /&gt;
&lt;br /&gt;
где вместо &#039;&#039;&#039;MYPASSWORDHERE&#039;&#039;&#039; укажите хэш парольной фразы поулченый ранее.&lt;br /&gt;
&lt;br /&gt;
Также необходимо отключить таймаут (на некоторых версиях Redis он включен):&lt;br /&gt;
&lt;br /&gt;
 sudo sed -i &#039;s@^timeout .*@timeout 0@&#039; /etc/redis/redis.conf&lt;br /&gt;
&lt;br /&gt;
Перезапустите Redis и убедитесь, что он работает (в ответ должны получить PONG):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo systemctl restart redis&lt;br /&gt;
redis-cli -h 127.0.0.1 -p 6379 -a MYPASSWORDHERE ping&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== RabbitMQ ===&lt;br /&gt;
Стандартный репозиторий Debian 13 включает старую версию RabbitMQ 4.0.5. Вы можете использовать ее — она поддерживается. Однако, эта версия относительно старая и лучшим вариантом будет установить новую версию из альтернативных репозиториев. На [https://www.rabbitmq.com/install-debian.html официальном сайте RabbitMQ] находится достаточно подробная информация по установке RabbitMQ для каждой операционной системы.&lt;br /&gt;
&lt;br /&gt;
==== Добавление альтернативных репозиториев ====&lt;br /&gt;
Следующий блок скопируйте и вставьте целиком в командную строку&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
curl -1sLf &amp;quot;https://keys.openpgp.org/vks/v1/by-fingerprint/0A9AF2115F4687BD29803A206B73A36E6026DFCA&amp;quot; \&lt;br /&gt;
  | sudo gpg --dearmor \&lt;br /&gt;
  | sudo tee /usr/share/keyrings/com.rabbitmq.team.gpg &amp;gt; /dev/null&lt;br /&gt;
&lt;br /&gt;
sudo tee /etc/apt/sources.list.d/rabbitmq.list &amp;lt;&amp;lt;EOF&lt;br /&gt;
deb [arch=amd64 signed-by=/usr/share/keyrings/com.rabbitmq.team.gpg] https://deb1.rabbitmq.com/rabbitmq-server/debian/trixie trixie main&lt;br /&gt;
deb [arch=amd64 signed-by=/usr/share/keyrings/com.rabbitmq.team.gpg] https://deb2.rabbitmq.com/rabbitmq-server/debian/trixie trixie main&lt;br /&gt;
EOF&lt;br /&gt;
&lt;br /&gt;
sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Установка ====&lt;br /&gt;
Убедитесь, что в /etc/hosts есть запись для имени вашего хоста. Отсутствие такрой записи (например, если вы изменили имя хоста после инсталляции) является основной ошибкой, возникающей при установке RabbitMQ. Так что лучше еще раз убедитесь, что запись соответствующая имени хосту имеется.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt install -y erlang-base \&lt;br /&gt;
                    erlang-asn1 erlang-crypto erlang-eldap erlang-ftp erlang-inets \&lt;br /&gt;
                    erlang-mnesia erlang-os-mon erlang-parsetools erlang-public-key \&lt;br /&gt;
                    erlang-runtime-tools erlang-snmp erlang-ssl \&lt;br /&gt;
                    erlang-syntax-tools erlang-tftp erlang-tools erlang-xmerl&lt;br /&gt;
&lt;br /&gt;
sudo apt install rabbitmq-server -y --fix-missing&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Установка необходимых дополнений ====&lt;br /&gt;
Следующие две строки выполняйте по одной за раз!&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rabbitmq-plugins enable rabbitmq_management --offline&lt;br /&gt;
&lt;br /&gt;
sudo rabbitmq-plugins enable rabbitmq_web_stomp --offline&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Настройка ====&lt;br /&gt;
Скопируйте и вставьте целиком следующий блок:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo tee /etc/rabbitmq/rabbitmq.conf &amp;lt;&amp;lt; EOF&lt;br /&gt;
listeners.tcp.default = 5672&lt;br /&gt;
&lt;br /&gt;
consumer_timeout = 2400000&lt;br /&gt;
&lt;br /&gt;
web_stomp.port = 15674&lt;br /&gt;
web_stomp.cowboy_opts.max_keepalive = 60&lt;br /&gt;
EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Теперь нужно создать пользователей. Мы рекомендуем использовать &#039;&#039;&#039;три различных пользователя&#039;&#039;&#039;: для администрирования сервера (полные права), для userside и модулей (полные права но без административных) и пользователя web-stomp для websocket (минимальные права на чтение определенных объектов брокера). Но вы можете создать только два: администратора, который также будете использоваться для USERSIDE, и пользователя для websocket. Это обязательно должны быть минимум два разных пользователя, так как пароль для websocket пользователя передается в браузер и может быть легко прочитан пользователем. Далее будет показан пример для рекомендуемых трех пользователей. &lt;br /&gt;
&lt;br /&gt;
Создайте &#039;&#039;&#039;пользователя для администрирования&#039;&#039;&#039; RabbitMQ. В данном примере используется имя пользователя &#039;&#039;&#039;admin&#039;&#039;&#039; и пароль &#039;&#039;&#039;пароль_администратора&#039;&#039;&#039;. Пользователю сразу после создания присваивается тэг &amp;lt;code&amp;gt;administrator&amp;lt;/code&amp;gt;, наделяющий пользователя максимальными правами администратора и затем устанавливаются разрешения для vhost &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt; позволяющие полный доступ к конфигурированию, записи и чтению всего в пределах этого vhost*.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rabbitmqctl add_user &amp;quot;admin&amp;quot; &amp;quot;пароль_администратора&amp;quot;&lt;br /&gt;
sudo rabbitmqctl set_user_tags &amp;quot;admin&amp;quot; &amp;quot;administrator&amp;quot;&lt;br /&gt;
sudo rabbitmqctl set_permissions -p &amp;quot;/&amp;quot; &amp;quot;admin&amp;quot; &amp;quot;.*&amp;quot; &amp;quot;.*&amp;quot; &amp;quot;.*&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Создайте &#039;&#039;&#039;пользователя, от имени которого будут работать ERP USERSIDE&#039;&#039;&#039; и модули. Пример для имени пользователя &#039;&#039;&#039;userside&#039;&#039;&#039; (наделять админскими правами этого пользователя не нужно):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rabbitmqctl add_user &amp;quot;userside&amp;quot; &amp;quot;пароль_системы&amp;quot;&lt;br /&gt;
sudo rabbitmqctl set_user_tags &amp;quot;userside&amp;quot; &amp;quot;monitoring&amp;quot;&lt;br /&gt;
sudo rabbitmqctl set_permissions -p &amp;quot;/&amp;quot; &amp;quot;userside&amp;quot; &amp;quot;.*&amp;quot; &amp;quot;.*&amp;quot; &amp;quot;.*&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;websocket&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Создайте &#039;&#039;&#039;пользователя WebSTOMP&#039;&#039;&#039;. Он понадобится для использования уведомлений через WebSocket. Вместо &#039;&#039;&#039;websock-user&#039;&#039;&#039; вы можете указать другое имя пользователя. Вместо &#039;&#039;&#039;пароль_websocket&#039;&#039;&#039; укажите свой пароль, но этот пароль будет передаваться в открытом виде в браузер, так что не делайте его похожим на остальные пароли:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rabbitmqctl add_user &amp;quot;websock-user&amp;quot; &amp;quot;пароль_websocket&amp;quot;&lt;br /&gt;
sudo rabbitmqctl set_permissions -p &amp;quot;/&amp;quot; &amp;quot;websock-user&amp;quot; &amp;quot;^erp-stomp:id-.*&amp;quot; &amp;quot;&amp;quot; &amp;quot;^erp-stomp:id-.*&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Внимание! Имя пользователя и пароль WebSTOMP вам нужно будет указать в настройках в интерфейсе USERSIDE (Меню: Настройки - Основные - Websocket).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;* vhost - это виртуальный хост внутри RabbitMQ, позволяющий разграничить различные варианты использования одного и того же сервера разными приложениями. Как, например, разные базы данных на одном сервере СУБД. vhost по умолчанию имеет имя / и почти всегда вам этого достаточно. Но если вы планируете, например, запустить несколько копий ERP USERSIDE на одном сервере, то для каждой копии вам нужно будет создать свой vhost и, соответственно, пользователей для него. Подробней обратитесь к [https://www.rabbitmq.com/vhosts.html официальному руководству].&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Перезапустите службу rabbitmq:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo systemctl restart rabbitmq-server&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Управление ====&lt;br /&gt;
Одна из команд, приведенных выше, устанавливает в RabbitMQ модуль управления, предоставляющий удобный WEB-интерфейс для мониторинга, диагностики и управления сервером RabbitMQ. При помощи этого модуля можно осуществлять мониторинг сервера, следить за количеством сообщений в очередях и другими состояниями. Всё это можно делать и используя консольную утилиту &amp;lt;code&amp;gt;rabbitmqctl&amp;lt;/code&amp;gt;, но использование WEB-интерфейса может быть значительно наглядней и удобней.&lt;br /&gt;
&lt;br /&gt;
По умолчанию WEB-интерфейс управления доступен по адресу http://userside.mycompany.com:15672. Рекомендуем использовать фаервол, чтобы ограничить доступ к этому интерфейсу управления.&lt;br /&gt;
&lt;br /&gt;
Подробнее о модуле управления можно [https://www.rabbitmq.com/management.html прочитать на официальном сайте RabbitMQ].&lt;br /&gt;
&lt;br /&gt;
=== PHP ===&lt;br /&gt;
==== Альтернативный репозиторий ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo curl -sSLo /usr/share/keyrings/deb.sury.org-php.gpg https://packages.sury.org/php/apt.gpg&lt;br /&gt;
sudo sh -c &#039;echo &amp;quot;deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main&amp;quot; &amp;gt; /etc/apt/sources.list.d/php.list&#039;&lt;br /&gt;
sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Установка ====&lt;br /&gt;
Выполните следующие команды:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt install -y php8.4-{fpm,cli,common,curl,intl,mbstring,opcache,pgsql,readline,xml,zip,snmp,gd}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если вы планируете использовать LDAP, необходимо установить расширение php-ldap:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt install -y php8.4-ldap&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Настройка ====&lt;br /&gt;
Далее приведены команды, вносящие изменения в файлы конфигурации.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo sed -i &amp;quot;s@^;date.timezone.*@date.timezone = $(cat /etc/timezone)@&amp;quot; /etc/php/8.4/fpm/php.ini&lt;br /&gt;
sudo sed -i &amp;quot;s@^;date.timezone.*@date.timezone = $(cat /etc/timezone)@&amp;quot; /etc/php/8.4/cli/php.ini&lt;br /&gt;
sudo sed -i &amp;quot;s@;cgi.fix_pathinfo=1@cgi.fix_pathinfo=0@&amp;quot; /etc/php/8.4/fpm/php.ini&lt;br /&gt;
sudo sed -i &amp;quot;s@post_max_size = 8M@post_max_size = 100M@&amp;quot; /etc/php/8.4/fpm/php.ini&lt;br /&gt;
sudo sed -i &amp;quot;s@upload_max_filesize = 2M@upload_max_filesize = 100M@&amp;quot; /etc/php/8.4/fpm/php.ini&lt;br /&gt;
sudo sed -i &amp;quot;s@max_execution_time.*@max_execution_time = 300@&amp;quot; /etc/php/8.4/fpm/php.ini&lt;br /&gt;
sudo sed -i &amp;quot;s@^;request_terminate_timeout =.*@request_terminate_timeout = 300@&amp;quot; /etc/php/8.4/fpm/pool.d/www.conf&lt;br /&gt;
&lt;br /&gt;
sudo systemctl restart php8.4-fpm&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== NGINX ===&lt;br /&gt;
==== Альтернативный официальный репозиторий ====&lt;br /&gt;
Версия NGINX, поставляемая в репозитории Debian, полностью подходит для использования и нет необходимости в добавлении альтернативного репозитория. Однако, если вам хочется всегда иметь последнюю версию, то выполните следующие строки, чтобы добавить в операционную систему официальный репозиторий nginx:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \&lt;br /&gt;
    | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg &amp;gt;/dev/null&lt;br /&gt;
echo &amp;quot;deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \&lt;br /&gt;
http://nginx.org/packages/debian `lsb_release -cs` nginx&amp;quot; \&lt;br /&gt;
    | sudo tee /etc/apt/sources.list.d/nginx.list&lt;br /&gt;
echo -e &amp;quot;Package: *\nPin: origin nginx.org\nPin: release o=nginx\nPin-Priority: 900\n&amp;quot; \&lt;br /&gt;
    | sudo tee /etc/apt/preferences.d/99nginx&lt;br /&gt;
sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Если у вас другая операционная система, вы можете найти необходимые команды для нее на официальном сайте NGINX: https://docs.nginx.com/nginx/admin-guide/installing-nginx/installing-nginx-open-source/&lt;br /&gt;
&lt;br /&gt;
==== Установка ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt install -y nginx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Настройка ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo sed -i &amp;quot;s@^user.*;@user www-data www-data;@&amp;quot; &amp;quot;/etc/nginx/nginx.conf&amp;quot;&lt;br /&gt;
sudo systemctl restart nginx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Следующий пример настройки подразумевает, что ERP USERSIDE будет установлен в стандартный каталог системы &amp;lt;code&amp;gt;/var/www/userside&amp;lt;/code&amp;gt;. Если вы желаете установить ERP USERSIDE в другой каталог, пожалуйста, не забывайте исправлять его во всех последующих примерах. Чтобы не ошибиться, мы рекомендуем использовать именно каталог &amp;lt;code&amp;gt;/var/www/userside&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Теперь отредактируйте файл /etc/nginx/conf.d/default.conf. Либо удалите его и создайте файл с именем /etc/nginx/conf.d/userside.conf. В любом случае, не зависимо от вашего выбора, содержимое файла должно быть следующим (вместо userside.mycompany.com укажите свое доменное имя):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
server {&lt;br /&gt;
    listen       80 default_server;&lt;br /&gt;
    server_name  userside.mycompany.com;&lt;br /&gt;
    charset      utf-8;&lt;br /&gt;
    client_max_body_size 100M;&lt;br /&gt;
&lt;br /&gt;
    access_log  /var/log/nginx/userside-access.log;&lt;br /&gt;
    error_log   /var/log/nginx/userside-error.log;&lt;br /&gt;
&lt;br /&gt;
    root   /var/www/userside/public;&lt;br /&gt;
    index  index.php;&lt;br /&gt;
&lt;br /&gt;
    location = /favicon.ico { access_log off; log_not_found off; }&lt;br /&gt;
    location = /robots.txt  { access_log off; log_not_found off; }&lt;br /&gt;
&lt;br /&gt;
    location / {&lt;br /&gt;
        try_files $uri $uri/ /index.php$is_args$args;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    location ~* ^.+\.(css|ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|rss|atom|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|bmp|rtf)$ {&lt;br /&gt;
        access_log    off;&lt;br /&gt;
        log_not_found off;&lt;br /&gt;
        expires       max;&lt;br /&gt;
        add_header    Pragma public;&lt;br /&gt;
        add_header    Cache-Control &amp;quot;public&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    location ~ \.php$ {&lt;br /&gt;
        try_files     $uri =404;&lt;br /&gt;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;&lt;br /&gt;
        fastcgi_pass  unix:/run/php/php8.4-fpm.sock;&lt;br /&gt;
        fastcgi_index index.php;&lt;br /&gt;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;&lt;br /&gt;
        fastcgi_read_timeout 300;&lt;br /&gt;
        include       fastcgi_params;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    location /ws {&lt;br /&gt;
        proxy_pass http://127.0.0.1:15674/ws;&lt;br /&gt;
        proxy_http_version 1.1;&lt;br /&gt;
        proxy_set_header Upgrade $http_upgrade;&lt;br /&gt;
        proxy_set_header Connection &amp;quot;Upgrade&amp;quot;;&lt;br /&gt;
        proxy_set_header Host $host;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    location ~ /\.ht { deny  all; }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Также, возможно, вы захотите настроить SSL и что-либо еще. Эта тема выходит за рамки данной инстуркции.&lt;br /&gt;
&lt;br /&gt;
Если Вы установили RabbitMQ &#039;&#039;&#039;на другом сервере&#039;&#039;&#039;, либо изменили значение порта WebSTOMP с 15674 на какой-то другой, то укажите IP-адрес сервера с RabbitMQ и номер порта в строке &amp;lt;code&amp;gt;proxy_pass http://127.0.0.1:15674/ws;&amp;lt;/code&amp;gt;. Протокол должен оставаться http. Путь должен оставаться /ws.&lt;br /&gt;
&lt;br /&gt;
Проверьте конфигурацию и если она в порядке перезагрузите nginx:&lt;br /&gt;
 sudo nginx -t &amp;amp;&amp;amp; sudo nginx -s reload&lt;br /&gt;
&lt;br /&gt;
=== Python ===&lt;br /&gt;
&#039;&#039;Необходим Python3 любой поддерживаемой на данный момент версии. Статус версий можно посмотреть здесь: &amp;quot;[https://devguide.python.org/versions/ Status of Python versions]&amp;quot;. Рекомендуется использовать версию с состоянием &amp;quot;security&amp;quot; или &amp;quot;bugfix&amp;quot;. Версии отмеченные как &amp;quot;end-of-life&amp;quot; не поддерживаются. Отмеченные как &amp;quot;feature&amp;quot; не рекомендуется использовать.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Если у вас на хосте неподдерживаемая версия (&amp;quot;end-of-life&amp;quot;), то нужно обязательно [[Python-update|установить дополнительно]] более свежую версию Python.&lt;br /&gt;
&lt;br /&gt;
==== Установка необходимых пакетов ====&lt;br /&gt;
 sudo apt install -y python3-dev python3-pip python3-venv libffi-dev pkg-config&lt;br /&gt;
&lt;br /&gt;
=== Supervisor ===&lt;br /&gt;
 sudo apt install -y supervisor&lt;br /&gt;
&lt;br /&gt;
== Загрузка и запуск инсталлятора ==&lt;br /&gt;
&lt;br /&gt;
См. также: [[Инсталлятор|Справку по инсталлятору]]&lt;br /&gt;
&lt;br /&gt;
1. перейти в каталог системы&lt;br /&gt;
 cd /var/www/userside&lt;br /&gt;
&lt;br /&gt;
2. загрузить скрипт-инсталлятор&lt;br /&gt;
 curl -fsSL https://my.userside.eu/install.sh | sudo -u www-data bash&lt;br /&gt;
&lt;br /&gt;
3. запустить инсталлятор&lt;br /&gt;
 sudo -u www-data ./installer install&lt;br /&gt;
&lt;br /&gt;
В процессе работы инсталлятор проверяет соответствие техническим требованиям, запрашивает параметры доступа и проверяет соединения со службами сервера.&lt;br /&gt;
&lt;br /&gt;
Вы можете ввести любой доступный вам номер версии ERP USERSIDE для установки. Для этого можете ввести порядковый номер версии из списка (он содержит только последние версии каждой ветки) либо ввести номер версии целиком, если ее нет в списке.&lt;br /&gt;
&lt;br /&gt;
По окончанию работы инсталлятора будет выведено сообщение об успешной установке.&lt;br /&gt;
&lt;br /&gt;
Если вы произвели установку не от имени пользователя веб-сервера, то обязательно после окончания установки сделайте его владельцем всех файлов userside рекурсивно!&lt;br /&gt;
&lt;br /&gt;
 sudo chown -R www-data:www-data /var/www/userside&lt;br /&gt;
&lt;br /&gt;
== Настройка после установки ==&lt;br /&gt;
&lt;br /&gt;
=== Конфигурация системных служб ===&lt;br /&gt;
После установки необходимо скопировать примеры конфигурационных файлов системных служб и, при необходимости, настроить их (например, указать путь к каталогу userside, если он отличается от /var/www/userside). Выполните команды:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo cp etc/us-core-worker.conf-example /etc/supervisor/conf.d/us-core-worker.conf&lt;br /&gt;
sudo cp microservice/poller/etc/usm_poller.conf-example /etc/supervisor/conf.d/usm_poller.conf&lt;br /&gt;
sudo cp etc/logrotate-example /etc/logrotate.d/userside&lt;br /&gt;
sudo cp microservice/poller/etc/logrotate-example /etc/logrotate.d/usm_poller&lt;br /&gt;
sudo cp etc/crontab-example /etc/cron.d/userside&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Установка необходимых зависимостей для usm_poller ===&lt;br /&gt;
Создайте виртуальное окружение venv для python и установите зависимые модули, как показано далее:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /var/www/userside/microservice/poller&lt;br /&gt;
sudo -H python3 -m venv venv&lt;br /&gt;
sudo -H venv/bin/pip install -U pip&lt;br /&gt;
sudo -H venv/bin/pip install -U -r requirements.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Запуск супервизора ===&lt;br /&gt;
Супервизор контролирует работу служб, указанных в его конфигурации. Для запуска супервизора выполните:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo systemctl restart supervisor&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
После запуска супервизора, спустя несколько секунд можно понаблюдать за состоянием всех контролируемых им служб. Все службы должны быть в состоянии RUNNING:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo supervisorctl status&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Сразу после установки ==&lt;br /&gt;
На этом установка ERP USERSIDE закончена. Теперь выполните следующие шаги:&lt;br /&gt;
* Откройте страницу системы &#039;&#039;&#039;&amp;lt;nowiki&amp;gt;http://userside.mydomain.com/&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039; и выполните вход &#039;&#039;(по умолчанию имя пользователя: Admin, пароль: 1234)&#039;&#039;.&lt;br /&gt;
* Выполните настройку Websocket в разделе: Настройка - Основная - WebSocket. Включите и впишите имя пользователя и пароль WebStomp пользователя, которого вы создавали ранее в разделе RabbitMQ.&lt;br /&gt;
* Выполните основные настройки в разделе: [[Настройка - Основная|Настройка - Основная]].&lt;br /&gt;
* Настройте взаимодействие с [[Поддерживаемые биллинги|биллингом]] в соответствии с [[Настройка взаимодействия с биллингом|инструкциями]].&lt;br /&gt;
* Ознакомьтесь с инструкциями на странице: [[С чего начать?]].&lt;br /&gt;
* Настройте [[UserSide API Key|API-ключ]].&lt;br /&gt;
&lt;br /&gt;
== Обновление системы ==&lt;br /&gt;
Мы стараемся делать все возможное, чтобы вероятность сквоздного обновления с любой версии до последней версии было успешным. Однако, иногда бывает так, что из-за каки-то старинных проблем со структурой базы данных, которые никогда не мешали работать раньше, может возникнуть ситуация, при которой сквоздное обновление невозможно. В таком случае вам придется обновляться поэтапно на каждую следующую последнюю версию. Например, с 3.14.80 сначала на 3.15.60, затем на 3.16.39 и так далее.&lt;br /&gt;
&lt;br /&gt;
Перед обновлением обязательно прочитайте обо всех изменениях, которые необходимо выполнить для обновления для каждой версии, которая лежит между вашей и той, на которую вы собираетесь обновиться.&lt;br /&gt;
&lt;br /&gt;
Мы рекомендуем сделать копию системы для безопасного проведения обновления. Обратитесь к разделу [[HOWTO: Клонирование USERSIDE]]. Вы всегда можете удалить копию и начать сначала. Это просто и безопасно. Но если вы желаете обновить работающую систему, то выполняйте его в моменты наименьшей нагрузки с запасом по времени, необходимым для аварийного восстановления, если вдруг что-то пойдет не так. Всегда обязательно делайте резервную копию базы данных и файлов перед обновлениями. Если обновление будет прервано, особенно на этапе миграции данных, то есть риск того, что восстановить корректно данные будет очень непросто или даже невозможно. В общем, ответственность за наличие актуальной резервной копии лежит целиком на вас.&lt;br /&gt;
&lt;br /&gt;
==== Процесс обновления ====&lt;br /&gt;
Мы настоятельно рекомендуем выполнять тестовые обновления на [[HOWTO:_Клонирование_USERSIDE|копии системы]].&lt;br /&gt;
&lt;br /&gt;
Для проведения обновления запустите инсталлятор в режиме install и следуйте инструкциям:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /var/www/userside&lt;br /&gt;
sudo -u www-data ./installer install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
После обновления USERSIDE нужно обязательно обновить зависимости usm_poller:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /var/www/userside/microservice/poller&lt;br /&gt;
sudo -H venv/bin/pip install -U pip&lt;br /&gt;
sudo -H venv/bin/pip install -U -r requirements.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Теперь нужно перезапустить все службы, которолируемые супервизором и проследить чтобы все они запустились и были в состоянии RUNNING:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo supervisorctl restart all&lt;br /&gt;
sudo supervisorctl status&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Обслуживание системы ==&lt;br /&gt;
Для поддержания системы в рабочем состоянии и обеспечения надежной ее работы в будущем рекомендуется выполнять несколько простых дейсвтий:&lt;br /&gt;
* периодически создавать резервную копию базы данных&lt;br /&gt;
* периодически создавать резервную копию загруженных файлов (это можно сделать просто архивируя каталог /var/www/userside/var/attachments и файл .env)&lt;br /&gt;
* периодически наблюдать за производительностью сервера (при помощи htop, atop) и брокера RabbitMQ и принимать решения о масштабировании пулов fpm, фоновых процессов ядра и микросервисов&lt;br /&gt;
&lt;br /&gt;
=== Резервное копирование ===&lt;br /&gt;
Установите периодическое резервное копирование базы данных и пользовательских файлов. Желательно минимум раз в сутки в моменты наименьшей нагрузки на сервер. В PostgreSQL существует два способа создать резервную копию базы данных: dump и sql-script. У каждого из них есть свои преимущества и недостатки. Первый создает безопасный дамп базы данных целиком, а второй создает SQL-скрипт, выполняя который можно восстановить как структуру так и данные. Рекомендуем обратиться к [https://www.postgresql.org/docs/current/app-pgdump.html документации по использованию команды pg_dump] для выбора более подходящего для вас способа или набора параметров.&lt;br /&gt;
&lt;br /&gt;
Ниже приведены две команды для создания резервной копии базы данных — выбирайте одну из них и добавляйте в ваш crontab:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# SQL-script&lt;br /&gt;
sudo -u postgres pg_dump --no-acl -Fp -Z 5 userside &amp;gt; /backup/userside.sql.gz&lt;br /&gt;
&lt;br /&gt;
# DUMP&lt;br /&gt;
sudo -u postgres pg_dump --no-acl -Fc userside &amp;gt; /backup/userside.dump&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Для создания минимальной резервной копии &#039;&#039;&#039;файлов&#039;&#039;&#039; можно использовать следующую команду (для версии 3.15 и новее):&lt;br /&gt;
 sudo tar -czf /backup/userside.tgz .env common/config/settings.json var/attachments&lt;br /&gt;
Этих файлов вместе с базой данных будет достаточно для восстановления работы USERSIDE. Но вы можете выполнять резервное копирование всего каталога /var/www/userside для большей надежности.&lt;br /&gt;
&lt;br /&gt;
=== Восстановление из резервной копии ===&lt;br /&gt;
Для восстановления из дампа используется команда pg_restore. [https://postgrespro.ru/docs/postgresql/13/app-pgrestore Документация по использованию pg_restore]. Для восстановления из SQL-скрипта используется утилита psql. [https://www.postgresql.org/docs/current/app-psql.html Документация по использованию psql].&lt;br /&gt;
&lt;br /&gt;
Перед восстановлением базы данных из резервной копии нужно обязательно остановить работу USERSIDE.&lt;br /&gt;
&lt;br /&gt;
1. Остановить cron userside и всех модулей&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir -p ~/cron&lt;br /&gt;
sudo mv /etc/cron.d/userside ~/cron&lt;br /&gt;
sudo mv /etc/cron.d/userside-modules ~/cron&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
2. Остановить работу фоновых служб&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo supervisorctl stop all&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
3. Остановить работу php-fpm&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo systemctl stop php8.4-fpm&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Только после этого можно приступать к восстановлению базы данных из резервной копии.&lt;br /&gt;
&lt;br /&gt;
==== SQL-script ====&lt;br /&gt;
Для восстановления БД из резервной копии в виде SQL-скрипта, сначала нужно пересоздать базу данных, а затем восстановить в пустую базу данных резервную копию:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo -u postgres dropdb userside&lt;br /&gt;
sudo -u postgres createdb -e -E &amp;quot;UTF-8&amp;quot; -l &amp;quot;uk_UA.UTF-8&amp;quot; -O userside -T template0 userside&lt;br /&gt;
sudo -u postgres psql -d userside -c &amp;quot;CREATE EXTENSION postgis&amp;quot;&lt;br /&gt;
gunzip &amp;lt; userside.sql.gz | sudo -u postgres psql -d userside -v ON_ERROR_STOP=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== DUMP ====&lt;br /&gt;
Дамп содержит целиком базу данных со всеми ее элементами. Поэтому перед восстановлением базы данных из дампа её не должно существовать на сервере — удалите базу данных перед восстановлением из дампа. Также важно, чтобы пользователь базы данных (владелец всех элементов) уже существовал — создайте его перед восстановлением, если вы восстанавливаете базу данных на новом сервере, где нужного пользователя еще нет.&lt;br /&gt;
&lt;br /&gt;
Также обратите внимание, что структура дампа может быть несовместима между разными версиями PostgreSQL. Это не обязательно так, но вполне вероятно.&lt;br /&gt;
&lt;br /&gt;
Для восстановления из дампа используйте команды:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo -u postgres dropdb userside&lt;br /&gt;
sudo -u postgres pg_restore --clean --if-exists --create --exit-on-error --dbname=postgres userside.dump&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Обратите внимание, что имя базы данных в команде обязательно должно быть &#039;&#039;&#039;postgres&#039;&#039;&#039;, так как из дампа восстанавливается вся база данных целиком, а не ее содержимое.&lt;br /&gt;
&lt;br /&gt;
==== После восстановления базы данных ====&lt;br /&gt;
После восстановления базы данных любым способом, необходимо очистить кэш ERP USERSIDE, т.к. в кэше теперь находятся данные, отличные от данных в базе. Перейтите в каталог /var/www/userside и выполните команду очистки кэша (первую, если используется пароль или вторую, если не используется):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
source /var/www/userside/.env &amp;amp;&amp;amp; redis-cli -h $US_REDIS_HOST -p $US_REDIS_PORT -a $US_REDIS_PASSWORD -n $US_REDIS_DB FLUSHDB&lt;br /&gt;
source /var/www/userside/.env &amp;amp;&amp;amp; redis-cli -h $US_REDIS_HOST -p $US_REDIS_PORT -n $US_REDIS_DB FLUSHDB&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Восстановите работу служб, которые были остановлены перед выполнением резервной копии:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo mv ~/cron/* /etc/cron.d&lt;br /&gt;
sudo supervisorctl start all&lt;br /&gt;
sudo systemctl start php8.4-fpm&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Выполните команду восстановления, чтобы файлы системы соответствовали версии базы данных и проверить систему на целостность файлов.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /var/www/userside&lt;br /&gt;
sudo -u www-data ./installer repair&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>IronBot</name></author>
	</entry>
	<entry>
		<id>https://wiki.userside.eu/index.php?title=Installation&amp;diff=22087</id>
		<title>Installation</title>
		<link rel="alternate" type="text/html" href="https://wiki.userside.eu/index.php?title=Installation&amp;diff=22087"/>
		<updated>2026-06-23T12:46:46Z</updated>

		<summary type="html">&lt;p&gt;IronBot: [IronBot] Sync EN localization from RU&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;en&#039;&#039;&#039; | [[Встановлення|uk]] | [[Установка|ru]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ATTENTION: These instructions are valid for ERP USERSIDE versions 3.19+&#039;&#039;&#039;&lt;br /&gt;
* [[Installation for version 3.18|Instruction for version 3.18]]&lt;br /&gt;
* [[Installation for version 3.17|Instruction for version 3.11-3.17]]&lt;br /&gt;
* [[Installation for version 3.10 and earlier|Instruction for version 3.10 and earlier]].&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
For the sake of simplicity, the commands for the &#039;&#039;&#039;Linux Debian 13 (trixie)&#039;&#039;&#039; operating system will be considered. For experienced system administrators, it should not be difficult to use similar commands for another operating system. If you do not feel confident in administering operating systems, we recommend you to use &#039;&#039;&#039;Debian&#039;&#039;&#039; or &#039;&#039;&#039;Ubuntu Server LTS&#039;&#039;&#039;. Because of their simplicity and because our technical support is much more familiar with Debian-like distributions. The likelihood of being able to tell you something not related to ERP USERSIDE, but related to operating system administration, will be much higher if you have Debian or a similar distribution based on it.&lt;br /&gt;
&lt;br /&gt;
On the other hand, if you are an experienced system administrator and have skills and experience with Docker, it may be more convenient for you to use a ready-made environment based on Docker images that we have prepared specially, including everything you need to run ERP USERSIDE. In this case, you will not have to configure anything, except to perform simple Docker-bundle settings https://github.com/userside/userside-docker.&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
ERP USERSIDE requires various system applications and services such as PHP interpreter with a set of extensions, WEB server, database management system and others. This section will list such requirements depending on the version of ERP USERSIDE.&lt;br /&gt;
&lt;br /&gt;
Also note that your operating system must be configured with the correct time zone and locale. The correct display of information and correct sorting depends on this.&lt;br /&gt;
&lt;br /&gt;
The list of required PHP extensions contains all extensions that are not part of the PHP core. Some of these extensions may come with the core PHP package or as part of the php-common package, while others must be installed additionally. &lt;br /&gt;
&lt;br /&gt;
=== 3.20 ===&lt;br /&gt;
* PHP 8.4-8.5&lt;br /&gt;
* PHP extensions: ctype, gd, json, libxml, mbstring, openssl, pdo, pdo_pgsql, posix, simplexml, snmp, sockets, zlib, pcntl&lt;br /&gt;
* Additional PHP extensions: ldap&lt;br /&gt;
* Python: &#039;&#039;Requires Python3 of any currently supported version. The status of versions can be viewed here:&amp;quot;[https://devguide.python.org/versions/ Status of Python versions]&amp;quot;. It is recommended to use a version with &amp;quot;security&amp;quot; or &amp;quot;bugfix&amp;quot; status. Versions marked as &amp;quot;end-of-life&amp;quot; are not supported. Versions marked as &amp;quot;feature&amp;quot; are not recommended.&#039;&#039;&lt;br /&gt;
* Python modules: pip, venv&lt;br /&gt;
* PostgreSQL: 16+ (preferably 18)&lt;br /&gt;
* Redis: 5+ (preferably 7)&lt;br /&gt;
* RabbitMQ: 3.13+ (preferably 4+)&lt;br /&gt;
* Supervisor&lt;br /&gt;
&lt;br /&gt;
=== 3.19 (current stable) ===&lt;br /&gt;
* PHP: 8.3-8.4&lt;br /&gt;
* PHP extensions: ctype, gd, json, libxml, mbstring, openssl, pdo, pdo_pgsql, posix, simplexml, snmp, sockets, zlib, pcntl&lt;br /&gt;
* Additional PHP extensions: ldap, soap&lt;br /&gt;
* Python: &#039;&#039;Requires Python3 of any currently supported version. The status of versions can be viewed here:&amp;quot;[https://devguide.python.org/versions/ Status of Python versions]&amp;quot;. It is recommended to use a version with &amp;quot;security&amp;quot; or &amp;quot;bugfix&amp;quot; status. Versions marked as &amp;quot;end-of-life&amp;quot; are not supported. Versions marked as &amp;quot;feature&amp;quot; are not recommended.&#039;&#039;&lt;br /&gt;
* Python modules: pip, venv&lt;br /&gt;
* PostgreSQL: 12+ (preferably 16)&lt;br /&gt;
* Redis: 5+ (preferably 7)&lt;br /&gt;
* RabbitMQ: 3.10+ (preferably 3.13)&lt;br /&gt;
* Supervisor&lt;br /&gt;
&lt;br /&gt;
== Main agreements ==&lt;br /&gt;
The directory where ERP USERSIDE is installed is &amp;lt;code&amp;gt;/var/www/userside&amp;lt;/code&amp;gt;. Inside this directory there should be a subdirectory public, which is the root directory for the WEB server. If you want to use a different directory for ERP USERSIDE, remember to make the appropriate corrections to all the examples in these instructions.&lt;br /&gt;
&lt;br /&gt;
Create the directory:&lt;br /&gt;
 sudo mkdir -p /var/www/userside/public /var/log/usm_poller&lt;br /&gt;
 sudo chown -R www-data:www-data /var/www/userside /var/log/usm_poller&lt;br /&gt;
&lt;br /&gt;
You will need to allocate a domain name for ERP USERSIDE. The examples below use userside.mycompany.com, but you will need to change it to your own. Write this domain name in /etc/hosts if it is different from the hostname of the installation.&lt;br /&gt;
&lt;br /&gt;
== Installation of the required components ==&lt;br /&gt;
First install the utilities that will be required later in the installation process. They are required for any ERP USERSIDE program. You can copy the lines one at a time and paste them into the command line of your operating system.&lt;br /&gt;
&lt;br /&gt;
Copy and paste the following lines in their entirety:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo tee /etc/apt/sources.list.d/contrib-non-free.list &amp;lt;&amp;lt; EOL&lt;br /&gt;
deb http://deb.debian.org/debian/ $(lsb_release -sc) contrib non-free non-free-firmware&lt;br /&gt;
EOL&lt;br /&gt;
&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt full-upgrade -y&lt;br /&gt;
sudo apt install -y gnupg ca-certificates lsb-release debian-archive-keyring debian-keyring libsnmp-dev snmp-mibs-downloader&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== PostgreSQL ===&lt;br /&gt;
==== Alternative official repository ====&lt;br /&gt;
We strongly recommend using the latest version of PostgreSQL, as this always has a positive impact on speed. Add the official Postgres repository to the system:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo install -d /usr/share/postgresql-common/pgdg&lt;br /&gt;
&lt;br /&gt;
sudo curl -o /usr/share/postgresql-common/pgdg/apt.postgresql.org.asc --fail https://www.postgresql.org/media/keys/ACCC4CF8.asc&lt;br /&gt;
&lt;br /&gt;
sudo sh -c &#039;echo &amp;quot;deb [signed-by=/usr/share/postgresql-common/pgdg/apt.postgresql.org.asc] https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main&amp;quot; &amp;gt; /etc/apt/sources.list.d/pgdg.list&#039;&lt;br /&gt;
&lt;br /&gt;
sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If you have a different operating system, you can find the necessary commands for it at [https://www.postgresql.org/download/ official PostgreSQL website].&lt;br /&gt;
&lt;br /&gt;
==== Installation ====&lt;br /&gt;
&#039;&#039;&#039;Attention!&#039;&#039;&#039; Before installing PostgreSQL, your operating system must have your local locale and correct time zone set! This can be done later, but it will be much easier if it is done before installing PostgreSQL. Run the following command to make sure the correct locale is present:&lt;br /&gt;
 locale -a&lt;br /&gt;
&lt;br /&gt;
If your local locale is not among those listed, then install it. To do this, simply edit the /etc/locale.gen file by removing the comments before the line(s) with the desired locale, and then run the command:&lt;br /&gt;
 sudo locale-gen&lt;br /&gt;
&lt;br /&gt;
If you need to change the default locale, run:&lt;br /&gt;
 sudo dpkg-reconfigure locales&lt;br /&gt;
&lt;br /&gt;
To change the time zone, execute:&lt;br /&gt;
 sudo timedatectl set-timezone Europe/Kyiv&lt;br /&gt;
&lt;br /&gt;
Now you can move on to the PostgreSQL installation:&lt;br /&gt;
 sudo apt install -y postgresql-18 postgresql-18-postgis-3&lt;br /&gt;
&lt;br /&gt;
==== Setting ====&lt;br /&gt;
Create a user and database for ERP USERSIDE. The example below creates a user named userside and a database with the same name. If your locale is not uk_UA, remember to change the command. The PostGis extension needed to work with geographic data is then connected to the database. After doing the first line, you will need to enter the password for the new user twice - make a note of this password, you will need it later to set up ERP USERSIDE&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo -u postgres createuser userside -P&lt;br /&gt;
sudo -u postgres createdb -e -E &amp;quot;UTF-8&amp;quot; -l &amp;quot;uk_UA.UTF-8&amp;quot; -O userside -T template0 userside&lt;br /&gt;
sudo -u postgres psql -d userside -c &amp;quot;CREATE EXTENSION postgis&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If your PostgreSQL is installed &#039;&#039;&#039;on another server&#039;&#039;&#039;, you will need to make corrections to the postgresql.conf and pg_hba.conf files located in the /etc/postgresql/16/main/ directory. In the postgresql.conf file, you must uncomment and change the value of the parameter &amp;lt;code&amp;gt;listen_addresses&amp;lt;/code&amp;gt;, specifying there all IP addresses of the server interfaces on which it can accept connections to PostgreSQL. In the pg_hba.conf file you need to add a line at the very end, similar to the previous ones, indicating from which address the ERP USERSIDE user can connect. But if your PostgreSQL is located on the same server as USERSIDE - there is no need to make any adjustments to these files.&lt;br /&gt;
&lt;br /&gt;
=== Redis ===&lt;br /&gt;
The Debian 13 standard repository includes Redis version 8.0.2. This version is suitable for running ERP USERSIDE.&lt;br /&gt;
&lt;br /&gt;
==== Installation ====&lt;br /&gt;
 sudo apt install -y redis-server&lt;br /&gt;
&lt;br /&gt;
==== Setting ====&lt;br /&gt;
By default Redis accepts connections without a password, but we strongly recommend setting a password. Since the password is transmitted in the clear (Redis does not provide encryption because it focuses on speed of request processing and extra steps like encryption are not applied), you need to create a really long and complex password, for example, using the &#039;&#039;&#039;openssl&#039;&#039;&#039; utility as follows:&lt;br /&gt;
&lt;br /&gt;
 openssl rand --hex 32&lt;br /&gt;
&lt;br /&gt;
The output will be a random set of 32 bytes in 16-character form, which you will use as a password. Next, you will need to substitute this generated string in place of the word &#039;&#039;&#039;MYPASSWORDHERE&#039;&#039;&#039;. Write it down. Then you will specify this string as the Redis password in the settings.&lt;br /&gt;
&lt;br /&gt;
Specify the generated passphrase hash in the Redis configuration file:&lt;br /&gt;
&lt;br /&gt;
 sudo sed -i &#039;s@^.*requirepass .*@requirepass MYPASSWORDHERE@g&#039; /etc/redis/redis.conf&lt;br /&gt;
&lt;br /&gt;
where instead of &#039;&#039;&#039;MYPASSWORDHERE&#039;&#039;&#039; specify the hash of the passphrase received earlier.&lt;br /&gt;
&lt;br /&gt;
You should also disable timeout (on some versions of Redis it is enabled):&lt;br /&gt;
&lt;br /&gt;
 sudo sed -i &#039;s@^timeout .*@timeout 0@&#039; /etc/redis/redis.conf&lt;br /&gt;
&lt;br /&gt;
Restart Redis and make sure it works (should get PONG in response):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo systemctl restart redis&lt;br /&gt;
redis-cli -h 127.0.0.1 -p 6379 -a MYPASSWORDHERE ping&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== RabbitMQ ===&lt;br /&gt;
The Debian 13 standard repository includes an older version of RabbitMQ 4.0.5. You can use it - it is supported. However, this version is relatively old and your best bet is to install a newer version from alternative repositories. The [https://www.rabbitmq.com/docs/install-debian official RabbitMQ website] has fairly detailed information on installing RabbitMQ for each operating system.&lt;br /&gt;
&lt;br /&gt;
==== Adding alternative repositories ====&lt;br /&gt;
Copy and paste the following block in its entirety into the command line&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
curl -1sLf &amp;quot;https://keys.openpgp.org/vks/v1/by-fingerprint/0A9AF2115F4687BD29803A206B73A36E6026DFCA&amp;quot; \&lt;br /&gt;
  | sudo gpg --dearmor \&lt;br /&gt;
  | sudo tee /usr/share/keyrings/com.rabbitmq.team.gpg &amp;gt; /dev/null&lt;br /&gt;
&lt;br /&gt;
sudo tee /etc/apt/sources.list.d/rabbitmq.list &amp;lt;&amp;lt;EOF&lt;br /&gt;
deb [arch=amd64 signed-by=/usr/share/keyrings/com.rabbitmq.team.gpg] https://deb1.rabbitmq.com/rabbitmq-server/debian/trixie trixie main&lt;br /&gt;
deb [arch=amd64 signed-by=/usr/share/keyrings/com.rabbitmq.team.gpg] https://deb2.rabbitmq.com/rabbitmq-server/debian/trixie trixie main&lt;br /&gt;
EOF&lt;br /&gt;
&lt;br /&gt;
sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Installation ====&lt;br /&gt;
Make sure that /etc/hosts has an entry for your hostname. The lack of such an entry (for example, if you changed the hostname after installation) is a major error that occurs when installing RabbitMQ. So it is better to make sure again that there is an entry for the hostname.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt install -y erlang-base \&lt;br /&gt;
                    erlang-asn1 erlang-crypto erlang-eldap erlang-ftp erlang-inets \&lt;br /&gt;
                    erlang-mnesia erlang-os-mon erlang-parsetools erlang-public-key \&lt;br /&gt;
                    erlang-runtime-tools erlang-snmp erlang-ssl \&lt;br /&gt;
                    erlang-syntax-tools erlang-tftp erlang-tools erlang-xmerl&lt;br /&gt;
&lt;br /&gt;
sudo apt install rabbitmq-server -y --fix-missing&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Installation of necessary add-ons ====&lt;br /&gt;
Do the next two lines one at a time!&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rabbitmq-plugins enable rabbitmq_management --offline&lt;br /&gt;
&lt;br /&gt;
sudo rabbitmq-plugins enable rabbitmq_web_stomp --offline&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Setting ====&lt;br /&gt;
Copy and paste the following block in its entirety:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo tee /etc/rabbitmq/rabbitmq.conf &amp;lt;&amp;lt; EOF&lt;br /&gt;
listeners.tcp.default = 5672&lt;br /&gt;
&lt;br /&gt;
consumer_timeout = 2400000&lt;br /&gt;
&lt;br /&gt;
web_stomp.port = 15674&lt;br /&gt;
web_stomp.cowboy_opts.max_keepalive = 60&lt;br /&gt;
EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now you need to create users. We recommend using &#039;&#039;&#039;three different users&#039;&#039;&#039;: for server administration (full rights), for userside and modules (full rights but no administrative rights) and the web-stomp user for websocket (minimal rights to read certain broker objects). But you can only create two: an admin user, which will also be used for userside, and a user for websocket. These must necessarily be at least two different users, since the password for the websocket user is passed to the browser and can be easily read by the user. The following will show an example for the recommended three users. &lt;br /&gt;
&lt;br /&gt;
Create a &#039;&#039;&#039;user for administration&#039;&#039;&#039; RabbitMQ. This example uses the username &#039;&#039;&#039;admin&#039;&#039;&#039; and password &#039;&#039;&#039;admin_password&#039;&#039;&#039;. &lt;br /&gt;
A tag &amp;lt;code&amp;gt;administrator&amp;lt;/code&amp;gt; is assigned to the user immediately after creation, giving the user maximum administrator rights and then set permissions for vhost &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt; allowing full access to configure, write and read everything within that vhost*.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rabbitmqctl add_user &amp;quot;admin&amp;quot; &amp;quot;admin_password&amp;quot;&lt;br /&gt;
sudo rabbitmqctl set_user_tags &amp;quot;admin&amp;quot; &amp;quot;administrator&amp;quot;&lt;br /&gt;
sudo rabbitmqctl set_permissions -p &amp;quot;/&amp;quot; &amp;quot;admin&amp;quot; &amp;quot;.*&amp;quot; &amp;quot;.*&amp;quot; &amp;quot;.*&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a &#039;&#039;&#039;user on behalf of which ERP USERSIDE&#039;&#039;&#039; and modules will run. Example for the user name &#039;&#039;&#039;userside&#039;&#039;&#039; (you do not need to give admin rights to this user):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rabbitmqctl add_user &amp;quot;userside&amp;quot; &amp;quot;system_password&amp;quot;&lt;br /&gt;
sudo rabbitmqctl set_user_tags &amp;quot;userside&amp;quot; &amp;quot;monitoring&amp;quot;&lt;br /&gt;
sudo rabbitmqctl set_permissions -p &amp;quot;/&amp;quot; &amp;quot;userside&amp;quot; &amp;quot;.*&amp;quot; &amp;quot;.*&amp;quot; &amp;quot;.*&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;websocket&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Create a &#039;&#039;&#039;WebSTOMP user&#039;&#039;&#039; . You will need it to use notifications via WebSocket. Instead of &#039;&#039;&#039;websock-user&#039;&#039;&#039; you can specify a different user name. Instead of &#039;&#039;&#039;password_websocket&#039;&#039;&#039; specify your password, but this password will be passed in the clear to the browser, so don&#039;t make it similar to other passwords:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rabbitmqctl add_user &amp;quot;websock-user&amp;quot; &amp;quot;password_websocket&amp;quot;&lt;br /&gt;
sudo rabbitmqctl set_permissions -p &amp;quot;/&amp;quot; &amp;quot;websock-user&amp;quot; &amp;quot;^erp-stomp:id-.*&amp;quot; &amp;quot;&amp;quot; &amp;quot;^erp-stomp:id-.*&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Attention!: You will need to specify the WebSTOMP username and password in the settings in the USERSIDE interface (Menu: Settings - Main - Websocket).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;* vhost - is a virtual host within RabbitMQ that allows different applications to differentiate between different uses of the same server. Like, for example, different databases on the same DBMS server. The default vhost is named / and almost always this is enough for you. But if you plan, for example, to run multiple copies of ERP USERSIDE on the same server, then for each copy you will need to create a different vhost and, accordingly, users for it. Please refer to [https://www.rabbitmq.com/vhosts.html official manual] for more details.‘’&lt;br /&gt;
&lt;br /&gt;
Restart the rabbitmq service:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo systemctl restart rabbitmq-server&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Management ====&lt;br /&gt;
One of the commands above installs a management module in RabbitMQ that provides a convenient WEB interface to monitor, diagnose, and manage the RabbitMQ server. With this module you can monitor the server, keep track of the number of messages in queues and other statuses. All this can be done using the console utility as well &amp;lt;code&amp;gt;rabbitmqctl&amp;lt;/code&amp;gt;, but using the WEB-interface can be much clearer and more convenient.&lt;br /&gt;
&lt;br /&gt;
By default, the WEB management interface is available at http://userside.mycompany.com:15672. We recommend using a firewall to restrict access to this control interface.&lt;br /&gt;
&lt;br /&gt;
More details about the control module can be [https://www.rabbitmq.com/management.html read on the official RabbitMQ website].&lt;br /&gt;
&lt;br /&gt;
=== PHP ===&lt;br /&gt;
==== Alternative repository ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo curl -sSLo /usr/share/keyrings/deb.sury.org-php.gpg https://packages.sury.org/php/apt.gpg&lt;br /&gt;
sudo sh -c &#039;echo &amp;quot;deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main&amp;quot; &amp;gt; /etc/apt/sources.list.d/php.list&#039;&lt;br /&gt;
sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Installation ====&lt;br /&gt;
Execute the following commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt install -y php8.4-{fpm,cli,common,curl,intl,mbstring,opcache,pgsql,readline,xml,zip,snmp,gd}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you plan to use LDAP, you need to install the php-ldap extension:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt install -y php8.4-ldap&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Setting ====&lt;br /&gt;
The following are commands that make changes to the configuration files.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo sed -i &amp;quot;s@^;date.timezone.*@date.timezone = $(cat /etc/timezone)@&amp;quot; /etc/php/8.4/fpm/php.ini&lt;br /&gt;
sudo sed -i &amp;quot;s@^;date.timezone.*@date.timezone = $(cat /etc/timezone)@&amp;quot; /etc/php/8.4/cli/php.ini&lt;br /&gt;
sudo sed -i &amp;quot;s@;cgi.fix_pathinfo=1@cgi.fix_pathinfo=0@&amp;quot; /etc/php/8.4/fpm/php.ini&lt;br /&gt;
sudo sed -i &amp;quot;s@post_max_size = 8M@post_max_size = 100M@&amp;quot; /etc/php/8.4/fpm/php.ini&lt;br /&gt;
sudo sed -i &amp;quot;s@upload_max_filesize = 2M@upload_max_filesize = 100M@&amp;quot; /etc/php/8.4/fpm/php.ini&lt;br /&gt;
sudo sed -i &amp;quot;s@max_execution_time.*@max_execution_time = 300@&amp;quot; /etc/php/8.4/fpm/php.ini&lt;br /&gt;
sudo sed -i &amp;quot;s@^;request_terminate_timeout =.*@request_terminate_timeout = 300@&amp;quot; /etc/php/8.4/fpm/pool.d/www.conf&lt;br /&gt;
&lt;br /&gt;
sudo systemctl restart php8.4-fpm&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== NGINX ===&lt;br /&gt;
==== Alternative official repository ====&lt;br /&gt;
The version of NGINX supplied in the Debian repository is fully usable and there is no need to add an alternative repository. However, if you want to always have the latest version, run the following lines to add the official nginx repository to your operating system:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \&lt;br /&gt;
    | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg &amp;gt;/dev/null&lt;br /&gt;
echo &amp;quot;deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \&lt;br /&gt;
http://nginx.org/packages/debian `lsb_release -cs` nginx&amp;quot; \&lt;br /&gt;
    | sudo tee /etc/apt/sources.list.d/nginx.list&lt;br /&gt;
echo -e &amp;quot;Package: *\nPin: origin nginx.org\nPin: release o=nginx\nPin-Priority: 900\n&amp;quot; \&lt;br /&gt;
    | sudo tee /etc/apt/preferences.d/99nginx&lt;br /&gt;
sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you have a different operating system, you can find the necessary commands for it on the official NGINX website: https://docs.nginx.com/nginx/admin-guide/installing-nginx/installing-nginx-open-source/&lt;br /&gt;
&lt;br /&gt;
==== Installation ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt install -y nginx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Setting ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo sed -i &amp;quot;s@^user.*;@user www-data www-data;@&amp;quot; &amp;quot;/etc/nginx/nginx.conf&amp;quot;&lt;br /&gt;
sudo systemctl restart nginx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following configuration example assumes that the ERP USERSIDE will be set to the system&#039;s default directory &amp;lt;code&amp;gt;/var/www/userside&amp;lt;/code&amp;gt;. If you wish to install ERP USERSIDE in a different directory, please remember to fix it in all subsequent examples. In order not to make a mistake, we recommend to use exactly the directory &amp;lt;code&amp;gt;/var/www/userside&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Now edit the file /etc/nginx/conf.d/default.conf. Or delete it and create a file named /etc/nginx/conf.d/userside.conf. In either case, regardless of your choice, the contents of the file should be as follows (instead of userside.mycompany.com, specify your domain name):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
server {&lt;br /&gt;
    listen       80 default_server;&lt;br /&gt;
    server_name  userside.mycompany.com;&lt;br /&gt;
    charset      utf-8;&lt;br /&gt;
    client_max_body_size 100M;&lt;br /&gt;
&lt;br /&gt;
    access_log  /var/log/nginx/userside-access.log;&lt;br /&gt;
    error_log   /var/log/nginx/userside-error.log;&lt;br /&gt;
&lt;br /&gt;
    root   /var/www/userside/public;&lt;br /&gt;
    index  index.php;&lt;br /&gt;
&lt;br /&gt;
    location = /favicon.ico { access_log off; log_not_found off; }&lt;br /&gt;
    location = /robots.txt  { access_log off; log_not_found off; }&lt;br /&gt;
&lt;br /&gt;
    location / {&lt;br /&gt;
        try_files $uri $uri/ /index.php$is_args$args;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    location ~* ^.+\.(css|ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|rss|atom|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|bmp|rtf)$ {&lt;br /&gt;
        access_log    off;&lt;br /&gt;
        log_not_found off;&lt;br /&gt;
        expires       max;&lt;br /&gt;
        add_header    Pragma public;&lt;br /&gt;
        add_header    Cache-Control &amp;quot;public&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    location ~ \.php$ {&lt;br /&gt;
        try_files     $uri =404;&lt;br /&gt;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;&lt;br /&gt;
        fastcgi_pass  unix:/run/php/php8.4-fpm.sock;&lt;br /&gt;
        fastcgi_index index.php;&lt;br /&gt;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;&lt;br /&gt;
        fastcgi_read_timeout 300;&lt;br /&gt;
        include       fastcgi_params;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    location /ws {&lt;br /&gt;
        proxy_pass http://127.0.0.1:15674/ws;&lt;br /&gt;
        proxy_http_version 1.1;&lt;br /&gt;
        proxy_set_header Upgrade $http_upgrade;&lt;br /&gt;
        proxy_set_header Connection &amp;quot;Upgrade&amp;quot;;&lt;br /&gt;
        proxy_set_header Host $host;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    location ~ /\.ht { deny  all; }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You may also want to configure SSL and something else. This topic is beyond the scope of this manual.&lt;br /&gt;
&lt;br /&gt;
If you have installed RabbitMQ &#039;&#039;&#039;on another server&#039;&#039;&#039;, or changed the value of the WebSTOMP port from 15674 to some other, then specify the IP address of the server with RabbitMQ and the port number in the line &amp;lt;code&amp;gt;proxy_pass http://127.0.0.1:15674/ws;&amp;lt;/code&amp;gt;. The protocol must remain http. The path must remain /ws.&lt;br /&gt;
&lt;br /&gt;
Check the configuration and if it is ok restart nginx:&lt;br /&gt;
 sudo nginx -t &amp;amp;&amp;amp; sudo nginx -s reload&lt;br /&gt;
&lt;br /&gt;
=== Python ===&lt;br /&gt;
&#039;&#039;Requires Python3 of any currently supported version. The status of versions can be viewed here:&amp;quot;[https://devguide.python.org/versions/ Status of Python versions]&amp;quot;. It is recommended to use a version with &amp;quot;security&amp;quot; or &amp;quot;bugfix&amp;quot; status. Versions marked as &amp;quot;end-of-life&amp;quot; are not supported. Versions marked as &amp;quot;feature&amp;quot; are not recommended.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you have an unsupported version (&amp;quot;end-of-life&amp;quot;) installed on your host, you should be sure to [[Python-update_EN|install additionally]] a more recent version of Python.&lt;br /&gt;
&lt;br /&gt;
==== Installing the required packages ====&lt;br /&gt;
 sudo apt install -y python3-dev python3-pip python3-venv libffi-dev pkg-config&lt;br /&gt;
&lt;br /&gt;
=== Supervisor ===&lt;br /&gt;
 sudo apt install -y supervisor&lt;br /&gt;
&lt;br /&gt;
== Downloading and launching the installer ==&lt;br /&gt;
&lt;br /&gt;
See also: [[Installer|Installer Help]]&lt;br /&gt;
&lt;br /&gt;
1. navigate to the system catalogue&lt;br /&gt;
 cd /var/www/userside&lt;br /&gt;
&lt;br /&gt;
2. download the installer script&lt;br /&gt;
 curl -fsSL https://my.userside.eu/install.sh | sudo -u www-data bash&lt;br /&gt;
&lt;br /&gt;
3. run installer&lt;br /&gt;
 sudo -u www-data ./installer install&lt;br /&gt;
&lt;br /&gt;
During operation, the installer verifies compliance with technical requirements, requests access parameters, and checks connections to server services.&lt;br /&gt;
&lt;br /&gt;
You can enter any ERP USERSIDE version number available to you for installation. To do this, you can enter the version number from the list (it contains only the latest version of each branch) or enter the entire version number if it is not on the list.&lt;br /&gt;
&lt;br /&gt;
When the installer finishes, a message will be displayed indicating that the installation was successful.&lt;br /&gt;
&lt;br /&gt;
If you did not install as a web server user, be sure to make that user the owner of all userside files recursively after the installation is complete!&lt;br /&gt;
&lt;br /&gt;
 sudo chown -R www-data:www-data /var/www/userside&lt;br /&gt;
&lt;br /&gt;
== Setting up after installation ==&lt;br /&gt;
&lt;br /&gt;
=== Configuration of system services ===&lt;br /&gt;
After installation, copy the sample configuration files of the system services and, if necessary, customise them (for example, specify the path to the userside directory if it is different from /var/www/userside). Run the commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo cp etc/us-core-worker.conf-example /etc/supervisor/conf.d/us-core-worker.conf&lt;br /&gt;
sudo cp microservice/poller/etc/usm_poller.conf-example /etc/supervisor/conf.d/usm_poller.conf&lt;br /&gt;
sudo cp etc/logrotate-example /etc/logrotate.d/userside&lt;br /&gt;
sudo cp microservice/poller/etc/logrotate-example /etc/logrotate.d/usm_poller&lt;br /&gt;
sudo cp etc/crontab-example /etc/cron.d/userside&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Installation of necessary dependencies for usm_poller ===&lt;br /&gt;
Create a venv virtual environment for python and install the dependent modules as shown below:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /var/www/userside/microservice/poller&lt;br /&gt;
sudo -H python3 -m venv venv&lt;br /&gt;
sudo -H venv/bin/pip install -U pip&lt;br /&gt;
sudo -H venv/bin/pip install -U -r requirements.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Running the supervisor ===&lt;br /&gt;
The Supervisor controls the operation of the services specified in its configuration. To launch the supervisor, run the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo systemctl restart supervisor&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
After the supervisor is launched, after a few seconds you can observe the state of all the services it controls. All services must be in the RUNNING state:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo supervisorctl status&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Immediately after the installation ==&lt;br /&gt;
This completes the installation of ERP USERSIDE. Now perform the following steps:&lt;br /&gt;
* Open the system page &#039;&#039;&#039;&amp;lt;nowiki&amp;gt;http://userside.mydomain.com/&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039; and login &#039;&#039;(default username: Admin, password: 1234)&#039;&#039;.&lt;br /&gt;
* Configure Websocket under: Settings - Main - WebSocket. Enable and enter the username and password of the WebStomp user you created earlier under RabbitMQ.&lt;br /&gt;
* Make main settings in the section: [[Settings_-_Main|Settings - Main]].&lt;br /&gt;
* Configure interaction with [[Supported_billings|billing]] according to the [[Setting_up_interactions_with_a_billing|instructions]].&lt;br /&gt;
* Read the instructions on the page: [[Start_EN|Where to start?]].&lt;br /&gt;
* Configure the [[UserSide_API_Key|API Key]].&lt;br /&gt;
&lt;br /&gt;
== System upgrade ==&lt;br /&gt;
We try to do our best to ensure that the likelihood of an end-to-end upgrade from any version to the latest version is successful. However, it sometimes happens that due to some ancient problems with the database structure that never prevented you from working before, a situation may arise in which an end-to-end upgrade is not possible. In this case you will have to upgrade step by step to each next latest version. For example, from 3.14.80 first to 3.15.60, then to 3.16.39, and so on.&lt;br /&gt;
&lt;br /&gt;
Before upgrading, be sure to read about all the changes you need to make to upgrade for each version that lies between yours and the one you are going to upgrade to.&lt;br /&gt;
&lt;br /&gt;
We recommend making a copy of your system to safely perform the upgrade. Refer to [[HOWTO: USERSIDE cloning]]. You can always delete the copy and start over. This is easy and safe. But if you wish to upgrade a running system, perform it at times of least stress, with time to spare for disaster recovery if something goes wrong. Always be sure to back up your database and files before upgrading. If an update is interrupted, especially during the data migration phase, there is a risk that it will be very difficult or even impossible to restore the data correctly. In general, the responsibility for having an up-to-date backup lies entirely with you.&lt;br /&gt;
&lt;br /&gt;
==== Upgrade process ====&lt;br /&gt;
We strongly recommend performing test upgrades on a [[HOWTO: USERSIDE cloning|copy of the system]].&lt;br /&gt;
&lt;br /&gt;
To perform an upgrade, run the installer in install mode and follow the instructions:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /var/www/userside&lt;br /&gt;
sudo -u www-data ./installer install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
After upgrading the USERSIDE, you should be sure to upgrade the usm_poller dependencies:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /var/www/userside/microservice/poller&lt;br /&gt;
sudo -H venv/bin/pip install -U pip&lt;br /&gt;
sudo -H venv/bin/pip install -U -r requirements.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now we need to restart all the services that are supervised by the supervisor and make sure that all of them start and are in the RUNNING state:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo supervisorctl restart all&lt;br /&gt;
sudo supervisorctl status&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== System maintenance ==&lt;br /&gt;
To keep the system up to date and to ensure reliable operation in the future, it is recommended that you follow a few simple steps:&lt;br /&gt;
* periodically back up the database&lt;br /&gt;
* periodically create a backup copy of uploaded files (this can be done simply by archiving the /var/www/userside/var/attachments directory and the .env file)&lt;br /&gt;
* periodically monitor server performance (using htop, atop) and the RabbitMQ broker and make decisions about scaling fpm pools, kernel background processes and microservices&lt;br /&gt;
&lt;br /&gt;
=== Backup ===&lt;br /&gt;
Set up periodic backups of the database and user files. Preferably at least once a day when the server is least loaded. In PostgreSQL, there are two ways to back up the database: dump and sql-script. Each of them has its own advantages and disadvantages. The first one creates a secure dump of the entire database, while the second one creates a SQL script that can restore both structure and data. We recommend referring to [https://www.postgresql.org/docs/current/app-pgdump.html documentation on how to use the pg_dump command] for a more suitable method or set of parameters for you.&lt;br /&gt;
&lt;br /&gt;
Below are two commands for creating a database backup - choose one of them and add it to your crontab:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# SQL-script&lt;br /&gt;
sudo -u postgres pg_dump --no-acl -Fp -Z 5 userside &amp;gt; /backup/userside.sql.gz&lt;br /&gt;
&lt;br /&gt;
# DUMP&lt;br /&gt;
sudo -u postgres pg_dump --no-acl -Fc userside &amp;gt; /backup/userside.dump&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To create a minimal backup of &#039;&#039;&#039;files&#039;&#039;&#039; you can use the following command (for version 3.15 and later):&lt;br /&gt;
 sudo tar -czf /backup/userside.tgz .env common/config/settings.json var/attachments&lt;br /&gt;
These files together with the database will be enough to restore USERSIDE. But you can back up the entire /var/www/userside directory for more reliability.&lt;br /&gt;
&lt;br /&gt;
=== Restoring from a backup ===&lt;br /&gt;
The pg_restore command is used to restore from a dump. [https://postgrespro.ru/docs/postgresql/13/app-pgrestore Documentation on using pg_restore]. The psql utility is used to restore from a SQL script. [https://www.postgresql.org/docs/current/app-psql.html Documentation on using psql].&lt;br /&gt;
&lt;br /&gt;
Before restoring the database from a backup, you must be sure to stop USERSIDE.&lt;br /&gt;
&lt;br /&gt;
1. Stop cron userside and all modules&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir -p ~/cron&lt;br /&gt;
sudo mv /etc/cron.d/userside ~/cron&lt;br /&gt;
sudo mv /etc/cron.d/userside-modules ~/cron&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
2. Stop running background services&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo supervisorctl stop all&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
3. Stop php-fpm from running&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo systemctl stop php8.4-fpm&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Only then can you proceed to restore the database from a backup copy.&lt;br /&gt;
&lt;br /&gt;
==== SQL-script ====&lt;br /&gt;
To restore a database from a backup as a SQL script, you must first recreate the database and then restore to an empty backup database:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo -u postgres dropdb userside&lt;br /&gt;
sudo -u postgres createdb -e -E &amp;quot;UTF-8&amp;quot; -l &amp;quot;uk_UA.UTF-8&amp;quot; -O userside -T template0 userside&lt;br /&gt;
sudo -u postgres psql -d userside -c &amp;quot;CREATE EXTENSION postgis&amp;quot;&lt;br /&gt;
gunzip &amp;lt; userside.sql.gz | sudo -u postgres psql -d userside -v ON_ERROR_STOP=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== DUMP ====&lt;br /&gt;
The dump contains the entire database with all its elements. Therefore, before restoring a database from a dump, it must not exist on the server - delete the database before restoring from a dump. It is also important that the database user (the owner of all items) already exists - create it before restoring if you are restoring the database on a new server where the required user does not exist yet.&lt;br /&gt;
&lt;br /&gt;
Also note that the dump structure may not be compatible between different versions of PostgreSQL. This is not necessarily the case, but it is likely.&lt;br /&gt;
&lt;br /&gt;
To restore from the dump, use the commands:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo -u postgres dropdb userside&lt;br /&gt;
sudo -u postgres pg_restore --clean --if-exists --create --exit-on-error --dbname=postgres userside.dump&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Note that the database name in the command must be &#039;&#039;&#039;postgres&#039;&#039;&#039;, because the entire database is restored from the dump, not its contents.&lt;br /&gt;
&lt;br /&gt;
==== After restoring the database ====&lt;br /&gt;
After restoring the database in any way, you must clear the ERP USERSIDE cache, as the cache now contains different data from the database. Go to the /var/www/userside directory and run the clear cache command (first, if a password is used, or second, if it is not used):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
source /var/www/userside/.env &amp;amp;&amp;amp; redis-cli -h $US_REDIS_HOST -p $US_REDIS_PORT -a $US_REDIS_PASSWORD -n $US_REDIS_DB FLUSHDB&lt;br /&gt;
source /var/www/userside/.env &amp;amp;&amp;amp; redis-cli -h $US_REDIS_HOST -p $US_REDIS_PORT -n $US_REDIS_DB FLUSHDB&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Restore services that were stopped before performing the backup:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo mv ~/cron/* /etc/cron.d&lt;br /&gt;
sudo supervisorctl start all&lt;br /&gt;
sudo systemctl start php8.4-fpm&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Run the restore command to make the system files match the database version and check the system for file integrity.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /var/www/userside&lt;br /&gt;
sudo -u www-data ./installer repair&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>IronBot</name></author>
	</entry>
	<entry>
		<id>https://wiki.userside.eu/index.php?title=%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F&amp;diff=22086</id>
		<title>Встановлення</title>
		<link rel="alternate" type="text/html" href="https://wiki.userside.eu/index.php?title=%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F&amp;diff=22086"/>
		<updated>2026-06-23T12:46:46Z</updated>

		<summary type="html">&lt;p&gt;IronBot: [IronBot] Create UK localization from RU&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
[[Installation|en]] | &#039;&#039;&#039;uk&#039;&#039;&#039; | [[Установка|ru]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;УВАГА: ця інструкція актуальна для версій ERP USERSIDE 3.19+&#039;&#039;&#039;&lt;br /&gt;
* [[Встановлення для версії 3.18|Інструкція для версії 3.18]]&lt;br /&gt;
* [[Встановлення для версії 3.17|Інструкція для версії 3.11-3.17]]&lt;br /&gt;
* [[Встановлення для версії 3.10 і раніших|Інструкція для версії 3.10 і раніше]].&lt;br /&gt;
&lt;br /&gt;
== Опис ==&lt;br /&gt;
Для спрощення будуть розглянуті команди для операційної системи &#039;&#039;&#039;Linux Debian 13 (trixie)&#039;&#039;&#039;. Для досвідчених системних адміністраторів не становитиме труднощів використати аналогічні команди для іншої операційної системи. Якщо ж ви не почуваєтеся впевнено в адмініструванні операційних систем, ми рекомендуємо використовувати &#039;&#039;&#039;Debian&#039;&#039;&#039; або &#039;&#039;&#039;Ubuntu Server LTS&#039;&#039;&#039;. Через їхню простоту, а також тому, що наша технічна підтримка значно краще розбирається в Debian-подібних дистрибутивах. Імовірність підказати щось, що не стосується ERP USERSIDE, але стосується адміністрування операційної системи, буде значно вищою, якщо у вас Debian або подібний дистрибутив на його основі.&lt;br /&gt;
&lt;br /&gt;
З іншого боку, якщо ви досвідчений системний адміністратор і маєте навички та досвід роботи з Docker, можливо, зручнішим для вас буде варіант використання готового середовища на базі Docker-образів, які ми підготували спеціально, включивши до них усе необхідне для роботи ERP USERSIDE. У цьому випадку вам не доведеться нічого налаштовувати, крім виконання простих налаштувань Docker-бандла https://github.com/userside/userside-docker.&lt;br /&gt;
&lt;br /&gt;
== Вимоги ==&lt;br /&gt;
Для роботи ERP USERSIDE потрібні різні системні застосунки та служби, зокрема інтерпретатор мови PHP з набором розширень, WEB-сервер, система керування базами даних тощо. У цьому розділі перелічені такі вимоги залежно від версії ERP USERSIDE.&lt;br /&gt;
&lt;br /&gt;
Також зверніть увагу, що ваша операційна система має бути налаштована з коректним часовим поясом і локаллю. Від цього залежить правильність відображення інформації та коректність сортування.&lt;br /&gt;
&lt;br /&gt;
Список потрібних розширень PHP містить усі розширення, які не входять до складу ядра PHP. Частина цих розширень може постачатися разом з основним пакетом PHP або у складі пакета php-common, інша частина має бути встановлена додатково.&lt;br /&gt;
&lt;br /&gt;
=== 3.20 ===&lt;br /&gt;
* PHP 8.4-8.5&lt;br /&gt;
* Розширення PHP: ctype, gd, json, libxml, mbstring, openssl, pdo, pdo_pgsql, posix, simplexml, snmp, sockets, zlib, pcntl&lt;br /&gt;
* Додаткові розширення PHP: ldap&lt;br /&gt;
* Python: &#039;&#039;Потрібен Python3 будь-якої версії, що підтримується на цей момент. Статус версій можна переглянути тут: &amp;quot;[https://devguide.python.org/versions/ Status of Python versions]&amp;quot;. Рекомендується використовувати версію зі станом &amp;quot;security&amp;quot; або &amp;quot;bugfix&amp;quot;. Версії, позначені як &amp;quot;end-of-life&amp;quot;, не підтримуються. Версії, позначені як &amp;quot;feature&amp;quot;, використовувати не рекомендується.&#039;&#039;&lt;br /&gt;
* Модулі Python: pip, venv&lt;br /&gt;
* PostgreSQL: 16+ (бажано 18)&lt;br /&gt;
* Redis: 5+ (бажано 7)&lt;br /&gt;
* RabbitMQ: 3.13+ (бажано 4+)&lt;br /&gt;
* Supervisor&lt;br /&gt;
&lt;br /&gt;
=== 3.19 (поточна стабільна) ===&lt;br /&gt;
* PHP: 8.3-8.4&lt;br /&gt;
* Розширення PHP: ctype, gd, json, libxml, mbstring, openssl, pdo, pdo_pgsql, posix, simplexml, snmp, sockets, zlib, pcntl&lt;br /&gt;
* Додаткові розширення PHP: ldap, soap&lt;br /&gt;
* Python: &#039;&#039;Потрібен Python3 будь-якої версії, що підтримується на цей момент. Статус версій можна переглянути тут: &amp;quot;[https://devguide.python.org/versions/ Status of Python versions]&amp;quot;. Рекомендується використовувати версію зі станом &amp;quot;security&amp;quot; або &amp;quot;bugfix&amp;quot;. Версії, позначені як &amp;quot;end-of-life&amp;quot;, не підтримуються. Версії, позначені як &amp;quot;feature&amp;quot;, використовувати не рекомендується.&#039;&#039;&lt;br /&gt;
* Модулі Python: pip, venv&lt;br /&gt;
* PostgreSQL: 12+ (бажано 16)&lt;br /&gt;
* Redis: 5+ (бажано 7)&lt;br /&gt;
* RabbitMQ: 3.10+ (бажано 3.13)&lt;br /&gt;
* Supervisor&lt;br /&gt;
&lt;br /&gt;
== Основні домовленості ==&lt;br /&gt;
Каталог, у який встановлюється ERP USERSIDE, - &amp;lt;code&amp;gt;/var/www/userside&amp;lt;/code&amp;gt;. Усередині цього каталогу має бути підкаталог public, який є кореневим каталогом для WEB-сервера. Якщо ви хочете використовувати інший каталог для ERP USERSIDE, не забувайте вносити відповідні виправлення в усі приклади з цієї інструкції.&lt;br /&gt;
&lt;br /&gt;
Створіть каталоги:&lt;br /&gt;
 sudo mkdir -p /var/www/userside/public /var/log/usm_poller&lt;br /&gt;
 sudo chown -R www-data:www-data /var/www/userside /var/log/usm_poller&lt;br /&gt;
&lt;br /&gt;
Вам потрібно виділити доменне ім&#039;я для ERP USERSIDE. У прикладах нижче використовується userside.mycompany.com, але вам потрібно буде замінити його на своє. Пропишіть це доменне ім&#039;я в /etc/hosts, якщо воно відрізняється від імені хоста, на якому виконується встановлення.&lt;br /&gt;
&lt;br /&gt;
== Встановлення необхідних компонентів ==&lt;br /&gt;
Спочатку встановіть утиліти, які будуть потрібні далі в процесі встановлення. Вони потрібні для будь-якої версії ERP USERSIDE. Ви можете копіювати рядки по одному та вставляти їх у командний рядок вашої операційної системи.&lt;br /&gt;
&lt;br /&gt;
Скопіюйте та вставте такі рядки повністю:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo tee /etc/apt/sources.list.d/contrib-non-free.list &amp;lt;&amp;lt; EOL&lt;br /&gt;
deb http://deb.debian.org/debian/ $(lsb_release -sc) contrib non-free non-free-firmware&lt;br /&gt;
EOL&lt;br /&gt;
&lt;br /&gt;
sudo apt update&lt;br /&gt;
sudo apt full-upgrade -y&lt;br /&gt;
sudo apt install -y gnupg ca-certificates lsb-release debian-archive-keyring debian-keyring libsnmp-dev snmp-mibs-downloader&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== PostgreSQL ===&lt;br /&gt;
==== Альтернативний офіційний репозиторій ====&lt;br /&gt;
Ми наполегливо рекомендуємо використовувати останню версію PostgreSQL, оскільки це завжди позитивно впливає на швидкість роботи. Додайте до системи офіційний репозиторій Postgres:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo install -d /usr/share/postgresql-common/pgdg&lt;br /&gt;
&lt;br /&gt;
sudo curl -o /usr/share/postgresql-common/pgdg/apt.postgresql.org.asc --fail https://www.postgresql.org/media/keys/ACCC4CF8.asc&lt;br /&gt;
&lt;br /&gt;
sudo sh -c &#039;echo &amp;quot;deb [signed-by=/usr/share/postgresql-common/pgdg/apt.postgresql.org.asc] https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main&amp;quot; &amp;gt; /etc/apt/sources.list.d/pgdg.list&#039;&lt;br /&gt;
&lt;br /&gt;
sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Якщо у вас інша операційна система, необхідні команди для неї можна знайти на [https://www.postgresql.org/download/ офіційному сайті PostgreSQL].&lt;br /&gt;
&lt;br /&gt;
==== Встановлення ====&lt;br /&gt;
&#039;&#039;&#039;Увага!&#039;&#039;&#039; Перед встановленням PostgreSQL у вашій операційній системі має бути встановлена ваша локальна локаль і коректний часовий пояс. Це можна зробити й пізніше, але буде значно простіше, якщо це виконати до встановлення PostgreSQL. Виконайте таку команду, щоб переконатися, що потрібна локаль присутня:&lt;br /&gt;
 locale -a&lt;br /&gt;
&lt;br /&gt;
Якщо серед перелічених немає вашої локальної локалі, встановіть її. Для цього достатньо відредагувати файл /etc/locale.gen, прибравши коментарі перед рядком або рядками з потрібною локаллю, а потім виконати команду:&lt;br /&gt;
 sudo locale-gen&lt;br /&gt;
&lt;br /&gt;
Якщо потрібно змінити локаль за замовчуванням, виконайте:&lt;br /&gt;
 sudo dpkg-reconfigure locales&lt;br /&gt;
&lt;br /&gt;
Щоб змінити часовий пояс, виконайте:&lt;br /&gt;
 sudo timedatectl set-timezone Europe/Kyiv&lt;br /&gt;
&lt;br /&gt;
Тепер можна перейти до встановлення PostgreSQL:&lt;br /&gt;
 sudo apt install -y postgresql-18 postgresql-18-postgis-3&lt;br /&gt;
&lt;br /&gt;
==== Налаштування ====&lt;br /&gt;
Створіть користувача та базу даних для ERP USERSIDE. У прикладі нижче створюється користувач з іменем userside і база даних з таким самим іменем. Якщо ваша локаль не uk_UA, не забудьте змінити команду. Потім до бази даних підключається розширення PostGis, потрібне для роботи з географічними даними. Після виконання першого рядка вам потрібно буде двічі ввести пароль для нового користувача - запишіть цей пароль, він знадобиться далі для встановлення ERP USERSIDE.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo -u postgres createuser userside -P&lt;br /&gt;
sudo -u postgres createdb -e -E &amp;quot;UTF-8&amp;quot; -l &amp;quot;uk_UA.UTF-8&amp;quot; -O userside -T template0 userside&lt;br /&gt;
sudo -u postgres psql -d userside -c &amp;quot;CREATE EXTENSION postgis&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Якщо PostgreSQL встановлений &#039;&#039;&#039;на іншому сервері&#039;&#039;&#039;, потрібно буде внести корекції до файлів postgresql.conf і pg_hba.conf, розташованих у каталозі /etc/postgresql/16/main/. У файлі postgresql.conf потрібно розкоментувати та змінити значення параметра &amp;lt;code&amp;gt;listen_addresses&amp;lt;/code&amp;gt;, вказавши там усі IP-адреси інтерфейсів сервера, на яких він може приймати підключення до PostgreSQL. У файлі pg_hba.conf потрібно в самому кінці додати рядок за аналогією з попередніми, який вказує, з якої адреси може підключатися користувач ERP USERSIDE. Але якщо PostgreSQL розташований на тому самому сервері, що й USERSIDE, вносити корективи в ці файли не потрібно.&lt;br /&gt;
&lt;br /&gt;
=== Redis ===&lt;br /&gt;
Стандартний репозиторій Debian 13 містить Redis версії 8.0.2. Ця версія підходить для роботи ERP USERSIDE.&lt;br /&gt;
&lt;br /&gt;
==== Встановлення ====&lt;br /&gt;
 sudo apt install -y redis-server&lt;br /&gt;
&lt;br /&gt;
==== Налаштування ====&lt;br /&gt;
За замовчуванням Redis приймає підключення без пароля, але ми наполегливо рекомендуємо встановити пароль. Оскільки пароль передається у відкритому вигляді (Redis не передбачає шифрування, бо орієнтований на швидкість обробки запитів, і додаткові кроки на кшталт шифрування не застосовуються), потрібно створити справді довгий і складний пароль, наприклад за допомогою утиліти &#039;&#039;&#039;openssl&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 openssl rand --hex 32&lt;br /&gt;
&lt;br /&gt;
На виході буде випадковий набір із 32 байтів у шістнадцятковому вигляді, який ви використовуватимете як пароль. Далі потрібно підставити цей згенерований рядок замість слова &#039;&#039;&#039;MYPASSWORDHERE&#039;&#039;&#039;. Запишіть його. Потім ви вкажете цей рядок як пароль Redis у налаштуваннях.&lt;br /&gt;
&lt;br /&gt;
Вкажіть згенерований пароль у конфігураційному файлі Redis:&lt;br /&gt;
&lt;br /&gt;
 sudo sed -i &#039;s@^.*requirepass .*@requirepass MYPASSWORDHERE@g&#039; /etc/redis/redis.conf&lt;br /&gt;
&lt;br /&gt;
де замість &#039;&#039;&#039;MYPASSWORDHERE&#039;&#039;&#039; вкажіть отриманий раніше пароль.&lt;br /&gt;
&lt;br /&gt;
Також слід вимкнути timeout (у деяких версіях Redis він увімкнений):&lt;br /&gt;
&lt;br /&gt;
 sudo sed -i &#039;s@^timeout .*@timeout 0@&#039; /etc/redis/redis.conf&lt;br /&gt;
&lt;br /&gt;
Перезапустіть Redis і переконайтеся, що він працює (у відповідь має бути PONG):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo systemctl restart redis&lt;br /&gt;
redis-cli -h 127.0.0.1 -p 6379 -a MYPASSWORDHERE ping&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== RabbitMQ ===&lt;br /&gt;
Стандартний репозиторій Debian 13 містить старішу версію RabbitMQ 4.0.5. Її можна використовувати - вона підтримується. Однак ця версія відносно стара, тому краще встановити новішу версію з альтернативних репозиторіїв. На [https://www.rabbitmq.com/docs/install-debian офіційному сайті RabbitMQ] є досить докладна інформація щодо встановлення RabbitMQ для кожної операційної системи.&lt;br /&gt;
&lt;br /&gt;
==== Додавання альтернативних репозиторіїв ====&lt;br /&gt;
Скопіюйте та вставте такий блок повністю в командний рядок:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
curl -1sLf &amp;quot;https://keys.openpgp.org/vks/v1/by-fingerprint/0A9AF2115F4687BD29803A206B73A36E6026DFCA&amp;quot; \&lt;br /&gt;
  | sudo gpg --dearmor \&lt;br /&gt;
  | sudo tee /usr/share/keyrings/com.rabbitmq.team.gpg &amp;gt; /dev/null&lt;br /&gt;
&lt;br /&gt;
sudo tee /etc/apt/sources.list.d/rabbitmq.list &amp;lt;&amp;lt;EOF&lt;br /&gt;
deb [arch=amd64 signed-by=/usr/share/keyrings/com.rabbitmq.team.gpg] https://deb1.rabbitmq.com/rabbitmq-server/debian/trixie trixie main&lt;br /&gt;
deb [arch=amd64 signed-by=/usr/share/keyrings/com.rabbitmq.team.gpg] https://deb2.rabbitmq.com/rabbitmq-server/debian/trixie trixie main&lt;br /&gt;
EOF&lt;br /&gt;
&lt;br /&gt;
sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Встановлення ====&lt;br /&gt;
Переконайтеся, що в /etc/hosts є запис для вашого hostname. Відсутність такого запису (наприклад, якщо ви змінили hostname після встановлення) є типовою помилкою під час встановлення RabbitMQ. Тому краще ще раз переконатися, що запис для hostname є.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt install -y erlang-base \&lt;br /&gt;
                    erlang-asn1 erlang-crypto erlang-eldap erlang-ftp erlang-inets \&lt;br /&gt;
                    erlang-mnesia erlang-os-mon erlang-parsetools erlang-public-key \&lt;br /&gt;
                    erlang-runtime-tools erlang-snmp erlang-ssl \&lt;br /&gt;
                    erlang-syntax-tools erlang-tftp erlang-tools erlang-xmerl&lt;br /&gt;
&lt;br /&gt;
sudo apt install rabbitmq-server -y --fix-missing&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Встановлення необхідних додатків ====&lt;br /&gt;
Наступні два рядки виконуйте по одному.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rabbitmq-plugins enable rabbitmq_management --offline&lt;br /&gt;
&lt;br /&gt;
sudo rabbitmq-plugins enable rabbitmq_web_stomp --offline&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Налаштування ====&lt;br /&gt;
Скопіюйте та вставте такий блок повністю:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo tee /etc/rabbitmq/rabbitmq.conf &amp;lt;&amp;lt; EOF&lt;br /&gt;
listeners.tcp.default = 5672&lt;br /&gt;
&lt;br /&gt;
consumer_timeout = 2400000&lt;br /&gt;
&lt;br /&gt;
web_stomp.port = 15674&lt;br /&gt;
web_stomp.cowboy_opts.max_keepalive = 60&lt;br /&gt;
EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тепер потрібно створити користувачів. Ми рекомендуємо використовувати &#039;&#039;&#039;трьох різних користувачів&#039;&#039;&#039;: для адміністрування сервера (повні права), для userside і модулів (повні права, але без адміністративних прав) і користувача web-stomp для websocket (мінімальні права на читання певних об&#039;єктів брокера). Але можна створити лише двох: адміністратора, який також використовуватиметься для userside, і користувача для websocket. Обов&#039;язково має бути щонайменше два різні користувачі, оскільки пароль користувача websocket передається в браузер і може бути легко прочитаний користувачем. Далі наведено приклад для рекомендованих трьох користувачів.&lt;br /&gt;
&lt;br /&gt;
Створіть &#039;&#039;&#039;користувача для адміністрування&#039;&#039;&#039; RabbitMQ. У цьому прикладі використовується ім&#039;я користувача &#039;&#039;&#039;admin&#039;&#039;&#039; і пароль &#039;&#039;&#039;admin_password&#039;&#039;&#039;.&lt;br /&gt;
Тег &amp;lt;code&amp;gt;administrator&amp;lt;/code&amp;gt; призначається користувачу одразу після створення, надаючи максимальні адміністративні права, а потім задаються дозволи для vhost &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt;, що дозволяють повний доступ до налаштування, запису й читання всього всередині цього vhost*.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rabbitmqctl add_user &amp;quot;admin&amp;quot; &amp;quot;admin_password&amp;quot;&lt;br /&gt;
sudo rabbitmqctl set_user_tags &amp;quot;admin&amp;quot; &amp;quot;administrator&amp;quot;&lt;br /&gt;
sudo rabbitmqctl set_permissions -p &amp;quot;/&amp;quot; &amp;quot;admin&amp;quot; &amp;quot;.*&amp;quot; &amp;quot;.*&amp;quot; &amp;quot;.*&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Створіть &#039;&#039;&#039;користувача, від імені якого працюватимуть ERP USERSIDE&#039;&#039;&#039; і модулі. Приклад для імені користувача &#039;&#039;&#039;userside&#039;&#039;&#039; (адміністративні права цьому користувачу надавати не потрібно):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rabbitmqctl add_user &amp;quot;userside&amp;quot; &amp;quot;system_password&amp;quot;&lt;br /&gt;
sudo rabbitmqctl set_user_tags &amp;quot;userside&amp;quot; &amp;quot;monitoring&amp;quot;&lt;br /&gt;
sudo rabbitmqctl set_permissions -p &amp;quot;/&amp;quot; &amp;quot;userside&amp;quot; &amp;quot;.*&amp;quot; &amp;quot;.*&amp;quot; &amp;quot;.*&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;websocket&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;Створіть &#039;&#039;&#039;користувача WebSTOMP&#039;&#039;&#039;. Він знадобиться для використання сповіщень через WebSocket. Замість &#039;&#039;&#039;websock-user&#039;&#039;&#039; можна вказати інше ім&#039;я користувача. Замість &#039;&#039;&#039;password_websocket&#039;&#039;&#039; вкажіть свій пароль, але цей пароль передаватиметься у відкритому вигляді в браузер, тому не робіть його схожим на інші паролі:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rabbitmqctl add_user &amp;quot;websock-user&amp;quot; &amp;quot;password_websocket&amp;quot;&lt;br /&gt;
sudo rabbitmqctl set_permissions -p &amp;quot;/&amp;quot; &amp;quot;websock-user&amp;quot; &amp;quot;^erp-stomp:id-.*&amp;quot; &amp;quot;&amp;quot; &amp;quot;^erp-stomp:id-.*&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Увага: ім&#039;я користувача та пароль WebSTOMP потрібно буде вказати в налаштуваннях інтерфейсу USERSIDE (Меню: Налаштування - Основні - Websocket).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;* vhost - це віртуальний хост у RabbitMQ, який дозволяє різним застосункам розмежовувати різні варіанти використання одного сервера. Так само, як, наприклад, різні бази даних на одному сервері СКБД. Типовий vhost має назву /, і майже завжди цього достатньо. Але якщо ви плануєте, наприклад, запускати кілька копій ERP USERSIDE на одному сервері, то для кожної копії потрібно створити окремий vhost і, відповідно, користувачів для нього. Докладніше див. [https://www.rabbitmq.com/vhosts.html в офіційному посібнику].&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Перезапустіть службу RabbitMQ:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo systemctl restart rabbitmq-server&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Керування ====&lt;br /&gt;
Одна з команд вище встановлює модуль керування RabbitMQ, який надає зручний WEB-інтерфейс для моніторингу, діагностики та керування сервером RabbitMQ. За допомогою цього модуля можна стежити за сервером, кількістю повідомлень у чергах та іншими статусами. Усе це можна робити й за допомогою консольної утиліти &amp;lt;code&amp;gt;rabbitmqctl&amp;lt;/code&amp;gt;, але WEB-інтерфейс може бути значно наочнішим і зручнішим.&lt;br /&gt;
&lt;br /&gt;
За замовчуванням WEB-інтерфейс керування доступний за адресою http://userside.mycompany.com:15672. Ми рекомендуємо використовувати firewall для обмеження доступу до цього інтерфейсу керування.&lt;br /&gt;
&lt;br /&gt;
Докладніше про модуль керування можна [https://www.rabbitmq.com/management.html прочитати на офіційному сайті RabbitMQ].&lt;br /&gt;
&lt;br /&gt;
=== PHP ===&lt;br /&gt;
==== Альтернативний репозиторій ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo curl -sSLo /usr/share/keyrings/deb.sury.org-php.gpg https://packages.sury.org/php/apt.gpg&lt;br /&gt;
sudo sh -c &#039;echo &amp;quot;deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main&amp;quot; &amp;gt; /etc/apt/sources.list.d/php.list&#039;&lt;br /&gt;
sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Встановлення ====&lt;br /&gt;
Виконайте такі команди:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt install -y php8.4-{fpm,cli,common,curl,intl,mbstring,opcache,pgsql,readline,xml,zip,snmp,gd}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Якщо ви плануєте використовувати LDAP, потрібно встановити розширення php-ldap:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt install -y php8.4-ldap&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Налаштування ====&lt;br /&gt;
Нижче наведені команди, які вносять зміни до конфігураційних файлів.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo sed -i &amp;quot;s@^;date.timezone.*@date.timezone = $(cat /etc/timezone)@&amp;quot; /etc/php/8.4/fpm/php.ini&lt;br /&gt;
sudo sed -i &amp;quot;s@^;date.timezone.*@date.timezone = $(cat /etc/timezone)@&amp;quot; /etc/php/8.4/cli/php.ini&lt;br /&gt;
sudo sed -i &amp;quot;s@;cgi.fix_pathinfo=1@cgi.fix_pathinfo=0@&amp;quot; /etc/php/8.4/fpm/php.ini&lt;br /&gt;
sudo sed -i &amp;quot;s@post_max_size = 8M@post_max_size = 100M@&amp;quot; /etc/php/8.4/fpm/php.ini&lt;br /&gt;
sudo sed -i &amp;quot;s@upload_max_filesize = 2M@upload_max_filesize = 100M@&amp;quot; /etc/php/8.4/fpm/php.ini&lt;br /&gt;
sudo sed -i &amp;quot;s@max_execution_time.*@max_execution_time = 300@&amp;quot; /etc/php/8.4/fpm/php.ini&lt;br /&gt;
sudo sed -i &amp;quot;s@^;request_terminate_timeout =.*@request_terminate_timeout = 300@&amp;quot; /etc/php/8.4/fpm/pool.d/www.conf&lt;br /&gt;
&lt;br /&gt;
sudo systemctl restart php8.4-fpm&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== NGINX ===&lt;br /&gt;
==== Альтернативний офіційний репозиторій ====&lt;br /&gt;
Версія NGINX, що постачається в репозиторії Debian, повністю придатна для використання, і додавати альтернативний репозиторій не потрібно. Однак якщо ви хочете завжди мати останню версію, виконайте такі рядки для додавання офіційного репозиторію nginx до вашої операційної системи:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \&lt;br /&gt;
    | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg &amp;gt;/dev/null&lt;br /&gt;
echo &amp;quot;deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \&lt;br /&gt;
http://nginx.org/packages/debian `lsb_release -cs` nginx&amp;quot; \&lt;br /&gt;
    | sudo tee /etc/apt/sources.list.d/nginx.list&lt;br /&gt;
echo -e &amp;quot;Package: *\nPin: origin nginx.org\nPin: release o=nginx\nPin-Priority: 900\n&amp;quot; \&lt;br /&gt;
    | sudo tee /etc/apt/preferences.d/99nginx&lt;br /&gt;
sudo apt update&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Якщо у вас інша операційна система, необхідні команди для неї можна знайти на офіційному сайті NGINX: https://docs.nginx.com/nginx/admin-guide/installing-nginx/installing-nginx-open-source/&lt;br /&gt;
&lt;br /&gt;
==== Встановлення ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt install -y nginx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Налаштування ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo sed -i &amp;quot;s@^user.*;@user www-data www-data;@&amp;quot; &amp;quot;/etc/nginx/nginx.conf&amp;quot;&lt;br /&gt;
sudo systemctl restart nginx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
У наведеному нижче прикладі конфігурації передбачається, що ERP USERSIDE буде встановлена до типового системного каталогу &amp;lt;code&amp;gt;/var/www/userside&amp;lt;/code&amp;gt;. Якщо ви хочете встановити ERP USERSIDE до іншого каталогу, не забудьте виправити це в усіх наступних прикладах. Щоб не помилитися, ми рекомендуємо використовувати саме каталог &amp;lt;code&amp;gt;/var/www/userside&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Тепер відредагуйте файл /etc/nginx/conf.d/default.conf. Або видаліть його та створіть файл з назвою /etc/nginx/conf.d/userside.conf. У будь-якому разі, незалежно від вашого вибору, вміст файлу має бути таким (замість userside.mycompany.com вкажіть своє доменне ім&#039;я):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
server {&lt;br /&gt;
    listen       80 default_server;&lt;br /&gt;
    server_name  userside.mycompany.com;&lt;br /&gt;
    charset      utf-8;&lt;br /&gt;
    client_max_body_size 100M;&lt;br /&gt;
&lt;br /&gt;
    access_log  /var/log/nginx/userside-access.log;&lt;br /&gt;
    error_log   /var/log/nginx/userside-error.log;&lt;br /&gt;
&lt;br /&gt;
    root   /var/www/userside/public;&lt;br /&gt;
    index  index.php;&lt;br /&gt;
&lt;br /&gt;
    location = /favicon.ico { access_log off; log_not_found off; }&lt;br /&gt;
    location = /robots.txt  { access_log off; log_not_found off; }&lt;br /&gt;
&lt;br /&gt;
    location / {&lt;br /&gt;
        try_files $uri $uri/ /index.php$is_args$args;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    location ~* ^.+\.(css|ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|rss|atom|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|bmp|rtf)$ {&lt;br /&gt;
        access_log    off;&lt;br /&gt;
        log_not_found off;&lt;br /&gt;
        expires       max;&lt;br /&gt;
        add_header    Pragma public;&lt;br /&gt;
        add_header    Cache-Control &amp;quot;public&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    location ~ \.php$ {&lt;br /&gt;
        try_files     $uri =404;&lt;br /&gt;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;&lt;br /&gt;
        fastcgi_pass  unix:/run/php/php8.4-fpm.sock;&lt;br /&gt;
        fastcgi_index index.php;&lt;br /&gt;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;&lt;br /&gt;
        fastcgi_read_timeout 300;&lt;br /&gt;
        include       fastcgi_params;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    location /ws {&lt;br /&gt;
        proxy_pass http://127.0.0.1:15674/ws;&lt;br /&gt;
        proxy_http_version 1.1;&lt;br /&gt;
        proxy_set_header Upgrade $http_upgrade;&lt;br /&gt;
        proxy_set_header Connection &amp;quot;Upgrade&amp;quot;;&lt;br /&gt;
        proxy_set_header Host $host;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    location ~ /\.ht { deny  all; }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Також ви можете налаштувати SSL та інші параметри. Ця тема виходить за межі цієї інструкції.&lt;br /&gt;
&lt;br /&gt;
Якщо RabbitMQ встановлений &#039;&#039;&#039;на іншому сервері&#039;&#039;&#039; або ви змінили значення порту WebSTOMP з 15674 на інше, вкажіть IP-адресу сервера з RabbitMQ і номер порту в рядку &amp;lt;code&amp;gt;proxy_pass http://127.0.0.1:15674/ws;&amp;lt;/code&amp;gt;. Протокол має залишатися http. Шлях має залишатися /ws.&lt;br /&gt;
&lt;br /&gt;
Перевірте конфігурацію та, якщо все гаразд, перезапустіть nginx:&lt;br /&gt;
 sudo nginx -t &amp;amp;&amp;amp; sudo nginx -s reload&lt;br /&gt;
&lt;br /&gt;
=== Python ===&lt;br /&gt;
&#039;&#039;Потрібен Python3 будь-якої версії, що підтримується на цей момент. Статус версій можна переглянути тут: &amp;quot;[https://devguide.python.org/versions/ Status of Python versions]&amp;quot;. Рекомендується використовувати версію зі станом &amp;quot;security&amp;quot; або &amp;quot;bugfix&amp;quot;. Версії, позначені як &amp;quot;end-of-life&amp;quot;, не підтримуються. Версії, позначені як &amp;quot;feature&amp;quot;, використовувати не рекомендується.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Якщо на вашому хості встановлена непідтримувана версія (&amp;quot;end-of-life&amp;quot;), обов&#039;язково [[Python-update_UK|встановіть додатково]] актуальнішу версію Python.&lt;br /&gt;
&lt;br /&gt;
==== Встановлення потрібних пакетів ====&lt;br /&gt;
 sudo apt install -y python3-dev python3-pip python3-venv libffi-dev pkg-config&lt;br /&gt;
&lt;br /&gt;
=== Supervisor ===&lt;br /&gt;
 sudo apt install -y supervisor&lt;br /&gt;
&lt;br /&gt;
== Завантаження та запуск інсталятора ==&lt;br /&gt;
&lt;br /&gt;
Також див.: [[Інсталятор|довідка з інсталятора]]&lt;br /&gt;
&lt;br /&gt;
1. перейдіть до каталогу системи&lt;br /&gt;
 cd /var/www/userside&lt;br /&gt;
&lt;br /&gt;
2. завантажте скрипт інсталятора&lt;br /&gt;
 curl -fsSL https://my.userside.eu/install.sh | sudo -u www-data bash&lt;br /&gt;
&lt;br /&gt;
3. запустіть інсталятор&lt;br /&gt;
 sudo -u www-data ./installer install&lt;br /&gt;
&lt;br /&gt;
Під час роботи інсталятор перевіряє відповідність технічним вимогам, запитує параметри доступу та перевіряє підключення до серверних служб.&lt;br /&gt;
&lt;br /&gt;
Ви можете ввести будь-який доступний вам номер версії ERP USERSIDE для встановлення. Для цього можна ввести номер версії зі списку (у ньому міститься лише остання версія кожної гілки) або ввести повний номер версії, якщо його немає у списку.&lt;br /&gt;
&lt;br /&gt;
Після завершення роботи інсталятора буде показано повідомлення про успішне встановлення.&lt;br /&gt;
&lt;br /&gt;
Якщо встановлення виконувалося не від імені користувача web-сервера, після завершення встановлення обов&#039;язково зробіть цього користувача власником усіх файлів userside рекурсивно.&lt;br /&gt;
&lt;br /&gt;
 sudo chown -R www-data:www-data /var/www/userside&lt;br /&gt;
&lt;br /&gt;
== Налаштування після встановлення ==&lt;br /&gt;
&lt;br /&gt;
=== Налаштування системних служб ===&lt;br /&gt;
Після встановлення скопіюйте приклади конфігураційних файлів системних служб і за потреби налаштуйте їх (наприклад, вкажіть шлях до каталогу userside, якщо він відрізняється від /var/www/userside). Виконайте команди:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo cp etc/us-core-worker.conf-example /etc/supervisor/conf.d/us-core-worker.conf&lt;br /&gt;
sudo cp microservice/poller/etc/usm_poller.conf-example /etc/supervisor/conf.d/usm_poller.conf&lt;br /&gt;
sudo cp etc/logrotate-example /etc/logrotate.d/userside&lt;br /&gt;
sudo cp microservice/poller/etc/logrotate-example /etc/logrotate.d/usm_poller&lt;br /&gt;
sudo cp etc/crontab-example /etc/cron.d/userside&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Встановлення необхідних залежностей для usm_poller ===&lt;br /&gt;
Створіть віртуальне середовище venv для Python і встановіть залежні модулі, як показано нижче:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /var/www/userside/microservice/poller&lt;br /&gt;
sudo -H python3 -m venv venv&lt;br /&gt;
sudo -H venv/bin/pip install -U pip&lt;br /&gt;
sudo -H venv/bin/pip install -U -r requirements.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Запуск supervisor ===&lt;br /&gt;
Supervisor контролює роботу служб, зазначених у його конфігурації. Щоб запустити supervisor, виконайте:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo systemctl restart supervisor&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Після запуску supervisor за кілька секунд можна переглянути стан усіх служб, які він контролює. Усі служби мають бути в стані RUNNING:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo supervisorctl status&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Одразу після встановлення ==&lt;br /&gt;
На цьому встановлення ERP USERSIDE завершено. Тепер виконайте такі дії:&lt;br /&gt;
* Відкрийте сторінку системи &#039;&#039;&#039;&amp;lt;nowiki&amp;gt;http://userside.mydomain.com/&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039; і увійдіть &#039;&#039;(типовий логін: Admin, пароль: 1234)&#039;&#039;.&lt;br /&gt;
* Налаштуйте Websocket у розділі: Налаштування - Основні - WebSocket. Увімкніть його та введіть ім&#039;я користувача й пароль WebSTOMP-користувача, якого ви створили раніше в RabbitMQ.&lt;br /&gt;
* Виконайте основні налаштування в розділі: [[Налаштування_-_Основні|Налаштування - Основні]].&lt;br /&gt;
* Налаштуйте взаємодію з [[Підтримувані_білінги|білінгом]] згідно з [[Налаштування_взаємодії_з_білінгом|інструкцією]].&lt;br /&gt;
* Прочитайте інструкції на сторінці: [[Start_UK|З чого почати?]].&lt;br /&gt;
* Налаштуйте [[UserSide_API_Key_UK|API Key]].&lt;br /&gt;
&lt;br /&gt;
== Оновлення системи ==&lt;br /&gt;
Ми намагаємося зробити все можливе, щоб наскрізне оновлення з будь-якої версії до останньої версії було успішним. Однак іноді через давні проблеми зі структурою бази даних, які раніше ніколи не заважали роботі, може виникнути ситуація, коли наскрізне оновлення неможливе. У такому випадку доведеться оновлюватися поетапно до кожної наступної останньої версії. Наприклад, з 3.14.80 спочатку до 3.15.60, потім до 3.16.39 і так далі.&lt;br /&gt;
&lt;br /&gt;
Перед оновленням обов&#039;язково прочитайте про всі зміни, які потрібно виконати для оновлення для кожної версії, що лежить між вашою поточною версією та тією, до якої ви збираєтеся оновитися.&lt;br /&gt;
&lt;br /&gt;
Ми рекомендуємо зробити копію системи для безпечного проведення оновлення. Зверніться до розділу [[HOWTO: Клонування USERSIDE]]. Ви завжди можете видалити копію та почати спочатку. Це просто й безпечно. Але якщо ви хочете оновити робочу систему, виконуйте оновлення в моменти найменшого навантаження із запасом часу, потрібним для аварійного відновлення, якщо раптом щось піде не так. Завжди обов&#039;язково робіть резервну копію бази даних і файлів перед оновленнями. Якщо оновлення буде перерване, особливо на етапі міграції даних, є ризик, що коректно відновити дані буде дуже непросто або навіть неможливо. Загалом відповідальність за наявність актуальної резервної копії повністю лежить на вас.&lt;br /&gt;
&lt;br /&gt;
==== Процес оновлення ====&lt;br /&gt;
Ми наполегливо рекомендуємо виконувати тестові оновлення на [[HOWTO:_Клонування_USERSIDE|копії системи]].&lt;br /&gt;
&lt;br /&gt;
Для проведення оновлення запустіть інсталятор у режимі install і дотримуйтесь інструкцій:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /var/www/userside&lt;br /&gt;
sudo -u www-data ./installer install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Після оновлення USERSIDE потрібно обов&#039;язково оновити залежності usm_poller:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /var/www/userside/microservice/poller&lt;br /&gt;
sudo -H venv/bin/pip install -U pip&lt;br /&gt;
sudo -H venv/bin/pip install -U -r requirements.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Тепер потрібно перезапустити всі служби, які контролюються supervisor, і переконатися, що всі вони запустилися та перебувають у стані RUNNING:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo supervisorctl restart all&lt;br /&gt;
sudo supervisorctl status&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Обслуговування системи ==&lt;br /&gt;
Для підтримання системи в робочому стані та забезпечення її надійної роботи в майбутньому рекомендується виконувати кілька простих дій:&lt;br /&gt;
* періодично створювати резервну копію бази даних&lt;br /&gt;
* періодично створювати резервну копію завантажених файлів (це можна зробити, просто архівуючи каталог /var/www/userside/var/attachments і файл .env)&lt;br /&gt;
* періодично стежити за продуктивністю сервера (за допомогою htop, atop) і брокера RabbitMQ та приймати рішення щодо масштабування пулів fpm, фонових процесів ядра і мікросервісів&lt;br /&gt;
&lt;br /&gt;
=== Резервне копіювання ===&lt;br /&gt;
Налаштуйте періодичне резервне копіювання бази даних і користувацьких файлів. Бажано мінімум раз на добу в моменти найменшого навантаження на сервер. У PostgreSQL існує два способи створити резервну копію бази даних: dump і sql-script. У кожного з них є свої переваги та недоліки. Перший створює безпечний дамп бази даних повністю, а другий створює SQL-скрипт, виконання якого дає змогу відновити як структуру, так і дані. Рекомендуємо звернутися до [https://www.postgresql.org/docs/current/app-pgdump.html документації з використання команди pg_dump] для вибору більш відповідного для вас способу або набору параметрів.&lt;br /&gt;
&lt;br /&gt;
Нижче наведені дві команди для створення резервної копії бази даних - виберіть одну з них і додайте до вашого crontab:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# SQL-script&lt;br /&gt;
sudo -u postgres pg_dump --no-acl -Fp -Z 5 userside &amp;gt; /backup/userside.sql.gz&lt;br /&gt;
&lt;br /&gt;
# DUMP&lt;br /&gt;
sudo -u postgres pg_dump --no-acl -Fc userside &amp;gt; /backup/userside.dump&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Для створення мінімальної резервної копії &#039;&#039;&#039;файлів&#039;&#039;&#039; можна використати таку команду (для версії 3.15 і новіше):&lt;br /&gt;
 sudo tar -czf /backup/userside.tgz .env common/config/settings.json var/attachments&lt;br /&gt;
Цих файлів разом із базою даних буде достатньо для відновлення роботи USERSIDE. Але для більшої надійності можна виконувати резервне копіювання всього каталогу /var/www/userside.&lt;br /&gt;
&lt;br /&gt;
=== Відновлення з резервної копії ===&lt;br /&gt;
Для відновлення з дампа використовується команда pg_restore. [https://postgrespro.ru/docs/postgresql/13/app-pgrestore Документація з використання pg_restore]. Для відновлення з SQL-скрипта використовується утиліта psql. [https://www.postgresql.org/docs/current/app-psql.html Документація з використання psql].&lt;br /&gt;
&lt;br /&gt;
Перед відновленням бази даних із резервної копії потрібно обов&#039;язково зупинити роботу USERSIDE.&lt;br /&gt;
&lt;br /&gt;
1. Зупинити cron userside і всіх модулів&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir -p ~/cron&lt;br /&gt;
sudo mv /etc/cron.d/userside ~/cron&lt;br /&gt;
sudo mv /etc/cron.d/userside-modules ~/cron&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
2. Зупинити роботу фонових служб&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo supervisorctl stop all&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
3. Зупинити роботу php-fpm&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo systemctl stop php8.4-fpm&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Тільки після цього можна переходити до відновлення бази даних із резервної копії.&lt;br /&gt;
&lt;br /&gt;
==== SQL-script ====&lt;br /&gt;
Для відновлення БД із резервної копії у вигляді SQL-скрипта спочатку потрібно пересоздати базу даних, а потім відновити резервну копію в порожню базу даних:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo -u postgres dropdb userside&lt;br /&gt;
sudo -u postgres createdb -e -E &amp;quot;UTF-8&amp;quot; -l &amp;quot;uk_UA.UTF-8&amp;quot; -O userside -T template0 userside&lt;br /&gt;
sudo -u postgres psql -d userside -c &amp;quot;CREATE EXTENSION postgis&amp;quot;&lt;br /&gt;
gunzip &amp;lt; userside.sql.gz | sudo -u postgres psql -d userside -v ON_ERROR_STOP=1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== DUMP ====&lt;br /&gt;
Дамп містить базу даних повністю з усіма її елементами. Тому перед відновленням бази даних із дампа вона не повинна існувати на сервері - видаліть базу даних перед відновленням із дампа. Також важливо, щоб користувач бази даних (власник усіх елементів) уже існував - створіть його перед відновленням, якщо відновлюєте базу даних на новому сервері, де потрібного користувача ще немає.&lt;br /&gt;
&lt;br /&gt;
Також зверніть увагу, що структура дампа може бути несумісною між різними версіями PostgreSQL. Це не обов&#039;язково так, але цілком імовірно.&lt;br /&gt;
&lt;br /&gt;
Для відновлення з дампа використовуйте команди:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo -u postgres dropdb userside&lt;br /&gt;
sudo -u postgres pg_restore --clean --if-exists --create --exit-on-error --dbname=postgres userside.dump&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Зверніть увагу, що ім&#039;я бази даних у команді обов&#039;язково має бути &#039;&#039;&#039;postgres&#039;&#039;&#039;, оскільки з дампа відновлюється вся база даних повністю, а не її вміст.&lt;br /&gt;
&lt;br /&gt;
==== Після відновлення бази даних ====&lt;br /&gt;
Після відновлення бази даних будь-яким способом потрібно очистити кеш ERP USERSIDE, оскільки в кеші тепер містяться дані, відмінні від даних у базі. Перейдіть до каталогу /var/www/userside і виконайте команду очищення кешу (першу, якщо використовується пароль, або другу, якщо пароль не використовується):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
source /var/www/userside/.env &amp;amp;&amp;amp; redis-cli -h $US_REDIS_HOST -p $US_REDIS_PORT -a $US_REDIS_PASSWORD -n $US_REDIS_DB FLUSHDB&lt;br /&gt;
source /var/www/userside/.env &amp;amp;&amp;amp; redis-cli -h $US_REDIS_HOST -p $US_REDIS_PORT -n $US_REDIS_DB FLUSHDB&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Відновіть роботу служб, які були зупинені перед виконанням резервного копіювання:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo mv ~/cron/* /etc/cron.d&lt;br /&gt;
sudo supervisorctl start all&lt;br /&gt;
sudo systemctl start php8.4-fpm&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Виконайте команду відновлення, щоб файли системи відповідали версії бази даних і щоб перевірити систему на цілісність файлів.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /var/www/userside&lt;br /&gt;
sudo -u www-data ./installer repair&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>IronBot</name></author>
	</entry>
	<entry>
		<id>https://wiki.userside.eu/index.php?title=%D0%A0%D0%B5%D0%B3%D0%BB%D0%B0%D0%BC%D0%B5%D0%BD%D1%82_%D1%82%D0%B5%D1%85%D0%BD%D1%96%D1%87%D0%BD%D0%BE%D1%97_%D0%BF%D1%96%D0%B4%D1%82%D1%80%D0%B8%D0%BC%D0%BA%D0%B8&amp;diff=22081</id>
		<title>Регламент технічної підтримки</title>
		<link rel="alternate" type="text/html" href="https://wiki.userside.eu/index.php?title=%D0%A0%D0%B5%D0%B3%D0%BB%D0%B0%D0%BC%D0%B5%D0%BD%D1%82_%D1%82%D0%B5%D1%85%D0%BD%D1%96%D1%87%D0%BD%D0%BE%D1%97_%D0%BF%D1%96%D0%B4%D1%82%D1%80%D0%B8%D0%BC%D0%BA%D0%B8&amp;diff=22081"/>
		<updated>2026-06-23T11:09:43Z</updated>

		<summary type="html">&lt;p&gt;IronBot: [IronBot] Create UK localization from RU&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Technical_support_regulations|en]] | &#039;&#039;&#039;uk&#039;&#039;&#039; | [[Регламент_технической_поддержки|ru]]&lt;br /&gt;
&lt;br /&gt;
* Повідомлення про помилки та питання до технічної підтримки клієнти подають через портал https://my.userside.eu/ticket &#039;&#039;(далі - &amp;quot;Тікет-система&amp;quot;)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Якщо звернення від клієнта надходить іншими каналами &#039;&#039;(пошта, дзвінки)&#039;&#039;, клієнту буде запропоновано повторно подати його через &amp;quot;Тікет-систему&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Не варто подавати різні питання в одному тікеті. Розв&#039;язання таких тікетів може потребувати одночасної участі багатьох спеціалістів. Також можуть знадобитися уточнювальні питання. У підсумку тікет перетворюється на різнопланове спілкування на різні теми. Тому: один тікет - одне питання.&lt;br /&gt;
&lt;br /&gt;
* Заявки служба технічної підтримки розглядає в будні дні з 9 до 18 &#039;&#039;(за винятком державних свят України)&#039;&#039;. У неробочий час, вихідні та святкові дні заявки можуть розглядатися факультативно в черговому режимі&lt;br /&gt;
&lt;br /&gt;
* Заявки можуть мати різний рівень складності, і від цього залежить час реагування на них. Можуть залучатися різні спеціалісти. Деякі питання можна розв&#039;язати миттєво, деякі - не розв&#039;язати й за тиждень. Жодна заявка не губиться, а завдяки &amp;quot;Тікет-системі&amp;quot; видно всю історію звернень від клієнтів&lt;br /&gt;
&lt;br /&gt;
* Не розглядаються тікети від клієнтів, у яких закінчився оплачений строк технічної підтримки&lt;br /&gt;
&lt;br /&gt;
* Першочергова увага надається повідомленням про помилки. Повідомлення зі звичайними питаннями до служби технічної підтримки розглядаються у другорядному порядку&lt;br /&gt;
&lt;br /&gt;
* Тікети з консультаціями та повідомленнями про помилки приймаються тільки щодо останніх трьох версій ERP &amp;quot;UserSide&amp;quot; &#039;&#039;(на цей момент це версії &#039;&#039;&#039;3.19, 3.20 і 3.21&#039;&#039;&#039;)&#039;&#039;. У разі звернень щодо раніших версій питання клієнта по суті не розглядатиметься, і клієнту буде запропоновано оновитися до новішої версії&lt;br /&gt;
&lt;br /&gt;
* Повідомлення з проханнями про доопрацювання системи приймаються з вдячністю, і ми фіксуємо їх у планах доопрацювань. Водночас варто враховувати, що доопрацювання продукту ведеться на наш розсуд, і ми не беремо на себе жодних зобов&#039;язань із цього приводу. Ми узагальнюємо всі побажання клієнтів, виокремлюємо наймасовіші, найзатребуваніші та найцікавіші, на наш погляд, і реалізуємо їх у міру можливості.&lt;br /&gt;
&lt;br /&gt;
* Співробітники технічної підтримки &#039;&#039;(і розробники загалом)&#039;&#039; не мають доступу до систем ERP &amp;quot;UserSide&amp;quot; клієнта. У виняткових випадках, коли помилку або ситуацію неможливо повторити локально або потрібно розібратися з конкретною моделлю комутаційного обладнання, технічна підтримка може попросити тимчасовий доступ із конкретної IP-адреси до ERP &amp;quot;UserSide&amp;quot; клієнта. Після розв&#039;язання питання клієнт має заблокувати наданий обліковий запис&lt;br /&gt;
&lt;br /&gt;
* Не потрібно надавати співробітникам технічної підтримки доступ до ssh, ftp, баз даних тощо. Іноді технічна підтримка може попросити доступ до конкретного обладнання &#039;&#039;(комутатор, радіообладнання, OLT тощо)&#039;&#039; для дослідження або налагодження. Після розв&#039;язання питання клієнт зобов&#039;язаний закрити доступ до цього обладнання&lt;br /&gt;
&lt;br /&gt;
* Клієнти можуть надсилати зауваження та пропозиції щодо роботи служби технічної підтримки на office@userside.eu&lt;br /&gt;
&lt;br /&gt;
* Просимо поставитися з розумінням до того, що ми не навчаємо базового системного адміністрування та не надаємо технічну підтримку з усіх наявних IT-тем. Для цього у вас мають бути кваліфіковані співробітники&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Як ліричний відступ:&#039;&#039;&#039; під час кожного випуску оновлення ми докладаємо багато зусиль для тестування та налагодження програмного забезпечення. Ми не випускаємо оновлення з відомими нам помилками. Водночас клієнт нерідко може зіткнутися з очевидними &#039;&#039;(для нього)&#039;&#039; помилками, які проявилися тільки в нього &#039;&#039;(або в невеликої кількості інших клієнтів)&#039;&#039;. Це може бути пов&#039;язано з продуктивністю сервера, його налаштуваннями, версіями програмного забезпечення, а також зі специфікою використання функціональності системи - наявністю або відсутністю певних об&#039;єктів, їх кількістю, порядком взаємодії та бізнес-процесами в компанії, особливостями географії та розташування об&#039;єктів, моделями обладнання тощо. Ми не можемо об&#039;єктивно протестувати такі речі. Тому пропонуємо ставитися до таких помилок і недоліків із розумінням. Програма постачається за загальноприйнятим принципом &amp;quot;AS IS&amp;quot;, але ми обов&#039;язково розглянемо кожне звернення клієнта та виправимо помилку, якщо вона підтвердиться.&lt;br /&gt;
&lt;br /&gt;
Також див.: [[Пріоритетне обслуговування]]&lt;br /&gt;
&lt;br /&gt;
Також див.: [[Послуги з встановлення або оновлення ERP|послуги зі встановлення або оновлення ERP]]&lt;br /&gt;
&lt;br /&gt;
Також див.: [[FAQ._Чому_мої_заявки_на_доопрацювання_не_реалізовуються%3F|Чому мої заявки на доопрацювання не реалізовуються?]]&lt;/div&gt;</summary>
		<author><name>IronBot</name></author>
	</entry>
	<entry>
		<id>https://wiki.userside.eu/index.php?title=Technical_support_regulations&amp;diff=22080</id>
		<title>Technical support regulations</title>
		<link rel="alternate" type="text/html" href="https://wiki.userside.eu/index.php?title=Technical_support_regulations&amp;diff=22080"/>
		<updated>2026-06-23T11:09:40Z</updated>

		<summary type="html">&lt;p&gt;IronBot: [IronBot] Sync EN localization from RU&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;en&#039;&#039;&#039; | [[Регламент_технічної_підтримки|uk]] | [[Регламент_технической_поддержки|ru]]&lt;br /&gt;
&lt;br /&gt;
* Error reports and technical support questions are submitted by customers via the portal https://my.userside.eu/ticket &#039;&#039;(hereinafter referred to as the &amp;quot;Ticket System&amp;quot;)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* If the request from the customer comes through other channels &#039;&#039;(email, calls)&#039;&#039;, the customer will be asked to resubmit it via the &#039;&#039; &amp;quot;Ticket System&amp;quot; &#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* You should not submit different questions in the same ticket. The resolution of such tickets may require the involvement of multiple specialists at the same time. It may also be required to have clarifying questions. As a result, the ticket turns into a variegated mess of communication on a variety of topics. Therefore: one ticket - one question&lt;br /&gt;
&lt;br /&gt;
* Applications are resolved on weekdays from 9-18 &#039;&#039;(excluding public holidays in Ukraine)&#039;&#039;. Outside working hours, weekends and public holidays, applications may be handled on an optional standby basis&lt;br /&gt;
&lt;br /&gt;
* Requests can have varying levels of complexity and the response time depends on this. Different specialists may be involved. Some can be resolved instantly, some may not be resolved in a week. No one request is lost and due to the &amp;quot;Ticket System&amp;quot; the entire history of customer enquirers is visible&lt;br /&gt;
&lt;br /&gt;
* Tickets from customers who have reached the end of their paid support period are not considered&lt;br /&gt;
&lt;br /&gt;
* Priority is given to error reports. Messages with common questions to the technical support team are dealt with in a secondary order&lt;br /&gt;
&lt;br /&gt;
* Only the last three versions of ERP &amp;quot;UserSide&amp;quot; (currently &#039;&#039;&#039;3.19&#039;&#039;&#039;, &#039;&#039;&#039;3.20&#039;&#039;&#039; and &#039;&#039;&#039;3.21&#039;&#039;&#039;) will be accepted for consultation and error reports. In case of queries on earlier versions, the merits of the customer&#039;s question will not be considered and the customer will be asked to upgrade to a more recent version&lt;br /&gt;
&lt;br /&gt;
* Messages requesting improvements to the system are gratefully received and we will include them in our plans for development. However please take into account that the product is being finalized at our discretion and we are not under any obligation to do so. We summarize all customer requests, identify the most common, popular and interesting in our view, and implement them as far as possible&lt;br /&gt;
&lt;br /&gt;
* The technical support staff &#039;&#039;(and developers in general)&#039;&#039; do not have access to ERP &amp;quot;UserSide&amp;quot; customer&#039;s systems. In exceptional cases, where an error or situation cannot be repeated locally or a specific model of switch equipment needs to be sorted out, technical support may request temporary access from a specific IP to the customer`s ERP &amp;quot;UserSide&amp;quot;. Once the issue has been resolved, the customer is required to block the account provided&lt;br /&gt;
&lt;br /&gt;
* There is no need to give technical support staff access to ssh, ftp, databases etc. Sometimes the technical support staff may request access to a specific equipment &#039;&#039;(switch, radio equipment, olt, etc.)&#039;&#039; for research or debugging purposes. Once the issue has been resolved, the customer is obliged to close access to this equipment&lt;br /&gt;
&lt;br /&gt;
* Customers can send comments and suggestions on the technical support service to office@userside.eu&lt;br /&gt;
&lt;br /&gt;
* Please be understanding, that we do not teach basic system administration or provide technical support on all existing IT topics. You must have qualified staff to do this&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;As a lyrical digression:&#039;&#039;&#039; we put quite a lot of effort into testing and debugging the software each time an update is released. We do not release updates with bugs that we know about. However, very often a customer may encounter obvious &#039;&#039;(to them)&#039;&#039; errors that only they &#039;&#039;(or a small number of other customers)&#039;&#039; have experienced. This may be related to the server performance, it&#039;s settings, software versions, as well as to the specifics of using the software functionality - such as the presence or absence of any objects, their number, the order of interaction and business processes within the company, the peculiarities of geography and location of objects, equipment models, etc. We cannot objectively test such things. Therefore we suggest that such errors and deficiencies should be treated with understanding. The program is delivered according to the generally accepted &amp;quot;AS IS&amp;quot; principle, but we will be sure to examine each customer request and correct the error if it is confirmed. &lt;br /&gt;
&lt;br /&gt;
See also: [[Priority service]]&lt;br /&gt;
&lt;br /&gt;
See also: [[ERP_installation_or_upgrade_service|ERP installation or upgrade service]]&lt;br /&gt;
&lt;br /&gt;
See also: [[FAQ._Why_are_my_revision_tickets_not_being_implemented%3F|Why are my revision tickets not being implemented?]]&lt;/div&gt;</summary>
		<author><name>IronBot</name></author>
	</entry>
	<entry>
		<id>https://wiki.userside.eu/index.php?title=%D0%A0%D0%B5%D0%B3%D0%BB%D0%B0%D0%BC%D0%B5%D0%BD%D1%82_%D1%82%D0%B5%D1%85%D0%BD%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B9_%D0%BF%D0%BE%D0%B4%D0%B4%D0%B5%D1%80%D0%B6%D0%BA%D0%B8&amp;diff=22079</id>
		<title>Регламент технической поддержки</title>
		<link rel="alternate" type="text/html" href="https://wiki.userside.eu/index.php?title=%D0%A0%D0%B5%D0%B3%D0%BB%D0%B0%D0%BC%D0%B5%D0%BD%D1%82_%D1%82%D0%B5%D1%85%D0%BD%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B9_%D0%BF%D0%BE%D0%B4%D0%B4%D0%B5%D1%80%D0%B6%D0%BA%D0%B8&amp;diff=22079"/>
		<updated>2026-06-23T11:09:27Z</updated>

		<summary type="html">&lt;p&gt;IronBot: [IronBot] Repair localization links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Technical_support_regulations|en]] | [[Регламент_технічної_підтримки|uk]] | &#039;&#039;&#039;ru&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Сообщения об ошибках и вопросы по технической поддержке клиенты подают через портал https://my.userside.eu/ticket &#039;&#039;(далее - &amp;quot;Тикет-система&amp;quot;)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Если обращение от клиента поступает по другим каналам &#039;&#039;(почта, звонки)&#039;&#039;, то клиенту будет предложено переподать его через &amp;quot;Тикет-систему&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Не стоит в одном тикете подавать разные вопросы. Решение подобных тикетов может потребовать участия одновременно множества специалистов. Могут также потребоваться уточняющие вопросы. В итоге тикет превращается в разноплановый винегрет общения на разную тематику. Поэтому: один тикет - один вопрос.&lt;br /&gt;
&lt;br /&gt;
* Поступившие заявки служба технической поддержки решает в будние дни с 9-18 &#039;&#039;(за исключением государственных праздников Украины)&#039;&#039;. В нерабочее время, в выходные и праздничные дни рассмотрение заявок может осуществляться факультативно в дежурном режиме&lt;br /&gt;
&lt;br /&gt;
* Заявки могут иметь различный уровень сложности и от этого зависит время реагирования на них. Могут быть задействованы разные специалисты. Некоторые можно решить моментально, некоторые не решить и за неделю. Ни одна заявка не теряется и благодаря &amp;quot;Тикет-системе&amp;quot; видна вся история обращений от клиентов&lt;br /&gt;
&lt;br /&gt;
* Не рассматриваются тикеты от клиентов у которых окончился оплаченный срок технической поддержки&lt;br /&gt;
&lt;br /&gt;
* Первоочередное внимание оказывается сообщениям об ошибках. Сообщения с обычными вопросами к службе тех.поддержки решаются во второстепенном порядке&lt;br /&gt;
&lt;br /&gt;
* Тикеты с консультациями и сообщения об ошибках принимаются только по последним трём версиям ERP &amp;quot;UserSide&amp;quot; &#039;&#039;(на данный момент это версии &#039;&#039;&#039;3.19, 3.20 и 3.21&#039;&#039;&#039;)&#039;&#039;. В случае обращений по более ранним версиям вопрос клиента по существу рассматриваться не будет и клиенту будет предложено обновиться на более свежую версию&lt;br /&gt;
&lt;br /&gt;
* Сообщения с просьбами о доработке системы принимаются с благодарностью и мы их фиксируем в планы на доработку. Стоит, однако, учитывать, что доработка продукта ведётся по нашему усмотрению и мы не несём каких-то обязательств по этому поводу. Мы обобщаем все пожелания клиентов, вычленяем самые массовые, востребованные и интересные на наш взгляд, и реализуем их по мере возможности.&lt;br /&gt;
&lt;br /&gt;
* У сотрудников технической поддержки &#039;&#039;(и у разработчиков в целом)&#039;&#039; нет доступа к клиентским системам ERP &amp;quot;UserSide&amp;quot;. Они установлены на серверах у клиентов и только клиенты регулируют доступ в программу. В исключительных случаях, когда ошибку или ситуацию не удаётся повторить локально или требуется разобраться в работе конкретной модели коммутационного оборудования, техническая поддержка может запросить временный доступ с конкретного IP в клиентскую ERP &amp;quot;UserSide&amp;quot;. После решения вопроса клиент обязан заблокировать предоставленную учётную запись.&lt;br /&gt;
&lt;br /&gt;
* Не нужно предоставлять сотрудникам технической поддержки доступ к ssh, ftp, базам данных и т.п. Иногда сотрудник тех.поддержки может запросить пробросить доступ к какому-то конкретному оборудованию &#039;&#039;(коммутатор, радиооборудование, olt и т.п.)&#039;&#039; для проведения исследований или отладки. После решения вопроса клиент обязан закрыть доступ к этому оборудованию.&lt;br /&gt;
&lt;br /&gt;
* Замечания и предложения по работе службы технической поддержки клиент может прислать по адресу office@userside.eu&lt;br /&gt;
&lt;br /&gt;
* Просим отнестись с пониманием, что мы не обучаем основам системного администрирования и не оказываем техническую поддержку по всем существующим в IT темам. Для этого у вас должен быть квалифицированный персонал.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;В качестве лирического отступления:&#039;&#039;&#039; мы прикладываем достаточно много усилий для тестирования и отладки программы при каждом выпуске обновления. Мы не выпускаем обновления в которых есть ошибки о которых мы знаем. Однако очень часто клиент может столкнуться с очевидными &#039;&#039;(для него)&#039;&#039; ошибками, которые проявляются только у него &#039;&#039;(либо у незначительного количества иных клиентов)&#039;&#039;. Это может быть связано как с производительностью сервера, его настройками, версиями программного обеспечения так и с особенностями использования функционала программы - как-то наличия/отсутствия каких-то объектов, их количества, порядка взаимодействия и бизнес-процессов внутри компании, особенностям географии и размещения объектов, моделей оборудования и т.п. Подобные вещи мы объективно не можем оттестировать. Поэтому предлагаем относиться к таким ошибкам и недоработкам с пониманием. Программа поставляется по общепринятому принципу &amp;quot;AS IS&amp;quot;, но мы обязательно изучим каждое клиентское обращение и исправим ошибку, если она подтвердится. &lt;br /&gt;
&lt;br /&gt;
см. также: [[Приоритетное обслуживание]]&lt;br /&gt;
&lt;br /&gt;
см. также: [[Услуга по установке или обновлению ERP]]&lt;br /&gt;
&lt;br /&gt;
см. также: [[FAQ. Почему мои тикеты на доработку не выполняются|Почему мои тикеты на доработку не выполняются]]&lt;/div&gt;</summary>
		<author><name>IronBot</name></author>
	</entry>
	<entry>
		<id>https://wiki.userside.eu/index.php?title=%D0%9E%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F&amp;diff=22078</id>
		<title>Оновлення</title>
		<link rel="alternate" type="text/html" href="https://wiki.userside.eu/index.php?title=%D0%9E%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F&amp;diff=22078"/>
		<updated>2026-06-23T11:09:14Z</updated>

		<summary type="html">&lt;p&gt;IronBot: [IronBot] Create UK localization from RU&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Upgrade|en]] | &#039;&#039;&#039;uk&#039;&#039;&#039; | [[Обновление|ru]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;УВАГА: ця інструкція актуальна для версій ERP &amp;quot;UserSide&amp;quot; 3.10 і вище. Для версій нижче 3.10 використовуйте окрему інструкцію з [[Оновлення_для_версії_3.10_і_раніших|оновлення]].&lt;br /&gt;
&lt;br /&gt;
 Особливості оновлення версії 3.11: [[Оновлення 3.11|переглянути]]&lt;br /&gt;
 Особливості оновлення версії 3.12: [[Оновлення 3.12|переглянути]]&lt;br /&gt;
 Особливості оновлення версії 3.13: [[Оновлення 3.13|переглянути]]&lt;br /&gt;
 Особливості оновлення версії 3.14: [[Оновлення 3.14|переглянути]]&lt;br /&gt;
 Особливості оновлення версії 3.15: [[Оновлення 3.15|переглянути]]&lt;br /&gt;
 Особливості оновлення версії 3.16: [[Оновлення 3.16|переглянути]]&lt;br /&gt;
 Особливості оновлення версії 3.17: [[Оновлення 3.17|переглянути]]&lt;br /&gt;
 Особливості оновлення версії 3.18: [[Оновлення 3.18|переглянути]]&lt;br /&gt;
 Особливості оновлення версії 3.19: [[Оновлення 3.19|переглянути]]&lt;br /&gt;
 Особливості оновлення версії 3.20: [[Оновлення 3.20|переглянути]]&lt;br /&gt;
 Особливості оновлення версії 3.21: [[Оновлення 3.21|переглянути]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ми рекомендуємо&#039;&#039;&#039; мати два інстанси системи: окремо робочий і окремо тестовий. На тестовому інстансі ви можете періодично оновлювати базу даних із робочої системи та виконувати оновлення, переконуватися, що все працює, ознайомлюватися з нововведеннями або виявляти моменти, які перестали працювати.&lt;br /&gt;
&lt;br /&gt;
З інструкцією зі створення копії робочої системи для тестування нової версії або інших досліджень можна ознайомитися в розділі [[HOWTO: Клонування USERSIDE]].&lt;br /&gt;
&lt;br /&gt;
== Підготовчі роботи ==&lt;br /&gt;
&lt;br /&gt;
1) Перед оновленням робочої копії обов&#039;язково зробіть резервну копію бази даних, каталогу програми та всіх модулів. Ви відповідаєте за збереження своїх даних.&lt;br /&gt;
&lt;br /&gt;
2) Вимкніть усі модулі ERP &amp;quot;UserSide&amp;quot; у системному cron і зупиніть усі постійно запущені модулі, які працюють із базою даних Userside, на час оновлення.&lt;br /&gt;
&lt;br /&gt;
== Оновлення ==&lt;br /&gt;
&lt;br /&gt;
Також див.: [[Інсталятор|довідка з інсталятора]]&lt;br /&gt;
&lt;br /&gt;
1) Перейдіть до каталогу системи &#039;&#039;(/var/www/userside)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
2) Запустіть інсталятор із командою &#039;&#039;install&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 sudo -u www-data php userside_install.phar install&lt;br /&gt;
&lt;br /&gt;
Під час роботи інсталятор перевіряє відповідність технічним вимогам і ставить питання, пов&#039;язані з оновленням.&lt;br /&gt;
&lt;br /&gt;
Під час виконання інсталятор запропонує вибрати версію, до якої потрібно оновитися. Це може бути версія з запропонованого списку (можна ввести порядковий номер зі списку) або будь-яка інша версія (можна ввести номер версії, наприклад 3.15.4).&lt;br /&gt;
&lt;br /&gt;
Після завершення оновлення буде показано відповідне повідомлення.&lt;br /&gt;
&lt;br /&gt;
Якщо роботу інсталятора перервано з будь-якої причини (помилка міграції даних або інша проблема), запустіть інсталятор із командою repair&lt;br /&gt;
&lt;br /&gt;
 sudo -u www-data php userside_install.phar repair&lt;br /&gt;
&lt;br /&gt;
Якщо проблему не вдається розв&#039;язати самостійно, створіть звернення до [[Регламент технічної підтримки|технічної підтримки]].&lt;br /&gt;
&lt;br /&gt;
4) За потреби оновіть модулі сімейства UserSide новими файлами на всіх машинах, де вони працюють.&lt;br /&gt;
&lt;br /&gt;
5) Відновіть раніше вимкнені модулі ERP &amp;quot;UserSide&amp;quot; у системному cron і запустіть постійно працюючі служби Userside, якщо вони використовуються.&lt;/div&gt;</summary>
		<author><name>IronBot</name></author>
	</entry>
	<entry>
		<id>https://wiki.userside.eu/index.php?title=Upgrade&amp;diff=22077</id>
		<title>Upgrade</title>
		<link rel="alternate" type="text/html" href="https://wiki.userside.eu/index.php?title=Upgrade&amp;diff=22077"/>
		<updated>2026-06-23T11:09:11Z</updated>

		<summary type="html">&lt;p&gt;IronBot: [IronBot] Sync EN localization from RU&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;en&#039;&#039;&#039; | [[Оновлення|uk]] | [[Обновление|ru]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ATTENTION: These instructions are valid for ERP &amp;quot;UserSide&amp;quot; version 3.10 and higher. For versions below 3.10 - use separate instructions for [[Upgrade|upgrade]].&lt;br /&gt;
&lt;br /&gt;
 Specifics of the version 3.11 upgrade: [[Upgrade 3.11|view]]&lt;br /&gt;
 Specifics of the version 3.12 upgrade: [[Upgrade 3.12|view]]&lt;br /&gt;
 Specifics of the version 3.13 upgrade: [[Upgrade 3.13|view]]&lt;br /&gt;
 Specifics of the version 3.14 upgrade: [[Upgrade 3.14|view]]&lt;br /&gt;
 Specifics of the version 3.15 upgrade: [[Upgrade 3.15|view]]&lt;br /&gt;
 Specifics of the version 3.16 upgrade: [[Upgrade 3.16|view]]&lt;br /&gt;
 Specifics of the version 3.17 upgrade: [[Upgrade 3.17|view]]&lt;br /&gt;
 Specifics of the version 3.18 upgrade: [[Upgrade 3.18|view]]&lt;br /&gt;
 Specifics of the version 3.19 upgrade: [[Upgrade 3.19|view]]&lt;br /&gt;
 Specifics of the version 3.20 upgrade: [[Upgrade 3.20|view]]&lt;br /&gt;
 Specifics of the version 3.21 upgrade: [[Upgrade 3.21|view]]&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;We recommend&#039;&#039;&#039; having two instances of the system. A separate production instance and a test instance. On the test instance, you can periodically update the database from the production system and perform upgrades to make sure everything is working, check new features, or identify things that are not working for you.&lt;br /&gt;
 &lt;br /&gt;
Instructions on how to create a copy of a working system for testing a new version or other research can be found in [[HOWTO: USERSIDE cloning]].&lt;br /&gt;
&lt;br /&gt;
== Preparation work ==&lt;br /&gt;
&lt;br /&gt;
1) Be sure to back up the database, the programme directory and all modules before upgrading the working copy! You are responsible for the safety of your data!&lt;br /&gt;
&lt;br /&gt;
2) Disable all ERP &amp;quot;UserSide&amp;quot; modules in the system cron and stop all ongoing modules working with the Userside database during the upgrade&lt;br /&gt;
&lt;br /&gt;
== Upgrade ==&lt;br /&gt;
&lt;br /&gt;
See also: [[Installer|Installer help]]&lt;br /&gt;
&lt;br /&gt;
1) Navigate to the system directory &#039;&#039;(/var/www/userside)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
2) Run the installer with the &#039;&#039;install&#039;&#039; command&lt;br /&gt;
&lt;br /&gt;
 sudo -u www-data php userside_install.phar install&lt;br /&gt;
&lt;br /&gt;
In the work process, the installer checks for compliance with technical requirements and asks questions related to the upgrade.&lt;br /&gt;
&lt;br /&gt;
During runtime, the installer will suggest you select the version to which you want to upgrade. It can be a version from a provided list (you can enter a serial number from the list) or any other version (you can enter a version number, e.g. 3.15.4).&lt;br /&gt;
&lt;br /&gt;
A message will be displayed when the upgrade is completed.&lt;br /&gt;
&lt;br /&gt;
If the installer is interrupted for any reason (data migration error or other), run the installer with the repair command&lt;br /&gt;
&lt;br /&gt;
 sudo -u www-data php userside_install.phar repair&lt;br /&gt;
&lt;br /&gt;
If the problem cannot be solved by yourself, submit a ticket to [[Technical_support_regulations|Technical support]].&lt;br /&gt;
&lt;br /&gt;
4) if necessary, upgrade the UserSide family modules with new files on all machines where they are running&lt;br /&gt;
&lt;br /&gt;
5) restore the previously disabled ERP &amp;quot;UserSide&amp;quot; modules in the system cron, and start the permanently running Userside services, if any&lt;/div&gt;</summary>
		<author><name>IronBot</name></author>
	</entry>
	<entry>
		<id>https://wiki.userside.eu/index.php?title=%D0%9E%D0%B1%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5&amp;diff=22076</id>
		<title>Обновление</title>
		<link rel="alternate" type="text/html" href="https://wiki.userside.eu/index.php?title=%D0%9E%D0%B1%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5&amp;diff=22076"/>
		<updated>2026-06-23T11:08:58Z</updated>

		<summary type="html">&lt;p&gt;IronBot: [IronBot] Repair localization links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Upgrade|en]] | [[Оновлення|uk]] | &#039;&#039;&#039;ru&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ВНИМАНИЕ: Данная инструкция актуальна для версий ERP &amp;quot;UserSide&amp;quot; 3.10 и выше. Для версии ниже 3.10 - используйте отдельную инструкцию по [[Обновление_для_версии_3.10_и_более_ранних|обновлению]].&lt;br /&gt;
&lt;br /&gt;
 Особенности обновления версии 3.11: [[Обновление 3.11|просмотреть]]&lt;br /&gt;
 Особенности обновления версии 3.12: [[Обновление 3.12|просмотреть]]&lt;br /&gt;
 Особенности обновления версии 3.13: [[Обновление 3.13|просмотреть]]&lt;br /&gt;
 Особенности обновления версии 3.14: [[Обновление 3.14|просмотреть]]&lt;br /&gt;
 Особенности обновления версии 3.15: [[Обновление 3.15|просмотреть]]&lt;br /&gt;
 Особенности обновления версии 3.16: [[Обновление 3.16|просмотреть]]&lt;br /&gt;
 Особенности обновления версии 3.17: [[Обновление 3.17|просмотреть]]&lt;br /&gt;
 Особенности обновления версии 3.18: [[Обновление 3.18|просмотреть]]&lt;br /&gt;
 Особенности обновления версии 3.19: [[Обновление 3.19|просмотреть]]&lt;br /&gt;
 Особенности обновления версии 3.20: [[Обновление 3.20|просмотреть]]&lt;br /&gt;
 Особенности обновления версии 3.21: [[Обновление 3.21|просмотреть]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Мы рекомендуем&#039;&#039;&#039; иметь два инстанса системы. Отдельно действующую и отдельно тестовую. На тестовой вы можете периодически обновлять базу данных с действующей системы и проводить обновление, убеждаясь, что всё работает, ознакамливаться с нововведениями или выявлять моменты, которые у вас перестали работать.&lt;br /&gt;
&lt;br /&gt;
С инструкцией по созданию копии рабочей системы для проведения тестирования новой версии или других исследований можно ознакомиться в разделе [[HOWTO: Клонирование USERSIDE]].&lt;br /&gt;
&lt;br /&gt;
== Подготовительные работы ==&lt;br /&gt;
&lt;br /&gt;
1) Перед началом обновления рабочей копии обязательно сделайте резервную копию базы данных, каталога с программой и всех модулей! За сохранность ваших данных отвечаете только вы сами!&lt;br /&gt;
&lt;br /&gt;
2) На время обновления отключите работу всех модулей ERP &amp;quot;UserSide&amp;quot; в системном cron и остановите все постоянно функционирующие модули, работающие с БД Userside&lt;br /&gt;
&lt;br /&gt;
== Обновление ==&lt;br /&gt;
&lt;br /&gt;
См. также: [[Инсталлятор|Справку по инсталлятору]]&lt;br /&gt;
&lt;br /&gt;
1) перейти в каталог системы &#039;&#039;(/var/www/userside)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
2) запустить инсталлятор с командой &#039;&#039;&#039;install&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 sudo -u www-data php userside_install.phar install&lt;br /&gt;
&lt;br /&gt;
В процессе работы инсталлятор проверяет соответствие техническим требованиям и задаёт сопутствующие обновлению вопросы.&lt;br /&gt;
&lt;br /&gt;
Во время работы инсталлятор предложит выбрать версию, на которую необходимо произвести обновление. Это может быть версия из предложенного списка (можно ввести порядковый номер из списка) либо же любая другая версия (можно ввести номер версии, например, 3.15.4).&lt;br /&gt;
&lt;br /&gt;
По окончанию обновления будет выдано соответствующее сообщение.&lt;br /&gt;
&lt;br /&gt;
Если работа инсталлятора будет прервана по какой-то причине (возникла ошибка миграции данных или другая), то следует запустить инсталлятор с командой repair&lt;br /&gt;
&lt;br /&gt;
 sudo -u www-data php userside_install.phar repair&lt;br /&gt;
&lt;br /&gt;
Если проблему не удается решить самостоятельно - подайте тикет в [[Регламент технической поддержки|техническую поддержку]]&lt;br /&gt;
&lt;br /&gt;
4) при необходимости обновить модули семейства UserSide новыми файлами на всех машинах, где они работают&lt;br /&gt;
&lt;br /&gt;
5) восстановить работу ранее отключенных модулей ERP &amp;quot;UserSide&amp;quot; в системном cron, а также запустить постоянно работающие службы Userside, если таковы имеются&lt;/div&gt;</summary>
		<author><name>IronBot</name></author>
	</entry>
	<entry>
		<id>https://wiki.userside.eu/index.php?title=Python-update_UK&amp;diff=22075</id>
		<title>Python-update UK</title>
		<link rel="alternate" type="text/html" href="https://wiki.userside.eu/index.php?title=Python-update_UK&amp;diff=22075"/>
		<updated>2026-06-23T11:08:45Z</updated>

		<summary type="html">&lt;p&gt;IronBot: [IronBot] Create UK localization from RU&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Python-update_EN|en]] | &#039;&#039;&#039;uk&#039;&#039;&#039; | [[Python-update|ru]]&lt;br /&gt;
&lt;br /&gt;
Якщо версія Python, встановлена у вашій ОС, не підтримується модулями або poller, потрібно додатково встановити нову версію Python, яка відповідає всім вимогам.&lt;br /&gt;
&lt;br /&gt;
Важливо: змінювати системну версію Python на нову не рекомендується. Єдиний правильний спосіб - встановити нову версію паралельно із системною. Інакше можуть перестати працювати різні системні служби та утиліти, які використовують Python.&lt;br /&gt;
&lt;br /&gt;
Спочатку переконайтеся, що встановлені всі необхідні глобальні пакети Python, потрібні для запуску віртуального середовища та збирання інших залежностей.&lt;br /&gt;
&lt;br /&gt;
 sudo apt install -y python3-dev python3-pip python3-venv pkg-config libffi-dev libssl-dev zlib1g-dev zlibc&lt;br /&gt;
&lt;br /&gt;
Після встановлення перейдіть на сайт https://www.python.org/downloads/source/ і скопіюйте номер останньої версії поточної гілки або попередньої, якщо поточна гілка занадто свіжа. Наприклад, якщо остання версія 3.14.1, надійніше встановити версію 3.13.13, оскільки одразу після виходу нової версії (3.14) є ймовірність, що не всі залежні пакети її підтримують.&lt;br /&gt;
&lt;br /&gt;
Далі створіть тимчасову змінну середовища, значення якої міститиме номер версії Python, яку ви збираєтеся встановити.&lt;br /&gt;
&lt;br /&gt;
 PY_VER=3.13.13&lt;br /&gt;
&lt;br /&gt;
Нижче наведені команди, які потрібно виконувати по одній, послідовно, щоб контролювати процес і в разі помилки не виконувати решту команд. Копіюйте та виконуйте по одному рядку:&lt;br /&gt;
 curl -o python.tgz &amp;quot;https://www.python.org/ftp/python/${PY_VER}/Python-${PY_VER}.tgz&amp;quot;&lt;br /&gt;
 tar xzf python.tgz&lt;br /&gt;
 cd Python-${PY_VER}&lt;br /&gt;
 ./configure --enable-optimizations&lt;br /&gt;
 make -j $(nproc)&lt;br /&gt;
 sudo -H make altinstall&lt;br /&gt;
 curl -sS https://bootstrap.pypa.io/get-pip.py | sudo -H python3.13&lt;br /&gt;
 cd ..&lt;br /&gt;
 sudo rm -rf Python-${PY_VER} python.tgz&lt;br /&gt;
&lt;br /&gt;
Після виконання цих дій у системі буде встановлена ще одна версія Python. У цьому прикладі це Python 3.13, а інструмент pip також матиме версію 3.13. Системна версія Python не зміниться, і ми не рекомендуємо її змінювати, оскільки від неї можуть залежати деякі системні компоненти.&lt;br /&gt;
&lt;br /&gt;
Щоб використовувати саме цю версію Python і pip, потрібно вказувати повні назви файлів, які запускаються. Наприклад:&lt;br /&gt;
 python3.13 --version&lt;br /&gt;
 pip3.13 --version&lt;br /&gt;
&lt;br /&gt;
Тепер для створення віртуального середовища для будь-якого модуля або poller потрібно використовувати такий синтаксис:&lt;br /&gt;
 sudo python3.13 -m venv venv&lt;br /&gt;
 sudo venv/bin/pip install -U pip wheel&lt;br /&gt;
 і так далі.&lt;/div&gt;</summary>
		<author><name>IronBot</name></author>
	</entry>
	<entry>
		<id>https://wiki.userside.eu/index.php?title=Python-update_EN&amp;diff=22074</id>
		<title>Python-update EN</title>
		<link rel="alternate" type="text/html" href="https://wiki.userside.eu/index.php?title=Python-update_EN&amp;diff=22074"/>
		<updated>2026-06-23T11:08:33Z</updated>

		<summary type="html">&lt;p&gt;IronBot: [IronBot] Sync EN localization from RU&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;en&#039;&#039;&#039; | [[Python-update_UK|uk]] | [[Python-update|ru]]&lt;br /&gt;
&lt;br /&gt;
If the version of Python installed on your OS is not supported by modules or poller, you must install an additional new version of Python that meets all requirements.&lt;br /&gt;
&lt;br /&gt;
Important: Changing the system version of Python to the new version is not recommended! The only correct way is to install the new version in parallel with the system version. Otherwise, various system services and utilities that use Python may stop working.&lt;br /&gt;
&lt;br /&gt;
First make sure you have all the necessary global packages installed in Python, which are needed globally to run the virtual environment, to build other dependencies.&lt;br /&gt;
&lt;br /&gt;
 sudo apt install -y python3-dev python3-pip python3-venv pkg-config libffi-dev libssl-dev zlib1g-dev zlibc&lt;br /&gt;
&lt;br /&gt;
Once everything is installed, go to https://www.python.org/downloads/source/ and copy the latest version number of the current branch, or the previous version if the current branch is too recent. For example, if the latest version is 3.14.1, it is more reliable to install version 3.13.13, because as soon as a new version (3.14) is released, there is a chance that not all dependent packages support it.&lt;br /&gt;
&lt;br /&gt;
Next, you need to create a temporary environment variable whose value will contain the version number of the Python version you are going to install.&lt;br /&gt;
&lt;br /&gt;
 PY_VER=3.13.13&lt;br /&gt;
&lt;br /&gt;
The following are commands that you simply execute one at a time, one after the other, to control the process and in case of error not to execute the rest of the commands. Copy one line at a time and execute:&lt;br /&gt;
 curl -o python.tgz &amp;quot;https://www.python.org/ftp/python/${PY_VER}/Python-${PY_VER}.tgz&amp;quot;&lt;br /&gt;
 tar xzf python.tgz&lt;br /&gt;
 cd Python-${PY_VER}&lt;br /&gt;
 ./configure --enable-optimizations&lt;br /&gt;
 make -j $(nproc)&lt;br /&gt;
 sudo -H make altinstall&lt;br /&gt;
 curl -sS https://bootstrap.pypa.io/get-pip.py | sudo -H python3.13&lt;br /&gt;
 cd ..&lt;br /&gt;
 sudo rm -rf Python-${PY_VER} python.tgz&lt;br /&gt;
&lt;br /&gt;
After performing all these steps, you will have another version of Python installed on your system. In this case it is Python 3.13 and the pip tool is also version 3.13. The system version of Python will not be changed and we do not recommend changing it, as some system components may be dependent on it.&lt;br /&gt;
&lt;br /&gt;
To use this particular version of python and pip, you need to specify the entire names of the files you run. For example:&lt;br /&gt;
 python3.13 --version&lt;br /&gt;
 pip3.13 --version&lt;br /&gt;
&lt;br /&gt;
Now, to create a virtual environment for any module or poller, you need to use the following syntax:&lt;br /&gt;
 sudo python3.13 -m venv venv&lt;br /&gt;
 sudo venv/bin/pip install -U pip wheel&lt;br /&gt;
 and so on.&lt;/div&gt;</summary>
		<author><name>IronBot</name></author>
	</entry>
	<entry>
		<id>https://wiki.userside.eu/index.php?title=Python-update&amp;diff=22073</id>
		<title>Python-update</title>
		<link rel="alternate" type="text/html" href="https://wiki.userside.eu/index.php?title=Python-update&amp;diff=22073"/>
		<updated>2026-06-23T11:08:30Z</updated>

		<summary type="html">&lt;p&gt;IronBot: [IronBot] Repair localization links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Python-update_EN|en]] | [[Python-update_UK|uk]] | &#039;&#039;&#039;ru&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Если версия Python, установленная на вашей ОС, не поддерживается модулями или поллером, то необходимо установить дополнительно новую версию Python, удовлетворяющую всем требованиям.&lt;br /&gt;
&lt;br /&gt;
Важно: Изменять системную версию Python на новую - не рекомендуется! Единственный правильный способ - это установить новую версию параллельно системной. Иначе могут перестать работать различные системные службы и утилиты, использующие Python.&lt;br /&gt;
&lt;br /&gt;
Сначала убедитесь, что у вас установлены все необходимые глобальные пакеты в Python, которые необходимы глобально для запуска виртуального окружения, для сборки других зависимостей.&lt;br /&gt;
&lt;br /&gt;
 sudo apt install -y python3-dev python3-pip python3-venv pkg-config libffi-dev libssl-dev zlib1g-dev zlibc&lt;br /&gt;
&lt;br /&gt;
После того, как все установлено, зайдите на сайт https://www.python.org/downloads/source/ и скопируйте номер последней версии текущей ветки или предыдущей, если текущая ветка слишком свежая. Например, если последняя версия 3.14.1, то надежней все таки установить версию 3.13.13, т.к. сразу после выхода новой версии (3.14) есть вероятность того, что не все зависимые пакеты ее поддерживают.&lt;br /&gt;
&lt;br /&gt;
Далее вам нужно создать временную переменную окружения, значение которой будет содержать номер версии Python, которую вы собираетесь установить.&lt;br /&gt;
&lt;br /&gt;
 PY_VER=3.13.13&lt;br /&gt;
&lt;br /&gt;
Далее приведены команды, которые вы просто выполняете по одной, одну за другой, чтобы контролировать процесс и в случае ошибки не выполнять остальные команды. Копируйте по одной строке и выполняйте:&lt;br /&gt;
 curl -o python.tgz &amp;quot;https://www.python.org/ftp/python/${PY_VER}/Python-${PY_VER}.tgz&amp;quot;&lt;br /&gt;
 tar xzf python.tgz&lt;br /&gt;
 cd Python-${PY_VER}&lt;br /&gt;
 ./configure --enable-optimizations&lt;br /&gt;
 make -j $(nproc)&lt;br /&gt;
 sudo -H make altinstall&lt;br /&gt;
 curl -sS https://bootstrap.pypa.io/get-pip.py | sudo -H python3.13&lt;br /&gt;
 cd ..&lt;br /&gt;
 sudo rm -rf Python-${PY_VER} python.tgz&lt;br /&gt;
&lt;br /&gt;
После выполнения всех этих действий у вас в системе будет установлена дополнительно еще одна версия Python. В данном случае это Python 3.13 а также инструмент pip тоже с версией 3.13. Системная версия Python изменена не будет и мы не рекомендуем ее изменять, так как некоторые системные компоненты могут быть зависимы от нее.&lt;br /&gt;
&lt;br /&gt;
Чтобы использовать именно эту версию python и pip, вам нужно указывать целиком имена файлов, которые вы запускаете. Например:&lt;br /&gt;
 python3.13 --version&lt;br /&gt;
 pip3.13 --version&lt;br /&gt;
&lt;br /&gt;
Теперь, чтобы создать виртуальное окружение для какого-либо модуля либо поллера, вам нужно использовать следующий синтаксис:&lt;br /&gt;
 sudo python3.13 -m venv venv&lt;br /&gt;
 sudo venv/bin/pip install -U pip wheel&lt;br /&gt;
 и т.д.&lt;/div&gt;</summary>
		<author><name>IronBot</name></author>
	</entry>
	<entry>
		<id>https://wiki.userside.eu/index.php?title=%D0%92%D0%B5%D1%80%D1%81%D1%96%D1%97_3.21&amp;diff=22072</id>
		<title>Версії 3.21</title>
		<link rel="alternate" type="text/html" href="https://wiki.userside.eu/index.php?title=%D0%92%D0%B5%D1%80%D1%81%D1%96%D1%97_3.21&amp;diff=22072"/>
		<updated>2026-06-23T11:08:17Z</updated>

		<summary type="html">&lt;p&gt;IronBot: [IronBot] Sync UK localization from RU&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Versions_3.21_EN|en]] | &#039;&#039;&#039;uk&#039;&#039;&#039; | [[Версии_3.21|ru]]&lt;br /&gt;
&lt;br /&gt;
Версії гілки [[3.21_UK|3.21]]&lt;br /&gt;
&lt;br /&gt;
Див. також: [[Версії_ERP_&amp;quot;USERSIDE&amp;quot;|Версії ERP &amp;quot;USERSIDE&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
== 3.21.0 - 23.06.2026 ==&lt;br /&gt;
* Реліз версії&lt;br /&gt;
&lt;br /&gt;
== 3.21.0-beta.7 - 21.06.2026 ==&lt;br /&gt;
* Виправлення за підсумками бета-тестування&lt;br /&gt;
&lt;br /&gt;
== 3.21.0-beta.6 - 20.06.2026 ==&lt;br /&gt;
* Виправлення за підсумками бета-тестування&lt;br /&gt;
&lt;br /&gt;
== 3.21.0-beta.5 - 17.06.2026 ==&lt;br /&gt;
* Виправлення за підсумками бета-тестування&lt;br /&gt;
&lt;br /&gt;
== 3.21.0-beta.4 - 13.06.2026 ==&lt;br /&gt;
* Виправлення за підсумками бета-тестування&lt;br /&gt;
&lt;br /&gt;
== 3.21.0-beta.3 - 07.06.2026 ==&lt;br /&gt;
* Виправлення за підсумками бета-тестування&lt;br /&gt;
&lt;br /&gt;
== 3.21.0-beta.2 - 30.05.2026 ==&lt;br /&gt;
* Виправлення за підсумками бета-тестування&lt;br /&gt;
&lt;br /&gt;
== 3.21.0-beta.1 - 24.05.2026 ==&lt;br /&gt;
* Перелік змін див. у [[3.21_UK|3.21]]&lt;/div&gt;</summary>
		<author><name>IronBot</name></author>
	</entry>
	<entry>
		<id>https://wiki.userside.eu/index.php?title=Versions_3.21_EN&amp;diff=22071</id>
		<title>Versions 3.21 EN</title>
		<link rel="alternate" type="text/html" href="https://wiki.userside.eu/index.php?title=Versions_3.21_EN&amp;diff=22071"/>
		<updated>2026-06-23T11:08:03Z</updated>

		<summary type="html">&lt;p&gt;IronBot: [IronBot] Sync EN localization from RU&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;en&#039;&#039;&#039; | [[Версії_3.21|uk]] | [[Версии_3.21|ru]]&lt;br /&gt;
&lt;br /&gt;
Versions of the [[3.21_EN|3.21]] branch&lt;br /&gt;
&lt;br /&gt;
Also see: [[Versions_of_ERP_&amp;quot;USERSIDE&amp;quot;|ERP &amp;quot;USERSIDE&amp;quot; versions]]&lt;br /&gt;
&lt;br /&gt;
== 3.21.0 - 23.06.2026 ==&lt;br /&gt;
* Version release&lt;br /&gt;
&lt;br /&gt;
== 3.21.0-beta.7 - 21.06.2026 ==&lt;br /&gt;
* Fixes based on beta testing results&lt;br /&gt;
&lt;br /&gt;
== 3.21.0-beta.6 - 20.06.2026 ==&lt;br /&gt;
* Fixes based on beta testing results&lt;br /&gt;
&lt;br /&gt;
== 3.21.0-beta.5 - 17.06.2026 ==&lt;br /&gt;
* Fixes based on beta testing results&lt;br /&gt;
&lt;br /&gt;
== 3.21.0-beta.4 - 13.06.2026 ==&lt;br /&gt;
* Fixes based on beta testing results&lt;br /&gt;
&lt;br /&gt;
== 3.21.0-beta.3 - 07.06.2026 ==&lt;br /&gt;
* Fixes based on beta testing results&lt;br /&gt;
&lt;br /&gt;
== 3.21.0-beta.2 - 30.05.2026 ==&lt;br /&gt;
* Fixes based on beta testing results&lt;br /&gt;
&lt;br /&gt;
== 3.21.0-beta.1 - 24.05.2026 ==&lt;br /&gt;
* See the list of changes in [[3.21_EN|3.21]]&lt;/div&gt;</summary>
		<author><name>IronBot</name></author>
	</entry>
	<entry>
		<id>https://wiki.userside.eu/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%96&amp;diff=22070</id>
		<title>Модулі</title>
		<link rel="alternate" type="text/html" href="https://wiki.userside.eu/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%96&amp;diff=22070"/>
		<updated>2026-06-23T11:08:01Z</updated>

		<summary type="html">&lt;p&gt;IronBot: [IronBot] Sync UK localization from RU&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Modules_EN|en]] | &#039;&#039;&#039;uk&#039;&#039;&#039; | [[Модули|ru]]&lt;br /&gt;
&lt;br /&gt;
Модулі ERP &amp;quot;UserSide&amp;quot; поділяються на внутрішні та зовнішні. Зовнішні модулі - це окремі скрипти або програми, які можуть працювати віддалено від основної системи за наявності підключення до бази даних системи. Внутрішні модулі вже вбудовані в систему та можуть вмикатися або вимикатися в розділі &amp;quot;[[Налаштування - Модулі]]&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Часті запитання щодо модулів зібрані у відповідному розділі &amp;quot;[[Часті питання]]&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Встановлення модулів. Загальна інформація для всіх модулів ==&lt;br /&gt;
&lt;br /&gt;
1. Для кожного модуля виділіть окремий каталог.&lt;br /&gt;
&lt;br /&gt;
2. Під час роботи всі модулі ведуть журнали роботи. Шлях до каталогу з журналами вказується у файлі конфігурації. Настійно рекомендується створювати окремий каталог журналів для кожного модуля. Не забудьте надати цьому каталогу права на запис.&lt;br /&gt;
&lt;br /&gt;
3. Модулі, як правило, призначені для постійної роботи. Їх потрібно додати до системного cron з періодичністю запуску 5-15 хвилин &#039;&#039;(залежно від навантаження)&#039;&#039;. Під час першого запуску рекомендується запустити модуль вручну із системної консолі та переконатися, що помилок немає, а дані імпортуються або обробляються коректно.&lt;br /&gt;
&lt;br /&gt;
== Загальна інформація для модулів взаємодії з білінгами ==&lt;br /&gt;
&lt;br /&gt;
1. Адреса абонента обробляється та фіксується у вбудованій в ERP &amp;quot;UserSide&amp;quot; системі обліку [[Адресна система|адрес]]. Якщо потрібного будинку немає в ERP &amp;quot;UserSide&amp;quot;, його буде створено. Якщо будинок уже існує та був доданий у систему не засобами модуля, він однаково буде коректно оброблений і прив&#039;язаний до абонентів.&lt;br /&gt;
&lt;br /&gt;
2. Якщо абонент є в ERP &amp;quot;UserSide&amp;quot;, але не знайдений у білінгу, він не видаляється з ERP &amp;quot;UserSide&amp;quot;, а позначається статусом &amp;quot;[[Статус абонентів|немає в білінгу]]&amp;quot;. Це зроблено з міркувань безпеки: інакше в разі збою оновлення всі абоненти можуть бути видалені, оскільки не будуть знайдені в білінгу.&lt;br /&gt;
&lt;br /&gt;
3. Якщо в абонента [[Активність|дата активності в інтернеті]] пізніша за дату активності в мережі, дата активності в мережі прирівнюється до дати активності в інтернеті.&lt;br /&gt;
&lt;br /&gt;
4. Під час оновлення даних із білінгу оновлюються не всі дані абонента. Наприклад, ПІБ, адреса та телефон можуть залишатися без змін. Завантаження таких даних можна ввімкнути в розділі &amp;quot;[[Налаштування - Білінги]]&amp;quot; для потрібного білінгу.&lt;br /&gt;
&lt;br /&gt;
== Короткий опис модулів ==&lt;br /&gt;
&lt;br /&gt;
Детальний опис наведений на сторінці кожного модуля.&lt;br /&gt;
&lt;br /&gt;
[[usm_billing_UK|usm_billing]] імпортує до USERSIDE інформацію про абонентів, адреси, тарифні плани тощо з білінгу. Також можлива підтримка власного самописного білінгу. На базі цього модуля створені окремі модулі для стандартних білінгів: [[usm_abills_UK|usm_abills]], [[usm_bgbilling_UK|usm_bgbilling]], [[usm_hydra_UK|usm_hydra]], [[usm_lanbilling_UK|usm_lanbilling]], [[usm_nodeny_UK|usm_nodeny]], [[usm_nodeny_plus_UK|usm_nodeny_plus]], [[usm_utm5_UK|usm_utm5]].&lt;br /&gt;
&lt;br /&gt;
[[usm_asterisk_UK|usm_asterisk]] взаємодіє з телефонією Asterisk. Коли надходить дзвінок, модуль миттєво &#039;&#039;(ще до підняття слухавки)&#039;&#039; показує на екрані оператора номер телефону абонента, що телефонує. Якщо цей номер належить абоненту, відображається інформація про нього &#039;&#039;(ПІБ, баланс, адреса, тарифний план, дата останньої активності тощо)&#039;&#039;. Якщо номер належить співробітнику, це буде вказано. Якщо номер невідомий, буде запропоновано створити картку потенційного абонента.&lt;br /&gt;
&lt;br /&gt;
[[usm_cabletest_UK|usm_cabletest]] &#039;&#039;&#039;періодично&#039;&#039;&#039; опитує комутатори та отримує з них інформацію кабельного тестера про довжину підключених мідних кабелів. Перелік підтримуваних моделей комутаторів наведений на сторінці модуля.&lt;br /&gt;
&lt;br /&gt;
[[usm_checker_UK|usm_checker]] &#039;&#039;&#039;періодично&#039;&#039;&#039; опитує &#039;&#039;(багатопотоково пінгує)&#039;&#039; активне мережеве обладнання або абонентські пристрої, щоб визначити, яке обладнання активне, а яке недоступне &#039;&#039;(або які абоненти перестали бути активними)&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[usm_gps 2_UK|usm_gps]] приймає інформацію від апаратних і програмних GPS-трекерів для відображення місцезнаходження автотранспорту та співробітників на карті покриття. Дає змогу зрозуміти, хто найближче до аварії, бачити, хто коли й де рухався, а також фіксувати порушення швидкісного режиму автотранспорту тощо. Список підтримуваних протоколів трекерів наведений на сторінці модуля.&lt;br /&gt;
&lt;br /&gt;
[[usm_iferr_UK|usm_iferr]] &#039;&#039;&#039;періодично&#039;&#039;&#039; опитує &#039;&#039;(через SNMP)&#039;&#039; лічильники помилок на інтерфейсах обладнання. Це дає змогу бачити пристрої з помилками на інтерфейсах як у розрізі інтерфейсів, так і за кількістю проблемних інтерфейсів на кожному пристрої. Також будується дельта приросту помилок за добу та за тиждень, що дає змогу бачити пристрої, на яких проблеми тривають просто зараз.&lt;br /&gt;
&lt;br /&gt;
[[usm_observer_UK|usm_observer]] &#039;&#039;&#039;періодично&#039;&#039;&#039; опитує &#039;&#039;(через SNMP)&#039;&#039; будь-яке обладнання за будь-якими параметрами та сповіщає &#039;&#039;(поштою, SMS тощо)&#039;&#039; про зміну параметрів або вихід параметрів за межі. Дає змогу гнучко налаштувати моніторинг будь-яких пристроїв: згас порт з певним номером, спрацював датчик сигналізації, почалася робота від акумуляторів, у принтері закінчився папір тощо.&lt;br /&gt;
&lt;br /&gt;
[[usm_peleng_UK|usm_peleng]] &#039;&#039;&#039;періодично&#039;&#039;&#039; опитує комутатори, отримує з них FDB-таблицю та накопичує інформацію про MAC-адреси в розрізі обладнання і його портів. Дає змогу виявляти факти кілець, флуду на портах і вірусів, а також допомагає знаходити підміну MAC-адрес. Можна виключати з відображення UPLINK/DOWNLINK-порти тощо. За MAC-адресою з USERSIDE підтягується інформація про абонента або пристрій.&lt;br /&gt;
&lt;br /&gt;
[[usm_pon_UK|usm_pon]] &#039;&#039;&#039;періодично&#039;&#039;&#039; [[PON_UK|опитує OLT]], отримує та накопичує інформацію про підключені ONU: рівень сигналу, відстань до OLT, модель, вендор, опис, MAC, ID тощо. Також зберігається історія зміни рівня сигналу в розрізі ONU. За MAC-адресою або ID ONU з USERSIDE підтягується інформація про абонента.&lt;br /&gt;
&lt;br /&gt;
[[usm_radio_UK|usm_radio]] &#039;&#039;&#039;періодично&#039;&#039;&#039; [[Радіо|опитує радіообладнання]] та отримує список підключених радіоабонентів: рівень сигналу, MAC-адресу, швидкість з&#039;єднання тощо. Перелік підтримуваних вендорів наведений на сторінці модуля. За MAC-адресою з USERSIDE підтягується інформація про абонента або пристрій.&lt;br /&gt;
&lt;br /&gt;
[[usm_stat_UK|usm_stat]] &#039;&#039;&#039;періодично&#039;&#039;&#039; запускається та фіксує в базі факт [[Активність|активності]] абонентів на момент запуску. Це дає змогу надалі бачити по кожному абоненту, у які дні та години він був активним у мережі. Також фіксується загальна кількість активних абонентів на момент запуску модуля.&lt;/div&gt;</summary>
		<author><name>IronBot</name></author>
	</entry>
	<entry>
		<id>https://wiki.userside.eu/index.php?title=Modules_EN&amp;diff=22069</id>
		<title>Modules EN</title>
		<link rel="alternate" type="text/html" href="https://wiki.userside.eu/index.php?title=Modules_EN&amp;diff=22069"/>
		<updated>2026-06-23T11:07:47Z</updated>

		<summary type="html">&lt;p&gt;IronBot: [IronBot] Sync EN localization from RU&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;en&#039;&#039;&#039; | [[Модулі|uk]] | [[Модули|ru]]&lt;br /&gt;
&lt;br /&gt;
ERP &amp;quot;UserSide&amp;quot; modules are divided into internal and external modules. External modules are separate scripts or programs that can run remotely from the main system, provided they have a connection to the system database. Internal modules are built into the system and can be enabled or disabled in the &amp;quot;[[Settings - Modules]]&amp;quot; section.&lt;br /&gt;
&lt;br /&gt;
Frequently asked questions about modules are collected in the &amp;quot;[[Frequently_Asked_Questions|Frequently Asked Questions]]&amp;quot; section.&lt;br /&gt;
&lt;br /&gt;
== Installing modules. General information for all modules ==&lt;br /&gt;
&lt;br /&gt;
1. Allocate a separate directory for each module.&lt;br /&gt;
&lt;br /&gt;
2. During operation, all modules write logs. The log directory path is specified in the configuration file. It is strongly recommended to create a separate log directory for each module. Do not forget to grant write permissions for this directory.&lt;br /&gt;
&lt;br /&gt;
3. Modules are usually intended for continuous operation. Add them to the system cron with a 5-15 minute run interval &#039;&#039;(depending on the load)&#039;&#039;. On the first start, run the module manually from the system console and make sure there are no errors and the data is imported or processed correctly.&lt;br /&gt;
&lt;br /&gt;
== General information for billing integration modules ==&lt;br /&gt;
&lt;br /&gt;
1. The customer address is processed and recorded in the [[Address System|address accounting system]] built into ERP &amp;quot;UserSide&amp;quot;. If the required building is not present in ERP &amp;quot;UserSide&amp;quot;, it will be created. If the building already exists and was not added by the module, it will still be processed correctly and assigned to customers.&lt;br /&gt;
&lt;br /&gt;
2. If a customer exists in ERP &amp;quot;UserSide&amp;quot; but is not found in the billing system, the customer is not deleted from ERP &amp;quot;UserSide&amp;quot;. Instead, the customer is marked with the &amp;quot;[[Customer status|not in billing]]&amp;quot; status. This is done for safety: otherwise, if an update fails, all customers could be deleted because they were not found in billing.&lt;br /&gt;
&lt;br /&gt;
3. If a customer&#039;s [[Activity|Internet activity date]] is later than the network activity date, the network activity date is set equal to the Internet activity date.&lt;br /&gt;
&lt;br /&gt;
4. When data is updated from billing, not all customer data is updated. For example, full name, address, and phone number may remain unchanged. Loading such data can be enabled in the &amp;quot;[[Settings - Billings]]&amp;quot; section for the required billing system.&lt;br /&gt;
&lt;br /&gt;
== Brief module descriptions ==&lt;br /&gt;
&lt;br /&gt;
A detailed description is provided on each module page.&lt;br /&gt;
&lt;br /&gt;
[[usm_billing_EN|usm_billing]] imports information about customers, addresses, tariff plans, and other data from billing into USERSIDE. It can also support a custom in-house billing system. Separate modules for standard billing systems are based on this module: [[usm_abills_EN|usm_abills]], [[usm_bgbilling_EN|usm_bgbilling]], [[usm_hydra_EN|usm_hydra]], [[usm_lanbilling_EN|usm_lanbilling]], [[usm_nodeny_EN|usm_nodeny]], [[usm_nodeny_plus_EN|usm_nodeny_plus]], [[usm_utm5_EN|usm_utm5]].&lt;br /&gt;
&lt;br /&gt;
[[usm_asterisk_EN|usm_asterisk]] interacts with Asterisk telephony. When a call is received, it instantly &#039;&#039;(before the handset is picked up)&#039;&#039; displays the caller&#039;s phone number on the operator&#039;s screen. If this phone number belongs to a customer, the module shows customer information &#039;&#039;(full name, balance, address, tariff plan, last activity date, and so on)&#039;&#039;. If the phone number belongs to an employee, this is indicated. If the number is unknown, the operator is offered to create a potential customer card.&lt;br /&gt;
&lt;br /&gt;
[[usm_cabletest_EN|usm_cabletest]] &#039;&#039;&#039;periodically&#039;&#039;&#039; polls switches and receives cable tester information about the length of connected copper cables. The list of supported switch models is provided on the module page.&lt;br /&gt;
&lt;br /&gt;
[[usm_checker_EN|usm_checker]] &#039;&#039;&#039;periodically&#039;&#039;&#039; polls &#039;&#039;(multithreaded ping)&#039;&#039; active network equipment or customer devices to detect which equipment is active and which has gone down &#039;&#039;(or which customers are no longer active)&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[usm_gps 2_EN|usm_gps]] receives information from hardware and software GPS trackers to display vehicle and employee locations on the coverage map. It helps identify who is closest to an incident, shows who moved where and when, and displays vehicle speed limit violations and similar data. The list of supported tracker protocols is provided on the module page.&lt;br /&gt;
&lt;br /&gt;
[[usm_iferr_EN|usm_iferr]] &#039;&#039;&#039;periodically&#039;&#039;&#039; polls &#039;&#039;(via SNMP)&#039;&#039; error counters on equipment interfaces. This shows devices with interface errors, both by interface and by the number of problematic interfaces on each device. It also builds daily and weekly error growth deltas, making it possible to see devices where problems are still ongoing.&lt;br /&gt;
&lt;br /&gt;
[[usm_observer_EN|usm_observer]] &#039;&#039;&#039;periodically&#039;&#039;&#039; polls &#039;&#039;(via SNMP)&#039;&#039; any equipment for any parameters and sends notifications &#039;&#039;(email, SMS, and so on)&#039;&#039; when parameters change or go beyond limits. It makes it possible to flexibly configure monitoring for any devices: a specific port went down, an alarm sensor was triggered, battery operation started, a printer ran out of paper, and so on.&lt;br /&gt;
&lt;br /&gt;
[[usm_peleng_EN|usm_peleng]] &#039;&#039;&#039;periodically&#039;&#039;&#039; polls switches, receives their FDB tables, and accumulates MAC address information by equipment and port. It helps detect loops, port flooding, and viruses, and helps find MAC address spoofing. UPLINK/DOWNLINK ports can be excluded from display. Customer or device information is pulled from USERSIDE by MAC address.&lt;br /&gt;
&lt;br /&gt;
[[usm_pon_EN|usm_pon]] &#039;&#039;&#039;periodically&#039;&#039;&#039; [[PON_EN|polls OLTs]], receives and accumulates information about connected ONUs: signal level, distance to OLT, model, vendor, description, MAC, ID, and other data. It also stores the history of signal level changes by ONU. Customer information is pulled from USERSIDE by ONU MAC address or ID.&lt;br /&gt;
&lt;br /&gt;
[[usm_radio_EN|usm_radio]] &#039;&#039;&#039;periodically&#039;&#039;&#039; [[Radio|polls radio equipment]] and receives a list of connected radio customers: signal level, MAC address, connection speed, and similar data. The list of supported vendors is provided on the module page. Customer or device information is pulled from USERSIDE by MAC address.&lt;br /&gt;
&lt;br /&gt;
[[usm_stat_EN|usm_stat]] is launched &#039;&#039;&#039;periodically&#039;&#039;&#039; and records customer [[Activity|activity]] in the database at the time of launch. This makes it possible to see, for each customer, on which days and at what hours they were active in the network. It also records the total number of active customers at the time the module is launched.&lt;/div&gt;</summary>
		<author><name>IronBot</name></author>
	</entry>
	<entry>
		<id>https://wiki.userside.eu/index.php?title=%D0%92%D0%B5%D1%80%D1%81%D1%96%D1%97_3.20&amp;diff=22068</id>
		<title>Версії 3.20</title>
		<link rel="alternate" type="text/html" href="https://wiki.userside.eu/index.php?title=%D0%92%D0%B5%D1%80%D1%81%D1%96%D1%97_3.20&amp;diff=22068"/>
		<updated>2026-06-23T11:07:34Z</updated>

		<summary type="html">&lt;p&gt;IronBot: [IronBot] Sync UK localization from RU&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Versions 3.20 EN|en]] | &#039;&#039;&#039;uk&#039;&#039;&#039; | [[Версии_3.20|ru]]&lt;br /&gt;
&lt;br /&gt;
Версії гілки [[3.20_UK|3.20]]&lt;br /&gt;
&lt;br /&gt;
Також див.: [[Версії ERP &amp;quot;USERSIDE&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
== 3.20.25 (у розробці) ==&lt;br /&gt;
* Доопрацьовано відображення запланованих кабельних ліній на мапі покриття відповідно до налаштувань кольору за щільністю кабелю&lt;br /&gt;
* Виправлено помилку з відображенням списку кабельних ліній &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 3.20.24 - 27.05.2026 ==&lt;br /&gt;
* Виправлення невеликих помилок та змін&lt;br /&gt;
&lt;br /&gt;
== 3.20.23 - 27.04.2026 ==&lt;br /&gt;
* Додано метод API-&amp;gt;call-&amp;gt;[[API_call_UK#agent_call|agent_call]]&lt;br /&gt;
* Додано метод API-&amp;gt;chapter-&amp;gt;[[API_chapter_UK#link_add|link_add]]&lt;br /&gt;
* Додано метод API-&amp;gt;chapter-&amp;gt;[[API_chapter_UK#link_get|link_get]]&lt;br /&gt;
* Додано метод API-&amp;gt;chapter-&amp;gt;[[API_chapter_UK#link_remove|link_remove]]&lt;br /&gt;
* Доопрацьовано метод API-&amp;gt;call-&amp;gt;[[API_call_UK#add|add]]&lt;br /&gt;
* Доопрацьовано метод API-&amp;gt;task-&amp;gt;[[API_task_UK#edit|edit]]&lt;br /&gt;
* У виконаних завданнях також відображається ознака &amp;quot;Прострочено&amp;quot; під час порушенні термінів робіт&lt;br /&gt;
* Виправлена помилка з входом у календар робіт &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлення невеликих помилок&lt;br /&gt;
&lt;br /&gt;
== 3.20.22 - 04.04.2026 ==&lt;br /&gt;
* Виправлено вибір порожнього значення в типі завдань для реєстрації телефоном&lt;br /&gt;
* Оптимізаційні роботи&lt;br /&gt;
* Виправлення невеликих помилок&lt;br /&gt;
&lt;br /&gt;
== 3.20.21 - 11.03.2026 ==&lt;br /&gt;
* Виправлено відображення лічильника помилок на інтерфейсах пристроїв &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлено налаштування шаблонів SMS-повідомлень для абонентів у завданнях&lt;br /&gt;
* Оптимізаційні роботи&lt;br /&gt;
* Виправлення невеликих помилок&lt;br /&gt;
&lt;br /&gt;
== 3.20.20 - 22.02.2026 ==&lt;br /&gt;
* Оптимізована робота розділу &amp;quot;Мої завдання&amp;quot;&lt;br /&gt;
* Виправлено порушення розмітки головного меню в деяких випадках&lt;br /&gt;
&lt;br /&gt;
== 3.20.19 - 08.02.2026 ==&lt;br /&gt;
* Виправлення невеликих помилок&lt;br /&gt;
&lt;br /&gt;
== 3.20.18 - 23.01.2026 ==&lt;br /&gt;
* Оптимізація звіту за складу &amp;quot;Оборотно-сальдова відомість&amp;quot;&lt;br /&gt;
* Виправлення невеликих помилок&lt;br /&gt;
&lt;br /&gt;
== 3.20.17 - 31.12.2025 ==&lt;br /&gt;
* Додано метод API-&amp;gt;task-&amp;gt;[[API_task_UK#add_node_to_task|add_node_to_task]]&lt;br /&gt;
* Додано метод API-&amp;gt;task-&amp;gt;[[API_task_UK#remove_node_from_task|remove_node_from_task]]&lt;br /&gt;
* Виправлено виконання ланцюжка завдань &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлення невеликих помилок&lt;br /&gt;
&lt;br /&gt;
== 3.20.16 - 14.12.2025 ==&lt;br /&gt;
* Виправлена помилка з фільтрацією за секції ТМЦ у списку операцій за складу&lt;br /&gt;
* Виправлення невеликих помилок&lt;br /&gt;
&lt;br /&gt;
== 3.20.15 - 06.12.2025 ==&lt;br /&gt;
* Для ланцюжків завдань/автоматизації в типах завдань додано можливість вказівки дробового інтервалу годинника&lt;br /&gt;
* Виправлення невеликих помилок&lt;br /&gt;
&lt;br /&gt;
== 3.20.14 - 29.11.2025 ==&lt;br /&gt;
* Доопрацювання API взаємозв&#039;язку з Binotel&lt;br /&gt;
* Виправлення невеликих помилок&lt;br /&gt;
&lt;br /&gt;
== 3.20.13 - 22.11.2025 ==&lt;br /&gt;
* Виправлення невеликих помилок&lt;br /&gt;
&lt;br /&gt;
== 3.20.12 - 15.11.2025 ==&lt;br /&gt;
* Додано параметр налаштування &amp;quot;Масштабувати ширину кабельної лінії на схемі комутації в залежності від довжини назви&amp;quot;&lt;br /&gt;
* Допрацьовано відображення невідомих ONU за OLT у віджеті головної сторінки&lt;br /&gt;
* Виправлення інших невеликих помилок&lt;br /&gt;
&lt;br /&gt;
== 3.20.11 - 08.11.2025 ==&lt;br /&gt;
* Виправлення помилки під час вході в розділ Custom-повідомлень &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлення помилки під час вході в налаштування інтерфейсів/стекування за пристрої &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлена неможливість комутації між ODF/кросами у майстрі комутацій&lt;br /&gt;
* Виправлення деяких помилок міграції&lt;br /&gt;
&lt;br /&gt;
== 3.20.10 - 07.11.2025 ==&lt;br /&gt;
* Додано метод API-&amp;gt;vehicle-&amp;gt;[[API_vehicle_UK#add|add]]&lt;br /&gt;
* Додано метод API-&amp;gt;vehicle-&amp;gt;[[API_vehicle_UK#edit|edit]]&lt;br /&gt;
* Додано метод API-&amp;gt;vehicle-&amp;gt;[[API_vehicle_UK#delete|delete]]&lt;br /&gt;
* У картці спорудження зв&#039;язку в блоці з прикріпленими файлами-зображеннями можна швидко зробити зображення основним фото для цього об&#039;єкта &#039;&#039;(без необхідності переходити до редагування)&#039;&#039;&lt;br /&gt;
* У картці кабельної лінії додано можливість створити завдання з цією лінією або додати лінію до існуючого завдання&lt;br /&gt;
* Доопрацьовано сортування за додатковими полями у власних розділах&lt;br /&gt;
* Виправлена фільтрація за найменуванням ТМЦ у списку ТМЦ&lt;br /&gt;
* Виправлено відображення шарів обладнання на карті покриття&lt;br /&gt;
* Виправлення інших невеликих помилок&lt;br /&gt;
&lt;br /&gt;
== 3.20.9 - 14.09.2025 ==&lt;br /&gt;
* Доопрацювання перевірки прав доступу до ONU&lt;br /&gt;
* Виправлена помилка під час пошуку абонента під час передачі ТМЦ &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлено оновлення на базі серійних номерів для ONU під час опитуванні OLT &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 3.20.8 - 06.09.2025 ==&lt;br /&gt;
* Додано метод API-&amp;gt;billing-&amp;gt;[[API_billing_UK#refresh_date_update|refresh_date_update]]&lt;br /&gt;
* Оптимізовано інтерфейс редагування/додавання адресної одиниці &#039;&#039;(актуально для розгалужених адресних структур)&#039;&#039;&lt;br /&gt;
* У картці завдання додані посилання на перегляд зв&#039;язаних абонентів із спорудами зв&#039;язку та з кабельними лініями&lt;br /&gt;
* Виправлена перевірка на статус батьківського завдання в автоматизації дій із завдань &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлено відображення спливаючої підказки в календарі завдань під час горизонтальному скролі&lt;br /&gt;
* Виправлено призначення співробітників у підрозділ &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 3.20.7 - 25.08.2025 ==&lt;br /&gt;
* &#039;&#039;&#039;Глибока переробка операцій із транспорту. Різні типи, контроль пробігу, терміни. Повідомлення на головну сторінку та список транспорту. Ведення історії змін в операціях &#039;&#039;&#039;&lt;br /&gt;
* Історія дій щодо потенційного абонента переноситься в історію дій звичайного абонента під час їх об&#039;єднанні&lt;br /&gt;
* При гарячій заміні пристрою можна вказати збереження історії MAC-адрес на портах обладнання&lt;br /&gt;
* У групових діях за списком абонентів додано можливість очищення комутації&lt;br /&gt;
* Технічні міграції даних ядра&lt;br /&gt;
* Виправлена фільтрація FDB-таблиці з пристрою &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлена помилка під час обмеженні співробітнику доступу за конкретною IP-адресою&lt;br /&gt;
* Виправлено перевірку прав на доступ до ONU&lt;br /&gt;
&lt;br /&gt;
== 3.20.6 - 15.08.2025 ==&lt;br /&gt;
* &#039;&#039;&#039; Окремі SMS-профілі для роботи. Наприклад, для кожної SMS-розсилки можна вказати окремий SMS-профіль &#039;&#039;(власне альфа-ім&#039;я, інший оператор...)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
* Виділено окремі права доступу до ONU на перегляд та зміну&lt;br /&gt;
* Виправлено відображення великої кількості розділів блокнота у списку розділів&lt;br /&gt;
* Виправлено оновлення інформації під час додавання/виключенні споруди зв&#039;язку в завданні&lt;br /&gt;
&lt;br /&gt;
== 3.20.5 - 08.08.2025 ==&lt;br /&gt;
* Додано метод API-&amp;gt;address-&amp;gt;[[API_address_UK#get_building_type|get_building_type]]&lt;br /&gt;
* Додано параметр налаштування &amp;quot;Будівлі. Шаблон спливаючого повідомлення на карті&amp;quot;&lt;br /&gt;
* Доопрацьовано інтерфейс зміни нотатки, типу адаптера та з&#039;єднання для волокна кабельної лінії&lt;br /&gt;
* Перероблено інтерфейс додавання споруд зв&#039;язку та кабельних ліній у завдання під час створення завдання&lt;br /&gt;
* Підкориговано перевірку прав доступу до табеля робіт&lt;br /&gt;
* Доопрацьовано тарифікацію співробітникам за завдання у відомості робіт за участю в завданні понад 5 співробітників&lt;br /&gt;
* Виправлена помилка фільтрації за будівлі у списку операцій за складом &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 3.20.4 - 04.08.2025 ==&lt;br /&gt;
* Додано метод API-&amp;gt;cross-&amp;gt;[[API_cross_UK#edit_adapter|edit_adapter]]&lt;br /&gt;
* Доопрацьовано метод API-&amp;gt;task-&amp;gt;[[API_address_UK#edit_address|edit_address]]&lt;br /&gt;
* Додано параметр налаштування &amp;quot;Заблокувати виконання автоматизації/ланцюжка завдань під час поверненні завдання зі статусу із системною роллю &amp;quot;Відкладено&amp;quot;&lt;br /&gt;
* У списку завдань додано угруповання завдань за вулиці або населеному пункту&lt;br /&gt;
* Доопрацювання збереження прикріплених файлів до коментарів за завданням&lt;br /&gt;
* Невеликі виправлення та доопрацювання&lt;br /&gt;
&lt;br /&gt;
== 3.20.3 - 27.07.2025 ==&lt;br /&gt;
* Доопрацьовано метод API-&amp;gt;task-&amp;gt;[[API_task_UK#change_state|change_state]]&lt;br /&gt;
* Додано параметр налаштування &amp;quot;З&#039;єднання на дільниках вважати механічними&amp;quot;&lt;br /&gt;
* У налаштуваннях типів завдань для ТМЦ можна вказати, що переміщати всі ТМЦ після закриття на зв&#039;язану будівлю&lt;br /&gt;
* У ланцюжках/автоматизації за типами завдань додано можливість додаткової умови &amp;quot;Статус дочірнього/батьківського завдання&amp;quot; для варіантів дій &amp;quot;Батьківське/Дочірнє завдання. Змінити статус на&amp;quot;&lt;br /&gt;
* У картці будівлі у списку ТМЦ додано інформацію про дату встановлення ТМЦ на будівлі та можливість експорту в XLS та у версію для друку&lt;br /&gt;
* У картці можна скопіювати всі прикріплені файли з іншого завдання&lt;br /&gt;
* У картці абонента додано пряме посилання на перегляд його маршруту комутації&lt;br /&gt;
* Для профілів співробітників можна обмежити максимальну кількість записів на сторінці &#039;&#039;(у таблицях/списках)&#039;&#039;&lt;br /&gt;
* У фільтр зі споруд зв&#039;язку додано можливість вибірки за відсутнім власним значком на карті&lt;br /&gt;
* У списку операцій за складу в селекторах вибору контрагента додано можливість вказівки конкретної будівлі&lt;br /&gt;
* У групових діях за будівлях додано можливість зміни індивідуального кольору на карті&lt;br /&gt;
* У групових діях за будинках можна змінити менеджера на порожнє значення &#039;&#039;(видалити менеджера)&#039;&#039;&lt;br /&gt;
* Виправлено сортування за адресою у списку завдань &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлена можливість одночасно відкласти завдання та вказати довільний коментар&lt;br /&gt;
&lt;br /&gt;
== 3.20.2 - 18.07.2025 ==&lt;br /&gt;
* Додано метод API-&amp;gt;task-&amp;gt;[[API_task_UK#add_cable_line_to_task|add_cable_line_to_task]]&lt;br /&gt;
* Додано метод API-&amp;gt;task-&amp;gt;[[API_task_UK#remove_cable_line_from_task|remove_cable_line_from_task]]&lt;br /&gt;
* Список підключених ONU на OLT можна виводити на друк або експортувати до XLS&lt;br /&gt;
* Для споруд зв&#039;язку та кабельних ліній додано можливість у групових діях змінювати нотатки&lt;br /&gt;
* У шаблоні спливаючої підказки на завдання на карті покриття можна відображати дату створення завдання, дату оновлення, текст останнього коментаря&lt;br /&gt;
* У ланцюжках/автоматизації за типами завдань додано дію &amp;quot;Абоненти. Виключити&amp;quot;&lt;br /&gt;
* Для ланцюжків/автоматизації в типах завдань додана можливість відключати автопризначуваних виконавців під час створення нового завдання за ланцюжку&lt;br /&gt;
* Доопрацьовано відображення посилань в описі типу завдань у картці завдання&lt;br /&gt;
* Виправлена фільтрація абонентів, що залежать від кросу/odf &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 3.20.1 - 12.07.2025 ==&lt;br /&gt;
* У списку будівель доданий фільтр за будівлях, у яких знято позначку &amp;quot;Відображати на карті&amp;quot;&lt;br /&gt;
* Виправлена неможливість відкрити картку автотранспорту зі списку&lt;br /&gt;
* Виправлено пошук за найменуванням кабельної лінії під час створення завдання &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлення відображення інформації про абонента у списку завдань &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 3.20 - 09.07.2025 ==&lt;br /&gt;
* Реліз версії 3.20&lt;br /&gt;
* Список змін див. [[3.20_UK|3.20]]&lt;/div&gt;</summary>
		<author><name>IronBot</name></author>
	</entry>
	<entry>
		<id>https://wiki.userside.eu/index.php?title=Versions_3.20_EN&amp;diff=22067</id>
		<title>Versions 3.20 EN</title>
		<link rel="alternate" type="text/html" href="https://wiki.userside.eu/index.php?title=Versions_3.20_EN&amp;diff=22067"/>
		<updated>2026-06-23T11:07:32Z</updated>

		<summary type="html">&lt;p&gt;IronBot: [IronBot] Sync EN localization from RU&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;en&#039;&#039;&#039; | [[Версії_3.20|uk]] | [[Версии_3.20|ru]]&lt;br /&gt;
&lt;br /&gt;
Branch versions [[3.20_EN|3.20]]&lt;br /&gt;
&lt;br /&gt;
Also see: [[Versions of ERP &amp;quot;USERSIDE&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
== 3.20.25 (in development) ==&lt;br /&gt;
* Improved the display of planned cable lines on the coverage map according to cable-density color settings&lt;br /&gt;
* Fixed a bug with displaying the cable line list &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 3.20.24 - 27.05.2026 ==&lt;br /&gt;
* Fixed minor bugs and changes&lt;br /&gt;
&lt;br /&gt;
== 3.20.23 - 27.04.2026 ==&lt;br /&gt;
* Added API method-&amp;gt;call-&amp;gt;[[API_call_EN#agent_call|agent_call]]&lt;br /&gt;
* Added API method-&amp;gt;chapter-&amp;gt;[[API_chapter_EN#link_add|link_add]]&lt;br /&gt;
* Added API method-&amp;gt;chapter-&amp;gt;[[API_chapter_EN#link_get|link_get]]&lt;br /&gt;
* Added API method-&amp;gt;chapter-&amp;gt;[[API_chapter_EN#link_remove|link_remove]]&lt;br /&gt;
* Improved API method-&amp;gt;call-&amp;gt;[[API_call_EN#add|add]]&lt;br /&gt;
* Improved API method-&amp;gt;task-&amp;gt;[[API_task_EN#edit|edit]]&lt;br /&gt;
* Completed tasks now also show the &amp;quot;Overdue&amp;quot; flag when work deadlines are missed&lt;br /&gt;
* Fixed a bug when opening the work calendar &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed minor bugs&lt;br /&gt;
&lt;br /&gt;
== 3.20.22 - 04.04.2026 ==&lt;br /&gt;
* Fixed selecting an empty value in the task type for registration by phone&lt;br /&gt;
* Optimization work&lt;br /&gt;
* Fixed minor bugs&lt;br /&gt;
&lt;br /&gt;
== 3.20.21 - 11.03.2026 ==&lt;br /&gt;
* Fixed display of the error counter on equipment interfaces &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed SMS message template settings for customers in tasks&lt;br /&gt;
* Optimization work&lt;br /&gt;
* Fixed minor bugs&lt;br /&gt;
&lt;br /&gt;
== 3.20.20 - 22.02.2026 ==&lt;br /&gt;
* Optimized the &amp;quot;My tasks&amp;quot; section&lt;br /&gt;
* Fixed broken main menu layout in some cases&lt;br /&gt;
&lt;br /&gt;
== 3.20.19 - 08.02.2026 ==&lt;br /&gt;
* Fixed minor bugs&lt;br /&gt;
&lt;br /&gt;
== 3.20.18 - 23.01.2026 ==&lt;br /&gt;
* Optimized the warehouse report &amp;quot;Turnover balance sheet&amp;quot;&lt;br /&gt;
* Fixed minor bugs&lt;br /&gt;
&lt;br /&gt;
== 3.20.17 - 31.12.2025 ==&lt;br /&gt;
* Added API method-&amp;gt;task-&amp;gt;[[API task#add_node_to_task|add_node_to_task]]&lt;br /&gt;
* Added API method-&amp;gt;task-&amp;gt;[[API task#remove_node_from_task|remove_node_from_task]]&lt;br /&gt;
* Fixed execution of task chain &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed minor bugs&lt;br /&gt;
&lt;br /&gt;
== 3.20.16 - 14.12.2025 ==&lt;br /&gt;
* Fixed a bug with filtering by inventory section in the warehouse operations list&lt;br /&gt;
* Fixed minor bugs&lt;br /&gt;
&lt;br /&gt;
== 3.20.15 - 06.12.2025 ==&lt;br /&gt;
* For task chains/automation in task types, added the ability to specify fractional hour intervals&lt;br /&gt;
* Fixed minor bugs&lt;br /&gt;
&lt;br /&gt;
== 3.20.14 - 29.11.2025 ==&lt;br /&gt;
* Improvements to the API interface with Binotel&lt;br /&gt;
* Fixed minor bugs&lt;br /&gt;
&lt;br /&gt;
== 3.20.13 - 22.11.2025 ==&lt;br /&gt;
* Fixed minor bugs&lt;br /&gt;
&lt;br /&gt;
== 3.20.12 - 15.11.2025 ==&lt;br /&gt;
* Added the setting &amp;quot;Scale the width of the cable line on the switching diagram depending on the length of the name&amp;quot;&lt;br /&gt;
* Improved the display of unknown ONUs by OLT in the main page widget&lt;br /&gt;
* Fixed other minor bugs&lt;br /&gt;
&lt;br /&gt;
== 3.20.11 - 08.11.2025 ==&lt;br /&gt;
* Fixed an error when entering the Custom notifications section &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed an error when entering the device interface/stacking settings &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed the inability to switch between ODF/crosses in the switching master&lt;br /&gt;
* Fixed some migration errors&lt;br /&gt;
&lt;br /&gt;
== 3.20.10 - 07.11.2025 ==&lt;br /&gt;
* Added API method-&amp;gt;vehicle-&amp;gt;[[API vehicle#add|add]]&lt;br /&gt;
* Added API method-&amp;gt;vehicle-&amp;gt;[[API vehicle#edit|edit]]&lt;br /&gt;
* Added API method-&amp;gt;vehicle-&amp;gt;[[API vehicle#delete|delete]]&lt;br /&gt;
* In the communication installations card, in the block with attached image files, it is possible to quickly make an image the main photo for this object &#039;&#039;(without having to go to editing)&#039;&#039;&lt;br /&gt;
* In the cable line card, the ability to create a task with this line or add a line to an existing task has been added&lt;br /&gt;
* Sorting by additional fields in custom sections has been improved&lt;br /&gt;
* Filtering by inventory item name in the inventory list has been fixed&lt;br /&gt;
* The display of equipment layers on the coverage map has been fixed&lt;br /&gt;
* Other minor bugs have been fixed&lt;br /&gt;
&lt;br /&gt;
== 3.20.9 - 14.09.2025 ==&lt;br /&gt;
* Improved verification of access rights to ONU&lt;br /&gt;
* Fixed a bug when searching for a user during the transfer of inventory items &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed an update in the serial number database for ONU when polling OLT &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 3.20.8 - 06.09.2025 ==&lt;br /&gt;
* Added API method-&amp;gt;billing-&amp;gt;[[API billing#refresh_date_update|refresh_date_update]]&lt;br /&gt;
* Optimised interface for editing/adding address units &#039;&#039;(relevant for branched address structures)&#039;&#039;&lt;br /&gt;
* Links to view users associated with communication installations and cable lines have been added to the task card&lt;br /&gt;
* Fixed checking for parent task status in task automation &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed display of pop-up hints in the task calendar when scrolling horizontally&lt;br /&gt;
* Fixed assignment of employees to a department &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 3.20.7 - 25.08.2025 ==&lt;br /&gt;
* &#039;&#039;&#039;In-depth processing of transport operations. Various types, mileage control, deadlines. Notification on the main page and transport list. Keeping a history of changes in operations&#039;&#039;&#039;&lt;br /&gt;
* The history of actions for a potential user is transferred to the history of actions for a regular user when they are merged&lt;br /&gt;
* During hot replacement of a device, you can specify to save the history of MAC addresses on equipment ports &lt;br /&gt;
* The ability to clear switching has been added to group actions on the user list&lt;br /&gt;
* Technical migration of core data&lt;br /&gt;
* Fixed filtering of the FDB table by device &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed a bug when restricting an employee&#039;s access to a specific IP address&lt;br /&gt;
* Fixed ONU access rights verification&lt;br /&gt;
&lt;br /&gt;
== 3.20.6 - 15.08.2025 ==&lt;br /&gt;
* &#039;&#039;&#039; Separate SMS profiles for work. For example, you can specify a separate SMS profile for each SMS mailing &#039;&#039;(your own alpha name, different operator, etc.)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
* Separated ONU access rights for viewing and editing&lt;br /&gt;
* Fixed display of a large number of notebook sections in the section list&lt;br /&gt;
* Fixed information update when adding/removing a communication facility in a task&lt;br /&gt;
&lt;br /&gt;
== 3.20.5 - 08.08.2025 ==&lt;br /&gt;
* Added API method-&amp;gt;address-&amp;gt;[[API address#get_building_type|get_building_type]]&lt;br /&gt;
* Added the &amp;quot;Buildings. Pop-up message template on the map&amp;quot; setting&lt;br /&gt;
* Improved the interface for changing notes, adapter types, and connections for fibre cable lines&lt;br /&gt;
* Redesigned the interface for adding communication structures and cable lines to a task when creating a task&lt;br /&gt;
* Corrected the verification of access rights to the work schedule&lt;br /&gt;
* Improved the billing of employees for tasks in the work schedule when more than 5 employees are involved in the task&lt;br /&gt;
* Fixed a bug in filtering by building in the list of warehouse operations &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 3.20.4 - 04.08.2025 ==&lt;br /&gt;
* Added API method-&amp;gt;cross-&amp;gt;[[API cross#edit_adapter|edit_adapter]]&lt;br /&gt;
* Added API method-&amp;gt;task-&amp;gt;[[API address#edit_address|edit_address]]&lt;br /&gt;
* Added a setting parameter &amp;quot;Block automation/task chain execution when returning a task from the status with the system role &#039;Pending&#039; &amp;quot;&lt;br /&gt;
* Added grouping of tasks by street or location to the task list&lt;br /&gt;
* Improved saving of files attached to task comments&lt;br /&gt;
* Minor fixes and improvements&lt;br /&gt;
&lt;br /&gt;
== 3.20.3 - 27.07.2025 ==&lt;br /&gt;
* Added API method-&amp;gt;task-&amp;gt;[[API task#change_state|change_state]]&lt;br /&gt;
* The &amp;quot;Consider connections on dividers as mechanical&amp;quot; configuration parameter has been added&lt;br /&gt;
* In the task type settings for inventory items, you can specify that all inventory items should be moved to the associated building after closing&lt;br /&gt;
* In chains/automation by task type, the additional condition &amp;quot;Child/parent task status&amp;quot; has been added for the action options &amp;quot;Parent/Child task. Change status to&amp;quot;&lt;br /&gt;
* Information about the date of installation of inventory items on the building and the ability to export to XLS and printable versions has been added to the building card in the inventory list&lt;br /&gt;
* All attached files from another task can be copied to the card&lt;br /&gt;
* A direct link to view the customer&#039;s switching route has been added to the customer card&lt;br /&gt;
* For employee profiles, you can limit the maximum number of entries on the page (in tables/lists)&lt;br /&gt;
* The filter for communication facilities now includes the option to select by missing custom icon on the map&lt;br /&gt;
* In the list of warehouse operations in the counterparty selection selectors, the ability to specify a specific building has been added&lt;br /&gt;
* In group actions for buildings, the ability to change the individual colour on the map has been added&lt;br /&gt;
* In group actions for buildings, you can change the manager to the empty value &#039;&#039;(delete manager)&#039;&#039;&lt;br /&gt;
* Fixed sorting by address in the task list &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed the ability to simultaneously postpone a task and specify an arbitrary comment&lt;br /&gt;
&lt;br /&gt;
== 3.20.2 - 18.07.2025 ==&lt;br /&gt;
* Added API method-&amp;gt;task-&amp;gt;[[API task#add_cable_line_to_task|add_cable_line_to_task]]&lt;br /&gt;
* Added API method-&amp;gt;task-&amp;gt;[[API task#remove_cable_line_from_task|remove_cable_line_from_task]]&lt;br /&gt;
* The list of connected ONUs on the OLT can be printed or exported to XLS&lt;br /&gt;
* For communication installations and cable lines the possibility to change notes in group actions has been added&lt;br /&gt;
* In the template of the tooltip on the task on the coverage map it is possible to display the date of task creation, update date, text of the last comment&lt;br /&gt;
* In chains/automation by task type, added action &amp;quot;Customers. Exclude.&amp;quot;&lt;br /&gt;
* In chains/automation by task types, added possibility to disable auto-assigned executors when creating a new task in a chain&lt;br /&gt;
* Improved displaying of links in the description of a task type in the task card&lt;br /&gt;
* Fixed filtering of customers that depend on cross/odf &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 3.20.1 - 12.07.2025 ==&lt;br /&gt;
* In the list of buildings, added filter for buildings with &amp;quot;Display on map&amp;quot; unchecked&lt;br /&gt;
* Fixed inability to open a vehicle card from the list&lt;br /&gt;
* Fixed search by cable line name when task is created &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed display of customer information in the task list &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 3.20 - 09.07.2025 ==&lt;br /&gt;
* Release version 3.20&lt;br /&gt;
* For a list of changes see [[3.20_EN|3.20]]&lt;/div&gt;</summary>
		<author><name>IronBot</name></author>
	</entry>
	<entry>
		<id>https://wiki.userside.eu/index.php?title=3.21_UK&amp;diff=22066</id>
		<title>3.21 UK</title>
		<link rel="alternate" type="text/html" href="https://wiki.userside.eu/index.php?title=3.21_UK&amp;diff=22066"/>
		<updated>2026-06-23T11:07:19Z</updated>

		<summary type="html">&lt;p&gt;IronBot: [IronBot] Sync UK localization from RU&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[3.21_EN|en]] | &#039;&#039;&#039;uk&#039;&#039;&#039; | [[3.21|ru]]&lt;br /&gt;
&lt;br /&gt;
Дата випуску: &#039;&#039;&#039;червень 2026&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Основні зміни: https://promo.userside.eu/321/&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Див. також:&lt;br /&gt;
* [[Оновлення 3.21|Оновлення до версії 3.21]]&lt;br /&gt;
* [[Версії ERP &amp;quot;USERSIDE&amp;quot;]] | [[Версії 3.21|Версії 3.21]]&lt;br /&gt;
&lt;br /&gt;
== Перелік змін ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Особливої важливості:&#039;&#039;&#039;&lt;br /&gt;
* [[PWA (застосунок)|PWA &#039;&#039;(застосунок)&#039;&#039;]]&lt;br /&gt;
* Автоматична побудова [[Бізнес-процес|схеми бізнес-логіки/робочого процесу]] для типів завдань на основі ланцюжків/автоматизації&lt;br /&gt;
* [[Календар|Оновлений календар]] завдань та [[Інтеграція з Google-календарем|інтеграція з Google-календарем]]&lt;br /&gt;
* Окремий [[Масова передача ТМЦ|інтерфейс для швидкої передачі ТМЦ]] через сканування або введення штрихкодів, серійних номерів тощо &#039;&#039;(зокрема з підтримкою сканування штрихкодів камерою мобільного пристрою)&#039;&#039;&lt;br /&gt;
* [[Схема комутації#anchor_321|Снапшоти схем комутації]] виводяться на основній схемі та формуються безпосередньо під час операцій комутації/розриву комутації на споруді зв&#039;язку&lt;br /&gt;
* У схемі комутації створення з&#039;єднань, видалення та зміна ламаної з&#039;єднання виконуються без перезавантаження й очікування сторінки &#039;&#039;(на практиці це пришвидшило роботу у 2-10 разів)&#039;&#039;&lt;br /&gt;
* Панель на головній сторінці з [[Список завдань#anchor_321|лічильниками фільтрів за завданнями/показниками KPI]]&lt;br /&gt;
* &amp;quot;Фізичне&amp;quot; [[Підписання документів з абонентами|підписання документів з абонентами/клієнтами]] на планшетах &#039;&#039;(мобільних пристроях)&#039;&#039;&lt;br /&gt;
* Реалізовано автооновлення GPS-позиції транспорту на мапі в реальному часі &#039;&#039;(кожні N секунд)&#039;&#039;&lt;br /&gt;
* Віджет на головну сторінку: [[Статистика_UK#anchor_321|найпроблемніші абоненти та будинки]]&lt;br /&gt;
* Нова [[Структурна схема|структурна схема]]. Масштабування, збереження у SVG&lt;br /&gt;
* [[Internal API UK|Internal API]] v2. Подієва система в ERP&lt;br /&gt;
* Підтримка обліку IPv6 для обладнання та абонентів&lt;br /&gt;
* Оновлений UI/UX&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Абоненти/клієнти:&#039;&#039;&#039;&lt;br /&gt;
* Реалізовано масовий імпорт потенційних абонентів&lt;br /&gt;
* У групових діях за абонентами додано можливість надіслати SMS&lt;br /&gt;
* &#039;&#039;&#039;В умовах SMS-розсилки можна додавати конкретних абонентів&#039;&#039;&#039;&lt;br /&gt;
* В SMS-розсилці додано фільтр &amp;quot;Ігнорувати відмову від отримання SMS&amp;quot;&lt;br /&gt;
* У груповому надсиланні email абонентам додано різні шаблони з даними про абонента&lt;br /&gt;
* У листуванні з абонентом можна вимкнути відображення коментарів за завданнями&lt;br /&gt;
* Додано зберігання історії статусів абонентів&lt;br /&gt;
* Список абонентів:&lt;br /&gt;
** &#039;&#039;&#039;У фільтрі підтримується режим &amp;quot;і/або&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;У фільтрі додано можливість включати/виключати умови &#039;&#039;(раніше можна було лише включати)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
** Додано фільтр &amp;quot;Абоненти, включені в обладнання&amp;quot;&lt;br /&gt;
** Додано фільтр за номером завдання. Також у картці завдання, де прикріплено від 3 абонентів, додано посилання на цей фільтр&lt;br /&gt;
** У списку абонентів додано можливість відображати поле &amp;quot;Менеджер&amp;quot;&lt;br /&gt;
** У списку залежних абонентів від пристрою/споруди зв&#039;язку також враховуються абоненти, які не скомутовані, але мають пристрої &#039;&#039;(наприклад ONU)&#039;&#039;, залежні від батьківського об&#039;єкта&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Обладнання:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Додано вкладки в картці комутатора/обладнання&#039;&#039;&#039;&lt;br /&gt;
* Якщо для пристрою не вказано IP-адресу, він має один порт і при цьому підключений до вищого керованого комутатора, то в таблиці портів цього пристрою виводитиметься SNMP-інформація з порту вищого пристрою&lt;br /&gt;
* PON:&lt;br /&gt;
** &#039;&#039;&#039;Історія зміни рівня сигналу ONU тепер виводиться у вигляді графіка&#039;&#039;&#039;&lt;br /&gt;
** Для списку підключених ONU можна налаштувати порядок і відображення полів&lt;br /&gt;
** У картці OLT на портах виводиться лічильник кількості ONU на них&lt;br /&gt;
* Можна вказувати відсотки поділу для запланованих дільників&lt;br /&gt;
* У таблиці дільників додано поле &amp;quot;Кількість зайнятих адаптерів&amp;quot;&lt;br /&gt;
* У картці VLAN додано можливість вручну додавати пристрої&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Схема комутації:&#039;&#039;&#039;&lt;br /&gt;
* Написи на схемі комутації можна повертати під кутом&lt;br /&gt;
* Під час додавання дільника зі схеми комутації більше не відбувається перехід у картку дільника: користувач залишається у схемі&lt;br /&gt;
* У майстрі комутації додано можливість комутації пристроїв&lt;br /&gt;
* Для кросу/ODF у схемі комутації додано можливість швидко змінювати підписи для всіх портів одразу&lt;br /&gt;
* Для запланованих комутацій у схемі перепланування додано можливість змінювати маршрут вручну&lt;br /&gt;
* Для мобільних пристроїв перетягування ліній комутації типово заблоковане під час відкриття сторінки&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Завдання:&#039;&#039;&#039;&lt;br /&gt;
* Оновлений [[Календар|календар завдань]]:&lt;br /&gt;
** &#039;&#039;&#039;перетягування завдань &#039;&#039;(зміна часу робіт)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
** можна змінювати строк виконання завдання &#039;&#039;(перетягувати нижню межу)&#039;&#039;&lt;br /&gt;
** тижневий/місячний режим для підрозділів і співробітників&lt;br /&gt;
** режим &amp;quot;підрозділ&amp;quot;/&amp;quot;+співробітники&amp;quot;/&amp;quot;+співробітники і підрозділи&amp;quot;&lt;br /&gt;
** 15/30/60 хвилин &#039;&#039;(раніше тільки слоти по 1 годині)&#039;&#039;&lt;br /&gt;
** позначається факт високого пріоритету, а також можна налаштовувати шаблон інформації для заголовка завдання і тіла завдання&lt;br /&gt;
* &#039;&#039;&#039;Перевірка існування раніше прикріпленого файла в завданнях і коментарях до завдання &#039;&#039;(щоб запобігти спробам співробітників прикріплювати старі файли, видаючи їх за нові)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
* У картці завдання додано можливість однією кнопкою передати ТМЦ із доступних цьому співробітнику&lt;br /&gt;
* Новий спецтип для типів завдань: &amp;quot;Роботи з боржниками&amp;quot;&lt;br /&gt;
* У картці завдання виводиться рядок з координатами і швидким переходом на Google-мапу&lt;br /&gt;
* Під час створення дочірнього завдання з картки завдання додано можливість копіювати &#039;&#039;(використовувати)&#039;&#039; також файли з батьківського завдання&lt;br /&gt;
* Дороблено відображення інформації про ТМЦ у списку ТМЦ під час зміни статусу завдання&lt;br /&gt;
* &amp;quot;Робочі нотатки&amp;quot; розширено з будинків на будь-який адресний об&#039;єкт&lt;br /&gt;
&lt;br /&gt;
* Нові параметри налаштування:&lt;br /&gt;
** &amp;quot;У картці завдання сортувати абонентів за порядком їх додавання в завдання&amp;quot;&lt;br /&gt;
** &amp;quot;Інтервал для відображення завдань у розділі &amp;quot;Мої завдання&amp;quot; (днів)&amp;quot;&lt;br /&gt;
** &amp;quot;Заблокувати виконання автоматизації/ланцюжка завдань під час повернення завдання зі статусу із системною роллю &amp;quot;Відкладено&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Ланцюжки завдань/автоматизація:&lt;br /&gt;
** Додано додаткову умову &amp;quot;Завдання. Мітка&amp;quot;&lt;br /&gt;
** Додано варіанти дій:&lt;br /&gt;
*** &amp;quot;Батьківське завдання (найперше в ланцюжку). Змінити статус на&amp;quot;&lt;br /&gt;
*** &amp;quot;Батьківське завдання (усі в ланцюжку). Змінити статус на&amp;quot;&lt;br /&gt;
*** &amp;quot;ТМЦ. Передати в батьківське завдання&amp;quot;&lt;br /&gt;
*** &amp;quot;ТМЦ. Передати в дочірнє завдання&amp;quot;&lt;br /&gt;
*** &amp;quot;Перенесення значень додаткових полів у картку будинку&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Список завдань:&lt;br /&gt;
** У списку завдань виводяться мініатюри прикріплених файлів &#039;&#039;(параметр налаштування)&#039;&#039;&lt;br /&gt;
** Фільтр завдань:&lt;br /&gt;
*** додано режими &amp;quot;і/або&amp;quot;&lt;br /&gt;
*** розширено фільтр за номером батьківського завдання&lt;br /&gt;
*** розширено фільтр за &amp;quot;Виконано зі строком виконання понад...&amp;quot;&lt;br /&gt;
*** розширено фільтр за номером батьківського завдання&lt;br /&gt;
*** додано фільтр за значенням чек-листа&lt;br /&gt;
** У списку завдань додано групові дії:&lt;br /&gt;
*** &amp;quot;Абоненти - Відкрити список&amp;quot;&lt;br /&gt;
*** &amp;quot;Призначити власника&amp;quot;&lt;br /&gt;
*** &amp;quot;Виключити власника&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Склад:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;В операціях за складом додано фільтрацію за &amp;quot;Адреса (з об&#039;єктами)&amp;quot;, що дозволяє вибрати операції передачі ТМЦ на всі об&#039;єкти цієї території&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;У списку ТМЦ додано можливість фільтрації за будь-яким адресним об&#039;єктом &#039;&#039;(включно з усім підпорядкуванням)&#039;&#039; &#039;&#039;(область, місто, вулиця...)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
* У списку ТМЦ виводиться підсумковий рядок із загальною вартістю/закупівельною вартістю&lt;br /&gt;
* У звіті щодо залишків ТМЦ назви позицій ТМЦ зроблено посиланнями для швидкого перегляду списку цих ТМЦ&lt;br /&gt;
* Групи для постачальників&lt;br /&gt;
* Додано можливість надсилати повідомлення співробітнику в Messenger/Telegram під час передачі ТМЦ йому під звіт/з-під звіту&lt;br /&gt;
* Під час розділення ТМЦ додано можливість одразу вказувати MAC-адреси/серійні номери для цих ТМЦ&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Покриття:&#039;&#039;&#039;&lt;br /&gt;
* Реалізовано автооновлення GPS-позиції транспорту на мапі в реальному часі &#039;&#039;(кожні N секунд)&#039;&#039;. Додано параметр налаштування &amp;quot;Інтервал оновлення позиції транспорту на мапі&amp;quot;&lt;br /&gt;
* &#039;&#039;&#039;Коли на мапі кілька об&#039;єктів накладено один на одного &#039;&#039;(споруди зв&#039;язку в одній точці/багато муфт на опорі... або кабельні лінії проходять поруч)&#039;&#039;, то під час наведення на це скупчення об&#039;єктів воно розкривається з можливістю вибрати потрібний&#039;&#039;&#039;&lt;br /&gt;
* Доробка відображення на мапі кабельних ліній, які проходять через екран, але мають кінцеві точки поза поточною областю відображення&lt;br /&gt;
* Нова лінійка на мапі&lt;br /&gt;
* Новий тип об&#039;єктів на мапу: &amp;quot;Посилання&amp;quot;&lt;br /&gt;
* У спливних підказках на полігонах на мапі виводяться значення додаткових полів&lt;br /&gt;
* У списку будинків додано можливість виведення поля з відсотком проникнення, поле &amp;quot;Нотатки&amp;quot; і фільтр за цим полем&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Споруди зв&#039;язку:&#039;&#039;&#039;&lt;br /&gt;
* Для споруди зв&#039;язку можна вказати приховування її з мапи покриття&lt;br /&gt;
* Для типів споруд зв&#039;язку додано параметр &amp;quot;Під час додавання об&#039;єкта пропонувати новий номер&amp;quot;&lt;br /&gt;
* У макеті шафи/стійки у спливних підказках на пристроях додано відображення серійного/інвентарних номерів&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Кабельні лінії:&#039;&#039;&#039;&lt;br /&gt;
* У списку кабельних ліній додано фільтр за додатковими полями&lt;br /&gt;
* У групових діях із заміни марки кабелю в списку кабельних ліній додано можливість під час цієї дії замінювати кольори модулів/волокон/провідників у кабелі відповідно до нової марки кабелю&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Співробітники:&#039;&#039;&#039;&lt;br /&gt;
* Налаштування в персональному налаштуванні: додаткові кнопки для лівого меню в мобільній версії, зокрема власні посилання&lt;br /&gt;
* Нові права в профілях співробітників:&lt;br /&gt;
** Перегляд/зміна інформації про постачальників&lt;br /&gt;
** Перегляд/зміна штрафів і премій персоналу&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;API:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Можна створювати окремі [[UserSide API Key UK|API-ключі]] тільки для операцій читання даних&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Усі запити на запис/зміну даних тепер мають надсилатися лише через POST&#039;&#039;&#039;&lt;br /&gt;
* У запиті не повинно бути сторонніх параметрів. Якщо сторонній параметр присутній, запит повертатиме помилку&lt;br /&gt;
* Доопрацьовано метод API-&amp;gt;address-&amp;gt;[[API_address_UK#edit_address|edit_address]]&lt;br /&gt;
* Доопрацьовано метод API-&amp;gt;attach-&amp;gt;[[API_attach_UK#add|add]]&lt;br /&gt;
* Додано метод API-&amp;gt;attach-&amp;gt;[[API_attach_UK#upload|upload]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Транспорт:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Глибоко перероблено операції за транспортом. Різні типи, контроль пробігу, строків. Повідомлення на головну сторінку і список транспорту. Ведення історії змін в операціях&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Інше:&#039;&#039;&#039;&lt;br /&gt;
* PHP 8.4&lt;br /&gt;
* Додано локалізації: албанська, узбецька, таджицька. Численні виправлення в поточних локалізаціях.&lt;br /&gt;
* &#039;&#039;&#039;Модуль [[usm_asterisk]] тепер підтримує передачу записів дзвінків і можливість прослуховувати їх в інтерфейсі ERP&#039;&#039;&#039;&lt;br /&gt;
* Перехід із числових ID на рядкові UUID в об&#039;єктах &#039;&#039;(числові ID для частини об&#039;єктів залишено як додаткові довідкові)&#039;&#039;&lt;br /&gt;
* Новий редактор WYSIWYG&lt;br /&gt;
* &#039;&#039;&#039;Темна схема інтерфейсу &#039;&#039;(з підтримкою автоматичного перемикання)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Редагування значень додаткових полів у картках об&#039;єктів прямо в режимі перегляду &#039;&#039;(без потреби переходити в редагування)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Перероблено блок роботи з прикріпленими файлами&#039;&#039;&#039;&lt;br /&gt;
** Повністю інші можливості, галерея, дії тощо&lt;br /&gt;
** Для мобільних пристроїв швидка кнопка &amp;quot;Фотографувати&amp;quot;&lt;br /&gt;
** Для мобільних пристроїв велика кнопка додавання файлів&lt;br /&gt;
** Блок Ctrl+V для роботи з буфером обміну тепер підтримує вставлення кількох зображень і файлів будь-яких форматів &#039;&#039;(а не лише зображень)&#039;&#039;&lt;br /&gt;
* Нове ліве адаптивне меню з можливістю приховування/відкриття&lt;br /&gt;
* &#039;&#039;&#039;Додано кнопки в лівому меню для мобільних пристроїв:&#039;&#039;&#039;&lt;br /&gt;
** &amp;quot;Моя позиція на мапі&amp;quot;&lt;br /&gt;
** QR-код&lt;br /&gt;
** Штрихкод &#039;&#039;(+ може подавати звуковий сигнал під час сканування)&#039;&#039;. Якщо є такий ТМЦ, відкривається картка ТМЦ; якщо немає прав до ТМЦ, але є таке обладнання, відкривається картка обладнання. Інакше відкривається список пошуку&lt;br /&gt;
** Три кнопки для власних посилань&lt;br /&gt;
** Кнопки поділитися посиланням/відкрити посилання&lt;br /&gt;
* &#039;&#039;&#039;Опція &amp;quot;Конвертувати HEIC-файли в JPEG&amp;quot; і власне підтримка роботи з .heic файлами на льоту&#039;&#039;&#039;&lt;br /&gt;
* Розділ &amp;quot;Блокнот&amp;quot; трансформувався в налаштовуваний власний розділ. Це значно розширює його функціональність&lt;br /&gt;
* Нова бібліотека генерації штрихкодів &#039;&#039;(у SVG-форматі)&#039;&#039;&lt;br /&gt;
* Дороблено звіт за надходженнями коштів: групування за населеними пунктами, а також за населеними пунктами + місяцями, і можливість детального перегляду списку платежів&lt;br /&gt;
* У групових діях за об&#039;єктами кнопка &amp;quot;Застосувати&amp;quot; тепер містить кількість позначених об&#039;єктів і блокується, якщо не вибрано дію/об&#039;єкти&lt;br /&gt;
* Селектор вибору дати/дати-часу: виправлено локалізацію під поточну мову&lt;br /&gt;
* Превентивно впроваджено рішення для забезпечення сумісності з датами після 2038 року &#039;&#039;(&amp;quot;Unix 2038 bug&amp;quot;)&#039;&#039;&lt;br /&gt;
* Окремі SMS-профілі для роботи. Наприклад, для кожної SMS-розсилки можна вказати окремий SMS-профіль &#039;&#039;(власне альфа-ім&#039;я, інший оператор...)&#039;&#039;&lt;br /&gt;
* У списках об&#039;єктів у фільтрацію за значеннями додаткових полів додано варіанти фільтрації &amp;quot;більше&amp;quot; і &amp;quot;менше&amp;quot;&lt;br /&gt;
* Нові версії зовнішніх [[Модулі|модулів]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Інші зміни: див. https://wiki.userside.eu/3.20&lt;/div&gt;</summary>
		<author><name>IronBot</name></author>
	</entry>
	<entry>
		<id>https://wiki.userside.eu/index.php?title=3.21_EN&amp;diff=22065</id>
		<title>3.21 EN</title>
		<link rel="alternate" type="text/html" href="https://wiki.userside.eu/index.php?title=3.21_EN&amp;diff=22065"/>
		<updated>2026-06-23T11:07:16Z</updated>

		<summary type="html">&lt;p&gt;IronBot: [IronBot] Sync EN localization from RU&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;en&#039;&#039;&#039; | [[3.21_UK|uk]] | [[3.21|ru]]&lt;br /&gt;
&lt;br /&gt;
Release date: &#039;&#039;&#039;June 2026&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Main changes: https://promo.userside.eu/321/&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
See also:&lt;br /&gt;
* [[Upgrade_3.21|Upgrade to version 3.21]]&lt;br /&gt;
* [[Versions of ERP &amp;quot;USERSIDE&amp;quot;]] | [[Versions 3.21 EN|Versions 3.21]]&lt;br /&gt;
&lt;br /&gt;
== List of changes ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;High-priority changes:&#039;&#039;&#039;&lt;br /&gt;
* [[PWA (application)|PWA &#039;&#039;(application)&#039;&#039;]]&lt;br /&gt;
* Automatic building of a [[Business process|business logic/workflow diagram]] for task types based on task chains and automation&lt;br /&gt;
* Updated task [[Calendar|calendar]] and [[Google Calendar integration|Google Calendar integration]]&lt;br /&gt;
* A separate [[Bulk inventory transfer|interface for fast inventory transfer]] by scanning or entering barcodes, serial numbers, and other identifiers &#039;&#039;(including barcode scanning with a mobile device camera)&#039;&#039;&lt;br /&gt;
* [[Switching scheme#anchor_321|Switching scheme snapshots]] are shown on the main scheme and are generated directly during switching/disconnection operations on a communications installation&lt;br /&gt;
* In the switching scheme, creating connections and deleting or changing a connection polyline is performed without reloading or waiting for the page &#039;&#039;(in practice, this made work 2-10 times faster)&#039;&#039;&lt;br /&gt;
* A home-page panel with [[Work schedule#anchor_321|task filter counters/KPI indicators]]&lt;br /&gt;
* &amp;quot;Physical&amp;quot; [[Document signing with customers|document signing by customers/clients]] on tablets &#039;&#039;(mobile devices)&#039;&#039;&lt;br /&gt;
* Automatic real-time GPS position updates for transport on the map &#039;&#039;(every N seconds)&#039;&#039;&lt;br /&gt;
* Home-page widget with [[Statistics#anchor_321|the most problematic customers and buildings]]&lt;br /&gt;
* New [[Structural scheme|structural scheme]]. Scaling and SVG export&lt;br /&gt;
* [[Internal API EN|Internal API]] v2. Event system in ERP&lt;br /&gt;
* IPv6 accounting support for equipment and customers&lt;br /&gt;
* Updated UI/UX&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Customers/clients:&#039;&#039;&#039;&lt;br /&gt;
* Added mass import of potential customers&lt;br /&gt;
* Added the ability to send SMS in group actions for customers&lt;br /&gt;
* &#039;&#039;&#039;Specific customers can be added to SMS mailing conditions&#039;&#039;&#039;&lt;br /&gt;
* Added the &amp;quot;Ignore SMS opt-out&amp;quot; filter to SMS mailings&lt;br /&gt;
* Added different customer-data templates for group email sending to customers&lt;br /&gt;
* Customer correspondence can hide comments from tasks&lt;br /&gt;
* Added customer status history storage&lt;br /&gt;
* Customer list:&lt;br /&gt;
** &#039;&#039;&#039;The filter now supports &amp;quot;and/or&amp;quot; mode&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;The filter can now include/exclude conditions &#039;&#039;(previously it could only include them)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
** Added the &amp;quot;Customers included in equipment&amp;quot; filter&lt;br /&gt;
** Added filtering by task number. The task card also shows a link to this filter when at least three customers are attached to the task&lt;br /&gt;
** The customer list can display the &amp;quot;Manager&amp;quot; field&lt;br /&gt;
** The list of customers dependent on a device/communications installation also includes customers that are not commutated but have devices &#039;&#039;(for example ONU)&#039;&#039; that depend on the parent object&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equipment:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Added tabs to the switch/equipment card&#039;&#039;&#039;&lt;br /&gt;
* If a device has no IP address, has one port, and is connected to an upstream managed switch, the port table for that device shows SNMP information from the upstream device port&lt;br /&gt;
* PON:&lt;br /&gt;
** &#039;&#039;&#039;ONU signal level history is now displayed as a chart&#039;&#039;&#039;&lt;br /&gt;
** The order and displayed fields can be configured for the list of connected ONUs&lt;br /&gt;
** The OLT card now shows an ONU counter on ports&lt;br /&gt;
* Split percentages can be specified for planned splitters&lt;br /&gt;
* Added the &amp;quot;Number of occupied adapters&amp;quot; field to the splitters table&lt;br /&gt;
* Devices can be added manually in the VLAN card&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Switching scheme:&#039;&#039;&#039;&lt;br /&gt;
* Labels on the switching scheme can be rotated&lt;br /&gt;
* When adding a splitter from the switching scheme, the user no longer leaves the scheme for the splitter card&lt;br /&gt;
* The switching wizard can now switch devices&lt;br /&gt;
* Added the ability to quickly change labels for all ports at once for a distribution frame/ODF in the switching scheme&lt;br /&gt;
* Planned commutations in the replanning scheme can now have their route changed manually&lt;br /&gt;
* On mobile devices, dragging switching lines is blocked by default when the page is opened&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks:&#039;&#039;&#039;&lt;br /&gt;
* Updated task [[Calendar|calendar]]:&lt;br /&gt;
** &#039;&#039;&#039;dragging tasks &#039;&#039;(changing work time)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
** task due time can be changed &#039;&#039;(by dragging the lower boundary)&#039;&#039;&lt;br /&gt;
** weekly/monthly mode for departments and employees&lt;br /&gt;
** modes: &amp;quot;department&amp;quot; / &amp;quot;+ employees&amp;quot; / &amp;quot;+ employees and departments&amp;quot;&lt;br /&gt;
** 15/30/60 minutes &#039;&#039;(previously only one-hour slots)&#039;&#039;&lt;br /&gt;
** high priority is marked, and the information template for the task title and task body can be configured&lt;br /&gt;
* &#039;&#039;&#039;Checks whether a previously attached file still exists in tasks and task comments &#039;&#039;(to prevent employees from attaching old files as if they were new)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
* The task card can transfer inventory available to the employee with one button&lt;br /&gt;
* Added a new special type for task types: &amp;quot;Work with debtors&amp;quot;&lt;br /&gt;
* The task card shows a row with coordinates and a quick link to Google Maps&lt;br /&gt;
* When creating a child task from the task card, files from the parent task can also be copied &#039;&#039;(used)&#039;&#039;&lt;br /&gt;
* Improved display of inventory information in the inventory list when the task status changes&lt;br /&gt;
* &amp;quot;Work notes&amp;quot; were extended from buildings to any address object&lt;br /&gt;
&lt;br /&gt;
* New settings:&lt;br /&gt;
** &amp;quot;Sort customers in the task card by the order in which they were added to the task&amp;quot;&lt;br /&gt;
** &amp;quot;Interval for displaying tasks in the My tasks section (days)&amp;quot;&lt;br /&gt;
** &amp;quot;Block execution of task automation/chain when a task is returned from a status with the system role Deferred&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Task chains/automation:&lt;br /&gt;
** Added the additional condition &amp;quot;Task. Tag&amp;quot;&lt;br /&gt;
** Added action variants:&lt;br /&gt;
*** &amp;quot;Parent task (the very first in the chain). Change status to&amp;quot;&lt;br /&gt;
*** &amp;quot;Parent task (all in the chain). Change status to&amp;quot;&lt;br /&gt;
*** &amp;quot;Inventory. Transfer to parent task&amp;quot;&lt;br /&gt;
*** &amp;quot;Inventory. Transfer to child task&amp;quot;&lt;br /&gt;
*** &amp;quot;Transfer custom field values to the building card&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Task list:&lt;br /&gt;
** The task list can show thumbnails of attached files &#039;&#039;(setting)&#039;&#039;&lt;br /&gt;
** Task filter:&lt;br /&gt;
*** added &amp;quot;and/or&amp;quot; modes&lt;br /&gt;
*** expanded filter by parent task number&lt;br /&gt;
*** expanded filter by &amp;quot;Completed with due time over...&amp;quot;&lt;br /&gt;
*** expanded filter by parent task number&lt;br /&gt;
*** added filtering by checklist value&lt;br /&gt;
** Added group actions in the task list:&lt;br /&gt;
*** &amp;quot;Customers - Open list&amp;quot;&lt;br /&gt;
*** &amp;quot;Assign owner&amp;quot;&lt;br /&gt;
*** &amp;quot;Remove owner&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Warehouse:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Warehouse operations now have filtering by &amp;quot;Address (with objects)&amp;quot;, which allows selecting inventory transfer operations for all objects in that area&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;The inventory list can now be filtered by any address object &#039;&#039;(including the full hierarchy)&#039;&#039; &#039;&#039;(region, city, street, etc.)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
* The inventory list shows a totals row with total cost/purchase cost&lt;br /&gt;
* In the inventory balance report, report item names are links for quickly viewing the corresponding inventory list&lt;br /&gt;
* Added groups for suppliers&lt;br /&gt;
* Added the ability to send an employee a Messenger/Telegram message when inventory is transferred to or from that employee&#039;s accountability&lt;br /&gt;
* When splitting inventory, MAC addresses/serial numbers can be specified for the resulting items immediately&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coverage:&#039;&#039;&#039;&lt;br /&gt;
* Added automatic real-time GPS position updates for transport on the map &#039;&#039;(every N seconds)&#039;&#039;. Added the &amp;quot;Transport position update interval on the map&amp;quot; setting&lt;br /&gt;
* &#039;&#039;&#039;When several objects overlap on the map &#039;&#039;(communications installations at one point, many closures on one pole, cable lines running next to each other, etc.)&#039;&#039;, hovering over this cluster expands it so the required object can be selected&#039;&#039;&#039;&lt;br /&gt;
* Improved display of cable lines that pass through the visible map area while their endpoints are outside the current view&lt;br /&gt;
* Added a new ruler on the map&lt;br /&gt;
* Added a new map object type: &amp;quot;Link&amp;quot;&lt;br /&gt;
* Popup hints on map polygons now show custom field values&lt;br /&gt;
* The building list can show the penetration percentage field and the &amp;quot;Notes&amp;quot; field, and a filter for this field was added&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Communications installations:&#039;&#039;&#039;&lt;br /&gt;
* A communications installation can be hidden from the coverage map&lt;br /&gt;
* Added the &amp;quot;Suggest a new number when adding an object&amp;quot; parameter for communications installation types&lt;br /&gt;
* In the cabinet/rack layout, popup hints on devices now show serial/inventory numbers&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cable lines:&#039;&#039;&#039;&lt;br /&gt;
* Added filtering by custom fields in the cable line list&lt;br /&gt;
* In group actions for replacing the cable brand in the cable line list, this action can also replace module/fiber/conductor colors in the cable according to the new cable brand&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Employees:&#039;&#039;&#039;&lt;br /&gt;
* Added a personal setting for extra buttons in the left menu of the mobile version, including custom links&lt;br /&gt;
* New rights in employee profiles:&lt;br /&gt;
** View/change supplier information&lt;br /&gt;
** View/change employee fines and bonuses&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;API:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Separate [[UserSide API Key EN|API keys]] can now be created for read-only operations&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;All requests that write or modify data must now be sent only through POST&#039;&#039;&#039;&lt;br /&gt;
* Requests must not include extra parameters. If an extra parameter is present, the request returns an error&lt;br /&gt;
* Improved API method API-&amp;gt;address-&amp;gt;[[API_address_EN#edit_address|edit_address]]&lt;br /&gt;
* Improved API method API-&amp;gt;attach-&amp;gt;[[API_attach_EN#add|add]]&lt;br /&gt;
* Added API method API-&amp;gt;attach-&amp;gt;[[API_attach_EN#upload|upload]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Transport:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Transport operations were deeply reworked. Different types, mileage and deadline control, home-page and transport-list notifications, and operation change history are now supported&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Other:&#039;&#039;&#039;&lt;br /&gt;
* PHP 8.4&lt;br /&gt;
* Added Albanian, Uzbek, and Tajik localizations. Multiple fixes in existing localizations.&lt;br /&gt;
* &#039;&#039;&#039;The [[usm_asterisk]] module now supports transferring call recordings and listening to them in the ERP interface&#039;&#039;&#039;&lt;br /&gt;
* Switched objects from numeric IDs to string UUIDs &#039;&#039;(numeric IDs remain for some objects as additional reference values)&#039;&#039;&lt;br /&gt;
* New WYSIWYG editor&lt;br /&gt;
* &#039;&#039;&#039;Dark interface theme &#039;&#039;(with automatic switching support)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Custom field values can be edited directly in object cards while viewing them &#039;&#039;(without switching to edit mode)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Reworked attached-file block&#039;&#039;&#039;&lt;br /&gt;
** Completely different capabilities, gallery, actions, and more&lt;br /&gt;
** Quick &amp;quot;Take photo&amp;quot; button for mobile devices&lt;br /&gt;
** Large file-add button for mobile devices&lt;br /&gt;
** The Ctrl+V clipboard block now supports pasting multiple images and files of any format &#039;&#039;(not only images)&#039;&#039;&lt;br /&gt;
* New adaptive left menu with hide/show support&lt;br /&gt;
* &#039;&#039;&#039;Added buttons to the left menu for mobile devices:&#039;&#039;&#039;&lt;br /&gt;
** &amp;quot;My position on the map&amp;quot;&lt;br /&gt;
** QR code&lt;br /&gt;
** Barcode &#039;&#039;(and it can beep while scanning)&#039;&#039;. If such an inventory item exists, its card opens; if there are no rights to the inventory item but such equipment exists, the equipment card opens. Otherwise, the search list opens&lt;br /&gt;
** Three buttons for custom links&lt;br /&gt;
** Buttons to share/open a link&lt;br /&gt;
* &#039;&#039;&#039;Added the &amp;quot;Convert HEIC files to JPEG&amp;quot; option and on-the-fly .heic file support&#039;&#039;&#039;&lt;br /&gt;
* The &amp;quot;Notebook&amp;quot; section was transformed into a configurable custom section. This significantly expands its functionality&lt;br /&gt;
* New barcode generation library &#039;&#039;(SVG format)&#039;&#039;&lt;br /&gt;
* Improved the cash receipts report: grouping by settlements and by settlements + months, plus detailed payment list viewing&lt;br /&gt;
* In group actions for objects, the &amp;quot;Apply&amp;quot; button now shows the number of selected objects and is blocked if no action/objects are selected&lt;br /&gt;
* The date/date-time selector localization was fixed for the current language&lt;br /&gt;
* A compatibility solution for dates after 2038 was implemented preventively &#039;&#039;(&amp;quot;Unix 2038 bug&amp;quot;)&#039;&#039;&lt;br /&gt;
* Separate SMS profiles for work. For example, each SMS mailing can use a separate SMS profile &#039;&#039;(custom alpha name, different operator, etc.)&#039;&#039;&lt;br /&gt;
* Object-list filters by custom field values now include &amp;quot;greater than&amp;quot; and &amp;quot;less than&amp;quot; variants&lt;br /&gt;
* New versions of external [[Modules_EN|modules]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Other changes: see https://wiki.userside.eu/3.20&lt;/div&gt;</summary>
		<author><name>IronBot</name></author>
	</entry>
	<entry>
		<id>https://wiki.userside.eu/index.php?title=%D0%92%D0%B5%D1%80%D1%81%D1%96%D1%97_3.20&amp;diff=22046</id>
		<title>Версії 3.20</title>
		<link rel="alternate" type="text/html" href="https://wiki.userside.eu/index.php?title=%D0%92%D0%B5%D1%80%D1%81%D1%96%D1%97_3.20&amp;diff=22046"/>
		<updated>2026-06-15T06:31:28Z</updated>

		<summary type="html">&lt;p&gt;IronBot: [IronBot] Sync UK localization from RU&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Versions 3.20 EN|en]] | &#039;&#039;&#039;uk&#039;&#039;&#039; | [[Версии_3.20|ru]]&lt;br /&gt;
&lt;br /&gt;
Версії гілки [[3.20_UK|3.20]]&lt;br /&gt;
&lt;br /&gt;
Також див.: [[Версії ERP &amp;quot;USERSIDE&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
== 3.20.25 (у розробці) ==&lt;br /&gt;
* Виправлено помилку з відображенням списку кабельних ліній &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 3.20.24 - 27.05.2026 ==&lt;br /&gt;
* Виправлення невеликих помилок та змін&lt;br /&gt;
&lt;br /&gt;
== 3.20.23 - 27.04.2026 ==&lt;br /&gt;
* Додано метод API-&amp;gt;call-&amp;gt;[[API_call_UK#agent_call|agent_call]]&lt;br /&gt;
* Додано метод API-&amp;gt;chapter-&amp;gt;[[API_chapter_UK#link_add|link_add]]&lt;br /&gt;
* Додано метод API-&amp;gt;chapter-&amp;gt;[[API_chapter_UK#link_get|link_get]]&lt;br /&gt;
* Додано метод API-&amp;gt;chapter-&amp;gt;[[API_chapter_UK#link_remove|link_remove]]&lt;br /&gt;
* Доопрацьовано метод API-&amp;gt;call-&amp;gt;[[API_call_UK#add|add]]&lt;br /&gt;
* Доопрацьовано метод API-&amp;gt;task-&amp;gt;[[API_task_UK#edit|edit]]&lt;br /&gt;
* У виконаних завданнях також відображається ознака &amp;quot;Прострочено&amp;quot; під час порушенні термінів робіт&lt;br /&gt;
* Виправлена помилка з входом у календар робіт &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлення невеликих помилок&lt;br /&gt;
&lt;br /&gt;
== 3.20.22 - 04.04.2026 ==&lt;br /&gt;
* Виправлено вибір порожнього значення в типі завдань для реєстрації телефоном&lt;br /&gt;
* Оптимізаційні роботи&lt;br /&gt;
* Виправлення невеликих помилок&lt;br /&gt;
&lt;br /&gt;
== 3.20.21 - 11.03.2026 ==&lt;br /&gt;
* Виправлено відображення лічильника помилок на інтерфейсах пристроїв &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлено налаштування шаблонів SMS-повідомлень для абонентів у завданнях&lt;br /&gt;
* Оптимізаційні роботи&lt;br /&gt;
* Виправлення невеликих помилок&lt;br /&gt;
&lt;br /&gt;
== 3.20.20 - 22.02.2026 ==&lt;br /&gt;
* Оптимізована робота розділу &amp;quot;Мої завдання&amp;quot;&lt;br /&gt;
* Виправлено порушення розмітки головного меню в деяких випадках&lt;br /&gt;
&lt;br /&gt;
== 3.20.19 - 08.02.2026 ==&lt;br /&gt;
* Виправлення невеликих помилок&lt;br /&gt;
&lt;br /&gt;
== 3.20.18 - 23.01.2026 ==&lt;br /&gt;
* Оптимізація звіту за складу &amp;quot;Оборотно-сальдова відомість&amp;quot;&lt;br /&gt;
* Виправлення невеликих помилок&lt;br /&gt;
&lt;br /&gt;
== 3.20.17 - 31.12.2025 ==&lt;br /&gt;
* Додано метод API-&amp;gt;task-&amp;gt;[[API_task_UK#add_node_to_task|add_node_to_task]]&lt;br /&gt;
* Додано метод API-&amp;gt;task-&amp;gt;[[API_task_UK#remove_node_from_task|remove_node_from_task]]&lt;br /&gt;
* Виправлено виконання ланцюжка завдань &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлення невеликих помилок&lt;br /&gt;
&lt;br /&gt;
== 3.20.16 - 14.12.2025 ==&lt;br /&gt;
* Виправлена помилка з фільтрацією за секції ТМЦ у списку операцій за складу&lt;br /&gt;
* Виправлення невеликих помилок&lt;br /&gt;
&lt;br /&gt;
== 3.20.15 - 06.12.2025 ==&lt;br /&gt;
* Для ланцюжків завдань/автоматизації в типах завдань додано можливість вказівки дробового інтервалу годинника&lt;br /&gt;
* Виправлення невеликих помилок&lt;br /&gt;
&lt;br /&gt;
== 3.20.14 - 29.11.2025 ==&lt;br /&gt;
* Доопрацювання API взаємозв&#039;язку з Binotel&lt;br /&gt;
* Виправлення невеликих помилок&lt;br /&gt;
&lt;br /&gt;
== 3.20.13 - 22.11.2025 ==&lt;br /&gt;
* Виправлення невеликих помилок&lt;br /&gt;
&lt;br /&gt;
== 3.20.12 - 15.11.2025 ==&lt;br /&gt;
* Додано параметр налаштування &amp;quot;Масштабувати ширину кабельної лінії на схемі комутації в залежності від довжини назви&amp;quot;&lt;br /&gt;
* Допрацьовано відображення невідомих ONU за OLT у віджеті головної сторінки&lt;br /&gt;
* Виправлення інших невеликих помилок&lt;br /&gt;
&lt;br /&gt;
== 3.20.11 - 08.11.2025 ==&lt;br /&gt;
* Виправлення помилки під час вході в розділ Custom-повідомлень &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлення помилки під час вході в налаштування інтерфейсів/стекування за пристрої &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлена неможливість комутації між ODF/кросами у майстрі комутацій&lt;br /&gt;
* Виправлення деяких помилок міграції&lt;br /&gt;
&lt;br /&gt;
== 3.20.10 - 07.11.2025 ==&lt;br /&gt;
* Додано метод API-&amp;gt;vehicle-&amp;gt;[[API_vehicle_UK#add|add]]&lt;br /&gt;
* Додано метод API-&amp;gt;vehicle-&amp;gt;[[API_vehicle_UK#edit|edit]]&lt;br /&gt;
* Додано метод API-&amp;gt;vehicle-&amp;gt;[[API_vehicle_UK#delete|delete]]&lt;br /&gt;
* У картці спорудження зв&#039;язку в блоці з прикріпленими файлами-зображеннями можна швидко зробити зображення основним фото для цього об&#039;єкта &#039;&#039;(без необхідності переходити до редагування)&#039;&#039;&lt;br /&gt;
* У картці кабельної лінії додано можливість створити завдання з цією лінією або додати лінію до існуючого завдання&lt;br /&gt;
* Доопрацьовано сортування за додатковими полями у власних розділах&lt;br /&gt;
* Виправлена фільтрація за найменуванням ТМЦ у списку ТМЦ&lt;br /&gt;
* Виправлено відображення шарів обладнання на карті покриття&lt;br /&gt;
* Виправлення інших невеликих помилок&lt;br /&gt;
&lt;br /&gt;
== 3.20.9 - 14.09.2025 ==&lt;br /&gt;
* Доопрацювання перевірки прав доступу до ONU&lt;br /&gt;
* Виправлена помилка під час пошуку абонента під час передачі ТМЦ &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлено оновлення на базі серійних номерів для ONU під час опитуванні OLT &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 3.20.8 - 06.09.2025 ==&lt;br /&gt;
* Додано метод API-&amp;gt;billing-&amp;gt;[[API_billing_UK#refresh_date_update|refresh_date_update]]&lt;br /&gt;
* Оптимізовано інтерфейс редагування/додавання адресної одиниці &#039;&#039;(актуально для розгалужених адресних структур)&#039;&#039;&lt;br /&gt;
* У картці завдання додані посилання на перегляд зв&#039;язаних абонентів із спорудами зв&#039;язку та з кабельними лініями&lt;br /&gt;
* Виправлена перевірка на статус батьківського завдання в автоматизації дій із завдань &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлено відображення спливаючої підказки в календарі завдань під час горизонтальному скролі&lt;br /&gt;
* Виправлено призначення співробітників у підрозділ &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 3.20.7 - 25.08.2025 ==&lt;br /&gt;
* &#039;&#039;&#039;Глибока переробка операцій із транспорту. Різні типи, контроль пробігу, терміни. Повідомлення на головну сторінку та список транспорту. Ведення історії змін в операціях &#039;&#039;&#039;&lt;br /&gt;
* Історія дій щодо потенційного абонента переноситься в історію дій звичайного абонента під час їх об&#039;єднанні&lt;br /&gt;
* При гарячій заміні пристрою можна вказати збереження історії MAC-адрес на портах обладнання&lt;br /&gt;
* У групових діях за списком абонентів додано можливість очищення комутації&lt;br /&gt;
* Технічні міграції даних ядра&lt;br /&gt;
* Виправлена фільтрація FDB-таблиці з пристрою &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлена помилка під час обмеженні співробітнику доступу за конкретною IP-адресою&lt;br /&gt;
* Виправлено перевірку прав на доступ до ONU&lt;br /&gt;
&lt;br /&gt;
== 3.20.6 - 15.08.2025 ==&lt;br /&gt;
* &#039;&#039;&#039; Окремі SMS-профілі для роботи. Наприклад, для кожної SMS-розсилки можна вказати окремий SMS-профіль &#039;&#039;(власне альфа-ім&#039;я, інший оператор...)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
* Виділено окремі права доступу до ONU на перегляд та зміну&lt;br /&gt;
* Виправлено відображення великої кількості розділів блокнота у списку розділів&lt;br /&gt;
* Виправлено оновлення інформації під час додавання/виключенні споруди зв&#039;язку в завданні&lt;br /&gt;
&lt;br /&gt;
== 3.20.5 - 08.08.2025 ==&lt;br /&gt;
* Додано метод API-&amp;gt;address-&amp;gt;[[API_address_UK#get_building_type|get_building_type]]&lt;br /&gt;
* Додано параметр налаштування &amp;quot;Будівлі. Шаблон спливаючого повідомлення на карті&amp;quot;&lt;br /&gt;
* Доопрацьовано інтерфейс зміни нотатки, типу адаптера та з&#039;єднання для волокна кабельної лінії&lt;br /&gt;
* Перероблено інтерфейс додавання споруд зв&#039;язку та кабельних ліній у завдання під час створення завдання&lt;br /&gt;
* Підкориговано перевірку прав доступу до табеля робіт&lt;br /&gt;
* Доопрацьовано тарифікацію співробітникам за завдання у відомості робіт за участю в завданні понад 5 співробітників&lt;br /&gt;
* Виправлена помилка фільтрації за будівлі у списку операцій за складом &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 3.20.4 - 04.08.2025 ==&lt;br /&gt;
* Додано метод API-&amp;gt;cross-&amp;gt;[[API_cross_UK#edit_adapter|edit_adapter]]&lt;br /&gt;
* Доопрацьовано метод API-&amp;gt;task-&amp;gt;[[API_address_UK#edit_address|edit_address]]&lt;br /&gt;
* Додано параметр налаштування &amp;quot;Заблокувати виконання автоматизації/ланцюжка завдань під час поверненні завдання зі статусу із системною роллю &amp;quot;Відкладено&amp;quot;&lt;br /&gt;
* У списку завдань додано угруповання завдань за вулиці або населеному пункту&lt;br /&gt;
* Доопрацювання збереження прикріплених файлів до коментарів за завданням&lt;br /&gt;
* Невеликі виправлення та доопрацювання&lt;br /&gt;
&lt;br /&gt;
== 3.20.3 - 27.07.2025 ==&lt;br /&gt;
* Доопрацьовано метод API-&amp;gt;task-&amp;gt;[[API_task_UK#change_state|change_state]]&lt;br /&gt;
* Додано параметр налаштування &amp;quot;З&#039;єднання на дільниках вважати механічними&amp;quot;&lt;br /&gt;
* У налаштуваннях типів завдань для ТМЦ можна вказати, що переміщати всі ТМЦ після закриття на зв&#039;язану будівлю&lt;br /&gt;
* У ланцюжках/автоматизації за типами завдань додано можливість додаткової умови &amp;quot;Статус дочірнього/батьківського завдання&amp;quot; для варіантів дій &amp;quot;Батьківське/Дочірнє завдання. Змінити статус на&amp;quot;&lt;br /&gt;
* У картці будівлі у списку ТМЦ додано інформацію про дату встановлення ТМЦ на будівлі та можливість експорту в XLS та у версію для друку&lt;br /&gt;
* У картці можна скопіювати всі прикріплені файли з іншого завдання&lt;br /&gt;
* У картці абонента додано пряме посилання на перегляд його маршруту комутації&lt;br /&gt;
* Для профілів співробітників можна обмежити максимальну кількість записів на сторінці &#039;&#039;(у таблицях/списках)&#039;&#039;&lt;br /&gt;
* У фільтр зі споруд зв&#039;язку додано можливість вибірки за відсутнім власним значком на карті&lt;br /&gt;
* У списку операцій за складу в селекторах вибору контрагента додано можливість вказівки конкретної будівлі&lt;br /&gt;
* У групових діях за будівлях додано можливість зміни індивідуального кольору на карті&lt;br /&gt;
* У групових діях за будинках можна змінити менеджера на порожнє значення &#039;&#039;(видалити менеджера)&#039;&#039;&lt;br /&gt;
* Виправлено сортування за адресою у списку завдань &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлена можливість одночасно відкласти завдання та вказати довільний коментар&lt;br /&gt;
&lt;br /&gt;
== 3.20.2 - 18.07.2025 ==&lt;br /&gt;
* Додано метод API-&amp;gt;task-&amp;gt;[[API_task_UK#add_cable_line_to_task|add_cable_line_to_task]]&lt;br /&gt;
* Додано метод API-&amp;gt;task-&amp;gt;[[API_task_UK#remove_cable_line_from_task|remove_cable_line_from_task]]&lt;br /&gt;
* Список підключених ONU на OLT можна виводити на друк або експортувати до XLS&lt;br /&gt;
* Для споруд зв&#039;язку та кабельних ліній додано можливість у групових діях змінювати нотатки&lt;br /&gt;
* У шаблоні спливаючої підказки на завдання на карті покриття можна відображати дату створення завдання, дату оновлення, текст останнього коментаря&lt;br /&gt;
* У ланцюжках/автоматизації за типами завдань додано дію &amp;quot;Абоненти. Виключити&amp;quot;&lt;br /&gt;
* Для ланцюжків/автоматизації в типах завдань додана можливість відключати автопризначуваних виконавців під час створення нового завдання за ланцюжку&lt;br /&gt;
* Доопрацьовано відображення посилань в описі типу завдань у картці завдання&lt;br /&gt;
* Виправлена фільтрація абонентів, що залежать від кросу/odf &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 3.20.1 - 12.07.2025 ==&lt;br /&gt;
* У списку будівель доданий фільтр за будівлях, у яких знято позначку &amp;quot;Відображати на карті&amp;quot;&lt;br /&gt;
* Виправлена неможливість відкрити картку автотранспорту зі списку&lt;br /&gt;
* Виправлено пошук за найменуванням кабельної лінії під час створення завдання &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
* Виправлення відображення інформації про абонента у списку завдань &#039;&#039;(у деяких випадках)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 3.20 - 09.07.2025 ==&lt;br /&gt;
* Реліз версії 3.20&lt;br /&gt;
* Список змін див. [[3.20_UK|3.20]]&lt;/div&gt;</summary>
		<author><name>IronBot</name></author>
	</entry>
	<entry>
		<id>https://wiki.userside.eu/index.php?title=3.21_UK&amp;diff=22045</id>
		<title>3.21 UK</title>
		<link rel="alternate" type="text/html" href="https://wiki.userside.eu/index.php?title=3.21_UK&amp;diff=22045"/>
		<updated>2026-06-15T06:31:28Z</updated>

		<summary type="html">&lt;p&gt;IronBot: [IronBot] Sync UK localization from RU&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[3.21_EN|en]] | &#039;&#039;&#039;uk&#039;&#039;&#039; | [[3.21|ru]]&lt;br /&gt;
&lt;br /&gt;
Дата випуску: &#039;&#039;&#039;червень 2026&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Основні зміни: https://promo.userside.eu/321/&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Див. також:&lt;br /&gt;
* [[Оновлення 3.21|Оновлення до версії 3.21]]&lt;br /&gt;
* [[Версії ERP &amp;quot;USERSIDE&amp;quot;]] | [[Версії 3.21|Версії 3.21]]&lt;br /&gt;
&lt;br /&gt;
== Перелік змін ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Особливої важливості:&#039;&#039;&#039;&lt;br /&gt;
* [[PWA (застосунок)|PWA &#039;&#039;(застосунок)&#039;&#039;]]&lt;br /&gt;
* Автоматична побудова [[Бізнес-процес|схеми бізнес-логіки/робочого процесу]] для типів завдань на основі ланцюжків/автоматизації&lt;br /&gt;
* [[Календар|Оновлений календар]] завдань та [[Інтеграція з Google-календарем|інтеграція з Google-календарем]]&lt;br /&gt;
* Окремий [[Масова передача ТМЦ|інтерфейс для швидкої передачі ТМЦ]] через сканування або введення штрихкодів, серійних номерів тощо &#039;&#039;(зокрема з підтримкою сканування штрихкодів камерою мобільного пристрою)&#039;&#039;&lt;br /&gt;
* [[Схема комутації#anchor_321|Снапшоти схем комутації]] виводяться на основній схемі та формуються безпосередньо під час операцій комутації/розриву комутації на споруді зв&#039;язку&lt;br /&gt;
* У схемі комутації створення з&#039;єднань, видалення та зміна ламаної з&#039;єднання виконуються без перезавантаження й очікування сторінки &#039;&#039;(на практиці це пришвидшило роботу у 2-10 разів)&#039;&#039;&lt;br /&gt;
* Панель на головній сторінці з [[Список завдань#anchor_321|лічильниками фільтрів за завданнями/показниками KPI]]&lt;br /&gt;
* &amp;quot;Фізичне&amp;quot; [[Підписання документів з абонентами|підписання документів з абонентами/клієнтами]] на планшетах &#039;&#039;(мобільних пристроях)&#039;&#039;&lt;br /&gt;
* Реалізовано автооновлення GPS-позиції транспорту на мапі в реальному часі &#039;&#039;(кожні N секунд)&#039;&#039;&lt;br /&gt;
* Віджет на головну сторінку: [[Статистика_UK#anchor_321|найпроблемніші абоненти та будинки]]&lt;br /&gt;
* Нова [[Структурна схема|структурна схема]]. Масштабування, збереження у SVG&lt;br /&gt;
* [[Internal API UK|Internal API]] v2. Подієва система в ERP&lt;br /&gt;
* Підтримка обліку IPv6 для обладнання та абонентів&lt;br /&gt;
* Оновлений UI/UX&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Абоненти/клієнти:&#039;&#039;&#039;&lt;br /&gt;
* Реалізовано масовий імпорт потенційних абонентів&lt;br /&gt;
* У групових діях за абонентами додано можливість надіслати SMS&lt;br /&gt;
* &#039;&#039;&#039;В умовах SMS-розсилки можна додавати конкретних абонентів&#039;&#039;&#039;&lt;br /&gt;
* В SMS-розсилці додано фільтр &amp;quot;Ігнорувати відмову від отримання SMS&amp;quot;&lt;br /&gt;
* У груповому надсиланні email абонентам додано різні шаблони з даними про абонента&lt;br /&gt;
* У листуванні з абонентом можна вимкнути відображення коментарів за завданнями&lt;br /&gt;
* Додано зберігання історії статусів абонентів&lt;br /&gt;
* Список абонентів:&lt;br /&gt;
** &#039;&#039;&#039;У фільтрі підтримується режим &amp;quot;і/або&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;У фільтрі додано можливість включати/виключати умови &#039;&#039;(раніше можна було лише включати)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
** Додано фільтр &amp;quot;Абоненти, включені в обладнання&amp;quot;&lt;br /&gt;
** Додано фільтр за номером завдання. Також у картці завдання, де прикріплено від 3 абонентів, додано посилання на цей фільтр&lt;br /&gt;
** У списку абонентів додано можливість відображати поле &amp;quot;Менеджер&amp;quot;&lt;br /&gt;
** У списку залежних абонентів від пристрою/споруди зв&#039;язку також враховуються абоненти, які не скомутовані, але мають пристрої &#039;&#039;(наприклад ONU)&#039;&#039;, залежні від батьківського об&#039;єкта&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Обладнання:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Додано вкладки в картці комутатора/обладнання&#039;&#039;&#039;&lt;br /&gt;
* Якщо для пристрою не вказано IP-адресу, він має один порт і при цьому підключений до вищого керованого комутатора, то в таблиці портів цього пристрою виводитиметься SNMP-інформація з порту вищого пристрою&lt;br /&gt;
* PON:&lt;br /&gt;
** &#039;&#039;&#039;Історія зміни рівня сигналу ONU тепер виводиться у вигляді графіка&#039;&#039;&#039;&lt;br /&gt;
** Для списку підключених ONU можна налаштувати порядок і відображення полів&lt;br /&gt;
** У картці OLT на портах виводиться лічильник кількості ONU на них&lt;br /&gt;
* Можна вказувати відсотки поділу для запланованих дільників&lt;br /&gt;
* У таблиці дільників додано поле &amp;quot;Кількість зайнятих адаптерів&amp;quot;&lt;br /&gt;
* У картці VLAN додано можливість вручну додавати пристрої&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Схема комутації:&#039;&#039;&#039;&lt;br /&gt;
* Написи на схемі комутації можна повертати під кутом&lt;br /&gt;
* Під час додавання дільника зі схеми комутації більше не відбувається перехід у картку дільника: користувач залишається у схемі&lt;br /&gt;
* У майстрі комутації додано можливість комутації пристроїв&lt;br /&gt;
* Для кросу/ODF у схемі комутації додано можливість швидко змінювати підписи для всіх портів одразу&lt;br /&gt;
* Для запланованих комутацій у схемі перепланування додано можливість змінювати маршрут вручну&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Завдання:&#039;&#039;&#039;&lt;br /&gt;
* Оновлений [[Календар|календар завдань]]:&lt;br /&gt;
** &#039;&#039;&#039;перетягування завдань &#039;&#039;(зміна часу робіт)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
** можна змінювати строк виконання завдання &#039;&#039;(перетягувати нижню межу)&#039;&#039;&lt;br /&gt;
** тижневий/місячний режим для підрозділів і співробітників&lt;br /&gt;
** режим &amp;quot;підрозділ&amp;quot;/&amp;quot;+співробітники&amp;quot;/&amp;quot;+співробітники і підрозділи&amp;quot;&lt;br /&gt;
** 15/30/60 хвилин &#039;&#039;(раніше тільки слоти по 1 годині)&#039;&#039;&lt;br /&gt;
** позначається факт високого пріоритету, а також можна налаштовувати шаблон інформації для заголовка завдання і тіла завдання&lt;br /&gt;
* &#039;&#039;&#039;Перевірка існування раніше прикріпленого файла в завданнях і коментарях до завдання &#039;&#039;(щоб запобігти спробам співробітників прикріплювати старі файли, видаючи їх за нові)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
* У картці завдання додано можливість однією кнопкою передати ТМЦ із доступних цьому співробітнику&lt;br /&gt;
* Новий спецтип для типів завдань: &amp;quot;Роботи з боржниками&amp;quot;&lt;br /&gt;
* У картці завдання виводиться рядок з координатами і швидким переходом на Google-мапу&lt;br /&gt;
* Під час створення дочірнього завдання з картки завдання додано можливість копіювати &#039;&#039;(використовувати)&#039;&#039; також файли з батьківського завдання&lt;br /&gt;
* Дороблено відображення інформації про ТМЦ у списку ТМЦ під час зміни статусу завдання&lt;br /&gt;
* &amp;quot;Робочі нотатки&amp;quot; розширено з будинків на будь-який адресний об&#039;єкт&lt;br /&gt;
&lt;br /&gt;
* Нові параметри налаштування:&lt;br /&gt;
** &amp;quot;У картці завдання сортувати абонентів за порядком їх додавання в завдання&amp;quot;&lt;br /&gt;
** &amp;quot;Інтервал для відображення завдань у розділі &amp;quot;Мої завдання&amp;quot; (днів)&amp;quot;&lt;br /&gt;
** &amp;quot;Заблокувати виконання автоматизації/ланцюжка завдань під час повернення завдання зі статусу із системною роллю &amp;quot;Відкладено&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Ланцюжки завдань/автоматизація:&lt;br /&gt;
** Додано додаткову умову &amp;quot;Завдання. Мітка&amp;quot;&lt;br /&gt;
** Додано варіанти дій:&lt;br /&gt;
*** &amp;quot;Батьківське завдання (найперше в ланцюжку). Змінити статус на&amp;quot;&lt;br /&gt;
*** &amp;quot;Батьківське завдання (усі в ланцюжку). Змінити статус на&amp;quot;&lt;br /&gt;
*** &amp;quot;ТМЦ. Передати в батьківське завдання&amp;quot;&lt;br /&gt;
*** &amp;quot;ТМЦ. Передати в дочірнє завдання&amp;quot;&lt;br /&gt;
*** &amp;quot;Перенесення значень додаткових полів у картку будинку&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Список завдань:&lt;br /&gt;
** У списку завдань виводяться мініатюри прикріплених файлів &#039;&#039;(параметр налаштування)&#039;&#039;&lt;br /&gt;
** Фільтр завдань:&lt;br /&gt;
*** додано режими &amp;quot;і/або&amp;quot;&lt;br /&gt;
*** розширено фільтр за номером батьківського завдання&lt;br /&gt;
*** розширено фільтр за &amp;quot;Виконано зі строком виконання понад...&amp;quot;&lt;br /&gt;
*** розширено фільтр за номером батьківського завдання&lt;br /&gt;
*** додано фільтр за значенням чек-листа&lt;br /&gt;
** У списку завдань додано групові дії:&lt;br /&gt;
*** &amp;quot;Абоненти - Відкрити список&amp;quot;&lt;br /&gt;
*** &amp;quot;Призначити власника&amp;quot;&lt;br /&gt;
*** &amp;quot;Виключити власника&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Склад:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;В операціях за складом додано фільтрацію за &amp;quot;Адреса (з об&#039;єктами)&amp;quot;, що дозволяє вибрати операції передачі ТМЦ на всі об&#039;єкти цієї території&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;У списку ТМЦ додано можливість фільтрації за будь-яким адресним об&#039;єктом &#039;&#039;(включно з усім підпорядкуванням)&#039;&#039; &#039;&#039;(область, місто, вулиця...)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
* У списку ТМЦ виводиться підсумковий рядок із загальною вартістю/закупівельною вартістю&lt;br /&gt;
* У звіті щодо залишків ТМЦ назви позицій ТМЦ зроблено посиланнями для швидкого перегляду списку цих ТМЦ&lt;br /&gt;
* Групи для постачальників&lt;br /&gt;
* Додано можливість надсилати повідомлення співробітнику в Messenger/Telegram під час передачі ТМЦ йому під звіт/з-під звіту&lt;br /&gt;
* Під час розділення ТМЦ додано можливість одразу вказувати MAC-адреси/серійні номери для цих ТМЦ&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Покриття:&#039;&#039;&#039;&lt;br /&gt;
* Реалізовано автооновлення GPS-позиції транспорту на мапі в реальному часі &#039;&#039;(кожні N секунд)&#039;&#039;. Додано параметр налаштування &amp;quot;Інтервал оновлення позиції транспорту на мапі&amp;quot;&lt;br /&gt;
* &#039;&#039;&#039;Коли на мапі кілька об&#039;єктів накладено один на одного &#039;&#039;(споруди зв&#039;язку в одній точці/багато муфт на опорі... або кабельні лінії проходять поруч)&#039;&#039;, то під час наведення на це скупчення об&#039;єктів воно розкривається з можливістю вибрати потрібний&#039;&#039;&#039;&lt;br /&gt;
* Доробка відображення на мапі кабельних ліній, які проходять через екран, але мають кінцеві точки поза поточною областю відображення&lt;br /&gt;
* Нова лінійка на мапі&lt;br /&gt;
* Новий тип об&#039;єктів на мапу: &amp;quot;Посилання&amp;quot;&lt;br /&gt;
* У спливних підказках на полігонах на мапі виводяться значення додаткових полів&lt;br /&gt;
* У списку будинків додано можливість виведення поля з відсотком проникнення, поле &amp;quot;Нотатки&amp;quot; і фільтр за цим полем&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Споруди зв&#039;язку:&#039;&#039;&#039;&lt;br /&gt;
* Для споруди зв&#039;язку можна вказати приховування її з мапи покриття&lt;br /&gt;
* Для типів споруд зв&#039;язку додано параметр &amp;quot;Під час додавання об&#039;єкта пропонувати новий номер&amp;quot;&lt;br /&gt;
* У макеті шафи/стійки у спливних підказках на пристроях додано відображення серійного/інвентарних номерів&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Кабельні лінії:&#039;&#039;&#039;&lt;br /&gt;
* У списку кабельних ліній додано фільтр за додатковими полями&lt;br /&gt;
* У групових діях із заміни марки кабелю в списку кабельних ліній додано можливість під час цієї дії замінювати кольори модулів/волокон/провідників у кабелі відповідно до нової марки кабелю&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Співробітники:&#039;&#039;&#039;&lt;br /&gt;
* Налаштування в персональному налаштуванні: додаткові кнопки для лівого меню в мобільній версії, зокрема власні посилання&lt;br /&gt;
* Нові права в профілях співробітників:&lt;br /&gt;
** Перегляд/зміна інформації про постачальників&lt;br /&gt;
** Перегляд/зміна штрафів і премій персоналу&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;API:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Можна створювати окремі [[UserSide API Key UK|API-ключі]] тільки для операцій читання даних&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Усі запити на запис/зміну даних тепер мають надсилатися лише через POST&#039;&#039;&#039;&lt;br /&gt;
* У запиті не повинно бути сторонніх параметрів. Якщо сторонній параметр присутній, запит повертатиме помилку&lt;br /&gt;
* Доопрацьовано метод API-&amp;gt;address-&amp;gt;[[API_address_UK#edit_address|edit_address]]&lt;br /&gt;
* Доопрацьовано метод API-&amp;gt;attach-&amp;gt;[[API_attach_UK#add|add]]&lt;br /&gt;
* Додано метод API-&amp;gt;attach-&amp;gt;[[API_attach_UK#upload|upload]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Транспорт:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Глибоко перероблено операції за транспортом. Різні типи, контроль пробігу, строків. Повідомлення на головну сторінку і список транспорту. Ведення історії змін в операціях&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Інше:&#039;&#039;&#039;&lt;br /&gt;
* PHP 8.4&lt;br /&gt;
* Додано локалізації: албанська, узбецька, таджицька. Численні виправлення в поточних локалізаціях.&lt;br /&gt;
* &#039;&#039;&#039;Модуль [[usm_asterisk]] тепер підтримує передачу записів дзвінків і можливість прослуховувати їх в інтерфейсі ERP&#039;&#039;&#039;&lt;br /&gt;
* Перехід із числових ID на рядкові UUID в об&#039;єктах &#039;&#039;(числові ID для частини об&#039;єктів залишено як додаткові довідкові)&#039;&#039;&lt;br /&gt;
* Новий редактор WYSIWYG&lt;br /&gt;
* &#039;&#039;&#039;Темна схема інтерфейсу &#039;&#039;(з підтримкою автоматичного перемикання)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Редагування значень додаткових полів у картках об&#039;єктів прямо в режимі перегляду &#039;&#039;(без потреби переходити в редагування)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Перероблено блок роботи з прикріпленими файлами&#039;&#039;&#039;&lt;br /&gt;
** Повністю інші можливості, галерея, дії тощо&lt;br /&gt;
** Для мобільних пристроїв швидка кнопка &amp;quot;Фотографувати&amp;quot;&lt;br /&gt;
** Для мобільних пристроїв велика кнопка додавання файлів&lt;br /&gt;
** Блок Ctrl+V для роботи з буфером обміну тепер підтримує вставлення кількох зображень і файлів будь-яких форматів &#039;&#039;(а не лише зображень)&#039;&#039;&lt;br /&gt;
* Нове ліве адаптивне меню з можливістю приховування/відкриття&lt;br /&gt;
* &#039;&#039;&#039;Додано кнопки в лівому меню для мобільних пристроїв:&#039;&#039;&#039;&lt;br /&gt;
** &amp;quot;Моя позиція на мапі&amp;quot;&lt;br /&gt;
** QR-код&lt;br /&gt;
** Штрихкод &#039;&#039;(+ може подавати звуковий сигнал під час сканування)&#039;&#039;. Якщо є такий ТМЦ, відкривається картка ТМЦ; якщо немає прав до ТМЦ, але є таке обладнання, відкривається картка обладнання. Інакше відкривається список пошуку&lt;br /&gt;
** Три кнопки для власних посилань&lt;br /&gt;
** Кнопки поділитися посиланням/відкрити посилання&lt;br /&gt;
* &#039;&#039;&#039;Опція &amp;quot;Конвертувати HEIC-файли в JPEG&amp;quot; і власне підтримка роботи з .heic файлами на льоту&#039;&#039;&#039;&lt;br /&gt;
* Розділ &amp;quot;Блокнот&amp;quot; трансформувався в налаштовуваний власний розділ. Це значно розширює його функціональність&lt;br /&gt;
* Нова бібліотека генерації штрихкодів &#039;&#039;(у SVG-форматі)&#039;&#039;&lt;br /&gt;
* Дороблено звіт за надходженнями коштів: групування за населеними пунктами, а також за населеними пунктами + місяцями, і можливість детального перегляду списку платежів&lt;br /&gt;
* У групових діях за об&#039;єктами кнопка &amp;quot;Застосувати&amp;quot; тепер містить кількість позначених об&#039;єктів і блокується, якщо не вибрано дію/об&#039;єкти&lt;br /&gt;
* Селектор вибору дати/дати-часу: виправлено локалізацію під поточну мову&lt;br /&gt;
* Превентивно впроваджено рішення для забезпечення сумісності з датами після 2038 року &#039;&#039;(&amp;quot;Unix 2038 bug&amp;quot;)&#039;&#039;&lt;br /&gt;
* Окремі SMS-профілі для роботи. Наприклад, для кожної SMS-розсилки можна вказати окремий SMS-профіль &#039;&#039;(власне альфа-ім&#039;я, інший оператор...)&#039;&#039;&lt;br /&gt;
* У списках об&#039;єктів у фільтрацію за значеннями додаткових полів додано варіанти фільтрації &amp;quot;більше&amp;quot; і &amp;quot;менше&amp;quot;&lt;br /&gt;
* Нові версії зовнішніх [[Модулі#Поточні_версії_модулів|модулів]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Інші зміни: див. https://wiki.userside.eu/3.20&lt;/div&gt;</summary>
		<author><name>IronBot</name></author>
	</entry>
	<entry>
		<id>https://wiki.userside.eu/index.php?title=%D0%92%D0%B5%D1%80%D1%81%D1%96%D1%97_3.21&amp;diff=22044</id>
		<title>Версії 3.21</title>
		<link rel="alternate" type="text/html" href="https://wiki.userside.eu/index.php?title=%D0%92%D0%B5%D1%80%D1%81%D1%96%D1%97_3.21&amp;diff=22044"/>
		<updated>2026-06-15T06:31:27Z</updated>

		<summary type="html">&lt;p&gt;IronBot: [IronBot] Sync UK localization from RU&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Versions_3.21_EN|en]] | &#039;&#039;&#039;uk&#039;&#039;&#039; | [[Версии_3.21|ru]]&lt;br /&gt;
&lt;br /&gt;
Версії гілки [[3.21_UK|3.21]]&lt;br /&gt;
&lt;br /&gt;
Див. також: [[Версії_ERP_&amp;quot;USERSIDE&amp;quot;|Версії ERP &amp;quot;USERSIDE&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
== 3.21.0-beta.4 - 13.06.2026 ==&lt;br /&gt;
* Виправлення за підсумками бета-тестування&lt;br /&gt;
&lt;br /&gt;
== 3.21.0-beta.3 - 07.06.2026 ==&lt;br /&gt;
* Виправлення за підсумками бета-тестування&lt;br /&gt;
&lt;br /&gt;
== 3.21.0-beta.2 - 30.05.2026 ==&lt;br /&gt;
* Виправлення за підсумками бета-тестування&lt;br /&gt;
&lt;br /&gt;
== 3.21.0-beta.1 - 24.05.2026 ==&lt;br /&gt;
* Перелік змін див. у [[3.21_UK|3.21]]&lt;/div&gt;</summary>
		<author><name>IronBot</name></author>
	</entry>
	<entry>
		<id>https://wiki.userside.eu/index.php?title=3.21_EN&amp;diff=22043</id>
		<title>3.21 EN</title>
		<link rel="alternate" type="text/html" href="https://wiki.userside.eu/index.php?title=3.21_EN&amp;diff=22043"/>
		<updated>2026-06-15T06:31:17Z</updated>

		<summary type="html">&lt;p&gt;IronBot: [IronBot] Sync EN localization from RU&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;en&#039;&#039;&#039; | [[3.21_UK|uk]] | [[3.21|ru]]&lt;br /&gt;
&lt;br /&gt;
Release date: &#039;&#039;&#039;June 2026&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Main changes: https://promo.userside.eu/321/&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
See also:&lt;br /&gt;
* [[Upgrade_3.21|Upgrade to version 3.21]]&lt;br /&gt;
* [[Versions of ERP &amp;quot;USERSIDE&amp;quot;]] | [[Versions 3.21 EN|Versions 3.21]]&lt;br /&gt;
&lt;br /&gt;
== List of changes ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;High-priority changes:&#039;&#039;&#039;&lt;br /&gt;
* [[PWA (application)|PWA &#039;&#039;(application)&#039;&#039;]]&lt;br /&gt;
* Automatic building of a [[Business process|business logic/workflow diagram]] for task types based on task chains and automation&lt;br /&gt;
* Updated task [[Calendar|calendar]] and [[Google Calendar integration|Google Calendar integration]]&lt;br /&gt;
* A separate [[Bulk inventory transfer|interface for fast inventory transfer]] by scanning or entering barcodes, serial numbers, and other identifiers &#039;&#039;(including barcode scanning with a mobile device camera)&#039;&#039;&lt;br /&gt;
* [[Switching scheme#anchor_321|Switching scheme snapshots]] are shown on the main scheme and are generated directly during switching/disconnection operations on a communications installation&lt;br /&gt;
* In the switching scheme, creating connections and deleting or changing a connection polyline is performed without reloading or waiting for the page &#039;&#039;(in practice, this made work 2-10 times faster)&#039;&#039;&lt;br /&gt;
* A home-page panel with [[Work schedule#anchor_321|task filter counters/KPI indicators]]&lt;br /&gt;
* &amp;quot;Physical&amp;quot; [[Document signing with customers|document signing by customers/clients]] on tablets &#039;&#039;(mobile devices)&#039;&#039;&lt;br /&gt;
* Automatic real-time GPS position updates for transport on the map &#039;&#039;(every N seconds)&#039;&#039;&lt;br /&gt;
* Home-page widget with [[Statistics#anchor_321|the most problematic customers and buildings]]&lt;br /&gt;
* New [[Structural scheme|structural scheme]]. Scaling and SVG export&lt;br /&gt;
* [[Internal API EN|Internal API]] v2. Event system in ERP&lt;br /&gt;
* IPv6 accounting support for equipment and customers&lt;br /&gt;
* Updated UI/UX&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Customers/clients:&#039;&#039;&#039;&lt;br /&gt;
* Added mass import of potential customers&lt;br /&gt;
* Added the ability to send SMS in group actions for customers&lt;br /&gt;
* &#039;&#039;&#039;Specific customers can be added to SMS mailing conditions&#039;&#039;&#039;&lt;br /&gt;
* Added the &amp;quot;Ignore SMS opt-out&amp;quot; filter to SMS mailings&lt;br /&gt;
* Added different customer-data templates for group email sending to customers&lt;br /&gt;
* Customer correspondence can hide comments from tasks&lt;br /&gt;
* Added customer status history storage&lt;br /&gt;
* Customer list:&lt;br /&gt;
** &#039;&#039;&#039;The filter now supports &amp;quot;and/or&amp;quot; mode&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;The filter can now include/exclude conditions &#039;&#039;(previously it could only include them)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
** Added the &amp;quot;Customers included in equipment&amp;quot; filter&lt;br /&gt;
** Added filtering by task number. The task card also shows a link to this filter when at least three customers are attached to the task&lt;br /&gt;
** The customer list can display the &amp;quot;Manager&amp;quot; field&lt;br /&gt;
** The list of customers dependent on a device/communications installation also includes customers that are not commutated but have devices &#039;&#039;(for example ONU)&#039;&#039; that depend on the parent object&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Equipment:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Added tabs to the switch/equipment card&#039;&#039;&#039;&lt;br /&gt;
* If a device has no IP address, has one port, and is connected to an upstream managed switch, the port table for that device shows SNMP information from the upstream device port&lt;br /&gt;
* PON:&lt;br /&gt;
** &#039;&#039;&#039;ONU signal level history is now displayed as a chart&#039;&#039;&#039;&lt;br /&gt;
** The order and displayed fields can be configured for the list of connected ONUs&lt;br /&gt;
** The OLT card now shows an ONU counter on ports&lt;br /&gt;
* Split percentages can be specified for planned splitters&lt;br /&gt;
* Added the &amp;quot;Number of occupied adapters&amp;quot; field to the splitters table&lt;br /&gt;
* Devices can be added manually in the VLAN card&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Switching scheme:&#039;&#039;&#039;&lt;br /&gt;
* Labels on the switching scheme can be rotated&lt;br /&gt;
* When adding a splitter from the switching scheme, the user no longer leaves the scheme for the splitter card&lt;br /&gt;
* The switching wizard can now switch devices&lt;br /&gt;
* Added the ability to quickly change labels for all ports at once for a distribution frame/ODF in the switching scheme&lt;br /&gt;
* Planned commutations in the replanning scheme can now have their route changed manually&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Tasks:&#039;&#039;&#039;&lt;br /&gt;
* Updated task [[Calendar|calendar]]:&lt;br /&gt;
** &#039;&#039;&#039;dragging tasks &#039;&#039;(changing work time)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
** task due time can be changed &#039;&#039;(by dragging the lower boundary)&#039;&#039;&lt;br /&gt;
** weekly/monthly mode for departments and employees&lt;br /&gt;
** modes: &amp;quot;department&amp;quot; / &amp;quot;+ employees&amp;quot; / &amp;quot;+ employees and departments&amp;quot;&lt;br /&gt;
** 15/30/60 minutes &#039;&#039;(previously only one-hour slots)&#039;&#039;&lt;br /&gt;
** high priority is marked, and the information template for the task title and task body can be configured&lt;br /&gt;
* &#039;&#039;&#039;Checks whether a previously attached file still exists in tasks and task comments &#039;&#039;(to prevent employees from attaching old files as if they were new)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
* The task card can transfer inventory available to the employee with one button&lt;br /&gt;
* Added a new special type for task types: &amp;quot;Work with debtors&amp;quot;&lt;br /&gt;
* The task card shows a row with coordinates and a quick link to Google Maps&lt;br /&gt;
* When creating a child task from the task card, files from the parent task can also be copied &#039;&#039;(used)&#039;&#039;&lt;br /&gt;
* Improved display of inventory information in the inventory list when the task status changes&lt;br /&gt;
* &amp;quot;Work notes&amp;quot; were extended from buildings to any address object&lt;br /&gt;
&lt;br /&gt;
* New settings:&lt;br /&gt;
** &amp;quot;Sort customers in the task card by the order in which they were added to the task&amp;quot;&lt;br /&gt;
** &amp;quot;Interval for displaying tasks in the My tasks section (days)&amp;quot;&lt;br /&gt;
** &amp;quot;Block execution of task automation/chain when a task is returned from a status with the system role Deferred&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Task chains/automation:&lt;br /&gt;
** Added the additional condition &amp;quot;Task. Tag&amp;quot;&lt;br /&gt;
** Added action variants:&lt;br /&gt;
*** &amp;quot;Parent task (the very first in the chain). Change status to&amp;quot;&lt;br /&gt;
*** &amp;quot;Parent task (all in the chain). Change status to&amp;quot;&lt;br /&gt;
*** &amp;quot;Inventory. Transfer to parent task&amp;quot;&lt;br /&gt;
*** &amp;quot;Inventory. Transfer to child task&amp;quot;&lt;br /&gt;
*** &amp;quot;Transfer custom field values to the building card&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Task list:&lt;br /&gt;
** The task list can show thumbnails of attached files &#039;&#039;(setting)&#039;&#039;&lt;br /&gt;
** Task filter:&lt;br /&gt;
*** added &amp;quot;and/or&amp;quot; modes&lt;br /&gt;
*** expanded filter by parent task number&lt;br /&gt;
*** expanded filter by &amp;quot;Completed with due time over...&amp;quot;&lt;br /&gt;
*** expanded filter by parent task number&lt;br /&gt;
*** added filtering by checklist value&lt;br /&gt;
** Added group actions in the task list:&lt;br /&gt;
*** &amp;quot;Customers - Open list&amp;quot;&lt;br /&gt;
*** &amp;quot;Assign owner&amp;quot;&lt;br /&gt;
*** &amp;quot;Remove owner&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Warehouse:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Warehouse operations now have filtering by &amp;quot;Address (with objects)&amp;quot;, which allows selecting inventory transfer operations for all objects in that area&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;The inventory list can now be filtered by any address object &#039;&#039;(including the full hierarchy)&#039;&#039; &#039;&#039;(region, city, street, etc.)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
* The inventory list shows a totals row with total cost/purchase cost&lt;br /&gt;
* In the inventory balance report, report item names are links for quickly viewing the corresponding inventory list&lt;br /&gt;
* Added groups for suppliers&lt;br /&gt;
* Added the ability to send an employee a Messenger/Telegram message when inventory is transferred to or from that employee&#039;s accountability&lt;br /&gt;
* When splitting inventory, MAC addresses/serial numbers can be specified for the resulting items immediately&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Coverage:&#039;&#039;&#039;&lt;br /&gt;
* Added automatic real-time GPS position updates for transport on the map &#039;&#039;(every N seconds)&#039;&#039;. Added the &amp;quot;Transport position update interval on the map&amp;quot; setting&lt;br /&gt;
* &#039;&#039;&#039;When several objects overlap on the map &#039;&#039;(communications installations at one point, many closures on one pole, cable lines running next to each other, etc.)&#039;&#039;, hovering over this cluster expands it so the required object can be selected&#039;&#039;&#039;&lt;br /&gt;
* Improved display of cable lines that pass through the visible map area while their endpoints are outside the current view&lt;br /&gt;
* Added a new ruler on the map&lt;br /&gt;
* Added a new map object type: &amp;quot;Link&amp;quot;&lt;br /&gt;
* Popup hints on map polygons now show custom field values&lt;br /&gt;
* The building list can show the penetration percentage field and the &amp;quot;Notes&amp;quot; field, and a filter for this field was added&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Communications installations:&#039;&#039;&#039;&lt;br /&gt;
* A communications installation can be hidden from the coverage map&lt;br /&gt;
* Added the &amp;quot;Suggest a new number when adding an object&amp;quot; parameter for communications installation types&lt;br /&gt;
* In the cabinet/rack layout, popup hints on devices now show serial/inventory numbers&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cable lines:&#039;&#039;&#039;&lt;br /&gt;
* Added filtering by custom fields in the cable line list&lt;br /&gt;
* In group actions for replacing the cable brand in the cable line list, this action can also replace module/fiber/conductor colors in the cable according to the new cable brand&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Employees:&#039;&#039;&#039;&lt;br /&gt;
* Added a personal setting for extra buttons in the left menu of the mobile version, including custom links&lt;br /&gt;
* New rights in employee profiles:&lt;br /&gt;
** View/change supplier information&lt;br /&gt;
** View/change employee fines and bonuses&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;API:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Separate [[UserSide API Key EN|API keys]] can now be created for read-only operations&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;All requests that write or modify data must now be sent only through POST&#039;&#039;&#039;&lt;br /&gt;
* Requests must not include extra parameters. If an extra parameter is present, the request returns an error&lt;br /&gt;
* Improved API method API-&amp;gt;address-&amp;gt;[[API_address_EN#edit_address|edit_address]]&lt;br /&gt;
* Improved API method API-&amp;gt;attach-&amp;gt;[[API_attach_EN#add|add]]&lt;br /&gt;
* Added API method API-&amp;gt;attach-&amp;gt;[[API_attach_EN#upload|upload]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Transport:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Transport operations were deeply reworked. Different types, mileage and deadline control, home-page and transport-list notifications, and operation change history are now supported&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Other:&#039;&#039;&#039;&lt;br /&gt;
* PHP 8.4&lt;br /&gt;
* Added Albanian, Uzbek, and Tajik localizations. Multiple fixes in existing localizations.&lt;br /&gt;
* &#039;&#039;&#039;The [[usm_asterisk]] module now supports transferring call recordings and listening to them in the ERP interface&#039;&#039;&#039;&lt;br /&gt;
* Switched objects from numeric IDs to string UUIDs &#039;&#039;(numeric IDs remain for some objects as additional reference values)&#039;&#039;&lt;br /&gt;
* New WYSIWYG editor&lt;br /&gt;
* &#039;&#039;&#039;Dark interface theme &#039;&#039;(with automatic switching support)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Custom field values can be edited directly in object cards while viewing them &#039;&#039;(without switching to edit mode)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Reworked attached-file block&#039;&#039;&#039;&lt;br /&gt;
** Completely different capabilities, gallery, actions, and more&lt;br /&gt;
** Quick &amp;quot;Take photo&amp;quot; button for mobile devices&lt;br /&gt;
** Large file-add button for mobile devices&lt;br /&gt;
** The Ctrl+V clipboard block now supports pasting multiple images and files of any format &#039;&#039;(not only images)&#039;&#039;&lt;br /&gt;
* New adaptive left menu with hide/show support&lt;br /&gt;
* &#039;&#039;&#039;Added buttons to the left menu for mobile devices:&#039;&#039;&#039;&lt;br /&gt;
** &amp;quot;My position on the map&amp;quot;&lt;br /&gt;
** QR code&lt;br /&gt;
** Barcode &#039;&#039;(and it can beep while scanning)&#039;&#039;. If such an inventory item exists, its card opens; if there are no rights to the inventory item but such equipment exists, the equipment card opens. Otherwise, the search list opens&lt;br /&gt;
** Three buttons for custom links&lt;br /&gt;
** Buttons to share/open a link&lt;br /&gt;
* &#039;&#039;&#039;Added the &amp;quot;Convert HEIC files to JPEG&amp;quot; option and on-the-fly .heic file support&#039;&#039;&#039;&lt;br /&gt;
* The &amp;quot;Notebook&amp;quot; section was transformed into a configurable custom section. This significantly expands its functionality&lt;br /&gt;
* New barcode generation library &#039;&#039;(SVG format)&#039;&#039;&lt;br /&gt;
* Improved the cash receipts report: grouping by settlements and by settlements + months, plus detailed payment list viewing&lt;br /&gt;
* In group actions for objects, the &amp;quot;Apply&amp;quot; button now shows the number of selected objects and is blocked if no action/objects are selected&lt;br /&gt;
* The date/date-time selector localization was fixed for the current language&lt;br /&gt;
* A compatibility solution for dates after 2038 was implemented preventively &#039;&#039;(&amp;quot;Unix 2038 bug&amp;quot;)&#039;&#039;&lt;br /&gt;
* Separate SMS profiles for work. For example, each SMS mailing can use a separate SMS profile &#039;&#039;(custom alpha name, different operator, etc.)&#039;&#039;&lt;br /&gt;
* Object-list filters by custom field values now include &amp;quot;greater than&amp;quot; and &amp;quot;less than&amp;quot; variants&lt;br /&gt;
* New versions of external [[Modules EN#Current_versions_of_modules|modules]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Other changes: see https://wiki.userside.eu/3.20&lt;/div&gt;</summary>
		<author><name>IronBot</name></author>
	</entry>
	<entry>
		<id>https://wiki.userside.eu/index.php?title=Versions_3.21_EN&amp;diff=22042</id>
		<title>Versions 3.21 EN</title>
		<link rel="alternate" type="text/html" href="https://wiki.userside.eu/index.php?title=Versions_3.21_EN&amp;diff=22042"/>
		<updated>2026-06-15T06:31:17Z</updated>

		<summary type="html">&lt;p&gt;IronBot: [IronBot] Sync EN localization from RU&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;en&#039;&#039;&#039; | [[Версії_3.21|uk]] | [[Версии_3.21|ru]]&lt;br /&gt;
&lt;br /&gt;
Versions of the [[3.21_EN|3.21]] branch&lt;br /&gt;
&lt;br /&gt;
Also see: [[Versions_of_ERP_&amp;quot;USERSIDE&amp;quot;|ERP &amp;quot;USERSIDE&amp;quot; versions]]&lt;br /&gt;
&lt;br /&gt;
== 3.21.0-beta.4 - 13.06.2026 ==&lt;br /&gt;
* Fixes based on beta testing results&lt;br /&gt;
&lt;br /&gt;
== 3.21.0-beta.3 - 07.06.2026 ==&lt;br /&gt;
* Fixes based on beta testing results&lt;br /&gt;
&lt;br /&gt;
== 3.21.0-beta.2 - 30.05.2026 ==&lt;br /&gt;
* Fixes based on beta testing results&lt;br /&gt;
&lt;br /&gt;
== 3.21.0-beta.1 - 24.05.2026 ==&lt;br /&gt;
* See the list of changes in [[3.21_EN|3.21]]&lt;/div&gt;</summary>
		<author><name>IronBot</name></author>
	</entry>
	<entry>
		<id>https://wiki.userside.eu/index.php?title=Versions_3.20_EN&amp;diff=22041</id>
		<title>Versions 3.20 EN</title>
		<link rel="alternate" type="text/html" href="https://wiki.userside.eu/index.php?title=Versions_3.20_EN&amp;diff=22041"/>
		<updated>2026-06-15T06:31:17Z</updated>

		<summary type="html">&lt;p&gt;IronBot: [IronBot] Sync EN localization from RU&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;en&#039;&#039;&#039; | [[Версії_3.20|uk]] | [[Версии_3.20|ru]]&lt;br /&gt;
&lt;br /&gt;
Branch versions [[3.20_EN|3.20]]&lt;br /&gt;
&lt;br /&gt;
Also see: [[Versions of ERP &amp;quot;USERSIDE&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
== 3.20.25 (in development) ==&lt;br /&gt;
* Fixed a bug with displaying the cable line list &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 3.20.24 - 27.05.2026 ==&lt;br /&gt;
* Fixed minor bugs and changes&lt;br /&gt;
&lt;br /&gt;
== 3.20.23 - 27.04.2026 ==&lt;br /&gt;
* Added API method-&amp;gt;call-&amp;gt;[[API_call_EN#agent_call|agent_call]]&lt;br /&gt;
* Added API method-&amp;gt;chapter-&amp;gt;[[API_chapter_EN#link_add|link_add]]&lt;br /&gt;
* Added API method-&amp;gt;chapter-&amp;gt;[[API_chapter_EN#link_get|link_get]]&lt;br /&gt;
* Added API method-&amp;gt;chapter-&amp;gt;[[API_chapter_EN#link_remove|link_remove]]&lt;br /&gt;
* Improved API method-&amp;gt;call-&amp;gt;[[API_call_EN#add|add]]&lt;br /&gt;
* Improved API method-&amp;gt;task-&amp;gt;[[API_task_EN#edit|edit]]&lt;br /&gt;
* Completed tasks now also show the &amp;quot;Overdue&amp;quot; flag when work deadlines are missed&lt;br /&gt;
* Fixed a bug when opening the work calendar &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed minor bugs&lt;br /&gt;
&lt;br /&gt;
== 3.20.22 - 04.04.2026 ==&lt;br /&gt;
* Fixed selecting an empty value in the task type for registration by phone&lt;br /&gt;
* Optimization work&lt;br /&gt;
* Fixed minor bugs&lt;br /&gt;
&lt;br /&gt;
== 3.20.21 - 11.03.2026 ==&lt;br /&gt;
* Fixed display of the error counter on equipment interfaces &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed SMS message template settings for customers in tasks&lt;br /&gt;
* Optimization work&lt;br /&gt;
* Fixed minor bugs&lt;br /&gt;
&lt;br /&gt;
== 3.20.20 - 22.02.2026 ==&lt;br /&gt;
* Optimized the &amp;quot;My tasks&amp;quot; section&lt;br /&gt;
* Fixed broken main menu layout in some cases&lt;br /&gt;
&lt;br /&gt;
== 3.20.19 - 08.02.2026 ==&lt;br /&gt;
* Fixed minor bugs&lt;br /&gt;
&lt;br /&gt;
== 3.20.18 - 23.01.2026 ==&lt;br /&gt;
* Optimized the warehouse report &amp;quot;Turnover balance sheet&amp;quot;&lt;br /&gt;
* Fixed minor bugs&lt;br /&gt;
&lt;br /&gt;
== 3.20.17 - 31.12.2025 ==&lt;br /&gt;
* Added API method-&amp;gt;task-&amp;gt;[[API task#add_node_to_task|add_node_to_task]]&lt;br /&gt;
* Added API method-&amp;gt;task-&amp;gt;[[API task#remove_node_from_task|remove_node_from_task]]&lt;br /&gt;
* Fixed execution of task chain &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed minor bugs&lt;br /&gt;
&lt;br /&gt;
== 3.20.16 - 14.12.2025 ==&lt;br /&gt;
* Fixed a bug with filtering by inventory section in the warehouse operations list&lt;br /&gt;
* Fixed minor bugs&lt;br /&gt;
&lt;br /&gt;
== 3.20.15 - 06.12.2025 ==&lt;br /&gt;
* For task chains/automation in task types, added the ability to specify fractional hour intervals&lt;br /&gt;
* Fixed minor bugs&lt;br /&gt;
&lt;br /&gt;
== 3.20.14 - 29.11.2025 ==&lt;br /&gt;
* Improvements to the API interface with Binotel&lt;br /&gt;
* Fixed minor bugs&lt;br /&gt;
&lt;br /&gt;
== 3.20.13 - 22.11.2025 ==&lt;br /&gt;
* Fixed minor bugs&lt;br /&gt;
&lt;br /&gt;
== 3.20.12 - 15.11.2025 ==&lt;br /&gt;
* Added the setting &amp;quot;Scale the width of the cable line on the switching diagram depending on the length of the name&amp;quot;&lt;br /&gt;
* Improved the display of unknown ONUs by OLT in the main page widget&lt;br /&gt;
* Fixed other minor bugs&lt;br /&gt;
&lt;br /&gt;
== 3.20.11 - 08.11.2025 ==&lt;br /&gt;
* Fixed an error when entering the Custom notifications section &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed an error when entering the device interface/stacking settings &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed the inability to switch between ODF/crosses in the switching master&lt;br /&gt;
* Fixed some migration errors&lt;br /&gt;
&lt;br /&gt;
== 3.20.10 - 07.11.2025 ==&lt;br /&gt;
* Added API method-&amp;gt;vehicle-&amp;gt;[[API vehicle#add|add]]&lt;br /&gt;
* Added API method-&amp;gt;vehicle-&amp;gt;[[API vehicle#edit|edit]]&lt;br /&gt;
* Added API method-&amp;gt;vehicle-&amp;gt;[[API vehicle#delete|delete]]&lt;br /&gt;
* In the communication installations card, in the block with attached image files, it is possible to quickly make an image the main photo for this object &#039;&#039;(without having to go to editing)&#039;&#039;&lt;br /&gt;
* In the cable line card, the ability to create a task with this line or add a line to an existing task has been added&lt;br /&gt;
* Sorting by additional fields in custom sections has been improved&lt;br /&gt;
* Filtering by inventory item name in the inventory list has been fixed&lt;br /&gt;
* The display of equipment layers on the coverage map has been fixed&lt;br /&gt;
* Other minor bugs have been fixed&lt;br /&gt;
&lt;br /&gt;
== 3.20.9 - 14.09.2025 ==&lt;br /&gt;
* Improved verification of access rights to ONU&lt;br /&gt;
* Fixed a bug when searching for a user during the transfer of inventory items &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed an update in the serial number database for ONU when polling OLT &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 3.20.8 - 06.09.2025 ==&lt;br /&gt;
* Added API method-&amp;gt;billing-&amp;gt;[[API billing#refresh_date_update|refresh_date_update]]&lt;br /&gt;
* Optimised interface for editing/adding address units &#039;&#039;(relevant for branched address structures)&#039;&#039;&lt;br /&gt;
* Links to view users associated with communication installations and cable lines have been added to the task card&lt;br /&gt;
* Fixed checking for parent task status in task automation &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed display of pop-up hints in the task calendar when scrolling horizontally&lt;br /&gt;
* Fixed assignment of employees to a department &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 3.20.7 - 25.08.2025 ==&lt;br /&gt;
* &#039;&#039;&#039;In-depth processing of transport operations. Various types, mileage control, deadlines. Notification on the main page and transport list. Keeping a history of changes in operations&#039;&#039;&#039;&lt;br /&gt;
* The history of actions for a potential user is transferred to the history of actions for a regular user when they are merged&lt;br /&gt;
* During hot replacement of a device, you can specify to save the history of MAC addresses on equipment ports &lt;br /&gt;
* The ability to clear switching has been added to group actions on the user list&lt;br /&gt;
* Technical migration of core data&lt;br /&gt;
* Fixed filtering of the FDB table by device &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed a bug when restricting an employee&#039;s access to a specific IP address&lt;br /&gt;
* Fixed ONU access rights verification&lt;br /&gt;
&lt;br /&gt;
== 3.20.6 - 15.08.2025 ==&lt;br /&gt;
* &#039;&#039;&#039; Separate SMS profiles for work. For example, you can specify a separate SMS profile for each SMS mailing &#039;&#039;(your own alpha name, different operator, etc.)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
* Separated ONU access rights for viewing and editing&lt;br /&gt;
* Fixed display of a large number of notebook sections in the section list&lt;br /&gt;
* Fixed information update when adding/removing a communication facility in a task&lt;br /&gt;
&lt;br /&gt;
== 3.20.5 - 08.08.2025 ==&lt;br /&gt;
* Added API method-&amp;gt;address-&amp;gt;[[API address#get_building_type|get_building_type]]&lt;br /&gt;
* Added the &amp;quot;Buildings. Pop-up message template on the map&amp;quot; setting&lt;br /&gt;
* Improved the interface for changing notes, adapter types, and connections for fibre cable lines&lt;br /&gt;
* Redesigned the interface for adding communication structures and cable lines to a task when creating a task&lt;br /&gt;
* Corrected the verification of access rights to the work schedule&lt;br /&gt;
* Improved the billing of employees for tasks in the work schedule when more than 5 employees are involved in the task&lt;br /&gt;
* Fixed a bug in filtering by building in the list of warehouse operations &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 3.20.4 - 04.08.2025 ==&lt;br /&gt;
* Added API method-&amp;gt;cross-&amp;gt;[[API cross#edit_adapter|edit_adapter]]&lt;br /&gt;
* Added API method-&amp;gt;task-&amp;gt;[[API address#edit_address|edit_address]]&lt;br /&gt;
* Added a setting parameter &amp;quot;Block automation/task chain execution when returning a task from the status with the system role &#039;Pending&#039; &amp;quot;&lt;br /&gt;
* Added grouping of tasks by street or location to the task list&lt;br /&gt;
* Improved saving of files attached to task comments&lt;br /&gt;
* Minor fixes and improvements&lt;br /&gt;
&lt;br /&gt;
== 3.20.3 - 27.07.2025 ==&lt;br /&gt;
* Added API method-&amp;gt;task-&amp;gt;[[API task#change_state|change_state]]&lt;br /&gt;
* The &amp;quot;Consider connections on dividers as mechanical&amp;quot; configuration parameter has been added&lt;br /&gt;
* In the task type settings for inventory items, you can specify that all inventory items should be moved to the associated building after closing&lt;br /&gt;
* In chains/automation by task type, the additional condition &amp;quot;Child/parent task status&amp;quot; has been added for the action options &amp;quot;Parent/Child task. Change status to&amp;quot;&lt;br /&gt;
* Information about the date of installation of inventory items on the building and the ability to export to XLS and printable versions has been added to the building card in the inventory list&lt;br /&gt;
* All attached files from another task can be copied to the card&lt;br /&gt;
* A direct link to view the customer&#039;s switching route has been added to the customer card&lt;br /&gt;
* For employee profiles, you can limit the maximum number of entries on the page (in tables/lists)&lt;br /&gt;
* The filter for communication facilities now includes the option to select by missing custom icon on the map&lt;br /&gt;
* In the list of warehouse operations in the counterparty selection selectors, the ability to specify a specific building has been added&lt;br /&gt;
* In group actions for buildings, the ability to change the individual colour on the map has been added&lt;br /&gt;
* In group actions for buildings, you can change the manager to the empty value &#039;&#039;(delete manager)&#039;&#039;&lt;br /&gt;
* Fixed sorting by address in the task list &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed the ability to simultaneously postpone a task and specify an arbitrary comment&lt;br /&gt;
&lt;br /&gt;
== 3.20.2 - 18.07.2025 ==&lt;br /&gt;
* Added API method-&amp;gt;task-&amp;gt;[[API task#add_cable_line_to_task|add_cable_line_to_task]]&lt;br /&gt;
* Added API method-&amp;gt;task-&amp;gt;[[API task#remove_cable_line_from_task|remove_cable_line_from_task]]&lt;br /&gt;
* The list of connected ONUs on the OLT can be printed or exported to XLS&lt;br /&gt;
* For communication installations and cable lines the possibility to change notes in group actions has been added&lt;br /&gt;
* In the template of the tooltip on the task on the coverage map it is possible to display the date of task creation, update date, text of the last comment&lt;br /&gt;
* In chains/automation by task type, added action &amp;quot;Customers. Exclude.&amp;quot;&lt;br /&gt;
* In chains/automation by task types, added possibility to disable auto-assigned executors when creating a new task in a chain&lt;br /&gt;
* Improved displaying of links in the description of a task type in the task card&lt;br /&gt;
* Fixed filtering of customers that depend on cross/odf &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 3.20.1 - 12.07.2025 ==&lt;br /&gt;
* In the list of buildings, added filter for buildings with &amp;quot;Display on map&amp;quot; unchecked&lt;br /&gt;
* Fixed inability to open a vehicle card from the list&lt;br /&gt;
* Fixed search by cable line name when task is created &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
* Fixed display of customer information in the task list &#039;&#039;(in some cases)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== 3.20 - 09.07.2025 ==&lt;br /&gt;
* Release version 3.20&lt;br /&gt;
* For a list of changes see [[3.20_EN|3.20]]&lt;/div&gt;</summary>
		<author><name>IronBot</name></author>
	</entry>
	<entry>
		<id>https://wiki.userside.eu/index.php?title=%D0%92%D0%B5%D1%80%D1%81%D1%96%D1%97_3.21&amp;diff=22032</id>
		<title>Версії 3.21</title>
		<link rel="alternate" type="text/html" href="https://wiki.userside.eu/index.php?title=%D0%92%D0%B5%D1%80%D1%81%D1%96%D1%97_3.21&amp;diff=22032"/>
		<updated>2026-06-07T05:56:59Z</updated>

		<summary type="html">&lt;p&gt;IronBot: [IronBot] Sync UK localization from RU&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Versions_3.21_EN|en]] | &#039;&#039;&#039;uk&#039;&#039;&#039; | [[Версии_3.21|ru]]&lt;br /&gt;
&lt;br /&gt;
Версії гілки [[3.21_UK|3.21]]&lt;br /&gt;
&lt;br /&gt;
Див. також: [[Версії_ERP_&amp;quot;USERSIDE&amp;quot;|Версії ERP &amp;quot;USERSIDE&amp;quot;]]&lt;br /&gt;
&lt;br /&gt;
== 3.21.0-beta.3 - 07.06.2026 ==&lt;br /&gt;
* Виправлення за підсумками бета-тестування&lt;br /&gt;
&lt;br /&gt;
== 3.21.0-beta.2 - 30.05.2026 ==&lt;br /&gt;
* Виправлення за підсумками бета-тестування&lt;br /&gt;
&lt;br /&gt;
== 3.21.0-beta.1 - 24.05.2026 ==&lt;br /&gt;
* Перелік змін див. у [[3.21_UK|3.21]]&lt;/div&gt;</summary>
		<author><name>IronBot</name></author>
	</entry>
	<entry>
		<id>https://wiki.userside.eu/index.php?title=Versions_3.21_EN&amp;diff=22031</id>
		<title>Versions 3.21 EN</title>
		<link rel="alternate" type="text/html" href="https://wiki.userside.eu/index.php?title=Versions_3.21_EN&amp;diff=22031"/>
		<updated>2026-06-07T05:56:59Z</updated>

		<summary type="html">&lt;p&gt;IronBot: [IronBot] Sync EN localization from RU&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;en&#039;&#039;&#039; | [[Версії_3.21|uk]] | [[Версии_3.21|ru]]&lt;br /&gt;
&lt;br /&gt;
Versions of the [[3.21_EN|3.21]] branch&lt;br /&gt;
&lt;br /&gt;
Also see: [[Versions_of_ERP_&amp;quot;USERSIDE&amp;quot;|ERP &amp;quot;USERSIDE&amp;quot; versions]]&lt;br /&gt;
&lt;br /&gt;
== 3.21.0-beta.3 - 07.06.2026 ==&lt;br /&gt;
* Fixes based on beta testing results&lt;br /&gt;
&lt;br /&gt;
== 3.21.0-beta.2 - 30.05.2026 ==&lt;br /&gt;
* Fixes based on beta testing results&lt;br /&gt;
&lt;br /&gt;
== 3.21.0-beta.1 - 24.05.2026 ==&lt;br /&gt;
* See the list of changes in [[3.21_EN|3.21]]&lt;/div&gt;</summary>
		<author><name>IronBot</name></author>
	</entry>
</feed>