MetaInfoClasses

Содержание

Класс "MetaInfoClasses" / "MetaInfoClasses".

1. Удобный сервисный класс, показывающий различную метаинформацию по классам, методам, параметрам методов, определенным символам препроцессора, псевдонимам путей, версию 1С++, текущие настройки 1С++, вложенным файлам (директивой #include).

  1. Класс также умеет динамически подгружать класы - метод ЗагрузитьОписаниеКлассов .

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 / CreateALS

Синтаксис: Создать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 редактора, где есть сокращения:
класс\ мет\ пар\ св\ прим\ и их англ. эквиваленты.

УстФильтрПоКлассам / SetFilterClasses

Синтаксис: УстФильтрПоКлассам(стрФильтр)

Параметры:
  • стрФильтр - тип: Строка. Имена классов, разделенные запятой, которые необходимо выгружать в als-файл.

Пустая строка - фильтр отключен и выгружаться будут все комментированные классы.

Описание: устанавливает фильтр по выгружаемым классам в als-файл содержащихся в текущей конфигурации.

УстФильтрПоПростИмен / SetFilterNamespace

Синтаксис: УстФильтрПоПростИмен(стрФильтр)

Параметры:
  • стрФильтр - тип: Строка. Имена пространств имен, разделенные запятой, которые необходимо выгружать в als-файл.

Пустая строка - фильтр отключен и выгружаться будут все пространства.

Описание: устанавливает фильтр по пространству имен для выгрузки в als-файл.

ПолучитьЗагрВложФайлы / GetLoadIncludeFiles

Синтаксис: ПолучитьЗагрВложФайлы()

Возвращаемое значение:
тип: СписокЗначений. Список значений, значения в котором есть имена файлов.

Описание: возвращает список с именами вложенных файлов - загруженных с помощью препроцессорной директивы #include.

ПолучитьОпрСимволыПрепроц / GetDefSymbolOfPreproc

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

Возвращаемое значение:
тип: СписокЗначений. Список значений, значения в котором есть имена символов.

Описание: возвращает список определенных препроцессорной директивой #define символов.

ПолучитьВсеИменаКлассов / GetAllClassesNames

Синтаксис: ПолучитьВсеИменаКлассов()

Возвращаемое значение:
тип: СписокЗначений. Список значений, значения в котором есть имена классов, а в символьном представлении полный путь к его реализации.

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

ПолучитьПсевдИ_Пути / GetAllAliasAndPath

Синтаксис: ПолучитьПсевдИ_Пути()

Возвращаемое значение:
тип: СписокЗначений. Список значений, значения в котором есть имена псевдонимов, а в символьном представлении их содержимое.

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

ПолучитьИменаМетодовКласса / GetNamesMethOfClass

Синтаксис: ПолучитьИменаМетодовКласса(стрИмяКласса)

Параметры:
  • стрИмяКласса - тип: Строка. Имя класса, имена методов которого мы желаем получить.
Возвращаемое значение:
тип: СписокЗначений. Список значений, значения в котором есть имена методов.

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

Внимание: Метод работает, только для тех методов, которые были определены в файлах - определений классов (prm-файлы)."

ПолучитьИнфоПоПар / GetInfoParamMeth

Синтаксис: ПолучитьИнфоПоПар(стрИмяКласса, стрИмяМетода)

Параметры:
  • стрИмяКласса - тип: Строка. Имя класса.
  • стрИмяМетода - тип: Строка. Имя метода.
Возвращаемое значение:
тип: СписокЗначений. Список значений, значения в котором есть структуры с предопределенными полями.

Описание: возвращает список предопределенных структур параметров метода класса с полями: Имя - имя параметра, Имя - тип параметра, Значение - значение по умолчанию для параметра, Режим - имеет два состояния ПоЗначению и ПоСылке.

Внимание: Метод работает, только для тех методов, которые были определены в файлах - определений классов (prm-файлы)."

КлассСуществует / IsClassExist

Синтаксис: КлассСуществует(стрИмяКласса)

Параметры:
  • стрИмяКласса - тип: Строка. Имя класса.
Возвращаемое значение:
тип: Число. 1 - существует, 0 - не существует.

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

Метод является полным аналогом соответствующего метода встроенного класса "Информатор".

МетодСуществует / IsMethExist

Синтаксис: МетодСуществует(стрИмяКласса, стрИмяМетода)

Параметры:
  • стрИмяКласса - тип: Строка. Имя класса.
  • стрИмяМетода - тип: Строка. Имя метода.
Возвращаемое значение:
тип: Число. 1 - существует, 0 - не существует.

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

Внимание: Метод работает, только для тех методов, которые были определены в файлах - определений классов (prm-файлы).

Метод является полным аналогом соответствующего метода встроенного класса "Информатор".

ПолучитьВерсию / GetVersion

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

Возвращаемое значение:
тип: Число. Номер версии, число без точек. Пример: если версия ВК 1.1.1.0, то метод вернет 1110.

Описание: возвращает номер текущей версии ВК 1С++.

ЭтоSQL_Версия / ThisIsSQL_Ver

Синтаксис: ЭтоSQL_Версия()

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

Описание: Возвращает 1, если текущая версия 1С работает с SQL сервером Майкрософт, 0 - иначе.

ПолучитьТекУстановки / GetCurSettings

Синтаксис: ПолучитьТекУстановки(бВклОптимизация, бВклПроверкаТипов, бВклРежимОтладки)

Параметры:
  • бВклОптимизация - тип: Число. Выходной параметр: 1 - включена, 0 - выключена.
  • <бВклПроверкаТипов - тип: Число. Выходной параметр: 1 - включена, 0 - выключена.
  • <бВклРежимОтладки - тип: Число. Выходной параметр: 1 - включен, 0 - выключен.

Описание: Метод возвращает установки ВК, которые настраиваются в параметрах на закладке Настройки 1С++, почитать о которых можно в classes.chm.

УстановитьТекУстановки / SetCurSettings

Синтаксис: УстановитьТекУстановки(бВклОптимизация, бВклПроверкаТипов, бВклРежимОтладки)

Параметры:
  • бВклОптимизация - тип: Число. входной параметр: 1 - включена, 0 - выключена, любое другое число не изменяет текущее значение.
  • <бВклПроверкаТипов - тип: Число. Входной параметр: 1 - включена, 0 - выключена, любое другое число не изменяет текущее значение.
  • <бВклРежимОтладки - тип: Число. Входной параметр: 1 - включен, 0 - выключен, любое другое число не изменяет текущее значение.

Описание: Метод изменяет установки ВК, которые настраиваются в параметрах на закладке Настройки 1С++, почитать о которых можно в classes.chm.

ЗагрузитьОписаниеКлассов / ReadDefinesOfClasses

Синтаксис: ЗагрузитьОписаниеКлассов(ИмяФайлаОписанияКлассов)

Параметры:
  • ИмяФайлаОписанияКлассов - тип: Строка. Имя файла описания класса или классов.
Возвращаемое значение:
тип: Число. 1 - существует, 0 - не существует.

Описание: Загружает описания классов и сами классы из соответствующих файлов.

Синтаксис описания и реализации классов - это обычный синтаксис 1С++

ПолучитьИменаБазовыхКлассов / GetBaseClasses

Синтаксис: ПолучитьИменаБазовыхКлассов(ИмяКласса)

Параметры:
  • ИмяКласса - тип: Строка. Имя класса.
Возвращаемое значение:
тип: СписокЗначений. Список значений, значения в котором есть наименования базовых классов.

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

ЯвляетсяОбъектом / TheClassIs

Синтаксис: ЯвляетсяОбъектом(НазваниеПроверяемогоТипа, НазваниеТипаНаКоторыйПроверяем)

Параметры:
  • НазваниеПроверяемогоТипа - тип: Строка. Имя типа, который проверяем.
  • НазваниеТипаНаКоторыйПроверяем - тип: Строка. Имя типа, на который проверяем.
Возвращаемое значение:
тип: Число. 1 - является, 0 - нет.

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

Возвращает 0 в обратном случае.

ПолучитьВерсиюФайла / GetFileVersion

Синтаксис: ПолучитьВерсиюФайла([ПутьФайла = ""], [ИмяПоляСтруктурыВерсии = ""])

Параметры:
  • ПутьФайла - тип: Строка.Путь к файлу. Если путь не задан, значит, подразумевается путь к ВК 1С++, т.е. к исходному файлу 1cp.dllp.
  • ИмяПоляСтруктурыВерсии - тип: Строка. Имя поля. Например, PrivateBuild, SpecialBuild, FileVersion
Возвращаемое значение:
тип: Строка. Значение указанного поля структуры версии для указанного файла.

Описание: Получает данные о любом поле структуры версии файла.

ОчиститьДанныеОптимизацииКлассов / ClearClassOptimizationData

Синтаксис: ОчиститьДанныеОптимизацииКлассов()

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

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

Внимание: Метод удобно использовать для динамического обновления классов без перезагрузки пользователей из 1С.

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