Класс "MetaInfoClasses" / "MetaInfoClasses".
1. Удобный сервисный класс, показывающий различную метаинформацию по классам, методам, параметрам методов, определенным символам препроцессора, псевдонимам путей, версию 1С++, текущие настройки 1С++, вложенным файлам (директивой #include).
3. Класс также умеет сбрасывает метаданные классов, что позволяет динамически перезагружать классы, не перезагружая Предприятие. Метод ОчиститьДанныеОптимизацииКлассов .
4. А также формировать по специальным комментариям в файлах определения классов ( prm-файлы ) XML - документацию и ALS - документацию по классам. Метод СоздатьALS .
Все специальные комментарии формируются в виде XML текста и определяются наличием трех знаков /// перед их началом.
Например:
///<class name = МойКласс Version = 1.0 LastDate = ///descr = Мой первый класс с XML - комментариями ///depends = use = author = Гусев Д.А. firm = OXY base = ///example = remark = > //А это обычный комментарий, которые не проверяется XML - парсером class МойКласс=МойКласс.ert { }; ///</class>
Синтаксис: СоздатьALS(стрИмяФайлаALS, стрИмяКорня)
- Параметры:
- стрИмяФайлаALS - тип: Строка. Имя файла als.
- стрИмяКорня - тип: Строка. Имя корневой папки в синтаксис помощнике, в которой будут помещаться описания классов.
Описание: формирует по XML - описаниям классов специального формата, описанного выше, als - файл помощника 1С. И формирует XML-файл описаний. Настройки для этого метода осуществляются с помощью следующих методов: TuningALS, SetFilterClasses, SetFilterNamespace, описание которых см. выше.
Для возможности формирования ALS - файла из XML комментариев определены 6 специальных тэгов названия, которых можно изменять:
· Пространство имен (по умолчанию namespace). Этот тэг формирует папку в синтаксис помощнике 1С
· Класс (по умолчанию class)
· Метод (по умолчанию method)
· Параметр метода (по умолчанию param)
· Возвращаемое значение (по умолчанию returns)
· Свойство (по умолчанию property)
· У всех выше описанных тэгов, кроме возвращаемого значения, обязан быть атрибут имя (по умолчанию name)
Пример в примере жирным выделенных все необходимые тэги и атрибуты:
/// <namespace name=Мои супер классы> //**************************************************************************** ///<class name = МойКласс Version = 1.0 LastDate = ///descr = ///depends = use = author = Гусев Д.А. firm = OXY base = ///example = remark = > class МойКласс=МойКласс.ert { //********************************************************************* /// <property name=Атрибут1 access=Public type=Строка> /// Атрибут первый /// </property> //********************************************************************** /// <method name=Метод access=Public> /// <summary></summary> /// <example></example> /// <remark></remark> /// <param name=Число mod=[in] | [out] type=чПарам1 defaultValue = 1>Параметр первый</param> /// <returns type=Число>Что </returns> /// <sig> Число Метод(Число чПарам1 = 1); /// </sig> /// </method> }; ///</class> /// </namespace> В поставку с ВК включен демонстрационный пример формирования als-файла для класса. И предложен шаблоны заполнения для 1C редактора, где есть сокращения: класс\ мет\ пар\ св\ прим\ и их англ. эквиваленты.
Синтаксис: УстФильтрПоКлассам(стрФильтр)
- Параметры:
- стрФильтр - тип: Строка. Имена классов, разделенные запятой, которые необходимо выгружать в als-файл.
Пустая строка - фильтр отключен и выгружаться будут все комментированные классы.
Описание: устанавливает фильтр по выгружаемым классам в als-файл содержащихся в текущей конфигурации.
Синтаксис: УстФильтрПоПростИмен(стрФильтр)
- Параметры:
- стрФильтр - тип: Строка. Имена пространств имен, разделенные запятой, которые необходимо выгружать в als-файл.
Пустая строка - фильтр отключен и выгружаться будут все пространства.
Описание: устанавливает фильтр по пространству имен для выгрузки в als-файл.
Синтаксис: ПолучитьЗагрВложФайлы()
- Возвращаемое значение:
- тип: СписокЗначений. Список значений, значения в котором есть имена файлов.
Описание: возвращает список с именами вложенных файлов - загруженных с помощью препроцессорной директивы #include.
Синтаксис: ПолучитьОпрСимволыПрепроц()
- Возвращаемое значение:
- тип: СписокЗначений. Список значений, значения в котором есть имена символов.
Описание: возвращает список определенных препроцессорной директивой #define символов.
Синтаксис: ПолучитьВсеИменаКлассов()
- Возвращаемое значение:
- тип: СписокЗначений. Список значений, значения в котором есть имена классов, а в символьном представлении полный путь к его реализации.
Описание: возвращает список имен классов и полных путей до них.
Синтаксис: ПолучитьПсевдИ_Пути()
- Возвращаемое значение:
- тип: СписокЗначений. Список значений, значения в котором есть имена псевдонимов, а в символьном представлении их содержимое.
Описание: возвращает список псевдонимов и путей которые они определяют.
Синтаксис: ПолучитьИменаМетодовКласса(стрИмяКласса)
- Параметры:
- стрИмяКласса - тип: Строка. Имя класса, имена методов которого мы желаем получить.
- Возвращаемое значение:
- тип: СписокЗначений. Список значений, значения в котором есть имена методов.
Описание: возвращает список имен методов у класса.
Внимание: Метод работает, только для тех методов, которые были определены в файлах - определений классов (prm-файлы)."
Синтаксис: ПолучитьИнфоПоПар(стрИмяКласса, стрИмяМетода)
- Параметры:
- стрИмяКласса - тип: Строка. Имя класса.
- стрИмяМетода - тип: Строка. Имя метода.
- Возвращаемое значение:
- тип: СписокЗначений. Список значений, значения в котором есть структуры с предопределенными полями.
Описание: возвращает список предопределенных структур параметров метода класса с полями: Имя - имя параметра, Имя - тип параметра, Значение - значение по умолчанию для параметра, Режим - имеет два состояния ПоЗначению и ПоСылке.
Внимание: Метод работает, только для тех методов, которые были определены в файлах - определений классов (prm-файлы)."
Синтаксис: КлассСуществует(стрИмяКласса)
- Параметры:
- стрИмяКласса - тип: Строка. Имя класса.
- Возвращаемое значение:
- тип: Число. 1 - существует, 0 - не существует.
Описание: Определяет, существует ли в системе зарегистрированный класс с таким именем.
Метод является полным аналогом соответствующего метода встроенного класса "Информатор".
Синтаксис: МетодСуществует(стрИмяКласса, стрИмяМетода)
- Параметры:
- стрИмяКласса - тип: Строка. Имя класса.
- стрИмяМетода - тип: Строка. Имя метода.
- Возвращаемое значение:
- тип: Число. 1 - существует, 0 - не существует.
Описание: Определяет, существует ли в системе зарегистрированный класс с таким именем и методом.
Внимание: Метод работает, только для тех методов, которые были определены в файлах - определений классов (prm-файлы).
Метод является полным аналогом соответствующего метода встроенного класса "Информатор".
Синтаксис: ПолучитьВерсию()
- Возвращаемое значение:
- тип: Число. Номер версии, число без точек. Пример: если версия ВК 1.1.1.0, то метод вернет 1110.
Описание: возвращает номер текущей версии ВК 1С++.
Синтаксис: ЭтоSQL_Версия()
- Возвращаемое значение:
- тип: Число.
Описание: Возвращает 1, если текущая версия 1С работает с SQL сервером Майкрософт, 0 - иначе.
Синтаксис: ПолучитьТекУстановки(бВклОптимизация, бВклПроверкаТипов, бВклРежимОтладки)
- Параметры:
- бВклОптимизация - тип: Число. Выходной параметр: 1 - включена, 0 - выключена.
- <бВклПроверкаТипов - тип: Число. Выходной параметр: 1 - включена, 0 - выключена.
- <бВклРежимОтладки - тип: Число. Выходной параметр: 1 - включен, 0 - выключен.
Описание: Метод возвращает установки ВК, которые настраиваются в параметрах на закладке Настройки 1С++, почитать о которых можно в classes.chm.
Синтаксис: УстановитьТекУстановки(бВклОптимизация, бВклПроверкаТипов, бВклРежимОтладки)
- Параметры:
- бВклОптимизация - тип: Число. входной параметр: 1 - включена, 0 - выключена, любое другое число не изменяет текущее значение.
- <бВклПроверкаТипов - тип: Число. Входной параметр: 1 - включена, 0 - выключена, любое другое число не изменяет текущее значение.
- <бВклРежимОтладки - тип: Число. Входной параметр: 1 - включен, 0 - выключен, любое другое число не изменяет текущее значение.
Описание: Метод изменяет установки ВК, которые настраиваются в параметрах на закладке Настройки 1С++, почитать о которых можно в classes.chm.
Синтаксис: ЗагрузитьОписаниеКлассов(ИмяФайлаОписанияКлассов)
- Параметры:
- ИмяФайлаОписанияКлассов - тип: Строка. Имя файла описания класса или классов.
- Возвращаемое значение:
- тип: Число. 1 - существует, 0 - не существует.
Описание: Загружает описания классов и сами классы из соответствующих файлов.
Синтаксис описания и реализации классов - это обычный синтаксис 1С++
Синтаксис: ПолучитьИменаБазовыхКлассов(ИмяКласса)
- Параметры:
- ИмяКласса - тип: Строка. Имя класса.
- Возвращаемое значение:
- тип: СписокЗначений. Список значений, значения в котором есть наименования базовых классов.
Описание: Получает список базовых классов для указанного класса.
Синтаксис: ЯвляетсяОбъектом(НазваниеПроверяемогоТипа, НазваниеТипаНаКоторыйПроверяем)
- Параметры:
- НазваниеПроверяемогоТипа - тип: Строка. Имя типа, который проверяем.
- НазваниеТипаНаКоторыйПроверяем - тип: Строка. Имя типа, на который проверяем.
- Возвращаемое значение:
- тип: Число. 1 - является, 0 - нет.
Описание: Возвращает 1, если проверяемый тип совпадает со вторым типом или проверяемый тип является наследников от второго типа.
Возвращает 0 в обратном случае.
Синтаксис: ПолучитьВерсиюФайла([ПутьФайла = ""], [ИмяПоляСтруктурыВерсии = ""])
- Параметры:
- ПутьФайла - тип: Строка.Путь к файлу. Если путь не задан, значит, подразумевается путь к ВК 1С++, т.е. к исходному файлу 1cp.dllp.
- ИмяПоляСтруктурыВерсии - тип: Строка. Имя поля. Например, PrivateBuild, SpecialBuild, FileVersion
- Возвращаемое значение:
- тип: Строка. Значение указанного поля структуры версии для указанного файла.
Описание: Получает данные о любом поле структуры версии файла.
Синтаксис: ОчиститьДанныеОптимизацииКлассов()
Описание: Позволяет сбросить метаданные у пользовательских классов.
После исполнения данного метода классы при создании будут заново перекомпилированы, независимо от включения/выключения режима Оптимизация.
Внимание: Метод удобно использовать для динамического обновления классов без перезагрузки пользователей из 1С.
Фактически данный метод позволяет всегда включать режим Оптимизации для большего ускорения и динамически перезагружать классы в режиме Предприятии в случае их обновления.