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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 29.07.2009, 19:39   #1  
Murlin is offline
Murlin
Возьми свет!!!
Аватар для Murlin
Самостоятельные клиенты AX
Злыдни
 
291 / 32 (2) +++
Регистрация: 22.09.2008
Адрес: Тюмень, Рашан Федерашан
Дублирование складских аналитик
У нас в организации возникла такая ситуация была заведена конфигурация для нескольких спецификаций(номенклатур) A2, причем насколько я посмотрел в складских аналитиках есть записи и по русски и по английски. Т.е. у номенклатуры склад и конфигурация одинаковые но с разным наименованием A2 и A2 по русски и по английски. Есть соответственно складские операции по заказу на продажу которые ссылаются на конфигурацию которая не существует для данной номенклатуры. Когда пользователь попытался переименовать существующую для номенклатуры конфигурацию А2 по английски в А2 по русски (updatePrimaryKey) аксапта выдала ошибку что inventtrans уже заблокирован пользователем... Попытавшись но особо не копаясь в коде я так понял что концы ведут куда то в эти самые складские аналитики. Я не асс в аксапте и единственное что мог предложить это проитись по всем таблицам и изменить если встречается где либо комбинация ItemId и InventDimId с нужной номенклатурой и ненужной конфигурацией изменить аналитику на правильную...
Есть ли какой либо другой путь???
Старый 29.07.2009, 19:47   #2  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Нельзя переименовывать что-либо, если уже есть "цель" с таким же идентификатором. В данном случае, однако, можно пройтись скриптом по таблице InventDim и переименовать поле ConfigId средствами SQL. По окончании можно будет удалить лишнюю конфигурацию. Есть, правда, некоторые другие таблицы, в которых конфгурация лежит в "голом виде", не в составе InventDimId.
Старый 29.07.2009, 19:58   #3  
Murlin is offline
Murlin
Возьми свет!!!
Аватар для Murlin
Самостоятельные клиенты AX
Злыдни
 
291 / 32 (2) +++
Регистрация: 22.09.2008
Адрес: Тюмень, Рашан Федерашан
Цитата:
Сообщение от EVGL Посмотреть сообщение
Нельзя переименовывать что-либо, если уже есть "цель" с таким же идентификатором. В данном случае, однако, можно пройтись скриптом по таблице InventDim и переименовать поле ConfigId средствами SQL. По окончании можно будет удалить лишнюю конфигурацию. Есть, правда, некоторые другие таблицы, в которых конфгурация лежит в "голом виде", не в составе InventDimId.
а что будет с теми таблицами где уже указана неправильная аналитика????(например с проводками как я уже говорил) как такое могло произойти я тоже не понимаю...
Старый 29.07.2009, 20:03   #4  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
да ничего страшного не произойдет. Делаете, например, в обозревателе таблиц
X++:
update_recordset InventDim
  setting ConfigId = "A1"
  where InventDim.ConfigId == "А1";
- и вперед!
За это сообщение автора поблагодарили: Murlin (1).
Старый 29.07.2009, 20:28   #5  
Murlin is offline
Murlin
Возьми свет!!!
Аватар для Murlin
Самостоятельные клиенты AX
Злыдни
 
291 / 32 (2) +++
Регистрация: 22.09.2008
Адрес: Тюмень, Рашан Федерашан
Цитата:
Сообщение от EVGL Посмотреть сообщение
да ничего страшного не произойдет. Делаете, например, в обозревателе таблиц
X++:
update_recordset InventDim
  setting ConfigId = "A1"
  where InventDim.ConfigId == "А1";
- и вперед!
Это конечно хорошо но и что тогда будет, если у нас будет две складские аналитики абсолютно одинаковые... Как это будет отражаться на функциональность чем это может грозить???
Вернее запрос то не сработает там ведь уник. индекс по всему набору аналитик, жаль аксапты нет под рукой, да и просто поменять аналитику у всех таблиц не пол-тся ведь есть таблица inventSum... Мда..

Последний раз редактировалось Murlin; 29.07.2009 в 20:40.
Старый 29.07.2009, 21:55   #6  
ZVV is offline
ZVV
MCITP
MCP
Oracle
MCBMSS
 
1,006 / 246 (11) ++++++
Регистрация: 13.02.2004
Адрес: Минск
->
Цитата:
Сообщение от Murlin Посмотреть сообщение
Это конечно хорошо но и что тогда будет, если у нас будет две складские аналитики абсолютно одинаковые... Как это будет отражаться на функциональность чем это может грозить???
Вернее запрос то не сработает там ведь уник. индекс по всему набору аналитик, жаль аксапты нет под рукой, да и просто поменять аналитику у всех таблиц не пол-тся ведь есть таблица inventSum... Мда..
Пересчитать нвентСум - это как раз не проблема: для этого есть специальные методы.
Например класс InventSumReCalcItem.
Или просто проверка целостности данных компании.

Куда важнее проблема уникальности набора аналитик в InventDim-е, отмеченная выше.
Большая вероятность, что вы с этим столкнётесь, т.к. всё таки ваши 2 конфигурации использовались как одна и та же. Тут всё сильно усложняется, придётся одну удалять и перебивать все ссылки на этот инвентДим по всей базе.
__________________
Zhirenkov Vitaly
Старый 30.07.2009, 10:37   #7  
slava is offline
slava
сибиряк
Самостоятельные клиенты AX
 
468 / 23 (1) +++
Регистрация: 28.12.2001
Адрес: Москва
Цитата:
Сообщение от ZVV Посмотреть сообщение
Куда важнее проблема уникальности набора аналитик в InventDim-е, отмеченная выше.
Большая вероятность, что вы с этим столкнётесь, т.к. всё таки ваши 2 конфигурации использовались как одна и та же. Тут всё сильно усложняется, придётся одну удалять и перебивать все ссылки на этот инвентДим по всей базе.
Есть еще вариант. В таблице InventDim старое значение аналитики конфигурация перенести в поле с неиспользуюмой аналитикой, например Ячейка (если не используется расш. склад). После этого обновить поле configId в соответствии с новым, уже существующим, значением.
Старое значение конфигурации сохраняли лишь для истории, можно было использовать любые значения для обеспечения уникальности ("1","2","3" и т.п.).

Использовали такой подход для объединения/удаления конфигураций и складов, вроде особых проблем не было.
__________________
С уважением, Вячеслав.
Старый 30.07.2009, 10:44   #8  
ZVV is offline
ZVV
MCITP
MCP
Oracle
MCBMSS
 
1,006 / 246 (11) ++++++
Регистрация: 13.02.2004
Адрес: Минск
->
Цитата:
Сообщение от slava Посмотреть сообщение
Есть еще вариант. В таблице InventDim старое значение аналитики конфигурация перенести в поле с неиспользуюмой аналитикой, например Ячейка (если не используется расш. склад). После этого обновить поле configId в соответствии с новым, уже существующим, значением.
Старое значение конфигурации сохраняли лишь для истории, можно было использовать любые значения для обеспечения уникальности ("1","2","3" и т.п.).

Использовали такой подход для объединения/удаления конфигураций и складов, вроде особых проблем не было.
Да, думаю это действительно вариант, но только в случае, если есть такие неиспользуемые аналитики... Когда мы решали подобную проблему, у нас таких не было... И такое решение мне даже в голову не приходило...

Хотя не совсем понятно как работал потом InventSum -- у вас получалось несколько записей для по сути одной аналитики... :-\ С этим точно не было никаких проблем??
__________________
Zhirenkov Vitaly
Теги
inventdim, складская аналитика, уникальность

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Добавление складских аналитик. DAX 4.0 Бигудь DAX: Функционал 7 16.10.2008 12:30
Видимость складских аналитик в отчете SalesPickingList(Отгрузочная накладная) Lemming DAX: Функционал 3 29.01.2007 18:23
Связь складских и финансовых аналитик malex DAX: Программирование 4 03.06.2005 14:10
Изменение складских аналитик в строках маршрута комплектации Sirius DAX: Функционал 1 29.05.2004 14:04
Печать складских аналитик Swetik DAX: Функционал 13 17.02.2004 01:04

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

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

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