Поделиться через


Функции времени компиляции X++

Замечание

Группы интересов сообщества теперь переехали из Yammer в Microsoft Viva Engage. Чтобы присоединиться к сообществу Viva Engage и принять участие в последних обсуждениях, заполните форму " Запрос доступа к финансам и операциям Viva Engage Community " и выберите сообщество, к которому вы хотите присоединиться.

В этой статье перечислены функции во время компиляции и описываются их синтаксис, параметры и возвращаемые значения.

Обзор

Функции времени компиляции выполняются рано во время компиляции кода X++. Они должны использоваться везде, где это возможно в коде X++, чтобы обеспечить устойчивость кода к изменениям метаданных, хранящихся в обозревателе приложений. Функции во время компиляции имеют входное значение, проверенное компилятором. Если входное значение не найдено для сопоставления существующего объекта в обозревателе приложений, компилятор выдает ошибку. Входные данные этих функций должны быть литералами, так как компилятор не может определить значение, содержащее переменную во время выполнения. Функция времени компиляции — это функция утверждения метаданных. Он принимает аргументы, представляющие сущность в обозревателе приложений, и проверяет аргументы во время компиляции. Он не влияет во время выполнения. Атрибуты — это классы, наследуемые от класса SysAttribute . Чтобы обеспечить поддержку проверки формы, отчета, запроса и метаданных меню, используйте свойство AutoDeclaration для элементов управления. Большинство этих функций извлекают метаданные о элементах, которые находятся в обозревателе приложений. Ниже приведены некоторые распространенные функции времени компиляции.

  • classNum — получает идентификатор класса.
  • classStr — во время компиляции проверяет, существует ли класс этого имени. Этот подход лучше, чем обнаружение ошибки позже во время выполнения.
  • evalBuf— вычисляет входную строку кода X++ и возвращает результаты в виде строки.
  • literalStr — получает идентификатор метки при указании строкового представления метки, например строки "@SYS12345". Например: myLabel.exists(literalStr("@SYS12345"));.

Замечание

Функции времени компиляции X++ нельзя вызывать из программы .NET.

Functions

attributeStr

Проверяет, существует ли указанный класс атрибутов в обозревателе приложений; В противном случае возникает ошибка компилятора.

Синтаксис

str classStr(class class)

Параметры

Параметр Description
класс Имя проверяемого атрибута.

Возвращаемое значение

Имя атрибута.

Замечания

Это функция времени компиляции. Дополнительные сведения см. в этом обзоре.

Example

static void attributeStrExample(Args _args)
{
    str s;
    ;
    s = attributeStr(AifDocumentOperationAttribute);
    print s;
    pause;
}

classNum

Извлекает идентификатор указанного класса.

Синтаксис

int classNum(class class)

Параметры

Параметр Description
класс Класс, для которого требуется получить идентификатор.

Возвращаемое значение

Идентификатор указанного класса.

Замечания

Это функция времени компиляции. Дополнительные сведения см. в этом обзоре.

Example

static void classNumExample(Args _args)
{
    int i;
    ;
    i = classNum(Global);
    print i;
    pause;
}

classStr

Извлекает имя класса в виде строки.

Синтаксис

str classStr(class class)

Параметры

Параметр Description
класс Имя возвращаемого класса.

Возвращаемое значение

Имя класса.

Замечания

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

Example

static void clStrExample(Args _args)
{
    str s;
    ;
    s = classStr(Global);
    print s;
    pause;
}

configurationKeyNum

Извлекает идентификатор указанного ключа конфигурации.

Синтаксис

int configurationKeyNum(str keyname)

Параметры

Параметр Description
имя ключа Ключ конфигурации, для которого возвращается идентификатор.

Возвращаемое значение

Идентификатор указанного ключа конфигурации.

Замечания

Это функция времени компиляции. Дополнительные сведения см. в этом обзоре.

Example

static void configurationKeyNum(Args _args)
{
    int i;
    ;
    i = configurationKeyNum(AIF);
    print i;
    pause;
}

configurationKeyStr

Извлекает имя ключа конфигурации в виде строки.

Синтаксис

str configurationKeyStr(str keyname)

Параметры

Параметр Description
имя ключа Имя ключа конфигурации.

Возвращаемое значение

Имя ключа конфигурации.

Замечания

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

Example

static void configurationKeyStrExample(Args _args)
{
    str s;
    ;
    s = configurationKeyStr(AIF);
    print s;
    pause;
}

dataEntityDataSourceStr

Извлекает имя источника данных сущности данных.

Синтаксис

str dataEntityDataSourceStr(str dataEntity, str dataSource)

Параметры

Параметр Description
dataEntity Имя сущности данных.
dataSource Имя источника данных.

Возвращаемое значение

Имя источника данных.

Замечания

Это функция времени компиляции. Дополнительные сведения см. в этом обзоре.

Example

Нет примера.

delegateStr

Возвращает имя делегата.

Синтаксис

str delegateStr(str class, str instanceDelegate)

Параметры

Параметр Description
класс Имя класса, таблицы или формы.
instanceDelegate Имя делегата экземпляра.

Возвращаемое значение

Имя делегата.

Замечания

Это функция времени компиляции. Дополнительные сведения см. в этом обзоре.

Example

Нет примера.

dimensionHierarchyLevelStr

Возвращает имя уровня иерархии измерений.

Синтаксис

str dimensionHierarchyLevelStr(str dimensionHierarchyLevel)

Параметры

Параметр Description
dimensionHierarchyLevel Имя уровня иерархии измерений.

Возвращаемое значение

Имя уровня иерархии измерений.

Замечания

Это функция времени компиляции. Дополнительные сведения см. в этом обзоре.

Example

Нет примера.

dimensionHierarchyStr

Возвращает имя иерархии измерений.

Синтаксис

str dimensionHierarchyStr(str dimensionHierarchy)

Параметры

Параметр Description
dimensionHierarchy Имя иерархии измерений.

Возвращаемое значение

Имя иерархии измерений.

Замечания

Это функция времени компиляции. Дополнительные сведения см. в этом обзоре.

Example

Нет примера.

dimensionReferenceStr

Возвращает имя ссылки на измерение.

Синтаксис

str dimensionReferenceStr(str dimensionReference)

Параметры

Параметр Description
dimensionReference Имя ссылки на измерение.

Возвращаемое значение

Имя ссылки на измерение.

Замечания

Это функция времени компиляции. Дополнительные сведения см. в этом обзоре.

Example

Нет примера.

dutyStr

Извлекает строку, представляющую имя указанной обязанности безопасности.

Синтаксис

str dutyStr(str securityDuty)

Параметры

Параметр Description
securityDuty Имя обязанности безопасности.

Возвращаемое значение

Имя обязанности безопасности в строке.

Замечания

Это функция времени компиляции. Дополнительные сведения см. в этом обзоре.

Example

Нет примера.

перечисление

Извлекает количество элементов в указанном типе перечисления.

Синтаксис

int enumCnt(enum enumtype)

Параметры

Параметр Description
enumtype Тип перечисления.

Возвращаемое значение

Количество элементов в указанном типе перечисления.

Замечания

Это функция времени компиляции. Дополнительные сведения см. в этом обзоре.

Example

enumCnt(NoYes); //Returns 2, as the two elements are Yes and No.

enumLiteralStr

Указывает, является ли указанная строка элементом указанного типа перечисления.

Синтаксис

\enumLiteralStr(enum enum, string str)

Параметры

Параметр Description
перечисление Тип перечисления, из которого требуется получить указанное значение.

Возвращаемое значение

Значение параметра str , если указанная строка найдена; в противном случае ошибка компиляции.

Замечания

Это функция времени компиляции. Дополнительные сведения см. в этом обзоре.

Example

static void getEnumValueAsString()
{
    str i;
    i = enumLiteralStr(ABCEnum, "valueInABCEnum");
    print i;
    pause;
}

перечисление

Извлекает идентификатор указанного типа перечисления.

Синтаксис

int enumNum(enum enum)

Параметры

Параметр Description
перечисление Перечисление, для которого возвращается идентификатор.

Возвращаемое значение

Идентификатор указанного типа перечисления.

Замечания

Это функция времени компиляции. Дополнительные сведения см. в этом обзоре.

Example

static void enumNum(Args _args)
{
    int i;
    ;
    i = enumNum(ABC);
    print i;
    pause;
}

перечисление

Извлекает имя перечисления в виде строки.

Синтаксис

str enumStr(enum enum)

Параметры

Параметр Description
перечисление Имя перечисления.

Возвращаемое значение

Имя перечисления.

Замечания

Это функция времени компиляции. Дополнительные сведения см. в этом обзоре.

Example

static void enumStrExample(Args _args)
{
    str s;
    ;
    s = enumStr(ABC);
    print s;
    pause;
}

extendedTypeNum

Извлекает идентификатор указанного расширенного типа данных.

Синтаксис

int extendedTypeNum(int str)

Параметры

Параметр Description
str Расширенный тип данных, для которого возвращается идентификатор.

Возвращаемое значение

Идентификатор указанного расширенного типа данных.

Замечания

Это функция времени компиляции. Дополнительные сведения см. в этом обзоре.

Example

static void EDTNum(Args _args)
{
    int i;
    str s;
    ;

    i = extendedTypeNum(AccountName);
    s = extendedTypeStr(AccountName);
    print  int2Str(i);
    print  s;
    pause;
}

extendedTypeStr

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

Синтаксис

str extendedTypeStr(int str)

Параметры

Параметр Description
str Имя расширенного типа данных.

Возвращаемое значение

Имя расширенного типа данных.

Замечания

Используйте эту функцию вместо литерального текста, чтобы вернуть строку, содержащую имя расширенного типа данных. Если тип данных не существует, функция extendedTypeStr создает синтаксическую ошибку во время компиляции. Это функция времени компиляции. Дополнительные сведения см. в этом обзоре.

Example

static void EDTStr(Args _args)
{
    int i;
    str s;
    ;

    i = extendedTypeNum(AccountName);
    s = extendedTypeStr(AccountName);
    print  int2Str(i);
    print  s;
    pause;
}

fieldNum

Возвращает идентификатор указанного поля.

Синтаксис

int fieldNum(str tableName, str fieldName)

Параметры

Параметр Description
tableName Название таблицы.
fieldName Имя поля.

Возвращаемое значение

Идентификатор указанного поля.

Замечания

Это функция времени компиляции. Дополнительные сведения см. в этом обзоре.

Example

В следующем примере выводится число поля CashDisc в таблице CustTable .

static void fieldNumExample(Args _args)
{
    int myInt;
    ;

    myInt = fieldNum(CustTable, CashDisc);
    Global::info(strfmt("CashDisc has a field ID of %1 in the CustTable table.", myInt));
}
/****Infolog Display
Message (10:40:00 am)
CashDisc has a field ID of 10 in the CustTable table.
****/

fieldPName

Извлекает метку указанного поля.

Синтаксис

str fieldPName(str tableid, str fieldid)

Параметры

Параметр Description
tableid Таблица, содержащая указанное поле.
fieldid Поле для преобразования.

Возвращаемое значение

Метка поля.

Замечания

Это функция времени компиляции. Дополнительные сведения см. в этом обзоре.

Example

В следующем примере выводится метка поля CashDisc .

static void fieldPNameExample(Args _arg)
{
    str myText;
    ;

    myText = fieldPName(CustTable, CashDisc);
    Global::info(strfmt("%1 is the label of the CashDisc field.", myText));
}
/****Infolog Display
Message (02:00:57 pm)
Cash discount is the label of the CashDisc field.
****/

fieldStr

Извлекает имя поля указанного поля.

Синтаксис

str fieldStr(str tableid, str fieldid)

Параметры

Параметр Description
tableid Таблица, содержащая поле.
fieldid Поле для преобразования.

Возвращаемое значение

Имя поля указанного поля.

Замечания

Это функция времени компиляции. Дополнительные сведения см. в этом обзоре.

Example

В следующем примере имя поля CashDisc присваивается переменной myText .

static void fieldStrExample(Args _arg)
{
    str myText;
    ;

    myText = fieldStr(CustTable, CashDisc);
    Global::info(strfmt("%1 is the specified field.", myText));
}
/****Infolog Display
Message (09:11:52 am)
CashDisc is the specified field.
****/

formControlStr

Вызывает компилятор X++ для проверки наличия элемента управления в форме и замены вызова функции строкой допустимого имени элемента управления.

Синтаксис

str formControlStr(formName, controlName)

Параметры

Параметр Description
имя формы Имя формы, а не в кавычках.
controlName Имя элемента управления, который находится в форме, а не в кавычках.

Возвращаемое значение

Строка, содержащая имя элемента управления, как оно отображается в обозревателе приложений.

Замечания

Ошибка компиляции возникает, если компилятор определяет, что элемент управления не существует в форме. Если в коде X++ используется строка, содержащая кавычки для указания имени элемента управления, ошибка не может быть обнаружена до времени выполнения. Использование этой функции позволяет компилятору обнаруживать ошибку ранее во время компиляции. Функции X++, такие как formControlStr , выполняемые компилятором, называются функциями времени компиляции или функциями времени компиляции. Именно поэтому входные параметры не являются стандартными строками в кавычках. Функции во время компиляции не представлены в P-code или другом исполняемом файле, который выводится компилятором. Это функция времени компиляции. Дополнительные сведения см. в этом обзоре.

Example

Нет примера.

formDataFieldStr

Возвращает имя поля данных в форме.

Синтаксис

str formDataFieldStr(str formName, str dataSource, str dataField)

Параметры

Параметр Description
имя формы Имя формы.
dataSource Источник данных формы.
dataField Поле данных источника данных.

Возвращаемое значение

Имя поля данных в форме.

Замечания

Это функция времени компиляции. Дополнительные сведения см. в этом обзоре.

Example

str a = formDataFieldStr(FMVehicle, FMModelRate, RatePerDay);

formDataSourceStr

Возвращает имя источника данных в форме.

Синтаксис

str formDataSourceStr(str formName, str dataSource)

Параметры

Параметр Description
имя формы Имя формы.
dataSource Источник данных формы.

Возвращаемое значение

Имя источника данных в форме.

Замечания

Это функция времени компиляции. Дополнительные сведения см. в этом обзоре.

Example

str b = formDataSourceStr(FMVehicle, FMModelRate);

formMethodStr

Возвращает имя метода формы.

Синтаксис

str formMethodStr(str formName, str methodName)

Параметры

Параметр Description
имя формы Имя формы.
methodName Метод формы.

Возвращаемое значение

Имя метода в форме.

Замечания

Это функция времени компиляции. Дополнительные сведения см. в этом обзоре.

Example

В следующем примере выводится имя метода showDialog .

str c = formMethodStr(Batch,showDialog);

formStr

Извлекает имя формы.

Синтаксис

str formStr(str form)

Параметры

Параметр Description
форма Имя формы.

Возвращаемое значение

Строка, представляющая имя формы.

Замечания

Это функция времени компиляции. Дополнительные сведения см. в этом обзоре.

Example

В следующем примере выводится имя формы InventDim.

static void formStrExample(Args _arg)
{
    ;

    Global::info(formStr(InventDim));
}
/****Infolog Display
Message (11:04:39 am)
InventDim
****/

identifierStr

Преобразует указанный идентификатор в строку.

Синтаксис

str identifierStr(str ident)

Параметры

Параметр Description
ident Идентификатор для преобразования.

Возвращаемое значение

Строка, представляющая указанный идентификатор.

Замечания

Если вы используете функцию identifierStr , вы получите предупреждение о рекомендациях. Это происходит, так как проверка существования выполняется для идентификатораStr. Попробуйте использовать более конкретную функцию времени компиляции, если она доступна. Это функция времени компиляции. Дополнительные сведения см. в статье "Обзор".

Example

В следующем примере кода для переменной myvar присваивается имя переменной myvar .

static void indentifierStrExample(Args _args)
{
    str myvar;
    str thevar
    ;

    thevar = "[" + identifierStr(myvar) + "]";
    Global::info(strfmt(thevar));
}
/****Infolog Display
Message (09:19:49 am)
[myvar]
****/

indexNum

Преобразует указанный индекс в число.

Синтаксис

int indexNum(str tableid, str indexid)

Параметры

Параметр Description
tableid Таблица, содержащая индекс.
indexid Индекс для преобразования.

Возвращаемое значение

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

Замечания

Это функция времени компиляции. Дополнительные сведения см. в этом обзоре.

Example

В следующем примере возвращается значение индекса Party.

static void indexNumExample(Args _arg)
{
    ;

    Global::info(strfmt("%1 is the index number of Party.", indexNum(CustTable, Party)));
}
/****Infolog Display
Message (11:28:03 am)
3 is the index number of Party.
****/

indexStr

Преобразует указанный индекс в строку.

Синтаксис

str indexStr(str tableid, str indexid)

Параметры

Параметр Description
tableid Таблица, содержащая индекс.
indexid Индекс для преобразования.

Возвращаемое значение

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

Замечания

Это функция времени компиляции. Дополнительные сведения см. в этом обзоре.

Example

В следующем примере значение индекса CashDisc назначается переменной myText .

static void fieldStrExample(Args _arg)
{
    str myText;
    ;

    myText = fieldStr(CustTable, CashDisc);
    Global::info(strfmt("%1 is the specified index.", myText));
}
/****Infolog Display
Message (09:11:52 am)
CashDisc is the specified index.
****/

licenseCodeNum

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

Синтаксис

int licenseCodeNum(str codename)

Параметры

Параметр Description
имя кода Имя кода лицензии для проверки.

Возвращаемое значение

Число указанного кода лицензии.

Замечания

Это функция времени компиляции. Дополнительные сведения см. в этом обзоре.

Example

static void licenseCodeNumExample(Args args)
{
    int i;
    ;

    i = licenseCodeNum(SysMorphX);
    Global::info(strfmt("%1 is the license code number for SysMorphX.", i));
}
/****Infolog Display
Message (01:52:35 pm)
24 is the license code number for SysMorphX.
****/

licenseCodeStr

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

Синтаксис

str licenseCodeStr(str codename)

Параметры

Параметр Description
имя кода Имя кода лицензии для проверки.

Возвращаемое значение

Имя указанного кода лицензии.

Замечания

Это функция времени компиляции. Дополнительные сведения см. в этом обзоре.

Example

static void licenseCodeStrExample(Args _arg)
{
    str s;
    ;

    s = licenseCodeStr(SysMorphX);
    Global::info(strfmt("%1 is the license code string for SysMorphX.", s));
}
/****Infolog Display
Message (02:33:56 pm)
SysMorphX is the license code string for SysMorphX.
****/

литералStr

Проверяет, может литеральная строка быть указанной строкой; В противном случае возникает ошибка компилятора.

Синтаксис

str literalStr(int str)

Параметры

Параметр Description
имя кода Строка для проверки.

Возвращаемое значение

Литеральная строка, если допустима.

Замечания

Это функция времени компиляции. Дополнительные сведения см. в этом обзоре.

Example

{
    str s;
    ;

    s = literalStr("This is a literal str");
    print s;
    pause;
}

maxDate

Извлекает максимально допустимое значение для переменной даты типа.

Синтаксис

date maxDate()

Возвращаемое значение

Максимально допустимое значение для переменной типа даты, которая составляет 2154-12-31.

Замечания

Это функция времени компиляции. Дополнительные сведения см. в этом обзоре.

Example

static void maxDateExample(Args _arg)
{
    date maximumDate;
    ;
    maximumDate = maxDate();
    print maximumDate;
    pause;
}

maxInt

Извлекает максимальное подписанное значение, которое может храниться в типе int .

Синтаксис

int maxInt()

Возвращаемое значение

Максимально допустимое значение целого числа.

Замечания

Любое другое целое число будет меньше или равно возвращаемому значению. Это функция времени компиляции. Дополнительные сведения см. в этом обзоре.

Example

static void maxIntExample(Args _arg)
{
    int i;
    ;
    print "The maximum value for type int is " + int2Str(maxInt());
    pause;
}

measurementStr

Возвращает имя измерения.

Синтаксис

str measurementStr(str measurement)

Параметры

Параметр Description
измерение Имя измерения.

Возвращаемое значение

Имя измерения.

Замечания

Это функция времени компиляции. Дополнительные сведения см. в этом обзоре.

Example

Нет примера.

measureStr

Возвращает имя меры.

Синтаксис

str measureStr(str measure)

Параметры

Параметр Description
мера Название меры.

Возвращаемое значение

Название меры.

Замечания

Это функция времени компиляции. Дополнительные сведения см. в этом обзоре.

Example

Нет примера.

Проверяет, существует ли указанное действие элемента меню в дереве объектов приложения (обозреватель приложений); Если это не так, возникает ошибка компилятора.

Синтаксис

str menuItemActionStr(class menuitem)

Параметры

Параметр Description
имя кода Имя действия элемента меню для проверки.

Возвращаемое значение

Имя действия элемента меню, если оно допустимо.

Замечания

Это функция времени компиляции. Дополнительные сведения см. в этом обзоре.

Example

{
    str s1, s2, s3, s4;
    ;

    s1 = menuItemActionStr(AssetCopy);
    s2 = menuItemDisplayStr(Address);
    s3 = menuItemOutputStr(AssetBarcode);
    s4 = menuStr(Administration);

    print "menuItemActionStr for AssetCopy is " + s1;
    print "menuItemDisplayStr for Address is " + s2;
    print "menuItemOutputStr for AssetBarcode is " + s3;
    print "menuStr for Administration is " + s4;

    pause;
}

Проверяет наличие указанного элемента меню в обозревателе приложений; Если это не так, возникает ошибка компилятора.

Синтаксис

str menuitemdisplaystr(class menuItem)

Параметры

Параметр Description
имя кода Имя проверяемого элемента меню.

Возвращаемое значение

Отображаемое имя указанного элемента меню, если оно допустимо.

Замечания

Это функция времени компиляции. Дополнительные сведения см. в этом обзоре.

Example

{
    str s1, s2, s3, s4;
    ;

    s1 = menuItemActionStr(AssetCopy);
    s2 = menuItemDisplayStr(Address);
    s3 = menuItemOutputStr(AssetBarcode);
    s4 = menuStr(Administration);

    print "menuItemActionStr for AssetCopy is " + s1;
    print "menuItemDisplayStr for Address is " + s2;
    print "menuItemOutputStr for AssetBarcode is " + s3;
    print "menuStr for Administration is " + s4;

    pause;
}

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

Синтаксис

str menuItemOutputStr(class menuitem)

Параметры

Параметр Description
имя кода Имя выходных данных элемента меню для проверки.

Возвращаемое значение

Если это допустимо, указанный элемент меню.

Замечания

Это функция времени компиляции. Дополнительные сведения см. в этом обзоре.

Example

{
    str s1, s2, s3, s4;
    ;

    s1 = menuItemActionStr(AssetCopy);
    s2 = menuItemDisplayStr(Address);
    s3 = menuItemOutputStr(AssetBarcode);
    s4 = menuStr(Administration);

    print "menuItemActionStr for AssetCopy is " + s1;
    print "menuItemDisplayStr for Address is " + s2;
    print "menuItemOutputStr for AssetBarcode is " + s3;
    print "menuStr for Administration is " + s4;

    pause;
}

Проверяет, существует ли указанное меню в обозревателе приложений; В противном случае возникает ошибка компилятора.

Синтаксис

str menuStr(class menu)

Параметры

Параметр Description
menu Имя проверяемого меню.

Возвращаемое значение

Допустимое имя указанного элемента меню.

Замечания

Это функция времени компиляции. Дополнительные сведения см. в этом обзоре.

Example

{
    str s1, s2, s3, s4;
    ;

    s1 = menuItemActionStr(AssetCopy);
    s2 = menuItemDisplayStr(Address);
    s3 = menuItemOutputStr(AssetBarcode);
    s4 = menuStr(Administration);

    print "menuItemActionStr for AssetCopy is " + s1;
    print "menuItemDisplayStr for Address is " + s2;
    print "menuItemOutputStr for AssetBarcode is " + s3;
    print "menuStr for Administration is " + s4;

    pause;
}

methodStr

Проверяет, существует ли указанный метод в указанном классе; Если это не так, возникает ошибка компилятора.

Синтаксис

str methodStr(class class, int method)

Параметры

Параметр Description
класс Имя класса.
method Имя метода для проверки.

Возвращаемое значение

Имя указанного метода, если оно допустимо.

Замечания

Это функция времени компиляции. Дополнительные сведения см. в этом обзоре.

Example

{
    #define.timeout(50)
    str s;
    SysHelpInitTimeOut SysHelpInitTimeOut;
    ;

    s = methodStr(SysHelpInitTimeOut, timeout);
    print s;
    pause;
}

minInt

Извлекает минимальное подписанное значение, которое может храниться в типе int .

Синтаксис

int minInt()

Возвращаемое значение

Минимальное значение типа int .

Замечания

Любое другое целочисленное значение будет больше или равно возвращаемому значению. Это функция времени компиляции. Дополнительные сведения см. в этом обзоре.

Example

static void minIntExample(Args _arg)
{
    int i;
    ;
    i = minInt();
    print "minInt() is " + int2Str(i);    
    pause;
}

privilegeStr

Возвращает имя привилегии.

Синтаксис

str privilegeStr(str privilege)

Параметры

Параметр Description
привилегия Привилегия, для которой нужно вернуть имя.

Возвращаемое значение

Имя привилегии.

Замечания

Это функция времени компиляции. Дополнительные сведения см. в этом обзоре.

Example

Нет примера.

queryDatasourceStr

Вызывает компилятор X++ для проверки наличия источника данных в запросе и замены вызова функции строкой допустимого имени источника данных.

Синтаксис

str queryDataSourceStr(queryName, dataSourceName)

Параметры

Параметр Description
queryName Имя запроса, а не в кавычках.
dataSourceName Имя источника данных, который находится в запросе, а не в кавычках.

Возвращаемое значение

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

Замечания

Ошибка компиляции возникает, если компилятор определяет, что источник данных не существует в запросе. Если в коде X++ используется строка, содержащая кавычки для указания имени источника данных, ошибка не может быть обнаружена до времени выполнения. Использование этой функции позволяет компилятору обнаруживать ошибку ранее во время компиляции. Функции X++, такие как queryDataSourceStr , выполняемые компилятором, называются функциями во время компиляции или функциями времени компиляции. Именно поэтому входные параметры не являются стандартными строками в кавычках. Функции во время компиляции не представлены в P-code или другом исполняемом файле, который выводится компилятором. Это функция времени компиляции. Дополнительные сведения см. в этом обзоре.

Example

Нет примера.

queryMethodStr

Возвращает имя метода запроса.

Синтаксис

str queryMethodStr(str queryName, str methodName)

Параметры

Параметр Description
queryName Имя запроса.
methodName Метод формы.

Возвращаемое значение

Имя метода в запросе.

Замечания

Это функция времени компиляции. Дополнительные сведения см. в этом обзоре.

Example

Нет примера.

queryStr

Извлекает строку, представляющую существующий запрос.

Синтаксис

str queryStr(str query)

Параметры

Параметр Description
query Запрос, который требуется получить.

Возвращаемое значение

Имя запроса.

Замечания

Это функция времени компиляции. Дополнительные сведения см. в этом обзоре.

Example

static void queryStrExample(Args _arg)
{
    str myText;
    ;

    myText = queryStr(AssetTable);
    Global::info(strfmt("%1 is the name of the query.",myText));
}
/****Infolog Display
Message (09:45:16 am)
AssetTable is the name of the query.
****/

reportStr

Извлекает строку, представляющую имя указанного отчета.

Синтаксис

str reportStr(str report)

Параметры

Параметр Description
report Отчет, для которого нужно вернуть имя.

Возвращаемое значение

Имя отчета.

Замечания

Это функция времени компиляции. Дополнительные сведения см. в этом обзоре.

Example

В следующем примере присваивается имя отчета AssetAddition переменной MyTxt .

static void reportStrExample(Args _args)
{
    str MyTxt;
    ;

    MyTxt = reportStr(AssetAddition);
    Global::info(strfmt("%1 is the name of the report.", MyTxt));
}
/****Infolog Display.
Message (10:46:36 am)
AssetAddition is the name of the report.
****/

resourceStr

Проверяет, существует ли указанный ресурс в обозревателе приложений; Если это не так, возникает ошибка компилятора.

Синтаксис

str resourceStr(str resourcename)

Параметры

Параметр Description
имя ресурса Имя проверяемого ресурса.

Возвращаемое значение

Имя указанного ресурса, если оно допустимо.

Замечания

Это функция времени компиляции. Дополнительные сведения см. в этом обзоре.

Example

{
    print "Str for resource StyleSheet_Help_Axapta is " 
        + resourceStr(StyleSheet_Help_Axapta);
    pause;
}

roleStr

Извлекает строку, представляющую имя указанной роли безопасности.

Синтаксис

str roleStr(str securityRole)

Параметры

Параметр Description
securityRole Имя роли безопасности.

Возвращаемое значение

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

Замечания

Это функция времени компиляции. Дополнительные сведения см. в этом обзоре.

Example

Нет примера.

ssrsReportStr

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

Синтаксис

str ssrsReportStr(str report, str design)

Параметры

Параметр Description
report Отчет для возврата имени.
проектировать Имя конструктора, связанного с отчетом.

Возвращаемое значение

Имя отчета.

Замечания

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

Example

public static void main(Args _args)
{
    // Initializing the object for a controller class, in this case, the class named AssetListingController.
    SrsReportRunController controller = new AssetListingController();

    // Getting the properties of the called object (in this case AssetListing MenuItem)
    controller.parmArgs(_args);
    // Setting the Report name for the controller.
    controller.parmReportName(ssrsReportStr(AssetListing, Report));

    // Initiate the report execution.
    controller.startOperation();
}

staticDelegateStr

Возвращает имя статического делегата.

Синтаксис

str staticDelegateStr(str class, str delegate)

Параметры

Параметр Description
класс Имя класса, таблицы или формы.
делегат Имя делегата.

Возвращаемое значение

Имя делегата.

Замечания

Это функция времени компиляции. Дополнительные сведения см. в этом обзоре.

Example

Нет примера.

staticMethodStr

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

Синтаксис

str staticMethodStr(class class, int method)

Параметры

Параметр Description
класс Имя класса.
method Имя статического метода для проверки.

Возвращаемое значение

Имя статического метода, если оно допустимо.

Замечания

Это функция времени компиляции. Дополнительные сведения см. в этом обзоре.

Example

Нет примера.

tableCollectionStr

Проверяет, существует ли указанная коллекция таблиц в обозревателе приложений; Если это не так, возникает ошибка компилятора.

Синтаксис

str tableCollectionStr(class tablecollection)

Параметры

Параметр Description
tablecollection Имя проверяемой коллекции таблиц.

Возвращаемое значение

Имя указанной коллекции таблиц, если она допустима.

Замечания

Это функция времени компиляции. Дополнительные сведения см. в этом обзоре.

Example

Нет примера.

tableFieldGroupStr

Извлекает имя группы полей в виде строки.

Синтаксис

str tableFieldGroupStr(str tableName, str fieldGroupName)

Параметры

Параметр Description
tableName Таблица, содержащая группу полей.
fieldGroupName Группа полей в таблице.

Возвращаемое значение

Имя группы полей в виде строки.

Замечания

Это функция времени компиляции. Дополнительные сведения см. в этом обзоре.

Example

В следующем примере извлекается имя группы полей "Редактирование " в виде строки.

static void tableFieldGroupStrExample(Args _arg)
{
    ;

    Global::info(tableFieldGroupStr(AccountingDistribution, Editing));
}
/****Infolog Display
Message (03:14:54 pm)
Editing
****/

tableMethodStr

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

Синтаксис

str tableMethodStr(int table, int method)

Параметры

Параметр Description
table Название таблицы.
method Имя метода для проверки.

Возвращаемое значение

Имя метода, если оно допустимо.

Замечания

Это функция времени компиляции. Дополнительные сведения см. в этом обзоре.

Example

Нет примера.

tableNum

Извлекает идентификатор таблицы указанной таблицы.

Синтаксис

int tableNum(str table)

Параметры

Параметр Description
table Таблица для получения идентификатора таблицы.

Возвращаемое значение

Идентификатор таблицы указанной таблицы.

Замечания

Это функция времени компиляции. Дополнительные сведения см. в этом обзоре.

Example

В следующем примере для переменной tableID задано значение 77, которое является идентификатором таблицы CustTable .

static void tableNumExample(Args _args)
{
    int tableID;
    ;

    tableID = tableNum(CustTable);
    Global::info(strfmt("%1 is the table ID for the CustTable table.", tableID));

}
/****Infolog Display
Message (11:15:54 am)
77 is the table ID for the CustTable table.
****/

tablePName

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

Синтаксис

str tablePName(str table)

Параметры

Параметр Description
table Таблица, для получения имени для печати.

Возвращаемое значение

Имя указанной таблицы.

Замечания

Это функция времени компиляции. Дополнительные сведения см. в этом обзоре.

Example

В следующем примере метка таблицы CustTable назначается переменной MyText .

static void tablePNameExample(Args _args)
{
    str MyText;
    ;

    MyText = tablePname(CustTable);
    Global::info(strfmt("%1 is the label of the CustTable table.", MyText));
}
/**** Infolog Display.
Message (12:13:53 pm)
Customers is the label of the CustTable table.
****/

tableStaticMethodStr

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

Синтаксис

str tableStaticMethodStr(int table, int method)

Параметры

Параметр Description
table Название таблицы.
method Имя статического метода для проверки.

Возвращаемое значение

Имя указанного статического метода.

Замечания

Это функция времени компиляции. Дополнительные сведения см. в этом обзоре.

Example

Нет примера.

tableStr

Извлекает строку, содержащую имя указанной таблицы.

Синтаксис

str tableStr(str table)

Параметры

Параметр Description
table Таблица, для получения строки для.

Возвращаемое значение

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

Замечания

Это функция времени компиляции. Дополнительные сведения см. в этом обзоре.

Example

В следующем примере имя таблицы CustTable назначается переменной MyTxt .

static void tableStrExample(Args _args)
{
    str MyTxt;
    ;

    MyTxt = tableStr(CustTable);
    Global::info(strfmt("%1 is the str output of the input of CustTable.", MyTxt));
}
/**** Infolog Display. 
Message (01:21:49 pm)
CustTable is the str output of the input of CustTable.
****/

tileStr

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

Синтаксис

str tileStr(str tile)

Параметры

Параметр Description
tile Имя плитки.

Возвращаемое значение

Имя плитки в строке.

Замечания

Это функция времени компиляции. Дополнительные сведения см. в этом обзоре.

Example

Нет примера.

varStr

Извлекает строку, содержащую имя указанной переменной.

Синтаксис

str varStr(str var)

Параметры

Параметр Description
var Имя переменной.

Возвращаемое значение

Строка, содержащая имя указанной переменной.

Замечания

Это функция времени компиляции. Дополнительные сведения см. в этом обзоре.

Example

static void varStrExample(Args _arg)
{
    str myString;
    anytype myVariable;
    ;

    myString = varStr(myVariable);
    Global::info(strfmt("%1 is the variable name.", myString));
}
/****Infolog Display.
Message (02:26:56 pm)
myVariable is the variable name.
****/

webActionItemStr

Проверяет, существует ли указанный элемент веб-действия в обозревателе приложений; Если это не так, возникает ошибка компилятора.

Синтаксис

str webActionItemStr(class webactionitem)

Параметры

Параметр Description
webactionitem Имя проверяемого элемента веб-действия.

Возвращаемое значение

Имя указанного элемента веб-действия, если оно допустимо.

Замечания

Это функция времени компиляции. Дополнительные сведения см. в этом обзоре.

Example

{
    str s;
    ;
    s = webActionItemStr(EPFlushData);
    print "webactionitem str is " + s;
    pause;
}

webDisplayContentItemStr

Проверяет, существует ли указанный элемент содержимого веб-отображения в обозревателе приложений; Если это не так, возникает ошибка компилятора.

Синтаксис

str webDisplayContentItemStr(class webdisplaycontentitem)

Параметры

Параметр Description
webdisplaycontentitem Имя проверяемого элемента веб-содержимого.

Возвращаемое значение

Имя указанного элемента содержимого веб-отображения, если оно допустимо.

Замечания

Это функция времени компиляции. Дополнительные сведения см. в этом обзоре.

Example

{
    str s;
    ;

    s = webDisplayContentItemStr(EPAdmin);
    print "string for webcontent display item EPAdmin is " + s;
    pause;
}

webFormStr

Проверяет, существует ли указанная веб-форма в обозревателе приложений; Если это не так, возникает ошибка компилятора.

Синтаксис

str webFormStr(str name)

Параметры

Параметр Description
имя Имя веб-формы для проверки.

Возвращаемое значение

Имя указанной веб-формы, если это допустимо.

Замечания

Это функция времени компиляции. Дополнительные сведения см. в этом обзоре.

Example

{
    str s;
    ;
    s = webFormStr(EPAdmin);
    print "String for web form EPAdmin is " + s;
    pause;
}

webletItemStr

Проверяет, существует ли указанный элемент веб-let в обозревателе приложений; Если это не так, возникает ошибка компилятора.

Синтаксис

str webletItemStr(class webletitem)

Параметры

Параметр Description
webletitem Имя проверяемого элемента веб-лета.

Возвращаемое значение

Имя указанного элемента веб-лета, если оно допустимо.

Замечания

Это функция времени компиляции. Дополнительные сведения см. в этом обзоре.

Example

{
    str s;
    ;
    s = webletItemStr(WebFormWeblet);
    print "String for WebFormWeblet is " + s;
    pause;
}

webMenuStr

Проверяет, существует ли указанное веб-меню в обозревателе приложений; Если это не так, возникает ошибка компилятора.

Синтаксис

str webMenuStr(str name)

Параметры

Параметр Description
имя Имя веб-меню для проверки.

Возвращаемое значение

Имя указанного веб-меню, если оно допустимо.

Замечания

Это функция времени компиляции. Дополнительные сведения см. в этом обзоре.

Example

{
    str s;
    ;
    s = webMenuStr(ECPAdmin);
    print "String for web menu ECPAdmin is " + s;
    pause;
}

webOutputContentItemStr

Проверяет, существует ли указанный элемент содержимого веб-вывода в обозревателе приложений; Если это не так, возникает ошибка компилятора.

Синтаксис

str webOutputContentItemStr(class weboutputcontentitem)

Параметры

Параметр Description
weboutputcontentitem Имя проверяемого элемента содержимого веб-вывода.

Возвращаемое значение

Имя указанного элемента содержимого веб-вывода, если оно допустимо.

Замечания

Это функция времени компиляции. Дополнительные сведения см. в этом обзоре.

Example

{
    str s;
    ;
    s = webOutputContentItemStr(EPPriceList);
    print "string for weboutput content item EPPriceList is " + s;
    pause;
}

веб-страницаDefStr

Проверяет, существует ли указанное определение веб-страницы в обозревателе приложений; Если это не так, возникает ошибка компилятора.

Синтаксис

str webpageDefStr(str pagename)

Параметры

Параметр Description
имя страницы Имя определения веб-страницы для проверки.

Возвращаемое значение

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

Замечания

Это функция времени компиляции. Дополнительные сведения см. в этом обзоре.

Example

Нет примера.

webReportStr

Проверяет, существует ли указанный веб-отчет в обозревателе приложений; Если это не так, возникает ошибка компилятора.

Синтаксис

str webReportStr(str name)

Параметры

Параметр Description
имя Имя веб-отчета для проверки.

Возвращаемое значение

Имя указанного веб-отчета, если оно допустимо.

Замечания

Это функция времени компиляции. Дополнительные сведения см. в этом обзоре.

Example

{
    str s;
    ;
    s = webReportStr(EPCSSSalesConfirm);
    print "String for web report EPCSSalesConfirm is " + s;
    pause;
}

websiteDefStr

Проверяет, существует ли указанное определение веб-сайта в обозревателе приложений; Если это не так, возникает ошибка компилятора.

Синтаксис

str websiteDefStr(str resourcename)

Параметры

Параметр Description
имя ресурса Имя определения веб-сайта для проверки.

Возвращаемое значение

Имя указанного определения веб-сайта, если оно допустимо.

Замечания

Это функция времени компиляции. Дополнительные сведения см. в этом обзоре.

Example

{
    str s;
    ;

    s = websiteDefStr(AxSiteDef_1033_xip);
    print "string for web site definition AxSiteDef_1033_xip is " + s;
    pause;
}

webSiteTempStr

Проверяет, существует ли указанный шаблон веб-сайта в обозревателе приложений; Если это не так, возникает ошибка компилятора.

Синтаксис

str websiteTempStr(str resourcename)

Параметры

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

Возвращаемое значение

Имя указанного шаблона веб-сайта, если оно допустимо.

Замечания

Это функция времени компиляции. Дополнительные сведения см. в этом обзоре.

Example

Нет примера.

webStaticFileStr

Проверяет, существует ли указанный статический веб-файл в обозревателе приложений; Если это не так, возникает ошибка компилятора.

Синтаксис

str webStaticFileStr(str pagename)

Параметры

Параметр Description
имя страницы Имя проверяемого веб-статического файла.

Возвращаемое значение

Имя указанного статического веб-файла, если оно допустимо.

Замечания

Это функция времени компиляции. Дополнительные сведения см. в этом обзоре.

Example

{
    str s;
    ;

    s = webStaticFileStr(AXEP);
    print "string for web static file AXEP is " + s;
    pause;
}

webUrlItemStr

Проверяет, существует ли указанный элемент ВЕБ-URL-адреса в обозревателе приложений; Если это не так, возникает ошибка компилятора.

Синтаксис

str webUrlItemStr(class weburlitem)

Параметры

Параметр Description
weburlitem Имя проверяемого элемента ВЕБ-URL-адреса.

Возвращаемое значение

Имя указанного элемента ВЕБ-URL-адреса, если оно допустимо.

Замечания

Это функция времени компиляции. Дополнительные сведения см. в этом обзоре.

Example

{
    str s;
    ;

    s = webUrlItemStr(EPAdmin);
    print "string for web url item EPAdmin is " + s;
    pause;
}

webWebPartStr

Проверяет, существует ли указанная веб-часть в обозревателе приложений; Если это не так, возникает ошибка компилятора.

Синтаксис

str webWebpartStr(str resourcename)

Параметры

Параметр Description
имя ресурса Имя проверяемой веб-части.

Возвращаемое значение

Имя указанной веб-части, если она допустима.

Замечания

Это функция времени компиляции. Дополнительные сведения см. в этом обзоре.

Example

{
    str s;
    ;

    s = webWebpartStr(AxWebParts_cab);
    print "string for web part AxWebParts_cab is " + s;
    pause;
}

workflowApprovalStr

Извлекает имя утверждения рабочего процесса в дереве объектов приложения (обозреватель приложений) в виде строки.

Синтаксис

str workflowapprovalstr(approval approval)

Параметры

Параметр Description
утверждение Имя обозревателя приложений утверждения рабочего процесса.

Возвращаемое значение

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

Замечания

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

Example

В следующем примере кода переменная str s имеет значение MyWorkflowApproval , которое является именем утверждения рабочего процесса в обозревателе приложений.

static void MyWorkflowApprovalStrExample(Args _args)
{
    str s;
    ;
    s = workflowapprovalstr(MyWorkflowApproval);
    print s;
    pause;
}

workflowCategoryStr

Извлекает имя категории рабочего процесса в дереве объектов приложения (Обозреватель приложений) в виде строки.

Синтаксис

str workflowcategorystr(category category)

Параметры

Параметр Description
категория Имя обозревателя приложений категории рабочего процесса.

Возвращаемое значение

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

Замечания

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

Example

В следующем примере кода переменная str s имеет значение MyWorkflowCategory , которое является именем категории рабочего процесса в обозревателе приложений.

static void MyWorkflowCategoryStrExample(Args _args)
{
    str s;
    ;
    s = workflowcategorystr(MyWorkflowCategory);
    print s;
    pause;
}

workflowTaskStr

Извлекает имя задачи рабочего процесса в дереве объектов приложения (обозреватель приложений) в виде строки.

Синтаксис

str workflowtaskstr(task task)

Параметры

Параметр Description
задача Имя обозревателя приложений задачи рабочего процесса.

Возвращаемое значение

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

Замечания

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

Example

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

static void MyWorkflowTaskStrExample(Args _args)
{
    str s;
    ;
    s = workflowtaskstr(MyWorkflowTask);
    print s;
    pause;
}

workflowTypeStr

Проверяет, существует ли указанный тип рабочего процесса в обозревателе приложений; Если это не так, возникает ошибка компилятора.

Синтаксис

str workflowTypeStr(str workflow)

Параметры

Параметр Description
workflow Имя проверяемого типа рабочего процесса.

Возвращаемое значение

Имя типа рабочего процесса.

Замечания

Это функция времени компиляции. Дополнительные сведения см. в этом обзоре.

Example

static void workFlowTypeStrExample(Args _args)
{
    str s;
    ;
    s = workFlowTypeStr(BudgetAccountEntryType);
    print s;
    pause;
}