» Казахстанский Бухгалтерский форум www.balans.kz

1С7.7: Написание SQL запросов

 
Показать сообщения:
Начиная со старых .::. Начиная с новых


Автор: FoXSkr
Добавлено: #1  Вт Июн 08, 2010 14:55:11
Заголовок сообщения: 1С7.7: Написание SQL запросов

База знаний http://balans.kz/viewtopic.php?p=346629#346629

Доброе время суток.

Может кто знает как можно из 1С 7.7 (на языке запросов SQL) написать обработку чтобы выташить данные из SQL табоиц (базы данных не 1С)



Автор: jonni_jonni
Добавлено: #2  Вт Июн 08, 2010 15:23:18
Заголовок сообщения:

Например так:

ADODB_Con = CreateObject("ADODB.Connection");
ADODB_Con.CursorLocation = 3 ;
ADODB_Con.Open("Provider=SQLOLEDB.1; Data Source=SERVER; Initial Catalog=Base1; User ID=sa; Password=123;");

РекордСет = CreateObject("ADODB.Recordset");
ТекстЗапроса = "SELECT
|HEADER,EMPLOYEE_NUMBER,LASTNAME_ENG,MIDDLENAME_ENG,FIRSTNAME_ENG
|FROM Table1)";
РекордСет.Open(ТекстЗапроса, ADODB_Con);
Пока РекордСет.Eof = 0 Цикл
БлаБла = РекордСет.Fields.Item("HEADER").Value
КонецЦикла;



Автор: FoXSkr
Добавлено: #3  Вт Июн 08, 2010 16:43:50
Заголовок сообщения:

Спасибо все работает.
Правда там в цикле нужно переключится на следющию строку выборки.
Если кому интересно вот ссылочка на описание
http://www.askit.ru/custom/progr_admin/m13/13_03_03_ado_recordset_navigating.htm

Добавлено спустя 15 минут 42 секунды:

А почему может быть такая беда?
Делаю запрос (в SQL)

SELECT *
FROM M_DOCS
WHERE (TIPDOC = '05') AND (DATADOC > 01 / 01 / 2010)

Он мне все равно выдает записи за 2003г .... и т.д.

Добавлено спустя 5 минут 16 секунд:

сори запутался... все норм должно быть просто
WHERE (TIPDOC = '05') AND (DATADOC > '20100101')



Автор: FoXSkr
Добавлено: #4  Вт Июн 08, 2010 20:01:42
Заголовок сообщения:

Интересно а почему метод

РекордСет.Fields.Item("HEADER").Value

число возвращает с ошибкой.

Добавлено спустя 7 минут 44 секунды:

пишет
Тип переменной не поддерживается



  

Служба поддержки WWW.BALANS.KZ