<?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=BroadcastChannelSendMessage</id>
	<title>BroadcastChannelSendMessage - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://sfsys.ru/index.php?action=history&amp;feed=atom&amp;title=BroadcastChannelSendMessage"/>
	<link rel="alternate" type="text/html" href="http://sfsys.ru/index.php?title=BroadcastChannelSendMessage&amp;action=history"/>
	<updated>2026-04-04T15:04:00Z</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=BroadcastChannelSendMessage&amp;diff=5182&amp;oldid=prev</id>
		<title>Admin: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="http://sfsys.ru/index.php?title=BroadcastChannelSendMessage&amp;diff=5182&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=BroadcastChannelSendMessage&amp;diff=5181&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=BroadcastChannelSendMessage&amp;diff=5181&amp;oldid=prev"/>
		<updated>2026-01-04T09:30:10Z</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=BroadcastChannelSendMessage&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;
Функция выполняет отсылку сообщения (состоящего из произвольного числового идентификатора и произвольного текста) всем абонентам, подписанным на канал сообщений, заданный по его имени или идентификатору. Для подписчиков, использующих форму (см. [[BroadcastChannelSubscribe]]), сообщения доставляются сразу же (однако, может пройти долгое время, пока форма закончит текущую работу, и даже когда она ожидает действий пользователя, может пройти до нескольких секунд). Доставка будет осуществляться по такому же принципу, как доставляются сообщения [[BroadcastGlobalMessage]]. Если форма больше не существует, сообщение для таких подписчиков доставлены не будут. Подписчикам без указания формы, подтребуется вызвать функцию [[BroadcastChannelReceiveMessage]], чтобы забрать первое из сообщений из очереди. Разрешается использовать функцию из потоков, которые не подписаны на канал, для которого происходит отправка. Функцию также можно использовать для каналов, на которые не подписан ни один абонент (в этом случае, сообщение будет проигнорировано). Функция возвращает количество отосланных сообщений (которое совпадает с количеством абонентов канала на момент вызова функции).&lt;br /&gt;
&lt;br /&gt;
== Синтаксис ==&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
'''BroadcastChannelSendMessage'''(''&amp;lt;Имя или идентификатор канала (INT,STRING)&amp;gt;'',''&amp;lt;Код сообщения (INT)&amp;gt;'',''&amp;lt;Содержимое сообщения (STRING)&amp;gt;''):''&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;Имя или идентификатор канала (INT,STRING)&amp;gt;''&amp;lt;/code&amp;gt; - Имя канала для подписки (строка) или его идентификатор (число).&lt;br /&gt;
* &amp;lt;code&amp;gt;''&amp;lt;Код сообщения (INT)&amp;gt;''&amp;lt;/code&amp;gt; - Произвольный код сообщения, коды 1-10000 рекомендуется использовать для нужд проекта, остальные для нужд внешних обработок.&lt;br /&gt;
* &amp;lt;code&amp;gt;''&amp;lt;Содержимое сообщения (STRING)&amp;gt;''&amp;lt;/code&amp;gt; - Произвольный текст сообщения для отправки (строка может содержать международные и любые непечатные символы).&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>