Modber Сообщество
профессионалов по 1С

  
Сообщений: 1

0
Здравствуйте. Есть рабочая среда 1С предприятие. Я не работаю с 1С, ответственный работник 1С ушел, новый - молодой. Нужно в среде 1С соединиться с ms sql server 2008 r2 и выполнить процедуру сервера, возвращающую набор строк. Этот набор строк будет далее применяться в среде 1С. Сервер 2008 r2 обслуживает задачи, не связанные с 1С. Подскажите, пожалуйста, как выполнить соединение с другим сервером и выполнить его хранимую процедуру.
Сообщений: 6

0
В mssql management tool выбрать нужную базу и вне выполнить скрипт
Сообщений: 3

0
А можно и в самой 1С выполнить код для SQL: [code=1C] Функция Запрос(НомерПоиска) Экспорт // сюда ТекстЗапроса пишем то что хотим выполнить в SQL ТекстЗапроса ="select TripReturnID, GoodStateID, QntWished, QntConfirmed , DateConfirm, ERPCode |from tripsreturnsgoods with (nolock)"; Разгрузки = Новый ТаблицаЗначений; Разгрузки.Колонки.Добавить("НомерРазгрузки"); Разгрузки.Колонки.Добавить("СостояниеТовара"); Разгрузки.Колонки.Добавить("ДатаПодтвержденияРазгрузки"); Разгрузки.Колонки.Добавить("Номенклатура"); Разгрузки.Колонки.Добавить("КоличествоЖдали"); Разгрузки.Колонки.Добавить("КоличествоНаСклад"); Если НЕ СоединитьсяSQL() Тогда Возврат Разгрузки; КонецЕсли; Рез = Новый COMОбъект("ADODB.Command"); Рез.ActiveConnection = БазаSQL; рез.CommandText = ТекстЗапроса; рез.CommandType = 1; Попытка Recordset = рез.Execute(); Исключение Рез = ""; БазаSQL.Close(); Возврат Разгрузки; КонецПопытки; Пока Recordset.EOF() = 0 Цикл СтрРазгрузки = Разгрузки.Добавить(); СтрРазгрузки.НомерРазгрузки = Recordset.Fields(0).Value; СтрРазгрузки.СостояниеТовара = Recordset.Fields(1).Value; СтрРазгрузки.КоличествоЖдали = Recordset.Fields(2).Value; СтрРазгрузки.КоличествоНаСклад = Recordset.Fields(3).Value; СтрРазгрузки.ДатаПодтвержденияРазгрузки = Recordset.Fields(4).Value;//Подтверждения СтрРазгрузки.Номенклатура = Recordset.Fields(5).Value;; Recordset.MoveNext(); КонецЦикла; Рез = ""; БазаSQL.Close(); Возврат Разгрузки; КонецФункции Функция СоединитьсяSQL() Экспорт пСоед = Неопределено; пСтрСоед = "Provider=sqloledb;data source=имясервера;initial catalog=имябазы;uid=sa;pwd=здесьпароль"; пСоед = Новый COMОбъект("ADODB.Connection"); пСоед.Provider = "SQLOLEDB"; пСоед.ConnectionTimeout = 15; пСоед.CommandTimeOut= 30; пСоед.ConnectionString = пСтрСоед; пСоед.Open(); If пСоед.State <> 1 Then ОбщегоНазначения.СообщитьОбОшибке( "НЕ Соединились с логистическим контуром!"); Возврат Ложь; EndIf; БазаSQL = пСоед; Возврат Истина; КонецФункции [/code]
В начало страницы 
|
Перейти на форум: