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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 12.01.2006, 17:56   #1  
kvg6 is offline
kvg6
program-ёр
Аватар для kvg6
1C
 
160 / 81 (3) ++++
Регистрация: 27.09.2005
Адрес: Moscow forever
Red face Изменение кода склада
Изменили код склада.
Через паспорт записи переименование прошло нормально.
Однако, в таблице InventDim у нескольких записей в поле InventLocationId остался старый код и его изменить вручную не удается. То есть, изменяю на новый, а при следующем открытии таблицы в этих строках стоит старый код.
Что делать?
__________________
Становись лучше
Старый 12.01.2006, 18:08   #2  
macklakov is offline
macklakov
NavAx
Аватар для macklakov
 
2,232 / 974 (37) +++++++
Регистрация: 03.04.2002
см. метод update на таблице
__________________
Isn't it nice when things just work?
Старый 12.01.2006, 18:27   #3  
kvg6 is offline
kvg6
program-ёр
Аватар для kvg6
1C
 
160 / 81 (3) ++++
Регистрация: 27.09.2005
Адрес: Moscow forever
void update(boolean doUpdate = false)
{
if (doUpdate)
super();
}

Что не так?
__________________
Становись лучше
Старый 12.01.2006, 18:32   #4  
KMV is offline
KMV
Участник
 
201 / 25 (1) +++
Регистрация: 11.10.2002
Адрес: Москва
Уберите на время условие, если правите в browse.
Если в коде, тогда inventDim.update(true)
Старый 13.01.2006, 09:10   #5  
kvg6 is offline
kvg6
program-ёр
Аватар для kvg6
1C
 
160 / 81 (3) ++++
Регистрация: 27.09.2005
Адрес: Moscow forever
Правлю в browse.
Если оставляю только super(), то выдает ошибку: Невозможно отредактировать запись в 'Складская аналитика' ('InventDim'). Запись уже существует.
Убираю все - редактируется нормально, но потом снова все по-старому
__________________
Становись лучше
Старый 13.01.2006, 12:18   #6  
KMV is offline
KMV
Участник
 
201 / 25 (1) +++
Регистрация: 11.10.2002
Адрес: Москва
Цитата:
Сообщение от kvg6
у нескольких записей
Цитата:
Сообщение от kvg6
выдает ошибку: Невозможно отредактировать запись в 'Складская аналитика' ('InventDim'). Запись уже существует.
Выдает ошибку для всех записей со старым кодом?

Ошибка связана с уникальностью индекса DimIdx (комбинация складских аналитик).
Старый 13.01.2006, 12:30   #7  
macklakov is offline
macklakov
NavAx
Аватар для macklakov
 
2,232 / 974 (37) +++++++
Регистрация: 03.04.2002
Цитата:
Сообщение от kvg6
Правлю в browse.
Если оставляю только super(), то выдает ошибку: Невозможно отредактировать запись в 'Складская аналитика' ('InventDim'). Запись уже существует.
Убираю все - редактируется нормально, но потом снова все по-старому
Похоже Вы не все нам рассказали. Не должно было при поростом переименовании возникнуть дублирующих записей в InventDim.
__________________
Isn't it nice when things just work?
Старый 13.01.2006, 12:55   #8  
DreamCreator is offline
DreamCreator
Moderator
Аватар для DreamCreator
Axapta Retail User
 
553 / 45 (3) +++
Регистрация: 04.11.2004
Адрес: Казань
Мне кажется править существующие записи в InventDim нельзя. Исключая ситуации удаления записей которые не используются.

Для изменения аналитик есть стандартный подход (реализован во многих формах, на память не помню).

Если менять программно, то методом
PHP код:
InventDim::findOrCreate(..) 
Старый 13.01.2006, 12:57   #9  
kvg6 is offline
kvg6
program-ёр
Аватар для kvg6
1C
 
160 / 81 (3) ++++
Регистрация: 27.09.2005
Адрес: Moscow forever
Цитата:
Сообщение от macklakov
Похоже Вы не все нам рассказали. Не должно было при поростом переименовании возникнуть дублирующих записей в InventDim.
Дублей действительно нет, но строка не редактируется.

Напомню:
1. Переименование прошло неудачно только для нескольких (около 30) строк InventDim. В остальных - все нормально.
2. Ошибку выдает только если убрать из update() и условие и сам super(). Последний, думаю, правильнее оставить, тогда все как раньше: у этих записей перевыбираю новый склад в поле InventLocationId , выхожу, снова открываю InventDim и вижу старый код склада.
__________________
Становись лучше
Старый 13.01.2006, 13:04   #10  
KMV is offline
KMV
Участник
 
201 / 25 (1) +++
Регистрация: 11.10.2002
Адрес: Москва
Цитата:
Сообщение от kvg6
Дублей действительно нет, но строка не редактируется.
Дубль как раз получиться, если запись будет успешно отредактирована.
Старый 13.01.2006, 13:15   #11  
kvg6 is offline
kvg6
program-ёр
Аватар для kvg6
1C
 
160 / 81 (3) ++++
Регистрация: 27.09.2005
Адрес: Moscow forever
Цитата:
Сообщение от KMV
Дубль как раз получиться, если запись будет успешно отредактирована.
И что, в одной записи останется старый код?
Тогда бы были дубли с одинаковым значением поля InventDimId для всех строк, где переименование прошло успешно
__________________
Становись лучше
Старый 13.01.2006, 13:49   #12  
KMV is offline
KMV
Участник
 
201 / 25 (1) +++
Регистрация: 11.10.2002
Адрес: Москва
Дубль не по InventDimId, а по комбинации складских аналитик, см. DimIdx.
Т.е. при изменении InventLocationId, нарушается целостность БД не по полю InventDimId, а по комбинации складских аналитик.
Думаю Вам можно попытаться просто удалить эти записи. И если система позволит Вам это сделать, то все в порядке, если нет, то соглашусь с

Цитата:
Сообщение от macklakov
Похоже Вы не все нам рассказали. Не должно было при поростом переименовании возникнуть дублирующих записей в InventDim.
Старый 13.01.2006, 14:40   #13  
kvg6 is offline
kvg6
program-ёр
Аватар для kvg6
1C
 
160 / 81 (3) ++++
Регистрация: 27.09.2005
Адрес: Moscow forever
Цитата:
Сообщение от KMV
Дубль не по InventDimId, а по комбинации складских аналитик, см. DimIdx.
Думаю Вам можно попытаться просто удалить эти записи. И если система позволит Вам это сделать, то все в порядке, если нет, то соглашусь с
Удалить позволяет, но при следующем открытии строки появляются вновь
Старый 13.01.2006, 14:47   #14  
KMV is offline
KMV
Участник
 
201 / 25 (1) +++
Регистрация: 11.10.2002
Адрес: Москва
Если позволяет, значит, на InventTrans и InventSum точно ни как не повлияет.

Цитата:
Сообщение от kvg6
Удалить позволяет, но при следующем открытии строки появляются вновь
Та же песня что и с update(). В методе delete() временно закомментируйте
if(doDelete)

PHP код:
void delete(boolean doDelete false)
{
    
//if (doDelete)
        
super();

За это сообщение автора поблагодарили: kvg6 (1).
Старый 13.01.2006, 14:56   #15  
kvg6 is offline
kvg6
program-ёр
Аватар для kvg6
1C
 
160 / 81 (3) ++++
Регистрация: 27.09.2005
Адрес: Moscow forever
Цитата:
Сообщение от KMV
Та же песня что и с update(). В методе delete() временно закомментируйте
Вот это помогло. Большое спасибо!
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Denis Fedotenko: Себестоимость и закрытие склада Blog bot DAX: База знаний и проекты 44 29.03.2010 14:54
Изменение кода в таблицах longson DAX: Программирование 5 07.06.2007 18:04
Закрыть изменение кода? Nim DAX: Администрирование 11 27.12.2006 19:10
проблема с настройкой штрихового кода Nic DAX: Функционал 4 27.12.2004 09:04
Бизнес-процессы склада в Аксапта Sirius DAX: Функционал 6 02.03.2004 18:52
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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