Содержание:
1. Формирование объекта ADOdb.Connection
3. Получение и обработка результата работы команды
В данной статье будет рассмотрено взаимодействие 1С и ADOdb. Но вначале вкратце опишем, что из себя представляет ADOdb. Итак, ADOdb – это библиотека-функция для программного обеспечения, которая создает прикладной интерфейс для способа доступа к базам данных таких языков, как Python и PHP. Данная библиотека даёт разработчику инструменты, которые позволяют делать приложения не программируя каждый возможный тип источника данных. Также используя ADOdb, программист 1С получает возможность перемены в СУБД (Система управления базами данных), не внося исправлений в главную часть кода.
ADOdb может применяться совместно с системами 1С, например, для получения доступа к таблицам в базе данных 1С при помощи методов ADO. Методы ADO и SQL-DMO разрешают исполнять командование доступом и модификацию данных при помощи функций T-SQL (расширение SQL). В обоих случаях порядок действий будет одинаковым. Рассмотрим же его подробнее!
1. Формирование объекта ADOdb.Connection
Формирование объекта ADOdb.Connection
Реализовали мы данное действие в глобальном модуле, то есть существует объект до тех пор, пока сеанс в 1С открыт – по окончанию работы удалять не нужно.
2. Отправка команды серверу
Для того чтобы сформировать команду, необходимо создать объект ADOdb.Command, после чего привязываем его к нынешнему соединению:
Привязка объекта ADOdb.Connection к соединению
Далее задаётся непосредственно команда:
Команда для объекта ADOdb.Connection
Текст в команде – это некий оператор из T-SQL или имя процедуры из нашей базы данных.
Чтобы работа программы стала быстрее? можно отметить для объекта ADOdb тип команды (функция «ТипКомандыАдо()»).
Как отметить для объекта ADOdb.Connection тип команды
Примечание: по внутренним настройкам при создании объекта ADOdb.Command стоит тип adCmdUnknow.
Тип команды по умолчанию для объекта ADOdb.Connection
В случае, когда используем процедуру с параметрами, которую храним – нужно внести их в собрание «Parameters» в объекте ADOdb.Command. Создание параметров происходит через функцию CreateParameter в объекте ADOdb.Command:
«CreateParamerer (Name, Value Type, Param type, Param Value)», где:
· Name – название параметра (точно так же, как указано в процедуре, в которой он хранится);
· Value Type – значение параметра по типу, определяем при помощи КонстантаАДО();
· Param Type – тип в параметре («Output» или «Input»), определяем при помощи функции ТипПарамедраАДО();
· Param Value – само значение.
Создание параметров в объекте ADOdb.Command
Функция CreateParameter в объекте ADOdb.Command
Пример создания параметров в объекте ADOdb.Command
Для того чтобы передать параметры в процедуру для хранения, нужно сделать описание каждого параметра в том же порядке, как они записаны в процедуре, где хранятся.
Примечание: параметры с типом Numeric нужно будет конвертировать в строки, а только потом передавать.
3. Получение и обработка результата работы команды
Можно вывести результаты двумя способами:
· как набор с данными, который возвращаем функцией «Execute» из объекта ADOdb.Command;
· как обособленные значения, которые можно передать из той процедуры, где они хранятся, по параметрам с типом OUTPUT.
Выведение результатов работы ADOdb.Command
Стоит обратить внимание, что параметры нумеруются начиная со значения «0». Параметры можно использовать ещё раз, если присвоить им значения через опцию Value.
Конечный набор с записями сможет проходить обработку с начала и до конца цикла и будет обращаться к полям по их названиям. Например:
Обработка набора с начала и до конца года
Когда записи стали не нужными, закрываем их с помощью Rs.Close.
Таким образом, соединив 1С и методы ADOdb, мы получили набор записей при работе с базой данных SQL.
Специалист компании «Кодерлайн»
Айдар Фархутдинов