X++:
static void Job_TestStrFmt(Args _args)
{
str newStrFmt(str _template,
anytype _par01='', anytype _par02='', anytype _par03='', anytype _par04='', anytype _par05='', anytype _par06='',
anytype _par07='', anytype _par08='', anytype _par09='', anytype _par10='', anytype _par11='', anytype _par12='',
anytype _par13='', anytype _par14='', anytype _par15='', anytype _par16='', anytype _par17='', anytype _par18='',
anytype _par19='', anytype _par20='', anytype _par21='', anytype _par22='', anytype _par23='', anytype _par24='',
anytype _par25='', anytype _par26='', anytype _par27='', anytype _par28='', anytype _par29='', anytype _par30='',
anytype _par31='', anytype _par32='', anytype _par33='', anytype _par34='', anytype _par35='', anytype _par36='',
anytype _par37='', anytype _par38='', anytype _par39='', anytype _par40='', anytype _par41='', anytype _par42='',
anytype _par43='', anytype _par44='', anytype _par45='', anytype _par46='', anytype _par47='')
{
return strfmt( _template,
_par01, _par02, _par03, _par04, _par05, _par06,
_par07, _par08, _par09, _par10, _par11, _par12,
_par13, _par14, _par15, _par16, _par17, _par18,
_par19, _par20, _par21, _par22, _par23, _par24,
_par25, _par26, _par27, _par28, _par29, _par30,
_par31, _par32, _par33, _par34, _par35, _par36,
_par37, _par38, _par39, _par40, _par41, _par42,
_par43, _par44, _par45, _par46, _par47);
}
;
info( newStrFmt('Int: %1 --- Real: %2 --- Date: %3 --- Boolean: %4 --- Enum: %5',
10000, 1200.456 , 01\10\2006, TRUE, RAssetTransType::Depreciation));
}
P.S. Попутно выяснился предел кол-ва параметров функции strFmt. Если добавить еще один (_par48), то компилятор ругается ошибкой переполнения стека.