Микро сервис для работы с запросами SQL

13.12.20

Разработка - Инструментарий разработчика

Альтернатива COM соединению с SQL базой, обработка запроса.

Бесплатные

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Узнавайте о новых бесплатных решениях в нашей телеграм-группе Инфостарт БЕСПЛАТНО

Наименование Скачано Бесплатно
Микро сервис для работы с запросами SQL
.rar 2,11Mb
65 Скачать бесплатно

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

Доброго дня, коллеги.

В недавнем прошлом (пару месяцев назад) столкнулся с интеграцией 1С: БП Корп 3.0 и написанной на Delphi собственной разработкой компании, в качестве "хранилки" использовалась MS SQL 2012. Все нюансы опущу, суть в том, что пришлось переписывать все SQL запросы, т.к. не отвечали требованиям заказчиков по функционалу, естественно запрос данных в скулю шел с использованием COM объекта. Вещь хорошая но работать в временными таблицами, и задержками сервера сложновато, зачастую просто вылетало соединение у пользователя)

Недолго подумал, и написал микросервис API для работы с запросами SQL через http.

В данном решении SQL запрос = строка, включайте параметры сразу в текст, . Оператор(liba) в решении Dapper - работает быстро) 

Картинка №1 - вызов из Postman

Картинка №2 -  из отладчика в 1С

ниже код(пример) для обращения к API из 1С 8.х (для тех кому лень писать:)): простой и понятный ... 

результат: Массив структур ... все данный тип - строка (это не проблема для 1с))

**строка подключения и имена таблиц естественно Ваши))

 
&НаКлиенте
Процедура Получить(Команда)
    
    /// 1. **************** Готовим структуру для отправки в теле POST запроса
    СтрокаПодключения = "Server=tcp:127.0.0.1;User=admin;Password=admin;Integrated Security=false";
    ТаймАутСек = 240;
    СтрокаЗапрос = "SELECT cl.INN as INN, ma.Email 
                    |FROM [dbo].[Clients] cl 
                    |JOIN [dbo].[Contracts] co ON cl.ID = co.client_id AND cl.owner_ID = co.client_owner_ID 
                    |JOIN [dbo].[CRM_Email] ma ON co.id = ma.Contract_id AND co.owner_ID = ma.Contract_owner_ID 
                    |WHERE ma.EAddressType = 0  AND (cl.INN like ('__________/_________') or cl.INN like ('____________')) 
                    |AND NOT ma.Email = '' AND cl.INN = '143405682108'
                    |GROUP BY cl.INN, ma.Email ";
    
    СтуктураОтправки = Новый Структура;
    СтуктураОтправки.Вставить("ConnectionString", СтрокаПодключения);
    СтуктураОтправки.Вставить("TimeOutInSecond",ТаймАутСек);
    СтуктураОтправки.Вставить("StringRequest", СтрокаЗапрос);
    
    /// 2. *************************************************************
    
    Запись = Новый ЗаписьJSON;       // Закатываем в json
    Запись.УстановитьСтроку();
    ЗаписатьJSON(Запись, СтуктураОтправки);  // штатный сериализатор))
    СтрокаЗаписи = Запись.Закрыть();
    
    ///3.  ********************* отправляем запрос API
    
    Соединение = Новый HTTPСоединение("localhost", 5000);
    
    Запрос = Новый HTTPЗапрос();
    Запрос.АдресРесурса = "/api";
    Запрос.Заголовки.Вставить("Content-type", "application/json; charset=utf-8");
    Запрос.Заголовки.Вставить("Accept","application/json");
    Запрос.УстановитьТелоИзСтроки(СтрокаЗаписи, КодировкаТекста.UTF8, ИспользованиеByteOrderMark.НеИспользовать);
    
    Результат = Соединение.ОтправитьДляОбработки(Запрос); // код 200 все ОК!!! если нет читаем ошибку
    Ответ = Результат.ПолучитьТелоКакСтроку();
    
    //4. **************************** читаем ответ 
    Чтение = Новый ЧтениеJSON;
    Чтение.УстановитьСтроку(Ответ);
    Данные =  ПрочитатьJSON(Чтение); // Массив структур на выходе
    
    Чтение.Закрыть()
    
КонецПроцедуры
 


ссылка исходники на github С#, NET.Core 5:

https://github.com/illyashenko/WebApp1-SQL

для запуска нужен будет ASP.NET необходимо доустановить в Винде.

Вложен архив, зарелизен по локалку.

Вступайте в нашу телеграмм-группу Инфостарт

SQL API http

См. также

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP, УНФ, КА и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы, интерфейс 8.5. Может выполнять свертку одновременно в несколько потоков, а также без непосредственного участия пользователя. Решение в Реестре отечественного ПО.

24900 руб.

20.08.2024    73090    370    170    

320

Инструментарий разработчика Роли и права Запросы СКД Программист Руководитель проекта 1С:Предприятие 8 Платные (руб)

Инструменты для разработчиков 1С 8.3: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

16500 руб.

02.09.2020    264939    1476    421    

1175

Пакетная печать Печатные формы Инструментарий разработчика Программист 1С:Предприятие 8 Платные (руб)

Расширение для создания и редактирования печатных форм в системе 1С:Предприятие 8.3. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и прозрачность разработки, а также навести порядок в многообразии корпоративных печатных форм. Обновление версии от 21.04.26

22570 руб.

06.10.2023    39417    111    48    

125

Инструментарий разработчика Нейросети Платные (руб)

Первые попытки разработки на 1С с использованием больших языковых моделей (LLM) могут разочаровать. LLMки сильно галлюцинируют, потому что не знают устройства конфигураций 1С, не знают нюансов синтаксиса. Но если дать им подсказки с помощью MCP, то результат получается кардинально лучше. Далее в публикации: MCP для поиска по метаданным 1С, справке синтакс-помощника и проверки синтаксиса.

15250 руб.

25.08.2025    60270    122    36    

134

Инструментарий разработчика Разработка Администрирование веб-серверов Системный администратор Программист Бизнес-аналитик Руководитель проекта 1С 8.3 Платные (руб)

Analyzer 1C сводит выгрузку 1С — основную конфигурацию и все расширения — в единый граф знаний. Любой запрос по связям за доли секунды, с пометками «Доб.» / «Заимств.» / «Переопределено». Новое в 2.0 — обновление поставки: сравнение и объединение версий деревом «как в Конфигураторе» с выгрузкой плана решений; поиск конфликтов из-за перехватов расширений и висячих ссылок; загрузка из бинарных .cf/.cfe; циклические зависимости. Плюс анализ влияния, запросы BSL, роли и RLS, граф вызовов. Минута на развёртывание через Docker без необходимости подключения к Интернет. Любая 1С:Предприятие 8.3+.

14000 руб.

17.04.2026    7406    31    42    

45

Инструменты администратора БД Инструментарий разработчика Роли и права Программист 1С:Предприятие 8 1C:Бухгалтерия Россия Платные (руб)

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

17000 руб.

10.11.2023    26035    97    46    

104

Мастера заполнения Поиск данных Инструментарий разработчика Подбор и обработка объектов 1С 8.3 1С 8.5 Платные (руб)

Infostart MagicInput улучшает подбор в полях ввода 1С: ищет по любой части названия и по нескольким ключевым фрагментам, распознаёт ввод в другой раскладке и показывает иконки/статусы объектов прямо в списке. Поддерживает вставку навигационной ссылки/представления документа для автоподбора; для разработчиков доступны поиск по GUID и полному имени предопределённого. Работает в управляемых формах и подключается в большинстве конфигураций 1С 8.3/8.5.

6000 руб.

25.02.2026    4393    16    1    

20

Информационная безопасность Инструменты администратора БД Инструментарий разработчика Учет документов Системный администратор Программист Бизнес-аналитик Бухгалтер Пользователь Руководитель проекта 1С 8.3 1С 8.5 Розничная и сетевая торговля (FMCG) Платные (руб)

Контроль ввода данных в 1С: проверка заполнения реквизитов, обязательные поля, контроль перед записью и проведением, запрет проведения документа. Позволяет настраивать любые проверки данных в 1С 8.3/8.5 от обязательных полей до сложных условий – без открытия конфигуратора и написания кода. Готовое расширение, которое подключается и работает сразу.

6000 руб.

15.04.2026    2298    6    0    

21
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. madgahed 13.12.20 22:43 Сейчас в теме
А чем внешние источники не устроили? В них есть и чтение и запись. Да и хранимые функции/процедуры можно использовать.
2. ivan1703 82 13.12.20 23:51 Сейчас в теме
(1) внешняя база имеет объём 1,5 тб
3. German 415 15.12.20 13:37 Сейчас в теме
(2)иии?
Размер базы не имеет никакого значения во ВнешИсточниках
11. ivan1703 82 15.12.20 14:59 Сейчас в теме
(3) у меня есть пример и опыт использования внешних данных, могу вне этой статьи написать отдельно, там и обсудим
4. Cерый 30 15.12.20 14:02 Сейчас в теме
Как получилось добавить вложение бесплатно?
10. ivan1703 82 15.12.20 14:58 Сейчас в теме
(4)
При отправке на модерации, предложили вложение сделать бесплатно, тк в статье есть исходники, изначально можно только 1см ставить
Cерый; +1 Ответить
5. Rashid80 33 15.12.20 14:07 Сейчас в теме
а как параметры в запрос передавать?
6. ivan1703 82 15.12.20 14:28 Сейчас в теме
(5) сразу в текст запроса, если программно, из 1с сразу врезайте
7. smit1c 107 15.12.20 14:30 Сейчас в теме
А что за программа на скрине ?
8. ivan1703 82 15.12.20 14:48 Сейчас в теме
(7) Картинка №1 - вызов из Postman

Картинка №2 - из отладчика в 1С
9. ivan1703 82 15.12.20 14:49 Сейчас в теме
12. Aletar 15.12.20 16:14 Сейчас в теме
(3) Во внешних источниках, например, нельзя указать таймаут операции... Ну или я не знаю как.
13. mkalimulin 1628 16.12.20 16:51 Сейчас в теме
Вопрос не по теме, извините. А что уже можно выкладывать разработки бесплатно? Как давно?
14. ivan1703 82 16.12.20 17:41 Сейчас в теме
При отправке на модерацию, модератор предложил вложение сделать бесплатным (как я и хотел), т.к. в статье есть исходники (ссылка на github), изначально можно только 1sm ставить
Для отправки сообщения требуется регистрация/авторизация