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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 05.12.2007, 17:15   #1  
f18 is offline
f18
Участник
Аватар для f18
Дети Юза
 
188 / 101 (4) +++++
Регистрация: 09.08.2005
Синхронизация View DAX40
Привет.
Вопрос есть - код применяемый для синхронизации таблиц - я нашел, а вот код для синхронизации View - не нашел ...
Задача - не синхронизировать "избранную" вьюху.
Кто нибуть сталквался?
Старый 06.12.2007, 13:41   #2  
ZVV is offline
ZVV
MCITP
MCP
Oracle
MCBMSS
 
1,006 / 246 (11) ++++++
Регистрация: 13.02.2004
Адрес: Минск
->
а где вы нашли код, применяемый для синхронизации таблиц?
__________________
Zhirenkov Vitaly
Старый 06.12.2007, 13:47   #3  
MironovI is offline
MironovI
Участник
 
724 / 77 (4) ++++
Регистрация: 30.05.2005
наверняка в sys слое
Старый 06.12.2007, 14:07   #4  
Alex_KD is offline
Alex_KD
Участник
AxAssist
MCBMSS
Соотечественники
 
522 / 362 (14) ++++++
Регистрация: 06.07.2006
Адрес: Melbourne, Down Under
Видимо тут:
\Classes\Application\dbSynchronize

только отделить таблицу от вью действительно непонятно как.
Как вариант - востанавливать вашу вью при синхронизации. Криво, но должно работать.
__________________
AxAssist 2012 - Productivity Tool for Dynamics AX 2012/2009/4.0/3.0
Старый 06.12.2007, 14:21   #5  
MironovI is offline
MironovI
Участник
 
724 / 77 (4) ++++
Регистрация: 30.05.2005
Смотрите, при глобальной синхронизации на вход приходит ноль - т.е. все таблицы

X++:
tableId tableId         = 0,   // 0 = all tables, non-zero is a valid table handle
а сам код, где собственно и происходит перебор всех таблиц

X++:
ok = super(tableId, syncAsNeeded, continueOnError, showProgress);
в sys слое, а ключик в ларце, ларец понятно где.

Кстати вопрос для меня актуален не в первый раз, как заставить всетки Аксапту пропускать некоторые таблицы при синхронизации..
Старый 06.12.2007, 14:35   #6  
Alex_KD is offline
Alex_KD
Участник
AxAssist
MCBMSS
Соотечественники
 
522 / 362 (14) ++++++
Регистрация: 06.07.2006
Адрес: Melbourne, Down Under
Цитата:
Сообщение от MironovI Посмотреть сообщение
Смотрите, при глобальной синхронизации на вход приходит ноль - т.е. все таблицы

X++:
tableId tableId         = 0,   // 0 = all tables, non-zero is a valid table handle
А у меня всегда там 0 приходит. Так что комментарии тут неверные.

С view проблема возникает когда Аксапта затирает данные настроенной view на SQL сервере. Поэтому предлагаю - обновлять view при синхронизации.
__________________
AxAssist 2012 - Productivity Tool for Dynamics AX 2012/2009/4.0/3.0
Старый 06.12.2007, 14:46   #7  
ZVV is offline
ZVV
MCITP
MCP
Oracle
MCBMSS
 
1,006 / 246 (11) ++++++
Регистрация: 13.02.2004
Адрес: Минск
->
ну это то всё понянтно... этот метод работает вообще для всех объектов, в том числе и вьюх...

в исходном сообщении содержалась информация о том, что найден именно "код применяемый для синхронизации таблиц"..

Подозреваю что ларчик имеет название SqlDataDictionary::synchronize...
Жалко вот до него не добраться
__________________
Zhirenkov Vitaly
Старый 06.12.2007, 14:48   #8  
ZVV is offline
ZVV
MCITP
MCP
Oracle
MCBMSS
 
1,006 / 246 (11) ++++++
Регистрация: 13.02.2004
Адрес: Минск
насчёт:
X++:
tableId tableId         = 0,   // 0 = all tables, non-zero is a valid table handle
да, там всегда приходит ноль.. по крайней мере у меня на 3-ке, на 4-ке не проверял...
__________________
Zhirenkov Vitaly
Старый 06.12.2007, 14:54   #9  
Alex_KD is offline
Alex_KD
Участник
AxAssist
MCBMSS
Соотечественники
 
522 / 362 (14) ++++++
Регистрация: 06.07.2006
Адрес: Melbourne, Down Under
Цитата:
Сообщение от ZVV Посмотреть сообщение
в исходном сообщении содержалась информация о том, что найден именно "код применяемый для синхронизации таблиц"..
Видимо надо читать как "код исполняемый при синхронизации". Не придерайтесь к словам

Цитата:
Сообщение от ZVV Посмотреть сообщение
Подозреваю что ларчик имеет название SqlDataDictionary::synchronize...
Жалко вот до него не добраться
А вы сделайте Job. Подебажте. Поймете - что это одно и тоже.
__________________
AxAssist 2012 - Productivity Tool for Dynamics AX 2012/2009/4.0/3.0
Старый 06.12.2007, 15:01   #10  
ZVV is offline
ZVV
MCITP
MCP
Oracle
MCBMSS
 
1,006 / 246 (11) ++++++
Регистрация: 13.02.2004
Адрес: Минск
2Alex_KD

Я к словам не придираюсь, думал может действительно нашёл...

А вот что Вы предлагаете мне продебажить, я извините, не понял...
__________________
Zhirenkov Vitaly
Старый 06.12.2007, 15:08   #11  
Alex_KD is offline
Alex_KD
Участник
AxAssist
MCBMSS
Соотечественники
 
522 / 362 (14) ++++++
Регистрация: 06.07.2006
Адрес: Melbourne, Down Under
Цитата:
Сообщение от ZVV Посмотреть сообщение
2Alex_KD

Я к словам не придираюсь, думал может действительно нашёл...

А вот что Вы предлагаете мне продебажить, я извините, не понял...
SqlDataDictionary::synchronize вызывает тот же Classes\Application\dbSynchronize.
__________________
AxAssist 2012 - Productivity Tool for Dynamics AX 2012/2009/4.0/3.0
Старый 06.12.2007, 17:33   #12  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Цитата:
Сообщение от ZVV Посмотреть сообщение
насчёт:
X++:
tableId tableId         = 0,   // 0 = all tables, non-zero is a valid table handle
да, там всегда приходит ноль.. по крайней мере у меня на 3-ке, на 4-ке не проверял...
По-моему если выбирать синхронизацию из SQL администрирования только для отдельной таблицы, то передается TableID
Старый 06.12.2007, 17:42   #13  
Alex_KD is offline
Alex_KD
Участник
AxAssist
MCBMSS
Соотечественники
 
522 / 362 (14) ++++++
Регистрация: 06.07.2006
Адрес: Melbourne, Down Under
Цитата:
Сообщение от kashperuk Посмотреть сообщение
По-моему если выбирать синхронизацию из SQL администрирования только для отдельной таблицы, то передается TableID
Да. Видимо когда синхронизация через АОТ идет - по другому TableID вычисляется.
Проблемы это не решает
__________________
AxAssist 2012 - Productivity Tool for Dynamics AX 2012/2009/4.0/3.0
Старый 06.12.2007, 17:58   #14  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2156 (80) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
Может, неверно понял задачу, но создание вьюхи через Бизнес представления не поможет?

Создать вьюху (Администирование / Настройка / Бизнес-анализ / Бизнес-представления / Бизнес-представления), один раз синхронизировать, а дальше изменить на SQL Server, из Аксапты больше не синхронизировать.
__________________
Ivanhoe as is..
Старый 07.12.2007, 11:02   #15  
MironovI is offline
MironovI
Участник
 
724 / 77 (4) ++++
Регистрация: 30.05.2005
C этими вьюхами нельзя будет работать в Аксапте на прямую. В коде их не видно, к форме не прицепишь
Старый 07.12.2007, 12:12   #16  
f18 is offline
f18
Участник
Аватар для f18
Дети Юза
 
188 / 101 (4) +++++
Регистрация: 09.08.2005
Понятно, что не ясно.
А такой вопрос ...
Знаю что на каком-то проекте (по моему еще в 2.5 акс, к сожалению не помню на каком) делали такую фишку - делали таблицу - поля кот должна возвращать "потенциальная" вьюха, запрещали ее синхронизацию, таблицу удаляли из базы, вместо этого создавали вьюху с таким именем и работали с ней как с таблицей Read-Only - по єтому поводу кто нибуть что нибуть знает?
Старый 07.12.2007, 12:21   #17  
MironovI is offline
MironovI
Участник
 
724 / 77 (4) ++++
Регистрация: 30.05.2005
Цитата:
Сообщение от f18 Посмотреть сообщение
запрещали ее синхронизацию
Так вот в этом-то и вопрос - КАК?

Последний раз редактировалось MironovI; 07.12.2007 в 13:03.
Теги
ax4.0

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Reread() на форме c View KpecT DAX: Программирование 8 11.11.2008 13:00
Распределенная база данных на основе View Владимир Максимов DAX: Программирование 27 04.09.2007 13:21
Обновление данных в View rrkrivov DAX: Программирование 5 08.04.2005 20:56
View + Grid + CheckBox Yprit DAX: Программирование 4 22.02.2005 10:54
View's - возможность добавления новых записей Андре DAX: Программирование 13 16.02.2005 12:16

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

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

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