19.03.2021 Айдар Фархутдинов 29355
1С и ADOdb

Содержание:

1.       Формирование объекта ADOdb.Connection

2.       Отправка команды серверу

3.       Получение и обработка результата работы команды


В данной статье будет рассмотрено взаимодействие 1С и ADOdb. Но вначале вкратце опишем, что из себя представляет ADOdb. Итак, ADOdb – это библиотека-функция для программного обеспечения, которая создает прикладной интерфейс для способа доступа к базам данных таких языков, как Python и PHP. Данная библиотека даёт разработчику инструменты, которые позволяют делать приложения не программируя каждый возможный тип источника данных. Также используя ADOdb, программист 1С получает возможность перемены в СУБД (Система управления базами данных), не внося исправлений в главную часть кода.


ADOdb может применяться совместно с системами 1С, например, для получения доступа к таблицам в базе данных 1С при помощи методов ADO. Методы ADO и SQL-DMO разрешают исполнять командование доступом и модификацию данных при помощи функций T-SQL (расширение SQL). В обоих случаях порядок действий будет одинаковым. Рассмотрим же его подробнее!  


1.     Формирование объекта ADOdb.Connection


формирование объекта в ADOdb.Connection

Формирование объекта ADOdb.Connection


Реализовали мы данное действие в глобальном модуле, то есть существует объект до тех пор, пока сеанс в 1С открыт – по окончанию работы удалять не нужно. 


2.     Отправка команды серверу


Для того чтобы сформировать команду, необходимо создать объект ADOdb.Command, после чего привязываем его к нынешнему соединению:

 

Привязка объекта ADOdb.Connection к соединению 

Привязка объекта ADOdb.Connection к соединению

 

Далее задаётся непосредственно команда:


 ADOdb.Connection тип команды

Команда для объекта ADOdb.Connection

 

Текст в команде – это некий оператор из T-SQL или имя процедуры из нашей базы данных.

Чтобы работа программы стала быстрее? можно отметить для объекта ADOdb тип команды (функция «ТипКомандыАдо()»).


Как отметить для объекта ADOdb.Connection тип команды

Как отметить для объекта 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

Создание параметров в объекте ADOdb.Command


 

Функция CreateParameter в объекте ADOdb.Command

Функция CreateParameter в объекте ADOdb.Command

 


работа в ADOdb.Command

Пример создания параметров в объекте ADOdb.Command


Для того чтобы передать параметры в процедуру для хранения, нужно сделать описание каждого параметра в том же порядке, как они записаны в процедуре, где хранятся.


Примечание: параметры с типом Numeric нужно будет конвертировать в строки, а только потом передавать.  


3.     Получение и обработка результата работы команды


Можно вывести результаты двумя способами:

·        как набор с данными, который возвращаем функцией «Execute» из объекта ADOdb.Command;

·        как обособленные значения, которые можно передать из той процедуры, где они хранятся, по параметрам с типом OUTPUT.


Выведение результатов работы ADOdb.Command

Выведение результатов работы ADOdb.Command


Стоит обратить внимание, что параметры нумеруются начиная со значения «0». Параметры можно использовать ещё раз, если присвоить им значения через опцию Value.


Конечный набор с записями сможет проходить обработку с начала и до конца цикла и будет обращаться к полям по их названиям. Например:


Обработка набора с начала и до конца года

Обработка набора с начала и до конца года


Когда записи стали не нужными, закрываем их с помощью Rs.Close.

Таким образом, соединив 1С и методы ADOdb, мы получили набор записей при работе с базой данных SQL.


Специалист компании «Кодерлайн»

Айдар Фархутдинов

 

 

Наши проекты

ООО "Смена"
ООО "Смена"

Отрасль:
Торговля, склад, логистика, транспорт

Внедренное типовое решение:
1С:Комплексная автоматизация

Банк и касса
Расчеты с контрагентами
Торговые операции
Взаиморасчеты с покупателями
Оптовая торговля...

Филиал ГлавУпДК при МИД России фирма «Инпредкадры»
Филиал ГлавУпДК при МИД России фирма «Инпредкадры»

Отрасль:
Государственное управление

Внедренное типовое решение:
1С:Бухгалтерия

- Расчеты с контрагентами;
- Управленческий учет;
- Формирование отраслевой отчетности;
- Интеграция с отраслевыми продуктами ст...

ООО "Эскорт-Центр"
ООО "Эскорт-Центр"

Отрасль:
Профессиональные услуги

Внедренное типовое решение:
1С:ERP Управление предприятием 2.0

- Сквозной учет затрат по объектам
- Бухгалтерский учет
- Расчет зарплаты
- Планирование и учет производства собственных изделий ...

СТС-Медиа
СТС-Медиа

Отрасль:
Медиаиндустрия

Внедренное типовое решение:
1С:Управление холдингом

- Бухгалтерский учет;
- Налоговый учет;
- МСФО (GAAP/управленческий учет);
- Казначейство...

Разработка функциональных требований к информсистеме на базе «1С:Управление холдингом 8»
ФГУП «СВЯЗЬ-безопасность»

Отрасль:
Охранные услуги

Внедренное типовое решение:
1С:Управление холдингом

- Зафиксировали процессы по блокам бухгалтерского, налогового учета, казначейства, бюджетного управления, CRM, подсистем закупок и реализаци...

Внедрение ПП "1С:Управление небольшой фирмой 8 ПРОФ" в ООО «Шокостайл»
ООО «Шокостайл»

Отрасль:
Производство

Внедренное типовое решение:
1С:Управление небольшой фирмой 8 ПРОФ

Управление продажами, логистикой и транспортом (SFM, WMS, TMS):
- Планирование продаж;
Склад и логистика:
-Управление складскими ...

ООО «ДАФ Тракс Рус» (DAF Trucks Rus)
ООО «ДАФ Тракс Рус» (DAF Trucks Rus)

Отрасль:
Машиностроение

Внедренное типовое решение:
«1С:Управление корпоративными финансами»

- Осуществлена разработка матрицы прав и ролей для финансового подразделения:
• распределение ролей стало более четким и структурированны...

ООО "ОМЗ"
ООО "ОМЗ"

Отрасль:
Металлургическая промышленность, металлообработка

Внедренное типовое решение:
1С:Управление производственным предприятием

Автоматизация бизнес-процессов...

Автоматизация кадрового учета на базе ПП "1С:Зарплата и управление персоналом" в ТД НМК
ООО «Торговый дом Нальчикский молочный комбинат»

Отрасль:
Торговля

Внедренное типовое решение:
1С:Зарплата и управление персоналом

- Кадровый учет;
- Расчет зарплаты;
- Регламентированная отчетность;
- Анализ кадрового состава;
- Учет рабочего времени; ...

МГК "Световые Технологии"
МГК "Световые Технологии"

Отрасль:

Внедренное типовое решение:
1С:Предприятие 8. ERP Управление предприятием 2

Специалисты "Кодерлайн" произвели доработки в системе 1С:ЕРП 2.4 с учетом требований заказчика, осуществили настройки загрузки и выгрузки н...

1с-РАРУС МСК
1с-РАРУС МСК

Отрасль:
Разработка компьютерного программного обеспечения

Внедренное типовое решение:
1С:Управление корпоративными финансами

- Финансово-бухгалтерский блок
- Казначейство ...

Внедрение блока бухгалтерского учета «1С:Управление производственным предприятием»
ОАО «Издательство «Просвещение»

Отрасль:
Производство

Внедренное типовое решение:
1С:Управление производственным предприятием

Бухгалтерский учет:
- Завершение периода;
- Регламентированная отчетность...

Наши соц. сети

Telegram-канал «Koderline 1С» Группа в Вконтакте «Кодерлайн КОРП» Rutube

Остались вопросы - обратитесь к нам!

Впишите свои Имя и Телефон, чтобы мы ответили на все интересующие Вас вопросы.
ФИО*
E-mail*
Телефон*
Сообщение