helpf.pro
Регистрация

Взаимосвязь SQLServer 2005 и 1С 8.2

DDD2006
20.05.2011 11:31Прочитано: 3582
Есть база SQLDB пациентов NIB, FIO, Adress

как из 1С файловой подключиться к этой базе?
как по NIB заполнить поля?

Можно ли через компановку данных делать отчеты по этой базе?
Yandex
Возможно, вас также заинтересует
Реклама на портале
IKSparrow
20.05.2011 12:40Ответ № 1
Например, ты можешь высосать данные из той базы в 1С таким образом:


Код 1C v 8.2 УП
 	Запрос = Новый COMОбъект("ADODB.Recordset");
Св = Новый COMОбъект("ADODB.Connection");

Св.CursorLocation = 3;
Запрос.CursorType=3;
Св.ConnectionTimeout=6000;

СтрокаСвязи="Provider=SQLOLEDB.1;Password=;Persist Security Info=True;User ID=KUKU;Initial Catalog=KUKU;Data Source=SQL-T";

Св.Open(СтрокаСвязи);
ТекстЗапроса="
|S_elect [NIB] AS NIB
|,[FIO] AS ФИО
|,[Adress] AS Адрес
|FROM [KUKU].[dbo].[TabName]
|WHERE [report_date] >= '###' AND [report_date] <= '$$$'";

ДатаНачала = Формат(НачПериода,"ДФ=yyyyMMdd");
ДатаКонца = Формат(КонПериода,"ДФ=yyyyMMdd");

ТекстЗапроса = СтрЗаменить(ТекстЗапроса,"###",ДатаНачала);
ТекстЗапроса = СтрЗаменить(ТекстЗапроса,"$$$",ДатаКонца);

Запрос=Св.Execute(ТекстЗапроса);
Пока (Запрос.eof() = 0) Цикл
СтрТЗ = ТЗОтчётов.Добавить();
Состояние("Загрузка данных из базы "+ТЗОтчётов.Индекс(СтрТЗ)+" из "+Запрос.RecordCount());
Запрос.MoveNext();
КонецЦикла;


СКД на ту базу натравить не сможешь.
IKSparrow
20.05.2011 12:41Ответ № 2
Заполнить поля в той базе сможешь по аналогии с чтением, только используй I_nsert (вставка новой записи) или UPDATE (обновление существующей записи).
Подсказка: Вы получили ответ на свой вопрос - закройте вопрос!
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.