Как запустить на выполнение проект Экстрактора, используя COM-соединение из другой базы 1С ?
Это возможно сделать только в версиях Экстрактора начиная с 2.12.
Для того, чтобы сделать это, понадобится настроить COM-соединение с базой, где установлен Экстрактор 1С.
Можете воспользоваться готовым скриптом модуля формы обработки:
&НаСервере Процедура ВыполнитьНаСервере() Попытка Соединитель = Новый COMОбъект ("V83.COMConnector"); //здесь Объект - это обработка, в ней 4 реквизита для подключения к базе. подключение = Соединитель.connect("Srvr="""+Объект.Server+""";Ref="""+Объект.Base+""";usr="""+Объект.Login+""";Pwd="""+Объект.Password+""";"); //строка подключения к файловой базе будет выглядеть примерно так: //подключение = Соединитель.Connect("File=""c:\InfoBases\Trade"";Usr=""Director"";"); СоединениеУстановленоУспешно=Истина; Исключение СоединениеУстановленоУспешно=Ложь; КонецПопытки; Если СоединениеУстановленоУспешно Тогда // для нашего примера найдем какой-то проект по коду (Ссылку на проект) СсылкаПроекта=подключение.Справочники.Экс_Проекты.НайтиПоКоду("217"); ТекстОшибки=""; Попытка //--------------------------запуск проекта, параметры процедуры: //Экс_МодульВыгрузки.ВыгрузитьПроект(Проект, НомерСтроки = Неопределено, ТекстОшибки, Знач ЗапускатьВФоне) // Где Проект - это ссылка на проект //Если запущено в фоне, то возвращает идентификатор фонового задания, и тогда надо получать сообщения ФЗ. Если они есть - то это ошибки. //Также после запуска надо проанализировать ТекстОшибки, т.к. ФЗ могло не запуститься //Если запуск не в фоне, то ждем выполнения и анализируем ТекстОшибки //в нашем примере мы запустим проект не в фоне: подключение.Экс_МодульВыгрузки.ВыгрузитьПроект(СсылкаПроекта, , ТекстОшибки, Ложь); Исключение Сообщить (ТекстОшибки); КонецПопытки; Сообщить ("Готово!"); КонецЕсли; КонецПроцедуры &НаКлиенте Процедура ВыполнитьКлиент(Команда) //процедура команды формы обработки ВыполнитьНаСервере(); КонецПроцедуры
Внимание!
Для работы такого соединение необходимо зарегистрировать соответствующую библиотеку: