Имя: Пароль:
1C
1C 7.7
v7: Внешние источники данных для файловой 7-ки
0 Сергиус
 
25.09.13
17:49
Можно ли вообще ее так подключить и если да,то какая должна быть строка соединения в таком случае? Какой драйвер использовать?
1 Мимохожий Однако
 
25.09.13
18:15
Вероятно, надо использовать дополнительные библиотеки. А какой источник интересует кроме клавиатуры и мышки?
2 Mashinist
 
25.09.13
18:28
(0) ODBC

Как-то цеплялся к DBF-кам... но там же получается, что каждую таблицу нужно руками описывать.

для пробы даже отчет соорудил по ДБФ
3 Эльниньо
 
25.09.13
21:15
Даже к файрбёрду можно 1c 7.7 и firebird 2.2
4 Aleksey
 
25.09.13
21:19
Например подключение к екселю и считывание данные

db=CreateObject("ADODB.Connection");
db.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+НазваниеФайла+";Extended Properties=""Excel 8.0;HDR=NO;IMEX=1;""";
db.Open();

Catalog = СоздатьОбъект("ADOX.Catalog");
Catalog.ActiveConnection = db;
ИмяЛиста=Catalog.Tables.Item(0).Name;
    
rs=CreateObject("ADODB.Recordset");
rs.ActiveConnection = db;
rs.CursorType = 3;
rs.LockType = 2;
rs.Source = "Select * from ["+ИмяЛиста+"A1:AZ]";
rs.Open();

// Инициализируем колонки
тзДанных = СоздатьОбъект("ТаблицаЗначений");
Для iCount = 0 По rs.Fields.Count-1 Цикл
тзДанных.НоваяКолонка(,,,,rs.Fields.Item(iCount).Name,15,,);
КонецЦикла;

// Перебор данных
rs.MoveFirst();                
Пока rs.EOF() = 0 Цикл
тзДанных.НоваяСтрока();
Для iCount = 0 По rs.Fields.Count-1 Цикл
  тзДанных.УстановитьЗначение(тзДанных.КоличествоСтрок(),iCount+1,rs.Fields(iCount).Value);
КонецЦикла;
rs.MoveNext();  
КонецЦикла;
rs.Close();    db.Close();    db = "";rs = "";
5 Сергиус
 
25.09.13
21:56
(2)(4) Проблема как раз с составлением самой строки подключения..Какого провайдера использовать? Если кто-то такое делал, то возможно привести пример?
6 Сергиус
 
25.09.13
21:58
(2) Т.е. если я тебя правильно понял, надо строить соединение к каждому файлу dbf отдельно?
7 Сергиус
 
25.09.13
22:00
Пока нет возможности проверить, но такое соединение должно прокатить?

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\folder;
Extended Properties=dBASE IV;User ID=Admin;Password=; ?
8 Aleksey
 
25.09.13
22:04
(5) Ну это как раз проше паренной репы

http://www.connectionstrings.com/
9 Aleksey
 
25.09.13
22:06
(6) не факт
Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;Dbq=c:\mydbpath;
"select * from thefile.dbf"
10 Torquader
 
26.09.13
00:38
1С 7.7. умеет в монопольном режиме читать и писать dbf-файлы.
Ну и текстовые файлы без нулей внутри.
Всё остальное - это OLE-объекты, через которые можно и соединения получать и с данными работать, но к 1С они  относятся точно также, как к VbScript и т.п.
Поэтому, можно брать любой пример на VbScript и переводить в 1С - будет работать точно также, и точно также не получится работать с событиями (как в голом VbScript без WScript).
11 Сергиус
 
26.09.13
11:10
(9) Такой способ подключения помогает - только встает вопрос с русской кодировкой в получаемой выборке? Какие параметры надо задавать?
12 Сергиус
 
26.09.13
11:17
Нашел решение:

"HKEY_LOCAL_MACHINE\Software\microsoft\jet\4.0\Engines\Xbase DataCodePade=OEM <== поменяй на ANSI "
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn