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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 22.12.2006, 17:34   #1  
DreamCreator is offline
DreamCreator
Moderator
Аватар для DreamCreator
Axapta Retail User
 
553 / 45 (3) +++
Регистрация: 04.11.2004
Адрес: Казань
? reNameItemId для InventTable
Вечер.. пятница.. не пойму почему не работает..

PHP код:
static void reNameItemId(Args _args)
{
    
InventTable inventTable;
    ;
    
ttsbegin;
    
select forupdate inventTable;
    
inventTable.ItemId substr(inventTable.ItemId,9);
    
inventTable.renamePrimaryKey();
    
ttscommit;

Старый 22.12.2006, 17:46   #2  
Sada is offline
Sada
Программатор
Аватар для Sada
 
1,450 / 153 (8) ++++++
Регистрация: 29.03.2005
Адрес: Толи Барнаул, толи Москва
а что не работает? Вам нужно самую первую номенклатуру проапдейтить? Или все?
У меня отработало нормально... Запортачил номенклатуру в тестовой базе

Последний раз редактировалось Sada; 22.12.2006 в 17:52.
Старый 22.12.2006, 17:58   #3  
DreamCreator is offline
DreamCreator
Moderator
Аватар для DreamCreator
Axapta Retail User
 
553 / 45 (3) +++
Регистрация: 04.11.2004
Адрес: Казань
Цитата:
Сообщение от Sada Посмотреть сообщение
а что не работает? Вам нужно самую первую номенклатуру проапдейтить? Или все?
У меня отработало нормально... Запортачил номенклатуру в тестовой базе

Да Хочется оттестить на первой попавшейся номенклатуре (а потом запустить на всех) -- а ей хоть бы хны (У меня ничего не обновилось..)
Старый 22.12.2006, 18:00   #4  
slava is offline
slava
сибиряк
Самостоятельные клиенты AX
 
468 / 23 (1) +++
Регистрация: 28.12.2001
Адрес: Москва
Цитата:
Сообщение от DreamCreator Посмотреть сообщение
Да Хочется оттестить на первой попавшейся номенклатуре (а потом запустить на всех) -- а ей хоть бы хны (У меня ничего не обновилось..)
потому что не хватает условия where
__________________
С уважением, Вячеслав.
Старый 22.12.2006, 18:02   #5  
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   #6  
DreamCreator is offline
DreamCreator
Moderator
Аватар для DreamCreator
Axapta Retail User
 
553 / 45 (3) +++
Регистрация: 04.11.2004
Адрес: Казань
В точности такой!
Старый 22.12.2006, 18:27   #7  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от DreamCreator Посмотреть сообщение
Вечер.. пятница.. не пойму почему не работает..
А что говорит?
Не получается ли так, что новый код совпадает с уже существующим?
__________________
полезное на axForum, github, vk, coub.
Старый 22.12.2006, 18:34   #8  
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   #9  
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 входит в кластерный индекс.. попробую отключить и повторить операцию.
Старый 26.12.2006, 10:11   #10  
DreamCreator is offline
DreamCreator
Moderator
Аватар для DreamCreator
Axapta Retail User
 
553 / 45 (3) +++
Регистрация: 04.11.2004
Адрес: Казань
Отключил кластерный индекс - не помогло..
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Баг 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, время: 16:03.