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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 10.05.2017, 05:54   #1  
arhat is offline
arhat
Участник
 
107 / 13 (1) ++
Регистрация: 10.11.2014
Общие продукты
Добрый день!
Система ax 2012 r3.

Задача сделать InventTable общим для всех компаний. + InventTableModule. Продуктов уже близко к 1млн. на рабочем приложений. Подскажите может кто то сделал, какие могут быть проблемы.
Старый 10.05.2017, 10:01   #2  
mazzy is offline
mazzy
Administrator
Аватар для mazzy
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
Most Valuable Professional
 
20,694 / 3296 (151) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Цитата:
Сообщение от arhat Посмотреть сообщение
Задача сделать InventTable общим для всех компаний. + InventTableModule.
Это неправильно поставленная задача для ax2012.

В ax2012 уже есть общие продукты - Products (EcoResProduct)
и уже есть продукты, выпущенные в конкретной компании - Released Products (InventTable + InventTableModule + еще 6 таблиц)
уже есть процедура, которая создает и связывает общий продукт с конкретным.


таким образом,

если ваша задача - получить общие для нескольких компаний продукты, то:
1. вам НЕ нужно насиловать аксапту разработкой
2. вам нужно почитать документацию на предмет общих продуктов и модуля Product Information Management

если ваша задача - задействовать средства разработки для внесения изменений, то
= вам нужно изменить свойство таблиц PerCompany = No
= после чего вам придется починить работу с общими продуктами, которые неизбежно сломаются при изменении свойства таблиц
Изображения
 
__________________
GitHub, Facebook, mazzy.priot, mazzy.music, coub.
Старый 10.05.2017, 10:18   #3  
imir is offline
imir
Участник
 
112 / 90 (4) ++++
Регистрация: 28.05.2010
Цитата:
Сообщение от mazzy Посмотреть сообщение
= вам нужно изменить свойство таблиц PerCompany = No
ну либо по классике виртуальных компаний пойти:
= создать табличную коллекцию, проверить ее через best practice (покажет связанные таблицы не в коллекции). Возможно на этом этапе возникнут интересные коллизии, но все решаемо
= создать виртуальную компанию VRT
= пробить через sql поле DataAreaId у всех таблиц в коллекции на VRT

Или, как выше сказано - релизить продукт джобом в каждой компании, + допилки по синхронизации значений полей между компаниями, если такие нужны.

Выбор за вами в любом случае

Последний раз редактировалось imir; 10.05.2017 в 10:24. Причина: орфография
За это сообщение автора поблагодарили: mazzy (2).
Старый 10.05.2017, 10:21   #4  
mazzy is offline
mazzy
Administrator
Аватар для mazzy
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
Most Valuable Professional
 
20,694 / 3296 (151) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
а, и еще важное:
если установить свойство PerCompany=No
модуль Retail сломается полностью.

Retail отправляет номенклатуру магазинам.
асосртименты, магазины получатели сильно завязаны на компанию. особенно в функционале POS.
там в принципе не предусмотрена ситуация, когда таблица InventTable является общей.

Ну, и чтобы два раза не вставать:
Цитата:
Сообщение от arhat Посмотреть сообщение
Продуктов уже близко к 1млн. на рабочем приложений.
если это число записей в таблице - то это не страшное число.
у людей и больше бывает.

индекс по номенклатуре достаточно селективный.

лучше обратите внимание на InventDim. проблемы с производительностью скорее всего там, а не в номенклатуре. ))
__________________
GitHub, Facebook, mazzy.priot, mazzy.music, coub.
За это сообщение автора поблагодарили: arhat (1).
Старый 10.05.2017, 10:27   #5  
mazzy is offline
mazzy
Administrator
Аватар для mazzy
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
Most Valuable Professional
 
20,694 / 3296 (151) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Цитата:
Сообщение от imir Посмотреть сообщение
ну либо по классике виртуальных компаний пойти:
хороший совет.
для предыдущих версий.

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

ну и Retail перестанет работать и с виртуальными компаниями.
он вообще написан только для случая dataAreaId = компания из companyInfo.

поэтому по техническим причинам, начиная с 2012 виртуальные компании лучше не использовать.
__________________
GitHub, Facebook, mazzy.priot, mazzy.music, coub.
Старый 10.05.2017, 10:43   #6  
imir is offline
imir
Участник
 
112 / 90 (4) ++++
Регистрация: 28.05.2010
Цитата:
Сообщение от mazzy Посмотреть сообщение
(хотя мое личное ничем не обоснованное мнение - разработчики в МС не смогли освоить этот механизм.)
Сильно усложняются join в запросах - все join через dataareid = 'ABC' OR dataareaid = 'VRT'. Судя по последним хотфиксам по производительности от МС, где они разделяют один sql запрос с "ИЛИ" на два и более отдельных запроса - оптимизатор SQL не в состоянии построить оптимальный план запроса в случае с "или".

Ходили слухи, что в новой версии виртуальные таблицы заменят неким аналогом - дублированием записей в каждой компании и синхронизацией изменений через sql. В бэта-версиях это выглядит как хранимки с жестким перечислением полей, т.е. стремновато, думаю будет другой механизм.
За это сообщение автора поблагодарили: mazzy (2).
Старый 10.05.2017, 11:45   #7  
arhat is offline
arhat
Участник
 
107 / 13 (1) ++
Регистрация: 10.11.2014
Цитата:
Сообщение от mazzy Посмотреть сообщение
Это неправильно поставленная задача для ax2012.

В ax2012 уже есть общие продукты - Products (EcoResProduct)
и уже есть продукты, выпущенные в конкретной компании - Released Products (InventTable + InventTableModule + еще 6 таблиц)
уже есть процедура, которая создает и связывает общий продукт с конкретным.


таким образом,

если ваша задача - получить общие для нескольких компаний продукты, то:
1. вам НЕ нужно насиловать аксапту разработкой
2. вам нужно почитать документацию на предмет общих продуктов и модуля Product Information Management

если ваша задача - задействовать средства разработки для внесения изменений, то
= вам нужно изменить свойство таблиц PerCompany = No
= после чего вам придется починить работу с общими продуктами, которые неизбежно сломаются при изменении свойства таблиц
Сейчас все работает с общими продуктами и продуктами по компаниям. Но все это неудобно. Так как в разных компаниях исользуются в основном одни продукты. Разные своиства, ед. измерения в разных компаниях, пересчеты по измерениям. Из за этого проблемы. Удобнее было бы сделать таблицу InventTable общей. + InventTableModule.
Старый 10.05.2017, 11:57   #8  
arhat is offline
arhat
Участник
 
107 / 13 (1) ++
Регистрация: 10.11.2014
Связь с InventDim в таблице InventItemLocation и проводках. Их трогать не нужно.
Пока придумал такой порядок действий:
1) Настроить все таблицы с полем DataAreaID(Группа аналитик хранения, аналитик отслеживания, своиства розничных продуктов и т.д.) для компаний DAT
2) Найдти продукты с дублями
3) Привести все своиства продуктов с дублями в один.
4) Удалить дубли.
5) Поменять своиство SaveDataPerCompany = No.
Старый 10.05.2017, 11:58   #9  
mazzy is offline
mazzy
Administrator
Аватар для mazzy
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
Most Valuable Professional
 
20,694 / 3296 (151) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Цитата:
Сообщение от arhat Посмотреть сообщение
Удобнее было бы сделать таблицу InventTable общей. + InventTableModule.
Не совсем.

Так уж исторически сложилось, что к номенклатуре относятся параметры закупки, продажи, складские параметры, и параметры прочих модулей, параметры складских аналитик. Не говоря уже о разных параметрах разноски в главную книгу.

Зачастую у одной и той же номенклатуры может быть даже наименование разное. Для продажников - "милая красненькая штучка", а для сервиса полный код по каталогу.

Кроме того, как правило в разных компаниях у людей разные права на разную номенклатуру.

Попробуйте продумать до конца что вам придется сделать общим, если InventTable сделать общим.

Когда делили на продукты и номенклатуру, то вроде неплохо подумали.
Посмотрите чем отличаются Products от Released Procducts.
Единственная существенная претензия - ну зачем они такие неразличимые названия для двух сущностей выбрали...
__________________
GitHub, Facebook, mazzy.priot, mazzy.music, coub.
Старый 10.05.2017, 12:00   #10  
mazzy is offline
mazzy
Administrator
Аватар для mazzy
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
Most Valuable Professional
 
20,694 / 3296 (151) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Цитата:
Сообщение от arhat Посмотреть сообщение
Пока придумал такой порядок действий:
Аве, Цезарь!
Идущие на смерть
приветствуют тебя.


Расскажите пожалуйста чем закончится
__________________
GitHub, Facebook, mazzy.priot, mazzy.music, coub.
Старый 10.05.2017, 12:04   #11  
arhat is offline
arhat
Участник
 
107 / 13 (1) ++
Регистрация: 10.11.2014
Цитата:
Сообщение от mazzy Посмотреть сообщение
Аве, Цезарь!
Идущие на смерть
приветствуют тебя.


Расскажите пожалуйста чем закончится
. Наверное закончится "плохим словом".
Теги
inventtable, savedatapercompany

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
AX2012 Общие справочники поставщиков и клиентов PTG DAX: Функционал 2 11.06.2015 15:39
Amand: CRM в Microsoft Dynamics AX 4.0 Глава 10 Общие настройки Blog bot DAX Blogs 0 14.01.2010 19:05
Общие остатки нескольких компаний Sequel DAX: Программирование 36 05.12.2005 16:33
Общие ресурсы new_lamer DAX: Администрирование 1 14.03.2005 12:14
Серии документов общие и индивидуальные Orion DAX: Функционал 5 11.03.2004 22:02
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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