Что бы это сделать нам понадобиться написать следующий код:
//создаем объект COM соединение
База = Новый COMObject("V82.COMConnector");
//Коннектим базу и задаем пользователя и пароль
Результат = База.Connect("File=""C:\Users\НазваниеБазы"";Usr=""ИмяПользователя"";");
//новый Объект запрос на стороне подсоединенной базы
Запрос = Результат.NewObject("Запрос");
Запрос.Текст = "Выбрать * из Справочник.Номенклатура";
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
Сообщить(Выборка.Наименование);
КонецЦикла;
Хочу обратить внимание, что этот вызов можно делать на клиенте и на сервере, Запрос мы создали не в нашей базе на клиенте или сервере, а в присоединенной базе на Внешнем соединении. Это надо иметь ввиду.
Таким образом мы обратимся запросом прямо к справочнику Номенклатура в присоединенной базе. Очень просто, и удобно.
Так же хочется обратить внимание на работу с Excel. Это тоже требуется достаточно часто, и вот достаточно удобный способ чтения данных. Вот такой код:
//Работа с экселем. Создаем вначале объект Ексель приложения
Таблица = Новый COMObject("Excel.Application");
//Создаем книгу, открывая файл
Книга = Таблица.Workbooks.open("C:\11.xlsx");
//Выбираем рабочий лист, по индексу или наименованию
Лист = Книга.WorkSheets(1);
//Доступ к значениям ячеек по cells(x,y).value
Сообщить(Лист.cells(1,1).value);
Сообщить(Лист.cells(1,2).value);
Сообщить(Лист.cells(2,1).value);
Сообщить(Лист.cells(2,2).value);
//Закрываем эксель обязательно, иначе процесс будет висеть
Таблица.quit();
Тоже всё достаточно просто, надо только обратить внимание на тот факт, что надо закрывать Эксель. Тут надо знать объектную модель самого Экселя, тогда всё станет понятно.
Выглядит иерархия объектов так: APPLICATION -> WORKBOOKS -> WORKSHEETS -> CELLS -> VALUE. То есть вначале создаем APPLICATION , потом WORKBOOKS, обращаемся отсюда к нужному листу по WORKSHEETS , а потом к нужной ячейке на листе по cells(x,y).value.
Вопросы можно писать в комментарии,
Комментариев нет:
Отправить комментарий