Страница 2 из 3
					
				
				Добавлено: 11 дек 2008, 18:40
				 m0p3e
				Если речь только о МЦ то такой экспорт/импорт пишется и отлаживается за неделю. И работать будет надежнее корпы 

 
			
					
				
				Добавлено: 11 дек 2008, 19:58
				 sim
				Да, и возможно даже для этого подойдет входящий в Прогресс модуль Обмен бизнес-документами. Импорт-экспорт каталога МЦ там есть, и фильтры выставить можно.
			 
			
					
				
				Добавлено: 12 дек 2008, 09:43
				 hope
				Вы говорите об обмене данными через файлы?
Хочется без всяких файлов - сразу положить во все базы новые МЦ.
			 
			
					
				
				Добавлено: 12 дек 2008, 11:18
				 m0p3e
				Можно написать демона на Дельфях, который будет напрямую читать из БД каталог МЦ и проверять полноту его в остальных БД. Тогда без файлов, но через стороннюю программу.
			 
			
					
				
				Добавлено: 12 дек 2008, 11:48
				 hope
				Понятно! Спасибо за идеи!
А через триггеры реально сделать?
			 
			
					
				
				Добавлено: 12 дек 2008, 12:23
				 m0p3e
				А базы все на MSSQL? На разных серверах?
			 
			
					
				
				Добавлено: 12 дек 2008, 14:53
				 hope
				Базы все на MS SQL. Скорее всего на одном сервере будут. 7.12 планируется.
			 
			
					
				
				Добавлено: 12 дек 2008, 15:10
				 m0p3e
				Тогда легко триггерами.
Делается процедура синхронизации конкретной МЦ и вызывается в триггере t$katmc_U. Можно ее вызывать и в t$katmc_I, но скорее всего бессмысленно. Видимо придется ее же вызывать и из триггреров t$katotped и т.д. Вторая процедура будет идти по t$katmc и для каждой вызывать первую. Полная синхронизация. 
С удалением (t$katmc_D) посложнее будет. Процедура будет несколько другая, но несложная.
			 
			
					
				
				Добавлено: 15 дек 2008, 08:46
				 hope
				А может просто в триггрерах сразу прописать изменение/добавление/удаление в других базах?
			 
			
					
				
				Добавлено: 15 дек 2008, 09:59
				 PViP
				hope писал(а):А может просто в триггрерах сразу прописать изменение/добавление/удаление в других базах?
нет, это ошибочное решение! Пишите отдельную процедуру и ее вызывайте в тригере одной строчкой! Иначе будете при малейшем изменении процедуры обмена переписывать все 3х3=9 тригеров, оно вам надо?  

 
			
					
				
				Добавлено: 15 дек 2008, 17:04
				 hope
				Понятно! Спасибо ВСЕМ!
Нашли уже готовую программулину, в которой настраиваются правила синхронизации и она вроде как все без проблем синхронизирует - сейчас тестируем - может такой вариант нас устроит.
			 
			
					
				
				Добавлено: 18 дек 2008, 15:34
				 lStep
				Если можно выделить головную базу (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
			 
			
					
				
				Добавлено: 22 янв 2009, 12:41
				 hope
				Сторонними программами не получилось сделлать - они не понимают тип COMP.
Все-таки придется писать обмен.
lStep! Как в в коде интерфейса запустить указанные вами запросы (выполнить запрос)?
			 
			
					
				
				Добавлено: 22 янв 2009, 12:51
				 Алексей
				тип comp надо приводить к строке. в ASDK где-то читал, там показано как сделать.
			 
			
					
				
				Добавлено: 22 янв 2009, 13:21
				 Den
				hope писал(а):
lStep! Как в в коде интерфейса запустить указанные вами запросы (выполнить запрос)?
Посмотрите любой конвертер.