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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 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.
Старый 17.11.2009, 06:14   #22  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Миниатюры
Нажмите на изображение для увеличения
Название: dim.png
Просмотров: 409
Размер:	46.7 Кб
ID:	5358  
Старый 17.11.2009, 11:12   #23  
blokva is offline
blokva
Пенсионер
Аватар для blokva
SAP
NavAx Club
 
743 / 167 (7) ++++++
Регистрация: 04.06.2003
Адрес: Беларусь
Цитата:
Сообщение от RVS
А "лучший по профессии" - ничего не утверждал, вроде - чисто поинтересовался...
Цитата:
Сообщение от oip Посмотреть сообщение
RVS, а зачем фин. аналитика должна входить в ПК во всех таблицах? Достаточно, что она является ПК в самой таблице аналитик.
"Достаточно, что она является ПК в самой таблице аналитик."
А это, что по вашему не утверждение?
ps: и не "Лучший по профессии" а "Кандидат в Лучшие по профессии" читайте плз внимательнее.
__________________
Законы природы еще никто не отменял!
А еще у меня растет 2 внучки!!! Кому интересно подробности тут:
http://www.baby-shine.com/

Последний раз редактировалось blokva; 17.11.2009 в 11:17.
Старый 17.11.2009, 11:23   #24  
Shakr
Гость
 
n/a
есть ещё 1 метод у xRecord - xRecord.merge()
Им можно влить 1 запись в другую, вместе с подчинёнными первой записями.

Делал это на измерениях - работало
Старый 18.11.2009, 15:59   #25  
RVS is offline
RVS
Сенбернар
Аватар для RVS
Злыдни
 
696 / 130 (6) +++++
Регистрация: 27.02.2003
Адрес: Королев МО
Цитата:
Сообщение от blokva Посмотреть сообщение
"Достаточно, что она является ПК в самой таблице аналитик."
А это, что по вашему не утверждение?
ps: и не "Лучший по профессии" а "Кандидат в Лучшие по профессии" читайте плз внимательнее.

Этта... Сказать по делу что - есть? Это вопрос...

Andre,

Вы выложили картинку. Мне - свою выложить??

Это ж форум вроде. Вы меня - не опровергли ни разу.

2 Oip: Извените, не сразу понял, кто - ЛУЧШИЙ
__________________
Best Regards,
Roman
Старый 19.11.2009, 14:12   #26  
skazochnik is offline
skazochnik
Участник
 
35 / 10 (1) +
Регистрация: 08.10.2008
Цитата:
Сообщение от Андре Посмотреть сообщение
1. Если собираетесь переименовывать в существующую аналитику, то существующую запись надо предварительно удалить (или переименовать) через doUpdate, doDelete в табличке Dimensions.

.
УДАЛИТЬ или переименовать ?
тоесть сперва меняю ФИЛИЛ1 на ФИЛИАЛ2 (при этом такая анналитика сущетвует.)
Вы предлагаете ФИЛИАЛ2 переименовать допустив ФИЛИАЛ3
А как вернуть потом ФИЛИАЛ3 на ФИЛИАЛ2
извеняюсь за такие вопросы но ветаки
Старый 19.11.2009, 14:44   #27  
blokva is offline
blokva
Пенсионер
Аватар для blokva
SAP
NavAx Club
 
743 / 167 (7) ++++++
Регистрация: 04.06.2003
Адрес: Беларусь
Цитата:
Сообщение от RVS Посмотреть сообщение
Этта... Сказать по делу что - есть? Это вопрос...
Вы первым начали:
Цитата:
Сообщение от RVS
А "лучший по профессии" - ничего не утверждал, вроде - чисто поинтересовался...
Цитата:
Сообщение от RVS Посмотреть сообщение
Andre,

Вы выложили картинку. Мне - свою выложить??

Это ж форум вроде. Вы меня - не опровергли ни разу.
Давайте свою картинку, а то как то непонятно, Andre просто показал где смотреть надо, попробуйте посмотреть там-же...
__________________
Законы природы еще никто не отменял!
А еще у меня растет 2 внучки!!! Кому интересно подробности тут:
http://www.baby-shine.com/
Старый 19.11.2009, 16:48   #28  
RVS is offline
RVS
Сенбернар
Аватар для RVS
Злыдни
 
696 / 130 (6) +++++
Регистрация: 27.02.2003
Адрес: Королев МО
Цитата:
Сообщение от blokva Посмотреть сообщение
Давайте свою картинку, а то как то непонятно, Andre просто показал где смотреть надо, попробуйте посмотреть там-же...
Вот...

Таблица и форма - не модифицированы. Ax 3.0 SP5
__________________
Best Regards,
Roman

Последний раз редактировалось RVS; 04.02.2016 в 09:52.
Старый 19.11.2009, 20:47   #29  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Цитата:
УДАЛИТЬ или переименовать ?
ОК, если вариант заинтересовал, можно рассказать подробнее.

Цитата:
тоесть сперва меняю ФИЛИЛ1 на ФИЛИАЛ2 (при этом такая анналитика сущетвует.)
Вы предлагаете ФИЛИАЛ2 переименовать допустив ФИЛИАЛ3
А как вернуть потом ФИЛИАЛ3 на ФИЛИАЛ2
извеняюсь за такие вопросы но ветаки
То есть:
  • У вас есть аналитика Ф1 и операции по ней
  • У вас есть аналитика Ф2 и операции по ней
  • Вам надо перевесить все операции с Ф1 на Ф2

Я правильно понял задачу? Если да, то система просто так не даст переименовать Ф1 в Ф2, так как в таблице аналитик у вас уже есть Ф2. Поэтому обычно я делаю так:

PHP код:
ttsbegin;
select forupdate dimensions where dimensions.Num == 'Ф2' && ...;
dimensions.Num 'Ф2.old'
dimensions.doUpdate();
ttscommit
Можно на тестовой попробовать удалить запись Ф2 прямо из таблицы, но я не уверен, что там нет DeleteAction.

На данный момент у нас в системе есть:
  • Аналитика Ф1
  • Аналитика Ф2.old (на всякий случай)
  • Операции с аналитикой Ф1
  • Операции с аналитикой Ф2

Выполняем переименование аналитики Ф1 в Ф2. При этом:
  • В табличке аналитик Ф1 переименуется в Ф2.
  • Все операции с аналитики Ф1 перевесятся на Ф2.

На данный момент у нас в системе есть:
  • Аналитика Ф2
  • Аналитика Ф2.old (на всякий случай)
  • Операции с аналитикой Ф2

Теперь аналитику Ф2.old можно просто удалить из таблицы (по ней все равно нет операций).

По идее Ф2 можно просто удалять, не переименовывая ее в Ф2.old, но я предпочитаю оставить возможность откатиться назад.
Старый 19.11.2009, 20:49   #30  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Цитата:
Andre,
Вы выложили картинку. Мне - свою выложить??
Это ж форум вроде. Вы меня - не опровергли ни разу.
А должен был ? Забавная постановка вопроса
Я и по жизни то не вижу смысла в споре, а на форуме тем более.

По теме, если у вас на скриншоте выглядит что-то по-другому - выкладывайте, будем разбираться.
Старый 19.11.2009, 21:00   #31  
RVS is offline
RVS
Сенбернар
Аватар для RVS
Злыдни
 
696 / 130 (6) +++++
Регистрация: 27.02.2003
Адрес: Королев МО
Цитата:
Сообщение от Андре Посмотреть сообщение
По теме, если у вас на скриншоте выглядит что-то по-другому - выкладывайте, будем разбираться.
Скриншот - приаттачен. Уже.

Смысла в споре - не вижу. Тем более, что автор вопроса - как-то... потерялся...

Я лично задачу понял так:

- была аналитика "Фирма1"
- ее преименовали (sic!) в "Фирма2"


Соответственно, были предложены некие действия.

Аксапта, та, на которой я смотрел - правда - почти чистая. То есть разговор о том, что "вы там что-то сделали руками" - не катит.

Андре,

Извините, если что не так сказал. Не хотел, по-любому
__________________
Best Regards,
Roman
Старый 19.11.2009, 21:07   #32  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
SP5, к сожалению, развернутой не нашел, но есть ax3 sp2 kr2. Кнопка присутствует. Она есть. Ее не может не быть. Но у Вас ее нет.

Я не знаю почему у Вас ее нет, но если бы у меня ее не было бы:
  • Проверил не скрыта ли она (пункт в контекстном меню при клике по форме)
  • Проверил, не модифицирована ли форма SysRecordInfo.
  • Посмотрел есть ли эта кнопка в дизайнере форм.


  • Если она там есть, я бы проверил, не висят ли на ней конфигурационные ключи (хотя в моем приложении не висят).
  • Если клавиши все равно нет - поискал бы по форме по наименованию клавиши Rename. Она AutoDeclaration и вполне может делаться невидимой в коде формы. Просто посмотрел бы в отладчике, что и по какой причине ее отключает.
Изображения
 

Последний раз редактировалось Андре; 19.11.2009 в 21:13.
Старый 19.11.2009, 21:15   #33  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Цитата:
Скриншот - приаттачен. Уже.
Ага, я ответил. Просто я по порядку читаю, по порядку отвечаю.

Цитата:
Извините, если что не так сказал. Не хотел, по-любому
Да, нет проблем. Это уже я иронизирую.
Старый 19.11.2009, 21:35   #34  
RVS is offline
RVS
Сенбернар
Аватар для RVS
Злыдни
 
696 / 130 (6) +++++
Регистрация: 27.02.2003
Адрес: Королев МО
Цитата:
Сообщение от Андре Посмотреть сообщение
Если она там есть, я бы проверил, не висят ли на ней конфигурационные ключи (хотя в моем приложении не висят).[/LIST]
Висят, собаки

Был неправ.
__________________
Best Regards,
Roman
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Статьи аналитик 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, время: 00:58.