|
|
|
|
#1 |
|
Участник
|
Цитата:
Сообщение от olesh
Как вариант:
1. Создать таблицу в Аксапте. 2. После синхронизации нужно заменить на SQL сервере эту таблицу вьюхой с тем же именем. 3. Обеспечить автоматическую синхронизацию. 4. Использовать таблицу в лукапе как обычно. Решение абсолютно рабочее в 3.0. Другое дело, стоит ли эта задача такого решения Может действительно проще во временную закачать?Интересно как Вы обеспечиваете автоматическую синхронизацию ??
__________________
Александр |
|
|
|
|
#2 |
|
Участник
|
Из Application.dbSynchronize. Перед super() прямым запросом к SQL серверу вьюху удаляем, если она существует. После super() удаляем таблицу и создаем вьюху (+ пустой триггер на insert/update/delete, на всякий случай).
Чтобы не пересоздавать вьюху при каждом вызове dbSynchronize, можно попытаться определить, что наша таблица будет синхронизироваться (есть параметр tableId в dbSynchronize, а также метод SqlSyncPending.tableTouched()). В результате, сейчас у нас не ловится случай только при синхронизации таблицы при импорте проектов, дальше разбираться лень, и так устраивает (после импорта синхронизируем вручную). |
|
|
|
| За это сообщение автора поблагодарили: tolstjak (1). | |
|
|
#3 |
|
Участник
|
Цитата:
Сообщение от olesh
Из Application.dbSynchronize. Перед super() прямым запросом к SQL серверу вьюху удаляем, если она существует. После super() удаляем таблицу и создаем вьюху (+ пустой триггер на insert/update/delete, на всякий случай).
Чтобы не пересоздавать вьюху при каждом вызове dbSynchronize, можно попытаться определить, что наша таблица будет синхронизироваться (есть параметр tableId в dbSynchronize, а также метод SqlSyncPending.tableTouched()). В результате, сейчас у нас не ловится случай только при синхронизации таблицы при импорте проектов, дальше разбираться лень, и так устраивает (после импорта синхронизируем вручную).
__________________
Александр |
|
|
|
|
| Опции темы | Поиск в этой теме |
| Опции просмотра | |
|