<?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=MassSelectObjects</id>
	<title>MassSelectObjects - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://sfsys.ru/index.php?action=history&amp;feed=atom&amp;title=MassSelectObjects"/>
	<link rel="alternate" type="text/html" href="http://sfsys.ru/index.php?title=MassSelectObjects&amp;action=history"/>
	<updated>2026-04-04T10:20:31Z</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=MassSelectObjects&amp;diff=1522&amp;oldid=prev</id>
		<title>Admin: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="http://sfsys.ru/index.php?title=MassSelectObjects&amp;diff=1522&amp;oldid=prev"/>
		<updated>2021-02-07T06:51:47Z</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=MassSelectObjects&amp;diff=1521&amp;oldid=prev</id>
		<title>Admin at 11:25, 30 October 2020</title>
		<link rel="alternate" type="text/html" href="http://sfsys.ru/index.php?title=MassSelectObjects&amp;diff=1521&amp;oldid=prev"/>
		<updated>2020-10-30T11:25:38Z</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=MassSelectObjects&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=1}}&lt;br /&gt;
{{HeadLinks|&lt;br /&gt;
* [[Main_Page|Начальная страница]]&lt;br /&gt;
* [[Общее_описание_языка|Общее описание]]&lt;br /&gt;
* [[Объекты]]&lt;br /&gt;
* [[Функции общего назначения]]}}&lt;br /&gt;
Функция позволяет загружать и инициировать выполнение модуля и формы в модальном режиме для выбора множества объектов базы данных из списка объектов, при этом возможно начальное позиционирование на указанный объект, определение требуемого объекта формы списка объектов (если их несколько), изменение заголовка формы, использование других возможностей. В момент выбора очередного объекта пользователем, система вызывает особую функцию выбора (возможно с доп. параметром), имя которой задается в первом аргументе. Функция не возвратится до тех пор, пользователь не закроет исполняемый модуль, при этом, модуль может изменить переданные параметры, если они представляли собой переменные. Функция не может использоваться для локальных клиентов, не связанных с базой данных. Путь, задаваемый вторым аргументом этой функции, может представлять собой [[Имена файлов|серверный файловый путь]] (пример: '''Modules\FreeForms\Касса\Список доверенностей''') или наименование объекта базы данных в виде &amp;lt;code&amp;gt;&amp;lt;Тип объекта&amp;gt;.&amp;lt;Вид объекта&amp;gt;&amp;lt;/code&amp;gt; (пример '''Ref.Номенклатура'''), система преобразовывает его в соответствующий путь. По своему действию функция совпадает с функцией [[SelectObject]], однако, после выбора элемента пользователем, будет вызвана именованная процедура из контекста вызывавшего модуля, после чего пользователь сможет продолжить выбор. Выбор заканчивается только после того, как пользователь закрывает форму выбора. Некоторые отличия этой функции от [[LoadModule]], [[OpenObject]], а также особенности поведения модуля и формы, открытых этой функцией:&lt;br /&gt;
* Функция работает только в модальном режиме, выбор режима загрузки недоступен.&lt;br /&gt;
* В открытой функцией форме идентифицируется (по умолчанию задается в [[Студия/Редактор форм|Студии]], см. isDefaultControl) табличный элемент формы, список или древовидный элемент формы, которые используются для выбора объекта. При нажатии на клавишу ''Enter'', либо двойном клике мышью, система автоматически закроет форму и передаст выбранный объект в виде результата.&lt;br /&gt;
* По умолчанию запрещен выбор папок справочников, чтобы разрешить выбор папок наряду с обычными элементами, необходимо установить галку ''areFoldersSelectable'' на используемом для выбора элементе формы в [[Студия/Редактор форм|Студии]], либо указать возможность выбора папок в аргументе &amp;lt;Дополнительные установки&amp;gt; этой функции.&lt;br /&gt;
* Если в таблице элементов объекта присутствует по крайней мере один периодический реквизит, в заголовок формы будет также добавлена дата загрузки периодических реквизитов. Изменение периода загрузки реквизитов производится с помощью функций [[Form.BegPeriodDate]] и [[Form.EndPeriodDate]]. При этом функция ''Form.EndPeriodDate'' автоматически обновит таблицу элементов объекта.&lt;br /&gt;
* Модуль и форма, используемые системой по умолчанию задаются в [[Студия/Конфигурация данных проекта|Студии]] и зависят от дополнительных установок, передаваемых в эту функцию. К примеру, для выбора элементов может быть задана одна форма по умолчанию, а для выбора папок другая.&lt;br /&gt;
Загрузка модуля проходит следующие этапы:&lt;br /&gt;
{{Load module stages}}&lt;br /&gt;
&lt;br /&gt;
== Синтаксис ==&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
'''MassSelectObjects'''(''&amp;lt;Имя функции для принятия результата выбора (STRING)&amp;gt;'',''&amp;lt;Путь или имя базы данных (STRING)&amp;gt;''{{OptionalByRef|,&amp;lt;Параметр&amp;gt;,&amp;lt;Опция&amp;gt;}}{{Optional|,&amp;lt;Имя модуля (STRING)&amp;gt;{{Default|{{Eq}}&amp;quot;Module&amp;quot;}},&amp;lt;Имя формы (STRING)&amp;gt;{{Default|{{Eq}}&amp;quot;SelectForm&amp;quot;}},&amp;lt;Объект для позиционирования&amp;gt;,&amp;lt;Наименование объекта формы, осуществляющего выбор (STRING)&amp;gt;,&amp;lt;Заголовок формы (STRING)&amp;gt;,&amp;lt;Параметр функции принятия выбора&amp;gt;,&amp;lt;Дополнительные установки (INT)&amp;gt;{{Default|{{Eq}}0}}}})&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; - Имя функции вызывавшего модуля, которая последовательно получает выбранные пользователем элементы. Функция будет вызвана внутри контекста вызывавшей формы и может дополнительно принять один аргумент, используемый по усмотрению разработчика. Функция определяется в следующем виде: &amp;lt;code&amp;gt;Function &amp;lt;ИмяФункции&amp;gt;(&amp;lt;Выбранный элемент&amp;gt;{{Optional|,&amp;lt;Дополнительный параметр функции&amp;gt;}})&amp;lt;/code&amp;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;Параметр&amp;gt;,&amp;lt;Опция&amp;gt;''&amp;lt;/code&amp;gt; - {{ByRef}} {{Optional}} Аргументы передаются в вызываемый модуль без изменения, и могут использоваться по усмотрению разработчика. Аргументы будут доступы начиная с первого вызова модуля под именами '''Param''' и '''Option'''. При открытии/загрузке объектов базы данных первый аргумент (''Param'') рекомендуется использовать для указания на родителя (Parent) текущего элемента или списка элемента справочников. Система сама может пытаться использовать по умолчанию значение этого аргумента, как родителя справочника при загрузке объектов (это поведение, однако, может быть изменено). Если аргументы представлены переменными и модуль вызывается в модальном режиме, вызываемая программа может изменить значения этих переменных и, после того, как вызываемый модуль закончит работу, измененные значения будут переданы в исходных переменных.&lt;br /&gt;
* &amp;lt;code&amp;gt;''&amp;lt;Имя модуля (STRING)&amp;gt;''&amp;lt;/code&amp;gt; - {{Optional}} Имя загружаемого модуля, если этот параметр не указан, будет использовано имя, заданное в [[Студия/Конфигурация данных проекта|Студии]], либо '''Module''', если в проекте модуль не задан.&lt;br /&gt;
* &amp;lt;code&amp;gt;''&amp;lt;Имя формы (STRING)&amp;gt;''&amp;lt;/code&amp;gt; - {{Optional}} Имя загружаемой формы, если этот параметр не указан, будет использовано имя, заданное в [[Студия/Конфигурация данных проекта|Студии]], либо '''SelectForm''', если в проекте форма не задана. Если форма не будет использоваться (загруженный модуль будет закрыт, так как функция ''OnOpen'' возвратит 0, либо произойдет исключение и пр.), т.е. загрузка будет прервана до начала загрузки визуальной части, этот параметр не имеет значения.&lt;br /&gt;
* &amp;lt;code&amp;gt;''&amp;lt;Объект для позиционирования&amp;gt;''&amp;lt;/code&amp;gt; - {{Optional}} Объект базы данных, на который будет выполнено позиционирование экранного элемента, в котором осуществляется выбор.&lt;br /&gt;
* &amp;lt;code&amp;gt;''&amp;lt;Наименование объекта формы, осуществляющего выбор (STRING)&amp;gt;''&amp;lt;/code&amp;gt; - {{Optional}} Наименование объекта формы, в котором осуществляется выбор. Если этот параметр не задан, таким объектом принимается элемент формы, имеющий признак isDefaultControl, задаваемый в [[Студия/Редактор форм|Студии]].&lt;br /&gt;
* &amp;lt;code&amp;gt;''&amp;lt;Заголовок формы (STRING)&amp;gt;''&amp;lt;/code&amp;gt; - {{Optional}} Задает заголовок формы выбора, заголовок можно изменить и после загрузки формы.&lt;br /&gt;
* &amp;lt;code&amp;gt;''&amp;lt;Параметр функции принятия выбора&amp;gt;''&amp;lt;/code&amp;gt; - {{Optional}} Может использоваться, к примеру, если несколько вызовов ''MassSelectObjects'' используют одну функцию выбора, чтобы последняя смогла отличить один вызов от другого.&lt;br /&gt;
* &amp;lt;code&amp;gt;''&amp;lt;Дополнительные установки (INT)&amp;gt;''&amp;lt;/code&amp;gt; - {{Optional}} Битовая маска, определяющая дополнительные установки выбора:&lt;br /&gt;
** Бит 0 (1) -- Разрешает выбирать папки справочников (1), либо только элементы (0, по умолчанию).&lt;br /&gt;
** Бит 1 (2) -- Форсирует выбор родителя справочника до начала выбора элемента, если справочник имеет родителей (по умолчанию -- нет). Данный пункт позволяет открыть другие формы выбора для выбора родителей данного справочника, если они заданы до того, как произойдет открытие формы выбора элемента. Выбранные родители будут установлены, как родительский элемент на элементе формы, в котором отображены выбираемые элементы (соответствует установке [[Form.ParentElement]]). Формы для выбора родителей вызываются с установками по умолчанию, если необходимо произвести выбор родителей с установками, отличными от умолчания, программа должна предусмотреть вызов функций [[SelectObject]] для выбора родителей и передачи выбранного родителя в форму выбора подчиненных элементов самостоятельно.&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;
//Функция инициирует выбор документов определенного вида из журнала документов &amp;quot;ОбщийЖурнал&amp;quot;&lt;br /&gt;
MassSelectObjects(&amp;quot;ПриПодбореДокументов&amp;quot;,&amp;quot;Jor.ОбщийЖурнал&amp;quot;,ВидДокументов,0,&amp;quot;Module&amp;quot;,&amp;quot;SelectForm&amp;quot;,аДокТек,,&amp;quot;Выберите требуемые документы:&amp;quot;,aList);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Функция подбора может выглядеть сл. образом, заполняется список спДокументы&lt;br /&gt;
Function ПриПодбореДокументов(aEl,oList)&lt;br /&gt;
  If isEmpty(aEl) Then&lt;br /&gt;
    Exit;&lt;br /&gt;
  EndIf;&lt;br /&gt;
  If aEl.DBName()&amp;lt;&amp;gt;ВидДокументов Then&lt;br /&gt;
    Box(&amp;quot;Документ &amp;quot;+aEl+&amp;quot; несовместим с выбранным типом фильтра!&amp;quot;,Q_STOP);&lt;br /&gt;
    Exit;&lt;br /&gt;
  EndIf;&lt;br /&gt;
  If спДокументы.Find(aEl)&amp;gt;0 Then&lt;br /&gt;
    Box(&amp;quot;Документ &amp;quot;+aEl+&amp;quot; уже был выбран!&amp;quot;,Q_STOP);&lt;br /&gt;
    Exit;&lt;br /&gt;
  EndIf;  &lt;br /&gt;
  спДокументы.Add(aEl);&lt;br /&gt;
EndFunction&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
</feed>