AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 16.11.2009, 17:14   #1  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Цитата:
Но - чтоб она во всех таблицах все поменяла... "Не верю" (с)
А вы проверьте.
Собственного говоря, в задаче нет ничего невозможного, надо всего лишь перебрать все таблицы, в которых используется тип SysDim и проапдейтить соответствующие поля. Плюс relation на таблицах.

Последний раз редактировалось Андре; 16.11.2009 в 17:16.
Старый 16.11.2009, 17:56   #2  
oip is offline
oip
Axapta
Лучший по профессии 2014
 
2,564 / 1416 (53) ++++++++
Регистрация: 28.11.2005
Записей в блоге: 1
Ну это же секунд тридцать проверить. Создайте новую таблицу с единственным полем с типом Dimension. Заполните одно из значений массива. Потом зайдите в таблицу фин. аналитик и переименуйте это значение обозначенным выше образом. Чего гадать-то, не понимаю?
Старый 16.11.2009, 17:59   #3  
RVS is offline
RVS
Сенбернар
Аватар для RVS
Злыдни
 
696 / 130 (6) +++++
Регистрация: 27.02.2003
Адрес: Королев МО
Олег,

Ну, нет сейчас ни одной Аксапты под руками.

Мои извнинения
__________________
Best Regards,
Roman
Старый 16.11.2009, 18:57   #4  
blokva is offline
blokva
Пенсионер
Аватар для blokva
SAP
NavAx Club
 
743 / 167 (7) ++++++
Регистрация: 04.06.2003
Адрес: Беларусь
Цитата:
Сообщение от RVS Посмотреть сообщение
Олег,

Ну, нет сейчас ни одной Аксапты под руками.

Мои извнинения
Ну так хоть поверьте на слово, одному из кандидатов на звание "Лучший по профессии"
__________________
Законы природы еще никто не отменял!
А еще у меня растет 2 внучки!!! Кому интересно подробности тут:
http://www.baby-shine.com/
Старый 16.11.2009, 19:13   #5  
RVS is offline
RVS
Сенбернар
Аватар для RVS
Злыдни
 
696 / 130 (6) +++++
Регистрация: 27.02.2003
Адрес: Королев МО
Цитата:
Сообщение от blokva Посмотреть сообщение
Ну так хоть поверьте на слово, одному из кандидатов на звание "Лучший по профессии"
Ужас

Да верю я, верю... Глазам своим, прежде всего

А "лучший по профессии" - ничего не утверждал, вроде - чисто поинтересовался... Как только смогу - проверю. Предложенный мной вариант - работает, хоть и "требует программирования".

Что не так?
__________________
Best Regards,
Roman
За это сообщение автора поблагодарили: mazzy (2).
Старый 17.11.2009, 03:13   #6  
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.
Старый 17.11.2009, 11:23   #7  
Shakr
Гость
 
n/a
есть ещё 1 метод у xRecord - xRecord.merge()
Им можно влить 1 запись в другую, вместе с подчинёнными первой записями.

Делал это на измерениях - работало
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Статьи аналитик Silphidae DAX: Программирование 9 02.11.2012 10:05
Проблемы с отображением скл. аналитик ZVV DAX: Администрирование 22 09.01.2009 20:11
Поиск в Grid по полю DataMethod Tiruvileijadal' DAX: Программирование 20 14.05.2007 13:37
ALEG: Интересная статья про иерархию финансовых аналитик в Microsoft Dynamics AX 4.0 Blog bot DAX Blogs 0 09.11.2006 06:00
"поиск" braathe DAX: Программирование 6 24.03.2006 13:07
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 07:54.