#########################################################################################
Версия 2.5.0.2

	+ новые события глобального модуля:
		  "Событие_НеобработаннаяОшибка"
		  "Событие_ЗаписьСобытияЖурналаРегистрации"
		  "Событие_ЗаписьПользовательскогоСобытияЖурналаРегистрации"
	  см. http://www.1cpp.ru/forum/YaBB.pl?num=1182482611/45#45

Загрузка компоненты
     - изменен механизм загрузки компоненты. Для Windows 2000 и выше компонента
	регистрируется в пользовательской ветке реестра (HKEY_CURRENT_USER).

ООП
     - добавлена возможность создания собственных классов-наследников
	от объектов ВК, созданных по штатной технологии создания ВК

     - исправлен критический баг - если в классе-наследнике любого класса была ошибка,
	из-за чего класс не удавалось создать,
	то при создании объекта данного класса-наследника 1С падала.

Класс "ТабличноеПоле"
     - добавлен параметр <Колонка> события ПриКонтекстномМеню

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

Классы "oledbdata" и "oledbcommand":
	- новые методы:
		УстановитьТаймаутВыполнения();
		ДобПараметр();
		УстановитьПараметр();
		КолвоПараметров();
		УдалитьПараметр();
		УдалитьПараметры();
		Подготовить();
		ОтменитьПодготовку();
	- метод ВыполнитьИнструкцию() теперь имеет три параметра:
		- Текст запроса;
		- Таблица значений (пока ТОЛЬКО ТЗ);
		- флаг очистки ТЗ, по умлочанию 1.
	- устранены потенциальные утечки памяти;
	- исправлена работа с blob-полями;
	- появилась возможно выполнять параметр. запросы;

Класс "АктивИкс":
	- Исправлен баг с видимостью контролов
		http://www.1cpp.ru/forum/YaBB.pl?num=1183627298
	- исправлен баг с возвратом параметров типа VT_BSTR | VT_BYREF

Класс ПоставщикДанныхТП.ЖурналРегистрации:
	- Исправлена ошибка
	http://www.1cpp.ru/forum/YaBB.pl?num=1175846801

Класс "CreateMetaInfoClasses":
	- поправлен метод "ЗагрузитьОписаниеКлассов(ИмяФайлаОписанияИлиСтрокаСОписаниемКлассов, [НачальныйКаталогПоискаФайла = ""])"
		1) он может принимать два параметра, один из которых может быть не указан.
		2) первый параметр может быть не именем файла, а строкой с описанием подключением классов.
			В этом случае второй параметр может указывать на путь, относительно которого ищутся класса.
			Если второй параметр не указан, классы ищутся по умолчанию относительно каталога ИБ

Документация - выложена очередная версии  статьи  об  использовании прямых запросов
	- поправленная статья - версия от Vaicartana
	- добавлено описание работы с DBF и отличия от работы с SQL
	- добавлена описание работы с журналами расчетов
	- добавлены запросы с группировкой "Период"
	- приведен пример работы с ИндексированнойТаблицей при использовании прямых запросов
	- комментарии от Uzhast по поводу патча VFP OLE DB и работы с блокировками 1С

Класс "Делегат":
	- новые методы класса "ПолучитьТаблицуОбработчиков" и "ПолучитьТаблицуОбработчиковПоКлючу"
	- обработчики удаляются в порядке, обратном их добавлению

Класс "МенеджерСобытий":
	- новый метод класса "ПолучитьТаблицуОбработчиков"
	- обработчики удаляются в порядке, обратном их добавлению

Класс "Перехватчик":
	+ новые методы
		"Перехватчик::ВыполнитьСобытиеГК"
		"Перехватчик::ВыполнитьСобытиеГлобальногоМодуля"
		"Перехватчик::ВыполнитьОригинальноеСобытиеГК"
		"Перехватчик::ВыполнитьОригинальноеСобытиеГлобальногоМодуля"

		 "ПодключитьСобытие_НеобработаннаяОшибка"
		 "ПодключитьСобытие_ЗаписьСобытияЖурналаРегистрации"
		 "ПодключитьСобытие_ЗаписьПользовательскогоСобытияЖурналаРегистрации";

    + методы "ПерехватитьСобытияГК" и "ПерехватитьСобытияГлобальногоМодуля" стали функциями
    	и возвращают предыдущий обработчик, если он есть.
    - методы "ВызватьОригинальноеСобытиеГК" и "ВызватьОригинальноеСобытиеГлобальногоМодуля" удалены
    - исправлена ошибка - перехват не всегда работал, если из обработчика перехваченного события
    	вызывалась какая-то другая форма    - исправлена неверная работа со СтатусомВозврата
	+ у событий глобального модуля используется префикс "СобытиеГМ_",
		а префикс "Событие_" (или вообще без префикса) используется только для локальных групповых контекстов
	+ новое событие для перехвата глобальника "СобытиеГМ_ПриОткрытии(КонтФормы)"
	+ новое событие для перехватчика "СобытиеГМ_ВводНового(Конт, флагКопирования)"
	- новое событие для перехватчика "СобытиеГМ_ВводНаОсновании(Конт, ДокументОснование)"
	+ добавил работу со статусом возврата для событий 1С
	+ добавил работу со статусом возврата для событий FormEx и других ВК
	- исправлен баг - неверно работал перехват события ВводНаОсновании
	- исправлен баг - не всегда перехватывались события ФормЕкс.
		например, при программном открытии через ОткрытьФорму не работал перехват событий ПослеОткрытия и др.
		например, при вызове модальных форм не всегда работал перехват событий,
		обработчики которых являются функциями
	- исправлен баг - неверно работал перехват глобального модуля,
		события в котором вызываются из других ВК или OLE c помощью IDispatch-интерфейса 1С
        (например, ВК RikInet http://www.1cpp.ru/forum/YaBB.pl?num=1180811100/32#32 )

	- Исправлен баг - Перехватчик не всегда верно работал с событиями
		новой, оптимизированной сборки ФормЕкс;
	- Исправлен баг - Перехватчик не перехватывал событие "ПослеЗакрытия"
		новой, оптимизированной сборки ФормЕкс;
	- для методов вызова событий ГК или ГМ -
	при вызове процедур/функций, число параметров в которых больше переданного количества параметров,
	вызов не делаю
	- Исправлен баг - Перехватчик неверно перехватывал штатные события глобального модуля
		при использовании совместно с оптимизированным ФормЕкс
	- Исправлен баг - неверный перехват событий ФормЕкс в глобальном
		модуле при использовании оптимизированной FormEx,
		если FormEx грузится раньше включения перехвата;
	- При вызове оригинальных событий формы/глобального модуля или предыдущего перехватчика
		в случае несовпадения количества параметров выдается сообщение в окно сообщений;

Класс "Система"
    - Добавлен метод РегистрироватьКомпонентыВ_HKCU(фHKCU = 1)
	Вызов метода обеспечивает регистрацию внешних компонент в пользовательской
	ветке реестра.

#########################################################################################
Версия 2.5.0.0

	- не всегда работала синтакс-проверка внешних обработок;
	- неверно работала директива препроцессора "_NOW_PREPARE_CLASS"
	- был возможен баг, когда при исключениях выдавался текст предыщего сообщения об исключении

Класс "BinaryData"
	- Исправлен метод CopyTo, который работал неправильно при размере файла меньше COPYTO_BUFFER_SIZE

Класс "АктивИкс"
	- устранены утечки памяти
	- исправлен баг - обработчик события, который является первой функцие/процедурой в форме, не работал.
	- добавлена отрисовка контейнера цветом BTNFACE при наличии в нем контрола
	(для контролов, самостоятельно управляющих своим размером)
	- исправлено несколько багов, приводивших к падению 1С
	- добавлена возможность создания АХ контролов на кнопке и получения фокуса фокуса при обходе по Tab'у
	- добавлено изменение размеров АХ-контрола вместе с родительским контролом
	- добавлено отображение контейнера при отсутствующем контроле
	- исправлен баг http://cvs.alterplast.ru/bugs/show_bug.cgi?id=2685
	- исправлен баг: не для всех ЭУ метод УстановитьФокус отрабатывал правильно.
	- исправлен баг: не вызывались формулы элементов диалога и не переносились значения реквизитов из ЭУ на форме при получении контролом фокуса и др. событиях

Классы по работе с OLEDB
	- если у метода OLEDBData::Соединение первый параметр не указан,
	используется строка подключения к базе ИБ по умолчанию
	- устранены некоторые утечки памяти

ТурбоБЛ
	- реализован метод группового контекста __ВызыватьМетодыКакСобытия
		(__CallMethodsAsEvents)
	- не всегда работало автоускорение внешних обработок
	- исправлена работа с #ЗагрузитьИзФайла

Класс "Форма"
	- новый метод "СоздатьЭлементУправленияНаФорме";

Класс "ФабрикаОбъектов"
	- новый метод "Новый"
		для возможности создания объектов произвольных типов
		с вызовом произвольных конструкторов с любым числом параметров.
	- исправлен баг - при создании встроенных объектов 1С++ через ФабрикуОбъектов
		(например, Фабрика.Шрифт("Arial", 10, 1))
		была утечка памяти - на созданный объект создавалась лишняя ссылка

Класс "ВыполняемыйМодуль"
	- новые методы
		"ВыполнитьПроцедуруКонтекста"
		"ВыполнитьМетодКонтекста"
	- исправлен баг с вылетом при рекурсивном вызове методов класса "ВыполняемыйМодуль"
	- исправлен баг - в методе "ВыброситьИскл" не учитывался второй параметр

Класс "MetaDataWork"
	- новый метод "ИДЗначенияПеречисления/GetEnumAttributeID"
	- исправлено падение(зависание) при попытке
	загрузки MD-шника с паролем из сеанса, в котором MD-шник не имеет пароля,
	и наоборот.

Класс "Система"
    - новый метод "фРез = ЗакрытьФорму(КонтекстФормы, ФлагЗапросаСохранения = 0)"
        вызывает немедленное закрытие  формы,  все  соответствующие
        системные события отрабатывают  и  после  этого  управление
        возвращается в вызывающий код.
        В случае удачи возвращается 1, иначе 0
        Последний параметр не обязателен,  по умолчанию = 0
    - новый метод " Уснуть / Sleep "

Новый класс "Перехватчик" - служит для перехватов событий 1С
	- метод "ПерехватитьСобытияГК"
		1) перехват всех событий,
			которые посылаются от 1С к открытой форме (ПриОткрытии, ПриЗакрытии, ПриЗаписи и т.д)
		2) перехват всех событий FormEx, которые также посылаются форме (ПослеОткрытия и др.)

	- метод "ПерехватитьСобытияГлобальногоМодуля"
		возможность перехвата событий глобального модуля, в т.ч. и событий FormEx

	- Если настройка "ПерехватитьСобытияГК" выключена,
		методы КОП::ПерехватитьСобытияГК и Перехватчик::ПерехватитьСобытияГлобальногоМодуля
		будут выдавать исключение

	- Обработчик события в объекте-класса КОП ищется не только по имени,
		но и по префиксу "Событие_НаименованияСобытия";
	- Возможность получения объектов-обработчиков событий глобального модуля и/или конкретной формы
		метод "ПолучитьПерехватчикСобытийГК" и "ПолучитьПерехватчикСобытийГлобальногоМодуля"

	- Возможность вызова оригинального обработчика события из глобального модуля
		"Перехватчик::ВызватьОригинальноеСобытиеГлобальногоМодуля(ИмяСобытия, СписокАргументов)"
    -  Возможность вызова оригинального обработчика события группового контекста
		"ВызватьОригинальноеСобытиеГК(КонтГК, ИмяСобытия, СписокАргументов)"
    - Возможность снять перехват событий группового контекста или глобального модуля
		"СнятьПерехватСобытийГK(КонтФормы)"
		"СнятьПерехватСобытийГлобальногоМодуля()"

Новый класс "Информатор" - служит для получения различной справочной информации
	- методы
		 "ПолучитьТаблицуМетодов/GetMethodsTable(Объект)"
		 "ПолучитьТаблицуСвойств/GetPropsTable(Объект)"
         "МетодСуществует/HaveMethod(Объект, ИмяМетода)"
         "СвойствоСуществует/HaveProp(Объект, ИмяСвойства)"
		 "ЯвляетсяОбъектом(ПроверяемыйОбъект, ТипНаКоторыйПроверяем)"
		 "ЯвляетсяФункцией(Объект, ИмяМетода)"
		 "КоманднаяСтрока()"
		 "ПутьПриложения1С()"
         "ТипЗначенияСтрВнутр" - получить внутренний тип значения (из RuntimeClass).
         	Т.к.  для  объекта  "Регистры"  встроенный  ТипЗначенияСтр
         	выдает "НеизвестныйОбъект". А данный метод - "CAllRegsContext"

Классу "РаботаСРегистромWin" добавлены новые, более читаемые синонимы
		"RegistryWin"
		"РеестрWin"
	- Исправлена ошибка в методе "ОткрытьКлюч / СоздатьКлюч" - не всегда возвращалось значение 0 в
		 случае ошибки

Класс "ПоставщикДанныхЖурналРегистрации":
	- просмотр архивов, созданных из "Монитора", при установленном периоде.
	- добавлено свойство ТипыСобытий (см. документацию)
	- добавлено свойство Отбор (см. документацию)

Значительно ускорено объектов "ТаблицаЗначений" и "СписокЗначений"

ODBC:
	[!] устранен memory leak при загрузке рекордсета в ИТ (в методе ВыполнитьИнструкцию())

ТП:
	[!] обновлен ODBC провайдер
	[!] добавлена отработка флагов доступности/видимости контрола при создании ТП

	[+] добавлено событие ПриУничтожении/OnDestroy - вызывается при уничтожении контрола
	    с которым связано ТП, но само ТП еще не уничтожено
	[+] добавлен скроллинг ТП при помощи мыши
	[+] добавлена типизация полей данных ТП (свойство Типизация поля данных ТП)
	[+] добавлен метод ТП RedrawRows() /ПерерисоватьСтроки() для обновления видимой части ТП
	    с вызовом события ПриВыводеСтроки, но без обращения к провайдеру
	[+] добавлено свойство ТП ShowHeaders /ОтображатьЗаголовки
	[+] добавлен метод ТП SetTextMargins() /УстановитьОтступы() для управления
	    отступами текста в пределах ячейки и общей высотой строки ТП
	[+] добавлено события ПриНачалеБыстрогоПоиска /OnQuickSearchStart, которое вызывается
	    до создания окна QS, позволяет управлять разрешением на создание окна QS
	[+] добавлено событие ПриБыстромПоиске /OnQuickSearch, вызывается до запуска системной
	    процедуры быстрого поиска и позволяет организовать custom варианты QS
	[+] добавлены свойства ТП ЦветТекста /TextColor и ЦветФона /BackColor
	[+] добавлен вариант изменения ширины колонок при нажатой клавише SHIFT
	    (изменение ширины выбранной колонки при сохранении размера остальных)
	[+] добавлен метод Отладка() /Debug() поставщика данных ODBC
	[+] в событии Выбор() добавлена возможность использования метода
	    СписокЗначений::ВыбратьЗначение() с подстройкой меню и списка под текущую ячейку ТП
	[+] добавлен метод ТП ПолучитьГраницыТекущейЯчейки() /GetCurrentCellBounds()

	[-] исправлен баг с активацией мышью при активном окне подсказки ячейки
	[-] исправлено избыточное обновление формы при активации строки
	[-] исправлен быстрый поиск по первой колонке (ПоставщикДанныхТЗ)
	[-] найдены потерянные скобки в механизме доп. условий быстрого поиска
	    http://www.1cpp.ru/forum/YaBB.pl?num=1166006473
	[-] исправлен вылет в событии ПриУничтожении для модальных форм

Класс "ИндексированнаяТаблица"
	[+] В методах Загрузить(), Выгрузить(), Объединить() добавлена возможность явного указания
	    участвующих колонок источника
	[+] Добавлен метод КоличествоИндексов() / IndexCount() - количество индексов в таблице
	[+] Добавлен метод ИмяИндекса() / IndexName() - имя индекса
	[+] Добавлен метод ВыражениеИндекса() / IndexExpr() - индексное выражение
	[+] Добавлен метод НомерИндекса() / IndexNumber() - номер индекса
	[+] Добавлен метод СохранитьИтератор() / SaveIterator()
	[+] Добавлен метод ВосстановитьИтератор() / RestoreIterator()

	[*] Устранена двойная индексация в методе Объединить()

	[-] Исправлена ошибка в методе в варианте ИзФайла(<ИмяФайла>, 2): неверно читались даты вида 01.01.08
	[-] Исправлена индексация справочников по представлению
	[-] Исправлена индексация строк с обрезкой пробелов
	[-] Исправлено потенциально некорректное итерирование по неуникальным индексам (тестБлуждающийИтератор)

	[-] Исправлено падение при выгрузке в файл
	[-] Исправлено: метод КоличествоЗначенийКлюча() возвращал -1 вместо 0, когда
		в таблице нет ни одной записи с заданным ключом.
	[-] исправлена ошибка чтения пустой даты
	[-] исправлена запись дат, с годом < 2000. Теперь всегда пишется 4 цифры года.

Исправлен баг - при загрузке в базе без справочников при загрузке 1С++ падала 1С

КОП:
	Добавлено - если в метод "КОП::_ВыброситьИскл" передается строка,
	в случае появления сообщения об ошибке в окне сообщений будет выдана эта строка

	Исправлена поддержка методов с неопределенным числом параметров (в том числе > 30)

	Исправлен баг при создании объекта с базой несуществующего класса
		в блоке Попытка-Исключение

	Исправлено - при множественном наследовании и ошибке в конструкторе не первого класса
		возникала утечка памяти;

	- теперь отладка классов возможна без использования в классе
		строки "Форма.Параметр._ПриОткрытии"
    -  теперь  форму  отлаживаемого  класса  пользователь   вручную
    закрыть не может. Форма будет закрыта  только  при  уничтожении
    данного объекта.

	- При возникновении синтаксической ошибки или ошибки выполнения в классе, реализованном в виде
	ert-файла, двойной клик по строке с сообщением об ошибке приведет к открытию
	этого ert-файла в конфигураторе и переходу к строке с ошибкой. Как и для любого внешнего отчета в 1С.
    Для классов, реализованных в текстовых файлах, для  открытия  в
    Конфигураторе по двойному щелчку в окне сообщений,
    необходимо использовать спец.скрипт для Опенконф-а

	Исправлена ошибка:
    	Неверны работали методы ПолучитьБазовыйКласс/ЗаменитьБазовыйОбъект
    	в модуле объекта-предка

	Исправлена ошибка:
		1С могла падать при удалении потомка раньше, чем его предка

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

	Исправлена ошибка http://cvs.alterplast.ru/bugs/show_bug.cgi?id=2556
		- не работала замена базовых классов метаданных на групповые контексты форм этих метаданных
		(например, Справочник, Документ и т.д)
		- в методе "ЗаменитьБазовыйОбъект" не работала замена базы вида "Документ.Новый2"
		на контекст модуля проведения или контекст формы документа

    Методы (устаревшие) "ОтправитьСообщениеМодулюХоз" и "ПолучитьКонтекстОкружения"
    сделаны безопасными.

    метод класса КОП "ПерехватитьСобытияГК" перенес в класс "Перехватчик"


Класс   "MetaInfoClasses":
    - метод "ЯвляетсяОбъектом" теперь не выдает исключений в случае
    передачи пустых наименований, а возвращает 0
	- новый метод "ОчиститьДанныеОптимизацииКлассов/ClearClassOptimizationData"
		решение проблемы по сбросу оптимизации для классов КОП
	- новый метод "ЗагрузитьОписаниеКлассов/ReadDefinesOfClasses"
		динамическое подключение новых классов

Метапарсер:
	добавлено получение внутренних идентификаторов значений перечислений

Класс "УправлениеНастройками"
    - новый метод "Установить(ИмяНастройкиПоАнглийскиИлиПоРусски, Значение0или1)"
	- новый метод "Сбросить(ИмяНастройкиПоАнглийскиИлиПоРусски)"
	- новый метод "Включить(ИмяНастройкиПоАнглийскиИлиПоРусски)"
	- метод "Получить" теперь понимает и русские наименования
	- Ключи для настроек
		"EnabledCheckType" или "Проверка типов"
		"EnableOptimizate" или "Оптимизация"
		"EnableDebugging"  или  "Отладчик" или "Отладка"
		"EnableTableSourceTable" или "ТаблицаИсходнаяТаблица" или "Таблица.ИсходнаяТаблица"
		"EnableTurboBL" или "TurboBL"
		"EnableHookEventsGroupContext" или "ПерехватитьСобытияГК"

	- Исправлены баги:
		- при переустановке настроек 1С++ 1С могла падать.
		- при переустановке настроек 1С++ настройки в реестре сохранялись не сразу, а только после завершения сеанса 1С;
		- не работала установка настроек через УправлениеНастройками.Включить(ИмяНастройки);

Перехваты методов 1С, используемые для работы
	ТурбоБЛ,
	Таблица.ИсходнаяТаблица,
	КОП.ПерехватитьСобытияГК
	сделаны опциональными (спец.ключи).
	Выключение данных хуков произойдет только после перезагрузки 1С

Решение проблемы совместимости с FormEx - при использовании спец.метода CBLModule7::EvalDebugExpr

#########################################################################################
Версия 2.0.3.1

Метапарсер:
	исправлена ошибка: http://cvs.alterplast.ru/bugs/show_bug.cgi?id=2518
	$ГрафаЖурналаРасчетов работала не правильно

ODBC:	http://cvs.alterplast.ru/bugs/show_bug.cgi?id=2523
	исправлена типизация при выполнении метода ВыполнитьСкалярный()
	Строка->Число; Число->Строка; Строка->Дата

КОП:
	- Имена файлов классов КОП могут быть написаны с кавычками
	- Добавление загрузки модулей классов из dll
	- Устранена невозможность обращения к методам и свойствам формы группового контекста через контекст класса,
		для которого базовым классом является данный групповой контекст.
	- [bug 2513]
		методы "ЗаменитьБазовыйОбъект", "ПолучитьБазовыйОбъект" не всегда работали верно.
		Также исправлены сопутствующие баги 2512 и 2515
	- [bug 2505]
		Исправлено: В режиме отладки классов не работала
		директива препроцессора _NOW_PREPARE_CLASS для классов,
		которые одновременно являются и классом, и внешней обработкой.
	- Исправлены ошибки, возникавшие при компиляции модулей классов при
		включении/отключении оптимизации.
	- Устранена невозможность обращения к методам и свойствам формы группового контекста через контекст класса,
		для которого базовым классом является данный групповой контекст.
	- Добавление загрузки модулей классов из dll
    - решена проблема потери памяти в КОП  при  работе  с  базовыми классами

Новый класс "УправлениеНастройками"
	- пока есть методы
		"Получить(ИмяНастройкиПоАнглийски)"
		"Состояние(ИмяНастройкиПоАнглийски)"

Класс "Система"
    - добавлен метод  "КоманднаяСтрока"  для  получения командной строки запуска 1С
	- добавлен метод  "ПутьПриложения1С"

Дополнения в TurboBL
	- Добавлено автоматическое ускорение контекстов внешних отчетов.
	- Исправлено обращение к шаблонам таблиц в форме при вызове функций модуля через контекст.
	- Оптимизировано обращение к полям ТаблицыЗначений.

Исправления в OLEDB:
	- Исправлена ошибка, при выполнении запросов к MSSQL - результат запрос не возвращался;
	- Исправлена ошибка типизации колонок $Справочник и $Перечисление;
	- Косметические исправления;

Возвращаем на место _ATL_STATIC_REGISTRY

Изменения в классе ИндексированнаяТаблица:
	- Оптимизация индексов по строкам
	- Поддержка NLS сортировки по строкам для всех языков
	- Оптимизация процедуры выгрузки в ТЗ на форме
	- Поддержка уникальных итераторов. Методы, поведение которых изменилось:
		- КоличествоСтрок()
		- ВыбратьСтроки()
		- ВНачало()
		- ВКонец()
		- Выгрузить()
	- Возможность получения результата методов Пересечение() и Разность() по одной ТЗ
	- Добавлен метод ПереименоватьКолонку()
	- Исправлена ошибка в методе Объединить() - не перестраивались индексы
	- Исправлена ошибка в методах Выгрузить() и Загрузить() - методы не работали с контекстом формы документа

Добавлен быстрый поиск в Табличное Поле с поставщиком данных ТЗ

Исправлен баг bug 2395 - Для класса "РаботаСРегистромWin" метод ТипЗначенияСтр() возвращал неверную инфу

Исправлен баг 2268 [http://cvs.alterplast.ru/bugs/show_bug.cgi?id=2268]
	Исправлено падение 1С при работе с классом,
	у которого в качестве предка выступает групповой контекст.

Исправлен баг 2174 [http://cvs.alterplast.ru/bugs/show_bug.cgi?id=2174]: при удалении строк могли нарушаться индексы

FormEx: Исправление бага [2258]
FormEx: Исправление бага [2171]
FormEx: Исправление отключения Shift + F4 на форме с деревом
FormEx: Исправление отрисовки меню метода Сервис::ВыбратьЗначение при отсутствии открытых дочерних окон.
ActiveX: исправлен баг с изменением размера контрола
FormEx: исправление производительности таблиц (объект Таблица от 1С)
FormEx: Метод ИсходнаяТаблица() проверен и исправлен в соответствие с документацией FormEx
FormEx:	Новый метод: Сервис::ПолучитьСписокПользователей() для получения
			списка пользователей базы в виде СпискаЗначений
FormEx:	Окна::РазмерОкна: убрано центирование для немодальных окон.

ТабличноеПоле: исправление работы таких методов как АктивизироватьОбъект() в процедурах событий табличного поля;


Добавлена возможность загрузки метаданных из любой ИБ 1С.
Для этого добавлены методы:
	- ODBCDataBase::ПрисоединитьИБ
	- MetaDataWork::ПрисоединитьМД
	- OLEDBData::ПрисоединитьИБ

Добавлен синоним метода ODBCDataBase::Присоеденить1С - ODBCDataBase::Присоединить1С.

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

	Решение бага 2291 [http://cvs.alterplast.ru/bugs/show_bug.cgi?id=2291]
    Исправлено падение 1С при использовании циклической иерархии классов.

	Решение бага 2216 [http://cvs.alterplast.ru/bugs/show_bug.cgi?id=2216]
    Исправлено падение 1С при повторной загрузке (ЗагрузитьВнешнююКомпоненту("1cpp.dll"))
    или подключении (ПодключитьВнешнююКомпоненту("Addin.1C++")).

	Решение бага 1605 [http://cvs.alterplast.ru/bugs/show_bug.cgi?id=1605]
		[+] появилась возможность задавать //include defcls.prm
		относительно папки текущего разбираемого defcls.prm;
		Если задан относительный путь, он сначала проверяется относительно каталога ИБ,
		а уже затем относительно папки текущего разбираемого defcls.prm;
		[+] появилась возможность задавать в пути к файлу класса или defcls.prm в //#include
		относительные пути с использованием "." или "..";

    Решение бага 1821 [http://cvs.alterplast.ru/bugs/show_bug.cgi?id=1821]
		[+] появилась возможность наследовать метод "_ПолучитьКод()"
        Если в классе-предке метод описан с модификатором "Экспорт",
        данный метод наследуется.
        Если  модификатор  "Экспорт"  не  установлен,  метод  будет
        использован  только  в текущем классе, и не будет унаследован.

Общие объекты:
	- Исправление "непоказа" закладки на странице в окне "О программе" если не загружена account.dll
	- Переделка отображения ракладки и времени в строке состояния
	- Исправление инициализации дополнительных панелей строки состояния
	- Решена проблема падения при использовании Форма::СоздатьЭлементУправления() в модальной форме.
	- исправлены ошибки при сохранении/восстановлении параметров компоненты;
	- изменено поведение метода BinaryData::Размер в соответствии с пожеланиями трудящихся -
		при получении размера положение внутреннего указателя не меняется.
	- Класс "MetaInfoClasses": новый метод "ПолучитьВерсиюФайла" (англ. "GetFileVersion")
        Синтаксис:
            Строка ПолучитьВерсиюФайла( Строка ПутьКФайлу = "",
        								Строка ВерсияФайла = "FileVersion")
        Назначение:
        Получает версию из VERSION_INFO ресурса файла. Можно
        использовать для получения версии  1С++,  в  т.ч  и  ночной
        сборки.
	- Удален объект "Поток"
    - КОП:
    	Исправлен баг 2128 [http://cvs.alterplast.ru/bugs/show_bug.cgi?id=2128]
    		Ошибка в методе класса при передаче параметра-строки со значением по умолчанию = ""
        Исправлен баг 1868 [http://cvs.alterplast.ru/bugs/show_bug.cgi?id=1868]
            Если  в  методе  в  строковом  параметре  по  умолчанию поставить "..."
            [ например, число Метод_3Точки_ВКонце(Строка Загол = "Введите дату...") ]
            возникал конфликт при вызове данного метода.
		Исправлен баг 2152 [http://cvs.alterplast.ru/bugs/show_bug.cgi?id=2152]
			Не работала отладка для классов, встроенных в конфигурацию.
		Исправлен баг 2259 [http://cvs.alterplast.ru/bugs/show_bug.cgi?id=2259]
            При определенных условиях метод "ПолучитьКонтекстОкружения" приводил
            к  падению  1С.  Сейчас  в  подобных  случаях  выдается
            исключение 1С.

#########################################################################################
Версия 2.0.2.1

Глобальные изменения
	Исправлена проблема с отсутствием интерфейса IInitDone при запуске 1С без прав
	локального админа и несовпадении пути регистрации и пути загрузки компоненты

	Доработано ускорение контекста, в т.ч. и для внешних отчетов, на базе методов ТурбоБЛ
		1) есть возможность обращаться к переменным и методам любой формы напрямую (TurboBL)
		2) самое главное, для внешних отчетов больше нет необходимости создавать объект "УскорительГК"
		в модуле внешнего отчета. Этот код выполняется автоматически при открытии формы внешнего отчета.

	Для всех КОП
	1. Добавлено:
		1. более читабельный метод "ЗаменитьБазовыйОбъект" (ReplaсeBaseObject) - синоним ЗаменитьЭкcзБазовогоКласса
		2. Новый встроенный метод для КОП  "ЯвляетсяОбъектом" (англ. "TheClassIs")
		3. Добавлены синонимы (recommended / deprecated):
		- ЗаменитьБазовыйОбъект (ReplaсeBaseObject) / ЗаменитьЭкcзБазовогоКласса (ReplaceInstBaseClasses)
		4. Добавлена возможность наследовать классы напрямую от "ГрупповойКонтекст"
			т.е. можно написать в файле defcls.prm
			class НаследникГрупповойКонтекст = НаследникГрупповойКонтекст : ГрупповойКонтекст
			{}
            но для корректной работы класса необходимо использовать
            вызов ЗаменитьБазовыйОбъект("ГрупповойКонтекст", КонтекстОткрытойФормы);

	2. Исправлено:
		Тип класса равен тому, что написал разработчик в файле описания класса,
		а не так, как пользователь напишет в СоздатьОбъект(ТипОбъекта) [bug 2021]

		[-] исправлен баг 2023 - в методе "ОтправитьСообщениеМодулюХоз" - [bug 2023]
		не удавалось получить возвращаемое значение от обработчика события в модуле-хозяине;
		[-] в методе "ОтправитьСообщениеМодулюХоз" - если в модуле-хозяине нет обработчика "ОбработкаСобытияОтКласса",
		выдается исключение

		[+] Метод Структура::Удалить() выдает исключение, если переданного
		ключа в структуре не существует. [bug 2103]

Исправления в OLEDB:
	- При укладывании одноуровневого справочника методом УложитьСписокОбъектов()
	  выбрасывалось исключение;
	- Изменил поведение метода УложитьСписокОбъектов() - теперь указывать каталог временных таблиц
	  не обязательно (!). Если каталог не указан, то временные таблицы создаются в каталоге ИБ;

Общие объекты:
	- Изменено поведение метода BinaryData::ЗагрузитьИзФайла если объект был подключен к файлу, данные
	  загружаются в файл;
	- добавлены методы класса BinaryData::Zip/Unzip.
	- Ключи объектов Структура и Делегат сделаны регистронезависимыми
	- Добавлены параметры в ВыполняемыйМодуль::GetMethOfContext для получения описаний в ТЗ.
		Есть возможность получать данные о методах и процедурах для любого группового контекста,
		в т.ч. и для контекстов внешних отчетов.
	- Рефакторинг класса 'Делегат'
	- Класс "MetaInfoClasses": новый метод "ЯвляетсяОбъектом" (англ. "IsObject")
	- Класс "MetaInfoClasses": новый метод "ПолучитьИменаБазовыхКлассов" (англ. "GetBaseClasses")
	- Класс "ВыполняемыйМодуль": новый метод "КомпилироватьИВыполнитьМодуль"
    - Класс "ВыполняемыйМодуль": новый метод "РазрешитьИсключения" ("EnableExceptions")
	- Добавлен класс "Math"
	- Добавлен класс "Поток", аналогичный классу из ВК Vtools
	http://vtools.ru/vtools2.htm#35

Изменения в Табличном поле:
	- добавлена поддержка механизма Drag&Drop;
	- изменено создание: теперь через СоздатьЭлементУправления("ТабличноеПоле") метод СоздатьТабличноеПоле() удален;
	- доработка механизма контекстного меню;
	- устранена ошибка в механизме быстрого поиска;
	- в событии контекстного меню теперь есть признак заголовка (клик на заголовке колонки);
	- поддержка ООП: отображение событий в методы наследника от объекта ЭУ.
	- англоязычные синонимы событий;
	- Метод ПоставщикДанныхODBC::УстановитьТекущуюСтроку больше не используется, его функционал берет
	  на себя свойство ТабличноеПоле::ТекущаяСтрока;
	- утвержден и опубликован программный интерфейс для разработки новых поставщиков данных;
	- Новое свойство ТабличноеПоле::ТекущаяСтрока;
	- Поставщик данных ODBC может иметь как текстовые так и SQL параметры;
	- оптимизирована работа Поставщика данных ODBC, он использует параметризированные запросы.
	- устранение критической ошибки на win98;
	- Отработка авто цвета, запрет измененения позиции колонок, цвет линий, цвета выделения,
	  чередование строк, программный сдвиг колонок, запрет изменения видимости колонки;
	- Добавлен метод Сдвинуть() для коллекции колонок, исправлен баг отрисовки при восстановлении
	  видимости колонки;
	- Отрисовка фокусной рамки в режиме выделения всей строки;

Исправления в ODBC:
	- устранена ошибка не работала типизация строк следующими именами: $ВидРасчета, $ВидСубконто, $Субконто;
	- устранена ошибка ODBCRecordset получение типа float (double) происходило округление до целого;
	- устранение ошибки УложитьСписокОбъектов не закрывал за собой запрос;
	- новая реализация УложитьСписокОбъектов в алгоритме обработки иерархического справочника;
	- устранение ошибки при получении длинных полей (не получались);
	- устранение ошибки в ВЗ $ПоследнееЗначение неправильно работало при типе реквизита Дата;
	- модификаторы не используются для SQL параметров, все определяется SQL типом параметра
	  в методе ODBCRecordset::ДобПараметр;
	- комплексные изменения движка прямых запросов;


Исправления в классе ИндексированнаяТаблица:
	Исправления:
	- Ошибка удаления колонки - не изменялся внутренний номер оставшихся колонок
	- В методах ВыбратьСтроку()/Показать() - неправильно заполнялись параметры по умолчанию.
	- В методе Группировать() имена колонок сумм не проверялись на допустимость.
	- Методы НайтиСтроку(), НайтиБлижайшуюБольше(), НайтиБлижайшуюМеньше() всегда
	  позиционировались на найденную строку, незваисимо от параметра чСпозиционироваться.
	- Методе Пересечение() давал неверные результаты.
	- Исправлена ошибка установки подмножества по индексу с сортировкой по убыванию
	- Методы ЗаполнитьКолонку(), Выгрузить(), ВФайл(), ВСтроку() сбрасывали
	  текущую позицию в выборке.
	- В методе Подмножество() неверно заполнялись значения фильтра.
	- Исправлено падение 1С при фильтре, в который не попадает ни одна строка.
	- Исправлено падение 1С при выборках на пустой таблице, что также приводило к падениям и в группировке.
	- Методы НайтиСтроку(), НайтиБлижайшуюБольше(), НайтиБлижайшуюМеньше()  всегда позиционировались
	  на найденную строку, незваисимо от параметра чСпозиционироваться.

	Новое:
	- В методе Группировать(), при подсчёте сумм по группам справочников, проверяется наличие
	  колонки <ИмяКолонкиСправочника>_Родитель. Если такая колонка есть, то родитель берётся из неё.
	- В методе Группировать() с итогами по группам справочника в результирующую таблицу добавляется
	  колонка __ЭтоГруппа__.
	- В методе Группировать() количество обращений к базе сокращено до минимума.
	- В метод Группировать() добавлена группировка по датам. Группой считается начало месяца.
	- Для фильтров добавлена возможность включать в выборку только уникальные значения
	- Добавлен инверсный фильтр.
	- Изменены параметры для метода показать - оставлен только индекс.
	- Добавлен метод ЗагрузитьЗапрос().
	- Добавлен метод Разность().

#########################################################################################
Версия 2.0.1.2

Исправления в общей части:

	- Если при выходе из 1С происходил вылет, то не сохранялись настройки компоненты.
		Теперь настройки сохраняются сразу при изменении.

	- Исправлена ошибка регистрации компоненты, возникавшая на некоторых системах.

Исправления в OLEDB:

	- Появился новый метод: УложитьСписокОбъектов (Объект, ИмяТабл, ВидСпр) / PutObjectList()
		Параметры:
		- Объект [in] - объект конкретного справочника;
		- Имя [out] - возвращается имя и путь (абсолютный путь) временной таблицы;
		- ВидСпр [in] - строка с названием вида справочника, не обязательна.
			Если указать, то будет уложены все элементы справочника, начиная от Объект.
			Если не указать, то будет уложен только один элемент Объект;

	- Появился новый метод: УстановитьКаталогВремТаблиц(стрДир) / SetTempTablesDir(стрДир)
		В нем указывается, где создавать временные таблицы.
		Параметры:
		- стрДир [in] - каталог, в котором будут создаваться временные таблицы.
			Проверка на правильность пути классом не производится.

	- Исправлена мелкая ошибка.

Исправления в классе ИндексированнаяТаблица:
	- Исправлена ошибка в методах поиска, приводившая к падению 1С.

	- Исправлена ошибка в методе Итог(), приводившая к падению 1С.

	- Исправлена ошибка удаления индекса по номеру.

	- Добавлен метод ИтогПоДиапазону().

	- Метод Загрузить() может загружать табличную часть документа и результаты
	  выполнения запроса 1С (тип Запрос).

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

	- В метод Копия() добавлена возможность копировать только структуру таблицы.

	- В методе Группировать() добавлена возможность считать итоги по группам справочников.

	- Исправлено много мелких ошибок и недочетов.

	- Проведена работа по экономии системных ресурсов.

#########################################################################################
Версия 2.0.1.1

Исправления в классе ИндексированнаяТаблица:
	- В класс ИндексированнаяТаблица добавлены методы ВСтроку() и ИзСтроки(),
	  предназначенные для сериализации.

	- Добавлен метод ЗаполнитьКолонку()

	- в метод Выгрузить() добавлена возможность выгружать колонку в СписокЗначений.

	- добавлен метод ВыбратьСтроку() и его синоним Показать().  Метод создаёт таблицу
	  значений, выгружает туда содержимое текущей таблицы, и вызывает метод
	  ТаблицаЗначений::ВыбратьСтроку(). Предназначен в основном для отладки.


- В работе ТабличногоПоля исправлена ошибка, возникавшая при работе под управлением Win98.


#########################################################################################
Версия 2.0.1.0

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

- Устранена ошибка возникающаяя при использовании параметризированных запросов. State 24000
  Недопустимое состояние курсора.

- Принята новая система версий.

- Устранены проблемы с аппаратным DEP.

- Добавлен встроенный класс ИндексированнаяТаблица, англ. синоним IndexedTable

#########################################################################################
Версия 1.8.1.7

- ВыполняемыйМодуль::ПолучитьИнформациюОПроцедуре() получение информации о процедуре или функции.

- Исправлена ошибка. СервисРасшФормы::ЭмулироватьКлавиатуру() не отрабатывал код клавиши NUMLOCK.

- Восстановлено значение 0 флага стандартной обработки в процедуре ГМ ОбработкаЯчейкиТаблицы.

- Новые объекты: ТаблиноеПоле, ПоставщикДанныхODBC, ПоставщикДанныхТЗ

- Новые классы: OLEDBData (нет рус. синонима) и OLEDBCommand (нет рус. синонима)

#########################################################################################
Версия 1.8.1.6

- Добавлена возможность хранить несколько классов в одном модуле. Для этого текст модуля
  каждого класса нужно начинать со строки "//# ClassBegin <ClassName>" и заканчивать
  строкой "//# ClassEnd <ClassName>", где вместо <ClassName> пишем имя класса.
  Пробелы имеют значение.

- Исправлена ошибка. Флаг стандартной обработки при вызове процедуры ГМ ОбработкаЯчейкиТаблицы
  при входе в процедуру имеет значение 1.

- BinaryData режимы открытия файлов.
  Исправлена ошибка: при чтении данных из 4 байт результатом могло быть отрицательное число.
  Теперь только положительное.

- Оптимизировано создание объектов. Ускорена работа функции СоздатьОбъект().

- Добавлена оптимизация: ВТ РегистрОбороты по оборотному регистру, если расчет идет по ТА, то
  не используется таблица движений.

- Введены модификаторы для типа Документ: 3-ВидДокумента 4-ПозицияДокумента.

- Добавлен новый метод: ODBCRecordset::УложитьСписокОбъектов13(СпОбъектов, ИмяВремТаблицы).

- Поправлен метод ODBCRecordset::ReconnectNative.

- MetaInfoClasses::ПолучитьВерсию() и страница свойств компоненты получают версию из VERSION_INFO
  ресурса загруженной dll.

- Новый метод ODBCRecordset::РежимRPC(). Только для MSSQL. Переводит парсер в режим, в котором
  парсинг идет для выполнения запроса с помощью RPC вызова хранимой процедуры sp_executesql.

- Несколько ускорен парсинг текста запроса.

- Новые метаимена: $ПустойИД, $ПустойИД13.

#########################################################################################
Версия 1.8.1.5

Изменения ODBCRecordset и иже с ним v. 2.12

- Доработан метод ODBCRecordSet::ВыполнитьСкалярный(). Если в результате запроса отсутствовала
  строка, то для простых типов возвращаемое значение могло быть не пустым.

- Доработан метод ODBCRecordSet::ВыполнитьИнструкцию(). Если в переданной таблице было больше
  колонок чем в результате запроса, происходило аварийное завершение программы.

- Метод ODBCDataBase::ReconnectNative(). Решение бага MSSQL при вставке во временную таблицу
  при выполнении ХП sp_executesql. Переподкючает программу к серверу.

- Имена КОП-ов, их методы и свойства регистронезависимы.

- ODBCRecordSet::ExecuteStatement() Исправлена ошибка при передаче вторым параметром простого
  типа происходило аварийное завершение работы.

- ODBCRecordSet. Метод для получения XML результата.

- BinaryData. Работа с файлом в разделенном режиме. Добавлены методы работы с
  блокировками. Объект может чтение/запись строк в различных кодировках (ANSI,
  OEM, UTF-16(LE), UTF-8)

- ODBCRecordSet. Доработано получение длинных строк в unicode (ntext).

- Парсер запросов. Добавлено условие по флажку регистра в таблице журнала документов.
  В общем случае повышает быстродействие.

Изменения ядра FormEx

- новый метод CurrentTreeColumn/ТекущаяКолонкаДерева у объекта "Дерево+Таблица"

- исправлена ошибка совместимости с PuntoSwitcher

- исправлена ошибка с флагом стандартной обработки в процедуре ОбработкаЯчейкиТаблицы

- исправлена ошибка невызова глобальных процедур обработки событий мыши и клавиатуры,
если нет открытых форм

- исправлена ошибка установки системного курсора (на изменение размеров) главного окна

#########################################################################################
Версия 1.8.1.4

- доработка объекта "Дерево+Таблица"

- у объекта "СервисРасшФормы" новый метод - КоманднаяСтрока()

#########################################################################################
Версия 1.8.1.3

Изменения ODBCRecordset и иже с ним v. 2.11

- Исправлена ошибка MetaDataWork::ЗначениеВСамуюДлиннуюСтрокуБД() формировала строковое
  представление длиной 15 символов, теперь 23.

- Убран функционал КОП _StringView(), т.к. произошло дублирование функций с _getCode().

- В реализации метаимени $ПоследнееЗначение изменен внутренний алиас на нечитабельный.

- ODBCRecordset::ExecuteScalar(); если в результате запроса будет несколько полей,
  возвращается объект Структура заполненый соответствующим образом (если одно поле,
  возвращается его значение).

- Исправлена ошибка. Новыми методами выполнения (ЕхecuteStatement и ExecuteScalar) было
  невозможно записывать длинные поля.

- Исправлена ошибка. При использовании ODBCRecordset::ExecuteScalar() и
  параметризированном запросе, если в результате запроса получается пустая выборка
  возвращалось значение с прошлого выполнения.

- баг-фикс части, касающейся FormEx;

- получение списка принтеров, проверка состояния принтера;

- управление видом курсора (можно устанавливать на реквизит формы, саму форму и на главное окно;
  естественно, везде можно разные курсору задавать);

- управление цветом фона и шрифта реквизитов (работает не для всех типов реквизитов);

- новый визуальный объект "дерево-таблица";

- перехват списка значений (можно в реквизите "поле со списком" напрямую набирать с клавиатуры и
  список будет позиционироваться на соответсвующем значении);

- сброс флага модифицированности формы;

- получение координат левого-верхнего угла формы;

- минимизация формы;

- воспроизведение wav-файла;

- получение списка открытых печатных форм с возможностью их последующей записи;

- получение версии ОС;

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

- загрузка дополнительных глобальных модулей директивой ЗагрузитьИзФайла.

#########################################################################################
Версия 1.8.1.2

Изменения ODBCRecordset и иже с ним v. 2.10

- Исправлена ошибка. При получении значения null в колонке типа datetime (SQL_C_TIMESTAMP)
  формировалось некорректное пустое значение типа Дата.

- Новый функционал. Объекты типа КОП могут реализовать собственное представление
  в виде строки. Для этого КОП должен реализовать функцию "_StringView", которая
  должна вернуть строковое представление объекта.

- Новый функционал. Типизация выборки типом КОП. Для этого необходимо:
  1)Использовать типизирующее имя "Класс" и имя класса, например
    "Спр.id [ОбъектТипаМойКОП $Класс.МойКОП]";
  2)В реализации класса должна присутствовать процедура с названием "_SQLCreate"
    (виртуальный конструктор), которая будет вызвана после создания объекта, указанного
	в типизации класса; процедура должна иметь два или меньше параметров; в первом
	параметре передается значение поля без типизации, во втором статический объект типа
	MetaDataWork.
  3)в реализации _SQLCreate и конструктора объекта не должно быть обращения к БД на
    том соединении на котором в данный момоент происходит выборка (во избежание кофликта
	локального курсора).

- Переписана работа с длинными строками (SQL_LONGVARCHAR). Теперь возможна запись.

- Новый объект "BinaryData". Позволяет работать с двоичными данными. Данные может
  содержать в памяти или на диске. Создание, чтение/запись данных через строку или целое
  число различной разрядности, сжатие/разжатие внутренним архиватором (zip), чтение/запись
  в БД (ODBC тип поля SQL_LONGVARBINARY).

- Новый объект "GUID". Формирование нового, выгрузка/загрузка в строку, сравнение,
  чтение/запись в БД (ODBC тип поля SQL_BINARY(16)).

- Исправлена ошибка. При типизации колонки именем $Дата, неправильно возвращался ее
  1С тип методом ПолучитьПараметрыПоля().

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

- Добавлены методы ODBCRecordSet::ExecuteStatement() и ODBCRecordSet::ExecuteScalar().
  При ошибке в запросе формируют исключение. Обеспечивают получение результата запроса,
  закрывая курсор. ExecuteStatement() возвращает таблицу значений или количество
  обработанных строк. Время загрузки результата запроса в таблицу значений уменьшено на
  30-60%. ExecuteScalar()возвращает значение из первого поля первой строки результата,
  остальные данные игнорируются или количество обработанных строк.

- При типизации колонки типа datetime именем $Строка возвращаются значения типа строка
  с каноническим представлением даты ODBC.

- Для корректной отрисовки ЭУ текст, рамка, флажок, переключатель внесены изменения в
  FormEx.

- Исправлена ошибка. Метод ODBCRecordSet::ВыполнитьSQL_ИзТЗ() не работал правильно при
  использовании подстроки в заголовке поля "?3" и "?*".

- Исправлена ошибка. При получении полей типа Numeric в состоянии когда набор данных не
  спозиционирован на строке происходило аварийное завершение программы.

- Новый метод ODBCRecordset::ОбратныйРасчетОтТА(). Разрешает оптимизацию расчета остатков
  от ТА.

- Исправлена ошибка. ВТ РегистрОбороты по оборотному регистру. В случае когда периодичность
  оборотного регистра квартал или год происходил неправильный расчет итогов.

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

- Исправлена ошибка. При типизации именем $Документ с использованием поля с суффиксом
  "_вид" и имененм $Субконто, и при размещении поля с суффиксом "_вид" первым в выборке,
  типизация не работала.

#########################################################################################
Версия 1.8.0.2

Изменения ODBCRecordset и иже с ним v. 2.9

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

- Новый функционал. ODBCRecordset::УложитьСписокОбъектов() может создать временную
  таблицу счетов по иерархии плана счетов. Для этого нужно передать счет или
  СписокЗначений со счетами и идентификатор плана счетов.

#########################################################################################
Версия 1.8.0.1
- Изменения ODBCRecordset и иже с ним v. 2.8

- Исправлена ошибка. При соединении через драйверы для интерфейса ODBC API версии
  меньше 03.00, при получении чисел происходило аварийное завершение.

- Исправлена ошибка. ВТ РегистрОбороты, в некоторых случаях игнорировались связи и
  условия.

- Исправлена ошибка. При использовании ВТ РегистрОстаткиОбороты, в случае когда
  результат не перебирается до конца, и подается метод Закрыть() происходило
  аварийное завершение.

- Исправлена ошибка. Не создавался объект SQLLock.

- Код формирования запросов ВТ переписан на 80% все обращения к полям внутри
  запросов ВТ идут через алиасы таблиц. Это позволяет использовать в связях таблицы
  с именами полей, совпадающими с именами полей таблиц источников данных для ВТ.

- Метод УложитьСписокОбъектов() при указании в третьем параметре вида справовника,
  который неопределен в конфигурации, происходило аварийное завершение, сейчас
  формируется 1С исключение.

- В очередной раз поправлена работа с числами: если драйвер для ODBC API
  версии меньше 03.00 получение числа идет через строку, иначе если точность меньше
  или равна 9 получение идет через SQL_NUMERIC_STRUCT, иначе через строку.
  Т.о. при получении чисел из типа SQL_NUMERIC тип double не используется никогда.
  Однако, при установке SQL параметров используется тип double.

- При включеной отладке, и параметризированном запросе не выводятся сообщения в
  методе Open()

#########################################################################################
Версия 1.8.0.0
- Исправлена ошибка допущеная при внесении изменений в релизе 1.7.2.3, а именно:
  "В группу базовых методов классов: ПолучитьБазовыйКласс()/GetBaseClass() и НазначитьБазовыйКласс()/AssignBaseClass()
  добавлена поддержка английских синонимов объектов 1С, таких как Документы, Справочники, Регситр, Регситры,
  соответственно: Document, Reference, Register, Registers. Учет видов некоторых из этих объектов не изменился."
- Исправлена ошибка, в некоторых случаях не работала АвтоТипизация
- Добавлена возможность чтения полей строк с неограниченной длиной. ВНИМАНИЕ: запись строк с неограниченной длиной
  запрещена.

Изменения ODBCRecordset и иже с ним v. 2.6

- Исправлена ошибка. В методе ВыполнитьSQL_ИзТЗ() в ТЗ, в имени колонки числом
можно указать модификатор, как и написано в документации.

- Исправлена ошибка. При использовании набора строк (УстРазмерМножестваСтрок),
в некоторых случаях неработала типизация.

- Исправлена ошибка парсинга связей в виртуальных таблицах, случающаяся в
некоторых случаях.

- Переработано получение чисел из набора данных. До этого, для получения числа
от драйвера ODBC использовался тип double, что в некоторых случаях приводило
к потере точности (мантисса ограничена). Теперь, если десятичная_точность числа
не превышает 9 знаков, формирование внутреннего числа 1С происходит без
использования float арифметики. При этом, по некоторым оценкам, наблюдается
повышение быстродействия на ~20%.
Следует иметь в виду, что при получении чисел с точностью более 9 знаков
все работает как раньше.

- При типизации колонки выборки типом $Неопределенный, кроме агрегатных типов
допустимо получать простые типы 1С (Число, Строка, Дата). Аналогично работает
теперь метод MetaDataWork::ЗначениеИзДлиннойСтрокиБД().

- MetaDataWork::ЗначениеИзСтрокиБД(). Может вернуть запись журнала расчета. Для
этого необходимо первым параметром передать строку "ЗаписьЖурналаРасчета",
вторым идентификатор журнала расчета, третьим, идентификатор записи ЖР в
формате char(9). Соединение с SQL сервером должно быть свободно от открытых
локальных курсоров.

- Новый метод MetaDataWork::ЗначениеВСамуюДлиннуюСтрокуБД() позволяет для переданного
значения получить строку которая хранится в базе данных в реквизите типа
Неопределенный.

- Новый метод ODBCRecordset::УстТаймаутЗапроса(<ТаймаутВСекундах>), устанавливает
таймаут на выполнение запроса. Если выполнение не завершается до истечения таймаута
выполнение методов ODBCRecordset::Выполнить() или ODBCRecordset::Открыть()
завершается с ошибкой. Для проверки что запрос вывалился по таймауту, существует
метод ODBCRecordset::ИстекТаймаут(), вызывать его нужно только после
ODBCRecordset::ПолучитьОписаниеОшибки().
Применяя это возможно решить проблему загрузки процессора при ожидании захвата таблиц,
которая так актуальна в терминальных системах.

- Новый объект SQLLock. Позволяет получать новые идентификаторы объектов, коды
справочников, номера документов, которые можно использовать для образования новых
записей в базе данных.

- Добавлена возможность работы со значениями типа time (SQL_TYPE_TIME).
Значение возвращается и устанавливается в виде строки с каноническим представлением
времени (hh:mm:ss).

- Добавлены типизируещие имена:
${Счет|Account}
${Счет|Account}.*
${ВидСубконто|SubcontoKind}
${ПланСчетов|ChartOfAccount}


#########################################################################################
Версия 1.7.2.3
- В группу базовых методов классов: ПолучитьБазовыйКласс()/GetBaseClass() и НазначитьБазовыйКласс()/AssignBaseClass()
  добавлена поддержка английских синонимов объектов 1С, таких как Документы, Справочники, Регситр, Регситры,
  соответственно: Document, Reference, Register, Registers. Учет видов некоторых из этих объектов не изменился.

- Исправлена ошибка в методе ODBCRecordset::ExeSQL_FromTV, не учитывался тип ссылочного параметра для
  обрабатываемой таблицы значений ?1, ?2, ?3. Исправлена документация в части описания данного метода.
  Вместо: "Заголовок должен содержать строку вида ?X в любом месте строки, где Х может принимать
  следующие значения: 0 - короткая строка (9 - символов), 1 - длинная строка (13 - символов),
  2 - супер длинная строка (15 символов)" следует читать: "Заголовок должен содержать строку вида ?X в
  любом месте строки, где Х может принимать следующие значения: 1 - короткая строка (9 - символов),
  2 - длинная строка (13 - символов), 3 - супер длинная строка (15 символов)"

- Добавлена возможность препроцессора: в момент загрузки модулей из внешних отчетов как модуля класса,
  автоматически определяется символ препроцессора: _NOW_PREPARE_CLASS
  (аналогично строке кода //#define _NOW_PREPARE_CLASS)
  и отключался после того, как класс уже готов.
  (аналогично строке кода //#undef _NOW_PREPARE_CLASS)


#########################################################################################
Версия 1.7.2.2
- При передаче переменного числа параметров методу класса, который описан как Число Получить(...);
  при вызове "Получить(0);" поведение внутри функции "получить" :
  Функция Получить()  Экспорт
    список = Сам(Контекст).ПолучитьСписокПараметров("Получить");
//   после чего сразу же
//   список.ПолучитьЗначение(1) возвращает  "" и
//   ТипЗначенияСтр(список.ПолучитьЗначение(1)) возвращает "Строка"
  Исправлено на:
//   список.ПолучитьЗначение(1) возвращает  0 и
//   ТипЗначенияСтр(список.ПолучитьЗначение(1)) возвращает "Число"
  Также и со всеми остальными пустыми ссылочными (спавочники, документы, ...) типами данных, типом
  дата, которые превращались в "пустую строку"

*************************************************************************************
- Изменения ODBCRecordset и иже с ним v. 2.5

- Виртуальные таблицы остатков, остатков и оборотов на распределенной базе
  данных могли выдавать неверные итоги.
  Исправлено: работают правильно.

- Метод MetaDataWork::ПолучитьДобПериод(). Теперь работает для всех возможных
  значений периодичности сохранения итогов.

- Типизация колонок выборки ODBCRecordset. Для типизирующего имени "$ВидРасчета"
  колонка может иметь три различных SQL типа:
    int - в журнале расчетов SQL формата ИБ;
    char(4) - в журнале расчетов DBF формата ИБ;
    char(13) - в остальных таблицах, где вид расчета содержится как реквизит.

- Для параметра со значением типа ВидРасчета, определен модификатор с номером 2
  (~~), который обозначает, что в текст запроса будет подставлен литерал, тип
  которого будет соответствовать типу хранения в журнале расчетов, для текущего
  формата ИБ (SQL:int, DBF:char(4)).

- Внимание! Изменена трансляция метаимени "$ВидДокумента.ХХХХХ". При SQL
  формате ИБ - литерал типа int, при DBF формате - литерал типа char(4) со
  значением идентификатора вида документа в 36-м формате.

- Внимание! Изменена трансляция метаимени "$ВидРасчета.ХХХХХ". При SQL формате
  ИБ - литерал типа int, при DBF формате - литерал типа char(4) со значением
  идентификатора вида документа в 36-м формате.

- Определено метаимя "$ВидДокумента36.ХХХХХ", транслируется в литерал типа
  char(4), со значением идентификатора вида документа в 36-м формате.

- Определено метаимя "$ВидСправочника36.ХХХХХ", транслируется в литерал типа
  char(4), со значением идентификатора вида справочника в 36-м формате.

- Определено метаимя "$ВидПеречисления36.ХХХХХ", транслируется в литерал типа
  char(4), со значением идентификатора вида перечисления в 36-м формате.

- При DBF формате ИБ, в тексте запроса возможно использование коментариев обоих
  типов (--) (/* */) (парсер их просто убирает, перед передачей текста запроса
  на драйвер). Протестировано на драйвере {Microsoft Visual FoxPro Driver}.

- При DBF формате ИБ, возможна типизация колонок результата запроса прямо в
  тексте запроса, по общим правилам. Протестировано на драйвере {Microsoft
  Visual FoxPro Driver}.

- Типизация колонок выборки ODBCRecordset. Для типизирующего имени "$Документ"
  (документ неопределенного вида) колонка может иметь два различных SQL типа:
    char(13) - собственно как и было (kind[4] + objid[9]);
    char(9) - в этом случае значения должны быть идентификаторами документов
    (objid[9]), в наборе данных должна находиться колонка с именем состоящим
    из имени колонки с идентификатором документа и суффикса "_вид" или "_kind"
    (Внимание, чувствительно к регистру!), значения которой должны быть
    идентификаторами вида документа. Для SQL формата тип колонки int, для DBF
    формата тип колонки char(4).
    Пример:
      select top 100
        j.iddocdef as Doc_kind,
        j.iddoc as [Doc $Document]
      from _1sjourn as j


Версия 1.7.2.1
- Исправлена ошибка, возникавшая в методе УстановитьПараметрПоИндексу базового функционала КОП. Метод не
  работал, если производились два и более вызовов данного метода с неявными параметрами и в каждом вызове
  передавались разные фактические параметры.
- В метод ReplaceInstBaseClasses/ЗаменитьЭксзБазовогоКласса добавлена проверка параметров
- Добавлена возможность комментировать текст обработки определения классов(defcls) в виде
  //# - что воспринимается ВК 1С++ как рабочая строка определения и в то же время данная обработка
  проходит стандартный синтаксис - контроль.

Версия 1.7.2.0
- Сделано объеденение с компонентой FormEx 1.9:
  * полностью переписан функционал раскраски таблиц;
  * в функционал управляющей строки раскраски добавлен мактос INDENT[...], позволяющий задавать смещение начала раскраски от текущей колонки;
  * имена макросов управляющей строки раскраски теперь регистронезависимы;
  * полностью переписан функционал присоединения формы;
  * объект РасширениеФормы: добавлен метод ОтсоединитьФорму(...) для отсоединения присоединенной формы;
  * объект РасширениеФормы: добавлена возможность обращения к атрибутам формы как к атрибутам объекта;
  * объект РасширениеФормы: добавлен метод УстановитьАвтоширинуВТаблице(...) для установки/сброса флага автоширины колонок в таблицах;
  * объект СервисРасшФормы: добавлен метод ВысотаСтрокиТаблицы(...) для вычисления высоты строк в объекте Таблица;
  * объект СервисРасшФормы: добавлен метод ПрятатьТаблицу(...) для задания невидимости открытому окну объекта Таблица;
  * объект АтрибутФормы: атрибут Видимость теперь работает и для многострочной части формы;
  * в предопределенные процедуры добавлен флаг стандартной обработки, который позволяет отменить обработку события движком 1С;
  * исправлены некоторые мелкие глюки;

- Исправлена ошибка: после повторного открытия любой формы объекта 1С не вызывались обработчики событий.
- Внимание: для использования событий во внешнем отчете необходимо использовать методы ЗагрузитьМодуль (в предопределенной процедуре формы ПриОткрытии())
  и ВыгрузитьМодуль (в предопределенной процедуре формы ПриЗакрытии()) объекта СервисРасшФормы.

Версия 1.7.1.9
- Исправлена ошибка: неожиданное окончание работы 1С в некоторых случаях, вывода отчета,
  даже если не использовался функционал ВК.

Версия 1.7.1.8
- УложитьСписокОбъектов() мог уложить в таблицу не все идентификаторы удовлетворяющие условию.
  Исправлено: укладывает все.

- ПолучитьРезультатыВ_ТЗ(): если выборка пуста и параметр инициализации=1, то ТЗ не инициализируется.
  Исправлено: в этом случае таблица инициализируется, т.е. колонки создаются.

- Не работает отладка в Выполнить().
  Исправлено: работает.

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

- Виртуальное значение $ПоследнееЗначение - ошибка в подзапросе при указании времени и/или
  идентификатора документа.
  Исправлено: запрос поправлен.

- Подготовить(): если имеет место ''Meta name parser error'', то функция возвращает не 0, а значение
  неопределенного типа.
  Исправлено: возвращает 0.

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

- ВТ оборотов: при периодичности Документ и установленых одном из флажков ''Быстрая обработка движений'' или
  ''Отбор движений'' в запросе неоправданно участвует _1sjourn.
  Исправлено: в этом случае _1sjourn не участвует в запросе.

- УложитьСписокОбъектов: при передаче первым параметром группы справочника происходила ошибка.
  Исправлено: ошибка не происходит, в таблицу укладываются подчиненые элементы.

- Снято ограничение на обработку препроцессором модулей внешних отчетов

- Методы ЗагрузитьМодуль и ВыгрузитьМодуль объекта СервисРасшФормы объявлены устаревшими и в следующих
  версиях могут быть удалены.

Версия 1.7.1.7
- Исправлена ошибка версий 1.7.1.5,1.7.1.6  не вызывалась предопределенная процедура ПриИзмененииРазмераОкна()

Версия 1.7.1.6
- Исправлена ошибка:
  В системе описан класс ПроверкаСпискаПараметров:
  defcls
  CODE
  класс ПроверкаСпискаПараметров = ПроверкаСпискаПараметров.ert
  {
      СписокЗначений Проверка(...);
  }

  ПроверкаСпискаПараметров.ert
  CODE
  Функция Проверка() Экспорт
      Возврат(GetThis(Контекст).ПолучитьСписокПараметров(''Проверка''));
  КонецФункции
  В глобальном модуле создается экземпляр этого класса:
  CODE
  Перем глПроверка экспорт;
  глПроверка = СоздатьОбъект(''ПроверкаСпискаПараметров'');
  В клиентском коде вызываем метод:
  CODE
  сообщить(глПроверка.Проверка(''параметр''));
  На что система сообщает: СписокЗначений.
  Затем, из другого метода опять вызываем этот же метод, но с любой другой сигнатурой,
  например, вообще без параметров:
  CODE
  сообщить(глПроверка.Проверка());
  В результате имеем ошибку:
  ''Недостаточное число параметров передано при вызове функции/процедуры объекта''.
- Увеличена скорость загрузки модулей классов из *.ert файлов.

Версия 1.7.1.5
- Обнаружена ошибка при попытке загрузить модуль класса из внешнего отчета возникала ошибка ''error catch &'' или
  ''V75.zlibEngine Error:null pointer''. Это связано с работой червя Blaster и его разновидностей, который
  разрушал работу механизма RPC Windows и многое другое, в том числе нарушал работу 1С++.
  Для исправления необходимо скачать патч для Win2000 Server, который расположен по адресу:
  http://www.microsoft.com/downloads/details.aspx?FamilyId=C8B8A846-F541-4C15-8C9F-220354449117&displaylang=en
- исправлена ошибка с неоткрытием окна выбора при многоуровневом выборе из списка в виде дерева;
- исправлена работа с картинками на закладках;
- при выборе значения в виде меню над таблицей (или многострочной частью) оно теперь корректно подстраивается к текущей ячейки (при указании соответсвующего флага и активности таблицы);
- добавлено получение/установка координат для многострочной части документа;
- добавлена установка некоторых флагов на странице свойств компоненты;
- объект СервисРасшФормы: добавлен метод ПоказыватьИндикаторКлавиатуры(...) для отображения раскладки клавиатуры и текущего времени в статусной панели;
- объект СервисРасшФормы: добавлен метод УстановитьОбои(...) для установки картинки в качестве фона на главном окне;
- объект РасширениеФормы: добавлен метод Обновить() для перерисовки формы без обновления текстовых реквизитов;
- объект РасширениеФормы: добавлен метод РаскрашиватьТаблицу(...) для включения таблицы в частичную раскраску;
- объект РасширениеФормы: добавлен метод ПрисоединитьФорму(...) для совмещения двух форм в одном окне;
- объект РасширениеФормы: добавлен метод ПоложениеКолонкиТаблицы(..) для изменения положения колонки таблицы значений на форме (''новая колонка'',''на следующей строке'',''в той же колонке'');

Версия 1.7.0.5
- Испр. ошибка, возникавшая в методе MetaDataWork::ProcessMetaSQL при возникновении ошибки обработки
  метапроцессора SQL.

Версия 1.7.0.4
- Испр. ошибка возникавшая при отсутсвии файла описания классов.
- Доб. возможность отладки классов, модули, которых храняться в обработках
  конфигурации. Принцип работы такой же как и у модулей классов хранящихся во
  внешних отчетах.
- Обновлена ВК FormEx

Версия 1.7.0.3
- Добавлены методы в класс MetaDataWork::ProcessMetaSQL, MetaDataWork::SetTextParam
- Испр. ошибка в методе GetBaseClass/ReplaceInstBaseClasses

Версия 1.7.0.2
- Добавлена возможность хранить модули КОП в дереве текущей конфигурации - обработках.
  Имя источника класса в его объявлении должно содержать идентификатор обработки как оно
  указано в конфигурации и заканчиваться ключевым окончанием @MD (Внимание, соблюдайте регистр букв).
  Окончание @MD можно также использовать в директиве include препроцессора.
  Если в каталоге БД не найден файл определения классов defcls.prm, то ВК пробует найти обработку в
  текущей конфигурации с таким же именем (defcls), откуда читает текст модуля и принимает его за определения
  классов.
  Пример: класс ТестРепорт = Тест1@MD {};, где обработка в которой храниться текст КОП называется Тест1.

Версия 1.7.0.1
- Восстановлен код относящийся к функционалу _GetCode/_ПолучитьКод, отсутствующий в версии 1.7.0.0

Версия 1.7.0.0
- Исправлена ошибка в методе MetaDataWork::GetDateTimeIDDOC, неверно формировалась строка позиции
- Встроена компонента TurboBL Александра Орефкова
- Встроент SQL процессор метаимен. См. документацию глава 4. Работа с SQL и
  Приложение А. Спецификация метаимен и параметров в запросах
- Изменены ссылки в разделе № 6 документации.
- Обновлена ВК FormEx

Версия 1.5.0.4
- Исправлена ошибка появлявшаяся при использовании метода GetInTablesValues для разных наборов данных.
  Тут же, испр. ошибка, при выгрузке в таблицу числовых значений тип для колонки таблицы не указывался,
  что приводило к тому, что провека на ноль нулевого значения не срабатавыла.
- Исправлена ошибка в расчете периода метода MetaDataWork::GetAddPeriod.

Версия 1.5.0.3
- Исправлена ошибка - закрытие последнего открытого курсора при создании нового курсора.
- Доб. метод MetaDataWork::GetStringInVL
- Доб. метод MetaDataWork::GetStrFromDate
- Доб. свойство ODBCRecordSet::md
- Работа препроцессора распостраненна на все модули 1С, кроме модуля глобального модуля и
  модулей внешних отчетов.

Версия 1.5.0.2
- Исправлена ошибка замены базового класса имевшего тип ''Регистры''
- Исправлена ошибка возникающая при использовании препроцессорной директивы #elif
- Изменен механизм передачи параметрических параметров, через таблицу значений метода
  ODBCRecordSet::ExeSQL_FromTV. Теперь тип преобразования получается из колонки ''Заголовок''.
- Доб. новый параметр метода ODBCRecordSet::SetPropertyCursor - SQL_ATTR_CONCURRENCY
- Доб. метод MetaInfoClasses::ThisIsSQL_Ver
- Доб. метод MetaDataWork::GetEndOfPeriod
- Доб. метод MetaDataWork::GetEndOfPeriodForReg
- Доб. метод MetaDataWork::GetBegOfPeriod
- Доб. метод MetaDataWork::GetBegOfPeriodForReg
- Доб. метод MetaDataWork::GetDateTimeIDDOC

Версия 1.5.0.1
- Добавлен метод ODBCRecordSet::ExeSQL_FromTV
- Убрана небольшая утечка памяти из класса ODBCRecordSet
- Добавлены метод ServiceFormEx::UnColourBrowse, ServiceFormEx::ActiveContext, ServiceFormEx::LoadModule,
  ServiceFormEx::UnLoadModule, ServiceFormEx::CallAsProcedure, ServiceFormEx::CallAsFunction,
  ServiceFormEx::GetContextVar, ServiceFormEx::SetContextVar, ServiceFormEx::ExecuteInContext
- В поставку включен проект ''Открытый конфигуратор'' c продуктом ''Visual 1C++ 1.0 by Alex Orefkov'',
  добавлен раздел 1.8. ''Проводник для 1С++ (Visual 1C++ 1.0 by Alex Orefkov)'' документации.

Версия 1.5.0.0
- Теперь пути файлов реализации рассчитываются относительно расположения файла объявления,
  где они были определены.
- Добвавлены классы MetaDataWork, ODBCDatabase, ODBCRecordSet для работы с SQL - запросами.
- В поставку включен редактор для 1С++. Спасибо автору сего чуда: Александру Орефкову!

Версия 1.2.0.3
- Благодаря стараниям Александра Орефкова наконец-то доработана модель формирования/обработки исключений.
  Теперь возникающая динамическая ошибка в модуле исполняемого текущего кода класса распостраняется за
  его пределы.
- Добавлен метод в функционал класса _ВыброситьИскл()/_Throw()
- Добавлен методы Throw()/ВыброситьИскл() и GetExeption()/ПолучитьИсключение() в класс ExecuteModule/ВыполняемыйМодуль
- Вернулась назад возможность раскраски таблиц, на этот раз исправленная.
- Не забываем отправить письмо с блиц опросом!

Блиц опрос.
Если тебе интересна данная разработка, то поддержи ее развитие, ответив коротко на следующие вопросы:
1.	Твое имя (Ф.И.О. или Ф.И., или ник, или все вместе):
2.	Я скачиваю ВК 1С++: а) Чтобы была, вдруг пригодится; б) для изучения; в) из-за любопытства; г) использую в реальных проектах (Выбери вариант или напиши, пожалуйста, свой)?
3.	Среднее количество классов, которые ты создал:
4.	Используешь ли ты сторонние классы, других авторов (Д/Н):
5.	Как ты думаешь, стоит ли развивать 1С++ дальше (Д/Н):
6.	В связи со скорым выходом V8 хотел бы ты видеть 1С++ для новой платформы (Д/Н):
7.	Что по твоему не хватает в 1С++?
и отправь ответы на debbuger@yandex.ru
Спасибо за твое участие!

Версия 1.2.0.2
- В связи с нестабильностью работы, метод по раскраске таблиц в различные цвета был
  отключен.

Версия 1.2.0.1
- Исправлена работа отладчика при чтении свойств объекта пользовательского класса во время работы функции
  вычисления выражения отладчика.
- Добавлена возможность просматривать значения динамических свойств в отладчике, для этого
  необходимо определить функции _GetNDynamicProps / _ПолучитьКолвоДСвойств, _GetPropDynamicName / _ПолучитьИмяДСвойства
  семантику которых см. в разделе 1.4.7. ''Динамические атрибуты класса''
- Добавлен метод ClearReposClasses / ОчиститьКлассыРепозитария в класс ''MetaInfoClasses''

Версия 1.2.0.0
- Добавлен 3.8. Класс ''DynaCrypt''
  В звязи с объеденением ВК ''FromEx'' - Alex L. Fedorov aka АльФ добавлены следующие классы:
- Добавлен 3.9. Класс ''ServiceFormEx'' / ''СервисРасшФормы''
- Добавлен 3.10. Класс ''FormEx'' / ''РасширениеФормы''
- Добавлен 3.11. Класс ''AttribEx'' / ''АтрибутФормы''

- Добавлен раздел документации ''Разработчики''


Версия 1.1.1.5
- Увеличена скорость вызова методов объектов 1С, таких как ''СписокЗначений'', ''ТаблицаЗначений'' и т.п. находящихся
  в иерархии 1С++.
  Если пользовательский класс наследует от 1С объекта и не переопределяет его стандартные методы,
  а вызов их происходит, через экземпляр производного класса, разница в скорости вызова колбется от +0.5% до +50%
  по сравнению с обычным вызовом, непосредственно через ссылку на 1С базовый объект. В тоже время чтение/запись,
  свойств объекта через ссылку на пользовательский производный класс поизводиться несколько медленнее от 0.5%
  до 1.2%. Результаты тестов, произведенных с помощью 1С отладчика и следующих настройках 1С++: оптимизация:
  вкл, проверка типов: выкл, отладка:выкл.

  Результаты тестов:
  Чтение/Запись свойств:
	о = СоздатьОбъект(''РасширеннаяТЗ'');	5	0.000884	0.02
	о.AssignBaseClass(''ТаблицаЗначений'');	5	0.000579	0.01
	тз = СоздатьОбъект(''ТаблицаЗначений'');	5	0.000341	0.01
	тз.НоваяКолонка(''Кол1'');		5	0.000144	0.00
	тз.НоваяКолонка(''Кол2'');		5	0.000065	0.00
	тз.НоваяКолонка(''Кол3'');		5	0.000065	0.00
	тз.НоваяКолонка(''Кол4'');		5	0.000061	0.00
	о.NewColumn(''Кол1'');			5	0.000105	0.00
	о.NewColumn(''Кол2'');			5	0.000075	0.00
	о.NewColumn(''Кол3'');			5	0.000079	0.00
	о.NewColumn(''Кол4'');			5	0.000075	0.00
	чСчЦ = 0;				5	0.000015	0.00
	Для чСчЦ = 1 По 10000 Цикл		50005	0.103379	2.57
		тз.НоваяСтрока();		50000	0.769162	19.11
		тз.Кол1 = 1;			50000	0.246189	6.12
		тз.Кол2 = 1;			50000	0.258994	6.43
		тз.Кол3 = 1;			50000	0.270412	6.72
		тз.Кол4 = 1;			50000	0.303333	7.54
		о.НоваяСтрока();		50000	0.651665	16.19
		о.Кол1 = 1;			50000	0.276508	6.87
		о.Кол2 = 1;			50000	0.270418	6.72
		о.Кол3 = 1;			50000	0.311162	7.73
		о.Кол4 = 1;			50000	0.348937	8.67
	КонецЦикла;				50000	0.153986	3.83

	Вызов метода НоваяСтрока(), разница составляет 19.11-16.19 = 2.92%

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

	зн = сз.ПолучитьЗначение(чСчЦ, стрКлюч);50000	0.423769	6.31
	зн = о.ПолучитьЗначение(чСчЦ, стрКлюч);	50000	0.258163	3.84

	сз.ДобавитьЗначение(чСчЦ);		50000	0.304631	4.53
	о.ДобавитьЗначение(чСчЦ);		50000	0.266236	3.96
	сз.СдвинутьЗначение(1,5);		50000	2.431917	36.19
	о.СдвинутьЗначение(1,5);		50000	1.461483	21.75

	где о - объект производного пользовательского класса, унаследовавший методы списка значение
	сз - читый список значений.
	Метод ДобавитьЗначение имеет порядковый номер равный 0
	Метод ПолучитьЗначение имеет порядковый номер равный 3
	Метод СдвинутьЗначение имеет порядковый номер равный 19

	Пример теста получение движений по регистру:
	Пока р1.ПолучитьДвижение() = 1 Цикл	100001	3.139399	62.45
	Пока р2.ПолучитьДвижение() = 1 Цикл	100001	1.159547	23.07

	р1.УстановитьАтрибут(''новый1'', 1);	50000	2.129157	71.80
	р2.УстановитьАтрибут(''новый1'', 1);	50000	0.577699	19.48

	где р1 - это читый объект Регистр.Такойто
	р2 - объект производного пользовательского класса, унаследовавший методы регистра
	Порядковый номер метода ПолучитьДвижение() - 19
	Порядковый номер метода УстановитьАтрибут() - 34

Версия 1.1.1.4
- Исправлена ошибка - метод ПолучитьБазовыйКласс/GetBaseClass не находил базовый класс ''Документ'' по имени
- Добавлена возможность в метод НазначитьБазовыйКласс/AssignBaseClass передавать не только строку, но и готовый
  агрегатный объект

Версия 1.1.1.3
- В данной версии исправлена ошибка появившася в версии 1.1.1.1, а именно: при включенном режиме опимизации,
  и выключенным режиме отладки, происходила утечка памяти, при создании и удаленни экземпляров класса.
- Добавлен раздел в документацию: ''Информационная поддержка проекта''.

Версия 1.1.1.2
- Добавлен новый метод в класс MetaInfoClasses: SetCurSettings/УстановитьТекУстановки

Версия 1.1.1.1
- Исправлена ошибка, появлявшаяся при следующих условиях: 1С++ загружается c  включенным
  режимом оптимизации, потом создается один или несколько экземпляров любых классов,
  далее мы изменяем, режим оптимизации в положение - выключен, при удалении ранее созданных
  классов 1С вылетала с ошибкой доступа к памяти.
- Исправлена ошибка, когда в параметры по умолчанию использовался символ '';'',
  например Строка Разделить(Строка Стр, Строка Разделитель = '';'');, при загрузке 1С++
  выдавала ошибку об не найденной '')''.
- Исправлена ошибка, когда include расположена в конце файла 1С++ сообщала, что расширение
  указано неправильно например: ''имяФайла.р''.
- Исправлена ошибка - экземпляр класса не удаляется из памяти при отсутствии на него активных ссылок,
  когда ему заменили базовый класс, с помощью метода ЗаменитьЭксзБазовогоКласса функционала КОП.
- Устранено ограничение - нельзя отлаживать деструктор класса, он просто не вызывается. Экземпляр
  отлаживаемого класса не удаляется из памяти.
- ВНИМАНИЕ! Изменения в механизме отладки модулей, в данной версии запрещено вызывать Форма.Закрыть(), 1С++
  автоматически сделает это при уничтожении отлаживаемого объекта, после вызова его деструктора.
  Процедура ПриОткрытии()
    Форма.Параметр._ПриОткрытии();
	//Форма.Закрыть(); - ОБЯЗАТЕЛЬНО УДАЛИТЬ ИЛИ ЗАКОМЕНТИРОВАТЬ ДАННУЮ СТРОКУ КОДА
  КонецПроцедуры

Версия 1.1.1.0
- Добавлен класс ''MetaInfoClasses''. Позволяющий получать метаданные ВК 1С++ и формировать als-файл помощника. Подробное описание глава 3.7. документации

Версия 1.1.0.2
- Изменено имя метода базового функционала классов с ПриОткрытии/OnOpen на _ПриОткрытии/_OnOpen

Версия 1.1.0.1
- Исправлена ошибка вызова первого метода с неявными параметрами.

Версия 1.1.0.0

- В делегат, добавлена возможность вызывать методы по строковым ключам. Подробности см. в документации
  глава 3.3 ''Класс ''Delegate'' рус. ''Делегат''
- Исправлена ошибка вызова методов и свойств через контекст в текущем деструкторе.
- Исправлена ошибка при чтении и записи динамических свойств одного экземпляра класса в кострукции
  вида мойКласс.Свойство1 = мойКласс.Свойство2.
- Исправлена ошибка при передаче в метод неявного параметра в виде ''пустого значения'', данный
параметр не записывался в список значений неявных параметров. Теперь этот параметр также пуст, но
имеет тип значения равный двум, т.е. пустая строка.
- Добавлен метод Get/Получить в класс Структура.
- Добавлен метод ExistProp/ЕстьСвойство в класс Структура.
- Добавлен класс DynaValue, глава 3.6. документации.
- Добавлена возможность сериализации/десериализации (сохранения/восстановления состояния) классов.
  Подробности см. в документации глава 1.4.9.
- Добавлена новая директива препроцессора ''#curmeth''
  Подробности см. в документации глава 1.5
- Добавлена поддержка отладчика для модулей классов, подробней см. в документации
  ''1.6. Отладка классов 1C++''

Версия 1.0.0.5

- Изменилось имя файла определений класса с defineclass.prm на defcls.prm

- Добавлен метод функционала класса ''ЗаменитьЭксзБазовогоКласса/ReplaceInstBaseClasses''

- Добавлен метод функционала класса ''УстановитьПараметрПоИндексу/SetOnIndexParams''

- Изменена семантика значений параметров методов задаваемых по умолчанию. Подробности см. в документации
  глава 1.3, абзац ''Значение по умолчанию''

- Добавлены ''Динамические атрибуты класса'', подробности см. в документации 1.4.7 ''Динамические атрибуты класса''

Версия 1.0.0.4

- Исправлена ошибка определения типов параметров при указаном неопределнном типе возвращаемого
  значения (неопределнный/undefine) метода.

- Добавлена препроцессорная директива //#include, описание см. в док.

- Добавлен дополнительный класс Структура/Struct, более потробное описание см. в док.

- В метод функционала класса КОП ПолучитьСписокПараметров/GetParamsList, теперь необходимо
  передавать строковое значение - название метода в котором требуется получить список неявных
  параметров.

- Удалены из функционала класса КОП методы НачПроведенияВложДок/BegPostNestedDoc и
  КонПроведенияВложДок/EndPostNestedDoc

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

- Оптимизирована работа препроцессора и чтение модулей из отчетов 1С.

Версия 1.0.0.3a
- Исправлены ошибки работы с неявными параметрами, например, такие как использование
  результатов возврата функций в качестве неявного параметра в вызове метода класса
  (коп.Метод1(ТекущаяДата(), ТекущийДокумент())), перенос тела вызова метода на несколько
  строк в модуле и прочее.
- Добавлена в препроцессор новая директива //#exinfo, подробности см. в документации

Версия 1.0.0.3
- Исправлена ошибка потери возвращаемого значения полученного из функции текущего
  класса КОП вызванного через контекст;
- Исправлена ошибка получения базового класса по умолчанию в иерархиях классов глубиной
  более 2 уровней;
- Исправлена ошибка получения базового отдаленного от текущего более чем на 1 уровень
  в иерархии классов;
- Исправлена ошибка возникавшая при определенных обстоятельствах в передаче параметров
  по значению;
- Исправлена ошибка возникающая при попытки обращения в конструкторе базового класса
  к контексту и его методам, как основного функционала классов КОП, так и методов
  определенных пользователем в классах иерархии, в момент создания производного класса.
- За более подробной информацией об исправленных ошибках обращайтесь по
  почте компоненты с конкретными вопросами: debbuger@yandex.ru.

Версия 1.0.0.2
- Исправлена ошибка, которая появлялась при считывании модулей КОП из файлов-отчетов (*.ert)
  в ОС Windows 98/95;
- Добавлена возможность вызывать методы текущего производного класса из методов его
  базового класса. Для этого в модуле базового класса необходимо получить контекст и
  через него возможно вызывать методы производных классов. Также получив контекст в
  базовом классе возможно узнать тип созданного производного класса.
  Более подробное описание см. в 1.4.8 документации;
- Исправлена ошибка передачи параметров по значению в методы КОП.

Версия 1.0.0.1
- В методах КОП добавленна возможность передавть любое количество параметров.
  Потробности см. в документации пункт 1.3. раздел «Неопределенное количество параметров».

Изменения в 1С++ по сравнению с версией OXY 1.0.0.8
- Добавлен класс ''Делегат''. Данный класс представляет собой хранилище ссылок на методы
экземпляров агрегатных объектов 1С. (раздел 3.3 описания ВК);
- Добавлены дополнительные методы в класс ''МенеджерСобытий'' (раздел 3.4 описания ВК);
- Добавлен препроцессор (раздел 1.5 описания ВК).
