Проверяю.
На форме Dimensions кнопа "Переименовать" недоступна. Как же так?
У таблицы Dimensions свойство PrimaryIndex - пустое. О как...
Лезем в коттт... Форма SysRecordInfo.init() :
X++:
void init()
{
#admin
FormDataSource formDataSource;
DictField dictField2;
SysRecordTemplateSelect SysRecordTemplateSelect;
super();
callerForm = this.args().caller();
formObjectSet = callerForm.objectSet();
formDataSource = callerForm.dataSource();
formQueryRun = formDataSource.queryRun();
if (!callerForm)
{
throw error("@SYS22996");
}
this.setTexts();
if (formObjectSet)
{
common = formObjectSet.cursor();
dictTable = new SysDictTable(common.tableId);
dictField = new SysDictField(dictTable.id(), dictTable.primaryKeyField());
dictField2 = new DictField(tableNum(userInfo), fieldNum(userInfo, password));
if (!dictField ||
common.tableId == tableNum(DataArea) ||
dictField.rights() < AccessType::Edit ||
(common.tableId == tableNum(UserInfo) && common.(fieldNum(UserInfo, Id)) == #AdminUser) ||
(common.tableId == tableNum(UserGroupInfo) && common.(fieldNum(UserGroupInfo, Id)) == #AdminUserGroup) ||
(common.tableId == tableNum(DomainInfo) && common.(fieldNum(DomainInfo, Id)) == #AdminDomain) ||
(common.tableId == tableNum(UserInfo) && dictField2.rights() < AccessType::Delete) ||
(common.tableId == tableNum(UserInfo) && !domainAccess()) ||
(common.tableId == tableNum(UserGroupInfo) && !domainAccess()) ||
(common.tableId == tableNum(DomainInfo) && !domainAccess()) ||
!dictTable.getIndexIdsOfUniqueOneFieldIndexes().elements()
)
{
renameGrp.visible(false);
merge.visible(false);
primaryKey.backgroundColor(4); // Menu background
}
else
{
primaryKey.label(dictField.label());
primaryKey.text(strFmt('%1', common.(dictTable.primaryKeyField())));
if (!common.(dictTable.primaryKeyField()))
renameGrp.visible(false);
}
if (dictTable.rights() < AccessType::Delete)
{
merge.visible(false);
}
if (dictTable.rights() < AccessType::Add || !common.RecId)
{
renameGrp.visible(false);
}
if (dictTable.rights() < AccessType::View)
{
printGrp.visible(false);
}
if (dictTable.rights() >= AccessType::Add &&
dictTable.isRecordTemplateEnabled() &&
FormDataSource.allowCreate())
{
mainTables = SysRecordTemplate::mainTables(callerForm, common.TableId);
if (mainTables.elements() && (mainTables.elements()<=1 || common.RecId)) //either saved or only one mainTable
{
templateGrp.visible(true);
if (!dictTable.dataPrCompany())
{
if (DomainAccess())
SetAsCompanyTemplate.text("@SYS72288");
else
SetAsCompanyTemplate.visible(false);
}
SysRecordTemplateSelect = SysRecordTemplateSelect::newTableId(common.TableId);
SysRecordTemplateSelect.load();
if (!SysRecordTemplateSelect.parmPrompt())
{
PromptTemplate.visible(true);
}
}
}
}
else
{
throw error("@SYS22996");
}
mainGroup.caption(dictTable.label());
}
Если кому не лень, найдите,
где она ее прячет... Я, КМК, - нашел
===
UPD: Может, что опять не так делаю? Я ж сказал изначально - тупой я. Чиста программер, без изысков.