Да, и возможно даже для этого подойдет входящий в Прогресс модуль Обмен бизнес-документами. Импорт-экспорт каталога МЦ там есть, и фильтры выставить можно.
Можно написать демона на Дельфях, который будет напрямую читать из БД каталог МЦ и проверять полноту его в остальных БД. Тогда без файлов, но через стороннюю программу.
Тогда легко триггерами.
Делается процедура синхронизации конкретной МЦ и вызывается в триггере t$katmc_U. Можно ее вызывать и в t$katmc_I, но скорее всего бессмысленно. Видимо придется ее же вызывать и из триггреров t$katotped и т.д. Вторая процедура будет идти по t$katmc и для каждой вызывать первую. Полная синхронизация.
С удалением (t$katmc_D) посложнее будет. Процедура будет несколько другая, но несложная.
hope писал(а):А может просто в триггрерах сразу прописать изменение/добавление/удаление в других базах?
нет, это ошибочное решение! Пишите отдельную процедуру и ее вызывайте в тригере одной строчкой! Иначе будете при малейшем изменении процедуры обмена переписывать все 3х3=9 тригеров, оно вам надо?
Нашли уже готовую программулину, в которой настраиваются правила синхронизации и она вроде как все без проблем синхронизирует - сейчас тестируем - может такой вариант нас устроит.
Если можно выделить головную базу (A) для изменения каталогов, а в других каталоги руками не менять, то просто :
в A:
Select * from katmc to dbf d:\katmc;
в остальных:
Import katmc from DBF d:\katmc fsn;
// из DBF будут добавлены только новые
Import katmc from DBF d:\katmc fsn R;
// перебьёт совпадающие на то, что в DBF