Упрощаем разработку взаимодействия с СУБД в http-сервисах OneScript

Публикация № 839172

Разработка - Языки и среды - OneScript

14
В статье описана библиотека и подсистема, позволяющие упростить разработку взаимодействия с СУБД в http-сервисах OneScript

Введение

В отличие от платформы 1С:Предприятие, которая имеет информационную базу для хранения данных, в OneScript такой возможности пока нет и для хранения и манипуляции данными надо напрямую взаимодействовать с СУБД. Для работы с СУБД в OneScript, есть наиценнейшая библиотека OneScript SQL, за что огромное спасибо и низкий поклон ret-Phoenix,  которая позволяет выполнять произвольные SQL запросы в различных СУБД и без которой, создание более-менее серьезных приложений было-бы невозможно. Поскольку я создаю и отлаживаю web-приложения в среде 1С:Предприятие с использованием каркасной конфигурации, а библиотека была написана до появления http-сервисов OneScript, при создании и отладке кода с ее использованием, возникают определенные неудобства, связанные с переносимостью кода и невозможностью отладки из среды 1С:Предприятие.

К примеру, так выглядит исходный код одного из http-сервисов демонстрационной конфигурации Yep Cart:

 

Как можно увидеть, код взаимодействия с СУБД закомментирован в среде 1С:Предприятие и должен проверяться и отлаживаться отдельно, что неудобно.

Для того, чтобы облегчить создание кода, взаимодействующего с СУБД в http-сервисах OneScript, была создана настоящая библиотека, которая фактически является надстройкой над библиотекой OneScript SQL, выполненной на основе механизма обработок. В настоящее время используется слегка модифицированная версия библиотеки, адаптированная для использования совместно с механизмом обработок, однако я надеюсь, что Сергей внесет соответствующие изменения и можно будет использовать в работе оригинальную библиотеку.

Состав библиотеки

Настоящая библиотека состоит из двух частей. Первая часть – это реализация работы библиотеки OneScript SQL совместно с механизмом обработок. Вторая часть – это библиотека COM-объектов и подсистема конфигурации 1С:Предприятие, предназначенная для разработки и отладки в среде 1С:Предприятие.

Библиотека доступна в свежем релизе обновления для http-сервисов OneScript OneScript-AspNetEngine 1.4.0.

Установка и настройка

Установка части для OneScript

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

Установка части для 1С:Предприятие

Сначала необходимо создать информационную базу загрузить конфигурацию, содержащую компоненты библиотеки или внедрить подсистему HTTPСервисыOneScriptКаркаснаяРаботаСУБД в существующую конфигурацию сравнением/объединением.

Теперь, необходимо зарегистрировать COM-классы в системе. Для этого, надо выгрузить содержимое макета (zip-архив) РаботаСУБДCOMОбъект, в папку на диске, где будут храниться dll COM-объектов и разархивировать содержимое архива в эту папку.

Содержимое папки будет иметь следующий вид:

Далее, запускаем cmd от имени администратора и переходим в папку C:\Windows\Microsoft.NET\Framework\v4.0.30319

Для регистрации, выполняем следующую команду:

Regasm /codebase ПутьКПапкеСDll\SqlDataProcessorCom.dll

Если у Вас 64-битная ОС, необходимо создать COM-приложение. Для этого, в панели управления, выбираем Administrative Tools и запускаем оснастку Component Services.

Раскрываем дерево, выбираем COM+ Applications, нажимаем правой кнопкой мыши и выбираем Add New Application.

В открывшемся окне мастера, выбираем Empty App.

На странице выбора типа приложения выбираем Server Application и вводим имя нашего приложения.

На следующих страницах мастера оставляем предлагаемые настройки и нажимаем Next и OK.

Раскрываем в дереве созданное нами приложение, выбираем пункт Components, нажимаем правой кнопкой мыши и выбираем New->Component.

На приветственном экране мастера нажимаем Next, в появившемся окне выбираем Import components that already registered.

В открывшемся окне, выбираем показывать только 32-битные компоненты, находим и выделяем нижеследующие классы:

OScriptSql.Com.DBConnector

OScriptSql.Com.Query

OScriptSql.Com.QueryResult

И нажимаем Next и Finish

Наши компоненты должны появиться в списке компонентов COM+ приложения

Теперь наша библиотека установлена и готова к работе.

Использование библиотеки

Запустим нашу конфигурацию в пользовательском режиме. Как можно увидеть, на рисунке ниже, подсистема содержит два справочника - Запросы СУБД и Параметры соединений СУБД.

В качестве демонстрациоенной СУБД для настоящей статьи была использована СУБД SQLite и БД демонстрационной конфигурации Yep Cart.

Создание параметров подключения к СУБД

Зайдем в форму списка справочника Параметры подключения к СУБД и создадим новый элемент.

При этом: Код – является идентификатором параметров подключения, Строка соединения – строка соединения с СУБД, а Тип СУБД – это тип СУБД, к которой мы будем подключаться.

Поскольку в нашем web-приложении мы будем хранить эти данные в файле web.ini, для упрощения его редактирования нажмем кнопку Сформировать для web.config. В результате будет сформирован текстовый документ с соответствующими ключами, которые необходимо скопировать и вставить в файл web.ini

Создание SQL Запросов

Создадим новый элемент справочника Запросы СУБД. Форма элемента представляет собой импровизированную консоль запросов

Выберем в качестве параметров соединения с СУБД параметры, созданные нами ранее (1). В качестве типа запроса выберем Запрос, так как наш запрос должен возвратить данные (2). Если запрос не возвращает данные, к примеру создает таблицу, необходимо выбрать тип запроса – Команда. Если нам необходимо установить таймаут выполнения запроса отличным, от значения по умолчанию для СУБД, необходимо установить соответствующий чекбокс и ввести желаемое значение таймаута в секундах (3).

В поле Текст запроса, введем запрос, получающий все записи из таблицы product (4) и нажмем кнопку Выполнить запрос (5).

По окончании выполнения, результаты будут отображены в виде табличного документа в нижней части (6).

Теперь создадим запрос, который получает информацию об определенном продукте. Мы будем идентифицировать продукт по полю id, которое является идентификатором продукта.

Для этого, скорректируем запрос, добавив условие where (1).

Затем, создадим параметр (2), где: Имя – имя переменной, значение которой будет устанавливаться в качестве значения параметра, Имя параметра – имя параметра в sql запросе, Значение – произвольный код на языке 1С:Предприятие, который вычисляет значение параметра и присваивает его соответствующей переменной.

Нажмем кнопку Выполнить запрос (3) и просмотрим получившийся результат (4).

Создание кода

Для получения кода на языке 1С:Предприятие, который выполняет запрос, необходимо нажать кнопку Сформировать код.

Полученный код является полностью переносимым между 1C:Предприятие и http-сервисами OneScript и Вы можете вставить его в необходимое место Вашего web-приложения.

Заключение

Надеюсь, настоящая библиотека поможет вам создавать и отлаживать web-приложения OneScript более быстро и эффективно.

P.S.

Еще раз хочу поблагодарить ret-Phoenix за прекрасную библиотеку.

14

Скачать файлы

Наименование Файл Версия Размер
Упрощаем разработку взаимодействия с СУБД в http-сервисах OneScript:
.cf 3,78Mb
30.05.18
2
.cf 3,78Mb 2 Скачать

Специальные предложения

Избранное Подписка Сортировка: Древо
В этой теме еще нет сообщений.
Оставьте свое сообщение

См. также

Динамическое выполнение кода OneScript из 1С:Предприятие 31

Статья Программист Конфигурация (md, cf) v8 Абонемент ($m) OneScript

В статье описан подход, позволяющий динамически выполнять фрагменты кода OneScript из 1С:Предприятие и получать результаты выполнения

1 стартмани

03.11.2018    9696    6    blackhole321    19       

Подборка программ для взаимодействия с ЕГАИС Промо

ЕГАИС (Единая государственная автоматизированная информационная система) - автоматизированная система, предназначенная для государственного контроля за объёмом производства и оборота этилового спирта, алкогольной и спиртосодержащей продукции. Инфостарт рекомендует подборку проверенных решений для взаимодействия с системой.

Синхронизация хранилища 1С и git-репозитория с применением OneScript и Gitsync. Методика и пошаговая инструкция для создания скрипта и его регулярного запуска 198

Статья Системный администратор Программист Архив с данными v8 Абонемент ($m) OneScript

- Настройка репозитория для работы с большими типовыми конфигурациями  - Алгоритм создания скрипта выгрузки и его исходный код  - Обработка исключительных ситуаций  - Рекомендации по дальнейшему развитию процесса 

1 стартмани

14.09.2018    23787    27    Vladimir Litvinenko    90       

Виртуальная дисконтная карта на OneScript 19

Инструменты и обработки Программист Конфигурация (md, cf) v8 УУ Оптовая торговля Розничная торговля Абонемент ($m) OneScript

В статье рассмотрены возможности http-сервисов OneScript для создания бизнес-приложений, на примере демонстрационной конфигурации, реализующей функционал виртуальной дисконтной карты.

1 стартмани

17.07.2018    7240    4    blackhole321    6       

Перенос данных КА 1.1 / УПП 1.3 => БП 3.0 (перенос остатков, документов и справочников из "1С:Комплексная автоматизация 1.1" / УПП 1.3 в "1С:Бухгалтерия 3.0"). Обновлен до версий КА 1.1.115.х, УПП 1.3.130.х! Промо

Разработка позволяет перенести остатки по всем счетам бух.учета в программу "1С:Бухгалтерия предприятия 8", ред. 3.0 на выбранную дату начала ведения учета. Также переносятся документы за период и вся необходимая справочная информация. Правила оперативно обновляю при выходе новых релизов. Рассылка обновлений правил бесплатно в течение 12 месяцев. Есть видеодемонстрация проведения переноса данных. Конфигурации при использовании обмена остаются полностью типовыми. Перенос данных возможен в Бухгалтерию 3.0 версии ПРОФ, КОРП или базовую.

24700 руб.

Платежи через RoboKassa из web-приложения OneScript 17

Статья Программист Конфигурация (md, cf) v8 Абонемент ($m) OneScript

В статье рассмотрен пример организации платежей из web-приложения OneScript через платежную систему RoboKassa

1 стартмани

27.06.2018    6114    4    blackhole321    0       

Создаем сайт ресторана на OneScript 94

Инструменты и обработки Программист Конфигурация (md, cf) v8 Рестораны, кафе и фаст-фуд Абонемент ($m) OneScript

В статье изучаются возможности http-сервисов OneScript по созданию web-приложений на примере сайта ресторана

1 стартмани

19.06.2018    13233    16    blackhole321    63       

Онлайн-курс "Подготовка к экзамену 1С:Эксперт и 1С:Профессионал по технологическим вопросам" с 7 по 24 апреля 2020 г. Промо

На курсе вы получите практические навыки решения задач производительности 1С, в том числе характерных для высоконагруженных информационных систем (более 1000 пользователей). Подготовка к экзамену – только одна из составляющих курса. 70% слушателей приходят за знаниями, которые позволят расти и зарабатывать, делать сложные задачи на крупных проектах.

16450 рублей

HTTP-сервисы OneScript. Каркасная конфигурация 2.0 64

Инструменты и обработки Программист Архив с данными v8 Абонемент ($m) OneScript

В статье описана новая версия конфигурации для создания web-приложений на основе http-сервисов OneScript в среде 1С:Предприятие.

1 стартмани

05.06.2018    11435    28    blackhole321    6       

Yep Cart. Пишем интернет-магазин на http-сервисах OneScript 45

Статья Программист Конфигурация (md, cf) v8 УУ Оптовая торговля Розничная торговля Абонемент ($m) OneScript

В статье описана демонстрационная конфигурация, реализующая простейший интернет магазин на http-сервисах OneScript, интегрированный с 1С:Предприятие.

1 стартмани

16.04.2018    11745    15    blackhole321    33       

INFOSTART MEETUP Krasnodar. 14 февраля 2020 г. Промо

Краснодар станет первым в 2020 году местом, где пройдет региональная встреча IT-специалистов сообщества Инфостарт. Тема мероприятия - управление и технологии автоматизации учета на платформе "1С: Предприятие". Стоимость участия - 5000 рублей. Цена действительна до 26.12.2019.

Yep - простая flat-file CMS на OneScript 41

Статья Программист Архив с данными v8 1cv8.cf Абонемент ($m) OneScript

В статье рассмотрено создание простейшей flat-file CMS, на основе каркасной конфигурации для web-приложений OneScript, в среде 1С:Предприятие.

1 стартмани

02.03.2018    12821    7    blackhole321    32       

Конфигурация для создания web-приложений OneScript из 1С:Предприятие 113

Статья Программист Архив с данными v8 1cv8.cf Абонемент ($m) OneScript

В статье описана методика создания web-приложений OneScript на основе каркасной конфигурации в среде 1С:Предприятие

1 стартмани

23.02.2018    17872    20    blackhole321    67       

Новый раздел на Инфостарте - Electronic Software Distribution Промо

Инфостарт напоминает: на нашем сайте можно купить не только ПО, связанное с 1С. В нашем арсенале – ESD-лицензии на ПО от ведущих вендоров: Microsoft, Kaspersky, ESET, Dr.Web, Аскон и другие.

  • Низкие цены, без скрытых платежей и наценок
  • Оперативная отгрузка
  • Возможность оплаты с личного счета (кешбек, обмен стартмани на рубли и т.п.)
  • Покупки идут в накопления для получения скидочных карт лояльности Silver (5%) и Gold (10%)

Создаем "кроссплатформенную" библиотеку для OneScript и 1С:Предприятие 48

Статья Программист Конфигурация (md, cf) v8 Абонемент ($m) OneScript

Описана методика создания внешних компонент для OneScript и 1С:Предприятие, переносимых на уровне прикладного кода.

1 стартмани

05.02.2018    12799    4    blackhole321    7       

Знакомимся с HTTP-сервисами в OneScript 88

Статья Программист Архив с данными v8 1cv8.cf Абонемент ($m) OneScript

В статье описан механизм HTTP-сервисов в OneScript, а также приведен пример интеграции и совместной работы с 1С:Предприятие

1 стартмани

15.01.2018    16215    20    blackhole321    22