|   |   | 
| 
 | Хранимые процедуры 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(); Возврат обРезультат; КонецФункции Ну и т.д... | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |