Показать сообщение отдельно
Старый 14.10.2009, 22:58   #19  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,340 / 3558 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Нашел в своих загашниках "джобик" Class_ReplaceDataAreaId.xpo (оформленный как класс-наследник RunBase) по перебивке dataAreaId. Запрашиваются следующие параметры:
Компания с данными - невиртуальная компания с данными. Это компания ИЗ
Виртуальная компания - виртуальная компания с данными. Это компания В
Имя таблицы - имя таблицы в АОТ, в которой перебиваются данные.
Точное соответствие - Да, если указывается точное имя таблицы. Нет, если в поле Имя таблицы будет указано к примеру Invent* - т.е. обработать все таблицы, начинающиеся на Invent

Джобик грамотно перебивает поле dataareaid и также перебивает поле RecID (поэтому обработка построчная). Для изменения записей используются команды вне AX. Есть отдельная врезка кода для Oracle и для SQL Server, т.е. джобик, несмотря на то, что обращения идут к БД - поддерживает обе платформы.

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

Джобик писался изначально для 3.0 и был успешно оттестирован на:
3.0 SP3 CU1 + SQL Server 2000
3.0 SP3 CU1 + Oracle 10i
4.0 SP2 + Oracle 10i

Предполагаю, что на SQL Server 2005 он также будет работать

Обновлено: В файл добавлена корректная обработка разрешений
__________________
Возможно сделать все. Вопрос времени

Последний раз редактировалось sukhanchik; 16.10.2009 в 16:58. Причина: Замена XPO