.. Автор: Дмитрий Ощепков aka DmitrO, mailto: dmitro@russian.ru

.. include:: commonchm.txt

*****************************************************
Работа с Табличным Полем
*****************************************************
..	<chminfo>
		<insert nodes="//common/maininfo/*"/>
		<alinks>
			_1cpp_table_field_
			_1cpp_formex_cc_target_
		</alinks>
	</chminfo>

.. contents:: Содержание
	:backlinks: none

Эта часть документации описывает работу с ЭУ "ТабличноеПоле".


@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Табличное поле
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

Элемент управления, представляющий данные в виде таблицы. Работает со специальными объектами -
источниками данных, называемыми поставщиками данных табличного поля. Поставщики данных обеспечивают
специальный интерфейс, через который табличное поле получает данные. Само табличное поле не работает с
источниками данных (базой данных, файлом, таблицами в памяти и т.п.), оно пользуется только тем,
что предоставляет ему поставщик данных.

Табличное поле может генерировать события в виде вызова процедур модуля формы, на которой оно расположено,
имена которых должны быть составлены из имени реквизита формы и имени события. Каждое событие, кроме
описанных параметров, всегда имеет первый параметр, имеющий значение объекта - источника событий
(само табличное поле).

Подержка полиморфного поведения при обработке событий

События табличного поля может обрабатывать КОП-наследник от ТабличногоПоля. Процедуры-обработчики событий должны
быть объявлены с ключевым словом Экспорт (protected или public) и должны иметь имя, совпадающее с именем
обрабатываемого события.

События могут быть заданы в КОПе и в модуле формы одновременно, в этом случае сначала происходит вызов события в КОПе,
затем в модуле формы.

#####################################################################
ТабличноеПоле
#####################################################################

Во всех объектах табличного поля и в нем самом, свойства, определяющие цвет различных элементов задаются стандартным
числом RGB. Кроме того, свойства могут принимать специальное значение цвета, равное -1. Это означает авто-цвет -
значение цвета будет определяться из настроек операционной системы.



Создание табличного поля.
=====================================================================
..	<chminfo split="0"></chminfo>

Для создания объекта нужно разместить на форме кнопку - она будет реквизитом формы. После того, как окно формы создано
(например в процедуре ПослеОткрытия()), необходимо получить объект АтрибутФормы, соответствующий
этой кнопке и вызвать его метод `АтрибутФормы::СоздатьЭлементУправления()|_1cpp_Formex_CreateControl_ <alink>`_, передав в него:

	- строку "ТабличноеПоле": в этом случае будет создан объект типа ТабличноеПоле_;
	- объект типа ТабличноеПоле_: для создания ЭУ будет использован переданный объект.
	- объект КОПа наследника от объекта ТабличноеПоле_ (причем не обязательно непосредственный наследник):
	  для создания ЭУ будет использован объект базового класса.

Метод возвращает объект типа ТабличноеПоле_ или переданный параметром объект.

Свойства
=====================================================================
..	<chminfo split="0" splitchild="1">
		<insert nodes="//common/propsmethods/*"/>
	</chminfo>



Колонки / Columns
---------------------------------------------------------------------
	**Доступ:** только чтение.

	**Тип:** КолонкиТабличногоПоля_.

	**Описание:** Содержит коллекцию колонок табличного поля.



ПоставщикДанных / DataProvider
---------------------------------------------------------------------
	**Доступ:** чтение и запись.

	**Тип:** объект.

	**Описание:** Поставщик данных табличного поля.

	См. также: `Поставщики данных табличного поля`_



ВертСкроллер / VScroller
---------------------------------------------------------------------
	**Доступ:** чтение и запись.

	**Тип:** Число.

	**Описание:** Наличие вертикальной полосы прокрутки.

	- 0 - Автоматически скрывать, если все строки помещаются в табличном поле;
	- 1 - Всегда присутствует;
	- 2 - Всегда отсутствует.



НачальноеПредставление / StartView
---------------------------------------------------------------------
.. _НачальноеПредставление :

	**Доступ:** чтение и запись.

	**Тип:** Число.

	**Описание:** Используется для определения начального заполнения табличного поля, когда в него установлен
	поставщик данных.

	- 0 - с начала;
	- 1 - с конца.



РежимВыделенияСтроки / RowSelectMode
---------------------------------------------------------------------
	**Доступ:** чтение и запись.

	**Тип:** Число.

	**Описание:** Определяет стиль выделения текущей строки.

	- 0 - выделяется ячейка;
	- 1 - выделяется вся строка.



ВертикальныеЛинии / VerticalLines
---------------------------------------------------------------------
	**Доступ:** чтение и запись.

	**Тип:** Число.

	**Описание:** Определяет наличие вертикальных разделительных линий между ячейками.
	0 - линии не отображаются, 1 - линии отображаются.



ГоризонтальныеЛинии / HorizontalLines
---------------------------------------------------------------------
	**Доступ:** чтение и запись.

	**Тип:** Число.

	**Описание:** Определяет наличие горизонтальных разделительных линий между ячейками.
	0 - линии не отображаются, 1 - линии отображаются.



СтильЗаголовков / HeadersStyle
---------------------------------------------------------------------
	**Доступ:** чтение и запись.

	**Тип:** Число.

	**Описание:** Определяет стиль отрисовки заголовков колонок.

	- 0 - стиль 3D;
	- 1 - плоский стиль.



ТекущаяКолонка / CurrentColumn
---------------------------------------------------------------------
	**Доступ:** чтение и запись.

	**Тип:** КолонкаТабличногоПоля_.

	**Описание:** Определяет текущую колонку табличного поля.



ТекущиеДанные / CurrentData
---------------------------------------------------------------------
	**Доступ:** только чтение.

	**Тип:** ДанныеСтроки_.

	**Описание:** Коллекция значений полей данных источника данных табличного поля. Данные текущей строки.



Шрифт / Font
---------------------------------------------------------------------
	**Доступ:** чтение и запись.

	**Тип:** Шрифт_.

	**Описание:** Шрифт по умолчанию для колонок, строк, заголовков и ячеек табличного поля.

	Определяет также
	высоту строки табличного поля. Высота строки будет определяться по высоте строки текста этого шрифта. Значение
	Авто означает, что будет использоваться шрифт формы. По отношению ко всем остальным дочерним объектам табличного
	поля (колонка, строка, ячейка), этот шрифт будет шрифтом с самым низким приоритетом.

	**Примечание:** значение Авто в свойствах типа Шрифт дочерних объектов означает, что будет выбран шрифт с меньшим
	приоритетом.



ТаймаутОбновления / RefreshTimeout
---------------------------------------------------------------------
	**Доступ:** чтение и запись.

	**Тип:** Число.

	**Описание:** Интервал времени (в секундах), через который выполняется автоматическое обновление данных
	табличного поля. 0 - не обновлять автоматически.



ТаймаутБыстрогоПоиска / QuickSearchTimeout
---------------------------------------------------------------------
	**Доступ:** чтение и запись.

	**Тип:** Число.

	**Описание:** Интервал времени (в миллисекундах), через который выполняется попытка найти строку по введенным данным.
	табличного поля. 0 - автоматически не пытаться.



ИзменятьПозициюКолонок / ChangePositionOfColumns
---------------------------------------------------------------------
	**Доступ:** чтение и запись.

	**Тип:** Число.

	**Описание:** Разрешает или запрещает изменение позиции колонок. 0 - запрещает, 1 - разрешает.



ЦветЛиний / LinesColor
---------------------------------------------------------------------
	**Доступ:** чтение и запись.

	**Тип:** Число.

	**Описание:** Определяет цвет разделительных линий между ячейками табличного поля.



ЦветТекста / TextColor
---------------------------------------------------------------------
	**Доступ:** чтение и запись.

	**Тип:** Число.

	**Описание:** Определяет цвет текста табличного поля по умолчанию.



ЦветФона / BackColor
---------------------------------------------------------------------
	**Доступ:** чтение и запись.

	**Тип:** Число.

	**Описание:** Определяет цвет фона табличного поля по умолчанию.
	Имеет влияние на цвет ячеек и на пространство окна, не занятое данными табличного поля.



ЦветТекстаВыделения / SelectionTextColor
---------------------------------------------------------------------
	**Доступ:** чтение и запись.

	**Тип:** Число.

	**Описание:** Определяет цвет текста выделенной ячейки.



ЦветФонаВыделения / SelectionBackColor
---------------------------------------------------------------------
	**Доступ:** чтение и запись.

	**Тип:** Число.

	**Описание:** Определяет цвет фона выделенной ячейки.



ЦветФонаЧередованияСтрок / AlternationRowBackColor
---------------------------------------------------------------------
	**Доступ:** чтение и запись.

	**Тип:** Число.

	**Описание:** Определяет альтернативный цвет фона строки таблицы в режиме чередования цветов фона строк.



ЧередованиеЦветовСтрок / UseAlternationRowColor
---------------------------------------------------------------------
	**Доступ:** чтение и запись.

	**Тип:** Число.

	**Описание:** Определяет режим чередования цвета фона строки. 0 - не чередовать, 1- чередовать.


ТекущаяСтрока / CurrentRow
---------------------------------------------------------------------
.. <chminfo><alinks>_table_field_current_row_</alinks></chminfo>

.. _ТекущаяСтрока :

	**Доступ:** чтение и запись.

	**Тип:** определяется поставщиком данных. Указывается в описании конкретного поставщика данных.

	**Описание:** Определяет текущую строку табличного поля. Cвойство обслуживается установленным поставщиком данных.
	При записи в это свойство, произойдет активизация соответствующей строки табличного поля.

	**См. также:** `Поставщики данных табличного поля`_

РазрешитьНачалоПеретаскивания / EnableStartDrag
---------------------------------------------------------------------
	**Доступ:** чтение и запись.

	**Тип:** Число.

	**Описание:** Определяет поведение ЭУ для режима Drag&Drop. 1 - разрешает ЭУ выступать источником в операциях перетаскивания, 0 - запрещает.

	Когда начало перетаскивания разрешено, работают события `НачалоПеретаскивания / DragStart`_ и `ОкончаниеПеретаскивания / DragEnd`_.

РазрешитьПеретаскивание / EnableDrag
---------------------------------------------------------------------
	**Доступ:** чтение и запись.

	**Тип:** Число.

	**Описание:** Определяет поведение ЭУ для режима Drag&Drop. 1 - разрешает ЭУ выступать приемником в операциях перетаскивания, 0 - запрещает.

	Когда перетаскивание разрешено, работают события `ПроверкаПеретаскивания / DragCheck`_ и `Перетаскивание / Drag`_.

ОтображатьЗаголовки / ShowHeaders
---------------------------------------------------------------------
	:Доступ:
		чтение и запись

	:Тип:
		Число
			+ 1: отобразить заголовки
			+ 0: скрыть заголовки

	:Описание:
		Управляет отображением заголовков колонок ТП

Методы
=====================================================================
..	<chminfo split="0" splitchild="1">
		<insert nodes="//common/propsmethods/*"/>
	</chminfo>


ОбновитьСтроки / RefreshRows
---------------------------------------------------------------------
	**Синтаксис:** ОбновитьСтроки()

	**Описание:** перечитать строки, отображаемые в данный момент в табличном поле. Табличное поле будет
	стараться сохранить текущую строку.


ПерерисоватьСтроки / RedrawRows
---------------------------------------------------------------------
	:Синтаксис:
		ПерерисоватьСтроки()

	:Возвращает:
		нет

	:Описание:
		 Обновить строки, отображаемые в данный момент в табличном поле, без обращения к провайдеру.

УстановитьОтступы / SetTextMargins
---------------------------------------------------------------------
	:Синтаксис:
		УстановитьОтступы([чЛево = -1], [чВерх = -1], [чПраво = -1], [чНиз = -1])

	:Параметры:
		- чЛево, тип: Число
		- чВерх, тип: Число
		- чПраво, тип: Число
		- чНиз, тип: Число

	:Возвращает:
		нет

	:Описание:
		| Устанавливает отступы текста в пределах ячейки в соответствии с переданными параметрами.
		| Отрицательные значения параметров игнорируются.

ПолучитьГраницыТекущейЯчейки / GetCurrentCellBounds
---------------------------------------------------------------------
	:Синтаксис:
		ПолучитьГраницыТекущейЯчейки(чЛево, чВерх, чПраво, чНиз, флПривязка = 0)

	:Параметры:
		- чЛево, тип: Число
		- чВерх, тип: Число
		- чПраво, тип: Число
		- чНиз, тип: Число
		- флПривязка, тип: Число

		  + 0: экранные координаты
		  + 1: клиентские координаты

	:Возвращает:
		- 0: границы получить невозможно
		- 1: границы успешно получены

	:Описание:
		Возвращет координаты текущей ячейки ТП

События
=====================================================================
..	<chminfo split="0" splitchild="1">
		<insert nodes="//common/propsmethods/*"/>
	</chminfo>


ПриВыводеСтроки / RowOut
---------------------------------------------------------------------
	**Синтаксис:** ПриВыводеСтроки(ОформлениеСтроки, ДанныеСтроки)

	**Параметры:**

		- ОформлениеСтроки - тип: ОформлениеСтроки_. Объект для управления оформлением выводимой строки
		  табличного поля.
		- ДанныеСтроки - тип: ДанныеСтроки_. Данные (коллекция значений полей) выводимой строки
		  табличного поля.

	**Описание:** Возникает при выводе (отображении) строки табличного поля.

Выбор / Selection
---------------------------------------------------------------------
	**Синтаксис:** Выбор()

	**Описание:** Возникает при двойном клике на строке табличного поля, или нажатии клавиши Enter.

ПриАктивизацииСтроки / ActivateRow
---------------------------------------------------------------------
	**Синтаксис:** ПриАктивизацииСтроки()

	**Описание:** Возникает, когда любая строка становится текущей.

ПриАктивизацииКолонки / ActivateColumn
---------------------------------------------------------------------
	**Синтаксис:** ПриАктивизацииКолонки()

	**Описание:** Возникает, когда любая колонка становится текущей.

ПриАктивизацииЯчейки / ActivateCell
---------------------------------------------------------------------
	**Синтаксис:** ПриАктивизацииЯчейки()

	**Описание:** Возникает, когда ячейка становится текущей. Порядок прохождения событий: ПриАктивизацииСтроки,
	ПриАктивизацииКолонки, ПриАктивизацииЯчейки.

ПриВыбореЗаголовка / HeaderSelection
---------------------------------------------------------------------
	**Синтаксис:** ПриВыбореЗаголовка(Колонка)

	**Параметры:**

		- Колонка - тип: КолонкаТабличногоПоля_. Колонка, заголовок которой выбран.

	**Описание:** Возникает, когда пользователь выбирает мышью заголовок колонки.

ПриКонтекстномМеню / ContextMenu
---------------------------------------------------------------------
	**Синтаксис:** ПриКонтекстномМеню(ФлагЗаголовка, Колонка)

	**Параметры:**

		- ФлагЗаголовка - тип: Число. Флаг указывающий, что требуется отобразить меню для заголовка. 1 - меню для заголовка,
		  иначе меню для строк табличного поля.
		- Колонка - тип: КолонкаТабличногоПоля_. Колонка табличного поля, на которой было вызвано контекстное меню.

	**Описание:** Возникает, когда необходимо отобразить контекстное меню.

ПриВыбореФлажка / ClickCheckBox
---------------------------------------------------------------------
	**Синтаксис:** ПриВыбореФлажка()

	**Описание:** Возникает, когда пользователь изменяет значение флажка.

НачалоПеретаскивания / DragStart
---------------------------------------------------------------------
	**Синтаксис:** НачалоПеретаскивания(ДопустимыеДействия, Значение, ТипЦели)

	**Параметры:**

		- ДопустимыеДействия - тип: Число. (Выход) Список допустимых действий перетаскивания. Список задается как сумма следующих значений:

			+ 1 - копирование (Copy)
			+ 2 - перетаскивание (Move)
			+ 4 - связывание (Link)

		  Значение по-умолчанию 1. Если необходимо разрешить другие действия, нужно изменить значение этого параметра на выходе из обработчика
		  события. Если передать 0, т.е. не определить ни одного действия, Перетаскивание не начнется.

		- Значение - тип: Любой. (Выход) Значение, представляющее перетаскиваемые данные. Определяется поставщиком данных. Это значение, которое используется
		  для идентификации строки, на которой происходит перетаскивание. Значение этого параметра на выходе будет определять перетаскиваемое значение.

		- ТипЦели - тип: Число. (Выход) Определяет логическую область отображения перетаскиваемых данных в ТП.

			+ 0 - ячейка
			+ 1 - строка
			+ 2 - колонка
			+ 3 - не задано

          Это значение используется для определения области ТП, в которой не нужно формировать события проверки перетаскивания, в том случае когда
          ЭУ-приемником является то же ТП, что и источник.

	**Описание:** Возникает в ЭУ источнике данных, когда пользователь начинает перетаскивание (Drag&Drop).

ОкончаниеПеретаскивания / DragEnd
---------------------------------------------------------------------
	**Синтаксис:** ОкончаниеПеретаскивания(Действие, Значение)

	**Параметры:**

        - Действие - тип: Число. Действие - результат операции перетаскивания. Допустимые действия:

			+ 0 - нет действия
			+ 1 - копирование (Copy)
			+ 2 - перетаскивание (Move)
			+ 4 - связывание (Link)

		- Значение - тип: Любой. Значение, представляющее перетаскиваемые данные. Это значение было задано в событии `НачалоПеретаскивания|НачалоПеретаскивания <klink>`_.

    **Описание:** Возникает в ЭУ источнике данных, когда завершается операция перетаскивания (Drag&Drop).

    Обычная обработка: в случае операции 2 (перетаскивания или Move) нужно удалить перетаскиваемые данные. В параметре Действие
    ЭУ источник данных всегда получит одно из тех действий, которое он определил для себя в событии
    `НачалоПеретаскивания / DragStart`_.

    Порядок прохождения событий:
        - `НачалоПеретаскивания|НачалоПеретаскивания <klink>`_ - в источнике,
        - `ПроверкаПеретаскивания|ПроверкаПеретаскивания <klink>`_ - в назначении,
        - `Перетаскивание|Перетаскивание <klink>`_ - в назначении,
        - ОкончаниеПеретаскивания - в источнике.

ПроверкаПеретаскивания / DragCheck
---------------------------------------------------------------------
	**Синтаксис:** ПроверкаПеретаскивания(Действие, Значение, СтрокаТП, КолонкаТП, ТипЦели)

	**Параметры:**

        - Действие - тип: Число. (Выход) Действие которое произойдет при совершении перетаскивания. По-умолчанию 0. Допустимые действия:

			+ 0 - нет действия
			+ 1 - копирование (Copy)
			+ 2 - перетаскивание (Move)
			+ 4 - связывание (Link)

        - Значение - тип: Любой. Значение, представляющее перетаскиваемые данные. Это значение было задано в обработчике события
          `НачалоПеретаскивания|НачалоПеретаскивания <klink>`_.
        - СтрокаТП - тип: Любой. Значение представляющее строку табличного поля, в которую идет перетаскивание (находится под курсором).
          Обеспечивается поставщиком данных.
        - КолонкаТП - тип: КолонкаТабличногоПоля_. Колонка табличного поля, в которую идет перетаскивание (находится под курсором).
        - ТипЦели - тип: Число. (Выход) Определяет логическую область приемника перетаскиваемых данных, которая подсвечивается
          рамкой. Значение по-умолчанию: если ЭУ источник данных - табличное поле, то значение, заданное в обработчике события
          `НачалоПеретаскивания|НачалоПеретаскивания <klink>`_; если источник данных - некий другой ЭУ, то значение равно 0.

			+ 0 - ячейка
			+ 1 - строка
			+ 2 - колонка
			+ 3 - не задано

    **Описание:** Возникает в ЭУ назначения перетаскивания для определения действия, которое произойдет при совершении операции перетаскивания.
    (Drag&Drop)

    Главное назначение события - проверить возможность совершения операции перетаскивания и определить Действие.
    Событие возникает всякий раз, когда изменяется строка или колонка ТП. Если строка или колонка не определяются под курсором мыши, то значения
    соответствующих параметров будут равны пустому значению.

Перетаскивание / Drag
---------------------------------------------------------------------
	**Синтаксис:** Перетаскивание(Действие, Значение, СтрокаТП, КолонкаТП)

	**Параметры:**

        - Действие - тип: Число. Действие, которое нужно выполнить для совершения перетаскивания. Равно значению
          параметра Действие на выходе из события `ПроверкаПеретаскивания / DragCheck`_. Допустимые действия:

			+ 1 - копирование (Copy)
			+ 2 - перетаскивание (Move)
			+ 4 - связывание (Link)

        - Значение - тип: Любой. Значение, представляющее перетаскиваемые данные. Это значение было задано в обработчике события
          `НачалоПеретаскивания|НачалоПеретаскивания <klink>`_.
        - СтрокаТП - тип: Любой. Значение представляющее строку табличного поля, в которую идет перетаскивание (находится под курсором).
          Обеспечивается поставщиком данных.
        - КолонкаТП - тип: КолонкаТабличногоПоля_. Колонка табличного поля, в которую идет перетаскивание (находится под курсором).

    **Описание:** Возникает в ЭУ назначения, когда совершается операция перетаскивания (Drag&Drop).

    Если строка или колонка не определяются под курсором мыши, то значения соответствующих параметров будут равны пустому значению.


ПриУничтожении / OnDestroy
---------------------------------------------------------------------
	:Синтаксис:
		ПриУничтожении()

	:Параметры:
		нет

	:Описание:
		Событие вызывается при уничтожении контрола, с которым связано ТП, до уничтожения самого ТП.


ПриНачалеБыстрогоПоиска / OnQuickSearchStart
---------------------------------------------------------------------
	:Синтаксис:
		ПриНачалеБыстрогоПоиска(чТипБыстрогоПоиска, чФСО)

	:Параметры:
		- чТипБыстрогоПоиска, тип: Число
			Тип быстрого поиска:
				+ 1 - текстовый быстрый поиск

		- чФСО, тип: Число
			Доступ: чтение и запись

			Флаг стандартной обработки. Возможные значения для установки:
				+ 1 - быстрый поиск разрешен
				+ 0 - быстрый поиск запрещен

			Значение по умолчанию: 1

	:Описание:
		Событие вызывается до инициализации окна быстрого поиска и позволяет управлять разрешением
		на его создание.

ПриБыстромПоиске / OnQuickSearch
---------------------------------------------------------------------
	:Синтаксис:
		ПриБыстромПоиске(чТипБыстрогоПоиска, нДанные, чФСО)

	:Параметры:
		- чТипБыстрогоПоиска, тип: Число
			Тип быстрого поиска:
				+ 1 - текстовый быстрый поиск

		- нДанные, тип: для текстового быстрого поиска - Строка
			Доступ: чтение и запись

			Данные, введенные в окне быстрого поиска

		- чФСО, тип: Число
			Флаг стандартной обработки. Возможные значения для установки:
				+ 1 - быстрый поиск разрешен
				+ 0 - быстрый поиск запрещен

			Значение по умолчанию: 1

	:Описание:
		| Событие вызывается до выполнения системной процедуры быстрого поиска и позволяет организовать специальные алгоритмы поиска.
		| Возможна трансформация данных с последующей системной обработкой, а также полная замена системной обработки на собственную.

#####################################################################
КолонкиТабличногоПоля
#####################################################################

Коллекция колонок табличного поля. Элементы коллекции - объекты типа КолонкаТабличногоПоля.
Индексы колонок - от нуля до количества колонок минус один.



Свойства
=====================================================================
..	<chminfo split="0" splitchild="1">
		<insert nodes="//common/propsmethods/*"/>
	</chminfo>


<ИмяКолонки>
---------------------------------------------------------------------
	**Доступ:** только чтение.

	**Тип:** КолонкаТабличногоПоля_.

	**Описание:** Набор свойств содержит значения полей колонок табличного поля. Доступ к значению осуществляется
	по имени колонки. Имена свойств совпадают с именами колонок табличного поля.



Методы
=====================================================================
..	<chminfo split="0" splitchild="1">
		<insert nodes="//common/propsmethods/*"/>
	</chminfo>


Количество / Count
---------------------------------------------------------------------
	**Синтаксис:** Количество()

	**Возвращает:** тип: Число, количество колонок.

	**Описание:** Получить количество колонок.



Получить / Get
---------------------------------------------------------------------
	**Синтаксис:** Получить(Колонка)

	**Параметры:**

		- Колонка - тип: Число, Строка. Индекс или имя колонки.

	**Возвращает:** тип: КолонкаТабличногоПоля_.

	**Описание:** Получить колонку табличного поля.



Индекс / IndexOf
---------------------------------------------------------------------
	**Синтаксис:** Индекс(Колонка)

	**Параметры:**

		- Колонка - тип: КолонкаТабличногоПоля_. Колонка, индекс которой требуется получить.

	**Возвращает:** тип: Число - индекс колонки, или -1, если колонка не принадлежит табличному полю.

	**Описание:** Получить индекс колонки.



Добавить / Add
---------------------------------------------------------------------
	**Синтаксис:** Добавить(Имя)

	**Параметры:**

		- Имя - тип: Строка. Имя добавляемой колонки.

	**Возвращает:** тип: КолонкаТабличногоПоля_ - созданная колонка.

	**Описание:** Добавляет колонку в табличное поле.



Вставить / Insert
---------------------------------------------------------------------
	**Синтаксис:** Вставить(Имя,Индкс)

	**Параметры:**

		- Имя - тип: Строка. Имя вставляемой колонки.
		- Индекс - тип: Число. Индекс вставляемой колонки.

	**Возвращает:** тип: КолонкаТабличногоПоля_ - созданная колонка.

	**Описание:** Вставляет колонку в табличное поле.



Удалить / Remove
---------------------------------------------------------------------
	**Синтаксис:** Удалить(Индекс)

	**Параметры:**

		- Индекс - тип: Число. Индекс удаляемой колонки.

	**Описание:** Удаляет колонку из табличного поля.



Очистить / Clear
---------------------------------------------------------------------
	**Синтаксис:** Очистить()

	**Описание:** Удаляет все колонки в табличном поле.



Сдвинуть / Move
---------------------------------------------------------------------
	**Синтаксис:** Сдвинуть(Индекс, Смещение)

	**Параметры:**

		- Индекс - тип: Число, индекс колонки, которую необходимо сдвинуть;
		- Смещение - тип: Число, если положительное, колонка сдвигается влево (ее индекс увеличивается),
		  если отрицательное, сдвигается.

	**Возвращает:** тип: КолонкаТабличногоПоля_ - созданная колонка.

	**Описание:** Сдвигает позицию колоки на указанное смещение.



#####################################################################
КолонкаТабличногоПоля
#####################################################################

Объект для управления колонкой табличного поля.



Свойства
=====================================================================
..	<chminfo split="0" splitchild="1">
		<insert nodes="//common/propsmethods/*"/>
	</chminfo>


Имя / Name
---------------------------------------------------------------------
	**Доступ:** чтение и запись.

	**Тип:** Строка.

	**Описание:** Имя колонки.

Заголовок / Caption
---------------------------------------------------------------------
	**Доступ:** чтение и запись.

	**Тип:** Строка.

	**Описание:** Текст заголовка колонки.

Видимость / Visible
---------------------------------------------------------------------
	**Доступ:** чтение и запись.

	**Тип:** Число.

	**Описание:** Видимость колонки. 0 - невидима, 1 - видима.

Ширина / Width
---------------------------------------------------------------------
	**Доступ:** чтение и запись.

	**Тип:** Число.

	**Описание:** Ширина колонки в пикселях.

ГоризонтальноеВыравнивание / HorizontalAlignment
---------------------------------------------------------------------
	**Доступ:** чтение и запись.

	**Тип:** Число.

	**Описание:** Определяет правило выравнивания текста в ячейках колонки по горизонтали.

	- 0 - автоматически, в зависимости от типа поля данных, отображаемого в колонке;
	- 1 - прижать влево;
	- 2 - прижать вправо;
	- 3 - центрировать.

ИзменениеРазмера / SizeChange
---------------------------------------------------------------------
	**Доступ:** чтение и запись.

	**Тип:** Число.

	**Описание:** Определяет возможность интерактивного изменения ширины колонки. 0 - запрещено, 1 - разрешено.

ЦветТекста / TextColor
---------------------------------------------------------------------
	**Доступ:** чтение и запись.

	**Тип:** Число.

	**Описание:** Цвет текста строк. Приоритет выше, чем у свойства ЦветТекста табличного поля.

ЦветФона / BackColor
---------------------------------------------------------------------
	**Доступ:** чтение и запись.

	**Тип:** Число.

	**Описание:** Цвет фона строк. Приоритет выше, чем у свойства ЦветФона табличного поля.

Шрифт / Font
---------------------------------------------------------------------
	**Доступ:** чтение и запись.

	**Тип:** Шрифт_.

	**Описание:** Шрифт строк. Приоритет выше, чем у свойства Шрифт табличного поля.

ШрифтЗаголовка / HeaderFont
---------------------------------------------------------------------
	**Доступ:** чтение и запись.

	**Тип:** Шрифт_.

	**Описание:** Шрифт заголовка. Приоритет выше, чем у свойства Шрифт табличного поля.

ЦветТекстаЗаголовка / HeaderTextColor
---------------------------------------------------------------------
	**Доступ:** чтение и запись.

	**Тип:** Число.

	**Описание:** текста заголовка.

ЦветФонаЗаголовка / HeaderBackColor
---------------------------------------------------------------------
	**Доступ:** чтение и запись.

	**Тип:** Число.

	**Описание:** Цвет фона заголовка.

Данные / DataField
---------------------------------------------------------------------
	**Доступ:** чтение и запись.

	**Тип:** Строка.

	**Описание:** Имя поля данных в поставщике данных. Если не указано, или указано неверно - это не является
	ошибкой, в этом случае никакие данные поставщика данных в этой колонке не отображаются.

	**См. также:** `Поставщики данных табличного поля`_

ЗнакУпорядочивания / OrderMarker
---------------------------------------------------------------------
	**Доступ:** чтение и запись.

	**Тип:** Число

	**Описание:** Определяет вывод значка упорядочивания в заголовке колонки.

	- 0 - не отображается;
	- 1 - по возрастанию;
	- 2 - по убыванию;
	- 3 - по возрастанию второе поле;
	- 4 - по убыванию второе поле;
	- 5 - по возрастанию третье поле;
	- 6 - по убыванию третье поле;

ИзменятьВидимость / ChangeVisible
---------------------------------------------------------------------
	**Доступ:** чтение и запись.

	**Тип:** Число

	**Описание:** Разрешает или запрещает изменять видимость колонки. 0 - запрещает, 1- разрешает.



Методы
=====================================================================
..	<chminfo split="0" splitchild="1">
		<insert nodes="//common/propsmethods/*"/>
	</chminfo>

УстановитьКартинкиСтрок / SetRowsPictures
---------------------------------------------------------------------
	**Синтаксис:** УстановитьКартинкиСтрок(Картинки, Ширина)

	**Параметры:**

		- Картинки - тип: Картинка. Картинка - из которой будут получены отдельные пиктограммы для отображения в ячейках.
		- Ширина - тип: Число. Необязателен, по умолчанию 0. Ширина отдельной пиктограммы для отображения. Если равна
		  нулю, ширина определяется высотой переданной картинки.

	**Описание:** Устанавливает набор картинок для отображения в ячейках этой колонки. Картинками считаются части общей
	переданной первым параметром картинки, полученные по следующим правилам: от левого верхнего угла слева направо, ширина
	равна высоте. Выбирается только первый ряд. Прозрачным является цвет RGB(0x00, 0x80, 0x80). Картинки будут доступны
	по индексу (от нуля).



#####################################################################
ДанныеСтроки
#####################################################################

Фиксированная коллекция значений полей данных, полученных табличным полем от поставщика данных. Элементы коллекции
- значения полей поставщика.



Свойства
=====================================================================
..	<chminfo split="0" splitchild="1">
		<insert nodes="//common/propsmethods/*"/>
	</chminfo>

<ИмяПоляДанных>
---------------------------------------------------------------------
	**Доступ:** только чтение.

	**Тип:** любой. Тип определяется поставщиком данных.

	**Описание:** Набор свойств содержит значения значения полей данных. Доступ к значению осуществляется
	по имени поля данных. Набор полей данных обеспечивается поставщиком данных.

	**См. также:** `Поставщики данных табличного поля`_



Методы
=====================================================================
..	<chminfo split="0" splitchild="1">
		<insert nodes="//common/propsmethods/*"/>
	</chminfo>

Количество / Count
---------------------------------------------------------------------
	**Синтаксис:** Количество()

	**Возвращает:** тип: Число, количество полей.

	**Описание:** Получить количество полей данных.

Получить / Get
---------------------------------------------------------------------
	**Синтаксис:** Получить(Поле)

	**Параметры:**

		- Поле - тип: Число, Строка. Имя или индекс поля данных.

	**Возвращает:** тип: Любой. Значение поля данных

	**Описание:** Получить значение поля.


Индекс / IndexOf
---------------------------------------------------------------------
	**Синтаксис:** Индекс(Поле)

	**Параметры:**

		- Поле - тип: Строка. Имя поля, индекс которого требуется получить.

	**Возвращает:** тип: Число - индекс поля, или -1, если поля с таким именем не существует.

	**Описание:** Получить индекс поля.


#####################################################################
ОформлениеСтроки
#####################################################################

Объект для управления оформлением строки табличного поля.



Свойства
=====================================================================
..	<chminfo split="0" splitchild="1">
		<insert nodes="//common/propsmethods/*"/>
	</chminfo>

ДанныеСтроки / RowData
---------------------------------------------------------------------
	**Доступ:** только чтение.

	**Тип:** ДанныеСтроки_.

	**Описание:** Данные строки. Коллекция значений полей для строки табличного поля.

Ячейки / Cells
---------------------------------------------------------------------
	**Доступ:** только чтение.

	**Тип:** ФиксированнаяКоллекция.

	**Описание:** Коллекция ячеек строки табличного поля. Элементы коллекции - объекты типа ОформлениеЯчейки.

ЦветТекста / TextColor
---------------------------------------------------------------------
	**Доступ:** чтение и запись.

	**Тип:** Число.

	**Описание:** Определяет цвет текста всех ячеек строки. Приоритет выше, чем у свойства ЦветТекста колонки
	табличного поля.

ЦветФона / BackColor
---------------------------------------------------------------------
	**Доступ:** чтение и запись.

	**Тип:** Число.

	**Описание:** Определяет цвет текста всех ячеек строки. Приоритет выше, чем у свойства ЦветТекста колонки
	табличного поля.

Шрифт / Font
---------------------------------------------------------------------
	**Доступ:** чтение и запись.

	**Тип:** Шрифт_.

	**Описание:** Определяет Шрифт всех ячеек строки. Приоритет выше, чем у свойства Шрифт колонки табличного поля.



#####################################################################
ОформлениеЯчейки
#####################################################################

Объект для управления оформлением ячейки табличного поля.



Свойства
=====================================================================
..	<chminfo split="0" splitchild="1">
		<insert nodes="//common/propsmethods/*"/>
	</chminfo>

Имя / Name
---------------------------------------------------------------------
	**Доступ:** только чтение.

	**Тип:** Строка.

	**Описание:** Имя ячейки. Соответствует имени колонки, которой принадлежит ячейка.

ОтображатьТекст / ShowText
---------------------------------------------------------------------
	**Доступ:** чтение и запись.

	**Тип:** Число.

	**Описание:** Признак отображения текста в ячейке. 0 - не отображать, 1 - отображать.

ОтображатьКартинку / ShowPicture
---------------------------------------------------------------------
	**Доступ:** чтение и запись.

	**Тип:** Число.

	**Описание:** Признак отображения картинки в ячейке. 0 - не отображать, 1 - отображать.

ОтображатьФлажок / ShowCheck
---------------------------------------------------------------------
	**Доступ:** чтение и запись.

	**Тип:** Число.

	**Описание:** Признак отображения флажка в ячейке. 0 - не отображать, 1 - отображать.

ГоризонтальноеВыравнивание / HorizontalAlignment
---------------------------------------------------------------------
	**Доступ:** чтение и запись.

	**Тип:** Число.

	**Описание:** Определяет правило выравнивания текста в ячейке по горизонтали.

	- 0 - автоматически, в зависимости от типа поля данных, отображаемого в колонке;
	- 1 - прижать влево;
	- 2 - прижать вправо;
	- 3 - центрировать.

ИндексКартинки / PictureIndex
---------------------------------------------------------------------
	**Доступ:** чтение и запись.

	**Тип:** Число.

	**Описание:** Определяет индекс картинки для отображения в ячейке. Картинки должны быть предварительно установлены
	в соответствующей колонке.

	**См. также:** свойство `УстановитьКартинкиСтрок / SetRowsPictures`_, объекта КолонкаТабличногоПоля_.

ЗначениеФлажка / CheckValue
---------------------------------------------------------------------
	**Доступ:** чтение и запись.

	**Тип:** Число.

	**Описание:** Определяет значение флажка ячейки табличного поля. Значение флажка отображаемого в ячейке.

	- 0 - не установлен;
	- 1 - установлен;
	- 2 - неопределенное состояние.

Текст / Text
---------------------------------------------------------------------
	**Доступ:** чтение и запись.

	**Тип:** Строка.

	**Описание:** Определяет текст ячейки табличного поля.

ЦветТекста / TextColor
---------------------------------------------------------------------
	**Доступ:** чтение и запись.

	**Тип:** Число.

	**Описание:** Определяет цвет текста ячейки табличного поля. Приоритет выше, чем у свойства ЦветТекста строки табличного поля.

ЦветФона / BackColor
---------------------------------------------------------------------
	**Доступ:** чтение и запись.

	**Тип:** Число.

	**Описание:** Определяет цвет фона ячейки табличного поля. Приоритет выше, чем у свойства ЦветФона строки табличного поля.

Шрифт / Font
---------------------------------------------------------------------
	**Доступ:** чтение и запись.

	**Тип:** Шрифт_.

	**Описание:** Определяет шрифт текста ячейки табличного поля. Приоритет выше, чем у свойства Шрифт строки табличного поля.


Методы
=====================================================================
..	<chminfo split="0" splitchild="1">
		<insert nodes="//common/propsmethods/*"/>
	</chminfo>

SetText / УстановитьТекст
---------------------------------------------------------------------
	:Синтаксис:
		УстановитьТекст(стрТекст)

	:Параметры:

		- стрТекст, тип: Строка.
		    Текст, отображаемый в ячейке.

	:Возвращает:
		нет

	:Описание:
		Устанавливает текст ячейки табличного поля для отображения и свойство ОтображатьТекст в 1.

SetPicture / УстановитьКартинку
---------------------------------------------------------------------
	:Синтаксис:
		УстановитьКартинку(Картинка)

	:Параметры:

		- Картинка, тип: Картинка, Число
			Картинка или индекс картинки

	:Возвращает:
		нет

	:Описание:
		| Устанавливает картинку ячейки табличного поля и свойство ОтображатьКартинку в 1.
		| Если передано Число, это должен быть индекс пиктограммы в картинке переданной в метод КолонкаТабличногоПоля::УстановитьКартинкиСтрок;

		| Если передан объект Картинка, то отображается сама переданная картинка. Картинка отображается без использования цвета прозрачности. Правила масштабирования картинки задаются в объекте Картинка.

		| Масштабирование вывода картинки идет всегда с сохранением пропорций её оригинальных размеров и зависит от режима рисования (Картинка::РежимРисования()):

		- 1 - картинка отображается по оригинальным размерам или если они больше ячейки, то по размерам ячейки;
		- 2 - картинка отображается по оригинальным размерам (если они больше размеров ячейки - мы увидим не всю картинку, а только левый верхний угол картинки);
		- 3 - картинка отображается по размерам ячейки;

SetCheck / УстановитьФлажок
---------------------------------------------------------------------
	:Синтаксис:
		УстановитьФлажок(ЗначениеФлажка)

	:Параметры:
		- ЗначениеФлажка, тип: Число
			Значение флажка, отображаемого в ячейке

			+ 0 – не установлен;
			+ 1 – установлен;
			+ 2 – неопределенное состояние.

	:Возвращает:
		нет

	:Описание:
		Устанавливает значение флажка ячейки табличного поля и свойство ОтображатьФлажок в 1.

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Поставщики данных табличного поля
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
..	<chminfo>
		<toc>
			<self>
				<childstoc/>
				<merge file="LogDataProvider"/>
				<merge file="DataProviderSDK"/>
			</self>
		</toc>
		<childs>
			<autokw mode="1"/>
		</childs>
	</chminfo>

.. Разработчики других провайдеров данных для табличного поля
   должны вставить в первой секции своей документации элемент
   chm-разметки <alinks>_1cpp_table_data_providers_</alinks>,
   что позволит с этой ссылки перейти к описаниям других провайдеров

`См. также|_1cpp_table_data_providers_ <alink>`_


#####################################################################
ПоставщикДанныхODBC.<ТипИсточника> / ODBCDataProvider
#####################################################################

Используется для отображения в табличном поле таблиц баз данных. Для получения данных используется драйвер ODBC. Подключение
задается объектом `ODBCDataBase|_1cpp_odbc_Database <alink>`_.

Получаемые данные определяются SQL запросом. Формат SQL запроса определяется строже, чем общий формат SQL запроса источника
данных или драйвера ODBC.

Возможно использование метаимен и типизации полей, как определено для объекта `ODBCRecordset|_1cpp_odbc_recordset <alink>`_
в `Приложении А|_1cpp_SQLQuery_Metanames <alink>`_. Данные получаются частями по несколько записей, как это необходимо для отображения.

Этот поставщик данных поддерживает функционал исключения полей из текста запроса, если данные не нужны для отображения
(по причине удаления или невидимости колонки табличного поля).

Формат запроса:

::

	<Запрос> ::=
	SELECT
	<ОпределениеПоля> [, …n]
	FROM <ИсточникДанных>
	[WHERE <Условие>]

	<ОпределениеПоля> ::= <ВыражениеПоля> AS <ИмяПоля>
	<ВыражениеПоля> ::= <определяется правилами источника данных>
	<ИмяПоля> ::= <определяется правилами источника данных>
	<ИсточникДанных> ::= <определяется правилами источника данных>
	<Условие> ::= <определяется правилами источника данных>

Кроме текста запроса, для работы также необходимо задать ключ порядка. Ключ порядка - это набор полей с указанием
упорядочивания (порядка следования записей). Значения этих полей должны однозначно идентифицировать каждую запись.

Формат ключа порядка:

::

	<КлючПорядка> ::= <ЭлементКлючаПорядка> [, …n]
	<ЭлементКлючаПорядка> ::= <ИмяПоля> {[ASC] | DESC}

В ключе порядка имя поля необходимо указывать без типизации. (Обратите внимание, что поля из ключа порядка должны быть обязательно
определены в запросе.)

В тексте запроса допустимо использование текстовых параметров. Формат определения текстового параметра в тексте запроса:

::

	:<ИмяПараметра> [<Модификатор>]

Возможно использование модификаторов, как определено для объекта `ODBCRecordset|_1cpp_odbc_recordset <alink>`_. Текстовые параметры
должны быть установлены до установки текста запроса.

В тексте запроса допустимо использование SQL параметров. Формат определения SQL параметра в тексте запроса:

::

	?<ИмяПараметра>(Тип[, Длина[, Точность]])

После установки текста запроса, доступ значениям параметров обеспечивается коллекцией параметров поставщика данных.

Свойство ТекущаяСтрока_ табличного поля:

	- принимает значение идентифицирующего поля в случае, когда идентифицирующее поле было определено методом
	  УстИДПоле_.
	- в случае если идентифицирующее поле не было определено - то свойство ТекущаяСтрока_ при чтении будет возвращать
	  значение неопределенного типа. При записи в это свойство допустимо передавать объект, в свойствах которого будут значения
	  для ключа порядка текущей строки.



<ТипИсточника>
=====================================================================
..	<chminfo split="0"></chminfo>

Определяет тип источника данных. От типа источника зависит стиль конечных запросов к серверу. От типа источника также могут зависеть способы и возможности оптимизации.
Определены следующие типы источников данных:

	:MSSQL:

		Источником данных должен быть Microsoft SQL Server 7.0 или Microsoft SQL Server 2000. Рекомендуется драйвер: {SQL Server}.

	:VFP:

		Источником данных должны быть dbf файлы. Рекомендуется драйвер: {Microsoft Visual FoxPro Driver}.

	:MySQL:

		Источником должен быть MySQL Server. Рекомендуется драйвер: {MySQL ODBC 3.51 Driver}.

	:Oracle:

		Источником должен быть Oracle8i Database. Рекомендуется драйвер: {Microsoft ODBC для Oracle} или {Oracle ODBC Driver}.



Свойства
=====================================================================
..	<chminfo split="0" splitchild="1">
		<insert nodes="//common/propsmethods/*"/>
	</chminfo>

Поля / Fields
---------------------------------------------------------------------
	**Доступ:** только чтение.

	**Тип:** ПоляДанныхODBC_.

	**Описание:** Коллекция полей поставщика данных.

БазаДанных / Database
---------------------------------------------------------------------
	**Доступ:** чтение и запись.

	**Тип:** `ODBCDataBase|_1cpp_odbc_Database <alink>`_.

	**Описание:** Определяет подключение, через которое поставщик данных будет работать.


Параметры / Params
---------------------------------------------------------------------
	**Доступ:** только чтение.

	**Тип:** ПараметрыЗапроса_.

	**Описание:** Коллекция параметров запроса.




Методы
=====================================================================
..	<chminfo split="0" splitchild="1">
		<insert nodes="//common/propsmethods/*"/>
	</chminfo>

УстТекстЗапроса / SetQueryText
---------------------------------------------------------------------
	**Синтаксис:** УстТекстЗапроса(ТекстЗапроса)

	**Параметры:**

		- ТекстЗапроса - тип: Строка. Текст запроса, определяющий данные, которые будет выдавать поставщик данных.

	**Описание:** Устанавливает текст запроса. При этом происходит сброс ключа порядка, сброс установки идентификационного поля.
	Происходит полная инициализация состояния поставщика данных. При установке текста запроса происходит также парсинг текста
	запроса парсером метаимен, как определено для объекта `ODBCRecordset|_1cpp_odbc_recordset <alink>`_.

	**Примечание:** Сразу после установки текста запроса поставщик данных находится в неработоспособном состоянии,
	т.к. происходит сброс, без ключа порядка он работать не может.

УстКлючПорядка / SetOrderKey
---------------------------------------------------------------------
	**Синтаксис:** УстКлючПорядка(КлючПорядка)

	**Параметры:**

		- КлючПорядка - тип: Строка. Текст ключа порядка.

	**Описание:** Установка возможна только после установки текста запроса.

УстановитьТекстовыйПараметр / SetTextParam
---------------------------------------------------------------------
	**Синтаксис:** УстановитьТекстовыйПараметр(ИмяПараметра, ЗначениеПараметра)

	**Параметры:**

		- ИмяПараметра - тип: Строка. Имя параметра.
		- ЗначениеПараметра - тип: Строка. Значение параметра.

	**Описание:** Устанавливает значение параметра.


УстИДПоле / SetIDField
---------------------------------------------------------------------
.. _УстИДПоле :

	**Синтаксис:** УстИДПоле(ИмяПоля)

	**Параметры:**

		- ИмяПоля - тип: Строка. Имя поля.

	**Описание:** Устанавливает поле, которое будет принято поставщиком данных как поле, идентифицирующее строку данных.
	Значение этого поля будет обеспечиваться поставщиком данных, как значение для свойства ТекущаяСтрока_
	табличного поля.

Обновить / Refresh
---------------------------------------------------------------------
	**Синтаксис:** Обновить(ТекущаяСтрока)

	**Параметры:**

		- ТекущаяСтрока - тип: любой. Необязателен. Зависит от установки идентифицирующего поля.

	**Описание:** Если параметр не указан, то происходит начальное заполнение табличного поля, учитывая значение свойства
	табличного поля НачальноеПредставление_. Если указан параметр, то начальное заполнение табличного поля
	произойдет с активизацией переданной текущей строки.

	Текущую строку можно задавать двумя способами:

		* Если установлено идентифицирующее поле, то можно передать значение идентифицирующего поля.
		* Можно передать любой объект, имеющий свойства с именами полей ключа порядка, и соответствующими значениями этих
		  свойств, как значения полей ключа порядка необходимой текущей строки. Например - объект типа Структрура.


Отладка / Debug
---------------------------------------------------------------------
        **Синтаксис:** Отладка(флРежим = 1)

        **Параметры:**

                - флРежим - тип: Число.

                  + 1 - вкл. отладку
                  + 0 - откл. отладку

        **Описание:** включает / отключает отладочный режим.


#####################################################################
ПоляДанныхODBC
#####################################################################

Коллекция полей поставщика данных. Элементы коллекции - объекты типа ПолеДанныхODBC_. Состав коллекции определяет набор полей
запроса, который будет запрашиваться с сервера через драйвер ODBC.



Свойства
=====================================================================
..	<chminfo split="0" splitchild="1">
		<insert nodes="//common/propsmethods/*"/>
	</chminfo>

<ИмяПоля>
---------------------------------------------------------------------
	**Доступ:** только чтение.

	**Тип:** ПолеДанныхODBC_.

	**Описание:** Набор свойств содержит значения объекты для управления полями данных. Доступ осуществляется
	по имени поля данных.



Методы
=====================================================================
..	<chminfo split="0" splitchild="1">
		<insert nodes="//common/propsmethods/*"/>
	</chminfo>

Количество / Count
---------------------------------------------------------------------
	**Синтаксис:** Количество()

	**Возвращает:** тип: Число. Количество элементов.

	**Описание:** Получить количество элементов.

Получить / Get
---------------------------------------------------------------------
	**Синтаксис:** Получить(Поле)

	**Параметры:**

		- Поле - тип: Число, Строка. Индекс или имя поля.

	**Возвращает:** тип: ПолеДанныхODBC_.

	**Описание:** Получить поле поставщика данных по индексу или номеру.

Добавить / Add
---------------------------------------------------------------------
	**Синтаксис:** Добавить(Имя)

	**Параметры:**

		- Имя - тип: Строка. Имя добавляемого поля запроса.

	**Возвращает:** тип: ПолеДанныхODBC_. Добавленное поле.

	**Описание:** Добавляет поле в список получаемых от источника данных. Поле с таким именем должно быть определено
	в запросе. Если поле с таким именем уже присутствует с коллекции - добавления не происходит.

Удалить / Remove
---------------------------------------------------------------------
	**Синтаксис:** Удалить(Индекс)

	**Параметры:**

		- Индекс - тип: Число. Индекс удаляемого поля.

	**Описание:** Удаляет поле из списка получаемых от источника данных.
	Поля, входящие в состав ключа порядка, и идентифицирующее поле - удалить невозможно.

Очистить / Clear
---------------------------------------------------------------------
	**Синтаксис:** Очистить()

	**Описание:** Удаляет все поля из списка, кроме полей, входящих в состав ключа порядка.
	Поля, входящие в состав ключа порядка, и идентифицирующее поле - удалить невозможно.




#####################################################################
ПолеДанныхODBC
#####################################################################

Объект для управления полем поставщика данных.



Свойства
=====================================================================
..	<chminfo split="0" splitchild="1">
		<insert nodes="//common/propsmethods/*"/>
	</chminfo>

Имя / Name
---------------------------------------------------------------------
	**Доступ:** только чтение.

	**Тип:** Строка.

	**Описание:** Имя поля.

АвтоУдаление / AutoDelete
---------------------------------------------------------------------
	**Доступ:** чтение и запись.

	**Тип:** Число.

	**Описание:** Признак разрешения автоматического удаления поля из состава получаемых данных от источника. 0 - запрещено,
	1 - разрешено.

ТипБыстрогоПоиска / QuickSearchType
---------------------------------------------------------------------
	**Доступ:** чтение и запись.

	**Тип:** Число.

	**Описание:** Тип быстрого поиска определенного для этого поля. Быстрый поиск может проводиться интерактивно в табличном поле.
	Быстрый поиск ведется поставщиком данных только по первому полю ключа порядка, поэтому тип быстрого поиска должен
	определять тип данных этого поля.

		- 0 - нет быстрого поиска;
		- 1 - текстовый быстрый поиск.

УсловиеБыстрогоПоиска / QuickSearchCondition
---------------------------------------------------------------------
	**Доступ:** чтение и запись.

	**Тип:** Строка.

	**Описание:** Определяет дополнительное условие, которое будет включено по "И" в SQL запрос для быстрого поиска.

	**Примечание:** ВНИМАНИЕ! Эта часть запроса не обрабатывается парсером метаимен.


Типизация / Typification
---------------------------------------------------------------------
	:Доступ:
		чтение и записаь

	:Тип:
		Строка вида "Справочник.*", "Документ.*" и т.д., без имени поля и знака "$"

	:Описание:
		Предоставляет возможность альтернативной спецификации типизирующих полей запроса.


#####################################################################
ПараметрыЗапроса
#####################################################################

Коллекция значений SQL параметров запроса. Состав коллекции определяется при установке текста запроса.



Свойства
=====================================================================
..	<chminfo split="0" splitchild="1">
		<insert nodes="//common/propsmethods/*"/>
	</chminfo>

<ИмяПараметра>
---------------------------------------------------------------------
	**Доступ:** чтение и запись.

	**Тип:** любой.

	**Описание:** Набор свойств содержит значения SQL параметров определенных в тексте запроса. Доступ осуществляется
	по имени параметра.



Методы
=====================================================================
..	<chminfo split="0" splitchild="1">
		<insert nodes="//common/propsmethods/*"/>
	</chminfo>

Количество / Count
---------------------------------------------------------------------
	**Синтаксис:** Количество()

	**Возвращает:** тип: Число. Количество параметров.

	**Описание:** Получить количество параметров в запросе.

Получить / Get
---------------------------------------------------------------------
	**Синтаксис:** Получить(Параметр)

	**Параметры:**

		- Параметр - тип: Число, Строка. Индекс или имя параметра.

	**Возвращает:** тип: любой. Значение параметра.

	**Описание:** Получить значение параметра по индексу или имени.

Индекс / IndexOf
---------------------------------------------------------------------
	**Синтаксис:** Индекс(Имя)

	**Параметры:**

		- Имя - тип: Строка. Имя параметра.

	**Возвращает:** тип: Число. Индекс параметра.

	**Описание:** Получить индекс параметра по имени, если параметр с таким именем не определен, то возвращается -1.

Установить / Set
---------------------------------------------------------------------
	**Синтаксис:** Установить(Имя, Значение)

	**Параметры:**

		- Имя - тип: Число, Строка. Индекс или имя параметра.
		- Значение - тип: любой. Значение параметра.

	**Описание:** Устанавливает значение параметра.



#####################################################################
ПоставщикДанныхТЗ / VTProvider
#####################################################################

Поставщик данных для табличного поля. Позволяет отобразить данные таблицы значений в табличном поле.

Свойство ТекущаяСтрока_ табличного поля имеет тип Число - номер строки таблицы значенией начиная с 1.




Методы
=====================================================================
..	<chminfo split="0" splitchild="1">
		<insert nodes="//common/propsmethods/*"/>
	</chminfo>

УстТаблицуЗначений / SetValueTable
---------------------------------------------------------------------
	**Синтаксис:** УстТаблицуЗначений(ТаблицаЗначений)

	**Параметры:**

		- ТаблицаЗначений - тип: ТаблицаЗначений. Объект таблицы значений для отображения.

	**Описание:** Устанавливает таблицу значений. Она будет использоваться, как источник данных для отображения в табличном поле.



@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Объекты общего назначения
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@



#####################################################################
Шрифт
#####################################################################

Объект для определения шрифта текста.



Свойства
=====================================================================
..	<chminfo split="0" splitchild="1">
		<insert nodes="//common/propsmethods/*"/>
	</chminfo>

Вид / Type
---------------------------------------------------------------------
	**Доступ:** только чтение.

	**Тип:** Число.

	**Описание:** Вид шпифта.

		- 0 - специальное значение объекта типа шрифт, которое означает, что шрифт выбирается автоматически;
		- 1 - абсолютный, шрифт задан именем шрифта, размером и прочими признаками;
		- 2 - OEMFixedFont;
		- 3 - ANSIFixedFont;
		- 4 - ANSIVariableFont;
		- 5 - SystemFont;
		- 6 - DefaultGUIFont.

Имя / Name
---------------------------------------------------------------------
	**Доступ:** только чтение.

	**Тип:** Строка.

	**Описание:** Имя шрифта. (Имя гарнитуры)

Размер / Size
---------------------------------------------------------------------
	**Доступ:** только чтение.

	**Тип:** Число.

	**Описание:** Размер шрифта в пунктах.

Жирный / Bold
---------------------------------------------------------------------
	**Доступ:** только чтение.

	**Тип:** Число.

	**Описание:** Признак жирности шрифта. 0 - нормальный; 1 - жирный.

Наклонный / Italic
---------------------------------------------------------------------
	**Доступ:** только чтение.

	**Тип:** Число.

	**Описание:** Признак наклона шрифта. 0 - нормальный; 1 - наклонный.

Подчеркивание / Underline
---------------------------------------------------------------------
	**Доступ:** только чтение.

	**Тип:** Число.

	**Описание:** Признак подчеркивания шрифта. 0 - нормальный; 1 - подчеркнутый.

Зачеркивание / StrikeOut
---------------------------------------------------------------------
	**Доступ:** только чтение.

	**Тип:** Число.

	**Описание:** Признак зачеркивания шрифта. 0 - нормальный; 1 - зачеркнутый.



Конструкторы (Создание через фабрику объектов)
=====================================================================
..	<chminfo split="0" splitchild="1">
		<insert nodes="//common/propsmethods/*"/>
	</chminfo>

Основной
---------------------------------------------------------------------
	**Синтаксис:** Шрифт(Имя, Размер, Жирный, Наклонный, Подчеркивание, Зачеркивание)

	**Параметры:**

		- Имя - тип Строка. Имя шрифта;
		- Размер - тип: Число. Размер в пунктах;
		- Жирный - тип: Число. Признак жирности шрифта. 0 - нормальный; 1 - жирный;
		- Наклонный - тип: Число. Признак наклона шрифта. 0 - нормальный; 1 - наклонный;
		- Подчеркивание - тип: Число. Признак подчеркивания шрифта. 0 - нормальный; 1 - подчеркнутый;
		- Зачеркивание - тип: Число. Признак зачеркивания шрифта. 0 - нормальный; 1 - зачеркнутый.

	**Описание:** Создается абсолютный шрифт.

Системный
---------------------------------------------------------------------
	**Синтаксис:** Шрифт(Вид)

	**Параметры:**

		- Вид - тип Число. Вид шрифта. Допустимо указывать любой, кроме значения "абсолютный". Необязательный, по умолчанию 0.

	**Описание:** Создается системный шрифт.

На основании другого шрифта
---------------------------------------------------------------------
	**Синтаксис:** Шрифт(Шрифт, Имя, Размер, Жирный, Наклонный, Подчеркивание, Зачеркивание)

	**Параметры:**

		- Шрифт - тип Шрифт. Шрифт, на основании которого будет построен новый объект типа шрифт;
		- Имя - тип Строка. Имя шрифта;
		- Размер - тип: Число. Размер в пунктах;
		- Жирный - тип: Число. Признак жирности шрифта. 0 - нормальный; 1 - жирный;
		- Наклонный - тип: Число. Признак наклона шрифта. 0 - нормальный; 1 - наклонный;
		- Подчеркивание - тип: Число. Признак подчеркивания шрифта. 0 - нормальный; 1 - подчеркнутый;
		- Зачеркивание - тип: Число. Признак зачеркивания шрифта. 0 - нормальный; 1 - зачеркнутый.

	**Описание:** Создается шрифт на основании другого шрифта. Все параметры кроме первого - необязательны, и если
	не указано, то этот показатель шрифта не изменяется.


#####################################################################
ФабрикаОбъектов
#####################################################################

Специальный объект, представляющий из себя сборник конструкторов встроенных классов. Позволяет снабдить процесс создания
объектов параметрами. Каждый метод фабрики объектов возвращает объект одноименного типа.

Описание синтаксиса создания расположено в описании самих объектов.

Например:

::

	глФабрика = СоздатьОбъект("ФабрикаОбъектов");
	ШрифтАриал10Жирный = глФабрика.Шрифт("Arial", 10, 1);
