Привет всем.
Понадобилось в Transact-SQL понять по базе модели и имени конкретной X++ таблицы, есть у нее родительская или нет.
Можно как-то это понять ?
Пока нашел только, что имя родительской таблички хранится в [ModelElementData].[Properties]
X++:
static void _upg003_Table(Args _args)
{
void aa(boolean _short, str s)
{
int imax;
int i;
str sout;
;
imax = strLen(s);
for (i = 1; i <= imax; i += 2)
{
sout += num2char(hex2Int(subStr(s, i, 2)));
}
info(sout);
if (_short)
{
return;
}
for (i = 1; i <= imax; i += 2)
{
info(con2Str([i, subStr(s, i, 2), " ", num2char(hex2Int(subStr(s, i, 2)))]));
}
}
;
// пример сделан для CompanyInfo
// aa(1, "100008400053005900530031003200390031003000300000004F004D004C006500670061006C0045006E00740069007400690065007300000000004C006500670061006C00200065006E00740069007400790000000000000040005300590053003100320035003000340031000000F6DD0B8C4F004D0049006E007400650072006E0061006C004F007200670061006E0069007A006100740069006F006E00000003004400610074006100410072006500610000000202800001032A0053007500720072006F0067006100740065004B006500790000004B006500790000000203420061007300690063005400610062006C0065007300000000000043006F006D00700061006E00790049006E0066006F0045007800740065006E00730069006F006E005F0043004E0000000143006F006D00700061006E00790049006E0066006F00000054006100780049006E0066006F0072006D006100740069006F006E004C006500670061006C0045006E0074006900740079005F0049004E0000000143006F006D00700061006E00790049006E0066006F0000004C00650064006700650072000000015000720069006D0061007200790046006F0072004C006500670061006C0045006E00740069007400790000004B006500790000004800000000000000");
aa(0, "100008400053005900530031003200390031003000300000004F004D004C006500670061006C0045006E00740069007400690065007300000000004C006500670061006C00200065006E00740069007400790000000000000040005300590053003100320035003000340031000000F6DD0B8C4F004D0049006E007400650072006E0061006C004F007200670061006E0069007A006100740069006F006E00000003004400610074006100410072006500610000000202800001032A0053007500720072006F0067006100740065004B006500790000004B006500790000000203420061007300690063005400610062006C0065007300000000000043006F006D00700061006E00790049006E0066006F0045007800740065006E00730069006F006E005F0043004E0000000143006F006D00700061006E00790049006E0066006F00000054006100780049006E0066006F0072006D006100740069006F006E004C006500670061006C0045006E0074006900740079005F0049004E0000000143006F006D00700061006E00790049006E0066006F0000004C00650064006700650072000000015000720069006D0061007200790046006F0072004C006500670061006C0045006E00740069007400790000004B006500790000004800000000000000");
}
выводит
Цитата:
@SYS129100OMLegalEntitiesLegal entity@SYS125041öÝOMInternalOrganizationDataArea*SurrogateKeyKeyBasicTablesCompanyInfoExtension_CNCompanyInfoTaxInformationLegalEntity_INCompanyInfoLedgerPrimaryForLegalEntityKeyH
т.е. можно оттуда достать, но на Transact-SQL это неудобно разбирать.
Есть способ попроще ?
Ax2012 R3