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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 16.07.2003, 16:00   #1  
uvi is offline
uvi
Участник
 
43 / 10 (1) +
Регистрация: 21.05.2003
? Как отключить синхронизацию?
Господа!
Может быть комуто вопрос покажется смешным, но можно ли каким либо образом запретить синхронизацию по произвольному объекту?
Вопрос интересует сугубо в исследовательских целях.
Можно переформулировать: как аксапта решает что ей надо синхронизировать а что нет?
Старый 16.07.2003, 16:05   #2  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Цитата:
Можно переформулировать: как аксапта решает что ей надо синхронизировать а что нет?
Как я понимаю, тогда, когда информация в АОТ перестает соответстввать структуре БД. Следит за этим ядро Аксапты и оно решает, когда нужно проводить синхронизацию.

Цитата:
каким либо образом запретить синхронизацию по произвольному объекту?
А смысл. Даже если ты этого добьешься, при первом же обращении к этому объекту, ты получишь сообщение об ошибке.
Старый 16.07.2003, 16:07   #3  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Цитата:
каким либо образом запретить синхронизацию по произвольному объекту ?
Менять объект не из Аксапты. Например править ручками файлы в каталоге приложения
Старый 16.07.2003, 16:28   #4  
uvi is offline
uvi
Участник
 
43 / 10 (1) +
Регистрация: 21.05.2003
Мне надо чтобы аксапта не лезла на SQL сервер и не меняла там ничего.
На сервере я и сам всё поменяю как надо

Речь идёт о view. Хочу подменить скрипт сформированный аксаптой на свой. С той же структурой возвращаемых результатов. Соотвествнно никаких ошибок.
Вот только мой скрипт будет жить до первой синхронизации
Старый 16.07.2003, 16:35   #5  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Цитата:
Хочу подменить скрипт сформированный аксаптой на свой. С той же структурой возвращаемых результатов.
Ничего не понял. Попробуй объяснить подробнее.

Одинаковый скрипт -> одинаковая структура.



p.s. view в Аксапте только на чтение.
Старый 16.07.2003, 16:46   #6  
BOAL is offline
BOAL
Участник
Аватар для BOAL
MCBMSS
Злыдни
1C
Лучший по профессии 2015
 
621 / 453 (17) +++++++
Регистрация: 28.04.2003
Адрес: Москва
\Classes\Application\dbSynchronize

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

Для начала раскопок самое то - наслаждайся
Старый 16.07.2003, 16:51   #7  
uvi is offline
uvi
Участник
 
43 / 10 (1) +
Регистрация: 21.05.2003
Предпосылка - нужен хитрый отчёт.
Создаём произвольный скрипт на SQL используя всё что можно использовать при создании View, в том числе, например, union.
Создаём таблицу из аксапты со структурой соответствующей результату запроса. Данных там в общем то и не будет никаких.
Создаём примитивный Query по этой таблице, без всяких условий.
Создаём View по Query, синхронизаруем. Аксапта создаёт View на сервере соответвенно примитивный.
Далее лезем на сервер и переопределям View по своему ранее созданному скрипту.
Окрываем View из аксапты - видим свои данные.

Вот только при первой же синхронизации аксапта снова сгенерит свой скрит и запихнёт его на сервер.
Старый 16.07.2003, 16:55   #8  
BOAL is offline
BOAL
Участник
Аватар для BOAL
MCBMSS
Злыдни
1C
Лучший по профессии 2015
 
621 / 453 (17) +++++++
Регистрация: 28.04.2003
Адрес: Москва
запрети синхронизацию выбраных таблиц по их tableID

Ты с этого и начал спрашивать
Старый 16.07.2003, 17:14   #9  
uvi is offline
uvi
Участник
 
43 / 10 (1) +
Регистрация: 21.05.2003
А как это сделать?
Снал бы - не спрашивал
Старый 16.07.2003, 17:21   #10  
BOAL is offline
BOAL
Участник
Аватар для BOAL
MCBMSS
Злыдни
1C
Лучший по профессии 2015
 
621 / 453 (17) +++++++
Регистрация: 28.04.2003
Адрес: Москва
\Classes\Application\dbSynchronize
код посмотри и ответ напросится сам
ифоф напихай, ну я не знаю...
написал ведь (см выше)
Старый 16.07.2003, 18:01   #11  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Цитата:
\Classes\Application\dbSynchronize
Маленькая поправка xApplication.

BOAL спасибо.
Старый 16.07.2003, 18:56   #12  
uvi is offline
uvi
Участник
 
43 / 10 (1) +
Регистрация: 21.05.2003
В общем поискал я мета где используется метод dbSynchronize() да и на него.
Мало утешительного.
В качестве TableId туда в большинстве случае передаётся 0, что означает синхронизацию всех таблиц.
Конкретный TableId похоже туда передаьтся только при использовании формы SQL администрирования, если же просто вызывать синхронизацию из дерева AOT, даже по конкретной таблице, то туда передаётся 0. Я так понимаю xApplication сам понимает что ему надо синхронизировать...

В общем случае в этом методе TableId таблицы неизвестен. Как и откуда вызывается синхронизация в AOT - непонтяно.

Можно конечно при получении там 0 самомму бежать по списку таблиц и руками вызвать у них синхронизацию за исключением нужной, но этож криво.

Попробую ещё покапать...
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Сергей Герасимов: Как отключить функциональность суммовых разниц Blog bot DAX Blogs 16 21.11.2008 17:12
Можно ли отключить и включить аналитику? miklenew DAX: Функционал 24 30.01.2008 14:00
Как отключить возможность модификации всех форм Рустем Гизатуллин DAX: Администрирование 8 08.12.2007 05:32
Отключить отрицательный финансовый склад BlueRose DAX: Прочие вопросы 4 17.08.2006 18:46
Как отключить "Переход в главное меню" DDA DAX: Функционал 5 24.04.2003 13:45
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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