Swagger для 1С.

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

Разработка - Системная интеграция - Интеграция с WEB

OneScript Swagger Swagger-UI

Решение для формирования Swagger спецификаций, описывающих HTTP сервисы конфигураций 1С.

Оглавление:

Введение
Простой пример
Инструменты
Настройка Simple-UI
Первый результат
Делаем красиво
Заключение
Благодарности

 

Введение

В данной статья я хотел бы показать решение для создания Swagger спецификаций на основании конфигураций 1С.

Что же такое Swagger спецификация? Небольшая выдержка с Wiki:

The OpenAPI Specification (изначально известная как Swagger Specification)— формализованная спецификация и экосистема множества инструментов, предоставляющая интерфейс между front-end системами, кодом библиотек низкого уровня и коммерческими решениями в виде API. Вместе с тем, спецификация построена таким образом, что не зависит от языков программирования, и удобна в использовании как человеком, так и машиной.

Относительно назначения, OpenAPI рассматривается как универсальный интерфейс для пользователей (клиентов) по взаимодействию с сервисами (серверами). Если спроектирована спецификация для некоторого сервиса, то на её основании можно генерировать исходный код для библиотек клиентских приложений, текстовую документацию для пользователей, варианты тестирования и др. Для этих действий имеется большой набор инструментов для различных языков программирования и платформ.

Все описание создаваемых нами HTTP сервисов на платформе 1С должно бы выглядеть так:

Это позволит публиковать документацию сервисов 1С в общепринятом, стандартизованном формате, общаясь с внешними командами общепринятом в среде профессионалов языке спецификаций API, не дополняя общение постыдными фразами вида "ой, у нас 1С, у нас нет Swagger, наш программист сейчас напишет все в Ворде". Swagger - это документация которая не врет и не отстает от основного кода, поскольку является его продолжением и создается автоматически. Никаких больше "документаций сервиса в Word!"

Что бы получить желаемый результат, мной была создана OneScript библиотека - swagger, которая реализует формирование второй редакции OpenAPI спецификации.

 

Простой пример

Более детальное описание возможностей библиотеки swagger я рассмотрю на примере создания нового HTTP сервиса в произвольной конфигурации. Нижеизложенный текст будет показывать сопоставление содержимого метаданных/модулей конфигурации с визуальным представлением генерируемой спецификации.

 

Постановка задачи

Возникла потребность создать API управления доступом в систему 1С. Необходимые возможности:

  • Получить список всех пользователей
  • Получить все свойства пользователя
  • Изменить все свойства пользователя
  • Изменить одно свойство пользователя
  • Создать нового пользователя
  • Удалить существующего пользователя

 

Подготовка метаданных

Добавим в дерево метаданных новый HTTP сервис:

  • Имя UserAPI (имя сервиса)
  • Синоним API управления доступом (описание сервиса)
  • Комментарий 1.0 (версия сервиса)

Общее описание сервиса

Создадим наборы шаблонов URL:

  1. Для получение списка пользователей:
  • Имя ПользователиСписок
  • Синоним user (tag)
  • Шаблон /user/list (path)
  • Методы:
    • HTTP метод GET
      • Комментарий Получить список пользователей (определение операции)

  1. Для работы с конкретным пользователем:
  • Имя Пользователь
  • Синоним user (tag)
  • Шаблон /user/{userID}
  • Методы:
    • HTTP метод GET
      • Комментарий Получить свойства пользователя (определение операции)
    • HTTP метод PATCH
      • Комментарий Изменить свойство пользователя (определение операции)
    • HTTP метод PUT
      • Комментарий Изменить все свойства пользователя (определение операции)
    • HTTP метод DELETE
      • Комментарий Удалить пользователя (определение операции)

  1. Для создания нового пользователя:
  • Имя ПользовательНовый
  • Синоним user (tag)
  • Шаблон /user
  • Методы:
    • HTTP метод POST
      • Комментарий Создать нового пользователя (определение операции)

Так же платформой были созданы обработчики в модуле HTTP сервиса:

 
 Модуль HTTP сервиса

Болванка нашего сервиса готова.  Выгрузим конфигурацию в файлы, используя каталог D:\ПримерКонфигурация\. Далее займемся установкой и настройкой необходимых инструментов.

 

Инструменты

Установим или обновим OneScript до актуальной версии (на момент написания статьи 1.1.1). Далее установим библиотеку swagger:

opm install swagger

Так же потребуется наличие IIS на своей машине или ином сервере. Но все примеры ниже будут в рамках localhost.

Скачаем содержимое папки dist из официального репозитория Swagger-UI.

Скачаем содержимое папки simple-ui из репозитория библиотеки swagger.

 

Настройка Simple-UI

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

 

Развертывание spec-admin

Описание, создание и публикация HTTP сервисов на OneScript хорошо рассмотрены тут и тут.

В IIS добавим новое приложение:

 

Проверим готовность сервиса обычным GET запросом на:

http://localhost/onec-swagger-admin/list.os

В теле ответа от сервиса мы должны получить "[]".

 

Развертывание Swagger-UI

В IIS добавим новый виртуальный каталог:

Проверим в браузере:

Далее заменим файл index.html в каталоге onec-swagger-ui на аналогичный файл из Simple-UI.

Завершающим этапом откроем в любом редакторе новый файл index.html и заменим в строчке:

var admin_url = 'http://localhost/onec-swagger-admin/'

"localhost" на адрес вашего IIS сервера:

var admin_url = 'http://ВашСерверIIS/onec-swagger-admin/'

 

Первый результат

Из репозитория библиотеки swagger скачаем скрипт upload.os. У нас уже есть выгруженная в файлы конфигурация D:\ПримерКонфигурация\.

Открываем терминал и выполним следующую команду:

oscript upload.os -name SimpleAPI -path D:\ПримерКонфигурация\ -type xml -adminurl localhost/onec-swagger-admin/

Если команда прошла без ошибок, любуемся результатом на http://localhost/onec-swagger-ui/

 

Делаем красиво

Рассмотрим более подробное описание метода PUT /user/{userID}:

Как мы видим, библиотекой swagger в сформированной спецификации явно описан параметр userID с пометкой входящий и расположением в пути запроса. Так же по умолчанию подставляется единственный код ответа сервиса - 200 (см. стандарт RFC7231) и тип данных в теле ответа считается обычным текстом (см. стандарт RFC6838).

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

 

Комментарий по стандарту

В стандартах разработки на ИТС у нас есть такой замечательный документ. Он достаточно подробно показывает как нам правильно описывать свои процедуры и функции.

Воспользуемся данным стандартом, и добавим подробное описание функций в модуле сервиса:

 
 Модуль HTTP сервиса

Обновим спецификацию, проверяем что в каждый метод добавилось описание:

Следующим шагом опишем входящие параметры, которые явно заданы в пути (шаблон /user/{userID}):

 
 Модуль HTTP сервиса

Обновим спецификацию, проверяем описание параметра userID:

Так как в логике работы некоторых методов подразумевается получение данных из тела запроса или в строке самого запроса, добавим в соответствующие комментарии:

  • для методов PUT и POST добавим описание параметра body (ключ-слово библиотеки swagger)
  • для метода PATCH добавим описание параметров property и value (напомню, логика обработки данного метода подразумевает изменение конкретного свойства)
 
 Модуль HTTP сервиса

Обновим спецификацию, проверяем описание параметра body:

а так же для метода PATCH:

 

Комментарий не по стандарту

Рассмотрим ситуацию, что по переданному userID пользователь в системе не был найден. Тогда наш сервис должен вернуть код ответа 404. А если в процессе изменения свойства пользователя в базе 1С произошла ошибка (все же пользуются транзакцией с попыткой) то вернем код ответа 500.

Поскольку потребность описать коды ответов HTTP сервиса не предусмотрена в стандарте ИТС, то в комментарии будем добавлять "нестандартный" блок:

// Коды ответов:
//   XXX - Описание
//

где XXX - код ответа по стандарту RFC7231.

Дописываем изменения в модуле:

 
 Модуль HTTP сервиса

Обновим спецификацию, проверяем блоки Responses:

 

Заключение

На данный момент, библиотека swagger выпущена как минимально жизнеспособный продукт (MVP). В планах стоят следующие задачи:

  1. Добавить поддержку формирования спецификации для конфигурации в формате проекта EDT.
  2. Найти приемлемый способ описания схемы объектов API в конфигурации 1С. Пока я вижу этот момент как описание в комментарии, примерно следующим образом:
// Параметры:
//   body - Объект(json):UserType - Пользователь
//    * Name - Строка - Имя
//    * ShowInList - Булево - Показывать в списке
//    * Roles - Массив из Строка - перечень ролей

что будет соответствовать объекту в json:

{
    "Name": "Name",
    "ShowInList": true,
    "Roles": [
        "Role"
    ]
}

и в спецификации будет описание в схеме:

{
    "definitions": {
        "User": {
            "type": "object",
            "discriminator": "UserType",
            "properties": {
                "Name": {
                    "type": "string"
                },
                "ShowInList": {
                    "type": "boolean"
                },
                "Roles": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    }
                }
            },
            "required": [
                "Name",
                "ShowInList",
                "Roles"
            ]
        }
    }
}
  1. Научиться связывать спецификации с настройками публикации тестовых база и попробовать автотесты.

Буду рад любой конструктивной критике и предложениям.

 

Благодарности

Особую благодарность выражаю Овсянкину Андрею за помощь в подготовке данной статьи, а сообществу OneScript за отличный продукт и прекрасное комьюнити.

 

P.S. Никаких файлов для загрузки, все необходимое доступно по приведенным в статье ссылкам.

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. YPermitin 9978 21.10.19 11:24 Сейчас в теме
2. chg 21.10.19 11:30 Сейчас в теме
3. ZeratulAyuris 21.10.19 11:43 Сейчас в теме
Очень своевременно, спасибо!
4. Жолтокнижниг 250 21.10.19 13:53 Сейчас в теме
Качественно.
Даешь swagger в 1с массы.
5. tanat74 40 21.10.19 15:51 Сейчас в теме
Большое спасибо. Очень давно искал такой механизм.
6. CodeNull 23.10.19 17:41 Сейчас в теме
Здравствуйте. Весьма годный и нужный инструмент. Но как вы сами написали, не хватает описания body для post запросов. Например, в нашем проекте post запросы это самая объемная часть, body некоторых весьма сложный по структуре (много полей и вложимость).

А что насчёт описания ответа (возвращаемое значение)?
7. botokash 258 24.10.19 05:32 Сейчас в теме
(6) Как я писал в заключении описание схемы данных, как в теле запроса, так и в теле ответа, обязательно будет в следующих релизах библиотеки. Сейчас вопрос стоит в том, как лучше сделать. Ну и конечно вопрос времени, пока занят другим проектом. Можете добавить репозиторий библиотеки на гитхабе в наблюдение, не пропустите обновление )
8. Evil Beaver 6884 10.12.19 15:19 Сейчас в теме
Столкнулся с обратной задачей - есть готовая спецификация API в виде OpenApi json и нужно сделать веб-сервис. Для многих языков есть готовые генераторы классов под такую спецификацию. Может автор и для 1С сделает? Надо всего-то XML с описанием веб-сервиса сгенерировать и модуль с заглушками методов. А потом это можно в исходники 1С подложить и готово!
9. botokash 258 11.12.19 06:45 Сейчас в теме
(8) Автор с самого начала задумывался над кодогенерацией) Пока проблема с наличием свободного времени.
34. Nikola23 520 26.05.20 09:04 Сейчас в теме
(8) Дай погонять описание. Может что получится.
35. Evil Beaver 6884 26.05.20 12:46 Сейчас в теме
36. Nikola23 520 26.05.20 17:10 Сейчас в теме
(35) Вы пишите: "есть готовая спецификация API в виде OpenApi json и нужно сделать веб-сервис".
Вот ту самую спецификацию можете скинуть?
37. malikov_pro 613 15.06.20 13:00 Сейчас в теме
(8)
Надо всего-то XML с описанием веб-сервиса сгенерировать и модуль с заглушками методов.

Может лучше роуты кодом описать? У меня была попытка https://infostart.ru/public/1131305/, но народ не отреагировал.
Если чисто кодом то и в OneScript переложить не проблема.

Для начала нужны требования к результатам генератора.
10. 19077 14.01.20 18:13 Сейчас в теме
Очень нужная штука, больше нет новостей?
11. SLV66 12 28.01.20 13:31 Сейчас в теме
При установке столкнулись с ошибкой

C:\Program Files\OneScript\bin>opm install swagger
ПРЕДУПРЕЖДЕНИЕ - Ошибка получения списка пакетов с хаба ОсновнойСерверПакетов по причине {Модуль C:\
Program Files\OneScript\lib\opm\src\core\Классы\СерверПакетов.os / Ошибка в строке: 94 / Ошибка подк
лючения к зеркалу }
ПРЕДУПРЕЖДЕНИЕ - Ошибка получения списка пакетов с хаба ЗапаснойСерверПакетов по причине {Модуль C:\
Program Files\OneScript\lib\opm\src\core\Классы\СерверПакетов.os / Ошибка в строке: 94 / Ошибка подк
лючения к зеркалу }
КРИТИЧНАЯОШИБКА - {Модуль C:\Program Files\OneScript\lib\opm\src\core\Классы\МенеджерПолученияПак­ето
в.os / Ошибка в строке: 18 / Ошибка установки пакета swagger: Пакет не найден}
12. botokash 258 28.01.20 13:35 Сейчас в теме
(11) Добрый день. Могу предположить, что не работают хабы пакетов. Можете скачать packagedef тут.
13. CodeNull 30.01.20 05:14 Сейчас в теме
(11) Проверьте настройки прокси. У меня были с этим проблемы когда пытался использовать opm на работе. Решается конфигурирование менеджера пакетов либо хардкодингом: https://github.com/oscript-library/opm/issues/152#issuecomment-487804579
21. SLV66 12 30.01.20 12:01 Сейчас в теме
14. SLV66 12 30.01.20 08:09 Сейчас в теме
после подмены указанного файла ошибки не уходят (

C:\Program Files\OneScript\bin>opm install swagger
{Модуль C:\Program Files\OneScript\lib\opm\src\core\Классы\metadataparser.os / Ошибка в строке: 4,4
/ Библиотека не найдена xml-parser}
15. botokash 258 30.01.20 08:16 Сейчас в теме
(14) проверил, пакет доступен для установки с хаба:
PS C:\WINDOWS\system32> opm install swagger
ИНФОРМАЦИЯ - Скачиваю файл: swagger.ospx
ИНФОРМАЦИЯ - Устанавливаю пакет swagger
ИНФОРМАЦИЯ - Установка завершена
ИНФОРМАЦИЯ - Устанавливаю зависимость: fs
ИНФОРМАЦИЯ - Скачиваю файл: fs-1.0.0.ospx
ИНФОРМАЦИЯ - Устанавливаю пакет fs
ИНФОРМАЦИЯ - Установка завершена
ИНФОРМАЦИЯ - Устанавливаю зависимость: xml-parser
ИНФОРМАЦИЯ - xml-parser уже установлен. Пропускаем.
ИНФОРМАЦИЯ - Устанавливаю зависимость: json
ИНФОРМАЦИЯ - Скачиваю файл: json-1.1.1.ospx
ИНФОРМАЦИЯ - Устанавливаю пакет json
ИНФОРМАЦИЯ - Установка завершена
Показать


Все зависимости явно видны.
16. CodeNull 30.01.20 08:19 Сейчас в теме
(15) Тоже проверил, установка прошла успешно.

(14) Какая версия oscript и opm?

# opm -v
0.15.3
# oscript -v
1.1.1.44
18. SLV66 12 30.01.20 11:51 Сейчас в теме
C:\Program Files\OneScript\bin>opm -v
{Модуль C:\Program Files\OneScript\lib\opm\src\core\Классы\metadataparser.os / Ошибка в строке: 4,4
/ Библиотека не найдена xml-parser}
20. botokash 258 30.01.20 11:59 Сейчас в теме
(18) ну тут очевидно, нужно установить пакет xml-parser
19. SLV66 12 30.01.20 11:52 Сейчас в теме
C:\Program Files\OneScript\bin>oscript -v
1.2.0.92
22. SLV66 12 30.01.20 12:02 Сейчас в теме
а нельзя ли скопировать этот проект и вставить ?
23. botokash 258 30.01.20 12:14 Сейчас в теме
(22) попробуйте этот архив распаковать в "C:\Program Files (x86)\OneScript\lib"
Прикрепленные файлы:
swagger.rar
24. SLV66 12 30.01.20 12:22 Сейчас в теме
скопировал

opm install swagger Это делать получается не нужно?
25. SLV66 12 30.01.20 12:23 Сейчас в теме
C:\Windows\system32>oscript C:\inetpub\wwwroot\Onescript\upload.os -name SimpleAPI -path C:\MP_1C\Co
nf\Conf_file\ -type xml -adminurl http://localhost/oosw/
{Модуль C:\inetpub\wwwroot\Onescript\upload.os / Ошибка в строке: 5,5 / Библиотека не найдена swagge
r}
26. botokash 258 30.01.20 13:45 Сейчас в теме
(25) Как мне кажется, у вас проблема не с моей библиотекой. В телеграмме есть группа oscript_library, обратитесь лучше туда. В комментариях под статьей не место для поиска ответов на ваши проблемы.
27. tdr 11.02.20 12:43 Сейчас в теме
Установил сие на хттп сервис генерации актов сверки у заказчика.
Хороший инструмент для описания api у сервиса
Но заметно уступающий тому же Fiddler для отладки и мониторинга работы сервиса

пришел к выводу, что удобнее непосредственно тут править описание сервиса сразу на YAML, нежели на JSON, и итоговый результат вставлять в файл сервиса с расширением json

https://prnt.sc/r0m9l5

чем оформлять в 1С потом небыстро выгружать и обрабатывать парсером.
28. tdr 11.02.20 12:52 Сейчас в теме
Swagger не умеет отображать ответы сервисов, в теле которых есть JSON (у меня массив строк)
вот пример:
https://prnt.sc/r0mf2v
29. qwed557 30 11.03.20 15:54 Сейчас в теме
Здравствуйте, не подскажете куда копать?
Выходит такая ошибка
Ошибка HTTP 500.19 — Internal Server Error

Ошибка конфигурации Данный раздел конфигурации не может использоваться на этом пути. Это происходит, когда раздел блокирован на родительском уровне. Блокировка происходит либо по умолчанию (overrideModeDefault="Deny"), либо устанавливается непосредственно при помощи тега расположения с overrideMode="Deny" или наследуемым свойством allowOverride="false".
Файл конфигурации \\?\C:\swagger\simple-ui\spec-admin\web.config

права на папку для пользователя IIS есть, что еще нужно настроить?
30. qwed557 30 12.03.20 08:48 Сейчас в теме
Вот полный скрин с ошибкой, кто подскажет что поправить надо? На двух разных компах одна и та же ошибка.
Прикрепленные файлы:
31. botokash 258 12.03.20 09:19 Сейчас в теме
(30) Честно говоря не силен в данном вопросе.
32. qwed557 30 12.03.20 09:21 Сейчас в теме
Доустановил компоненты .Net Framework 4.7
теперь выходит следующая ошибка:
Прикрепленные файлы:
33. qwed557 30 12.03.20 11:08 Сейчас в теме
все, разобрался, надо было папаку bin скопировать в каталог spec-admin
38. koln 05.07.20 14:30 Сейчас в теме
(33)Возникла такая же проблема. Ваше решение помогло. Уточню только, что папка bin из каталога OneScript, в моем случае C:\Program Files\OneScript
39. koln 06.07.20 09:27 Сейчас в теме
При запуске скрипта
oscript upload.os -name SimpleAPI -path D:\ПримерКонфигурация\ -type xml -adminurl localhost/onec-swagger-admin/
возникла ошибка
Не найден тип вызова в блоке! {C:\Program Files (x86)\OneScript\lib\swagger\src\Классы\codeparser.os /Ошибка в строке 127 / Внешнее исключение (System.ArgumentOutOfRangeException):Заданный аргумент находится вне диапазона допустимых значений. Имя параметра: i}
С чем это может быть связано и как исправить?
Прикрепленные файлы:
40. koln 07.07.20 12:15 Сейчас в теме
(39)Проблема решена. Как оказалось, для одного шаблона метод обработчика был полностью закомментирован (не использовался). Именно поэтому и не удавалось найти и сопоставить обработчик по указанному в шаблоне имени.
41. nicolya 4 13.07.20 13:01 Сейчас в теме
Добрый день! Добавил в IIS приложение и при проверке запросом http://localhost/onec-swagger-admin/list.os получаю следующую ошибку:
Ошибка HTTP 404.17 — Not Found
Содержимое запроса является сценарием и не будет обрабатываться обработчиком файла статистики.

Может, сталкивался кто-нибудь, подскажите куда копать? Спасибо
Прикрепленные файлы:
43. Jeka44 30.09.20 17:28 Сейчас в теме
(41) столкнулся с этой же проблемой. Вы смогли ее победить?
44. Jeka44 30.09.20 17:36 Сейчас в теме
(43)отвечу сам себе: чтобы исправить эту ошибку надо доустановить компоненты Windows Службы WCF
42. VVi3ard 50 17.08.20 10:15 Сейчас в теме
(0) Полезная статья.
На мой взгляд было бы лучше разбить её на 2 части:
1. Получение описания OpenApi;
2. Отображение этого описания;

Не всем нужно локально поднимать swagger и отображать описание, для начала достаточно было бы просто получить спецификацию и работать с ней на https://swagger.io.

Подскажите если мне не нужно локально хостить swagger, как просто получить сгенерированное описание?
artesk; user1284675; +2 Ответить
45. Jeka44 30.09.20 17:44 Сейчас в теме
Столкнулся с ошибкой "Ошибка HTTP 500.23 — Internal Server Error
Обнаружены значения параметров ASP.NET, которые неприменимы в интегрированном режиме управляемого конвейера."
Может кто подскажет как ее победить?
46. Jeka44 30.09.20 17:47 Сейчас в теме
(45)Опять, как только спросил, так сразу разобрался. Не тот пул приложений выбрал
Оставьте свое сообщение

См. также

.Net в 1С. На примере использования HTTPClient, AngleSharp. Удобный парсинг сайтов с помощью библиотеки AngleSharp, в том числе с авторизацией аля JQuery с использованием CSS селекторов. Динамическая компиляция Промо

Практика программирования WEB v7.7 v8 Бесплатно (free)

Часто приходится парсить сайты, в том числе с авторизацией, перескакивая со страницы на страницу по ссылкам. Тот, кто занимался вэб программированием, знает, как удобно использовать JQuery и CSS селекторы. На .Net написана очень удобная библиотека AngleSharp. Я покажу, как с её помощью можно значительно облегчить себе труд.

10.03.2016    56137    Serginio    33    

Как я бесплатно пишу чат-ботов WhatsApp на 1С

WEB Бесплатно (free)

На разработку чат-бота требуется время. Как правило, время уходит на ознакомление с API, отладку, приемку. Как сэкономить и не платить за использование API на время разработки? Делюсь своим опытом.

02.11.2020    1290    andrew_shamin    10    

Отладка модуля ДиадокПро

WEB v8 1cv8.cf Бесплатно (free)

В обработке ДиадокПро все дополнительные модули встроены во внешние обработки, которые хранятся в макетах. Это усложняет процесс самостоятельной интеграции, так как теряется возможность попасть в них в режиме отладки. Но не всё так страшно, поэтому ниже инструкция)

30.10.2020    1039    Максим-777    6    

Обмен с сайтом посредством Post-запроса, json

WEB v8 1cv8.cf Бесплатно (free)

Задача - передавать на сайт объекты с наименованием и уникальным идентификатором (УИ), которые изменяются в 1С. Также нужно сохранять историю отправленных пакетов.

29.10.2020    3351    John_d    26    

Online телефонный справочник из 1С: Зарплата и управление персоналом Промо

WEB Управление персоналом (HRM) Управление персоналом (HRM) v8 ЗУП3.x Россия Бесплатно (free)

В интернете представлено много реализаций online телефонных справочников организаций. Есть справочники, которые использует для хранения информации базу Active Directory (LDAP), есть справочники, которые реализованы с использованием СУБД (например, MySQL). Но я не нашел справочника, который использует информацию из базы 1С. Далее я рассмотрю данную разработку.

10.03.2017    26064    ruha    14    

Организация HTTP публикации каталога товаров используя PostgREST

WEB v8 1cv8.cf Бесплатно (free)

В статье опишу порядок установки настройки и использования PostgREST на примере организации каталога товаров.

05.10.2020    630    malikov_pro    2    

Использование HTTP REST обертки xmysql для работы с MySQL на примере OpenCart

WEB Бесплатно (free)

В статье опишу вариант работы с MySQL базой используя HTTP.

28.09.2020    1641    malikov_pro    2    

Отладка http сервиса

WEB v8 Бесплатно (free)

При разработке http сервиса возникает ситуация, а как протестировать http сервис? Создали мы сервис, настроили шаблоны, передали, если нужно параметры, открываем браузер заполняем строку подключения и БАХ, ошибка. Что делать?

23.09.2020    2019    hpi    10    

Информер для сайта , актуальные релизы 1С + Проверка подписки ИТС. Промо

WEB Администрирование данных 1С Сервисные утилиты Бесплатно (free)

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

12.09.2014    40852    Malfarion    34    

Учимся создавать http сервисы (часть вторая). Передача параметра в http сервис

WEB v8 1cv8.cf Бесплатно (free)

Пошаговое руководство по созданию http-сервиса (часть вторая). Передача параметра в http сервис.

22.09.2020    4330    hpi    6    

Формирование списка документов и скачивание печатной формы документа через веб-сайт с использованием HTTP-сервиса, плюс особенности авторизации

Практика программирования Обмен данными 1С WEB v8 1cv8.cf Бесплатно (free)

В статье показан пример, как реализовать формирование списка документов клиента/пользователя по коду, а затем скачать его (документа) печатную форму по ссылке

18.09.2020    781    R_o_n_n_y    0    

Формирование HTTP запроса формата multipart/form-data с двоичными данными, используя ПотокВПамяти

WEB v8 1cv8.cf Бесплатно (free)

В статье опишу вариант формирования запроса

11.09.2020    2614    malikov_pro    11    

Кэширование COM-соединения. Три способа Промо

Практика программирования Перенос данных из 1С7.7 в 1C8.X Внешние источники данных WEB v8 Россия Бесплатно (free)

Статья о трех способах кэширования COM-соединения в 1С:Предприятии 8.x.

11.04.2013    41625    YPermitin    41    

Дневник боли и страданий. Как я переходил от The Bat! к MS Outlook

WEB Бесплатно (free)

Мой опыт перехода от The Bat! к MS Outlook. Сравнение двух программ, киллер-фичи, лайфхаки и рецепты из интернета. Все в одном месте и проверено автором на актуальных релизах сентября 2020 года.

02.09.2020    1085    gubanoff    15    

Формирование документа Goggle Docs из шаблона используя Google Apps Script

WEB Бесплатно (free)

В статье опишу работу скрипта для формирования документа с публикацией по HTTP.

25.08.2020    875    malikov_pro    0    

Использование шаблонного процессора для формирования HTML страниц

WEB v8 1cv8.cf Бесплатно (free)

В статье опишу использование шаблонного процессора Handlebars запущенного на Node.js

24.08.2020    1471    malikov_pro    26    

Заготовка для загрузки файлов по ftp Промо

WEB Перенос данных из 1C8 в 1C8 v8 1cv8.cf Бесплатно (free)

3 процедуры и 1 макет

03.06.2013    30579    anig99    6    

Использование скриптов при формировании запросов используя Postman

WEB Бесплатно (free)

В статье опишу применение JS скриптов а postman при работе с API.

22.08.2020    1405    malikov_pro    8    

Смена паролей всем локальным пользователям Windows с помощью OneScript

Windows OneScript Пароли Бесплатно (free)

Скрипт, который меняет пароли всем локальным пользователям Windows и сохраняет их в файле. Есть функция генерации пароля, можно задать длину пароля.

18.08.2020    528    info1i    7    

Загрузка или обновление файла на яндекс диске через rest-api

Практика программирования Файловые протоколы обмена, FTP WEB v8 Бесплатно (free)

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

12.08.2020    1916    pavelpribytkin96    10    

Организация удаленного доступа к корпоративной информационной системе — это просто ! Промо

Внешние источники данных Монитор заказов WEB Монитор заказов Бесплатно (free)

Хочу поделиться своим опытом создания web морды к корпоративной информационной системе на базе 1С. Необходимо организовать сбор заказов от удаленных пользователей. - Каждый пользователь видит свой набор данных, и работает со своими документами. - Доступ по логину/паролю, работа в основном с планшетов (iPad) или с десктопа. - Сервер должен находиться за пределами организации. - Себестоимость 1 пользователя не более 10$ за месяц. - Использование в основном мобильного канала связи GPRS (~100 КБ/с).

31.08.2012    28770    avhrst    13    

Самый простой парсинг и обработка веб-страниц в 1С

WEB Универсальные функции v8 1cv8.cf Бесплатно (free)

Рассмотрим самый простой парсинг веб-страниц средствами платформы 1С и еще некоторые полезные приемы работы с веб-страницами.

07.08.2020    5346    YPermitin    18    

Загрузка или обновление файла на гугл диске

Практика программирования Файловые протоколы обмена, FTP WEB v8 1cv8.cf Бесплатно (free)

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

06.08.2020    1365    pavelpribytkin96    6    

Использование Yandex Translate (Яндекс.Переводчик)

WEB v8 1cv8.cf Бесплатно (free)

В статье опишу вариант подключения и использования Yandex Translate.

08.07.2020    2892    malikov_pro    8    

Когда хотим знать IP клиента...

WEB v8 Бесплатно (free)

В процессе разработки web приложения на 1С, и это не шутка))), а пожелание заказчика, возникла ситуации когда понадобилось знать, с какого IP подключался клиент.

03.07.2020    3904    IMihalev    10    

Ограничение доступа к HTTP публикациям 1С сервера используя NGINX

WEB v8 1cv8.cf Бесплатно (free)

В статье опишу вариант ограничения доступа к HTTP публикациям 1С сервера используя NGINX.

02.07.2020    6605    malikov_pro    2    

Приемы описания документации API используя нотацию RAML

WEB Россия Бесплатно (free)

В статье опишу приемы, которые использую в своей работе, и которые позволяют быстро реализовать описание.

24.06.2020    1312    malikov_pro    2    

Работа с AliExpress через API

WEB v8 Бесплатно (free)

В публикации опишу подход работы с API AliExpress и примеры кода.

23.06.2020    4340    malikov_pro    19    

Не программируй - вставляй и копируй. OAuth 2.0 авторизация API Google, получение токенов доступа (refresh и access token)

WEB Облачные сервисы, хостинг Бесплатно (free)

Без программирования, в несколько кликов - простой и быстрый способ трехногой авторизации по протоколу OAuth 2.0 в Google APIs. Получение refresh и первого access token для использования в HTTP-запросах из 1С к API Google. Для приложений типа "Компьютеры".

09.06.2020    3793    uno-c    1    

История создания успешной системы чат-ботов на 1С

WEB v8 Бесплатно (free)

Использование чат-ботов в мессенджерах позволяет автоматизировать многие сложные бизнес-процессы путем диалога с системой через виртуального собеседника. О том, как создать универсальную систему ботов с бэкендом на 1С, работающую в Telegram, Viber и Facebook Messenger одновременно, на конференции Infostart Event 2019 Inception рассказал программист-фрилансер Константин Гейнрих.

21.05.2020    7603    CyberCerber    15    

Парсинг html страниц с выводом информации через JavaScript с использованием Selenium

WEB v8 1cv8.cf Бесплатно (free)

Есть девочки как девочки, есть мальчики как мальчики, есть сайтики как сайтики, но странички их обманщики. В целях сохранить информацию, от автоматизированного сбора, многие ресурсы пытаются защитить ее. Один из таких способов - вывод информации на странице через JavaScript. При получении такой страницы в 1С, JavaScript не успевает вывести необходимые данные, и в 1с получаем практически пустую страницу. В статье приведу пример разработки, для парсинга таких страниц, без регистрации и смс.

20.05.2020    4319    platonov.e    25    

Как разработать Web приложение и остаться 1С-ником

WEB Бесплатно (free)

Создание современных веб-приложений обходится для бизнеса дорого и требует постоянной актуализации различных фреймворков, что не всегда оправданно. Как применить инженерный подход и предоставить бизнес-пользователям доступ к данным 1С в удобном и защищенном веб-приложении на конференции Infostart Event 2019 Inception рассказал руководитель управления ИТ компании WiseAdvice Олег Филиппов.

18.05.2020    12753    comol    86    

Интеграция 1С и CMS WordPress посредством Rest API сайта. Шаг третий, WooCommerce, публикация категорий товаров

WEB v8 1cv8.cf Бесплатно (free)

Интеграция 1С и CMS WordPress посредством функционала Rest API. Используем только язык программирования 1С и штатный функционал Rest API предоставляемый CMS, без дополнительных библиотек и плагинов. Процедуры и функции публикации категорий товаров в магазин WooCommerce, с комментариями внутри.

13.05.2020    3231    osivv    3    

Интеграция Camunda BPM и 1С

WEB Интеграция v8 Бесплатно (free)

Быстрый старт. Только практические примеры. Установка, запуск и публикация бизнес-процесса на сервере Camunda BPM. Управление бизнес-процессами из 1С при помощи Camunda REST API.

12.05.2020    3889    zhichkin    20    

Интеграция 1С и CMS WordPress посредством Rest API сайта. Первый шаг

WEB v8 Россия Бесплатно (free)

Интеграция 1С и CMS WordPress посредством функционала Rest API. Используем только язык программирования 1С и штатный функционал Rest API предоставляемый CMS, без дополнительных библиотек и плагинов. Процедуры и функции 1С с комментариями внутри.

28.04.2020    4632    osivv    23    

Выразительный Web API

WEB v8 Бесплатно (free)

Теория разработки Web API с ожидаемым поведением, за который не будет стыдно за пределами мира 1С.

27.04.2020    6751    nbeliaev    22    

Хранение статистики публикаций автора сообщества Инфостарт ® (мобильное приложение И ++)

Мобильная разработка WEB v8 1cv8.cf Бесплатно (free)

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

24.04.2020    2348    capitan    15    

Интеграция УАТ с топливными сервисами

WEB v8 1cv8.cf Автомобили, автосервисы Бесплатно (free)

Интеграция конфигурации Управление автотранспортом с топливными веб-сервисами.

21.04.2020    7361    RPGrigorev    2    

Интеграция 1С с веб-сервисами Лукойл ЛИКАРД

WEB v8 1cv8.cf Россия Бесплатно (free)

Описание интерфейса взаимодействия сервиса Лукойл- ЛИКАРД с информационной системой 1С.

20.04.2020    4104    RPGrigorev    0    

Как зайти на http://lkul.nalog.ru c VipNet

WEB Россия Бесплатно (free)

Для тех, кто не может пройти последний пункт "Проверка защищённого соединения с сервером Личного кабинета юридического лица" на сайте http://lkul.nalog.ru/check_cryptopro.php с применением VipNet.

19.04.2020    3548    Voblhned    2    

COVID-19. Динамика эпидемии

WEB v8 v8::СКД 1cv8.cf Бесплатно (free)

Весной 2020 практически все ждут, «когда же это закончится», когда эпидемия пойдет на спад. Специалисты призывают «сгладить кривую». Как понять, в какой точке мы сейчас? Данные университета Джонса Хопкинса в любой 1С.

01.04.2020    3357    Alejandro_V    6    

Как я собрал для себя высокопроизводительный и бесплатный облачный бекенд для 1С на PosgreSQL + PostgREST

Производительность и оптимизация (HighLoad) WEB Интеграция Мобильная разработка Администрирование веб-серверов v8 Бесплатно (free)

В этой статье я расскажу о проблемах бека для мобильных приложений или другого фронта, который требует производительности, быстрой реакции и отказоустойчивости, и как я решил это благодаря opensource проекту PostgREST и СУБД Postgre SQL 12. Проведу простой тест производительности для сравнения 1С с данным решением. Это может быть полезно всем, кто разрабатывает мобильные приложения либо фронтсайд-приложения для 1С на чем угодно - на мобильной платформе или на нативном языке или на Simple UI. И также обзор новых функций SimpleUI для связи с этим бекендом.

31.03.2020    13436    informa1555    31    

nsq - еще один менеджер очередей

WEB Бесплатно (free)

В статье будет описан процесс запуска nsq. Данный mq достаточно прост в использовании по сравнению с другими. Самое главное для меня в этом менеджере, это возможность отправить данные так: http://127.0.0.1:4151/pub?topic=test-messages - вполне достаточно когда 1С выступает поставщиком данных.

05.03.2020    2746    pallid    9    

Получение html-кода страницы. JS из 1С

Практика программирования WEB v8 Бесплатно (free)

Получение исходника страницы, выполнение произвольного js-кода. Теперь с WebKit от 1С.

18.02.2020    6910    Yashazz    1    

Отладка конфигурации в режиме веб-клиента

WEB v8 Бесплатно (free)

После очередного обновления платформы при попытке запуска отладки в веб-клиенте стало появляться сообщение. Собственно, до этого момента никогда веб-клиентом особо не пользовался и необходимости в отладке как-то не возникало. Данное сообщение заставило задуматься, что не так с отладкой в веб-клиенте и как ее собственно включить? Тот самый неловкий момент, когда программа просит обратиться к администратору, а администратор - это вы.

12.02.2020    5450    gamletspb    5    

Вариант реализации работы с сервисом Dadata применительно к конфигурации УТ 11.4 и подобным

WEB v8 УТ11 Россия Бесплатно (free)

В статье описывается реализация получения данных с сервиса DaData при работе с формами справочников в конфигурации УТ 11 для дополнения информации по ФИО, ИНН, Адресу.

22.01.2020    3340    malikov_pro    7