Что такое переменная .toString () в X ++ или Dynamics AX? - PullRequest
9 голосов
/ 07 марта 2012

Есть ли что-то похожее на известный toString() метод C # в Axapta ?

Я пытаюсь запустить базовый код:

info(this.dataSource());

Но мне выдается следующее сообщение об ошибке: «Аргумент« txt »несовместим с требуемым типом».

Ответы [ 4 ]

10 голосов
/ 07 марта 2012

toString доступно на всех объектах, но обычно не имеет большого значения:

info(this.dataSource().toString())

Это дает такой вывод:

Class FormDataSource Address

Возможно, вы уже знали это!Однако источник данных запроса дает что-то полезное:

FormDataSource fds = this.dataSource();
;
info(fds.query().dataSourceTable(tableNum(Address)).toString());

дает соответствующий запрос SQL:

SELECT FIRSTFAST * FROM Address
2 голосов
/ 08 марта 2012

Если вы ищете только имя источника данных, вы можете сделать следующее:

info(this.dataSource().name());
1 голос
/ 07 марта 2012

К сожалению нет, но есть ряд методов "... 2Str ()" для преобразования базовых типов данных в строку, например;

int2Str() http://technet.microsoft.com/en-us/library/aa851371(v=ax.50).aspx

int642str() http://technet.microsoft.com/en-us/library/aa851371(v=ax.50).aspx

date2str() http://msdn.microsoft.com/en-us/library/aa857241(v=ax.10).aspx

Плюс другие.

0 голосов
/ 05 мая 2016

Я просто хочу добавить, что я часто использую strFmt .

Counter c = 25;
int id = 3;
;
info(strfmt("Record number %1, id = %2", c, a)); //Record number 25, id = 3 

Это похоже на String.Format () в C #. Подробнее см. здесь .

...