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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 12.04.2011, 12:54   #1  
Alexius is offline
Alexius
Участник
Аватар для Alexius
 
461 / 248 (9) ++++++
Регистрация: 13.12.2001
Цитата:
Сообщение от EVGL Посмотреть сообщение
Не согласен. На мой обывательский взгляд, чем меньше таблица - тем больше из нее поместится в кэш.
Для MS SQL не совсем так. Сервер стремится кэшировать наиболее часто используемые данные и далеко не обязательно это должна быть целиком вся таблица. При построении структуры БД желательно помочь ему в этом, для этого мне кажется лучше было бы:
1. Объединить даты в одно поле
2. Объединить статусы прихода и расхода и выстроить их в порядке возрастания
3. Ввести уникальный ключ для InventTrans (пeсть и в связке с InventTransId)
4. Данные по накладным (отгрузочные, отборочные, финансовые) выделить в отдельную таблицу и при обработке последующей накладной добавлять строно запись по предыдущей.
Цитата:
Сообщение от EVGL Посмотреть сообщение
, а Кроме того, в большинстве случаев в запросах к InventTrans поля InventRef и прочие не используются. В этом плане решение перебросить их в другую таблицу кажется логичным.
А как же банальная формочка просмотра проводок, если в нее попадает несколько сотен записей, то скорость работы с объединенными табличками скорее всего будет близка к скорости работы с одной, но если туда будут попадать тысячи записей, то накладные расходы сервера на объединение будут ощутимыми.
Старый 12.04.2011, 13:08   #2  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,429 / 1772 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от Alexius Посмотреть сообщение
А как же банальная формочка просмотра проводок, если в нее попадает несколько сотен записей, то скорость работы с объединенными табличками скорее всего будет близка к скорости работы с одной, но если туда будут попадать тысячи записей, то накладные расходы сервера на объединение будут ощутимыми.
Скорее всего сделают связь с модульными таблицами в режиме Delayed, а не InnerJoin.
Старый 12.04.2011, 12:57   #3  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2476 (88) +++++++++
Регистрация: 20.08.2005
Цитата:
Сообщение от Alexius Посмотреть сообщение
1. Почему название поля InventTransOrigin с названием таблицы ? Логичнее кажется добавить для единообразия суффикс Id
Поле InventTransOrigin - это ссылка на поле recId в таблице InventTransOrigin. Возможно, поэтому и не стали добавлять суффикс
Цитата:
Сообщение от Alexius Посмотреть сообщение
2. Есть ли таблица InventTransOrigin и по каким полям она связывается с InventTrans и InventTransOriginSalesLine (и т.д.) или ее поля перекочевали в InventTransOriginSalesLine (и т.д.), что согласуется с примером запроса, но не структурой БД ?
Таблицу InventTransOrigin следует использовать, если идти от InventTrans - по ней можно узнать, какой модуль сгенерировал проводку и дальше провалиться в модулные проводки через inventTransId
Цитата:
Сообщение от Alexius Посмотреть сообщение
3. Поле InventTrans.InventTransOrigin на сколько я понял из запроса сделано уникально для идентификации записи InventTrans?
Там четыре поля
DATAAREAID, INVENTTRANSORIGIN, INVENTDIMID, RECID
Индекс - кластерный
Цитата:
Сообщение от Alexius Посмотреть сообщение
4. Зачем поле OriginatingTable в таблицах InventTransOriginSalesLine (и т.д.) ?
Не нашел такое
Если имеет в виду InventTransOrigin<OriginatingTable>::findInventTransOriginId(…), то InventTransOrigin<OriginatingTable> - это название таблицы, InventTransOriginSalesLine, к примеру
__________________
Axapta v.3.0 sp5 kr2

Последний раз редактировалось AndyD; 12.04.2011 в 12:59.
Старый 12.04.2011, 13:25   #4  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2476 (88) +++++++++
Регистрация: 20.08.2005
Да, розница
Но этот запрос я делал на тестовом сервере, где людей вообще нет.
Да и затраты здесь идут не от прокачки бо'льших объемов по сети, а от используемых серверных курсоров и операции фетча, вызовы которой дают значительный оверхед на операции
__________________
Axapta v.3.0 sp5 kr2
Старый 12.04.2011, 13:31   #5  
fed is offline
fed
Moderator
Аватар для fed
Ex AND Project
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
2,895 / 5650 (194) ++++++++++
Регистрация: 13.03.2002
Адрес: Hüfingen,DE
Цитата:
Сообщение от AndyD Посмотреть сообщение
Да, розница
Но этот запрос я делал на тестовом сервере, где людей вообще нет.
Да и затраты здесь идут не от прокачки бо'льших объемов по сети, а от используемых серверных курсоров и операции фетча, вызовы которой дают значительный оверхед на операции
Может вы туда еще и container-field добавили ? Просто, насколько я помню, обычно в запрсое используются легкие курсоры (это fast forward кажется), но если в таблице есть BLOB-поля,то легкие курсоры автоматически апгрейдятся SQL-server до нелегких. (Не помню точно каких).
Старый 12.04.2011, 14:26   #6  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2476 (88) +++++++++
Регистрация: 20.08.2005
Цитата:
Сообщение от fed Посмотреть сообщение
Может вы туда еще и container-field добавили ? Просто, насколько я помню, обычно в запрсое используются легкие курсоры (это fast forward кажется), но если в таблице есть BLOB-поля,то легкие курсоры автоматически апгрейдятся SQL-server до нелегких. (Не помню точно каких).
Блоб-полей нет
В обоих случаях тип курсора Fast forward-only cursor
__________________
Axapta v.3.0 sp5 kr2
Старый 12.04.2011, 13:37   #7  
mifi is offline
mifi
Microsoft Dynamics
Сотрудники Microsoft Dynamics
 
173 / 89 (3) ++++
Регистрация: 24.07.2002
В чем я вижу преимущество данной модели - добавление полей для кастомизации хорошо ложиться на данную модель. Очень часто на проектах встречается, что в InventTrans добавлено с десяток полей, причем в основном не типа CostAmount, а как раз очень сильно зависящих от источника. Даже не говоря о производительности, будет намного более понятно и логично, если их разложить по InvenTransOriginам. Хотя, IMHO, количество Originов действильно немного большее, чем достаточное
Старый 12.04.2011, 13:49   #8  
fed is offline
fed
Moderator
Аватар для fed
Ex AND Project
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
2,895 / 5650 (194) ++++++++++
Регистрация: 13.03.2002
Адрес: Hüfingen,DE
Цитата:
Сообщение от mifi Посмотреть сообщение
В чем я вижу преимущество данной модели - добавление полей для кастомизации хорошо ложиться на данную модель. Очень часто на проектах встречается, что в InventTrans добавлено с десяток полей, причем в основном не типа CostAmount, а как раз очень сильно зависящих от источника. Даже не говоря о производительности, будет намного более понятно и логично, если их разложить по InvenTransOriginам. Хотя, IMHO, количество Originов действильно немного большее, чем достаточное
Я предполагал что они выделят таблички типа inventTransProd (с данными о маршруте и спецификации), inventTransCustVend (с данными о закупках/продажах, может еще налогах), inventTransJournal (для складских журналов) и inventTransOther (помойка - для всего остального). В общем - ничего кроме 'over-normalization', сказать не могу...
Старый 12.04.2011, 20:14   #9  
Ievgenii is offline
Ievgenii
Участник
Аватар для Ievgenii
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
 
111 / 113 (4) +++++
Регистрация: 21.09.2008
Адрес: Copenhagen, Denmark
День добрый,

Цитата:
Назначение всех неслужебных таблиц должно быть объяснимо в терминах специалистов предметной области. Типа: CustInvoiceJour - шапки накладных, CustInvoiceTrans - строки накладных, CustTrans - субконто проводок по поставщику, CustSettlement - данные о сопоставлениях (закрытии друг на друга) платежей и оплат.
Боюсь что "эта ваша" схема разложения складских проводок не в состоянии преодолеть этот простой критерий
Согласен - и правило имеет смысл только для сущностей (не для отношений) и для концептуальных и логических схем (которых вы есстно не видели пока), но не для физических! К сожалению в аксапте АОТ не моделирует даже логические сущности, по-этому в некоторых случиях физическая модель может отличаться (опят таки ради производительности как правило или за ограничений аксапты).

Цитата:
1. Почему название поля InventTransOrigin с названием таблицы ? Логичнее кажется добавить для единообразия суффикс Id
Для Ах2012 логичнее как раз без ID чтобы было ближе к логической модели

Цитата:
5. Что хранит поле InventTransOrigin.ItemInventDim ?
Item inventory dimensions . На самом деле itemId + ItemInventDim по определению равны сслылке на Product ( посмотрите на Product item data managament). Незнаю как это на русский переведут - товар или продукт наверно !?
__________________
Thx,
Ievgenii Korovin| Dynamics Ax SCM| Microsoft Corp| http://blogs.msdn.com/DynamicsAxSCM/

Последний раз редактировалось Ievgenii; 12.04.2011 в 20:16.
Старый 12.04.2011, 23:06   #10  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2155 (80) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
Цитата:
Сообщение от Ievgenii Посмотреть сообщение
На самом деле itemId + ItemInventDim по определению равны сслылке на Product ( посмотрите на Product item data managament). Незнаю как это на русский переведут - товар или продукт наверно !?
SKU? По-русски, наверное, ближайшее - Артикул.
__________________
Ivanhoe as is..
Старый 14.04.2011, 00:52   #11  
Ievgenii is offline
Ievgenii
Участник
Аватар для Ievgenii
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
 
111 / 113 (4) +++++
Регистрация: 21.09.2008
Адрес: Copenhagen, Denmark
Цитата:
SKU? По-русски, наверное, ближайшее - Артикул.
Очень надеюсь что наша локализация найдет что то достойное - только не Stock keeping unit или то что под этим у нас понимается.

В Dynamics Ax 2012 такие сущности как SKU и/или Handling Units пока не реализованы (ИМО), но рано или поздно появятся и это вообще отдельная история.

Надеюсь терминологию не попутают
__________________
Thx,
Ievgenii Korovin| Dynamics Ax SCM| Microsoft Corp| http://blogs.msdn.com/DynamicsAxSCM/

Последний раз редактировалось sukhanchik; 14.04.2011 в 13:13. Причина: Подправил орфографию во избежание повторных эксцессов по орфографии
Старый 14.04.2011, 10:26   #12  
Evgeniy2020 is offline
Evgeniy2020
Участник
 
309 / 68 (3) ++++
Регистрация: 10.04.2007
Адрес: Москва, САО, СЗАО
как я понял все эти рефакторинги inventtrans и ledgertrans в AX 2012, а также табличное наследование и переделка relations для поддержки улучшенного моделирования. Судя пр тренду они хотят улучшить моделирование процессов и их отражение.

поэтому весь этот рефакторинг затеяли ради моделей, и лучшего проецирования моделей на физические сущности.

я так понимаю дальше появится наверно какой то инструмент Modeller (возможно UML modeller с генератором классов и таблиц на основе моделей)
возможно в следующей версии, с которым можно будет подбирать и строить лучшие модели а все физические сущности и связки будет делать modeller.
(то есть таблицы, иерархии, отношения)

явное прослеживается Единность модели базовый класс и наследники Базовая таблица и таблицы спутников наследников.

Последний раз редактировалось Evgeniy2020; 14.04.2011 в 10:28.
Старый 14.04.2011, 10:32   #13  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,283 / 3491 (123) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Эх... и никто не вспоминает из 3.0 MorphX Explorer (или как он там назывался) - который умел рисовать все вот эти модельки. Да, он был конечно бедный... но был.
__________________
Возможно сделать все. Вопрос времени
За это сообщение автора поблагодарили: mazzy (2).
Старый 14.04.2011, 10:51   #14  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Цитата:
Сообщение от sukhanchik Посмотреть сообщение
Эх... и никто не вспоминает из 3.0 MorphX Explorer (или как он там назывался) - который умел рисовать все вот эти модельки. Да, он был конечно бедный... но был.
Ну, скажем так, он, насколько я помню, умел только существующие таблицы отображать с их связями - а это и сейчас имеется, только называется по-другому и работает в Visio, что намного удобнее, имхо.
Старый 14.04.2011, 11:41   #15  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,283 / 3491 (123) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Но от этого же отказались в 2012 - или я неправильно понял - и текст был не об этом?
Цитата:
Visio Export for reporting relationships, locations, and organizational structure views
In Microsoft Dynamics AX 2009, you can export the reporting relationships view, locations view, and organizational structure view to Visio.
Reason for deprecation: Architectural changes and a new control were added to all three of the views. The new control enables more nodes to be displayed in the hierarchical structure. You can also create and modify nodes directly from the new control. The architectural changes would have required extensive changes to the Visio Export feature.
Replaced by another feature: No. The Visio Export feature is no longer available, and there is no replacement feature.
__________________
Возможно сделать все. Вопрос времени
Старый 14.04.2011, 11:48   #16  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Это касается только перечисленный элементов - org.structure related.
(Были такие формочки как Locations View, к примеру - причем красивая формочка была).

Это не имеет никакого отношения к модели данных или классов - это все осталось.
За это сообщение автора поблагодарили: sukhanchik (2).
Старый 14.04.2011, 11:57   #17  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,283 / 3491 (123) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Спасибо, понял. Не было ключевого словосочетания Reverse Engineering
И к слову сказать - MorphXplorer (см http://axapta.mazzy.ru/lib/steps/step09.html) умел и с иерархией классов работать
__________________
Возможно сделать все. Вопрос времени
Теги
ax2012

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Проблема с поиском в InventTrans после changeCompany (DAX4) Raven Melancholic DAX: Программирование 11 13.03.2008 14:02
Связь таблиц InventTrans и PurchLine Pustik DAX: Программирование 2 25.11.2004 12:23
Русская локализация Axapta 3 ? SlavaK DAX: Администрирование 59 01.07.2003 22:38

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

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

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