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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 22.12.2006, 18:02   #1  
Sada is offline
Sada
Программатор
Аватар для Sada
 
1,450 / 153 (8) ++++++
Регистрация: 29.03.2005
Адрес: Толи Барнаул, толи Москва
вот мой метод (слой sys (другого на этот метод нет))
PHP код:
public void renamePrimaryKey()
{
    
bomTable    bomTable;
    
routeTable  routeTable;
    
itemId      oldItemId this.orig().ItemId;

    
ttsbegin;

    
super();

    if (! 
BOMVersion::dictConfigurationKey().enabled())
    {
        
bomTable bomTable::find(oldItemId);
        if (
bomTable)
        {
            
bomTable.BOMId this.ItemId;
            
bomTable.renamePrimaryKey();
        }
    }
    if (! 
routeVersion::dictConfigurationKey().enabled())
    {
        
routeTable routeTable::find(oldItemId);
        if (
routeTable)
        {
            
routeTable.RouteId this.ItemId;
            
routeTable.renamePrimaryKey();
        }
    }

    
ttscommit;

Старый 22.12.2006, 18:16   #2  
DreamCreator is offline
DreamCreator
Moderator
Аватар для DreamCreator
Axapta Retail User
 
553 / 45 (3) +++
Регистрация: 04.11.2004
Адрес: Казань
В точности такой!
Старый 22.12.2006, 18:34   #3  
Lemming is offline
Lemming
Участник
Аватар для Lemming
 
1,144 / 343 (14) ++++++
Регистрация: 20.04.2004
Адрес: Москва, Чайнатаун в Люблино
Записей в блоге: 10
Cool
Аесли сразу после вызова inventTable.renamePrimaryKey(); добавить info(inventTable.ItemId) и посмотреть что выдает, еще до закрытия транзакции? Просто ItemId входит в кластерный индекс таблицы InventTable ItemIdx и в свое время были похожие проблемы с апдейтом полей входящих в кластерный индекс.
Старый 26.12.2006, 09:56   #4  
DreamCreator is offline
DreamCreator
Moderator
Аватар для DreamCreator
Axapta Retail User
 
553 / 45 (3) +++
Регистрация: 04.11.2004
Адрес: Казань
Цитата:
Сообщение от mazzy Посмотреть сообщение
А что говорит?
Не получается ли так, что новый код совпадает с уже существующим?
Цитата:
Сообщение от Lemming Посмотреть сообщение
Аесли сразу после вызова inventTable.renamePrimaryKey(); добавить info(inventTable.ItemId) и посмотреть что выдает, еще до закрытия транзакции? Просто ItemId входит в кластерный индекс таблицы InventTable ItemIdx и в свое время были похожие проблемы с апдейтом полей входящих в кластерный индекс.
Извиняюсь за молчание, заболел.

Новый код отличается от страрого:

PHP код:
static void reNameItemId(Args _args)
{
    
InventTable inventTable;
    ;

    
ttsbegin;
    
select forupdate inventTable;
    
inventTable.ItemId substr(inventTable.ItemId,9);
    
info(strFmt("ItemId after conversion %1"inventTable.ItemId));
    
inventTable.renamePrimaryKey();
    
info(strFmt("ItemId after call renamePrimaryKey() %1"inventTable.ItemId));
    
ttscommit;

На выходе дает:
PHP код:
ItemId after conversion 0000001
ItemId after call renamePrimaryKey
() 000000001 
ItemId входит в кластерный индекс.. попробую отключить и повторить операцию.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Баг inventTable Eldar9x DAX: Программирование 23 20.01.2010 11:29
Не корректно сохраняет запись в inventTable Starling DAX: Программирование 8 31.03.2008 15:30
Форма InventTable - не видно записей jackill DAX: Администрирование 6 02.06.2005 13:03
Программно записи в InventTable djoker DAX: Программирование 8 02.12.2004 16:59
Не отображается товары в Form\InventTable! Zelenhof DAX: Программирование 6 15.01.2003 17:55
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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