Показать сообщение отдельно
Старый 17.11.2009, 03:13   #21  
RVS is offline
RVS
Сенбернар
Аватар для RVS
Злыдни
 
696 / 130 (6) +++++
Регистрация: 27.02.2003
Адрес: Королев МО
Проверяю.

На форме 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: Может, что опять не так делаю? Я ж сказал изначально - тупой я. Чиста программер, без изысков.
__________________
Best Regards,
Roman

Последний раз редактировалось RVS; 17.11.2009 в 03:27.