|
![]() |
#1 |
Moderator
|
Цитата:
Но - чтоб она во всех таблицах все поменяла... "Не верю" (с)
Собственного говоря, в задаче нет ничего невозможного, надо всего лишь перебрать все таблицы, в которых используется тип SysDim и проапдейтить соответствующие поля. Плюс relation на таблицах. Последний раз редактировалось Андре; 16.11.2009 в 17:16. |
|
![]() |
#2 |
Axapta
|
Ну это же секунд тридцать проверить. Создайте новую таблицу с единственным полем с типом Dimension. Заполните одно из значений массива. Потом зайдите в таблицу фин. аналитик и переименуйте это значение обозначенным выше образом. Чего гадать-то, не понимаю?
|
|
![]() |
#3 |
Сенбернар
|
Олег,
Ну, нет сейчас ни одной Аксапты под руками. Мои извнинения ![]()
__________________
Best Regards, Roman |
|
![]() |
#4 |
Пенсионер
|
Ну так хоть поверьте на слово, одному из кандидатов на звание "Лучший по профессии"
![]()
__________________
![]() А еще у меня растет 2 внучки!!! Кому интересно подробности тут: http://www.baby-shine.com/ |
|
![]() |
#5 |
Сенбернар
|
Цитата:
![]() Да верю я, верю... Глазам своим, прежде всего ![]() А "лучший по профессии" - ничего не утверждал, вроде - чисто поинтересовался... Как только смогу - проверю. Предложенный мной вариант - работает, хоть и "требует программирования". Что не так? ![]()
__________________
Best Regards, Roman |
|
|
За это сообщение автора поблагодарили: mazzy (2). |
![]() |
#6 |
Сенбернар
|
Проверяю.
На форме 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. |
|
![]() |
#7 |
Гость
|
есть ещё 1 метод у xRecord - xRecord.merge()
Им можно влить 1 запись в другую, вместе с подчинёнными первой записями. Делал это на измерениях - работало |
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|