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

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

Задача сделать InventTable общим для всех компаний. + InventTableModule. Продуктов уже близко к 1млн. на рабочем приложений. Подскажите может кто то сделал, какие могут быть проблемы.
Старый 10.05.2017, 10:01   #2  
mazzy is offline
mazzy
Administrator
Аватар для mazzy
Most Valuable Professional
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
28,592 / 3395 (171) ++++++++++
Регистрация: 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
Участник
 
113 / 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
Most Valuable Professional
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
28,592 / 3395 (171) ++++++++++
Регистрация: 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
Most Valuable Professional
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
28,592 / 3395 (171) ++++++++++
Регистрация: 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
Участник
 
113 / 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
Участник
 
108 / 14 (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
Участник
 
108 / 14 (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
Most Valuable Professional
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
28,592 / 3395 (171) ++++++++++
Регистрация: 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
Most Valuable Professional
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
28,592 / 3395 (171) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Цитата:
Сообщение от arhat Посмотреть сообщение
Пока придумал такой порядок действий:
Аве, Цезарь!
Идущие на смерть
приветствуют тебя.


Расскажите пожалуйста чем закончится
__________________
GitHub, Facebook, mazzy.priot, mazzy.music, coub.
Старый 10.05.2017, 12:04   #11  
arhat is offline
arhat
Участник
 
108 / 14 (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, время: 15:57.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.