Существует ли возможностьделать записи из 1С в таблицы SQL другой БД? Читать, как я понял, можно при помощи 1С++. Есть ли в природе решения для записи?
Лучше в базу 1С писать данные средствами 1С. А вот проблема "взять из другой БД" - это дело вкуса. Хоть 1C++, хоть ADO, хоть через промежуточные файлы обменивайтесь.
2(2) Джинн, у меня аналогичная проблема, писать надо в другую базу (есть софт представляющий из себя набор хранимых процедур, ему необходимо предоставить данные из 1с). Пока не определился чем это лучше делать. Не подскажете?
http://www.sinor.ru/~my1c/knowhow/accs_ado.html Только в строке подключения Driver={SQL Server};Server=типа_сервер;Database=типа_база;Uid=sa;Pwd=типа_секретное_слово"
2(5) Да там обычный инсерт... типа: Insert Into Tabel_Add.dbo.ReportStat Values ( ' 1 ', 'Администратор', 'Рабочее время по бригадным нарядам', 'РабочееВремяПоНарядам.ert', '20061024 19:28:30', '20061024 19:28:31' ) Единственно, если БД лежит на другом серваке, то его надо к текущему прилинковать... Запрос = СоздатьОбъект("ODBCRecordSet"); //сейчас прилинкуем сервер упр базы... ТекстЗапроса = " |If @@VERSION like 'Microsoft SQL Server 2005%' | Begin | If Not Exists(Select srv.name From sys.servers srv Where srv.Name = '"+СерверУпрБазы+"') | Exec sp_addlinkedserver @Server = '"+СерверУпрБазы+"' | End |Else | Begin | If Not Exists(Select srv.srvname From master.dbo.sysservers srv Where srv.srvname = '"+СерверУпрБазы+"') | Exec sp_addlinkedserver @Server = '"+СерверУпрБазы+"' | End | |Exec sp_addlinkedsrvlogin "+СерверУпрБазы+", False, 'sa', 'sa', '"+ПарольУпрБазы+"' |";
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда Ошибка = Запрос.ПолучитьОписаниеОшибки(); Если ПустаяСтрока(Ошибка) = 0 Тогда Сообщить("ODBCRecordset error:"+РазделительСтрок+Запрос.ПолучитьОписаниеОшибки()); КонецЕсли; Возврат; КонецЕсли;
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший