<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://sfsys.ru/index.php?action=history&amp;feed=atom&amp;title=BroadcastChannelSubscribe</id>
	<title>BroadcastChannelSubscribe - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://sfsys.ru/index.php?action=history&amp;feed=atom&amp;title=BroadcastChannelSubscribe"/>
	<link rel="alternate" type="text/html" href="http://sfsys.ru/index.php?title=BroadcastChannelSubscribe&amp;action=history"/>
	<updated>2026-04-04T10:05:27Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.31.1</generator>
	<entry>
		<id>http://sfsys.ru/index.php?title=BroadcastChannelSubscribe&amp;diff=5184&amp;oldid=prev</id>
		<title>Admin: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="http://sfsys.ru/index.php?title=BroadcastChannelSubscribe&amp;diff=5184&amp;oldid=prev"/>
		<updated>2026-04-01T09:57:50Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 09:57, 1 April 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>http://sfsys.ru/index.php?title=BroadcastChannelSubscribe&amp;diff=5183&amp;oldid=prev</id>
		<title>1&gt;Admin at 09:30, 4 January 2026</title>
		<link rel="alternate" type="text/html" href="http://sfsys.ru/index.php?title=BroadcastChannelSubscribe&amp;diff=5183&amp;oldid=prev"/>
		<updated>2026-01-04T09:30:01Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{infobox function&lt;br /&gt;
|name=BroadcastChannelSubscribe&lt;br /&gt;
|object=[[Функции общего назначения]]&lt;br /&gt;
|caption=Доставка сообщений&lt;br /&gt;
|type=1&lt;br /&gt;
|status=2&lt;br /&gt;
|db=0&lt;br /&gt;
|exception=Невозможно превратить в число, строку, ошибка сервера&lt;br /&gt;
|visual=0}}&lt;br /&gt;
{{HeadLinks|&lt;br /&gt;
* [[Main_Page|Начальная страница]]&lt;br /&gt;
* [[Общее_описание_языка|Общее описание]]&lt;br /&gt;
* [[Объекты]]&lt;br /&gt;
* [[Функции общего назначения]]}}&lt;br /&gt;
Функция подписывается на сообщения глобального канала сообщений, заданного по его имени (первый аргумент). Если указана форма-получатель сообщений, они будут приходить в виде события OnMessage ([[Студия/OnMessage|OnMessage]]) в момент, когда форма ожидает действий пользователя (idle). Если форма не указана, программе необходимо получать сообщения самостоятельно с помощью функции [[BroadcastChannelReceiveMessage]]. Подписка действует для текущего потока, если сообщения не забираются, они будут накапливаться на сервере. Для отказа от подписки, используйте [[BroadcastChannelUnsubscribe]]. Подписка удаляется автоматически, когда поток с подпиской заканчивает работу. Если указана форма и она будет закрыта, но поток продолжит работать, подписка не будет отменена (однако сообщения приходить не будут, так как отсутствует форма). Функция возвращает цифровой идентификатор канала, по которому к нему можно выполнять обращения (чуть быстрее, чем по имени). Идентификатор корректен до момента вызова [[BroadcastChannelUnsubscribe]] или завершения потока подписки.&lt;br /&gt;
&lt;br /&gt;
== Синтаксис ==&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
'''BroadcastChannelSubscribe'''(''&amp;lt;Имя канала (STRING)&amp;gt;''{{Optional|,&amp;lt;Форма-получатель или ее серийный номер (FORM,INT)&amp;gt;{{Default|{{Eq}}0}}}}):''&amp;lt;Числовой идентификатор канала (INT)&amp;gt;''&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
==== Аргументы ====&lt;br /&gt;
* &amp;lt;code&amp;gt;''&amp;lt;Имя канала (STRING)&amp;gt;''&amp;lt;/code&amp;gt; - Произвольное имя канала для подписки.&lt;br /&gt;
* &amp;lt;code&amp;gt;''&amp;lt;Форма-получатель или ее серийный номер (FORM,INT)&amp;gt;''&amp;lt;/code&amp;gt; - {{Optional}} Указание на форму, если необходимо поулчать сообщения в виде события ''[[Студия/OnMessage|OnMessage]]''. Форма может быть задана серийным номером или самим объектом формы.&lt;br /&gt;
&lt;br /&gt;
==== Возвращаемое значение ====&lt;br /&gt;
Возвращает числовой идентификатор канала на сервере.&lt;br /&gt;
&lt;br /&gt;
== Примеры ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//Пример простого отправителя и подписчика в одном фрагменте текста.&lt;br /&gt;
&lt;br /&gt;
  Function Подписчик()&lt;br /&gt;
    аКодКанала:=BroadcastChannelSubscribe(&amp;quot;Канал&amp;quot;);&lt;br /&gt;
    аНум:=0;&lt;br /&gt;
    While 1 Do&lt;br /&gt;
      If not BroadcastChannelReceiveMessage(аКодКанала,100,аНум) Then&lt;br /&gt;
        Continue;&lt;br /&gt;
      EndIf;&lt;br /&gt;
      Message(&amp;quot;Получено сообщение с ID &amp;quot;+аНум);&lt;br /&gt;
      If аНум=100 Then&lt;br /&gt;
        Break;&lt;br /&gt;
      EndIf;&lt;br /&gt;
    EndDo;&lt;br /&gt;
    BroadcastChannelUnsubscribe(аКодКанала);&lt;br /&gt;
    Message(&amp;quot;Поток закончил работу...&amp;quot;);&lt;br /&gt;
  EndFunction&lt;br /&gt;
&lt;br /&gt;
Mutex.ExecuteFunctionInSeparateThread(&amp;quot;Подписчик&amp;quot;,0);&lt;br /&gt;
&lt;br /&gt;
аКодКанала:=BroadcastChannelSubscribe(&amp;quot;Канал&amp;quot;);&lt;br /&gt;
ИдСообщения:=1;&lt;br /&gt;
While ИдСообщения&amp;lt;=100 Do&lt;br /&gt;
  If BroadcastChannelSendMessage(аКодКанала,ИдСообщения,&amp;quot;&amp;quot;)&amp;gt;0 Then&lt;br /&gt;
    ИдСообщения:=ИдСообщения+1;&lt;br /&gt;
  EndIf;&lt;br /&gt;
EndDo;&lt;br /&gt;
//Ожидания завершения потока после принятия сообщения 100&lt;br /&gt;
//Без этой паузы, поток можен быть завершен форсировано, так как текущий (родительский) поток будет завершен&lt;br /&gt;
Sleep(1000);&lt;br /&gt;
&lt;br /&gt;
//Будет выведено:&lt;br /&gt;
//Получено сообщение с ID 1&lt;br /&gt;
//Получено сообщение с ID 2&lt;br /&gt;
//..&lt;br /&gt;
//Получено сообщение с ID 100&lt;br /&gt;
//Поток закончил работу...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>1&gt;Admin</name></author>
		
	</entry>
</feed>