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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 28.01.2004, 12:19   #1  
komar is offline
komar
Шаман форума
Аватар для komar
Ex AND Project
 
5,571 / 600 (32) +++++++
Регистрация: 24.05.2002
Часто в процессе внедрения возникает желание перестроить структуру общих справочников. Естественно, при этом в системе уже есть какие-то данные.
Чтобы это сделать, необходимо понимать, что есть компания с точки зрения Axapta. Все данные в одной базе по всем компаниям хранятся в одной таблице. Разделение по компаниям проводится только на основе поля dataareaid - идентификатор компании. Axapta автоматически подставляет идентификатор активной компании в любой выполняемый запрос.
Объединяя несколько компаний в виртуальную, мы тем самым заставляем систему использовать в запросах не идентификатор активной компании, а идентификатор "виртуальной" компании. Таким образом, новые записи будут создаваться с "виртуальным" идентификатором, а старые - останутся со старым. и видны не будут.
Решение напрашивается само собой - требуется в СУБД выполнить запрос типа UPDATE на вновь включенные/исключенные из виртуальной компании таблицы, и заменить значение поля dataareaid. После чего бывает нужно перезагрузить AOS. Перед операцией, естественно, бывает полезно выгнать из системы юзеров и сделать бэкап базы.
__________________
All information in this post is strictly confidential. If you have read it in error, please forget it immediately.
Старый 28.01.2004, 20:23   #2  
glibs_imported is offline
glibs_imported
Участник
 
202 / 10 (1) +
Регистрация: 04.11.2003
При объединении справочника в существующих компаниях Update может организовать дублирование данных или конфликт с уникальным индексом.

При разведении справочников update перенесет данные только в одну компанию.

Решение данной задачи штатными средствами заключается в следующем.

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

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

Если виртуальная компания воссоздана вновь, то нужно удалить имеющиеся там данные.

После этого производится импорт штатными средствами. Можно из одной компании, а можно и из нескольких. Дубликаты процедура импорта отбросит (о чем непременно сообщит в InfoLog). Новые записи подобавляет.

PS. Не дай бог вам выполнять манипуляции с импортом/экспортом в виртуальные компании в трехзвенке тонким клиентом. По крайней мере в 2.5.
 


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

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

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