Показать сообщение отдельно
Старый 26.08.2010, 12:40   #5  
Кирен is offline
Кирен
Участник
 
22 / 10 (1) +
Регистрация: 03.02.2004
Адрес: Украина, г. Донецк
Цитата:
Сообщение от rmv Посмотреть сообщение
Как же быть со вставками и удалением записей? Боюсь в такой постановке задача нерешаемая.
Возможно лучший вариант пересмотреть концепцию и валидэйтить записи в фирме-приемнике на триггере OnModify:
ReceiverRecord.changecompany(ReceiverCompany);
ReceiverRecord.transferfields(SenderRecord, true);
ReceiverRecord.CheckRecord;
if not ReceiverRecord.insert then
ReceiverRecord.modify;
Этот вариант мне непонятен.
Как инициировать процесс синхронизации в фирме-приёмнике если изменяется запись в фирме-источнике?
Триггер OnModify сработает в фирме-источнике на той записи, которая была изменена.

С удалением как раз всё просто.
Перед удалением вызывать процедуру синхронизации и в фирме-приёмнике удалять запись по значению ключевого поля.
А вставка аналогична изменению. Будет сделано изменение, аналогично можно будет и на вставку сделать.

Цитата:
Сообщение от romeo Посмотреть сообщение
Кстати, может таблицу общефирменной сделать? )))
Не получится. В каждой из фирм могут быть как общие записи так и свои собственные независимые от другой фирмы записи.


Пока что всё свелось к более простому варианту с использованием NAS.
При изменении устанавливать флажок(в таблице, которая хранит значения первичного ключа таблицы и тип синхронизации=Вставка,Изменение,Удаление), что запись была изменена.
И по таймеру запускать процедуру синхронизации.
Досконально этот способ проверю чуть позже.