.. Автор: Алексей Фёдоров aka АЛьФ, mailto: alf@dorex.ru

.. include:: commonchm.txt

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
FormEx
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
..	<chminfo>
		<insert nodes="//common/maininfo/*"/>
		<alinks>_1cpp_formex_</alinks>
	</chminfo>

----------

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

----------

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

Разрешить раскраску таблиц можно с помощью метода `ВключитьРаскраскуТаблиц / ColourBrowse`_ или с помощью флажка на странице свойств компоненты. Запрет раскраски производится вызовом метода `ВыключитьРаскраскуТаблиц / UnColourBrowse`_ или снятием флажка на странице свойств.


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

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

**Макрокоманды:**
 | FONT[<Цвет>] - задает цвет шрифта строки;
 | BRUSH[<Цвет>] - задает цвет фона строки;
 | FONT_S[<Цвет>] - задает цвет шрифта строки, если она является текущей (не влияет на текущую ячейку);
 | BRUSH_S[<Цвет>] - задает цвет фона строки, если она является текущей (не влияет на текущую ячейку);
 | COUNT[<КоличествоКолонок>] - задает количество колонок, на которые распространяется раскраска;
 | INDENT[<Отступ>] - задает количество колонок, которое необходимо пропустить перед началом раскраски;
 | FONTSET[<КодШрифта>] - задает шрифт строки;
 | FONTSET_S[<КодШрифта>] - задает шрифт строки, если она является текущей;

**Параметры макрокоманд:**
 | <Цвет> - представление необходимого цвета в формате RGB в виде положительного числа. Может быть как десятеричным, так и шестнадцатеричным (в этом случае необходимо добавить "0x" перед числом).
 | <КоличествоКолонок> - положительное число.
 | <Отступ> - положительное или отрицательное число.
 | <КодШрифта> - код пользовательского шрифта, возвращенный методом `СоздатьШрифт / CreateFont`_.

Вместо любого из параметров можно написать строку ``NONE``, тогда соответствующая макрокоманда применит текущую системную настройку. Если Отступ задан отрицательным числом, то КоличествоКолонок считает только видимые колонки до текущей колонки со служебной строкой. После текущей строки (или если Отступ >=0) КоличествоКолонок считает как видимые, так и невидимые колонки.

Служебная строка с макрокомандами действует только в пределах одной строки. Макрокоманды FONT, FONT_S, BRUSH, BRUSH_S, FONTSET и FONTSET_S сбрасывают значения макрокоманд COUNT и INDENT, заданные предыдущей служебной строкой, к нулевому состоянию. Макрокоманда COUNT сбрасывает значение макрокоманды INDENT, заданное предыдущей служебной строкой, к нулевому состоянию.

Флаг "Отрицательное красным" игнорируется в раскрашиваемых колонках.


#####################################################################
Раскраска списков значений
#####################################################################
Раскраска списков значений (список значений на форме, поле с выпадающим списком) так же реализована с помощью макрокоманд (подробнее см. `Раскраска таблиц`_).

Разрешить или запретить раскраску списков значений можно с помощью метода `ПерехватОтрисовкиСписков / ValueListDraw`_.

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

**Макрокоманды:**
 | FONT[<Цвет>] - задает цвет шрифта строки;
 | BRUSH[<Цвет>] - задает цвет фона строки;
 | FONT_S[<Цвет>] - задает цвет шрифта строки, если она является текущей (не влияет на текущую ячейку);
 | BRUSH_S[<Цвет>] - задает цвет фона строки, если она является текущей (не влияет на текущую ячейку);
 | FONTSET[<КодШрифта>] - задает шрифт строки;
 | FONTSET_S[<КодШрифта>] - задает шрифт строки, если она является текущей;
 | IMAGE[<ИмяКартинки>] - задает пользовательское начертание флажков в списке с пометками;

**Параметры макрокоманд:**
 | <Цвет> - представление необходимого цвета в формате RGB в виде положительного числа. Может быть как десятеричным, так и шестнадцатеричным (в этом случае необходимо добавить "0x" перед числом).
 | <ИмяКартинки> - идентификатор картинки в библиотеке картинок, содержащей пользовательское представление флажков для списка с пометками. Картинка должна состоять из двух пиктограмм размером 13х16 (ширина х высота): первая - непомеченная строка списка; вторая - помеченная строка списка.
 | <КодШрифта> - код пользовательского шрифта, возвращенный методом `СоздатьШрифт / CreateFont`_.

**Пример:**

::

	Раскраска = "FONT[" + ПолучитьЦвет(0,0,0) + "]" +
			"BRUSH[" + ПолучитьЦвет(100,255,100) + "]" +
			"FONTSET[" + глШрифт2 + "]"+
			"FONTSET_S[" + глШрифт1 + "]"+
			"BRUSH_S["+ПолучитьЦвет(0,100,100)+"]";
	Список.ДобавитьЗначение(зн, ""+зн+РазделительСтрок+Раскраска);


#####################################################################
Предопределенные процедуры
#####################################################################
Порядок вызова
---------------
Первоначально предопределенная процедура ищется в модуле активной формы.

Если процедура присутствует в модуле формы, то она вызывается. В противном случае процедура ищется во всех загруженных глобальных модулях, в порядке их загрузки, начиная с основного глобального модуля.

Вызов дополнительных предопределенных процедур сквозной. Т.е. не останавливается после первой найденной процедуры, а идет дальше, через локальный контекст, основной глобальный модуль и все дополнительный глобальные модули.

**Порядок поиска процедуры по имени:**

 | Процедура <РусскоеИмяПроцедуры>
 | Процедура <АнглийскоеИмяПроцедуры>
 | Функция <РусскоеИмяПроцедуры>
 | Функция <АнглийскоеИмяПроцедуры>

Глобальные
-----------

ПослеСозданияФормы / OnCreateForm
==================================

	**Синтаксис:** ПослеСозданияФормы(Контекст)

	**Параметры:**
		- Контекст - контекст открытой формы

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

	**Пример:**

::

	Процедура ПослеСозданияФормы(Конт)
		ФормаРасш = СоздатьОбъект("РасширениеФормы"); 
		ФормаРасш.УстановитьФорму(Конт.Форма);
		ФормаРасш.ФиксироватьМногострочнуюЧасть(2);
	КонецПроцедуры

ПослеОбновленияФормы / OnRefresh
=================================

	**Синтаксис:** ПослеОбновленияФормы(Контекст)

	**Параметры:**
		- Контекст - контекст обновленной формы

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

	**Пример:**

::

	Процедура ПослеОбновленияФормы(Конт)
		Состояние("Обновление формы!");
	КонецПроцедуры

ПослеОткрытия / OnActivate
===========================

	**Синтаксис:** ПослеОткрытия(Контекст)

	**Параметры:**
		- Контекст - контекст открытой формы

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

	**Пример:**

::

	Процедура ПослеОткрытия(Конт)
		ФормаРасш = СоздатьОбъект("РасширениеФормы"); 
		ФормаРасш.УстановитьФорму(Конт.Форма);
		ФормаРасш.ФиксироватьМногострочнуюЧасть(2);
	КонецПроцедуры

ПослеЗакрытия / OnClosed
===========================

	**Синтаксис:** ПослеЗакрытия(Контекст)

	**Параметры:**
		- Контекст - контекст закрытой формы

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

	**Пример:**

::

	Процедура ПослеЗакрытия(Конт)
		глЗаписатьСтрокуЛога(Конт);
	КонецПроцедуры

ПриДвиженииМыши / OnMouseMove
==============================

	**Синтаксис:** ПриДвиженииМыши(Контекст, Состояние, КоордПоГоризонтали, КоордПоВертикали, ФСО)

	**Параметры:**
		- Контекст - контекст формы
		- Состояние - битовая маска, показывающаяя текущее состояние кнопок мыши.
		- КоордПоГоризонтали - значение координаты курсора мыши по горизонтальной оси (Х).
		- КоордПоВертикали - значение координаты курсора мыши по вертикальной оси (Y).
		- ФСО - флаг стандартной обработки. Изначально равен 1. Если в теле процедуры сбросить значение в 0, то стандартная обработка события не вызывается.

	**Описание:** Предопределенная процедура вызывается движения мыши поверх формы.

	**Пример:**

::

	Процедура ПриДвиженииМыши(конт, сост, х, у)
		Состояние(" х = " + х + " у = " + у + " сост = " + сост);
	КонецПроцедуры

ПриНажатииПравойКнопки / OnRButtonDown
=======================================
	
	**Синтаксис:** ПриНажатииПравойКнопки(Контекст, Состояние, КоордПоГоризонтали, КоордПоВертикали, ФСО)

	**Параметры:**
		- Контекст - контекст формы
		- Состояние - битовая маска, показывающаяя текущее состояние кнопок мыши.
		- КоордПоГоризонтали - значение координаты курсора мыши по горизонтальной оси (Х).
		- КоордПоВертикали - значение координаты курсора мыши по вертикальной оси (Y).
		- ФСО - флаг стандартной обработки. Изначально равен 1. Если в теле процедуры сбросить значение в 0, то стандартная обработка события не вызывается.

	**Описание:** Предопределенная процедура вызывается при нажатии правой кнопки мыши.

	**Пример:**

::

	Процедура ПриНажатииПравойКнопки(конт, сост, х, у)
		Сообщить("Нажата правая кнопка мыши.");
	КонецПроцедуры
	
ПриОтжатииПравойКнопки / OnRButtonUp
=====================================

	**Синтаксис:** ПриОтжатииПравойКнопки(Контекст, Состояние, КоордПоГоризонтали, КоордПоВертикали, ФСО)

	**Параметры:**
		- Контекст - контекст формы
		- Состояние - битовая маска, показывающаяя текущее состояние кнопок мыши.
		- КоордПоГоризонтали - значение координаты курсора мыши по горизонтальной оси (Х).
		- КоордПоВертикали - значение координаты курсора мыши по вертикальной оси (Y).
		- ФСО - флаг стандартной обработки. Изначально равен 1. Если в теле процедуры сбросить значение в 0, то стандартная обработка события не вызывается.

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

	**Пример:**

::

	Процедура ПриОтжатииПравойКнопки(конт, сост, х, у)
		Сообщить("Отпущена правая кнопка мыши.");
	КонецПроцедуры

ПриДвойномНажатииПравойКнопки / OnRButtonDblClk
================================================

	**Синтаксис:** ПриДвойномНажатииПравойКнопки(Контекст, Состояние, КоордПоГоризонтали, КоордПоВертикали, ФСО)

	**Параметры:**
		- Контекст - контекст формы
		- Состояние - битовая маска, показывающаяя текущее состояние кнопок мыши.
		- КоордПоГоризонтали - значение координаты курсора мыши по горизонтальной оси (Х).
		- КоордПоВертикали - значение координаты курсора мыши по вертикальной оси (Y).
		- ФСО - флаг стандартной обработки. Изначально равен 1. Если в теле процедуры сбросить значение в 0, то стандартная обработка события не вызывается.

	**Описание:** Предопределенная процедура вызывается при двойном клике правой кнопкой мыши.

	**Пример:**

::

	Процедура ПриДвойномНажатииПравойКнопки(конт, сост, х, у)
		Предупреждение("Двойной правый клик по форме.");
	КонецПроцедуры

ПриНажатииЛевойКнопки / OnLButtonDown
======================================

	**Синтаксис:** ПриНажатииЛевойКнопки(Контекст, Состояние, КоордПоГоризонтали, КоордПоВертикали, ФСО)

	**Параметры:**
		- Контекст - контекст формы
		- Состояние - битовая маска, показывающаяя текущее состояние кнопок мыши.
		- КоордПоГоризонтали - значение координаты курсора мыши по горизонтальной оси (Х).
		- КоордПоВертикали - значение координаты курсора мыши по вертикальной оси (Y).
		- ФСО - флаг стандартной обработки. Изначально равен 1. Если в теле процедуры сбросить значение в 0, то стандартная обработка события не вызывается.

	**Описание:** Предопределенная процедура вызывается при нажатии левой кнопки мыши.

	**Пример:**

::

	Процедура ПриНажатииЛевойКнопки(конт, сост, х, у)
		Сообщить("Нажата левая кнопка мыши.");
	КонецПроцедуры

ПриОтжатииЛевойКнопки / OnLButtonUp
====================================

	**Синтаксис:** ПриОтжатииЛевойКнопки(Контекст, Состояние, КоордПоГоризонтали, КоордПоВертикали, ФСО)

	**Параметры:**
		- Контекст - контекст формы
		- Состояние - битовая маска, показывающаяя текущее состояние кнопок мыши.
		- КоордПоГоризонтали - значение координаты курсора мыши по горизонтальной оси (Х).
		- КоордПоВертикали - значение координаты курсора мыши по вертикальной оси (Y).
		- ФСО - флаг стандартной обработки. Изначально равен 1. Если в теле процедуры сбросить значение в 0, то стандартная обработка события не вызывается.

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

	**Пример:**

::

	Процедура ПриОтжатииЛевойКнопки(конт, сост, х, у)
		Сообщить("Отпущена левая кнопка мыши.");
	КонецПроцедуры

ПриДвойномНажатииЛевойКнопки / OnLButtonDblClk
===============================================

	**Синтаксис:** ПриДвойномНажатииЛевойКнопки(Контекст, Состояние, КоордПоГоризонтали, КоордПоВертикали, ФСО)

	**Параметры:**
		- Контекст - контекст формы
		- Состояние - битовая маска, показывающаяя текущее состояние кнопок мыши.
		- КоордПоГоризонтали - значение координаты курсора мыши по горизонтальной оси (Х).
		- КоордПоВертикали - значение координаты курсора мыши по вертикальной оси (Y).
		- ФСО - флаг стандартной обработки. Изначально равен 1. Если в теле процедуры сбросить значение в 0, то стандартная обработка события не вызывается.

	**Описание:** Предопределенная процедура вызывается при двойном клике левой кнопкой мыши.

	**Пример:**

::

	Процедура ПриДвойномНажатииЛевойКнопки(конт, сост, х, у)
		Предупреждение("Двойной левый клик по форме.");
	КонецПроцедуры

ПриНажатииКнопкиКлавиатуры / OnChar
====================================

	**Синтаксис:** ПриНажатииКнопкиКлавиатуры(Контекст, КодКлавиши, Alt, Shift, Ctrl, Символ, ФСО)

	**Параметры:**
		- Контекст - контекст формы
		- КодКлавиши - код нажатой кнопки клавиатуры.
		- Alt - флаг нажатия кнопки <Alt>.
		- Shift - флаг нажатия кнопки <Shift>.
		- Ctrl - флаг нажатия кнопки <Ctrl>.
		- Символ - символ нажатой кнопки в формате ASCII.
		- ФСО - флаг стандартной обработки. Изначально равен 1. Если в теле процедуры сбросить значение в 0, то стандартная обработка события не вызывается.

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

	**Пример:**

::
 
	Процедура ПриНажатииКнопкиКлавиатуры(конт, код, _а, _ш, _к)
		Предупреждение("Нажата кнопка клавиатуры.");
	КонецПроцедуры

ПриИзмененииРазмераОкна / OnSize
=================================

	**Синтаксис:** ПриИзмененииРазмераОкна(Контекст, ТипСобытия, Ширина, Высота)

	**Параметры:**
		- Контекст - контекст формы
		- ТипСобытия - определяет тип запрошенного изменения размеров. Этот параметр может принимать одно из следующих значений:
			- 0 - Окно было изменено, но без минимизации или максимизации.
			- 1 - Окно было свернуто (минимизировано).
			- 2 - Окно было развернуто (максимизировано).
		- Ширина - новая ширина формы.
		- Высота - новая высота формы.

	**Описание:** Предопределенная процедура вызывается при изменении размеров окна формы.

	**Пример:**

::

	Процедура ПриИзмененииРазмераОкна(Конт, ТипСобытия,Ширина,Высота)
		Если ТипСобытия = 1 Тогда
			Сообщить("Окно формы свернуто.");
		ИначеЕсли ТипСобытия = 2 Тогда
			Сообщить("Окно формы развернуто.");
		Иначе
			Сообщить("Новый размер формы: " + Ширина + "х" + Высота);
		КонецЕсли;
	КонецПроцедуры

ПиктограммаМногострочнойЧасти / MultiLinePic
=============================================

	**Синтаксис:** ПиктограммаМногострочнойЧасти(Контекст, НомерПиктограммы)

	**Параметры:**
		- Контекст - контекст формы
		- НомерПиктограммы - номер пиктограммы в установленном наборе.

	**Описание:** Предопределенная процедура вызывается при вычислении номера системной пиктограммы в многострочной части формы списка. При вызове процедуры в параметр НомерПиктограммы передается значение, вычесленное системой. Если изменить значение этой переменной внутри процедуры, то для соответствующей строки многострочной части будет установлена пиктограмма в соответствии с этим новым значением. Внутри процедуры доступны реквизиты строки многострочной части (в частности ТекущийДокумент, ТекущийЭлемент() и т.д.). Выполнение процедуры замедляет вывод на экран и обновление формы списка, поэтому рекомендуется использовать в этой процедуре минимум вычислений. Эта процедура подразумевается, как дополнение метода `УстановитьКартинкуМногострочнойЧасти / SetTablePicture`_ для установки собственных пиктограмм в многострочной части формы списка.

	**Пример:**

::

	Процедура ПиктограммаМногострочнойЧасти(Конт, НомерПиктограммы)
		Если Конт.Вид() = "Номенклатура" Тогда
			Если Конт.ЭтоГруппа() = 1 Тогда
				НомерПиктограммы = 1;
			Иначе
				НомерПиктограммы = 2;
			КонецЕсли;
	КонецПроцедуры

ПриЗагрузкеФормы
=================

	**Синтаксис:** ПриЗагрузкеФормы(ИмяОбъекта)

	**Параметры:**
		- ИмяОбъекта - полный путь к объекту, для которого загружается форма

	**Описание:** Предопределенная процедура вызывается при загрузке диалога формы. В качестве параметра в процедуру передается полный путь к загружаемому объекту внутри md ( список всех форм можно получить с помощью метода `СписокВсехФорм / AllFormsList`_ ). Если внутри процедуры изменить значение параметра ИмяОбъекта, то загрузится диалог в соответствии с этим новым путем. Если новый путь задан неверно, то будет загружен тот диалог, который предполагался изначально.

	**Пример:**

::

	Процедура ПриЗагрузкеФормы(ИмяОбъекта)
		ШИ = глПользователь.ШаблонИнтерфейса;
		Если ИмяОбъекта = "Справочник.Клиенты.Форма" Тогда
			Если ПустоеЗначение(ШИ) = 1 Тогда
				ИмяОбъекта = "Обработка.Пусто.Форма";
			ИначеЕсли ШИ = Перечисление.Интерфейсы.Менеджер Тогда
				ИмяОбъекта = "Обработка.КлиентыМенеджер.Форма";
			ИначеЕсли ШИ = Перечисление.Интерфейсы.Директор Тогда
				ИмяОбъекта = "Обработка.КлиентыДиректор.Форма";
			Иначе
			КонецЕсли;
		ИначеЕсли ИмяОбъекта = "Справочник.Договоры.Форма" Тогда
			Если ПустоеЗначение(ШИ) = 1 Тогда
				ИмяОбъекта = "Обработка.Пусто.Форма";
			ИначеЕсли ШИ = Перечисление.Интерфейсы.Менеджер Тогда
				ИмяОбъекта = "Обработка.ДоговорыМенеджер.Форма";
			Иначе
			КонецЕсли;
		КонецЕсли;
	КонецПроцедуры

ПриЗагрузкеМодуляФормы
=======================

	**Синтаксис:** ПриЗагрузкеМодуляФормы(ИмяОбъекта)

	**Параметры:**
		- ИмяОбъекта - полный путь к объекту, для которого загружается форма

	**Описание:** Предопределенная процедура вызывается при загрузке модуля формы. В качестве параметра в процедуру передается полный путь к загружаемому объекту внутри md ( список всех форм можно получить с помощью метода `СписокВсехФорм / AllFormsList`_ ). Если внутри процедуры изменить значение параметра ИмяОбъекта, то загрузится модуль в соответствии с этим новым путем. Если новый путь задан неверно, то будет загружен тот модуль, который предполагался изначально.

	**Пример:**

::

	Процедура ПриЗагрузкеМодуляФормы(ИмяОбъекта)
		ШИ = глПользователь.ШаблонИнтерфейса;
		Если ИмяОбъекта = "Справочник.Клиенты.Форма" Тогда
			Если ПустоеЗначение(ШИ) = 1 Тогда
				ИмяОбъекта = "Обработка.Пусто.Форма";
			ИначеЕсли ШИ = Перечисление.Интерфейсы.Менеджер Тогда
				ИмяОбъекта = "Обработка.КлиентыМенеджер.Форма";
			ИначеЕсли ШИ = Перечисление.Интерфейсы.Директор Тогда
				ИмяОбъекта = "Обработка.КлиентыДиректор.Форма";
			Иначе
			КонецЕсли;
		ИначеЕсли ИмяОбъекта = "Справочник.Договоры.Форма" Тогда
			Если ПустоеЗначение(ШИ) = 1 Тогда
				ИмяОбъекта = "Обработка.Пусто.Форма";
			ИначеЕсли ШИ = Перечисление.Интерфейсы.Менеджер Тогда
				ИмяОбъекта = "Обработка.ДоговорыМенеджер.Форма";
			Иначе
			КонецЕсли;
		КонецЕсли;
	КонецПроцедуры

ПриЗагрузкеВнешнегоОтчета / OnLoadAsExternalForm	
=================================================

	**Синтаксис:** ПриЗагрузкеВнешнегоОтчета(ИмяФайлаОтчета)

	**Параметры:**
		- ИмяФайлаОтчета - полный путь к файлу отчета (вместе с собственно именем файла).

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

	**Пример:**

::

	Процедура ПриЗагрузкеВнешнегоОтчета(ИмяФайлаОтчета)
		// разрешен запуск внешних отчетов только из определенной папки
		РазрешенныйПуть = КаталогИБ() + "\ВнешниеОтчеты\";
		Если Врег(Лев(ИмяФайлаОтчета,СтрДлина(РазрешенныйПуть))) <> Врег(РазрешенныйПуть) Тогда
			Сообщить("Запуск внешних отчетов разрешен только из каталога """+РазрешенныйПуть+"""");
			СтатусВозврата(0);
		КонецЕсли;
	КонецПроцедуры

Локальные
----------

ПослеСозданияФормы / OnCreateForm
==================================

	**Синтаксис:** ПослеСозданияФормы()

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

	**Пример:**

::

	Процедура ПослеСозданияФормы()
		ФормаРасш = СоздатьОбъект("РасширениеФормы"); 
		ФормаРасш.ФиксироватьМногострочнуюЧасть(2);
	КонецПроцедуры

ПослеОбновленияФормы / OnRefresh
=================================

	**Синтаксис:** ПослеОбновленияФормы()

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

	**Пример:**

::

	Процедура ПослеОбновленияФормы()
		Состояние("Обновление формы!");
	КонецПроцедуры

ПослеОткрытия / OnActivate
===========================

	**Синтаксис:** ПослеОткрытия()

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

	**Пример:**

::

	Процедура ПослеОткрытия()
		ФормаРасш = СоздатьОбъект("РасширениеФормы"); 
		ФормаРасш.ФиксироватьМногострочнуюЧасть(2);
	КонецПроцедуры

ПослеЗакрытия / OnClosed
===========================

	**Синтаксис:** ПослеЗакрытия()

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

	**Пример:**

::

	Процедура ПослеЗакрытия()
		глЗаписатьСтрокуЛога(Контекст);
	КонецПроцедуры

ПриДвиженииМыши / OnMouseMove
==============================

	**Синтаксис:** ПриДвиженииМыши(Состояние, КоордПоГоризонтали, КоордПоВертикали, ФСО)

	**Параметры:**
		- Состояние - битовая маска, показывающаяя текущее состояние кнопок мыши.
		- КоордПоГоризонтали - значение координаты курсора мыши по горизонтальной оси (Х).
		- КоордПоВертикали - значение координаты курсора мыши по вертикальной оси (Y).
		- ФСО - флаг стандартной обработки. Изначально равен 1. Если в теле процедуры сбросить значение в 0, то стандартная обработка события не вызывается.

	**Описание:** Предопределенная процедура вызывается движения мыши поверх формы.

	**Пример:**

::

	Процедура ПриДвиженииМыши(сост, х, у)
		Состояние(" х = " + х + " у = " + у + " сост = " + сост);
	КонецПроцедуры

ПриНажатииПравойКнопки / OnRButtonDown
=======================================
	
	**Синтаксис:** ПриНажатииПравойКнопки(Состояние, КоордПоГоризонтали, КоордПоВертикали, ФСО)

	**Параметры:**
		- Состояние - битовая маска, показывающаяя текущее состояние кнопок мыши.
		- КоордПоГоризонтали - значение координаты курсора мыши по горизонтальной оси (Х).
		- КоордПоВертикали - значение координаты курсора мыши по вертикальной оси (Y).
		- ФСО - флаг стандартной обработки. Изначально равен 1. Если в теле процедуры сбросить значение в 0, то стандартная обработка события не вызывается.

	**Описание:** Предопределенная процедура вызывается при нажатии правой кнопки мыши.

	**Пример:**

::

	Процедура ПриНажатииПравойКнопки(сост, х, у)
		Сообщить("Нажата правая кнопка мыши.");
	КонецПроцедуры
	
ПриОтжатииПравойКнопки / OnRButtonUp
=====================================

	**Синтаксис:** ПриОтжатииПравойКнопки(Состояние, КоордПоГоризонтали, КоордПоВертикали, ФСО)

	**Параметры:**
		- Состояние - битовая маска, показывающаяя текущее состояние кнопок мыши.
		- КоордПоГоризонтали - значение координаты курсора мыши по горизонтальной оси (Х).
		- КоордПоВертикали - значение координаты курсора мыши по вертикальной оси (Y).
		- ФСО - флаг стандартной обработки. Изначально равен 1. Если в теле процедуры сбросить значение в 0, то стандартная обработка события не вызывается.

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

	**Пример:**

::

	Процедура ПриОтжатииПравойКнопки(сост, х, у)
		Сообщить("Отпущена правая кнопка мыши.");
	КонецПроцедуры

ПриДвойномНажатииПравойКнопки / OnRButtonDblClk
================================================

	**Синтаксис:** ПриДвойномНажатииПравойКнопки(Состояние, КоордПоГоризонтали, КоордПоВертикали, ФСО)

	**Параметры:**
		- Состояние - битовая маска, показывающаяя текущее состояние кнопок мыши.
		- КоордПоГоризонтали - значение координаты курсора мыши по горизонтальной оси (Х).
		- КоордПоВертикали - значение координаты курсора мыши по вертикальной оси (Y).
		- ФСО - флаг стандартной обработки. Изначально равен 1. Если в теле процедуры сбросить значение в 0, то стандартная обработка события не вызывается.

	**Описание:** Предопределенная процедура вызывается при двойном клике правой кнопкой мыши.

	**Пример:**

::

	Процедура ПриДвойномНажатииПравойКнопки(сост, х, у)
		Предупреждение("Двойной правый клик по форме.");
	КонецПроцедуры

ПриНажатииЛевойКнопки / OnLButtonDown
======================================

	**Синтаксис:** ПриНажатииЛевойКнопки(Состояние, КоордПоГоризонтали, КоордПоВертикали, ФСО)

	**Параметры:**
		- Состояние - битовая маска, показывающаяя текущее состояние кнопок мыши.
		- КоордПоГоризонтали - значение координаты курсора мыши по горизонтальной оси (Х).
		- КоордПоВертикали - значение координаты курсора мыши по вертикальной оси (Y).
		- ФСО - флаг стандартной обработки. Изначально равен 1. Если в теле процедуры сбросить значение в 0, то стандартная обработка события не вызывается.

	**Описание:** Предопределенная процедура вызывается при нажатии левой кнопки мыши.

	**Пример:**

::

	Процедура ПриНажатииЛевойКнопки(сост, х, у)
		Сообщить("Нажата левая кнопка мыши.");
	КонецПроцедуры

ПриОтжатииЛевойКнопки / OnLButtonUp
====================================

	**Синтаксис:** ПриОтжатииЛевойКнопки(Состояние, КоордПоГоризонтали, КоордПоВертикали, ФСО)

	**Параметры:**
		- Состояние - битовая маска, показывающаяя текущее состояние кнопок мыши.
		- КоордПоГоризонтали - значение координаты курсора мыши по горизонтальной оси (Х).
		- КоордПоВертикали - значение координаты курсора мыши по вертикальной оси (Y).
		- ФСО - флаг стандартной обработки. Изначально равен 1. Если в теле процедуры сбросить значение в 0, то стандартная обработка события не вызывается.

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

	**Пример:**

::

	Процедура ПриОтжатииЛевойКнопки(сост, х, у)
		Сообщить("Отпущена левая кнопка мыши.");
	КонецПроцедуры

ПриДвойномНажатииЛевойКнопки / OnLButtonDblClk
===============================================

	**Синтаксис:** ПриДвойномНажатииЛевойКнопки(Состояние, КоордПоГоризонтали, КоордПоВертикали, ФСО)

	**Параметры:**
		- Состояние - битовая маска, показывающаяя текущее состояние кнопок мыши.
		- КоордПоГоризонтали - значение координаты курсора мыши по горизонтальной оси (Х).
		- КоордПоВертикали - значение координаты курсора мыши по вертикальной оси (Y).
		- ФСО - флаг стандартной обработки. Изначально равен 1. Если в теле процедуры сбросить значение в 0, то стандартная обработка события не вызывается.

	**Описание:** Предопределенная процедура вызывается при двойном клике левой кнопкой мыши.

	**Пример:**

::

	Процедура ПриДвойномНажатииЛевойКнопки(сост, х, у)
		Предупреждение("Двойной левый клик по форме.");
	КонецПроцедуры

ПриНажатииКнопкиКлавиатуры / OnChar
====================================

	**Синтаксис:** ПриНажатииКнопкиКлавиатуры(КодКлавиши, Alt, Shift, Ctrl, Символ, ФСО)

	**Параметры:**
		- КодКлавиши - код нажатой кнопки клавиатуры.
		- Alt - флаг нажатия кнопки <Alt>.
		- Shift - флаг нажатия кнопки <Shift>.
		- Ctrl - флаг нажатия кнопки <Ctrl>.
		- Символ - символ нажатой кнопки в формате ASCII.
		- ФСО - флаг стандартной обработки. Изначально равен 1. Если в теле процедуры сбросить значение в 0, то стандартная обработка события не вызывается.


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

	**Пример:**

::
 
	Процедура ПриНажатииКнопкиКлавиатуры(код, _а, _ш, _к)
		Предупреждение("Нажата кнопка клавиатуры.");
	КонецПроцедуры

ПриИзмененииРазмераОкна / OnSize
=================================

	**Синтаксис:** ПриИзмененииРазмераОкна(ТипСобытия, Ширина, Высота)

	**Параметры:**
		- ТипСобытия - определяет тип запрошенного изменения размеров. Этот параметр может принимать одно из следующих значений:
			- 0 - Окно было изменено, но без минимизации или максимизации.
			- 1 - Окно было свернуто (минимизировано).
			- 2 - Окно было развернуто (максимизировано).
		- Ширина - новая ширина формы.
		- Высота - новая высота формы.


	**Описание:** Предопределенная процедура вызывается при изменении размеров окна формы.

	**Пример:**

::

	Процедура ПриИзмененииРазмераОкна(ТипСобытия, Ширина, Высота)
		Если ТипСобытия = 1 Тогда
			Сообщить("Окно формы свернуто.");
		ИначеЕсли ТипСобытия = 2 Тогда
			Сообщить("Окно формы развернуто.");
		Иначе
			Сообщить("Новый размер формы: " + Ширина + "х" + Высота);
		КонецЕсли;
	КонецПроцедуры

ПиктограммаМногострочнойЧасти / MultiLinePic
=============================================

	**Синтаксис:** ПиктограммаМногострочнойЧасти(НомерПиктограммы)

	**Параметры:**
		- Контекст - контекст формы
		- НомерПиктограммы - номер пиктограммы в установленном наборе.

	**Описание:** Предопределенная процедура вызывается при вычислении номера системной пиктограммы в многострочной части формы списка. При вызове процедуры в параметр НомерПиктограммы передается значение, вычесленное системой. Если изменить значение этой переменной внутри процедуры, то для соответствующей строки многострочной части будет установлена пиктограмма в соответствии с этим новым значением. Внутри процедуры доступны реквизиты строки многострочной части (в частности ТекущийДокумент, ТекущийЭлемент() и т.д.). Выполнение процедуры замедляет вывод на экран и обновление формы списка, поэтому рекомендуется использовать в этой процедуре минимум вычислений. Эта процедура подразумевается, как дополнение метода `УстановитьКартинкуМногострочнойЧасти / SetTablePicture`_ для установки собственных пиктограмм в многострочной части формы списка.

	**Пример:**

::

	Процедура ПиктограммаМногострочнойЧасти(НомерПиктограммы)
		Если ЭтоГруппа() = 1 Тогда
			НомерПиктограммы = 1;
		Иначе
			НомерПиктограммы = 2;
		КонецЕсли;
	КонецПроцедуры

Локальные (для обработки событий объекта "Дерево+Таблица")
-----------------------------------------------------------

ПриРазворачиванииУзла / OnItemExpanding
========================================

	**Синтаксис:** ПриРазворачиванииУзла(НомерСтроки, ФСО)

	**Параметры:**
		- НомерСтроки - строка с полным путем ветви дерева, которая готовится к раскрытию;
		- ФСО - флаг стандартной обработки. При установке его в 0 ветвь не будет раскрыта.

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

ПослеРазворачиванияУзла / OnItemExpanded
=========================================

	**Синтаксис:** ПослеРазворачиванияУзла(<НомерСтроки>)

	**Параметры:**
		- НомерСтроки - строка с полным путем ветви дерева, которая раскрылась.

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

ПриСворачиванииУзла / OnItemCollapsing
=======================================

	**Синтаксис:** ПриСворачиванииУзла(<НомерСтроки>,<ФСО>)

	**Параметры:**
		- НомерСтроки - строка с полным путем ветви дерева, которая готовится к сворачиванию;
		- ФСО - флаг стандартной обработки. При установке его в 0 ветвь не будет свернута.


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

ПослеСворачиванияУзла / OnItemCollapsed
========================================

	**Синтаксис:** ПослеСворачиванияУзла(НомерСтроки)

	**Параметры:**
		- НомерСтроки - строка с полным путем ветви дерева, которая свернулась.

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

ПриНажатииЛевойКнопкиНадДеревом / OnLButtonOverTree
====================================================

	**Синтаксис:** ПриНажатииЛевойКнопкиНадДеревом(НомерСтроки, НомерКолонки)

	**Параметры:**
		- НомерСтроки - строка с полным путем ветви дерева, над которой произошел клик;
		- НомерКолонки - число - номер колонки, над которой произошел клик.

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

ПриНажатииПравойКнопкиНадДеревом / OnRButtonOverTree
=====================================================

	**Синтаксис:** ПриНажатииПравойКнопкиНадДеревом(НомерСтроки, НомерКолонки)

	**Параметры:**
		- НомерСтроки - строка с полным путем ветви дерева, над которой произошел клик;
		- НомерКолонки - число - номер колонки, над которой произошел клик.

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


#####################################################################
Объект Таблица / Table (доработка стандартного объекта)
#####################################################################
Методы
-------

ИсходнаяТаблица / SourceTable
==============================

	**Синтаксис:** ИсходнаяТаблица(Имя[, Путь])

	**Параметры:**
		- Имя - строка, которая задает имя таблицы формы или имя файла содержащего таблицу;
		- Путь - строка с путем к форме, внутри которой необходимо произвести поиск таблицы. Внутренние формы задаются в виде "MD.<ПолныйПутьВнутриMD>" (например, "MD.Документ.ПриходнаяНакладная.Форма"). Полный список внутренних форм можно получить вызвав метод `СписокВсехФорм / AllFormsList`_. Строка вида "<ИмяОбработки>@MD" преобразуется к виду "MD.Обработка.<ИмяОбработки>.Форма". Если строка пути начинается не с "MD.", то она воспринимается как путь к файлу внешнего отчета и исходная таблица ищется в этом файле. Необязательный параметр. По умолчанию - пустая строка.
	
	**Возвращает:** число с результатом выполнения:
		- 0 - при поиске исходной таблицы произошла ошибка,
		- 1 - исходная таблица нормально установлена,
		- 2 - произошел вызов штатной установки исходной таблицы с неизвестным результатом.

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

Опции / Options
================
	**Описание:** Исправлена работа метода для таблиц на форме. В штатном варианте возможно фиксировать строки и колонки в таблице только до физического создания окна таблицы. Данная доработка позволяет менять фиксацию строк и колонок в уже выведенной таблице. Исправление происходит в автоматическом режиме и никаких дополнительных усилий со стороны программиста не требуется.

#####################################################################
Объект Сервис / Service
#####################################################################
Методы
-------

ВключитьРаскраскуТаблиц / ColourBrowse
=======================================

	**Синтаксис:** ВключитьРаскраскуТаблиц([ВыборочнаяРаскраска])

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

		- ВыборочнаяРаскраска - тип: Число. Флаг, показывающий, что раскрашиваться будут только таблицы явно указанных контекстов : 1 - выборочная раскраска; 0 - полная раскраска. Необязательный. По умолчанию - 0.  Этот флаг может быть изменен путем установки/сброса флажка на странице свойств компоненты (в главном меню: Сервис - Параметры).

	**Описание:** Разрешает раскраску таблиц.

	**Пример:**

::

	Сервис = СоздатьОбъект("Сервис");
	Сервис.ВключитьРаскраскуТаблиц();

ВыключитьРаскраскуТаблиц / UnColourBrowse
==========================================

	**Синтаксис:** ВыключитьРаскраскуТаблиц()

	**Описание:** Запрещает раскраску таблиц.

	**Пример:**

::

	Сервис = СоздатьОбъект(""Сервис"");
	Сервис.ВыключитьРаскраскуТаблиц();

АктивныйКонтекст / ActiveContext
=================================

	**Синтаксис:** АктивныйКонтекст(Контекст)

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

		- Контекст - тип: Любой. Переменная, в которую возвращается активный контекст.

	**Возвращает:** результат выполнения метода в виде числа: 1 в случае успеха, 0 в противном случае.
	
	**Описание:** Предназначен для получения контекст активного в данный момент окна. В качестве контекста окна с выведенной mxl-таблицей возвращается объект Таблица.

	**Пример:**

::

	Процедура ЗакрытьАктивноеОкно()
		Перем Конт;
		Сервис = СоздатьОбъект("Сервис");
		Если Сервис.АктивныйКонтекст(Конт) = 1 Тогда
			Если ТипЗначенияСтр(Конт) = "Таблица" Тогда
				Конт.Показать("","",-1);
			Иначе
				Конт.Форма.Закрыть(0);
			КонецЕсли;
		Иначе
			Сообщить("Активное окно не является контекстным или нет активного окна.");
		КонецЕсли;
	КонецПроцедуры

ВыполнитьПроцедуру / CallAsProcedure
=====================================

	**Синтаксис:** ВыполнитьПроцедуру(Контекст, ИмяПроцедуры, СписокАргументов)

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

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

	**Возвращает:** результат выполнения метода в виде числа: 1 в случае успеха, 0 в противном случае.
	
	**Описание:** Метод предназначен для выполнения процедуры в заданном контексте.

	**Пример:**

::

	Перем Конт;
	Сервис = СоздатьОбъект("Сервис");
	Если ОткрытьФорму("Обработка.Демо", Конт) = 1 Тогда
		Список = СоздатьОбъект("СписокЗначений");
		Список.ДобавитьЗначение("Первый параметр");
		Список.ДобавитьЗначение("Второй параметр");
		Список.ДобавитьЗначение("Третий параметр");
		Сервис.ВыполнитьПроцедуру(Конт, "Выполнить", Список);
	КонецЕсли;

ВыполнитьФункцию / CallAsFunction
==================================

	**Синтаксис:** ВыполнитьФункцию(Контекст, ИмяФункции, СписокАргументов, Результат)

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

		- Контекст - тип: ГрупповойКонтекст. Контекст, в котором необходимо выполнить функцию. Необязательный. По умолчанию - текущий контекст.
		- ИмяФункции - тип: Строка. Имя функции.
		- СписокАргументов - тип: СписокЗначений. Список значений, содержащий аргументы функции. Если размер списка меньше, чем количество аргументов функции, то в оставшиеся аргументы передаются пустые значения. Лишние значения игнорируются. Значения по умолчанию игнорируются. Необязательный. По умолчанию - пустой список.
		- Результат - тип: Любой. Переменная, в которую записывается результат выполнения функции.

	**Возвращает:** результат выполнения метода в виде числа: 1 в случае успеха, 0 в противном случае.
	
	**Описание:** Метод предназначен для выполнения функции в заданном контексте.

	**Пример:**

::

	Перем Конт, Рез;
	Сервис = СоздатьОбъект("Сервис");
	Если ОткрытьФорму("Обработка.Демо", Конт) = 1 Тогда
		Список = СоздатьОбъект("СписокЗначений");
		Список.ДобавитьЗначение("Первый параметр");
		Список.ДобавитьЗначение("Второй параметр");
		Список.ДобавитьЗначение("Третий параметр");
		Сервис.ВыполнитьФункцию(Конт, "Выполнить", Список, Рез);
	КонецЕсли;
	Сообщить("Результат выполнения функции: " + Рез);

ПолучитьПеременнуюКонтекста / GetContextVar
============================================

	**Синтаксис:** ПолучитьПеременнуюКонтекста(Контекст, ИмяПеременной, Результат)

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

		- Контекст - тип: ГрупповойКонтекст. Контекст, в котором необходимо вычислить значение переменной. Необязательный. По умолчанию - текущий контекст.
		- ИмяПеременной - тип: Строка. Имя переменной.
		- Результат - тип: Любой. Переменная, в которую записывается значение переменной контекста.

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

	**Пример:**

::

	Перем Конт, Рез;
	Сервис = СоздатьОбъект("Сервис");
	ОткрытьФорму("Обработка.Демо", Конт);
	Если Сервис.ПолучитьПеременнуюКонтекста(Конт,"НекаяПеременная",Рез) = 1 Тогда
		Сообщить("Значение переменной контекста: " + Рез);
	КонецЕсли;

УстановитьПеременнуюКонтекста / SetContextVar
==============================================

	**Синтаксис:** УстановитьПеременнуюКонтекста(Контекст, ИмяПеременной, НовоеЗначение)

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

		- Контекст - тип: ГрупповойКонтекст. Контекст, в котором необходимо установить значение переменной. Необязательный. По умолчанию - текущий контекст.
		- ИмяПеременной - тип: Строка. Имя переменной.
		- НовоеЗначение - тип: Любой. Значение, в которое необходимо установить переменную.

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

	**Пример:**

::

	Перем Конт, Рез;
	Сервис = СоздатьОбъект("Сервис");
	ОткрытьФорму("Обработка.Демо", Конт);
	Если Сервис.ПолучитьПеременнуюКонтекста(Конт,"НекаяПеременная",Рез) = 1 Тогда
		Сообщить("Старое значение переменной контекста: " + Рез);
	КонецЕсли;
	Если Сервис.УстановитьПеременнуюКонтекста(Конт,"НекаяПеременная","Новое значение") = 1 Тогда
		Если Сервис.ПолучитьПеременнуюКонтекста(Конт,"НекаяПеременная",Рез) = 1 Тогда
			Сообщить("Новое значение переменной контекста: " + Рез);
		КонецЕсли;
	КонецЕсли;

ВыбратьЗначение / ChooseValue
==============================

	**Синтаксис:** ВыбратьЗначение(СписокЗначений, Значение, Заголовок, СпособВыбора, Флаг, Шрифт)

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

		- СписокЗначений - тип: СписокЗначений. Список значений, из которого необходимо произвести выбор;
		- Значение - тип: Любой. Переменная, куда помещается результат выбора;
		- Заголовок - тип: Строка. Заголовок диалогового окна выбора;
		- СпособВыбора - тип: Число. Необязательный. Значение по умолчанию - 0. Способ выбора значения:
			- 0 - выбор в виде многоуровневого меню;
			- 1 - выбор в виде дерева.
		- Флаг - тип: Число. Необязательный. Значение по умолчанию - 0. 
			- Для выбора в дереве: 1 - разрешить выбор групп; 0 - запретить.
			- Для выбора в меню: 0 - простой выбор; 1 - пометка значений; 2 - простой выбор (без привязки к активному реквизиту); 3 - пометка значений (без привязки к активному реквизиту). Если указано значение из разряда без привязки к активному реквизиту, то меню показывается в текущей позиции курсора мыши.
		- Шрифт - тип: Число. Код пользовательского шрифта, возвращенный методом `СоздатьШрифт / CreateFont`_ для вывода меню. Необязательный. По умолчанию - системный шрифт.

	**Возвращает:** результат выполнения метода в виде числа: 1 в случае успеха (выбор произведен), 0 в противном случае.
	
	**Описание:** Метод предназначен для интерактивного выбора значения из многоуровневого списка. Многоуровневость обеспечивается вложенностью списков значений (см. Пример). Количество уровней не ограничено. Если выбор производится в меню, то значения с представлением "-" воспринимаются как разделители.

	**Пример:**

::

	Сервис = СоздатьОбъект("Сервис");
	Список = СоздатьОбъект("СписокЗначений");
	Список.ДобавитьЗначение(1,"Пункт 1");
	Список.ДобавитьЗначение(2,"Пункт 2");
	Список.ДобавитьЗначение(3,"Пункт 3");
	Список.ДобавитьЗначение(4,"Пункт 4");
	Список.ДобавитьЗначение(0,"-");
	// создаем вложенный список
	СписокДоп = СоздатьОбъект("СписокЗначений");
	СписокДоп.ДобавитьЗначение(551,"Пункт 51");
	СписокДоп.ДобавитьЗначение(552,"Пункт 52");
	СписокДоп.ДобавитьЗначение(553,"Пункт 53");
	СписокДоп.ДобавитьЗначение(554,"Пункт 54");
	// добавляем вложенный список
	Список.ДобавитьЗначение(СписокДоп,"Пункт 5");
	Список.ДобавитьЗначение(6,"Пункт 6");
	Список.ДобавитьЗначение(7,"Пункт 7");
	Выб = "";
	Если Сервис.ВыбратьЗначение(Список,Выб,"Тестовый выбор значения",0) = 1 Тогда
		Сообщить(Выб);
	КонецЕсли;

ДобавитьГлобальныйМодуль / AddGlobalModule
===========================================

	**Синтаксис:** ДобавитьГлобальныйМодуль(<ТекстМодуля>)

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

		- ТекстМодуля - тип: Строка. Текст добавляемого глобального модуля.

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

	**Пример:**

::

	Сервис = СоздатьОбъект("Сервис");
	глДопМодуль = Сервис.ДобавитьГлобальныйМодуль("#ЗагрузитьИзФайла ГлобМодуль1.txt");

УдалитьГлобальныйМодуль / DeleteGlobalModule
=============================================

	**Синтаксис:** УдалитьГлобальныйМодуль(НомерМодуля)

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

		- НомерМодуля - тип: Число. Номер дополнительного глобального модуля.

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

	**Пример:**

::

	Если глДопМодуль > 0 Тогда
		Сервис = СоздатьОбъект("Сервис");
		Сервис.УдалитьГлобальныйМодуль(глДопМодуль);
	КонецЕсли;

ПоказыватьИндикаторКлавиатуры / ShowKeyboardIndicator
======================================================

	**Синтаксис:** ПоказыватьИндикаторКлавиатуры(Флаг)

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

		- Флаг - тип: Число. 0 - отключить показ; 1 - включить показ. Значение этого флага может быть изменено путем установки/сброса флажка на странице свойств компоненты (в главном меню: Сервис - Параметры).

	**Описание:** Включает/отключиет показ ракладки клавиатуры и времени в статусной панели 1С:Предприятия.

	**Пример:**

::

	Сервис = СоздатьОбъект("Сервис");
	Сервис.ПоказыватьИндикаторКлавиатуры(1);

УстановитьОбои / SetWallpaper
==============================

	**Синтаксис:** УстановитьОбои(Имя, Положение, Серый, ЦветФона)

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

		- Имя - тип: Строка. Имя файла с картинкой (bmp) или идентификатор картинки в библиотеки картинок. Может быть пустой строкой. В этом случае следующие параметры применяются к текущей загруженной картинке.
		- Положение - тип: Число. Задает положение картинки в окне. Может принимать следующие значения:
			- 0 - не показывать картинку;
			- 1 - показывать в левом верхнем углу;
			- 2 - показывать в правом верхнем углу;
			- 3 - показывать в левом нижнем углу;
			- 4 - показывать в правом нижнем углу;
			- 5 - показывать по центру экрана;
			- 6 - растянуть картинку во все окно;
			- 7 - размножить картинку по окну.
		- Серый - тип: Число. Флаг, задающий показ картинки в режиме градаций серого: 0 -  показ в оригинальном виде; 1 - показ в обесцвеченном виде. Необязательный. По умолчанию 0.
		- ЦветФона - тип: Число. Число в RGB, задает цвет фона всего окна заднего плана. Необязательный. По умолчанию - системное значение.


	**Описание:** Метод позволяет загрузить свою картику на задний план главного окна 1С:Предприятия. Если в библиотеке картинок есть картинка с идентификатором Wallpaper, то при загрузке компоненты она автоматически загружается в качестве обоев в левый верхний угол, в режиме оригинального отображения.

	**Пример:**

::

	Сервис = СоздатьОбъект("Сервис");
	Сервис.УстановитьОбои("Лого",4,1,255);

ВысотаСтрокиТаблицы / HeightTableString
========================================

	**Синтаксис:** ВысотаСтрокиТаблицы(Таблица, НомерСтроки, ТипВозврата)

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

		- Таблица - тип: Таблица. Объект штатного типа, для которого необходимо определить высоту строки.
		- НомерСтроки - тип: Число. Номер строки, высоту которой необходимо вычислить.
		- ТипВозврата - тип: Число. Флаг, задающий тип возвращаемого значения. Может принимать следующие значения:
			- 1 - возвращается значение в миллиметрах,
			- 2 - возвращается значение в экранных пикселах,
			- 3 - возвращается значение во внутренних юнитах 1С.

	**Возвращает:** Число, интерпритация которого зависит от параметра ТипВозврата.
	
	**Описание:** Возвращает высоту строки объекта Таблица в заданных единицах. Метод работает только для таблиц, которые уже выведены на экран методом Показать().

	**Пример:**

::

	Сервис = СоздатьОбъект("Сервис");
	Таб.Показать("Тест");
	Сервис.ПрятатьТаблицу(Таб,1);
	Для инд = 1 по Таб.ВысотаТаблицы() Цикл
		Сообщить(""+инд+" : "
				+Сервис.ВысотаСтрокиТаблицы(Таб, инд, 1)+"мм. : "
				+Сервис.ВысотаСтрокиТаблицы(Таб, инд, 2)+" : "
				+Сервис.ВысотаСтрокиТаблицы(Таб, инд, 3));
	КонецЦикла;
	Сервис.ПрятатьТаблицу(Таб,0);

ПрятатьТаблицу / HideTable
===========================

	**Синтаксис:** ПрятатьТаблицу(Таблица, Флаг)

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

		- Таблица - тип: Таблица. Объект штатного типа, окно которого необходимо спрятать или показать.
		- Флаг - тип: Число. Флаг отображения таблицы: 1 - скрывает окно таблицы, 0 - показывает скрытое ранее окно.

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

	**Пример:**

::

	Сервис = СоздатьОбъект("Сервис");
	Таб.Показать("Тест");
	Сервис.ПрятатьТаблицу(Таб,1);
	Для инд = 1 по Таб.ВысотаТаблицы() Цикл
		Сообщить(""+инд+" : "
				+Сервис.ВысотаСтрокиТаблицы(Таб, инд, 1)+"мм. : "
				+Сервис.ВысотаСтрокиТаблицы(Таб, инд, 2)+" : "
				+Сервис.ВысотаСтрокиТаблицы(Таб, инд, 3));
	КонецЦикла;
	Сервис.ПрятатьТаблицу(Таб,0);

ОбработкаОжидания / IdleProcessing
===================================

	**Синтаксис:** ОбработкаОжидания(Имя, Интервал)

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

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

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

	**Пример:**

::

	Сервис = СоздатьОбъект("Сервис");
	Сервис.ОбработкаОжидания("глПолучитьНовыеЗаявки",200);

КоманднаяСтрока / CommandLine
==============================

	**Синтаксис:** КоманднаяСтрока()

	**Возвращает:** коммандную строку, с который было запущено 1С:Предприятие.
	
	**Описание:** Метод предназначен для доступа к командной строке запуска программы.

	**Пример:**

::

	Сервис = СоздатьОбъект("Сервис");
	Сообщить(Сервис.КоманднаяСтрока());

ПолучитьИменаТаблицы / GetTableNames
=====================================

	**Синтаксис:** ПолучитьИменаТаблицы(Таблица)

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

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

	**Возвращает:** таблицу значений с адресами и идентификаторами поименованных областей (колонки ТЗ: "Адрес", "Идентификатор", "Лево", "Верх", "Право", "Низ").
	
	**Описание:** Метод предназначен для получения списка поименованных областей таблицы.

ВерсияОС / OSVersion
=====================

	**Синтаксис:** ВерсияОС()

	**Возвращает:** строку с описанием версии операционной системы.
	
	**Описание:** Метод предназначен для определения версии операционной системы.

	**Пример:**

::
	
	Сервис = СоздатьОбъект(""Сервис"");
	Сообщить(Сервис.ВерсияОС());

ПолучитьСписокПринтеров / GetPrintersList
==========================================

	**Синтаксис:** ПолучитьСписокПринтеров()

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

ГотовностьПринтера / IsPrinterReady
====================================

	**Синтаксис:** ГотовностьПринтера(ИмяПринтера)

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

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

	**Возвращает:** показатель готовности принтера - число или список значений с ошибками. Числовое значение может быть: 0 - принтер готов к печати; -2 - невозможно создать список значений для возврата списка ошибок.
	
	**Описание:** Метод предназначен для определения готовности принтера к печати.

Воспроизвести / Play
=====================

	**Синтаксис:** Воспроизвести(ИмяФайла)

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

		- ИмяФайла - тип: Строка. Полное имя wav-файла, который тербуется проиграть.

	**Описание:** Проигрывает wav-файл, переданный в качестве параметра.

СписокТаблиц / ListMoxel
=========================

	**Синтаксис:** СписокТаблиц()

	**Возвращает:** список значений, значения в котором имеют тип Таблица.
	
	**Описание:** Метод предназначен для получения списка объектов Таблица, у которых в данный момент открыты окна вывода (например, методом Показать()).

УстановитьКурсор / SetCurcor
=============================

	**Синтаксис:** УстановитьКурсор(ИмяКурсора)

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

		- ИмяКурсора - тип: Число/Строка. Если в качестве параметра передается строковое значение, то оно  воспринимается как путь к файлу с курсором. Если ни чего не передавать, то для окна восстанавливается курсор по умолчанию. Если передается числовое значение, то устанавливается системный курсор. Возможные числовые значения (любое другое числовое значение восстанавливает курсор по умолчанию):
			- (значение) - (константа WIndows, которой соответсвует это значение)
			- 1 - IDC_ARROW;
			- 2 - IDC_IBEAM;
			- 3 - IDC_WAIT;
			- 4 - IDC_CROSS;
			- 5 - IDC_UPARROW;
			- 6 - IDC_SIZENWSE;
			- 7 - IDC_SIZENESW;
			- 8 - IDC_SIZEWE;
			- 9 - IDC_SIZENS;
			- 10 - IDC_SIZEALL;
			- 11 - IDC_NO;
			- 12 - IDC_APPSTARTING;
			- 13 - IDC_HELP.

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

	**Пример:**

::

	Процедура ПриДвиженииМыши(сост, х, у)
		Сервис = СоздатьОбъект("Сервис");
		ФормаРасш = СоздатьОбъект("РасширениеФормы");
		Атр = ФормаРасш.ПолучитьАтрибутПоКоординатам(х,у);
		Если ТипЗначенияСтр(Атр) = "АтрибутФормы" Тогда
			Сервис.УстановитьКурсор(Число(Атр.Заголовок));
		Иначе
			Сервис.УстановитьКурсор(0);
		КонецЕсли;
	КонецПроцедуры

ЭмулироватьКлавиатуру / SendKeys
=================================

	**Синтаксис:** ЭмулироватьКлавиатуру(Строка, Ждать, Раскладка)

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

		- Строка - тип: Строка. Строка для отсылки в буфер клавиатуры (подробнее см. документацию по методу SendKeys из WSH);
		- Ждать - тип: Число. Флаг ожидания обработки сообщения: 1 - продолжать программу только после обработки сообщения клавиатуры Windows; 0 - продолжить выполнение, не дожидаясь обработки сообщения. Необязательный. По умолчанию - 0.
		- Раскладка - тип: Число/Строка. Необязательный. По умолчанию "English (United States)". Строка с наименованием раскладки или число, соответствующее следующим раскладкам:
			- 1 - "English (United States)";
			- 2 - "Russian";
			- 3 - "Ukrainian";
			- 4 - "Belarusian";
			- 5 - "German (Germany)";
			- 6 - "French (France)".

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

	**Пример:**

::

	Процедура МаксимизироватьОкно()
		Сервис = СоздатьОбъект("Сервис");
		Сервис.SendKeys("%");
		Сервис.SendKeys("{LEFT}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{ENTER}");
	КонецПроцедуры

СоздатьШрифт / CreateFont
==========================

	**Синтаксис:** СоздатьШрифт(Имя, Высота, Жирность, Курсив, Подчеркивание, Зачеркивание, Наклон)

	**Параметры:** Все параметры являются необязательными. По умолчанию используются настройки шрифта - основания.
		- Имя - тип: Строка. Системное имя шрифта;
		- Высота - тип: Число. Высота создаваемого шрифта;
		- Жирность - тип: Число. Жирность создаваемого шрифта. Может принимать следующие значения:
			- 1 - THIN;
			- 2 - EXTRALIGHT;
			- 3 - LIGHT;
			- 4 - NORMAL;
			- 5 - MEDIUM;
			- 6 - SEMIBOLD;
			- 7 - BOLD;
			- 8 - EXTRABOLD;
			- 9 - HEAVY;
			- другое - DONTCARE;
		- Курсив - тип: Число. Флаг использования курсива;
		- Подчеркивание - тип: Число. Флаг использования подчеркивания;
		- Зачеркивание - тип: Число. Флаг использования зачеркивания;
		- Наклон - тип: Число. Значение наклона создаваемого шрифта в десятых долях градуса (только положительное значение).

	**Возвращает:** число - код созданного шрифта.
	
	**Описание:** Создает шрифт по указанным параметрам. За основу берется шрифт, установленный в профиле пользователя (настройка интерфейса). После окончания работы со шрифтом, его необходимо уничтожить.

СоздатьШрифтНаОсновании / CreateFontCausedBy
=============================================

	**Синтаксис:** СоздатьШрифт(Имя, Высота, Жирность, Курсив, Подчеркивание, Зачеркивание, Наклон)

	**Параметры:** Все параметры являются необязательными. По умолчанию используются настройки шрифта - основания.
		- Основание - тип: Число. Код шрифта-основания;
		- Имя - тип: Строка. Системное имя шрифта;
		- Высота - тип: Число. Высота создаваемого шрифта;
		- Жирность - тип: Число. Жирность создаваемого шрифта. Может принимать следующие значения:
			- 1 - THIN;
			- 2 - EXTRALIGHT;
			- 3 - LIGHT;
			- 4 - NORMAL;
			- 5 - MEDIUM;
			- 6 - SEMIBOLD;
			- 7 - BOLD;
			- 8 - EXTRABOLD;
			- 9 - HEAVY;
			- другое - DONTCARE;
		- Курсив - тип: Число. Флаг использования курсива;
		- Подчеркивание - тип: Число. Флаг использования подчеркивания;
		- Зачеркивание - тип: Число. Флаг использования зачеркивания;
		- Наклон - тип: Число. Значение наклона создаваемого шрифта в десятых долях градуса (только положительное значение).

	**Возвращает:** число - код созданного шрифта.
	
	**Описание:** Создает шрифт по указанным параметрам на основе указанного первым параметром шрифта. После окончания работы со шрифтом, его необходимо уничтожить.
	
УдалитьШрифт / DeleteFont
==========================

	**Синтаксис:** УдалитьШрифт(КодШрифта)

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

		- КодШрифта - тип: Число. Код шрифта.

	**Описание:** Уничтожает созданный пользователем шрифт.

ПолучитьGUID / GetGUID
=======================

	**Синтаксис:** ПолучитьGUID()

	**Возвращает:** строку со сгенерированным GUID.

	**Описание:** Метод предназначен для генерирование GUID - глобальных уникальных идентификаторов.

	**Пример:**

::

	Сервис = СоздатьОбъект(""Сервис"");
	Сообщить(Сервис.ПолучитьGUID());

ВерсияFormEx / VersionFormEx
=============================

	**Синтаксис:** Версия(ВерсияСтрокой)

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

		- ВерсияСтрокой - тип: Любой. Необязательная переменная, в которую возвращается номер версии в виде форматированной строки.

	**Возвращает:** текущую версию компоненты в виде числа. Номер версии представляется в виде шестнадцатиричного числа, каждое слово которого - разряд номера версии.

	**Описание:** Метод предназначен для получения текущей версии ядра FormEx.

	**Пример:**

::

	Сервис = СоздатьОбъект("Сервис");
	стрВерсия = "";
	Сообщить(Сервис.Версия(стрВерсия)); // выведет: "33554688" (0x02000100)
	Сообщить(стрВерсия); // выведет: "2.0.1.0"

ВнешнееСобытие / AsyncEvent
============================

	**Синтаксис:** ВнешнееСобытие(Источник, Событие, Данные)

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

		- Источник - тип: Строка. Строка для передачи в процедуру ОбработкаВнешнегоСобытия();
		- Событие - тип: Строка. Строка для передачи в процедуру ОбработкаВнешнегоСобытия();
		- Данные - тип: Строка. Строка для передачи в процедуру ОбработкаВнешнегоСобытия().

	**Возвращает:** 
	
	**Описание:** Вызов внешнего события компоненты. Событие обрабатывается в предопределенной процедуре ОбработкаВнешнегоСобытия() текущей активной формы.

ПерехватМыши / MouseHook
=========================

	**Синтаксис:** ПерехватМыши(НовоеЗначение)

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

		- НовоеЗначение - тип: Число(1 или 0). Флаг разрешения перехвата событий мыши: 1 - разрешить перехват; 0 - запретить перехват. Необязательный. По умолчанию значение разрешения перехвата событий не изменяется.

	**Возвращает:** Флаг разрешения перехвата на момент до выполнения метода.
	
	**Описание:** Метод разрешает или запрещает перехват и обработку событий мыши (см. `Предопределенные процедуры`_).

ПерехватКлавиатуры / KeyHook
=============================

	**Синтаксис:** ПерехватКлавиатуры(НовоеЗначение)

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

		- НовоеЗначение - тип: Число(1 или 0). Флаг разрешения перехвата событий клавиатуры: 1 - разрешить перехват; 0 - запретить перехват. Необязательный. По умолчанию значение разрешения перехвата событий не изменяется.

	**Возвращает:** Флаг разрешения перехвата на момент до выполнения метода.
	
	**Описание:** Метод разрешает или запрещает перехват и обработку событий клавиатуры (см. `Предопределенные процедуры`_).

ПерехватОтрисовкиСписков / ValueListDraw
=========================================

	**Синтаксис:** ПерехватОтрисовкиСписков(НовоеЗначение)

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

		- НовоеЗначение - тип: Число(1 или 0). Флаг разрешения перехвата отрисовки списков значений на формах: 1 - разрешить перехват; 0 - запретить перехват. Необязательный. По умолчанию значение разрешения перехвата отрисовки не изменяется.

	**Возвращает:** Флаг разрешения перехвата на момент до выполнения метода.
	
	**Описание:** Метод разрешает или запрещает перехват отрисовки списков значения для включения или выключения раскраски списков значений (см. `Раскраска списков значений`_).

СписокВсехФорм / AllFormsList
==============================

	**Синтаксис:** СписокВсехФорм()

	**Возвращает:** штатный объект Текст, в котором строки содержат полные пути ко всем формам внутри текущего md.
	
	**Описание:** Метод позволяет получить список всех форм конфигурации.

ОткрытьПлавающуюФорму / OpenToolsForm
======================================

	**Синтаксис:** ОткрытьПлавающуюФорму()
	
	**Параметры:**

		- параметры метода аналогичны параметрам штатного метода ОткрытьФорму().
		
	**Возвращает:** тип: Число. 1 - при успешном выполнении метода, 0 - иначе.
	
	**Описание:** Метод позволяет открыть форму в виде "плавающего" окна. Форма подобна модальной форме, но при ее открытии работа в главном окне не блокируется.

СписокВсехОткрытыхОкон / AllWindowsList
========================================

	**Синтаксис:** СписокВсехОткрытыхОкон()

	**Возвращает:** список значений.
	
	**Описание:** Возвращает список всех открытых окон. В списке содержатся объекты типа "ГрупповойКонтекст" и "Таблица".

#####################################################################
Объект РасширениеФормы / FormEx
#####################################################################
Свойства
---------

<АтрибутФормы> / <Attribute>
===============================================

	**Доступ:** только чтение.
	
	**Тип:** `Объект АтрибутФормы / AttribEx`_.
	
	**Описание:** Доступ к объекту АтрибутФормы, где <АтрибутФормы> - идентификатор элемента диалога, как он задан в конфигураторе.
	
	**Пример:**

::

	ФормаРасш = СоздатьОбъект("РасширениеФормы");
	Сообщить(ФормаРасш.кнОК.Заголовок);

Верх / Top
===============================================

	**Доступ:** чтение и запись.
	
	**Тип:** число.
	
	**Описание:** Возвращает/устанавливает координату верхнего края формы относительно главного окна программы (для немодальных окон).

Лево / Left
===============================================

	**Доступ:** чтение и запись.
	
	**Тип:** число.
	
	**Описание:** Возвращает/устанавливает координату верхнего края формы относительно главного окна программы (для немодальных окон).

Высота / Height
===============================================

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

::

	ФормаРасш = СоздатьОбъект("РасширениеФормы"); 
	ФормаРасш.Высота = 250;

Ширина / Width
===============================================

	**Доступ:** чтение и запись.
	
	**Тип:** число.
	
	**Описание:** Доступ к значению ширины формы.
	
	**Пример:**

::

	ФормаРасш = СоздатьОбъект("РасширениеФормы"); 
	ФормаРасш.Ширина = 250;

Максимизирована / Maximize
===============================================

	**Доступ:** чтение и запись.
	
	**Тип:** число.
	
	**Описание:** Возвращает/устанавливает признак развернутости окна формы (для немодальных окон). Работает только после физического открытия окна. В момент первого обновления формы (до вывода окна на экран) все формы в 1С имеют значение этого атрибута равным 0.
	
Минимизирована / Minimize
===============================================

	**Доступ:** чтение и запись.
	
	**Тип:** число.
	
	**Описание:** Возвращает/устанавливает признак свернутости окна формы (для немодальных окон). Работает только после физического открытия окна.

Метка / Label
===============================================

	**Доступ:** чтение и запись.
	
	**Тип:** строка.
	
	**Описание:** Возвращает/устанавливет метку формы, которая задается при вызове метода ОткрытьФорму() после знака '#' в названии объекта.

ЦветФона / BkColor
===============================================

	**Доступ:** чтение и запись.
	
	**Тип:** число.
	
	**Описание:** Возвращает/устанавливает цвет фона формы. Если задано -1, то устанавливается цвет по умолчанию.

Описание / Description
===============================================

	**Доступ:** только чтение.
	
	**Тип:** строка.
	
	**Описание:** Возвращает описание формы, заданное в конфигураторе.

ТекстМодуля / ModuleText
===============================================

	**Доступ:** только чтение.
	
	**Тип:** строка.
	
	**Описание:** Возвращает текст модуля формы.

Прозрачность / Transparency
===============================================

	**Доступ:** чтение и запись.
	
	**Тип:** число (0..255).
	
	**Описание:** Устанавливает коэффициент прозрачности для модальных форм (если она поддерживается операционной системой). Корректное чтения возможно только на системах WinXP и старше. 0 - полностью прозрачное окно; 255 - полностью непрозрачное окно.

Методы
-------

УстановитьФорму / AssignForm
===============================================

	**Синтаксис:** УстановитьФорму(Форма)

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

		- Форма - тип: Форма. Штатный объект Форма, который можно получить через служебное свойство "Форма" контекста формы.

	**Описание:** Привязавает указанную форму к объекту. Вся дальнейшая работа будет вестись именно с этой формой. При создании объекта РасширениеФормы, он сразу привязывается к форме текущего контекста, если таковая присутствует, т.е. объект создается не в процедуре глобального модуля.

	**Пример:**

::

	ФормаРасш = СоздатьОбъект("РасширениеФормы"); 
	ФормаРасш.УстановитьФорму(Форма);

ПолучитьФорму / GetForm
===============================================

	**Синтаксис:** ПолучитьФорму()

	**Возвращает:** штатный объект Форма.

	**Описание:** Возвращает форму, к которой привязан текущий объект.

	**Пример:**

::

	Фрм = ФормаРасш.ПолучитьФорму();
	Фрм.Заголовок(Новый заголовок формы);

КоличествоАтрибутов / GetNumAttrib
===============================================

	**Синтаксис:** КоличествоАтрибутов()

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

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

	**Пример:**

::

	ФормаРасш = СоздатьОбъект("РасширениеФормы");
	ФормаРасш.УстановитьФорму(Форма);
	СписокИд = СоздатьОбъект("СписокЗначений");
	Для Х = 0 По ФормаРасш.КоличествоАтрибутов() - 1 Цикл
		СписокИд.ДобавитьЗначение(ФормаРасш.ПолучитьАтрибут(Х).Идентификатор());
	КонецЦикла;

ПолучитьАтрибут / GetAttrib
===============================================

	**Синтаксис:** ПолучитьАтрибут(Номер)

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

		- Номер - тип: Число или Строка. Порядковый номер атрибута на форме, начиная с нуля. Или строка с идентификатором атрибута формы.

	**Возвращает:** `Объект АтрибутФормы / AttribEx`_

	**Описание:** Метод предназначен для получения атрибута формы по порядковому номеру или идентификатору. Для получение доступа к многострочной части формы необходимо в этот метод передать строку "МногострочнаяЧасть".

	**Пример:**

::

	ФормаРасш = СоздатьОбъект("РасширениеФормы"); 
	ФормаРасш.УстановитьФорму(Форма);
	ФормаРасш.ПолучитьАтрибут(5).Слой = "Основной";

ПолныйПуть / FullPath
===============================================

	**Синтаксис:** ПолныйПуть()

	**Возвращает:** тип: Строка.

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

	**Пример:**

::

	ФормаРасш = СоздатьОбъект("РасширениеФормы");
	ФормаРасш.УстановитьФорму(Форма);
	Сообщить(ФормаРасш.ПолныйПуть());
	// выводит строку вида: C:\myBASE\1Cv7.MD\CalcVar\CalcVar_Number41

ТипОбъекта / ObjectType
===============================================

	**Синтаксис:** ТипОбъекта()

	**Возвращает:** тип: Строка.

	**Описание:** Метод предназначен для получения типа объекта, которому принадлежит текущая форма.

	**Пример:**

::

	ФормаРасш = СоздатьОбъект("РасширениеФормы"); 
	ФормаРасш.УстановитьФорму(Форма);
	Сообщить(ФормаРасш.ТипОбъекта());
	// выводит строку вида: Обработка

ПолныйТипОбъекта / FullObjectType
===============================================

	**Синтаксис:** ПолныйТипОбъекта()

	**Возвращает:** тип: Строка.

	**Описание:** Метод предназначен для получения строки с описанием полного типа текущей формы.

	**Пример:**

::

	ФормаРасш = СоздатьОбъект("РасширениеФормы");
	ФормаРасш.УстановитьФорму(Форма);
	Сообщить(ФормаРасш.ПолныйТипОбъекта());
	// выводит строку вида: Справочник.Тестовый.ФормаСписка.ДляВыбора

ФиксироватьМногострочнуюЧасть / FixMultiLine
===============================================

	**Синтаксис:** ФиксироватьМногострочнуюЧасть(Количество)

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

		- Количество - тип: Число. Количество фиксируемых колонок многострочной части.

	**Описание:** Фиксирует заданное количество колонок в многострочной части формы аналогично штатному методу Фиксировать объекта ТаблицаЗначений. Метод работает только после физического открытия окна формы.

	**Пример:**

::

	ФормаРасш = СоздатьОбъект("РасширениеФормы"); 
	ФормаРасш.УстановитьФорму(Форма);
	ФормаРасш.ФиксироватьМногострочнуюЧасть(2);

ДобавитьАтрибут / AddAttrib
===============================================

	**Синтаксис:** ДобавитьАтрибут(ТипАтрибута)

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

		- ТипАтрибута - тип: Число. Задает тип добавляемого атрибута формы и может принимать следующие значения:
			- 1  - STATIC (Текст)
			- 2  - 1CEDIT (Поле ввода)
			- 3  - BUTTON (Кнопка)
			- 4  - 1CGROUPBOX (Рамка группы)
			- 5  - 1CEDIT (Поле ввода без рамки)
			- 11 - LISTBOX (Список)
			- 12 - CHECKBOX (Флажок)
			- 13 - RADIO (Переключатель)
			- 14 - COMBOBOX (Поле со списком)
			- 15 - TABLE (Таблица)

	**Возвращает:** `Объект АтрибутФормы / AttribEx`_

	**Описание:** Метод предназначен для добавление атрибутов на текущую форму. **НЕСТАБИЛЬНЫЙ!**

ПолучитьАтрибутПоКоординатам / GetAttribAtPos
===============================================

	**Синтаксис:** ПолучитьАтрибутПоКоординатам(X, Y)

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

		- X - тип: Число. Координата по горизонтальной оси
		- Y - тип: Число. Координата по вертикальной оси

	**Возвращает:** `Объект АтрибутФормы / AttribEx`_ или пустое значение

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

	**Пример:**

::

	Процедура ПриДвиженииМыши(сост, х, у)
		ФормаРасш = СоздатьОбъект("РасширениеФормы");
		Атр = ФормаРасш.ПолучитьАтрибутПоКоординатам(х,у);
		Если ТипЗначенияСтр(Атр) = "АтрибутФормы" Тогда
			Состояние(" х = "+х+" у = "+у+" сост = "+сост+" :: "+Атр.Заголовок);
		Иначе
			Состояние(" х = "+х+" у = "+у+" сост = "+сост);
		КонецЕсли;
	КонецПроцедуры

НайтиАтрибут / FindAttrib
===============================================

	**Синтаксис:** НайтиАтрибут(ТипФильтра, ЗначениеФильтра)

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

		- ТипФильтра - тип: Число. Задает тип фильтра поиска. Возможны следующие значения:
			- 1 - по типу атрибута;
			- 2 - по заголовку атрибута;
			- 3 - по значению видимости атрибута;
			- 4 - по значению доступности атрибута;
			- 5 - по принадлежности к слою.
		- ЗначениеФильтра - тип: Число или Строка. Задает значение фильтра поиска в соответствии с заданным типом.

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

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

	**Пример:**

::

	ФормаРасш = СоздатьОбъект("РасширениеФормы");
	р = ФормаРасш.НайтиАтрибут(1,3);
	Пока р = 1 Цикл
		Сообщить(ФормаРасш.ТекущийАтрибут().Заголовок);
		р = ФормаРасш.ПолучитьСледующийАтрибут();
	КонецЦикла;

ПолучитьСледующийАтрибут / GetNextAttrib
===============================================

	**Синтаксис:** ПолучитьСледующийАтрибут()

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

	**Описание:** Метод предназначен для поиска следующего атрибута в соответствии с параметрами, установленными ранее методом `НайтиАтрибут / FindAttrib`_.

	**Пример:**

::

	ФормаРасш = СоздатьОбъект("РасширениеФормы");
	р = ФормаРасш.НайтиАтрибут(5,"Основной");
	Пока р = 1 Цикл
		Сообщить(ФормаРасш.ТекущийАтрибут().Заголовок);
		р = ФормаРасш.ПолучитьСледующийАтрибут();
	КонецЦикла;

ТекущийАтрибут / CurrentAttrib
===============================================

	**Синтаксис:** ТекущийАтрибут()

	**Возвращает:** `Объект АтрибутФормы / AttribEx`_

	**Описание:** Метод предназначен для получение текущего атрибута. Позиционирование на атрибуте осуществляется методами `НайтиАтрибут / FindAttrib`_ и `ПолучитьСледующийАтрибут / GetNextAttrib`_.

	**Пример:**

::

	ФормаРасш = СоздатьОбъект("РасширениеФормы");
	р = ФормаРасш.НайтиАтрибут(2,"Выбор");
	Пока р = 1 Цикл
		Сообщить(ФормаРасш.ТекущийАтрибут().Идентификатор);
		р = ФормаРасш.ПолучитьСледующийАтрибут();
	КонецЦикла;

ПолучитьКартинку / GetPicture
===============================================

	**Синтаксис:** ПолучитьКартинку(Лево, Верх, Ширина, Высота)

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

		- Лево - тип: Число. Координата начала вырезаемой области по горизонтальной оси.
		- Верх - тип: Число. Координата начала вырезаемой области по вертикальной оси.
		- Ширина - тип: Число. Ширина вырезаемой области.
		- Высота - тип: Число. Высота вырезаемой области.

	**Возвращает:** объект Картинка

	**Описание:** Метод предназначен для получения части формы в виде объекта Картинка. Метод работает только после физического открытия и отображения окна формы.

	**Пример:**

::

	Процедура ПолучитьКартинку(Карт)
	// процедура вызывается из объекта Картинка, расположенного на печатной форме
		Перем Лево,Верх,Ширина,Высота;
		ФормаРасш = СоздатьОбъект("РасширениеФормы");
		АтрТекст = СоздатьОбъект("АтрибутФормы");
		АтрТекст.УстановитьАтрибут(Форма,"Табл");
		АтрТекст.ПолучитьКоординаты(Лево,Верх,Ширина,Высота);
		Карт.УстановитьКартинку(ФормаРасш.ПолучитьКартинку(Лево,Верх,Ширина,Высота));
	КонецПроцедуры

ПодсветкаЗакладки / HighlightTabItem
===============================================

	**Синтаксис:** ПодсветкаЗакладки(НомерЗакладки, ВключитьПодсветку)

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

		- НомерЗакладки - тип: Число. Номер закладки, для которой необходимо изменить состояние подсветки;
		- ВключитьПодсветку> - тип: Число. Флаг состояния подсветки: 1 - включить; 0 - выключить;

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

	**Пример:**

::

	ФормаРасш = СоздатьОбъект("РасширениеФормы");
	Форма.ИспользоватьЗакладки(1);
	Форма.Закладки.ДобавитьЗначение("Основная");
	Форма.Закладки.ДобавитьЗначение("Дополнительная");
	ФормаРасш.ПодсветкаЗакладки(2, 1); // включаем подсветку закладки "Дополнительная"

ДобавитьКартинкиЗакладок / AddTabImages
===============================================

	**Синтаксис:** ДобавитьКартинкиЗакладок(ИмяКартинки)

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

		- ИмяКартинки - тип: Строка. Идентификатор картинки с пиктограммами в библиотеке картинок конфигурации.

	**Возвращает:** тип: Число. 1 - в случае успешного выполнения, иначе - 0.

	**Описание:** Добавляет на закладки пиктограммы из библиотеки картинок. В библиотеке картинок должна присутствовать картинка в формате bmp с пикторгаммами размером 16х16 пикселей. Пикторгаммы назначаются закладкам по их порядковому номеру. Прозрачным считается цвет RGB(0, 128, 128). При повторных вызовах пикторгаммы из указанной картинки добавляются к тем, которые загружены ранее в закладки. Т.е. библитека пикторгамм на закладках будет увеличиваться. Метод работает только после физического открытия окна формы.

	**Пример:**

::

	ФормаРасш = СоздатьОбъект("РасширениеФормы");
	Форма.ИспользоватьЗакладки(1);
	Форма.Закладки.ДобавитьЗначение("Основная");
	Форма.Закладки.ДобавитьЗначение("Дополнительная");
	ФормаРасш.ДобавитьКартинкиЗакладок("ДляЗакладок"); // в картинке две пиктограммы
	Форма.Закладки.ДобавитьЗначение("Второстепенная"); // закладка появится без пиктограммы
	ФормаРасш.ДобавитьКартинкиЗакладок("ДляДопЗакладок"); // добавляется пикторгамма для последней закладки

ОбновитьКартинкиЗакладок / RefreshTabImages
===============================================

	**Синтаксис:** ОбновитьКартинкиЗакладок()

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

	**Пример:**

::

	ФормаРасш = СоздатьОбъект("РасширениеФормы");
	Форма.ИспользоватьЗакладки(1);
	Форма.Закладки.ДобавитьЗначение("Основная");
	Форма.Закладки.ДобавитьЗначение("Дополнительная");
	ФормаРасш.ДобавитьКартинкиЗакладок("ДляЗакладок"); // в картинке три пиктограммы
	Форма.Закладки.ДобавитьЗначение("Второстепенная"); // закладка появится без пиктограммы
	ФормаРасш.ОбновитьКартинкиЗакладок(); // в результате все закладки с соответсвующими пиктограммами

ЗапретЗакрытияФормыКнопкой / DisableCloseFormByButton
=======================================================

	**Синтаксис:** ЗапретЗакрытияФормыКнопкой(ФлагЗапрета)

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

		- ФлагЗапрета - тип: Число. 1 - сделать недоступной системную кнопку закрытия окна формы; 0 - разрешить закрытие формы по кнопке. Необязательный. По умолчанию доступность системной кнопки не изменяется.

	**Возвращает:** Значение доступности ситемной кнопки закрытия окна формы до выполнения метода.

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

	**Пример:**

::

	Если Проведен() = 0 Тогда
		ФормаРасш = СоздатьОбъект("РасширениеФормы");
		ФормаРасш.ЗапретЗакрытияФормыКнопкой(1);
	КонецЕсли;

Обновить / Refresh
===============================================

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

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

	**Пример:**

::

	ФормаРасш = СоздатьОбъект("РасширениеФормы");
	ФормаРасш.Обновить();

РаскрашиватьТаблицу / ColourTable
===============================================

	**Синтаксис:** РаскрашиватьТаблицу(Имя)

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

		- Имя - тип: Строка. Идентификатор таблицы на форме. Для многострочной части формы необходимо использовать идентификатор - "МногострочнаяЧасть".

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

	**Пример:**

::

	ФормаРасш = СоздатьОбъект("РасширениеФормы");
	ФормаРасш.РаскрашиватьТаблицу("Табл");

ПрисоединитьФорму / AttachForm
===============================================

	**Синтаксис 1:** ПрисоединитьФорму(<Положение>,<Форма>)
	**Синтаксис 2:** ПрисоединитьФорму(<Положение>,...)

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

		- Положение - тип: Число. Задает положение присоединяемой формы относительно текущей. Необязательный. Может принимать следующие значения (по умолчанию 1):
			- 1 - снизу;
			- 2 - справа;
			- 3 - сверху;
			- 4 - слева.
		- Форма - тип: объект Форма. Форма, которую необходимо присоединить.
		- Во втором варианте вызова метод работает как процедура ОткрытьФорму(). Соответственно, в этом случае после первого параметра идут параметра аналогичные штатной процедуре. Подробней о параметрах см. в соответствующем разделе документации по 1С:Предприятию.

	**Возвращает:** тип: Число. 1 - в случае успешного выполнения, иначе - 0.

	**Описание:** Присоединяет к текущей форме другую отрытую форму. Формы разделяются сплиттером. Метод работает только после физического открытия окна формы. В один момент времени может быть присоединена только одна форма.

	**Пример:**

::

	Перем Конт;
	Процедура ПослеОткрытия()
		Конт = "";
		Если Форма.РежимВыбора() = 0 Тогда
			РФорма = СоздатьОбъект("РасширениеФормы");
			Если ОткрытьФорму("Справочник.ЕдиницыИзмерения#",Конт) = 1 Тогда
				РФорма.ПрисоединитьФорму(,Конт.Форма);
			КонецЕсли;
		КонецЕсли;
	КонецПроцедуры

::

	Перем Конт;
	Процедура ПослеОткрытия()
		Конт = "";
		Если Форма.РежимВыбора() = 0 Тогда
			РФорма = СоздатьОбъект("РасширениеФормы");
			Если РФорма.ПрисоединитьФорму(2,"Справочник.ЕдиницыИзмерения#",Конт) = 0 Тогда
				Конт = "Ошибка";
			КонецЕсли;
		КонецЕсли;
	КонецПроцедуры

ОтсоединитьФорму / DetachForm
===============================================

	**Синтаксис:** ОтсоединитьФорму()

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

	**Пример:**

::

	Процедура ПриЗакрытии()
		РФорма = СоздатьОбъект("РасширениеФормы");
		РФорма.ОтсоединитьФорму();
	КонецПроцедуры

ПоложениеКолонкиТаблицы / TableColumnPosition
===============================================

	**Синтаксис:** ПоложениеКолонкиТаблицы(Имя, Колонка, Положение)

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

		- Имя - тип: Строка. Идентификатор таблицы значений на форме.
		- Колонка - тип: Число. Номер колонки, начиная с нуля, для которой изменяется положение.
		- Положение - тип: Число. Новое значение положения колонки. Может принимать следующие значения:
			- 0 - новая колонка;
			- 1 - в той же колонке;
			- 2 - на следующей строке.

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

	**Пример:**

::

	Процедура Выполнить()
		РФорма = СоздатьОбъект("РасширениеФормы");
		РФорма.ПоложениеКолонкиТаблицы("Табл",3,2);
		РФорма.ПоложениеКолонкиТаблицы("Табл",4,1);
		Табл.НоваяКолонка();
		Табл.УдалитьКолонку(Табл.КоличествоКолонок());
	КонецПроцедуры

УстановитьАвтоширинуВТаблице / SetAutoAdjustTable
===================================================

	**Синтаксис:** УстановитьАвтоширинуВТаблице(Имя, Флаг)

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

		- Имя - тип: Строка. Идентификатор таблицы значений на форме или "МногострочнаяЧасть" для доступа к многострочной части формы.
		- Флаг - новое значение флага автоширины колонок.

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

	**Пример:**

::

	РФорма = СоздатьОбъект("РасширениеФормы");
	РФорма.УстановитьАвтоширинуВТаблице(Табл,0);

СбросМодифицированности / ResetModify
===============================================

	**Синтаксис:** СбросМодифицированности()

	**Описание:** Сбрасывает флаг модифицированности для текущей формы.


УстановитьКурсор / SetCurcor
=============================

	**Синтаксис:** УстановитьКурсор(ИмяКурсора)

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

		- ИмяКурсора - тип: Число/Строка. Если в качестве параметра передается строковое значение, то оно  воспринимается как путь к файлу с курсором. Если ни чего не передавать, то для окна восстанавливается курсор по умолчанию. Если передается числовое значение, то устанавливается системный курсор. Возможные числовые значения (любое другое числовое значение восстанавливает курсор по умолчанию):
			- (значение) - (константа WIndows, которой соответсвует это значение)
			- 1 - IDC_ARROW;
			- 2 - IDC_IBEAM;
			- 3 - IDC_WAIT;
			- 4 - IDC_CROSS;
			- 5 - IDC_UPARROW;
			- 6 - IDC_SIZENWSE;
			- 7 - IDC_SIZENESW;
			- 8 - IDC_SIZEWE;
			- 9 - IDC_SIZENS;
			- 10 - IDC_SIZEALL;
			- 11 - IDC_NO;
			- 12 - IDC_APPSTARTING;
			- 13 - IDC_HELP.

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

	**Пример:**

::

	Процедура ПриДвиженииМыши(сост, х, у)
		ФормаРасш = СоздатьОбъект("РасширениеФормы");
		Атр = ФормаРасш.ПолучитьАтрибутПоКоординатам(х,у);
		Если ТипЗначенияСтр(Атр) = "АтрибутФормы" Тогда
			ФормаРасш.УстановитьКурсор(Число(Атр.Заголовок));
		Иначе
			ФормаРасш.УстановитьКурсор(0);
		КонецЕсли;
	КонецПроцедуры

ПолучитьИменаТаблиц / GetTablesName
===============================================

	**Синтаксис:** ПолучитьИменаТаблиц()

	**Возвращает:** тип: Строка. Строка с именами таблиц-шаблонов, разделенных переносом строк.

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

УстановитьШиринуКолонки / SetColumnWidth
===============================================

	**Синтаксис:** УстановитьШиринуКолонки(Имя, НомерКолонки, Ширина)

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

		- Имя - тип: Строка. Идентификатор таблицы значений на форме или "МногострочнаяЧасть" для доступа к многострочной части формы.
		- НомерКолонки - тип: Число. Номер колонки, начиная с нуля, для которой изменяется ширина.
		- Ширина - тип: Число. Положительное число - новое значение ширины колонки таблицы.

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

ПолучитьШиринуКолонки / GetColumnWidth
===============================================

	**Синтаксис:** ПолучитьШиринуКолонки(Имя, НомерКолонки)

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

		- Имя - тип: Строка. Идентификатор таблицы значений на форме или "МногострочнаяЧасть" для доступа к многострочной части формы.
		- НомерКолонки - тип: Число. Номер колонки, начиная с нуля, для которой необходимо получить ширину.

	**Возвращает:** тип: Число. Текущая ширина колонки.

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


ПолучитьКоординатыТекущейЯчейки / GetCurrentCellCoordinates
=============================================================

	**Синтаксис:** ПолучитьКоординатыТекущейЯчейки(Имя, Верх, Лево, Низ, Право)

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

		- Имя - тип: Строка. Идентификатор таблицы значений на форме или "МногострочнаяЧасть" для доступа к многострочной части формы.
		- Верх - тип: Любой. Переменная для приема координаты текущей ячейки.
		- Лево - тип: Любой. Переменная для приема координаты текущей ячейки.
		- Низ - тип: Любой. Переменная для приема координаты текущей ячейки.
		- Право - тип: Любой. Переменная для приема координаты текущей ячейки.

	**Описание:** Метод предназначен для получения экранных координа текущей ячейки заданной таблицы (работает и для таблицы, перехваченной объектом "Дерево+Таблица"). Метод работает только после физического открытия окна формы.

ПолучитьКоординатыЯчейки / GetCellCoordinates
===============================================

	**Синтаксис:** ПолучитьКоординатыЯчейки(Имя, НомерСтроки, НомерКолонки, Верх, Лево, Низ, Право)

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

		- Имя - тип: Строка. Идентификатор таблицы значений на форме или "МногострочнаяЧасть" для доступа к многострочной части формы.
		- НомерСтроки - тип: Число. Номер строки таблицы, начиная с нуля, для которой необходимо получить координаты. Для многострочной части формы - это номер среди видимых в данный момент на экране строк. Для объекта "Дерево+Таблица" необходимо передавать полный путь к строке (в этом случае тип параметра будет Строка).
		- НомерКолонки - тип: Число. Номер колонки таблицы, начиная с нуля, для которой необходимо получить координаты.
		- Верх - тип: Любой. Переменная для приема координаты текущей ячейки.
		- Лево - тип: Любой. Переменная для приема координаты текущей ячейки.
		- Низ - тип: Любой. Переменная для приема координаты текущей ячейки.
		- Право - тип: Любой. Переменная для приема координаты текущей ячейки.

	**Описание:** Метод предназначен для получения экранных координа заданной ячейки заданной таблицы (работает и для таблицы, перехваченной объектом "Дерево+Таблица"). Метод работает только после физического открытия окна формы.

ОбработкаОжидания / IdleProcessing
===============================================

	**Синтаксис:** ОбработкаОжидания(Имя, Интервал)

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

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

	**Возвращает:** тип: Строка. Имя процедуры, которая была установлена ранее в качестве процедуры обработки ожидания.

	**Описание:** Вызывает процедуру модуля формы с заданным интервалом в милисекундах. В отличии от штатной обработки ожидания, вызывается при открытых модальных формах. Для одной формы может быть установлено сколько угодно обработок ожидания путем создания нужного количества объектов РасширениеФормы. При уничтожении объекта, для которого вызывался данный метод, соответствующая процедура обработки ожидания останавливается. Метод работает только после физического открытия окна формы.

	**Пример:**

::

	ФормаРасш1 = СоздатьОбъект("РасширениеФормы");
	ФормаРасш1.ОбработкаОжидания("Таймер",100);
	ФормаРасш2 = СоздатьОбъект("РасширениеФормы");
	ФормаРасш2.ОбработкаОжидания("ВывестиТаймер",10000);

УстановитьКартинкуМногострочнойЧасти / SetTablePicture
=======================================================

	**Синтаксис:** УстановитьКартинкуМногострочнойЧасти(ИмяКартинки)

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

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

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


#####################################################################
Объект АтрибутФормы / AttribEx
#####################################################################
Свойства
---------

Заголовок / Caption
===============================================

	**Доступ:** чтение и запись.
	
	**Тип:** строка.
	
	**Описание:** Доступ к значению заголовка атрибута формы.

Подсказка / Hint
===============================================

	**Доступ:** чтение и запись.
	
	**Тип:** строка.
	
	**Описание:** Доступ к значению подсказки атрибута формы.

Описание / Description
===============================================

	**Доступ:** чтение и запись.
	
	**Тип:** строка.
	
	**Описание:** Доступ к значению описания атрибута формы. Запись возможна только до физического открытия формы.

Формула / Formula
===============================================

	**Доступ:** чтение и запись.
	
	**Тип:** строка.
	
	**Описание:** Доступ к значению формулы атрибута формы.

Видимость / Visible
===============================================

	**Доступ:** чтение и запись.
	
	**Тип:** число.
	
	**Описание:** Доступ к значению видимости атрибута формы.

Доступность / ReadOnly
===============================================

	**Доступ:** чтение и запись.
	
	**Тип:** число.
	
	**Описание:** Доступ к значению доступности атрибута формы.

Слой / Layer
===============================================

	**Доступ:** чтение и запись.
	
	**Тип:** строка.
	
	**Описание:** Доступ к значению принадлежности атрибута формы к слою.

Тип / Type
===============================================

	**Доступ:** только чтение.
	
	**Тип:** число.
	
	**Описание:** Доступ к значению типу контрола атрибута. Возможные значения:
	
	- 1  - STATIC (Текст)
	- 2  - 1CEDIT (Поле ввода)
	- 3  - BUTTON (Кнопка)
	- 4  - 1CGROUPBOX (Рамка группы)
	- 5  - 1CEDIT (Колонка многострочной части редактируемая)
	- 8  - SysTreeView32 (Дерево групп)
	- 9  - STATIC (Колонка многострочной части с пикторгаммой или просто текстовая)
	- 10 - PICTURE (Картинка)
	- 11 - LISTBOX (Список)
	- 12 - CHECKBOX (Флажок)
	- 13 - RADIO (Переключатель)
	- 14 - COMBOBOX (Поле со списком)
	- 15 - TABLE (Таблица)

Идентификатор / AttribID
===============================================

	**Доступ:** только чтение.
	
	**Тип:** строка.
	
	**Описание:** Доступ к значению идентификатора атрибута.

Значение / Value
===============================================

	**Доступ:** чтение и запись.
	
	**Тип:** любой.
	
	**Описание:** Доступ к значению, хранимому в атрибуте.

ЦветФона / BkColor
===============================================

	**Доступ:** чтение и запись.
	
	**Тип:** число.
	
	**Описание:** Доступ к цвету фона реквизита. **НЕСТАБИЛЬНЫЙ!**

ЦветШрифта / FontColor
===============================================

	**Доступ:** чтение и запись.
	
	**Тип:** число.
	
	**Описание:** Доступ к цвету шрифта реквизита. **НЕСТАБИЛЬНЫЙ!**

Маска / Mask
===============================================

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

СвязанС / Related
===============================================

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

Шрифт / Font
===============================================

	**Доступ:** чтение и запись.
	
	**Тип:** число.
	
	**Описание:** Доступ к шрифту атрибута. Содержит код шрифта. Новый шрифт можно создать методом `СоздатьШрифт / CreateFont`_ или `СоздатьШрифтНаОсновании / CreateFontCausedBy`_.

Класс / Class
===============================================

	**Доступ:** только чтение.
	
	**Тип:** строка.
	
	**Описание:** Windows-класс окна атрибута формы. Это свойство в основном предназначено для служебных нужд разработчиков компоненты.

Рамка / Border
===============================================

	**Доступ:** чтение и запись.
	
	**Тип:** число.
	
	**Описание:** Доступ к флагу наличия рамки у окна атрибута формы.

РодительскоеОкно / ParentWindow
===============================================

	**Доступ:** только запись.
	
	**Тип:** ссылка на штатный атрибут формы.
	
	**Описание:** Изменение родительского окна атрибута формы. Предназначен для эмуляции прямого ввода в таблицу значений на форме.

	**Пример:**

::

	Процедура ПриРедактированииСвойства()
		тс = ТаблСвойства.ТекущаяСтрока();
		Если тс = 0 Тогда
			Возврат;
		КонецЕсли;
		_тк = ТаблСвойства.ТекущаяКолонка();
		тк = ТаблСвойства.ПолучитьПараметрыКолонки(_тк);
	
		в = "";
		л = "";
		н = "";
		п = "";
		РФ.ПолучитьКоординатыЯчейки("ТаблСвойства",тс,тк,в,л,н,п);
		Атр.УстановитьАтрибут(Форма,_тк);
		Атр.УстановитьКоординаты(л,в,п-л,н-в);
		Атр.Рамка = 0;
		Атр.РодительскоеОкно = Форма.ТаблСвойства;
		Свойство = ТаблСвойства.ПолучитьЗначение(тс,"Свойство");
		Значение = ТаблСвойства.ПолучитьЗначение(тс,"Значение");
		Форма.ПолучитьАтрибут(_тк).Видимость(1);
		Активизировать(_тк,1);
	КонецПроцедуры

Дескриптор / Handle
===============================================

	**Доступ:** только чтение.
	
	**Тип:** число.
	
	**Описание:** Windows-дескриптор окна атрибута формы.

Методы (для работы с объектом "Дерево+Таблица")
--------------------------------------------------

ПерехватитьТаблицуЗначений / WrapValueTable
===============================================

	**Синтаксис:** ПерехватитьТаблицуЗначений()

	**Описание:** Преобразует таблицу значений на форме в объект "Дерево+Таблица". Преобразуемая ТЗ должна иметь строго определенную структуру: первые три колонки служебные, остальные произвольные. Служебные колонки:
		- 1: содержит ТЗ той же структуры со следующим уровнем дерева,
		- 2: содержит номер пиктограммы, из установленной на перехватываемой ТЗ картинки, для отображения в дереве (если нулевое значение, то используются системные пиктограммы),
		- 3: содержит наименование ветви дерева.
		
	Метод работает только после физического открытия окна формы. Все методы для работы с объектом "Дерево+Таблица" работают только после вызова этого метода.

ОбновитьДерево / UpdateTree
===============================================

	**Синтаксис:** ОбновитьДерево()

	**Описание:** Обновляет объект "Дерево+Таблица" данными из перехватываемой ТЗ.

	**Пример:**

::

	АтрФормы = СоздатьОбъект("АтрибутФормы");
	АтрФормы.УстановитьАтрибут(Форма,"Табл");
	АтрФормы.ОбновитьДерево();

ТекущаяСтрокаДерева / CurrentTreeItem
===============================================

	**Синтаксис:** ТекущаяСтрокаДерева()

	**Возвращает:** тип: Строка. Полный путь к текущей строке в дереве.

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

	**Пример:**

::

	АтрФормы = СоздатьОбъект("АтрибутФормы");
	АтрФормы.УстановитьАтрибут(Форма,"Табл");
	Сообщить(АтрФормы.ТекущаяСтрокаДерева();

ТекущаяКолонкаДерева / CurrentTreeColumn
===============================================

	**Синтаксис:** ТекущаяКолонкаДерева()

	**Возвращает:** тип: Число. Номер текущей колонки объекта "Дерево+Таблица".

	**Описание:** Метод предназначен для получения номера текущей колонки.

	**Пример:**

::

	АтрФормы = СоздатьОбъект("АтрибутФормы");
	АтрФормы.УстановитьАтрибут(Форма,"Табл");
	Сообщить(АтрФормы.ТекущаяКолонкаДерева();

ЗначениеИзДерева / ValueFromTree
===============================================

	**Синтаксис:** ЗначениеИзДерева(Строка, Колонка)

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

		- Строка - тип: Строка. Полный путь к строке.
		- Колонка - тип: Число. Номер колонки.

	**Возвращает:** тип: Любой. Значение, хранящееся в объекте "Дерево+Таблица" по указанным в параметрах координатам.

	**Описание:** Метод предназначен для получения значения из объекта "Дерево+Таблица" по полному пути к строке и номеру колонки.

ЗначениеВДерево / ValueToTree
===============================================

	**Синтаксис:** ЗначениеВДерево(Строка, Колонка, Значение)

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

		- Строка - тип: Строка. Полный путь к строке.
		- Колонка - тип: Число. Номер колонки.
		- Значение - тип: Любой. Значение, которое надо установить в указанную ячейку.

	**Возвращает:** тип: Число. В случае успешного выполнения возвращает 1, иначе - 0.

	**Описание:** Метод предназначен для установки нового значения в объекте "Дерево+Таблица" в ячейку, соответствующую координатам, указанным в параметрах.

РазвернутьУзел / ExpandNode
===============================================

	**Синтаксис:** РазвернутьУзел(Строка)

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

		- Строка - тип: Строка. Полный путь к строке. Если пустая, то выполняется для текущей строки.

	**Описание:** Метод предназначен для разворачивания узла объекта "Дерево+Таблица", расположенного по указанному в параметре пути.

СвернутьУзел / CollapseNode
===============================================

	**Синтаксис:** СвернутьУзел(Строка)

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

		- Строка - тип: Строка. Полный путь к строке. Если пустая, то выполняется для текущей строки.

	**Описание:** Метод предназначен для сворачивания узла объекта "Дерево+Таблица", расположенного по указанному в параметре пути.

ЭтоГруппа / IsGroupNode
===============================================

	**Синтаксис:** ЭтоГруппа(Строка)

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

		- Строка - тип: Строка. Полный путь к строке. Если пустая, то выполняется для текущей строки.

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

	**Описание:** Проверяет является ли группой заданная строка объекта "Дерево+Таблица".

УстановитьТекущийУзел / SetCurrentNode
===============================================

	**Синтаксис:** УстановитьТекущийУзел(Строка)

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

		- Строка - тип: Строка. Полный путь к строке. Если пустая, то выполняется для текущей строки.

	**Описание:** Делает заданную строку объекта "Дерево+Таблица" текущей.

ИдентификаторКолонкиДерева / TreeColumnName
===============================================

	**Синтаксис:** ИдентификаторКолонкиДерева(НомерКолонки)

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

		- НомерКолонки - тип: Число. Номер колонки перехватываемой таблицы значений (начиная с 1).

	**Возвращает:** тип: Строка. Идентификатор колонки.

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

ПолучитьНомерКолонкиТаблицыЗначений / GetValueTableColumnNum
=============================================================

	**Синтаксис:** ПолучитьНомерКолонкиТаблицыЗначений(НомерКолонки)

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

		- НомерКолонки - тип: Число. Номер колонки объекта .

	**Возвращает:** тип: Число. Номер колонки перехватываемой таблицы значений.

	**Описание:** Метод предназначен для преобразования номера колонки объекта "Дерево+Таблица" в номер колонки перехватываемой этим объектом таблицы значений. Необходимость этого метода вызвана тем, что объект "Дерево+Таблица" содержит только видимы колонки. Соответственно и нумерация колонок перехватываемой таблицы значения и самого объекта не совпадают.

ОпцииДерева / TreeOptions
=============================================================

	**Синтаксис:** ОпцииДерева(ГоризонтальныеЛинии, ВертикальныеЛинии, ЛинииСвязки)

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

		- ГоризонтальныеЛинии - тип: Число. Флаг отображения горизонтальных линий таблицы. Если 0, то не отображать. Если отрицательно число или не указано, то опция не меняется. Необязательный.
		- ВертикальныеЛинии - тип: Число. Флаг отображения вертикальных линий таблицы. Если 0, то не отображать. Если отрицательно число или не указано, то опция не меняется. Необязательный.
		- ЛинииСвязки - тип: Число. Флаг отображения связующих линий дерева. Если 0, то не отображать. Если отрицательно число или не указано, то опция не меняется. Необязательный.

	**Описание:** Метод предназначен для установки опций отображения объекта "Дерево+Таблица".

Методы
--------------------------------------------------

УстановитьАтрибут / AssignAttrib
===============================================

	**Синтаксис:** УстановитьАтрибут(Форма, Номер)

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

		- Форма - тип: Форма. Штатный объект Форма, который можно получить через служебное свойство "Форма" контекста формы.
		- Номер - тип: Число или Строка. Порядковый номер атрибута на форме, начиная с нуля. Или строка с идентификатором атрибута формы.

	**Описание:** Устанавливает связь объекта с атрибутом формы. Для получение доступа к многострочной части формы необходимо в этот метод передать строку "МногострочнаяЧасть".

	**Пример:**

::

	АтрФормы = СоздатьОбъект("АтрибутФормы"); 
	АтрФормы.УстановитьАтрибут(Форма,3);

ПолучитьФорму / GetForm
===============================================

	**Синтаксис:** ПолучитьФорму()

	**Возвращает:** штатный объект Форма.

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

	**Пример:**

::

	Фрм = АтрФормы.ПолучитьФорму();
	Фрм.Обновить(1);

ТипЗначенияСтр / ValueTypeStr
===============================================

	**Синтаксис:** ТипЗначенияСтр()

	**Возвращает:** тип: Строка. Тип значение, хранимого в атрибуте формы.

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

	**Пример:**

::

	АтрФормы = СоздатьОбъект("АтрибутФормы"); 
	АтрФормы.УстановитьАтрибут(Форма,3);
	Сообщить("Тип: " + АтрФормы.ТипЗначенияСтр());

ПолучитьКоординаты / GetCoordinates
===============================================

	**Синтаксис:** ПолучитьКоординаты(Лево, Верх, Ширина, Высота)

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

		- Лево - тип: Любой. Переменная для приема значения расстояния от левой границы формы до левой границы атрибута. Необязательный.
		- Верх - тип: Любой. Переменная для приема значения расстояния от верхней границы формы до верхней границы атрибута. Необязательный.
		- Ширина - тип: Любой. Переменная для приема значения ширины атрибута. Необязательный.
		- Высота - тип: Любой. Переменная для приема значения высоты атрибута. Необязательный.

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

	**Пример:**

	АтрФормы = СоздатьОбъект("АтрибутФормы"); 
	АтрФормы.УстановитьАтрибут(Форма,3);
	Лево=0; Верх=0; Ширина=0; Высота=0;
	АтрФормы.ПолучитьКоординаты(Лево, Верх, Ширина, Высота);

УстановитьКоординаты / SetCoordinates
===============================================

	**Синтаксис:** УстановитьКоординаты(Лево, Верх, Ширина, Высота)

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

		- Лево - тип: Число. Расстояние от левой границы формы до левой границы атрибута. Необязательный. По умолчанию не меняется.
		- Верх - тип: Число. Расстояние от верхней границы формы до верхней границы атрибута. Необязательный. По умолчанию не меняется.
		- Ширина - тип: Число. Ширина атрибута. Необязательный. По умолчанию не меняется.
		- Высота - тип: Число. Высота атрибута. Необязательный. По умолчанию не меняется.

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

	**Пример:**

::

	АтрФормы = СоздатьОбъект("АтрибутФормы"); 
	АтрФормы.УстановитьАтрибут(Форма,3);
	Высота=0;
	АтрФормы.ПолучитьКоординаты(,,,Высота);
	АтрФормы.УстановитьКоординаты(,,,Высота+40);

ПерехватитьСписокЗначений / WrapValueList
===============================================

	**Синтаксис:** ПерехватитьСписокЗначений()

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


	**Пример:**

::

	Процедура ПослеОткрытия()
		АтрФормы = СоздатьОбъект("АтрибутФормы");
		АтрФормы.УстановитьАтрибут(Форма,"VL");
		АтрФормы.ПерехватитьСписокЗначений();
	КонецПроцедуры

УстановитьКурсор / SetCurcor
=============================

	**Синтаксис:** УстановитьКурсор(ИмяКурсора)

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

		- ИмяКурсора - тип: Число/Строка. Если в качестве параметра передается строковое значение, то оно  воспринимается как путь к файлу с курсором. Если ни чего не передавать, то для окна восстанавливается курсор по умолчанию. Если передается числовое значение, то устанавливается системный курсор. Возможные числовые значения (любое другое числовое значение восстанавливает курсор по умолчанию):
			- (значение) - (константа WIndows, которой соответсвует это значение)
			- 1 - IDC_ARROW;
			- 2 - IDC_IBEAM;
			- 3 - IDC_WAIT;
			- 4 - IDC_CROSS;
			- 5 - IDC_UPARROW;
			- 6 - IDC_SIZENWSE;
			- 7 - IDC_SIZENESW;
			- 8 - IDC_SIZEWE;
			- 9 - IDC_SIZENS;
			- 10 - IDC_SIZEALL;
			- 11 - IDC_NO;
			- 12 - IDC_APPSTARTING;
			- 13 - IDC_HELP.

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

	**Пример:**

::

	Процедура ПриДвиженииМыши(сост, х, у)
		ФормаРасш = СоздатьОбъект("РасширениеФормы");
		Атр = ФормаРасш.ПолучитьАтрибутПоКоординатам(х,у);
		Если ТипЗначенияСтр(Атр) = "АтрибутФормы" Тогда
			Атр.УстановитьКурсор(Число(Атр.Заголовок));
		КонецЕсли;
	КонецПроцедуры
	

СоздатьЭлементУправления / CreateControl
=====================================================================

	**Синтаксис:** СоздатьЭлементУправления(ЭлементУправления)

	**Параметры:**
		- ЭлементУправления - тип: Строка, Объект. Если передается строка, то она воспринимается как имя класса для создания нового ЭУ.
		  Если передается Объект, этот объект должен быть ЭУ или КОПом наследником от ЭУ.

	**Возвращает:** тип: Объект. Если передана строка - созданный объект ЭУ, иначе то что передавалось параметром.

	**Описание:** Создает элемент управления на форме. Форма должна существовать.

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

	**Примечание:** метод существует только в составе 1с++ и не существует в FormEx в самостоятельном варианте библиотеки.

	**Пример:**

	::

		ТП = АтрибутФормы.СоздатьЭлементУправления("ТабличноеПоле");
		ТП = АтрибутФормы.СоздатьЭлементУправления(СоздатьОбъект("ТабличноеПоле"));
		ТП = СоздатьОбъект("ТабличноеПолеДляСправочников"); //КОП наследник от ТабличногоПоля
		ТП.УстановитьСправочник("Контрагенты");
		АтрибутФормы.СоздатьЭлементУправления(ТП);

	См. также: `создаваемые ЭУ|_1cpp_formex_cc_target_ <alink>`_

..	<chminfo>
		<alinks>_1cpp_Formex_CreateControl_</alinks>
		<seealso>
			_1cpp_formex_cc_target_
		</seealso>
	</chminfo>


#####################################################################
Объект Окна / Windows
#####################################################################

Методы
-------

ПолучитьМеню / GetMenu
===============================================

	**Синтаксис:** ПолучитьМеню()

	**Возвращает:** тип: СписокЗначений.

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

ДоступностьМеню / EnableMenu
===============================================

	**Синтаксис:** ДоступностьМеню(ИмяПунктаМеню, ФлагДоступности)

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

		- ИмяПунктаМеню - тип: Строка. Имя пункта меню или подменю в полном виде. Примером полного вида служит представление в список значений, возвращаемый методом `ПолучитьМеню / GetMenu`_.
		- ФлагДоступности - тип: Число. Флаг доступности пункта меню:
			- 1 - пункт меню становится доступным;
			- 0 - запрещается доступ к пункту меню.

	**Описание:** Устанавливает доступность пункта меню или подменю по имени.

ВидимостьМеню / VisibleMenu
===============================================

	**Синтаксис:** ВидимостьМеню(ИмяПунктаМеню, ФлагВидимости)

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

		- ИмяПунктаМеню - тип: Строка. Имя пункта меню или подменю в полном виде. Примером полного вида служит представление в список значений, возвращаемый методом `ПолучитьМеню / GetMenu`_.
		- ФлагВидимости - тип: Число. Флаг видимости пункта меню:
			- 1 - пункт меню становится видимым;
			- 0 - пункту меню скрывается.

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

	**Описание:** Устанавливает видимость пункта меню или подменю по имени. Дейстивя метода распространяется как на главное меню программы, так и на все контекстные меню. Если между двумя разделителями в меню нет ни одного видимого пункта, то один из разделителей так же скрывается.

ПолучитьПанели / GetToolBars
===============================================

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

	**Возвращает:** тип: СписокЗначений.

	**Описание:** Метод предназначен для получения списка всех панелей программы в виде объекта СписокЗначений. В представлении возвращаемого списка значений помещается строка с наименованием панели, в значении - флаг видимости соответствующей панели.

ПоказыватьПанель / ShowToolBar
===============================================

	**Синтаксис:** ПоказыватьПанель(ИмяПанели, ФлагВидимости)

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

		- ИмяПанели - тип: Строка. Имя панели в тектовом виде.
		- ФлагВидимости - тип: Число. Флаг видимости панели:
			- 1 - панель становится видимой;
			- 0 - панель скрывается.

	**Описание:** Устанавливает видимость панели по имени.

ПоказыватьПанели / ShowToolBars
===============================================

	**Синтаксис:** ПоказыватьПанели(ФлагВидимости)

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

		- ФлагВидимости - тип: Число. Флаг видимости панелей:
			- 1 - панели становятся видимыми;
			- 0 - панели скрываются.

	**Описание:** Устанавливает видимость всех панелей программы сразу.

ПоказыватьСтрокуСостояния / ShowStatusBar
===============================================

	**Синтаксис:** ПоказыватьСтрокуСостояния(ФлагВидимости)

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

		- ФлагВидимости - тип: Число. Флаг видимости строки состояния:
			- 1 - строка состояния отображается;
			- 0 - строка состояния скрыта.

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

СтильОкна / WindowsStyle
===============================================

	**Синтаксис:** СтильОкна(Форма, Стиль)

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

		- Форма - тип: штатный объект Форма. Форма, для окна которой необходимо установить стиль. Необязательный. По умолчанию - главное окно программы.
		- Стиль - тип: Число. Новый стиль окна. Допустимые значения:
			- 0 - устанавливается штатный стиль окна;
			- 1 - для окна отключается стиль WS_BORDER;
			- 2 - у окна полностью отключается рамка вместе с системным заголовком;

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

РазмерОкна / WindowsSize
===============================================

	**Синтаксис:** РазмерОкна(Форма, Ширина, Высота, Стиль)

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

		- Форма - тип: штатный объект Форма. Форма, для окна которой необходимо установить стиль. Необязательный. По умолчанию - главное окно программы.
		- Ширина - тип: Число. Новое значение ширины окна, в переменную возвращается значение ширины до вызова метода. Необязательный. По умолчанию значение не изменяется. Если необходимо просто получить значение ширины, то на входе значение этой переменной должно быть меньше или равно нулю.
		- Высота - тип: Число. Новое значение высоты окна, в переменную возвращается значение высоты до вызова метода. Необязательный. По умолчанию значение не изменяется. Если необходимо просто получить значение высоты, то на входе значение этой переменной должно быть меньше или равно нулю.
		- Стиль - тип: Число. Устанавливает стиль окна. Необязательный. По умолчанию стильне меняется. Имеет смысл только для главного окна программы. Допыстимые значения:
			- 1 - у окна полностью отключается рамка вместе с системным заголовком;
			- 2 - устанавливается штатный стиль окна;

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

ПоложениеОкна / WindowsPos
===============================================

	**Синтаксис:** ПоложениеОкна(Форма, Лево, Верх)

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

		- Форма - тип: штатный объект Форма. Форма, для окна которой необходимо установить стиль. Необязательный. По умолчанию - главное окно программы.
		- Лево - тип: Число. Новое значение координаты окна по горизонтали, в переменную возвращается значение координаты до вызова метода. Необязательный. По умолчанию значение не изменяется. Если необходимо просто получить значение координаты, то на входе значение этой переменной должно быть меньше или равно нулю.
		- Верх - тип: Число. Новое значение координаты окна по вертикали, в переменную возвращается значение координаты до вызова метода. Необязательный. По умолчанию значение не изменяется. Если необходимо просто получить значение координаты, то на входе значение этой переменной должно быть меньше или равно нулю.

	**Описание:** Установить/получить положение заданного окна.

МенюОкна / WindowsMenu
===============================================

	**Синтаксис:** 

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

		- Форма - тип: штатный объект Форма. Форма, для окна которой необходимо установить стиль. Необязательный. По умолчанию - главное окно программы.
		- Закрыть - тип: Число. Флаг видимости пункта "Закрыть" системного меню: 1 - пункт видим; 0 - пункт скрыт.
		- Максимизировать - тип: Число. Флаг видимости пункта "Максимизировать" системного меню: 1 - пункт видим; 0 - пункт скрыт.
		- Минимизировать - тип: Число. Флаг видимости пункта "Минимизировать" системного меню: 1 - пункт видим; 0 - пункт скрыт.
		- Восстановить - тип: Число. Флаг видимости пункта "Восстановить" системного меню: 1 - пункт видим; 0 - пункт скрыт.

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

ЦентрироватьОкно / CenterWindow
===============================================

	**Синтаксис:** ЦентрироватьОкно(Форма)

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

		- Форма - тип: штатный объект Форма. Форма, для окна которой необходимо установить стиль. Необязательный. По умолчанию - главное окно программы.

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

Максимизировать / Maximize
===============================================

	**Синтаксис:** Максимизировать(Форма)

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

		- Форма - тип: штатный объект Форма. Форма, для окна которой необходимо установить стиль. Необязательный. По умолчанию - главное окно программы.

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

Минимизировать / Minimize
===============================================

	**Синтаксис:** Минимизировать(Форма)

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

		- Форма - тип: штатный объект Форма. Форма, для окна которой необходимо установить стиль. Необязательный. По умолчанию - главное окно программы.

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

Восстановить / Restore
===============================================

	**Синтаксис:** Восстановить(Форма)

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

		- Форма - тип: штатный объект Форма. Форма, для окна которой необходимо установить стиль. Необязательный. По умолчанию - главное окно программы.

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

ПолучитьРазрешение / GetResolution
===============================================

	**Синтаксис:** ПолучитьРазрешение(Горизонтальное, Вертикальное)

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

		- Горизонтальное - тип: Любой. Переменная для приема значения текущего разрешения экрана по горизонтали.
		- Вертикальное - тип: Любой. Переменная для приема значения текущего разрешения экрана по вертикали.

	**Описание:** Метод позволяет получить текущее разрешение экрана.

НаПереднийПлан / BringWindowToTop
===============================================

	**Синтаксис:** НаПереднийПлан(Форма)

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

		- Форма - тип: штатный объект Форма. Форма, для окна которой необходимо установить стиль. Необязательный. По умолчанию - главное окно программы.

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

ВключитьМодальныйРежим / BeginModalState
===============================================

	**Синтаксис:** ВключитьМодальныйРежим()

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

ВыключитьМодальныйРежим / EndModalState
===============================================

	**Синтаксис:** ВыключитьМодальныйРежим()

	**Описание:** Метод позволяет отключить модальный режим, установленный ранее методом `ВключитьМодальныйРежим / BeginModalState`_.

МинимизироватьВТрей / MinimizeToTray
===============================================

	**Синтаксис:** МинимизироватьВТрей(Флаг)

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

		- Флаг - тип: Число. Флаг разрешения минимизации главного окна в трей: 1 - разрешитьминимизацию в трей, 0 - запретить.
