<?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=MassUnlock</id>
	<title>MassUnlock - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://sfsys.ru/index.php?action=history&amp;feed=atom&amp;title=MassUnlock"/>
	<link rel="alternate" type="text/html" href="http://sfsys.ru/index.php?title=MassUnlock&amp;action=history"/>
	<updated>2026-04-04T20:15:06Z</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=MassUnlock&amp;diff=1524&amp;oldid=prev</id>
		<title>Admin: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="http://sfsys.ru/index.php?title=MassUnlock&amp;diff=1524&amp;oldid=prev"/>
		<updated>2021-02-07T06:51:48Z</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 06:51, 7 February 2021&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=MassUnlock&amp;diff=1523&amp;oldid=prev</id>
		<title>Admin at 10:51, 22 November 2020</title>
		<link rel="alternate" type="text/html" href="http://sfsys.ru/index.php?title=MassUnlock&amp;diff=1523&amp;oldid=prev"/>
		<updated>2020-11-22T10:51:44Z</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=MassUnlock&lt;br /&gt;
|object=[[Функции общего назначения]]&lt;br /&gt;
|caption=Разблокировка группы объектов&lt;br /&gt;
|type=1&lt;br /&gt;
|status=2&lt;br /&gt;
|db=1&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;
Функция позволяет снять [[:Template:Типы блокировок системы|блокировку]] со множества объектов базы данных (или/и семафоров) по указанным правилам. Текстовые значения списка будут интерпретированы, как [[DBLockStringMutex|семафоры]], объекты базы данных, входящие в список, будут разблокированы, как [[DB.Unlock|объекты БД]]. Если какой-нибудь объект из списка (или семафор) не был заблокирован, элемент пропускается. Если объект (или семафор) из списка заблокирован другим пользователем, функция завершается с неудачей и заполняет аргументы ''Объект ошибки'', ''Заблокировано пользователем'', ''Заблокировано на машине'' и ''Время блокировки'' значениями, описывающими объект, разблокировать который не удалось. Данный режим больше всего подходит для семафоров, так как объекты базы данных будут иметь флаг блокировки без реальной блокировки на сервере только в случае внутренней ошибки системы.&lt;br /&gt;
&lt;br /&gt;
== Синтаксис ==&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
'''MassUnlock'''(''&amp;lt;Список с объектами для разблокировки (LIST)&amp;gt;''{{OptionalByRef|,&amp;lt;Объект ошибки&amp;gt;}},{{Optional|{{OptionalByRef|&amp;lt;Заблокировано пользователем (STRING)&amp;gt;}},{{OptionalByRef|&amp;lt;Заблокировано на машине (STRING)&amp;gt;}},{{OptionalByRef|&amp;lt;Время блокировки (DATE)&amp;gt;}}}}):''&amp;lt;0 или 1 (INT)&amp;gt;''&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
==== Аргументы ====&lt;br /&gt;
* &amp;lt;code&amp;gt;''&amp;lt;Список с объектами для блокировки (LIST)&amp;gt;''&amp;lt;/code&amp;gt; - Список, содержащий объекты базы данных или/и строки для снятия блокировки.&lt;br /&gt;
* &amp;lt;code&amp;gt;''&amp;lt;Объект ошибки&amp;gt;''&amp;lt;/code&amp;gt; - {{optional}}{{byRef}} Переменная для идентификации объекта (семафора), который не может быть разблокирован&lt;br /&gt;
* &amp;lt;code&amp;gt;''&amp;lt;Заблокировано пользователем (STRING)&amp;gt;''&amp;lt;/code&amp;gt; - {{optional}}{{byRef}} Переменная для получения идентификатора пользователя, который заблокировал ''&amp;lt;Объект ошибки&amp;gt;''&lt;br /&gt;
* &amp;lt;code&amp;gt;''&amp;lt;Заблокировано на машине (STRING)&amp;gt;''&amp;lt;/code&amp;gt; - {{optional}}{{byRef}} Переменная для получения имени компьютера, на котором был заблокировал ''&amp;lt;Объект ошибки&amp;gt;''&lt;br /&gt;
* &amp;lt;code&amp;gt;''&amp;lt;Время блокировки (DATE)&amp;gt;''&amp;lt;/code&amp;gt; - {{optional}}{{byRef}} Переменная для получения даты и времени блокировки ''&amp;lt;Объекта ошибки&amp;gt;''&lt;br /&gt;
&lt;br /&gt;
==== Возвращаемое значение ====&lt;br /&gt;
Возвращает 1, все объекты списка были разблокированы, 0 -- если хотя бы один не был разблокирован.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Примеры ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//Внимание: пример нельзя проверить на рабочей базе данных без изменения кодов объектов&lt;br /&gt;
a:=List.Create(DB(&amp;quot;Ref.Номенклатура&amp;quot;,&amp;quot;Code&amp;quot;,&amp;quot;000000003661&amp;quot;),DB(&amp;quot;Ref.Номенклатура&amp;quot;,&amp;quot;Code&amp;quot;,&amp;quot;000000007561&amp;quot;),&amp;quot;MUTEX01&amp;quot;);&lt;br /&gt;
//Список содержит два объекта базы данных и одну строку, один из объектов является папкой.&lt;br /&gt;
аОбъект:=0;&lt;br /&gt;
аПольз:=0;&lt;br /&gt;
аМашина:=0;&lt;br /&gt;
аВремя:=0;&lt;br /&gt;
If MassLockWithWait(a,,,1000,аОбъект,аПольз,аМашина,аВремя) Then&lt;br /&gt;
  Message(&amp;quot;Блокировка произведена успешно&amp;quot;);&lt;br /&gt;
  If a.MassUnlock() Then&lt;br /&gt;
    Message(&amp;quot;Разблокировка произведена успешно&amp;quot;);&lt;br /&gt;
  Else&lt;br /&gt;
    Message(&amp;quot;Ошибка разблокировки. Внутренняя ошибка!&amp;quot;,&amp;quot;!&amp;quot;);&lt;br /&gt;
  EndIf;&lt;br /&gt;
Else&lt;br /&gt;
  Message(&amp;quot;Невозможно произвести блокировку объекта &amp;quot;+аОбъект+&amp;quot;, он был заблокирован пользователем &amp;quot;+аПольз+&amp;quot; на машине &amp;quot;+аМашина+&amp;quot; в &amp;quot;+аВремя);&lt;br /&gt;
EndIf;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
</feed>