<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://gsbelarus.com:80/gs/wiki/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>https://gsbelarus.com:80/gs/wiki/index.php?action=history&amp;feed=atom&amp;title=Subset</id>
		<title>Subset - История изменений</title>
		<link rel="self" type="application/atom+xml" href="https://gsbelarus.com:80/gs/wiki/index.php?action=history&amp;feed=atom&amp;title=Subset"/>
		<link rel="alternate" type="text/html" href="https://gsbelarus.com:80/gs/wiki/index.php?title=Subset&amp;action=history"/>
		<updated>2026-07-16T18:16:57Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.19.16</generator>

	<entry>
		<id>https://gsbelarus.com:80/gs/wiki/index.php?title=Subset&amp;diff=1379&amp;oldid=prev</id>
		<title>SYSDBA в 00:03, 7 ноября 2006</title>
		<link rel="alternate" type="text/html" href="https://gsbelarus.com:80/gs/wiki/index.php?title=Subset&amp;diff=1379&amp;oldid=prev"/>
				<updated>2006-11-07T00:03:07Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Бизнес-объект -- это по сути &amp;quot;навороченый&amp;quot; набор данных (data set), которые извлекаются из базы с помощью SQL запроса. В общем случае, в SQL запросе можно указать какие-угодно условия отбора записей, но, очевидно, что среди всех условий существует несколько, к которым разработчик обращается намного чаще, чем к остальным. Для облегчения труда разработчика были придуманы СабСеты (Subset), которые фактически являются именами некоторых условий, добавляемых в SQL запрос.&lt;br /&gt;
&lt;br /&gt;
== Основные сабсеты бизнес-объекта ==&lt;br /&gt;
&lt;br /&gt;
Рассмотрим базовый класс [[TgdcBase]]. Функция класса GetSubSetList возвращает строку со всеми допустимыми сабсетами, перечисленными через точку с запятой.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
class function TgdcBase.GetSubSetList: String;&lt;br /&gt;
begin&lt;br /&gt;
  Result := 'All;ByID;ByName;OnlySelected;';&lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Как видно, на самом базовом уровне поддерживаются четыре сабсета с именами: All, ByID, ByName и OnlySelected. Рассмотрим их по-подробнее:&lt;br /&gt;
&lt;br /&gt;
; All: снимает все ограничения. В выборку попадут все записи, находящиеся в базе.&lt;br /&gt;
; ByID: извлечение одной записи по заданному ИД. В запрос будет добавлено условие:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;pre&amp;gt;&lt;br /&gt;
 WHERE&lt;br /&gt;
   ...&lt;br /&gt;
   z.id = :ID&lt;br /&gt;
   ...&lt;br /&gt;
 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
После выбора данного сабсета следует присвоить значение параметру ID и открыть набор данных.&lt;br /&gt;
&lt;br /&gt;
; ByName: выбор записей из базы данных наименование которых совпадает с заданным параметром Name. Отбор производится по полю с именем, возвращаемым функцией GetListField.&lt;br /&gt;
&lt;br /&gt;
; OnlySelected: в результирующую выборку попадут только те записи, идентификаторы которых содержатся в свойстве SelectedID бизнес-объекта.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Методы и свойства бизнес-объекта для работы с сабсетами ==&lt;br /&gt;
&lt;br /&gt;
Следующие методы и свойства бизнес-объекта предназначены для работы с сабсетами:&lt;br /&gt;
&lt;br /&gt;
; SubSetCount&lt;br /&gt;
: property SubSetCount: Integer read GetSubSetCount;&lt;br /&gt;
&lt;br /&gt;
; SubSets&lt;br /&gt;
: property SubSets[Index: Integer]: TgdcSubSet read GetSubSets write SetSubSets;&lt;br /&gt;
&lt;br /&gt;
; HasSubSet&lt;br /&gt;
: function HasSubSet(const ASubSet: TgdcSubSet): Boolean;&lt;br /&gt;
&lt;br /&gt;
; DeleteSubSet&lt;br /&gt;
: procedure DeleteSubSet(const Index: Integer);&lt;br /&gt;
&lt;br /&gt;
; RemoveSubSet&lt;br /&gt;
: procedure RemoveSubSet(const ASubSet: TgdcSubSet);&lt;br /&gt;
&lt;br /&gt;
; AddSubSet&lt;br /&gt;
: procedure AddSubSet(const ASubSet: TgdcSubSet);&lt;br /&gt;
&lt;br /&gt;
; ClearSubSets&lt;br /&gt;
: procedure ClearSubSets;&lt;/div&gt;</summary>
		<author><name>SYSDBA</name></author>	</entry>

	</feed>