|
Хранимые процедуры SQL | ☑ | ||
---|---|---|---|---|
0
doos1981
26.10.11
✎
09:54
|
Есть база SQL(не 1с), в ней написаны несколько процедур (возвращает список контрагентов, передает и записывает в базу список новых/ измененных контрагентов). Как из 1с8 вызвать эти процедуры и будет ли 1с обрабатывать возвращаемые этими процедурами списки?
|
|||
1
Maxus43
26.10.11
✎
09:55
|
нарушение лицензионного соглашение будет имхо
|
|||
2
Defender aka LINN
26.10.11
✎
09:56
|
Соединись через ADO, да и вызывай себе на здоровье
|
|||
3
doos1981
26.10.11
✎
09:57
|
А возвращаемые значения (списки ) будут восприниматься 1с?
|
|||
4
Defender aka LINN
26.10.11
✎
09:58
|
(3) Конечно. Как COM-объекты :)
|
|||
5
ice777
26.10.11
✎
10:03
|
(0) А что такого не дают штатные средства, чтоб через окна мимо двери лазить?
|
|||
6
ДенисЧ
26.10.11
✎
10:03
|
(5) Эммм... Штатные средства для доступа к внешней БД?
|
|||
7
doos1981
26.10.11
✎
10:06
|
Как создать подключение я примерно представляю:
СтрокаСоединения = ("Provider=SQLOLEDB;Driver={SQL Server}; Deleted=No; Data Source = ") + SQLServer +(";UID=") + Login + ("; PWD=") + Password + (";"); Подключение = Новый ComObject("ADODB.Connection"); Подключение.ConnectionString=СтрокаСоединения; А как обратьться к хранимой процедуре? |
|||
8
ДенисЧ
26.10.11
✎
10:07
|
рез = Подключение.Execute("CALL MySP")
|
|||
9
doos1981
26.10.11
✎
10:10
|
CALL MySP - название процедуры?
А как передать параметры? |
|||
10
ДенисЧ
26.10.11
✎
10:11
|
А почитать документацию?
|
|||
11
philll
26.10.11
✎
10:17
|
НаборЗаписей = connection.Execute("p1C_Order_SaleServiceGet NULL, '7714777878', '7714693184', 0, '104257/АВМ/3', '2010.09.29'");
|
|||
12
doos1981
26.10.11
✎
10:23
|
Нет вы не поняли: есть уже написаные хранимые процедуры и в зависимости от передаваемых параметров они выполняют разные варианты запросов и возвращают список. (или записывают измененные или новые данные)
|
|||
13
ДенисЧ
26.10.11
✎
10:23
|
Мы поняли... А ты упорно не желаешь читать документацию...
|
|||
14
philll
26.10.11
✎
11:00
|
ВозвращаемыйСписок = connection.Execute("НаписаннаяПроцедура <передаваемые параметры>");
|
|||
15
ado
26.10.11
✎
11:02
|
(1) Схренали?
|
|||
16
kuza2000
26.10.11
✎
11:06
|
Эх... гуглов на вас мало!
http://msdn.microsoft.com/en-us/library/ms679836(v=VS.85).aspx Прочитай про Command, Parameter и др. |
|||
17
kuza2000
26.10.11
✎
11:09
|
Функция ВыполнитьПроцедуру(Подключение, стрПроцедура, Пар1 = Неопределено, Пар2 = Неопределено, Пар3 = Неопределено, Пар4 = Неопределено) Экспорт
Команда = Новый COMОбъект("ADODB.Command"); Команда.ActiveConnection = Подключение; Команда.CommandType = 4; Команда.CommandText = стрПроцедура; Если Пар1 <> Неопределено Тогда Команда.Parameters.Append(СоздатьПараметр(Команда, Пар1)); КонецЕсли; Если Пар2 <> Неопределено Тогда Команда.Parameters.Append(СоздатьПараметр(Команда, Пар2)); КонецЕсли; Если Пар3 <> Неопределено Тогда Команда.Parameters.Append(СоздатьПараметр(Команда, Пар3)); КонецЕсли; Если Пар4 <> Неопределено Тогда Команда.Parameters.Append(СоздатьПараметр(Команда, Пар4)); КонецЕсли; обРезультат = Команда.Execute(); Возврат обРезультат; КонецФункции Ну и т.д... |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |