Выполнение кода и получение данных запросов через HTTP сервис

19.07.20

Интеграция - WEB-интеграция

Универсальное расширение, которое предоставляет доступ к конфигурации через запросы. Позволяет выполнять любой код в конфигурации и получать данные запросов 1С. Код и запросы 1С либо вводятся прямо в базе, либо передаются в запросе http. Для того, чтобы включить возможность выполнять любой код извне, необходимо включить настройку в расширении. Поддерживаются как управляемые, так и обычные формы!

Скачать файл

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

Наименование По подписке [?] Купить один файл
Расширение для выполнения кода и получения данных запросов через HTTP сервис:
.cfe 49,48Kb
9
9 Скачать (2 SM) Купить за 2 150 руб.

Универсальное расширение которое предоставляет доступ к конфигурации через запросы. Позволяет выполнять любой код в конфигурации и получать данные запросов 1с. Код и запросы 1с либо вводятся прямо в базе, либо передаются в запросе http. Для того чтобы включить возможность выполнять любой код извне необходимо включить настройку в расширении.

Добавить расширение в конфигурацию

Добавляете расширение в конфигурацию с помощью пункта меню Расширения.

Опубликовать конфигурацию на веб сервере

Для того чтобы опубликовать сервис, необходимо установить галку "Публиковать HTTP сервисы расширений по умолчанию"

Рис. 1. Публикация сервиса

Заполнить настройки

Для этого зайти в соответствующий справочник и нажать кнопку заполнить. Если желаете чтобы текст запросов 1с и кода мог быть передан извне (дырка в безопасности), то установите константу "Разрешить выполнять произвольный код" в Да. Сделано через справочник чтобы уменьшить требования к релизу платформы.

Добавить алгоритмы и запросы 1с

Для этого зайти в справочник Алгоритмы и добавить нужные алгоритмы и запросы 1с.

Протестировать что все получилось

Для этого можно воспользоваться обработкой Тестирование HTTP сервиса

 

API расширения

После публикации расширения по пути к примеру http://localhost/test

Вызывать сервис нужно под пользователем с ролью расширения: ТсОсновная

Информация о базе:

http://localhost/test/hs/TsExchange/Info

Возвращает информацию о базе

Выполнение запроса 1с

http://localhost/test/hs/TsExchange/RunQuery

Возвращаемое значение: массив структур строк в формате JSON. Обратите внимание что в запросе нельзя в качестве полей указывать ссылочные.

Выполнение кода 1с

http://localhost/test/hs/TsExchange/RunCode

Возвращаемое значение: Значение переменной "ЗначениеВозврата". Если данная переменная не изменяется в теле кода, то будет возвращено Неопределено.

Для просмотра возвращаемых значений можно использовать обработку: Редактирование и просмотр JSON

Тело методов RunCode и RunQuery

Используется JSON.

2 варианта вызова:

1. Используя справочник Алгоритмы

В теле запроса тогда передается имя алгоритма

{

"Имя": "ЗначениеПоляИмяСправочникаАлгоритмы"

}

2. Передавая непосредственно код запроса 1с или код 1с в функцию (для вызова таким способом необходимо явно установить настройку Разрешить выполнять произвольный код)

{

"Текст": "исходный текст запроса или исходный код"

}

к примеру вызов произвольного кода:

Путь: 

http://localhost/test/hs/TsExchange/RunCode

Тело:

{

"Текст": "ЗначениеВозврата=Метаданные.Представление()"

}

Тестировалось на версии 8.3.11.

HTTP сервис обмен запрос код расширение

См. также

Оптовая торговля Розничная торговля WEB-интеграция 1С:Управление торговлей 10 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Платные (руб)

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

57600 руб.

26.11.2024    1235    1    1    

4

Сайты и интернет-магазины WEB-интеграция Системный администратор Программист Пользователь Платформа 1С v8.3 Конфигурации 1cv8 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Интеграционный модуль обмена между конфигурацией Альфа Авто 5 и Альфа Авто 6 и порталом AUTOCRM. Данный модуль универсален. Позволяет работать с несколькими обменами AUTOCRM разных брендов в одной информационной базе в ручном и автоматическом режиме.

36000 руб.

03.08.2020    18354    20    22    

18

Сайты и интернет-магазины Интеграция WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Управленческий учет Платные (руб)

Интеграция 1С и Битрикс 24. Разработка имеет двухстороннюю синхронизацию 1С и Bitrix24 задачами. Решение позволяет создавать пользователя в 1С из Битрикс24 и наоборот. Данная разработка технически подходит под все основные конфигурации линейки продуктов 1С:Предприятие 8.3 (платформа начиная с 8.3.23): 1С:Управление торговлей, 1С:Управление Нашей фирмой 3, 1С:Комплексная автоматизация 2, Объединенное решение: Модуль 1С:CRM 3 (3.0.21.3) +1С:ERP Управление предприятием 2. При приобретении предоставляется 1 месяц бесплатных обновлений разработки. Доступна демо-версия продукта с подключением Вашего Битрикс24

7200 руб.

04.05.2021    20564    13    19    

18

WEB-интеграция Программист Бизнес-аналитик Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Оптовая торговля, дистрибуция, логистика ИТ-компания Платные (руб)

Модуль "Экспортер" — это расширение для 1С, предназначенное для автоматизации процессов выгрузки данных. Оно позволяет эффективно извлекать, преобразовывать и передавать данные из систем 1С в интеграционную платформу Spot2D. Подсистема упрощает настройку, снижает количество ручных операций и обеспечивает удобный контроль данных.

14400 руб.

20.12.2024    320    2    0    

5

WEB-интеграция Программист Руководитель проекта Платформа 1С v8.3 Конфигурации 1cv8 1С:Франчайзи, автоматизация бизнеса Платные (руб)

Расширение значительно упрощает написание API на 1С. Веб программисты получают простой и понятный доступ к 1С. Описание API создаётся автоматически и представляется в виде удобном как для человека, так и для программной обработки.

24000 руб.

27.09.2024    2474    1    0    

3
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. dsdred 3758 19.07.20 16:04 Сейчас в теме
2. vladnet 371 19.07.20 22:41 Сейчас в теме
(1) Ну да у меня есть такое, делаю свои велосипеды) Но мне понадобилось именно такое, может еще кому то понадобится. Тем более в той ссылке которую вы дали больше слов а дела мало. А тут готовое расширение.
3. dsdred 3758 19.07.20 23:36 Сейчас в теме
(2)в той ссылке я описал почему так делать не надо ))
Поэтому там много слов
4. vladnet 371 20.07.20 08:18 Сейчас в теме
(3) Любой костыль может быть где то ограничено применим. Тут кстати есть справочник Алгоритмов, что нивилирует несколько проблем кода. По поводу отладки и замеров кстати тоже можно обойти.
5. dsdred 3758 20.07.20 11:08 Сейчас в теме
(4)Алгоритмы то есть... Но вот эта конструкция:
Путь:

http://localhost/test/hs/TsExchange/RunCode

Тело:

{

"Текст": "ЗначениеВозврата=Метаданные.Представление()"

}

Говорит о том ,что вы позволяете гонять любой код по методу где стоит галочка "выполнить произвольный код". Что не есть хорошо.

П.С. Такое ощущение что у Вас алгоритмы имеют декоративный характер и их проще назвать настройки метода. Вы создали дыру в безопасности.
6. vladnet 371 20.07.20 21:19 Сейчас в теме
(5) По умолчанию все закрыто. Для того чтобы было открыто нужно зайти и принудительно поставить Да, так что не согласен)
7. dsdred 3758 20.07.20 21:58 Сейчас в теме
(6)
По умолчанию все закрыто. Для того чтобы было открыто нужно зайти и принудительно поставить Да, так что не согласен)

Динамит тоже взрывается после неких манипуляций ;)
Оставьте свое сообщение