<?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=%D0%9F%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5</id>
		<title>Переменные - История изменений</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.oktell.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%9F%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5"/>
		<link rel="alternate" type="text/html" href="https://wiki.oktell.ru/index.php?title=%D0%9F%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5&amp;action=history"/>
		<updated>2026-04-28T13:58:05Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.23.1</generator>

	<entry>
		<id>https://wiki.oktell.ru/index.php?title=%D0%9F%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5&amp;diff=10923&amp;oldid=prev</id>
		<title>Oktell Support в 12:45, 18 декабря 2014</title>
		<link rel="alternate" type="text/html" href="https://wiki.oktell.ru/index.php?title=%D0%9F%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5&amp;diff=10923&amp;oldid=prev"/>
				<updated>2014-12-18T12:45:54Z</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;Версия 12:45, 18 декабря 2014&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;&amp;lt;code&amp;gt;[[Техническая документация]] / [[Call-центр]] или [[Администрирование]] / [[Сценарии]] / [[Переменные]]&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;lt;code&amp;gt;[[Техническая документация]] / [[Call-центр]] или [[Администрирование]] / [[Сценарии]] / [[Переменные]] &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt; &amp;lt;/code&amp;gt;&lt;/ins&gt;&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;/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;/table&gt;</summary>
		<author><name>Oktell Support</name></author>	</entry>

	<entry>
		<id>https://wiki.oktell.ru/index.php?title=%D0%9F%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5&amp;diff=10922&amp;oldid=prev</id>
		<title>Oktell Support в 12:45, 18 декабря 2014</title>
		<link rel="alternate" type="text/html" href="https://wiki.oktell.ru/index.php?title=%D0%9F%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5&amp;diff=10922&amp;oldid=prev"/>
				<updated>2014-12-18T12:45:46Z</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;Версия 12:45, 18 декабря 2014&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;|Наверх&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;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;code&amp;gt;[[Техническая документация]] / [[Call-центр]] или [[Администрирование]] / &lt;/ins&gt;[[Сценарии&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;]] / [[Переменные&lt;/ins&gt;]]&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;/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;/table&gt;</summary>
		<author><name>Oktell Support</name></author>	</entry>

	<entry>
		<id>https://wiki.oktell.ru/index.php?title=%D0%9F%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5&amp;diff=3574&amp;oldid=prev</id>
		<title>Peter в 05:37, 29 июля 2013</title>
		<link rel="alternate" type="text/html" href="https://wiki.oktell.ru/index.php?title=%D0%9F%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5&amp;diff=3574&amp;oldid=prev"/>
				<updated>2013-07-29T05:37:03Z</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;Версия 05:37, 29 июля 2013&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 44:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 44:&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;В списке доступных переменных служебные переменные отображаются серым цветом.&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;В списке доступных переменных служебные переменные отображаются серым цветом.&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 colspan=&quot;2&quot;&gt;&amp;#160;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;div id=&amp;quot;Types&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;/ins&gt;&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;div&gt;При создании переменной можно установить для ее размещения обработчик сценария (локальная), хранилище сессии (сессионная) или глобальное хранилище сервера (глобальная). &amp;#160;&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;При создании переменной можно установить для ее размещения обработчик сценария (локальная), хранилище сессии (сессионная) или глобальное хранилище сервера (глобальная). &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;div&gt;* '''Локальная'''. Переменные размещаются в хранилище обработчика сценариев и существуют в рамках его жизни. Каждый экземпляр обработчика (даже если они реализуют один и тот же сценарий) имеет свой экземпляр каждой переменной. Запуск вложенных сценариев осуществляется в том же самом обработчике, поэтому переменные с одинаковыми именами имеют одно и то же размещение, и, соответственно, их значения перетекают из сценария в сценарий при запуске и при возврате управления. При запуске асинхронных служебных сценариев значения переменных с совпадающими именами и типами копируются в хранилище значений переменных запускаемого обработчика, дальше переменные существуют независимо в каждом обработчике.&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;* '''Локальная'''. Переменные размещаются в хранилище обработчика сценариев и существуют в рамках его жизни. Каждый экземпляр обработчика (даже если они реализуют один и тот же сценарий) имеет свой экземпляр каждой переменной. Запуск вложенных сценариев осуществляется в том же самом обработчике, поэтому переменные с одинаковыми именами имеют одно и то же размещение, и, соответственно, их значения перетекают из сценария в сценарий при запуске и при возврате управления. При запуске асинхронных служебных сценариев значения переменных с совпадающими именами и типами копируются в хранилище значений переменных запускаемого обработчика, дальше переменные существуют независимо в каждом обработчике.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Peter</name></author>	</entry>

	<entry>
		<id>https://wiki.oktell.ru/index.php?title=%D0%9F%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5&amp;diff=3026&amp;oldid=prev</id>
		<title>Peter в 08:52, 28 марта 2013</title>
		<link rel="alternate" type="text/html" href="https://wiki.oktell.ru/index.php?title=%D0%9F%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5&amp;diff=3026&amp;oldid=prev"/>
				<updated>2013-03-28T08:52:09Z</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;Версия 08:52, 28 марта 2013&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 43:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 43:&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;В списке доступных переменных служебные переменные отображаются серым цветом.&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;В списке доступных переменных служебные переменные отображаются серым цветом.&lt;/div&gt;&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 style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&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 style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Переменные размещаются в хранилище обработчика сценариев и существуют в рамках его жизни. Каждый экземпляр обработчика (даже если они реализуют один и тот же сценарий) имеет свой экземпляр каждой переменной. Запуск вложенных сценариев осуществляется в том же самом обработчике, поэтому переменные с одинаковыми именами имеют одно и то же размещение, и, соответственно, их значения перетекают из сценария в сценарий при запуске и при возврате управления. &lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&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 style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&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 style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;При запуске асинхронных служебных сценариев значения переменных с совпадающими именами и типами копируются в хранилище значений переменных запускаемого обработчика, дальше переменные существуют независимо в каждом обработчике.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&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;При создании переменной можно установить для ее размещения обработчик сценария (локальная), хранилище сессии (сессионная) или глобальное хранилище сервера (глобальная). &amp;#160;&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;При создании переменной можно установить для ее размещения обработчик сценария (локальная), хранилище сессии (сессионная) или глобальное хранилище сервера (глобальная). &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* '''Локальная'''. Переменные размещаются в хранилище обработчика сценариев и существуют в рамках его жизни. Каждый экземпляр обработчика (даже если они реализуют один и тот же сценарий) имеет свой экземпляр каждой переменной. Запуск вложенных сценариев осуществляется в том же самом обработчике, поэтому переменные с одинаковыми именами имеют одно и то же размещение, и, соответственно, их значения перетекают из сценария в сценарий при запуске и при возврате управления. При запуске асинхронных служебных сценариев значения переменных с совпадающими именами и типами копируются в хранилище значений переменных запускаемого обработчика, дальше переменные существуют независимо в каждом обработчике.&lt;/ins&gt;&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;div&gt;* '''Сессионная'''. В случае использования сессионных переменных разные на низком уровне обработчики будут связаны между собой через идентификатор сессии, совпадающий с кодом цепочки коммутаций. Например, если создать сессионные переменные с одинаковым именем в нескольких сценариях IVR, в диалоговом и служебном сценарии, то при входящем звонке можно организовать следующую схему: в главном сценарии IVR переменной устанавливается значение. Далее звонок переходит в задачу, в ходе обработки которой запускается сценарий диалога. Обращаясь к сессионной переменной он получит установленное ранее в сценарии IVR значение. При переключении оператором абонента на второй сценарий IVR, там может быть доступно модифицированное в сценарии диалога значение. Служебный сценарий (запущенный асинхронно или как обработчик контента) также будет иметь доступ к значению, установленному ранее в других сценариях. Все это происходит, потому что сессионная переменная хранится на сервере состояний и все сценарии одной сессии обращаются к одной области памяти, поскольку все связаны с обработкой звонка в сессии - цепочке коммутаций, инициированной входящим звонком абонента. Один и тот же сценарий, работающий параллельно в разных сессиях и использующий одну и ту же учетную запись сессионной переменной, фактически работает в разных областях памяти и не имеет пересечений по ее значениям.&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;* '''Сессионная'''. В случае использования сессионных переменных разные на низком уровне обработчики будут связаны между собой через идентификатор сессии, совпадающий с кодом цепочки коммутаций. Например, если создать сессионные переменные с одинаковым именем в нескольких сценариях IVR, в диалоговом и служебном сценарии, то при входящем звонке можно организовать следующую схему: в главном сценарии IVR переменной устанавливается значение. Далее звонок переходит в задачу, в ходе обработки которой запускается сценарий диалога. Обращаясь к сессионной переменной он получит установленное ранее в сценарии IVR значение. При переключении оператором абонента на второй сценарий IVR, там может быть доступно модифицированное в сценарии диалога значение. Служебный сценарий (запущенный асинхронно или как обработчик контента) также будет иметь доступ к значению, установленному ранее в других сценариях. Все это происходит, потому что сессионная переменная хранится на сервере состояний и все сценарии одной сессии обращаются к одной области памяти, поскольку все связаны с обработкой звонка в сессии - цепочке коммутаций, инициированной входящим звонком абонента. Один и тот же сценарий, работающий параллельно в разных сессиях и использующий одну и ту же учетную запись сессионной переменной, фактически работает в разных областях памяти и не имеет пересечений по ее значениям.&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;div&gt;* '''Глобальная'''. Именованная глобальная серверная переменная размещается в единой области памяти для всех сценариев всех сессий. Ее задача - избавить служебные сценарии от необходимости кэшировать значения в БД. Можно воспользоваться системой мини-транзакций при работе с глобальными переменными: если название переменной начинается с комбинации ''lock_'', то после каждого возврата ее значения осуществляется блокировка на 100 мс, чтобы взявший ее значение сценарий сумел успеть принять решение и занести в нее новое значение. &amp;#160;&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;* '''Глобальная'''. Именованная глобальная серверная переменная размещается в единой области памяти для всех сценариев всех сессий. Ее задача - избавить служебные сценарии от необходимости кэшировать значения в БД. Можно воспользоваться системой мини-транзакций при работе с глобальными переменными: если название переменной начинается с комбинации ''lock_'', то после каждого возврата ее значения осуществляется блокировка на 100 мс, чтобы взявший ее значение сценарий сумел успеть принять решение и занести в нее новое значение. &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Peter</name></author>	</entry>

	<entry>
		<id>https://wiki.oktell.ru/index.php?title=%D0%9F%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5&amp;diff=3025&amp;oldid=prev</id>
		<title>Peter в 08:49, 28 марта 2013</title>
		<link rel="alternate" type="text/html" href="https://wiki.oktell.ru/index.php?title=%D0%9F%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5&amp;diff=3025&amp;oldid=prev"/>
				<updated>2013-03-28T08:49:26Z</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;Версия 08:49, 28 марта 2013&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 40:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 40:&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;&amp;#160; &amp;#160;&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;&amp;#160; &amp;#160;&lt;/div&gt;&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;В каждом типе сценариев существует перечень служебных переменных. Они доступны только в компоненте «Присвоение значения переменной» в качестве приемщика значения. Такие переменные связывают логику выполняющейся задачи с исходом выполнения сценария. Принимая в расчет соответствующие значения в случае их корректности, сервисы-владельцы сценариев будут действовать соответствующим образом. По умолчанию значения переменных выставлены в «-1», что указывает обслуживающим сервисам на отсутствие необходимости учета.&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;В каждом типе сценариев существует перечень служебных переменных. Они доступны только в компоненте &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;[[Общие_компоненты_сценариев#Appropriate|&lt;/ins&gt;«Присвоение значения переменной»&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;]] &lt;/ins&gt;в качестве приемщика значения. Такие переменные связывают логику выполняющейся задачи с исходом выполнения сценария. Принимая в расчет соответствующие значения в случае их корректности, сервисы-владельцы сценариев будут действовать соответствующим образом. По умолчанию значения переменных выставлены в &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/ins&gt;«-1»&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;''&lt;/ins&gt;, что указывает обслуживающим сервисам на отсутствие необходимости учета.&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;В списке доступных переменных служебные переменные отображаются серым цветом.&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;В списке доступных переменных служебные переменные отображаются серым цветом.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 48:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 48:&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;При запуске асинхронных служебных сценариев значения переменных с совпадающими именами и типами копируются в хранилище значений переменных запускаемого обработчика, дальше переменные существуют независимо в каждом обработчике.&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;При запуске асинхронных служебных сценариев значения переменных с совпадающими именами и типами копируются в хранилище значений переменных запускаемого обработчика, дальше переменные существуют независимо в каждом обработчике.&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;−&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;глобальное &lt;/del&gt;хранилище сессии. В &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;этом &lt;/del&gt;случае разные на низком уровне обработчики будут связаны между собой через идентификатор сессии, совпадающий с кодом цепочки коммутаций. Например, если создать &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;глобальные &lt;/del&gt;переменные с одинаковым именем в нескольких сценариях IVR, в диалоговом и служебном сценарии, то при входящем звонке можно организовать следующую схему: в главном сценарии IVR переменной устанавливается значение. Далее звонок переходит в задачу, в ходе обработки которой запускается сценарий диалога. Обращаясь к &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;глобальной &lt;/del&gt;переменной он получит установленное ранее в сценарии IVR значение. При переключении оператором абонента на второй сценарий IVR, там может быть доступно модифицированное в сценарии диалога значение. Служебный сценарий (запущенный асинхронно или как обработчик контента) также будет иметь доступ к значению, установленному ранее в других сценариях. Все это происходит, потому что &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;глобальная &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;При создании переменной можно установить для ее размещения &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;обработчик сценария (локальная), &lt;/ins&gt;хранилище сессии &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;(сессионная) или глобальное хранилище сервера (глобальная). &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&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;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;* '''Сессионная'''&lt;/ins&gt;. В случае &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;использования сессионных переменных &lt;/ins&gt;разные на низком уровне обработчики будут связаны между собой через идентификатор сессии, совпадающий с кодом цепочки коммутаций. Например, если создать &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;сессионные &lt;/ins&gt;переменные с одинаковым именем в нескольких сценариях IVR, в диалоговом и служебном сценарии, то при входящем звонке можно организовать следующую схему: в главном сценарии IVR переменной устанавливается значение. Далее звонок переходит в задачу, в ходе обработки которой запускается сценарий диалога. Обращаясь к &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;сессионной &lt;/ins&gt;переменной он получит установленное ранее в сценарии IVR значение. При переключении оператором абонента на второй сценарий IVR, там может быть доступно модифицированное в сценарии диалога значение. Служебный сценарий (запущенный асинхронно или как обработчик контента) также будет иметь доступ к значению, установленному ранее в других сценариях. Все это происходит, потому что &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;сессионная &lt;/ins&gt;переменная хранится на сервере состояний и все сценарии &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;одной сессии &lt;/ins&gt;обращаются к одной области памяти, поскольку все связаны с обработкой звонка в сессии - цепочке коммутаций, инициированной входящим звонком абонента&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;. Один и тот же сценарий, работающий параллельно в разных сессиях и использующий одну и ту же учетную запись сессионной переменной, фактически работает в разных областях памяти и не имеет пересечений по ее значениям.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&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;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;* '''Глобальная'''. Именованная глобальная серверная переменная размещается в единой области памяти для всех сценариев всех сессий. Ее задача - избавить служебные сценарии от необходимости кэшировать значения в БД. Можно воспользоваться системой мини-транзакций при работе с глобальными переменными: если название переменной начинается с комбинации ''lock_'', то после каждого возврата ее значения осуществляется блокировка на 100 мс, чтобы взявший ее значение сценарий сумел успеть принять решение и занести в нее новое значение&lt;/ins&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;−&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;Любой служебный сценарий перенимает номер сессии от запускающего объекта - другого сценария, задачи, линии. Служебные сценарии, стартующие вне канальных сессий (цепочек) генерируют уникальный код. При организации набора номера в служебном сценарии (компонент «Дозвон») в качестве кода цепочки активированного канала устанавливается код сессии служебного сценария, но не более 1 раза и только в случае, если код сессии сценария не был передан извне. В остальных случаях код цепочки будет генерироваться. Так происходит во избежание дублирования кодов цепочек в разных по смыслу звонках.&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;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;ВНИМАНИЕ! Ранее до версии 2.8.130328 сессионные переменные назывались глобальными. Их различие существенно!&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&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 colspan=&quot;2&quot;&gt;&amp;#160;&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;Любой служебный сценарий перенимает номер сессии от запускающего объекта - другого сценария, задачи, линии. Служебные сценарии, стартующие вне канальных сессий (цепочек) генерируют уникальный код. При организации набора номера в служебном сценарии (компонент &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;[[Компоненты_служебных_сценариев#Call|&lt;/ins&gt;«Дозвон»&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;]]&lt;/ins&gt;) в качестве кода цепочки активированного канала устанавливается код сессии служебного сценария, но не более 1 раза и только в случае, если код сессии сценария не был передан извне. В остальных случаях код цепочки будет генерироваться. Так происходит во избежание дублирования кодов цепочек в разных по смыслу звонках.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Peter</name></author>	</entry>

	<entry>
		<id>https://wiki.oktell.ru/index.php?title=%D0%9F%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5&amp;diff=1931&amp;oldid=prev</id>
		<title>Peter в 11:35, 12 сентября 2012</title>
		<link rel="alternate" type="text/html" href="https://wiki.oktell.ru/index.php?title=%D0%9F%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5&amp;diff=1931&amp;oldid=prev"/>
				<updated>2012-09-12T11:35:31Z</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;Версия 11:35, 12 сентября 2012&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 colspan=&quot;2&quot;&gt;&amp;#160;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Сценарии|Наверх]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&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;div&gt;'''Переменная сценария''' – это величина, хранящая свое значение на всем протяжении выполнения сценария. У некоторых объектов существует доступ к чтению значения переменной и к его изменению.&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;'''Переменная сценария''' – это величина, хранящая свое значение на всем протяжении выполнения сценария. У некоторых объектов существует доступ к чтению значения переменной и к его изменению.&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;/table&gt;</summary>
		<author><name>Peter</name></author>	</entry>

	<entry>
		<id>https://wiki.oktell.ru/index.php?title=%D0%9F%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5&amp;diff=607&amp;oldid=prev</id>
		<title>Elena в 18:46, 19 апреля 2011</title>
		<link rel="alternate" type="text/html" href="https://wiki.oktell.ru/index.php?title=%D0%9F%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5&amp;diff=607&amp;oldid=prev"/>
				<updated>2011-04-19T18:46:56Z</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;Версия 18:46, 19 апреля 2011&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 38:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 38:&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;&amp;#160; &amp;#160;&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;&amp;#160; &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;div&gt;В каждом типе сценариев существует перечень служебных переменных. Они доступны только в компоненте «Присвоение значения переменной» в качестве приемщика значения. Такие переменные связывают логику выполняющейся задачи с исходом выполнения сценария. Принимая в расчет соответствующие значения в случае их корректности, сервисы-владельцы сценариев будут действовать соответствующим образом. По умолчанию значения переменных выставлены в «-1», что указывает обслуживающим сервисам на отсутствие необходимости учета.&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;В каждом типе сценариев существует перечень служебных переменных. Они доступны только в компоненте «Присвоение значения переменной» в качестве приемщика значения. Такие переменные связывают логику выполняющейся задачи с исходом выполнения сценария. Принимая в расчет соответствующие значения в случае их корректности, сервисы-владельцы сценариев будут действовать соответствующим образом. По умолчанию значения переменных выставлены в «-1», что указывает обслуживающим сервисам на отсутствие необходимости учета.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&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;div&gt;В списке доступных переменных служебные переменные отображаются серым цветом.&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;В списке доступных переменных служебные переменные отображаются серым цветом.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&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;div&gt;Переменные размещаются в хранилище обработчика сценариев и существуют в рамках его жизни. Каждый экземпляр обработчика (даже если они реализуют один и тот же сценарий) имеет свой экземпляр каждой переменной. Запуск вложенных сценариев осуществляется в том же самом обработчике, поэтому переменные с одинаковыми именами имеют одно и то же размещение, и, соответственно, их значения перетекают из сценария в сценарий при запуске и при возврате управления. &amp;#160;&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;Переменные размещаются в хранилище обработчика сценариев и существуют в рамках его жизни. Каждый экземпляр обработчика (даже если они реализуют один и тот же сценарий) имеет свой экземпляр каждой переменной. Запуск вложенных сценариев осуществляется в том же самом обработчике, поэтому переменные с одинаковыми именами имеют одно и то же размещение, и, соответственно, их значения перетекают из сценария в сценарий при запуске и при возврате управления. &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&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;div&gt;При запуске асинхронных служебных сценариев значения переменных с совпадающими именами и типами копируются в хранилище значений переменных запускаемого обработчика, дальше переменные существуют независимо в каждом обработчике.&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;При запуске асинхронных служебных сценариев значения переменных с совпадающими именами и типами копируются в хранилище значений переменных запускаемого обработчика, дальше переменные существуют независимо в каждом обработчике.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&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;div&gt;При создании переменной можно установить для ее размещения глобальное хранилище сессии. В этом случае разные на низком уровне обработчики будут связаны между собой через идентификатор сессии, совпадающий с кодом цепочки коммутаций. Например, если создать глобальные переменные с одинаковым именем в нескольких сценариях IVR, в диалоговом и служебном сценарии, то при входящем звонке можно организовать следующую схему: в главном сценарии IVR переменной устанавливается значение. Далее звонок переходит в задачу, в ходе обработки которой запускается сценарий диалога. Обращаясь к глобальной переменной он получит установленное ранее в сценарии IVR значение. При переключении оператором абонента на второй сценарий IVR, там может быть доступно модифицированное в сценарии диалога значение. Служебный сценарий (запущенный асинхронно или как обработчик контента) также будет иметь доступ к значению, установленному ранее в других сценариях. Все это происходит, потому что глобальная переменная хранится на сервере состояний и все сценарии обращаются к одной области памяти, поскольку все связаны с обработкой звонка в сессии - цепочке коммутаций, инициированной входящим звонком абонента.&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;При создании переменной можно установить для ее размещения глобальное хранилище сессии. В этом случае разные на низком уровне обработчики будут связаны между собой через идентификатор сессии, совпадающий с кодом цепочки коммутаций. Например, если создать глобальные переменные с одинаковым именем в нескольких сценариях IVR, в диалоговом и служебном сценарии, то при входящем звонке можно организовать следующую схему: в главном сценарии IVR переменной устанавливается значение. Далее звонок переходит в задачу, в ходе обработки которой запускается сценарий диалога. Обращаясь к глобальной переменной он получит установленное ранее в сценарии IVR значение. При переключении оператором абонента на второй сценарий IVR, там может быть доступно модифицированное в сценарии диалога значение. Служебный сценарий (запущенный асинхронно или как обработчик контента) также будет иметь доступ к значению, установленному ранее в других сценариях. Все это происходит, потому что глобальная переменная хранится на сервере состояний и все сценарии обращаются к одной области памяти, поскольку все связаны с обработкой звонка в сессии - цепочке коммутаций, инициированной входящим звонком абонента.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&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;div&gt;Любой служебный сценарий перенимает номер сессии от запускающего объекта - другого сценария, задачи, линии. Служебные сценарии, стартующие вне канальных сессий (цепочек) генерируют уникальный код. При организации набора номера в служебном сценарии (компонент «Дозвон») в качестве кода цепочки активированного канала устанавливается код сессии служебного сценария, но не более 1 раза и только в случае, если код сессии сценария не был передан извне. В остальных случаях код цепочки будет генерироваться. Так происходит во избежание дублирования кодов цепочек в разных по смыслу звонках.&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;Любой служебный сценарий перенимает номер сессии от запускающего объекта - другого сценария, задачи, линии. Служебные сценарии, стартующие вне канальных сессий (цепочек) генерируют уникальный код. При организации набора номера в служебном сценарии (компонент «Дозвон») в качестве кода цепочки активированного канала устанавливается код сессии служебного сценария, но не более 1 раза и только в случае, если код сессии сценария не был передан извне. В остальных случаях код цепочки будет генерироваться. Так происходит во избежание дублирования кодов цепочек в разных по смыслу звонках.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Elena</name></author>	</entry>

	<entry>
		<id>https://wiki.oktell.ru/index.php?title=%D0%9F%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5&amp;diff=606&amp;oldid=prev</id>
		<title>Elena: Новая страница: «'''Переменная сценария''' – это величина, хранящая свое значение на всем протяжении выполне...»</title>
		<link rel="alternate" type="text/html" href="https://wiki.oktell.ru/index.php?title=%D0%9F%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D1%8B%D0%B5&amp;diff=606&amp;oldid=prev"/>
				<updated>2011-04-19T18:45:19Z</updated>
		
		<summary type="html">&lt;p&gt;Новая страница: «&amp;#039;&amp;#039;&amp;#039;Переменная сценария&amp;#039;&amp;#039;&amp;#039; – это величина, хранящая свое значение на всем протяжении выполне...»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;'''Переменная сценария''' – это величина, хранящая свое значение на всем протяжении выполнения сценария. У некоторых объектов существует доступ к чтению значения переменной и к его изменению.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Переменные в сценариях принадлежат к одному из типов:&lt;br /&gt;
&lt;br /&gt;
* Число (целое или десятичное); &lt;br /&gt;
&lt;br /&gt;
* Строка; &lt;br /&gt;
&lt;br /&gt;
* Дата/время; &lt;br /&gt;
&lt;br /&gt;
* Поле таблицы; &lt;br /&gt;
&lt;br /&gt;
* Служебные (только для присвоение значений). &lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
Все переменные сценария определяются на этапе его создания. При назначении свойств, имеющих своим значением переменную, пользователь может редактировать список переменных, а также выбирать и подставлять в значение свойства ссылку на конкретную переменную. &lt;br /&gt;
&lt;br /&gt;
В именах переменных не допускаются символы '[', ']', '\'. Запрещены также дублирующие имена.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
Переменные используются в сценарии для переноса значения из одних объектов в другие. Например, заполнение переменной может происходить в БД (соответственно компонент «Запрос в БД»), а использование при воспроизведении этого значения абоненту (компонент «Воспроизведение числа») или при определении необходимой ветки сценария (компонент «Сравнение») путем выбора следующего обрабатываемого объекта на основании значения этой переменной.&lt;br /&gt;
&lt;br /&gt;
Для работы с переменными (создание, удаление, подстановка) служит соответствующая вкладка окна [[Аргументы]]. При подстановке переменной в качестве значения свойства объекта ее значение вычисляется или назначается (в зависимости от типа свойства) в сценарии в момент работы объекта-владельца.&lt;br /&gt;
&lt;br /&gt;
[[Файл:cl_cc_scra_f1_2.png|center]]&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Переменные типа «Поле таблицы» используются в сценарии наравне с другими переменными, но имеют совершенно иную структуру. Каждый запрос на получение данных из такой переменной обращается к таблице абонентов, прикрепленной к текущей выполняемой задаче. По имени такой переменной ищется столбец в соответствующей таблице и производится запрос данных из ячейки на пересечении найденного столбца со строкой, содержащей информацию о текущем абоненте. При записи производится аналогичное действие. Если не найден столбец с указанным именем, либо строка с кодом текущего абонента, действие по записи не производится, а при чтении возвращается пустая строка. Подобный усложненный характер работы обусловлен тем, что сценарий создается независимо от задачи и таблицы абонентов и не имеет информации о них до начала выполнения на сервере. В дальнейшем в руководстве переменные типа «Поле таблицы» не будут рассматриваться обособленно, работа с ними полностью аналогична переменным других типов.&lt;br /&gt;
В списке доступных переменных переменные типа «Поле таблицы» отображаются зеленым цветом.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt; ВНИМАНИЕ! Использовать переменные типа «Поле» в сценарии рекомендуется в режиме «1 чтение, 1 запись». Если необходимо использовать значение переменной типа «Поле таблицы» в сравнении или других промежуточных объектах, с точки зрения скорости работы лучше после считывания из базы сохранять ее значение во временной переменной (число, строка, дата/время) и использовать на протяжении сценария именно временную переменную.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt; ВНИМАНИЕ! Связь переменных типа «Поле» осуществляется как с локальными таблицами абонентов, так и с внешними. Однако, если  внешняя таблица абонентов формируется только лишь на базе запроса в БД, связь не будет осуществлена. Поиск полей производится только среди столбцов указанной базовой таблицы БД вне зависимости от того, используется ли параллельно с этим запрос в БД. Подробнее в разделе [[Таблицы абонентов]].&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
В каждом типе сценариев существует перечень служебных переменных. Они доступны только в компоненте «Присвоение значения переменной» в качестве приемщика значения. Такие переменные связывают логику выполняющейся задачи с исходом выполнения сценария. Принимая в расчет соответствующие значения в случае их корректности, сервисы-владельцы сценариев будут действовать соответствующим образом. По умолчанию значения переменных выставлены в «-1», что указывает обслуживающим сервисам на отсутствие необходимости учета.&lt;br /&gt;
В списке доступных переменных служебные переменные отображаются серым цветом.&lt;br /&gt;
Переменные размещаются в хранилище обработчика сценариев и существуют в рамках его жизни. Каждый экземпляр обработчика (даже если они реализуют один и тот же сценарий) имеет свой экземпляр каждой переменной. Запуск вложенных сценариев осуществляется в том же самом обработчике, поэтому переменные с одинаковыми именами имеют одно и то же размещение, и, соответственно, их значения перетекают из сценария в сценарий при запуске и при возврате управления. &lt;br /&gt;
При запуске асинхронных служебных сценариев значения переменных с совпадающими именами и типами копируются в хранилище значений переменных запускаемого обработчика, дальше переменные существуют независимо в каждом обработчике.&lt;br /&gt;
При создании переменной можно установить для ее размещения глобальное хранилище сессии. В этом случае разные на низком уровне обработчики будут связаны между собой через идентификатор сессии, совпадающий с кодом цепочки коммутаций. Например, если создать глобальные переменные с одинаковым именем в нескольких сценариях IVR, в диалоговом и служебном сценарии, то при входящем звонке можно организовать следующую схему: в главном сценарии IVR переменной устанавливается значение. Далее звонок переходит в задачу, в ходе обработки которой запускается сценарий диалога. Обращаясь к глобальной переменной он получит установленное ранее в сценарии IVR значение. При переключении оператором абонента на второй сценарий IVR, там может быть доступно модифицированное в сценарии диалога значение. Служебный сценарий (запущенный асинхронно или как обработчик контента) также будет иметь доступ к значению, установленному ранее в других сценариях. Все это происходит, потому что глобальная переменная хранится на сервере состояний и все сценарии обращаются к одной области памяти, поскольку все связаны с обработкой звонка в сессии - цепочке коммутаций, инициированной входящим звонком абонента.&lt;br /&gt;
Любой служебный сценарий перенимает номер сессии от запускающего объекта - другого сценария, задачи, линии. Служебные сценарии, стартующие вне канальных сессий (цепочек) генерируют уникальный код. При организации набора номера в служебном сценарии (компонент «Дозвон») в качестве кода цепочки активированного канала устанавливается код сессии служебного сценария, но не более 1 раза и только в случае, если код сессии сценария не был передан извне. В остальных случаях код цепочки будет генерироваться. Так происходит во избежание дублирования кодов цепочек в разных по смыслу звонках.&lt;/div&gt;</summary>
		<author><name>Elena</name></author>	</entry>

	</feed>