<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://wiki.oktell.ru/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>https://wiki.oktell.ru/index.php?action=history&amp;feed=atom&amp;title=UI_Designer</id>
		<title>UI Designer - История изменений</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.oktell.ru/index.php?action=history&amp;feed=atom&amp;title=UI_Designer"/>
		<link rel="alternate" type="text/html" href="https://wiki.oktell.ru/index.php?title=UI_Designer&amp;action=history"/>
		<updated>2026-08-18T12:54:09Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.23.1</generator>

	<entry>
		<id>https://wiki.oktell.ru/index.php?title=UI_Designer&amp;diff=13809&amp;oldid=prev</id>
		<title>Admin в 07:53, 18 августа 2026</title>
		<link rel="alternate" type="text/html" href="https://wiki.oktell.ru/index.php?title=UI_Designer&amp;diff=13809&amp;oldid=prev"/>
				<updated>2026-08-18T07:53:06Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 07:53, 18 августа 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;С версии 2.15.260227 появилась возможность для создания кастомных интерактивных веб-форм с помощью продукта UI Designer.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Oktell UI Designer (далее UI Designer) — самостоятельный программный продукт для создания интерактивных веб-форм и диалоговых форм оператора. Он разработан отдельно от коммуникационной платформой «Oktell» (далее Oktell) и не является её модулем, надстройкой или производным продуктом. В этой инструкции описан один из способов применения продукта — интеграция с контакт-центром на базе коммуникационной платформой «Oktell» через открытый механизм веб-форм. Тот же способ подключения подходит и для других систем, умеющих отображать веб-страницу по ссылке.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Oktell UI Designer (далее UI Designer) — самостоятельный программный продукт для создания интерактивных веб-форм и диалоговых форм оператора. Он разработан отдельно от коммуникационной платформой «Oktell» (далее Oktell) и не является её модулем, надстройкой или производным продуктом. В этой инструкции описан один из способов применения продукта — интеграция с контакт-центром на базе коммуникационной платформой «Oktell» через открытый механизм веб-форм. Тот же способ подключения подходит и для других систем, умеющих отображать веб-страницу по ссылке.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>https://wiki.oktell.ru/index.php?title=UI_Designer&amp;diff=13808&amp;oldid=prev</id>
		<title>Admin: Новая страница: «С версии 2.15.260227 появилась возможность для создания кастомных интерактивных веб-форм с п…»</title>
		<link rel="alternate" type="text/html" href="https://wiki.oktell.ru/index.php?title=UI_Designer&amp;diff=13808&amp;oldid=prev"/>
				<updated>2026-08-18T07:43:13Z</updated>
		
		<summary type="html">&lt;p&gt;Новая страница: «С версии 2.15.260227 появилась возможность для создания кастомных интерактивных веб-форм с п…»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;С версии 2.15.260227 появилась возможность для создания кастомных интерактивных веб-форм с помощью продукта UI Designer.&lt;br /&gt;
&lt;br /&gt;
Oktell UI Designer (далее UI Designer) — самостоятельный программный продукт для создания интерактивных веб-форм и диалоговых форм оператора. Он разработан отдельно от коммуникационной платформой «Oktell» (далее Oktell) и не является её модулем, надстройкой или производным продуктом. В этой инструкции описан один из способов применения продукта — интеграция с контакт-центром на базе коммуникационной платформой «Oktell» через открытый механизм веб-форм. Тот же способ подключения подходит и для других систем, умеющих отображать веб-страницу по ссылке.&lt;br /&gt;
&lt;br /&gt;
'''1. О решении'''&lt;br /&gt;
&lt;br /&gt;
UI Designer — это конструктор интерактивных веб-форм с визуальным редактором. Он позволяет описывать экран оператора в виде декларативного состояния (JSON) и отображать его в браузере, а также обновлять содержимое формы по запросу — например, при получении новых данных о звонке или заявке.&lt;br /&gt;
Продукт распространяется в виде отдельных сборок и работает в двух режимах:&lt;br /&gt;
&lt;br /&gt;
–	режим просмотра — отображает готовую форму оператору;&lt;br /&gt;
&lt;br /&gt;
–	режим редактирования (конструктор) — открывает визуальный редактор формы, доступный по отдельному GET-параметру (см. раздел 6).&lt;br /&gt;
&lt;br /&gt;
Интеграция с внешней системой (в данном случае — с Oktell) выполняется через веб-страницу, которой передаются параметры сессии в адресной строке, и через файл конфигурации, который указывает, какой сценарий на стороне Oktell обрабатывает запросы формы.&lt;br /&gt;
&lt;br /&gt;
'''2. Что потребуется'''&lt;br /&gt;
&lt;br /&gt;
–	доступ к серверу Oktell, на котором нужно разместить сборку UI Designer;&lt;br /&gt;
&lt;br /&gt;
–	права на редактирование файлов в веб-каталоге сервера Oktell (папка WWW);&lt;br /&gt;
&lt;br /&gt;
–	текстовый редактор с подсветкой синтаксиса — например, Notepad++;&lt;br /&gt;
&lt;br /&gt;
–	доступ к скрипт-конструктору Oktell — для настройки сценария, который будет обрабатывать запросы формы, и для указания ссылки на форму в диалоговом сценарии оператора.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''3. Введение''' &lt;br /&gt;
&lt;br /&gt;
UI Designer входит в состав пакета обновлений Oktell. Убедитесь, что UI Designer установлен – проверьте наличии папки SRV\WWW\UIDesigner на сервере Oktell.Если папка отсутствует на сервере Oktell – обратитесь к партнеру OOO «Телефонные системы» для уточнения возможности получения и применения продукта.&lt;br /&gt;
Из перечисленных файлов и папок для настройки интеграции важны:&lt;br /&gt;
&lt;br /&gt;
–	static — служебные файлы приложения (см. предупреждение в разделе 10);&lt;br /&gt;
&lt;br /&gt;
–	form.ajax.js.execsvcscriptplain — конфигурация сценария обработки формы на стороне Oktell (раздел 4);&lt;br /&gt;
&lt;br /&gt;
–	state.js — начальное состояние формы (раздел 6);&lt;br /&gt;
&lt;br /&gt;
–	index.html — точка входа, по которой форма открывается в браузере.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''4. Укажите проект и сценарий обработки формы'''&lt;br /&gt;
&lt;br /&gt;
Файл form.ajax.js.execsvcscriptplain — текстовый; откройте его в Notepad++ или любом другом текстовом редакторе. В нём указано, какой сценарий Oktell (и в каком проекте) будет обрабатывать запросы, поступающие от формы.&lt;br /&gt;
&lt;br /&gt;
Пример: в Oktell может быть несколько проектов со сценариями — выберите тот, что относится к вашей интеграции.&lt;br /&gt;
&lt;br /&gt;
[[Файл:Scr1.png]]&lt;br /&gt;
                  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
В файле укажите название вашего проекта (projectname) и название служебного сценария обработки формы (scriptname), например:&lt;br /&gt;
&lt;br /&gt;
[[Файл:Scr2.png]]&lt;br /&gt;
&lt;br /&gt;
Значение scriptname должно точно совпадать с названием сценария в Oktell, который вы настроите на обработку запросов формы (например, _constructor).&lt;br /&gt;
&lt;br /&gt;
'''5. Настройте обработку событий в сценарии Oktell'''&lt;br /&gt;
&lt;br /&gt;
Сценарий, указанный на предыдущем шаге, должен уметь обрабатывать события, которые присылает UI Designer — как минимум load (запрос актуального состояния формы) и, при необходимости, загрузку файлов (upload). Ниже — пример типовой структуры такого сценария: приём GET-параметров, разбор запроса и ветвление по типу события.&lt;br /&gt;
&lt;br /&gt;
Пример схемы сценария: приём параметров, разбор запроса и обработка события load:&lt;br /&gt;
&lt;br /&gt;
 [[Файл:Scr3.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Логика внутри блоков (что именно отдавать в ответ на load, upload и на ошибочные запросы) зависит от вашей задачи — это обычная часть сценария Oktell, которую вы описываете в скрипт-конструкторе самостоятельно. Со стороны UI Designer важно только то, что ответ должен возвращать состояние формы в ожидаемом формате (см. следующий раздел).&lt;br /&gt;
&lt;br /&gt;
'''6. Настройте начальное состояние формы'''&lt;br /&gt;
&lt;br /&gt;
Файл state.js задаёт базовое (первоначальное) состояние формы, которое загружается при первом открытии. Чтобы форма отрисовалась с актуальным состоянием, в главном контейнере main должны быть заданы событие onInit и метод load, который запросит обновлённое состояние с сервера. Пример:&lt;br /&gt;
&lt;br /&gt;
  &amp;quot;main&amp;quot;: {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;container&amp;quot;,&lt;br /&gt;
    &amp;quot;width&amp;quot;: &amp;quot;100%&amp;quot;,&lt;br /&gt;
    &amp;quot;height&amp;quot;: &amp;quot;100%&amp;quot;,&lt;br /&gt;
    &amp;quot;layout&amp;quot;: &amp;quot;row&amp;quot;,&lt;br /&gt;
    &amp;quot;paddings&amp;quot;: {&lt;br /&gt;
      &amp;quot;left&amp;quot;: &amp;quot;10px&amp;quot;,&lt;br /&gt;
      &amp;quot;right&amp;quot;: &amp;quot;10px&amp;quot;,&lt;br /&gt;
      &amp;quot;top&amp;quot;: &amp;quot;10px&amp;quot;,&lt;br /&gt;
      &amp;quot;bottom&amp;quot;: &amp;quot;10px&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;childs&amp;quot;: [&lt;br /&gt;
      &amp;quot;messages-box&amp;quot;&lt;br /&gt;
    ],&lt;br /&gt;
    &amp;quot;bgColor&amp;quot;: &amp;quot;secondary&amp;quot;,&lt;br /&gt;
    &amp;quot;events&amp;quot;: [&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;event&amp;quot;: &amp;quot;onInit&amp;quot;,&lt;br /&gt;
        &amp;quot;method&amp;quot;: &amp;quot;load&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    ]&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
'''7. Подключите форму к диалоговому сценарию оператора'''&lt;br /&gt;
&lt;br /&gt;
В диалоговом сценарии Oktell, отвечающем за операторскую задачу, укажите веб-форму по ссылке, сформированной по следующему принципу:&lt;br /&gt;
http://&amp;lt;ip-адрес сервера&amp;gt;:4055/&amp;lt;имя папки&amp;gt;/index.html?id=&amp;lt;id сессии&amp;gt;&amp;amp;login=&amp;lt;логин&amp;gt;&amp;amp;password=&amp;lt;пароль&amp;gt;&lt;br /&gt;
где &amp;lt;имя папки&amp;gt; — название, которое вы задали папке со сборкой на шаге 3 (в примерах выше — constructor). Значения параметров id, login и password описаны в справочнике параметров (раздел 9).&lt;br /&gt;
&lt;br /&gt;
'''8. Откройте режим редактирования формы'''&lt;br /&gt;
&lt;br /&gt;
Чтобы открыть в браузере сам конструктор (визуальный редактор формы, а не отрисованную готовую форму), перейдите по ссылке:&lt;br /&gt;
http://&amp;lt;ip-адрес сервера&amp;gt;:4055/constructor/index.html?editor=1&amp;amp;emulateApi=1&amp;amp;persistState=1&amp;amp;syncTabs=1&lt;br /&gt;
На заметку&lt;br /&gt;
GET-параметры передаются как строка, поэтому значения &amp;quot;false&amp;quot; и &amp;quot;true&amp;quot; в них равнозначны — оба приводятся к true. Чтобы включить параметр, укажите любое непустое значение (например, editor=1); чтобы отключить — оставьте его пустым (например, editor=).&lt;br /&gt;
&lt;br /&gt;
'''9. Справочник GET-параметров'''&lt;br /&gt;
&lt;br /&gt;
Параметр	По умолчанию	Описание&lt;br /&gt;
id	—	Идентификатор сессии обращения клиента. Передаётся при каждом запросе к серверу.&lt;br /&gt;
editor	false	Включает режим редактирования формы (сам конструктор). В дальнейшем планируется разделение на отдельные сборки редактора и просмотрщика.&lt;br /&gt;
emulateApi	false	Отключает реальные запросы к серверу — данные эмулируются на стороне клиента.&lt;br /&gt;
persistState	false	Сохраняет текущее состояние формы в LocalStorage браузера. Удобно при разработке — не используйте в production.&lt;br /&gt;
syncTabs	false	Синхронизирует действия между вкладками одного браузера: действие в одной вкладке повторяется в остальных. Удобно при разработке — не используйте в production, так как замедляет работу.&lt;br /&gt;
wsDisable	false	Отключает интеграцию по WebSocket.&lt;br /&gt;
login	—	Логин пользователя с разрешённым доступом к web-api.&lt;br /&gt;
password	—	Пароль пользователя с разрешённым доступом к web-api, в виде MD5-хэша.&lt;br /&gt;
&lt;br /&gt;
'''10. Важно при переносе в production'''&lt;br /&gt;
&lt;br /&gt;
Предупреждение&lt;br /&gt;
В каталоге static/js собираются файлы вида 0.*.chunk.js, 1.*.chunk.js и main.*.js. Файл 1.*.chunk.js отвечает за работу режима редактирования (editor=1). Если удалить его при подготовке production-сборки, редактор формы перестанет открываться — просмотр готовых форм операторами при этом продолжит работать в обычном режиме.&lt;br /&gt;
Также для production не рекомендуется использовать параметры persistState и syncTabs — они предназначены для удобства разработки и могут замедлять работу формы у операторов.&lt;br /&gt;
&lt;br /&gt;
'''11. Итоговый чек-лист'''&lt;br /&gt;
&lt;br /&gt;
☐	Сборка UI Designer присутствует в папке WWW сервера Oktell.&lt;br /&gt;
&lt;br /&gt;
☐	В form.ajax.js.execsvcscriptplain указаны верные projectname и scriptname.&lt;br /&gt;
&lt;br /&gt;
☐	Сценарий Oktell обрабатывает событие load (и другие нужные события, например upload).&lt;br /&gt;
&lt;br /&gt;
☐	В state.js настроены начальное состояние и событие onInit → load.&lt;br /&gt;
&lt;br /&gt;
☐	В диалоговый сценарий оператора добавлена ссылка на форму с нужными GET-параметрами.&lt;br /&gt;
&lt;br /&gt;
☐	Для production отключены persistState и syncTabs, файл 1.*.chunk.js сохранён.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>