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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 12.10.2011, 00:08   #1  
Ievgenii is offline
Ievgenii
Участник
Аватар для Ievgenii
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
 
111 / 113 (4) +++++
Регистрация: 21.09.2008
Адрес: Copenhagen, Denmark
16 и более полей в InventDim
В Ах + SQL ограничение полей в индексе 16. В складских аналитиках есть 8 стандартных полей + поле компании. В российской локализации судя по постам mazzy есть еще поля (допустим еще 2-3), то есть уже 12-13, а так до 16 рукой подать.

Я так понимаю, что многие еще 1-3 добавляют, а некоторые наши партнеры еще +10 требуют.

Вопрос - сталкивались ли вы с ситуацией, когда количество полей inventDim переваливало за 16 и если да - то что вы делали?

Я могу предположить что сделав индеск на таблице инвент дим не уникальным то систему это не поломает, ибо много где есть findCreate(), так что вроде должно работать. С другой стороны например импорт данных легко создаст одинаковые записи,со всеми вытекающими последствиями...

Спрашиваю, потому что данный вопрос становиться все более и более актуальный с каждым новым релизом

Спасибо.
__________________
Thx,
Ievgenii Korovin| Dynamics Ax SCM| Microsoft Corp| http://blogs.msdn.com/DynamicsAxSCM/
За это сообщение автора поблагодарили: alex55 (1).
Старый 12.10.2011, 02:13   #2  
TasmanianDevil is offline
TasmanianDevil
Мрачный тип
Аватар для TasmanianDevil
Злыдни
 
885 / 389 (14) ++++++
Регистрация: 24.01.2005
Адрес: Томск
Как-то упоминал, но повторюсь, что решением, гораздо более "прочным", относительно стандартной архитектуры, к увеличению кол-ва складских и номенклатурных аналитик, было бы :
1) Разделеление InventDim - комбинации аналитик хранения и номенклатурных аналитик нечего мешать в одну кучу. Две таблицы комбинаций, две ссылки в документах.
2) Перевод прямых реляций таблиц складской/номенклатурной аналитики на коммутируемые массивы ссылок и ведение соответствующих настроек (какой уровень куда ссылается) в группах складской и номенклатурной аналитик (в качестве базового элемента - аналоги пары полей "тип счета" и "счет" в журнале ГК, итого по 7 уровней аналитики для каждой группы аналитики до упора в ограничение платформы).

Текущая "линейная" архитектура InventDim при своем достоинстве в виде простоты имеет огромный недостаток - увеличение потребных складских и номенклатурных аналитик в рамках всего учета номенклатур не эквивалентно увеличению кол-ва одновременно используемых в рамках единичной операции движения каждой конкретной номенклатуры, т.е. часть полей аналитики попросту не используется, но мы очень быстро упираемся в ограничения платформы.

Предлагаемая архитектура дает больший запас прочности к увеличению потребного кол-ва аналитических разрезов номенклатуры (7*Nгрупп по складской аналитике + 7*Mгрупп по номенклатурной аналитике - при увеличении кол-ва групп кол-во возможных аналитик растет в геометрической прогрессии), но при этом потребует упорядоченности в структуре учета.

Нашу битву с mazzy на эту тему можно в треде "Производительность и InventDim" поглядеть.
__________________
Мы летаем, кружимся, нагоняем ужасы ...

Последний раз редактировалось TasmanianDevil; 12.10.2011 в 02:20.
Старый 12.10.2011, 08:16   #3  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,429 / 1772 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Ievgenii, а можно вас попросить прокомментировать вот это сообщение dax-lessons: Deactivating configuration key will not affect the table any more [Dynamica AX 2012].
На сколько я понял в AX2012 отключение конфигурационных ключей НЕ вызывает удаление соответствующих таблиц в БД.
Цитата:
Сообщение от S.Kuskov Посмотреть сообщение
А на отдельные поля таблиц это тоже распространяется?
Спрашиваю потому что как-то пришлось столкнутся с неприятным ограничением SQL Server'а на количество полей в индексе. Например для таблицы InventDim этот фактор легко может оказаться критичным если начать учитывать все поля существующие в таблице. Сейчас проблему можно решить если часть не используемых полей просто выключить конфигурационными ключами, а что делать в таком случае в AX2012?
Старый 12.10.2011, 09:47   #4  
Pustik is offline
Pustik
Участник
 
807 / 372 (14) ++++++
Регистрация: 04.06.2004
Цитата:
Сообщение от Ievgenii Посмотреть сообщение
Я могу предположить что сделав индеск на таблице инвент дим не уникальным то систему это не поломает, ибо много где есть findCreate(), так что вроде должно работать.
Ой - Ой - Ой. Вы поосторожнее. Не дай бог Вам попасть в такую ситуацию, в которую попали мы:
Чья-то "умная" рука(догадываюсь, что этот индивидум из консалтинговой компании, которая когда-то у нас внедряла Управление запасами) к основному индексу в таблице InventDim добавила поле RecId. Таким образом этот индекс мнимо стал не уникальным. Заметили мы это очень и очень поздно. Таким образом у нас образовались одинаковые комбинации аналитик с разными InventDimId. И вот тут началась "веселая" жизнь. Вопросы пользователей о том почему нельзя списать, когда на складе есть. Почему система показывает, что на складе нет, когда я только что оприходовала и т.д. и т.п.. Поверьте мне чинилось это очень и очень сложно.
__________________
-Ты в гномиков веришь?
-Нет.
-А они в тебя верят, смотри, не подведи их.
Старый 12.10.2011, 09:50   #5  
Alexius is offline
Alexius
Участник
Аватар для Alexius
 
461 / 248 (9) ++++++
Регистрация: 13.12.2001
В AX2009 EE SP1 RU7 12 штатных аналитик. Затык происходит не на InventDim, а на InventSumDeltaDim / Indexes / TTSItemCheckDimIdx, в нем присутствуют еще 3 поля, соответственно уже достигнут предел аналитик (12 + 3 + 1 = 16) и добавление новых возможно только при отключении имеющихся. Мы пока часть отключили конфигурационными ключами, а часть приняли за условно отключенную (поля всегда пустые), что делать если понадобятся новые аналитики пока не представляю.
Наиболее рационально, на мой взгляд, вообще отказаться от конструкции InventDim и перейти на аналог Dimensions. Единственный плюс InventDim мне кажется - это экономия места в БД, все остальное - минусы.

PS. Переводить контроль уникальности набора аналитик в InventDim на приложение считаю совершенно не правильным, но возможным как крайняя мера
За это сообщение автора поблагодарили: Logger (3).
Старый 12.10.2011, 10:03   #6  
pitersky is offline
pitersky
северный Будда
Аватар для pitersky
Ex AND Project
Соотечественники
 
1,486 / 408 (16) +++++++
Регистрация: 26.09.2007
Адрес: Солнечная система
Цитата:
Сообщение от TasmanianDevil Посмотреть сообщение
Разделеление InventDim - комбинации аналитик хранения и номенклатурных аналитик нечего мешать в одну кучу
вот с этим на все 100% согласен. как правило, номенклатурные аналитики не используются, а поля в InventDim занимают.
Например, можно сделать отдельный InventDim только для номенклатурных аналитик, а его InventDimId прописывать как одну аналитику в большом InventDim.
__________________
С уважением,
Вячеслав
Старый 12.10.2011, 10:15   #7  
fed is offline
fed
Moderator
Аватар для fed
Ex AND Project
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
2,893 / 5650 (194) ++++++++++
Регистрация: 13.03.2002
Адрес: Hüfingen,DE
Я с этим сталкивался. (Правда это не мой проект был, я там приходящий консультант ). Там просто сделали дополнительное поле (типа CombinedDim), которое при любой вставке заполняют комбинацией вида Dim1+'#'+dim2+'#'+dim3. И именно это поле засунуто в индекс вместо трех обычных полей. Правда это привело к некоторым (не критичным) проблемам производительности. Во первых - они там побоялись заменить в inventDim::findDim() старые поля на новое (то есть - в индексе комбинированное поле, а в select where - три некомбинированых). Из за этого чуток (думаю - процентов на 10) падает производительность поиска по таблице (на самом деле оставшихся 13 полей вполне хватает для нужной селективности), и заметно падает производительность кэширования (поскольку из кэша AOS вынимает данные только если в select where стоит комбинация всех полей из уникального индекса). Соответственно - любой вызов findOrCreate гарантировано ведет в передаче select к серверу базы данных. Я клиенту предлогал метод подправить, но они мне сказали что производительности пока хватает, сервер мощный, и от добра добра не ищут...

P.S. Но было бы лучше, если бы вы больно попинали группу MS SQL, чтобы в следующей версии они довели бы число поддерживаемых полей в индексе до 32

Последний раз редактировалось fed; 12.10.2011 в 10:24.
Старый 12.10.2011, 11:03   #8  
Alexius is offline
Alexius
Участник
Аватар для Alexius
 
461 / 248 (9) ++++++
Регистрация: 13.12.2001
Цитата:
Сообщение от fed Посмотреть сообщение
P.S. Но было бы лучше, если бы вы больно попинали группу MS SQL, чтобы в следующей версии они довели бы число поддерживаемых полей в индексе до 32
И до кучи еще расширили ограничение в 900 байт, а то в юникоде в него легко можно упереться.
Старый 12.10.2011, 12:57   #9  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Цитата:
Сообщение от Alexius Посмотреть сообщение
И до кучи еще расширили ограничение в 900 байт, а то в юникоде в него легко можно упереться
Что-то вы люди не то индексируете по-моему
P.S. А с пожеланиями по SQL Server лучше сюда
__________________
-ТСЯ или -ТЬСЯ ?
Старый 12.10.2011, 13:12   #10  
ice is offline
ice
Участник
Аватар для ice
Лучший по профессии 2014
 
1,689 / 405 (17) +++++++
Регистрация: 23.03.2006
Цитата:
Сообщение от Vadik Посмотреть сообщение
Что-то вы люди не то индексируете по-моему
ну в аксапте индексные поля обычно текстовые, а в качестве кода часто выступает не генерируемое выражение, а "реальное название", так что немудренно что индекс получается очень большим
Старый 12.10.2011, 13:18   #11  
ppson is offline
ppson
Участник
Аватар для ppson
Ex AND Project
1C
 
2,102 / 114 (8) +++++
Регистрация: 25.06.2002
Адрес: SPb, Msk
есть проект где 23 складские аналитики
__________________
Старый 12.10.2011, 14:21   #12  
George Nordic is offline
George Nordic
Модератор
Аватар для George Nordic
Злыдни
 
4,479 / 1250 (50) ++++++++
Регистрация: 17.12.2003
Адрес: Moscow
Записей в блоге: 9
Часть сообщений выделена в тему: Необходимое количество номенклатурных аналитик

С Уважением,
Георгий
Старый 13.10.2011, 13:56   #13  
donMigel is offline
donMigel
Участник
Аватар для donMigel
 
133 / 33 (2) +++
Регистрация: 31.08.2004
Адрес: Мытищи
Цитата:
Сообщение от Ievgenii Посмотреть сообщение
Вопрос - сталкивались ли вы с ситуацией, когда количество полей inventDim переваливало за 16 и если да - то что вы делали?
Не сталкивались, соответственно, ничего не делали.

Но раз коллеги развернули полемику, то и я, с позволения, в ней поучаствую. Если принять как очевидность, что количество номенклатурных аналитик, то есть характеристик сущности объекта, стремится к бесконечности, ибо одних только органов чувств у человека 7 да ещё маркетинговые характеристики, а сколько комбинаций! То можно придти к выводу, что номенклатурные аналитики и складские аналитики разделять смысл есть. Такой шаг снимет немного критичность проблемы. И будет время для принятия другого решения, пока достигнется ограничение в 16 полей.
А дальше либо это ограничение принимать как должное, как то, что солнце светит днём и не светит ночью, либо менять ПО, то есть солнце
И ещё уже из своей практики,16 полей для именно складских аналитик вполне достаточно. Но это обсуждение из уже выделенной ветки.
__________________
_____________________________________________--
Axapta 3.0 SP4 KR1 Build #10 for EE
Ищу работу!
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
InventDim::findOrCreate ice DAX: Программирование 24 23.12.2010 10:43
Вопросы по ReleaseUpdate DAX 2009 ansoft DAX: Программирование 7 31.08.2010 12:21
lookup для ItemId iz InventTable + InventDim + InventSum stalker25 DAX: Программирование 6 20.07.2009 15:50
InventDim.findOrCreateBlank - простое сложно? Pavlo AKA Panok DAX: Программирование 5 25.10.2004 16:50
Работа с InventDim... NJD DAX: Программирование 11 17.06.2004 14:42

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 01:29.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.