На что действительно способны HTTP-сервисы

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

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

В статье я собираюсь не только рассказать вам про HTTP-сервисы 1С, но и показать много прикольных слайдов с картинками. Я думаю, будет весело, и вы найдете для себя что-то полезное.

Немного о себе и о компании, где я работаю

Для начала моя небольшая карточка автора.

Я работаю в страховой компании «ДальЖАСО» – это в городе Хабаровске. И помимо этого занимаюсь различными образовательными проектами. В частности:

    • Работаю автором статей в журналах «Хакер» и «Системный администратор»;
    • Занимаюсь менторством в проекте HTML Academy.

Немного про компанию «ДальЖАСО»:

  • Мы занимаемся многими популярными видами страхования;
  • На рынке уже 25 лет;
  • Все наши филиалы в основном сосредоточены на Дальнем Востоке;
  • Особенность нашей компании микроотдел разработки, где всего лишь пять разработчиков.

1С:Предприятие и WEB

Небольшой красивый эпиграф от Билла Гейтса: «Рано или поздно любая компания хочет выйти в Интернет».

Как это происходит?

  • Обычно все начинается с разработки корпоративного сайта.
  • И когда он появляется, на него хочется добавить какие-то сервисы.

Существует несколько различных путей реализации сервисов:

  • Первый путь основан на использовании для этой цели популярного стека технологий для решения подобных задач: PHP, Ruby on Rails и т.д. Однако в этом случае при интеграции с основной системой учета могут возникнуть какие-то дополнительные сложности.
  • Второй путь - использовать нативные средства платформы. Начиная с версии 8.3.6, платформа предоставляет возможность создания HTTP-сервисов из коробки, без привлечения дополнительных средств.

REST, SOAP, HTTP-сервисы

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

  • REST-интерфейс;
  • SOAP-сервисы;
  • И HTTP-сервисы.

HTTP-сервисы появились в этом списке самыми последними и, на мой взгляд, это очень интересная технология, которая позволяет решить многие проблемы с минимальными затратами.

SOAP

Начну с SOAP.

  • Появился в этом списке самым первым. Это была платформа 8.1.
  • Технология обладает безграничными возможностями – по факту все упирается только в фантазию разработчика.
  • Единственный нюанс – SOAP тяжело разрабатывать.
  • Есть проблемы при интеграции 1С с SOAP-сервисами, созданными для других платформ (когда «1С:Предприятие» является потребителем). Например, я не специалист в таком языке, как Java, но когда мы сделали SOAP-сервис на Java, он замечательно работал везде. Но с 1С почему-то возникали какие-то сложности, непонятности, и все работало не очень хорошо.

Платформа 1С может являться как потребителем SOAP-сервиса, так и его поставщиком.

REST

Следующий интерфейс – это REST.

  • Появился в платформе 8.3.5.
  • Доступен «из коробки».
  • Его не нужно программировать – достаточно просто опубликовать.
  • В результате мы можем выполнять через REST-интерфейс все типичные действия с объектами конфигурации, все операции CRUD (create, read, update, delete): делать всевозможные выборки, добавлять и удалять записи, а также обновлять их.

Самое главное, что все это настраивается буквально в «пару кликов», программировать особо ничего не нужно. Все просто и понятно.

На картинке показан пример REST-запроса. Единственное, что тексты таких запросов получаются «монструозными». Но я думаю, что все уже наверняка с этим работали.

HTTP-сервисы

И последний объект платформы, который мы рассмотрим, – это HTTP-сервисы.

  • Появились в платформе 8.3.6 и с тех пор начали активно развиваться. А сейчас на 8.3.10 они прямо «дозрели» до такой «золотой середины», когда их можно применять без особых рисков.
  • HTTP-сервисы легко программировать – вы пишете, по факту, минимум кода. Если ранее у вас был опыт работы с другими технологиями (такими, как фреймворк Express.js, популярные фреймворки PHP), то общая суть работы с ним вам уже должна быть понятна. Вы просто пишете экшены, которые будут срабатывать на определенные запросы.
  • Все запросы поступают по протоколу HTTP, у спецификации которого есть определенные методы. Всего 16 методов – они покрывают все типичные операции, которые требуются при разработке подобных web-приложений.
  • И, самое главное, HTTP-сервисы уже готовы для интеграции с другими web-приложениями. Это, наверное, их основная фишка. Потому что через SOAP, например, интегрироваться с тем же Bitrix-ом проблематично. А через HTTP API с ним можно работать достаточно логично и понятно.

Как работают HTTP-сервисы?

С точки зрения конфигурируемости – это новый объект метаданных «HTTP-сервис».

  • Создаем для него методы (действия);
  • И в модуле описываем обработчики для наших действий.

На слайде я привел типичную картинку, как выполняется HTTP-запрос.

  • От браузера к web-серверу поступает http-запрос;
  • Web-сервер пытается его выполнить;
  • И в случае выполнения или невыполнения возвращает какой-то статус.

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

  • Например, ошибка 404 (страница не найдена), которую вы все наверняка встречали.
  • Либо ошибка 502, которая выводится, когда сервер не может нам ответить ничего внятного.
  • Либо любые другие ошибки.

На слайде показан пример HTTP-запроса в браузере Google Chrome. Такой же текст запроса вы можете увидеть для любого сайта, воспользовавшись сервисом «Инструменты разработчика», встроенным в ваш браузер.

Как я уже сказал, спецификация HTTP поддерживает несколько методов. Чаще всего используются DELETE, PUT, POST и GET.

Полный список методов спецификации HTTP вы можете видеть на слайде.

Легкость разработки

HTTP-сервисы действительно просто разрабатывать.

На слайде я привел пример небольшого HTTP-сервиса, который выводит последние новости.

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

Архитектура современных web-приложений

Мы знаем, что у нас есть HTTP-сервисы, которые легко программируются и настраиваются. Но как же связать все это с WEB? Как создать полноценное web-приложение?

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

  • Монолит – это когда все у нас делается на сервере. Такие приложения были очень популярны лет 5-10 назад.
  • Сейчас удобнее «разносить логику» и избавлять сервер от рендеринга HTML (непосредственно самих страниц). Это все сейчас можно делать на клиенте, применяя современные технологии – CSS, HTML, JavaScript. Тем самым мы разгружаем сервер от ненужных операций по сборке страниц и сокращаем компетенции специалиста, который пишет непосредственно серверный код. Ему, грубо говоря, нужно написать просто выборку данных, упаковать ее результат в JSON и отдать его на клиента. А там уже соберется финальная страничка.

Кейсы – как это можно использовать?

На слайде вы видите страницу B2B-сервисов для наших партнеров.

  • Здесь в «плиточках» перечислены все наши сервисы – ссылки на них, информация, дополнительное описание;
  • Все это выводится из нашей информационной базы 1С;
  • Данные возвращаются с сервера в JSON-формате;
  • С помощью фреймворка ReactJS они собираются и формируют вот такую страницу.

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

Главное, что здесь нет никаких ограничений по сравнению с работой 1С через web-клиент.

Мы в свое время с web-клиентом озадачились и начали его использовать буквально с момента появления в платформе. Тогда, 7 лет назад, мы с помощью web-доступа организовали сервис для продажи наших страховых полисов, который распространили среди партнеров. Делать такой сервис на классическом стеке для Web было бы гораздо дольше, а у нас тогда не было backend-разработчиков, чтобы быстро все это запустить. Впоследствии этот сервис вырос и сейчас мы его уже переводим на HTTP-сервисы, чтобы предоставить пользователям еще более комфортный и удобный интерфейс.

Или еще один пример сервиса. Здесь уже интереснее.

Предыстория – мы продаем трудовые полисы для мигрантов. И нашим государственным органам, в частности, миграционной службе, необходимо иметь возможность оперативной проверки действительности полисов. Как это сделать?

Можно написать обычный web-сервис, типичное web-приложение. Но мы пошли от 1С, поскольку у нас в базе 1С есть по этим полисам вся актуальная информация и она там постоянно пополняется. Мы сделали HTTP-сервис, который позволяет выполнить оперативную проверку статуса полиса. Создали для этого вот такую «web-морду». Опять же, интерфейс написан с учетом современных технологий ReactJS и позволяет очень комфортно разрабатывать интерфейсную часть.

В результате мы эту задачу решили за пару дней.

Идем дальше. Это – скриншот страницы списка страховок, которые мы продаем клиентам.

  • Весь Frontend этой страницы сделан на web-технологиях.
  • А в качестве Backend выступает база 1С, которая не занимается рендерингом страниц, а просто возвращает какие-то данные, которые поступают на клиентское приложение.
  • Причем, эти данные у нас кэшируются – мы активно используем для этого WebSQL, реализация поддержки которого есть во всех современных браузерах (Chrome, Firefox, Edge). С такими закэшированными данными пользователи могут комфортно работать, не загружая лишний раз страницы.
  • Самое главное, что этим интерфейсом можно пользоваться на мобильных устройствах. На мой взгляд, это сегодня – одно из самых ключевых требований для успешного ведения бизнеса в интернете. Не нужно делать дополнительное мобильное приложение. Да, платформа это прекрасно позволяет, и я знаю примеры множества таких успешных приложений, но, на мой взгляд, лучше ориентироваться на web-технологии, потому что они универсальны, и для их исполнения фактически нужен только браузер. Браузеры сейчас активно развиваются, одновременно развиваются стандарты и язык программирования JavaScript. Поэтому преимущества очевидны.

Другие кейсы – обмены.

  • Не всем для обмена подходят такие «монструозные» средства, как «Конвертация данных» и пр. Микрообмены между различными информационными базами проще и эффективнее реализовывать через HTTP-сервисы.
  • Через HTTP-сервисы очень удобно выгружать информацию в таком формате, как JSON. Это можно реализовать очень быстро и у нас есть несколько решений, которые используют именно этот паттерн.

Один из идеальных вариантов использования HTTP-сервисов – это реализация полноценного Backend’а для web-приложений.

Зачем 1С-нику JavaScript?

Зачем 1С-разработчику JavaScript?

  • JavaScript сегодня является одним из самых универсальных языков программирования. Зная JavaScript, разработчик может писать как для Frontend, так и для Backend, потому что JavaScript успешно работает на сервере в платформе NodeJS и, по факту, в нем нет никаких ограничений. Изучив один язык, мы можем писать и для клиента, и для сервера, и как-то дальше развиваться. Я уже молчу про графику, WebGL – это все те современные возможности, которые мы привыкли видеть на крутых сайтах, вроде tinkoff.ru, avito.ru, yandex.ru.
  • Перспективы изучения JavaScript имеют свои большие плюсы. Я думаю, что каждый 1С-разработчик хочет изучить еще один язык программирования, потому что есть какие-то задачи, которые проще решить на другой технологии. И JavaScript сегодня то универсальное решение, на которое стоит обратить внимание.
  • Опять же, если посмотреть популярные сайты по поиску вакансий (HeadHunter, SuperJob), то, отфильтровав вакансии по JavaScript, можно наблюдать хорошую разницу в уровне зарплат.
  • JavaScript сейчас переживает пик популярности, многие компании его развивают, и это круто. Я считаю, что 1С-разработчикам стоит обратить на это внимание.

Дополнительные инструменты

При разработке и отладке HTTP-сервисов вам придется пользоваться какими-то инструментами.

Самая банальная вещь – это, конечно же, конфигуратор, он есть, был и будет. Настраиваем отладчик и отлаживаем HTTP-сервис типичным для этого способом.

Postman

Кроме этого нам потребуется какой-нибудь инструмент для формирования запросов от клиента и отправки их нашему Backend-у (1С:Предприятию).

Для реализации этих задач есть много различных решений, например, компания 1С рекомендует использовать программу Fiddler.

Но есть более современный инструмент, опять же, из мира Frontend – это программа Postman. Она свободная, подключается к Google Chrome в виде расширения. Через нее можно спокойно писать различные запросы, выполнять авторизацию и т.д. Все это работает очень просто, можно создавать различные шаблоны и быстро протестировать ваш HTTP-сервис.

На слайде показано главное окно программы Postman.

Google Chrome

Google Chrome – один из самых современных и активно-развивающихся браузеров с классными инструментами разработчика. Этих инструментов действительно очень много и они есть под каждую задачу. Их надо обязательно использовать при разработке и отладке HTTP-сервисов, чем мы и пользуемся.

Раньше для браузера Firefox был такой классный плагин FirefoxBug, но на данный момент он прекратил развиваться, и к тому же Chrome сейчас занимает более лидирующие позиции в плане функциональности.

На слайде показан скриншот «Инструментов разработчика» Google Chrome, где вы можете посмотреть, сколько времени тратится на ожидание ответа от сервера и какой объем данных передается. Все это можно смотреть, тестировать и разбирать для решения задач.

React JS

Теперь мы подходим к тому самому JavaScript, который я рекомендую посмотреть 1С-разработчикам. Это уже непосредственно библиотеки и фреймворки, написанные на языке программирования JavaScript, которые позволяют существенно упростить разработку web-интерфейса.

Конечно же, можно сделать интерфейс самому с использованием голых технологий HTML, CSS и JavaScript, но это будет дольше. И чем сложнее будет логика вашего интерфейса, чем будет больше зависимостей между различными полями, кнопочками и всем прочим – тем длиннее у вас будет «портянка» кода на голом JavaScript.

Продукт React JS, который пропагандирует и поддерживает компания Facebook Contributed, позволяет все это упростить. Вы можете один раз изучить, как это работает, и потом применять для построения своего интерфейса.

Причем, React JS пропагандирует компонентный подход, и вы можете добиться создания универсальных компонент. То есть, при разработке каких-то своих корпоративных web-приложений вы сможете брать готовые компоненты из своих прежних разработок и переносить их в новое приложение.

Мы в компании активно используем ReactJS и эта технология уже показала свои плюсы – мы действительно экономим время на разработке. Все приложения похожи и мы можем брать какие-то куски у других и применять их у себя.

Angular

Если вам по каким-то причинам не нравится ReactJS, есть еще фреймворк Angular, разработкой и поддержкой которого занимается компания Google. Раньше он назывался AngularJS, а теперь это просто Angular.

Есть разные мнения о том, что круче – ReactJS или Angular. Мы сделали упор именно на ReactJS, так как он для нас и универсальнее, и полезнее.

У Angular более высокий порог входа, нам он не подошел, но некоторые его успешно применяют. Например, Angular используется в таких компаниях, как Avito и «Яндекс».

В любом случае, технология крутая. Нужно посмотреть, попробовать, и потом что-то одно для себя выбрать.

Удивительный мир Frontend-разработки

По сравнению с 1С мир Frontend-разработки гораздо более динамичный.

  • В 1С у нас есть несколько ключевых технологий, которые редко меняются кардинальным образом («Конвертация данных», СКД, какие-то новые объекты конфигурации, с которыми достаточно один раз разобраться). Вокруг этих технологий нет хайпа.
  • Во Frontend все с точностью да наоборот. Пока вы присматриваетесь к изучению новой крутой технологии, она уже успевает устареть. Такое было неоднократно. Например, тот Angular, который используется сейчас, совершенно не похож на тот AngularJS, который был изначально. Такое случается, потому что сейчас во Frontend много технологий.
  • Сам язык JavaScript сейчас тоже очень сильно меняется – на данный момент актуальна его 7-я версия. Язык сам по себе молодой, его первая версия датирована 95-м годом, он долго был в вакууме, не развивался, у него было куча проблем. Но сейчас он активно развивается, поэтому технологии стараются за ним успеть. 
  • И фреймворки, соответственно, тоже постоянно обновляются, меняются какие-то концептуальные фишки в их архитектуре.

Это – одна из моих любимых картинок. Она характеризует малую часть того, что может вам понадобиться во время Frontend-разработки. Здесь и TypeScript, и настройки, и сборщики. Выглядит это ужасающе.

Но с этим вполне можно жить, если не думать, что все это придется изучить за какие-то 2-3 месяца.

Не все так страшно.

Нужно просто брать конкретные технологии, заниматься их постепенным внедрением и смотреть, действительно ли это вам нужно. Опять же, все это с точки зрения разработчиков, которые были сфокусированы в мире 1С и сейчас начинают смотреть еще и на Frontend.

Главное – не гнаться за хайпом.

Повторюсь:

  • Технологии внедряем постепенно;
  • Берем наиболее устоявшиеся релизы;
  • Не надо брать самый «свежак», потому что в мире Frontend все может уже завтра поменяться.

Лучше взять какие-то релизы, которые на данный момент используются в большинстве приложений, и именно их уже постепенно смотреть и тестировать в своем приложении.

Не гнаться за хайпом.

  • Фреймворков в мире Frontend множество.
  • Наверное, каждый день появляется новый фреймворк. Есть масштабные проекты от именитых компаний-разработчиков – таких, как Facebook, Google и др., а есть микрорешения от независимых разработчиков. Можно зайти на GitHub, найти какой-то фреймворк и посмотреть, что о нем думают в коммьюнити. В GitHub есть «звездочки», по ним можно сориентироваться – имеет ли технология какие-то перспективы или нет.

Главное, не гнаться и не пытаться использовать сразу все. Лучше выбрать что-то одно и потратить время на изучение этого.

Подводные камни

Подводные камни при разработке HTTP-сервисов.

Производительность

Если мы говорим о разработке каких-то нагруженных web-приложений, то, наверное, HTTP-сервисы здесь не подойдут.

Концептуальная проблема здесь состоит в том, что 1С пока использует HTTP-сервер Apache, который в плане производительности не самый удачный.

Если вы хотите написать свой Avito или что-то похожее, HTTP-сервисы вам, скорее всего, не подойдут. Производительность все равно будет оставаться краеугольным камнем.

HTTP-Сервисы больше подойдут для каких-то небольших проектов:

    • Либо для проекта, которым пользуются только ваши партнеры. 300-500-1000 человек – это вполне нормально.
    • Либо что-то мелкое, что работает только внутри вашей компании.

Написать на HTTP-сервисах что-то, работающее в режиме HighLoad, я бы не рискнул.

Модель лицензирования

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

Эту проблему каждый уже решает самостоятельно. Может быть, действительно, выгоднее будет нанять других разработчиков, бэкендеров, которые сделают это на популярных решениях, где не будет таких проблем с ограничениями в плане лицензирования.

Безопасность

Разработка HTTP-сервисов достаточно проста – не нужно быть семи пядей во лбу. Но на вас ложится дополнительное требование по безопасности. Те, кто занимается web-разработкой, знают про всевозможные уязвимости типа SQL Injection, XSS Injection. Про это тоже нужно будет думать, чтобы обеспечить безопасность выполнения вашего приложения.

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

Заключение

Я специально не стал приводить примеры кода HTTP-сервисов, потому что все это действительно просто, и я уверен, что каждый из нас умеет работать с документацией. Но чтобы была какая-то стартовая точка, в этом QR-коде есть ссылка на технический блог, который я веду. Там я публикую свои статьи, которые я писал для различных журналов.

 

****************

Данная статья написана по итогам доклада, прочитанного на конференции INFOSTART EVENT 2017 COMMUNITY. Больше статей можно прочитать здесь.

В 2020 году приглашаем всех принять участие в 7 региональных митапах, а также юбилейной INFOSTART EVENT 2020 в Москве.

Выбрать мероприятие.

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

Комментарии
Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
1. Kutuzov 627 14.06.18 10:30 Сейчас в теме
С лицензиями не понятно - вроде была информация, что http-подключение не требует лицензии. Уточните этот момент, плиз, и приведите пруф, чтобы уж быть уверенным :)
ErshKUS; MerryJane; pm74; +3 Ответить
2. Sapiens_bru 3 14.06.18 11:08 Сейчас в теме
(1)http подключение требует одной полноценной лицензии на каждый сеанс. Другое дело, что время активности сеанса менее секунды (1С по умолчанию ставит 20 секунд, но можно сменить настройку).
Например СервисДеск для партнеров на http сервисах займёт совсем немного лицензий 1С. Партнёр открывает сайт (при этом 1С не задействуется), жмёт кнопку "Создать обращение" (1С всё еще не в курсе о клиенте), пишет своё сообщение и только когда нажимает "Отправить" на секунду устанавливается соединение с базой 1С, занимается лицензия, сообщение пишется в базу и соединение пропадает, высвобождая лицензию.
Ровно та же картина при получении ответов на сообщения.

Штук 5 дополнительных лицензий на 1С позволят вести активную переписку с сотней-другой партнеров одновременно.

И да, это только техническая сторона вопроса. Юридически же фирма 1С заставляет считать каждого пользователя http сервиса уникальным пользователем программы и приобретать лицензии по числу пользователей.
4. Bassgood 1011 14.06.18 11:18 Сейчас в теме
(2) А если сообщения партнеров, оставленные на сайте, будут забираться с него в 1С в фоновом режиме в этом случае партнеров можно не считать уникальными пользователями ПО 1С (ведь фактически они только оставляют свое сообщение на сайте без онлайн-подключения к 1С, сама отправка этих сообщений производится одной системной учетной записью)?
6. Sapiens_bru 3 14.06.18 11:32 Сейчас в теме
(4)Да можно и так. Но тогда вам понадобится полноценный бэкэнд на сайте, а прелесть 1С-http в том, что они такой бэкэнд заменяют. Хоть и без SSR.
7. genayo 14.06.18 11:33 Сейчас в теме
(4) Если 1С сама забирает/отправляет данные на сайт, то лицензии 1С на пользователей сайта не нужны, конечно. Битрикс стандартно так работает.
44. Cyberhawk 118 29.07.18 11:02 Сейчас в теме
(2)
http подключение требует одной полноценной лицензии на каждый сеанс
Брехня.
https://its.1c.ru/db/v8313doc#bookmark:adm:TI000000277
TeMochkiN; +1 Ответить
46. ovasiliev 11.05.19 12:28 Сейчас в теме
(2) Да бросьте. По числу одновременно работающих пользователей. То есть если на фирме 300 пользователей, а лицензий 100 - то все работают по принципу "кто раньше встал - того и тапки". И это абсолютно законно.
3. Bassgood 1011 14.06.18 11:11 Сейчас в теме
(1) Проверьте это практическим путем - создайте http-сервис; опубликуйте его на веб-сервере в режиме отладки; поставьте внутри процедуры сервиса точку останова; обратитесь к нему; пока отладчик висит на точке останова посмотрите через консоль сервера 1С "отжирается" ли лицензия на нем или нет. Так не получится?
5. Sapiens_bru 3 14.06.18 11:30 Сейчас в теме
(3)Можно и без точек останова. Просто в отладка-подключение видим входящие сеансы. Либо, если база серверная, можно посмотреть в консоли сервера 1С. Если публиковать http с длительностью сеанса по умолчанию (20 сек) или больше несложно увидеть как сеансы подключаются и пропадают.
8. Bassgood 1011 14.06.18 11:56 Сейчас в теме
(5) Не все сеансы ведь отжирают лицензии, наличие сеанса не означает использование им лицензии, разве нет?
9. Vanch90 14.06.18 12:03 Сейчас в теме
Тоже использовал http для корпоротивного сайта. Очень удобно, без дополнительных узлов и костылей. CURL на сайте с нужными параметрами и сразу же результат JSON.
10. A_Max 18 14.06.18 12:14 Сейчас в теме
Спасибо.
Всё хорошо, только бы убрать комиксы :(
maksa2005; OpKc; ivan_luzinov; rintik; Drivingblind; dsdred; al_zzz; Green2; mysm; JohnConnor; orfos; ph33l; kuzyara; jaroslav.h; sbcode; Eleepod; sergelemon; Mortal; s_vidyakin; Tolpinski; Dimasik2007; blackhole321; ErshKUS; Артано; 4way; Kutuzov; UniversaLL; user774630; +28 Ответить
11. leemuar 14.06.18 12:22 Сейчас в теме
> Но с 1С почему-то возникали какие-то сложности, непонятности, и все работало не очень хорошо.

Можно, пожалуйста, больше конкретики: какие сложности, в чем непонятности и что значит "не очень хорошо"?


Второй вопрос: под "меньше кода в HTTP-сервисах" вы подразумеваете что отсутствует валидация данных и никто ее не пишет в святой вере, что данные всегда будут приходить правильные? Например, что будет, если для указанного листинга обработки HTTP-сервиса в параметре count передадут -1?
Трактор; +1 Ответить
18. dalgaso2010 248 14.06.18 16:13 Сейчас в теме
(11)
Но с 1С почему-то возникали какие-то сложности, непонятности


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


(11)
Второй вопрос: под "меньше кода в HTTP-сервисах" вы подразумеваете что отсутствует валидация данных и никто ее не пишет в святой вере, что данные всегда будут приходить правильные? Например, что будет, если для указанного листинга обработки HTTP-сервиса в параметре count передадут -1?


Я разве говорил, что валидация не нужна? Конечно, нужна. В листингах ее нет для упрощения и сокращения объема кода. Вопросы безопасности также никто не снимал.
roman.shalabay; kuzz; +2 Ответить
21. leemuar 14.06.18 22:47 Сейчас в теме
(18) Спасибо. У вас не осталось случайно "нерабочих" wsdl? Хотелось бы понять какие именно атрибуты не поддерживаются платформой.

второй вопрос: так за счет чего именно достигается уменьшение кода в HTTP-сервисах? Из моего опыта как раз SOAP уменьшает количество кода за счет схемы - все первичные проверки и валидация ложатся на схему, код для этого писать не нужно
22. dalgaso2010 248 15.06.18 02:35 Сейчас в теме
(21)

Увы, сейчас схем нет. Их исправили. Забавно, что при возникновении проблем, поставщики начали спрашивать: "А не используете ли вы 1С:Предприятие". Я в эту сторону не копал детально, но проблема есть. Во время секции вопросов-ответов на прошлом Infostart Event, кто-то сталкивался с аналогичной ситуации и давал комментарии. Сейчас быстро вспомнить не смогу.


Под "минимум кода" подразумевается в первую очередь, что для обработки HTTP-запроса требуется минимум кода. Все необходимые данные из запроса легко получить через объект HTTPЗапроса. Поэтому обработка входящего HTTP-запроса в 1С выполняется также просто, как и в node.js с фреймворком epxress.js. Конечно, код самого сервиса может быть объемным.

Сделаю акцент, доклад не имел цели подчеркнуть превосходство одной технологии над другой. Я считаю, что для каждой задачи важно подбирать оптимальный инструмент. Мы в компании выбрали HTTP-сервисы в первую очередь из-за гибкости, удобства программирования и отсутствия заморочек при интеграции с сервисами партнеров.
24. leemuar 15.06.18 07:01 Сейчас в теме
(22) спасибо за ответы. Я тоже не пытаюсь вас переубедить в ущербности HTTP-сервисов, просто некоторые вопросы не раскрыты полностью - поэтому задаю их в комментариях. Конктретно меня не устраивает низкая производительность соединений SOAP-сервисов - время ответа веб-сервиса, просто возвращающего true без какой-либо логики, начинается от 1 секунды.

Все же до конца не понятно что вы имеете в виду под легкостью получения данных из HTTP-запроса. Механизм XDTO, используемый в SOAP-сервисах, в общем-то тоже обеспечивает большую легкость и гибкость работы с данными. Возможно под легкостью вы имеете в виду отсутствие необходимости изучать XDTO? Механизм непростой и требующий времени на погружение, прямая работа с текстом тела запроса действительно в какой-то мере "прямее" и "проще"
29. monkbest 105 20.06.18 13:43 Сейчас в теме
(24) конечно проще и прямее


все эти схемы, wsdl файлы... накой они нужны? Весь интернет построен на обмене текстами (json, xml, html) и не надо ничего усложнять лишними объектами, именно http дает возможность работать с текстом как с текстом, сервис обмена текстами не должен брать на себя функции по контролю содержимого текста и парсить его структуру.

Распарсить или наоборот собрать текст можно другими средствами их выбор велик даже в 1С.

Если сир любит пошалить с XDTO, то никто не запрещает это делать и в http сервисе
30. leemuar 20.06.18 17:37 Сейчас в теме
(29) А как вы валидируете данные? Код валидации пишете каждый раз заново или у вас готовая библиотека есть? wsdl, схемы и xdto дают прекрасную абстракцию и берут на себя довольно много из того, что при "голой" работе с текстом пришлось бы делать вручную
33. monkbest 105 20.06.18 22:08 Сейчас в теме
(30) пример куска входящих данных

<hren>2</hren><hren></hren><hren>3</hren>

и

<hren>2</hren><hren/><hren>3</hren>

кому-то одно и то же, а кому-то разные вещи, и если на том конце готовый framework то требовать строго синтаксиса на этой стороне нет смысла, столкнулись два фреймворка внутрь которых не залезть и они не совместимы
(30)
34. kuzyara 1014 21.06.18 04:39 Сейчас в теме
(30)
Процедура ОбработатьСобытиеСозданияЗаказа(Знач Данные, Отказ = Ложь) Экспорт 
	Попытка
		//Order = ПолучитьОбъектXDTO(Данные); 
		ЧтениеJSON = Новый ЧтениеJSON;
		ЧтениеJSON.УстановитьСтроку(Данные);
		СтруктураJSON = ПрочитатьJSON(ЧтениеJSON);
		
	Исключение
		БылиОшибкиФорматаСообщения  = Истина;
		ТекстОшибки = "["+Строка(ТекущаяДата())+"] "+ОписаниеОшибки();
	КонецПопытки;	
		
	Попытка
		Результат   	= МодульИМ.СоздатьЗаказПоЗапросуСервиса(СтруктураJSON);
	Исключение	
		БылиОшибкиПриЗагрузке = Истина;
		ТекстОшибки = "["+Строка(ТекущаяДата())+"] "+ОписаниеОшибки();
	КонецПопытки;

Функция СоздатьЗаказПоЗапросуСервиса(Order) Экспорт
	
	РезультатФункции		= Новый Структура;
	РезультатФункции.Вставить("return", True);
	РезультатФункции.Вставить("error", "");
	
	//Если ТипЗнч(Order) = Тип("ОбъектXDTO") Тогда
	//	Order = ЗаказыПокупателейСобытия.ПолучитьСтруктуруXDTO(Order);
	//КонецЕсли;
	
	//Определим параментры заказа: Контрагента,Склад,ДатуЗаказа,ДатуОтгрузки и т.п.
	KontrWS            = Order.kontragent;
	MagazinWS          = Order.magazin_id;
	idWS               = Order.id;
	statusWS           = Order.status;
	payment_typeWS     = Order.payment_type;
	// ...
	// вот так просто и безболезненно можно перейти с xdto на json $)
	
	
	//Попович Алексей (15.05.2015) {
	AdditionalStock = ?(Order.Свойство("AdditionalStock"), Order.AdditionalStock, "");
	//Попович Алексей (15.05.2015) }
	// { Добрыня Н. Заявка № 5304 24.11.2015 10:58:30
	DoNotCombineOrder  = ?(Order.Свойство("DoNotCombine"), Order.DoNotCombine, Ложь);
	// } Добрыня Н.24.11.2015 10:58:30
	// {Добрыня Н. Заявка № 6755 26.04.2016 13:22:14 
	CodeTerminal = ?(Order.Свойство("CodeTerminal"), Order.CodeTerminal, Ложь);
	// } Добрыня Н. 26.04.2016 13:22:14
	//...
Показать

В модели обмена 1сервис-в-1сервис можно не заморачиваться с валидацией, немного code smell как плата за гибкость. В rabbitmq это называется "толерантный подписчик" ;)
35. leemuar 21.06.18 07:27 Сейчас в теме
(34) Пример хороший, но это валидация исключительно синтаксическая. Если придут неверные данные или данные в другом виде - либо будет runtime error либо придется городить множество ручных проверок.

Подход понятен, но я лишь указываю, что это programming by coincidence
31. leemuar 20.06.18 19:25 Сейчас в теме
(29) понимаете, это все равно что говорить: "работа с потоком байтов через сокеты удобнее и проще, http - кому он нужен?". Схемы, wsdl, xdto решают довольно широкий спектр проблем и предоставляют удобные инструменты для работы. Да, у них есть технические недостатки, но они идут в комплекте с серьезными достоинствами.
32. monkbest 105 20.06.18 22:04 Сейчас в теме
(31)
о какой валидации идет речь? Вы о безопасности или проверке что число не буква?
почему я против?

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

2. у меня есть предвзятое отношение ко всему где надо для создания объекта указывать лишнюю информацию? например пространство имен и пакеты XDTO, зачем они? Почему я должен в системе указывать URLы сайта 1С непонятно на что ссылающиеся? Один фиг мне надо описать каждое св-во XDTO пакета, я понял бы если по этим URLам лежали бы готовые типовые на все случаи жизни схемы, ан нет, структуру пакета укажи и url укажи, что там по этому url полезного? xml парсер должен работать без этой магии

3. это все xml, другие текстовые данные они не умеют понимать, однако есть тексты других структур да и просто двоичные данные. Да даже xml они отвергнут без определнных заголовков. На другом конце нет XDTO фабрики и там не 1С.
36. leemuar 21.06.18 07:34 Сейчас в теме
(32) вы про пространство имен и URL это серьезно написали, без шуток и иронии?
38. monkbest 105 21.06.18 12:02 Сейчас в теме
(36) очень серьезно! :) и без шуток! искренне считаю это ЛИШНИМ гемороем при работе с данными объектами

может просветите меня, какая от них польза?
42. dalgaso2010 248 25.06.18 06:23 Сейчас в теме
(31)

У любой технологии есть плюсы и минусы. Данный случай не исключение. Для меня это:

- Скорость разработки;
- Распространенность;
- HTTP-сервисы проще изменять. В простых случаях клиенту не придется обновлять схему.


Повторюсь, я не хочу сказать, что веб-сервисы это плохо. Отнюдь.
12. Infactum 287 14.06.18 12:51 Сейчас в теме
Сайт обычно генерирует OLAP нагрузку. Типовые конфигурации (да и, грубо говоря, платформа в целом) на это практически не рассчитаны. Поэтому нельзя просто так взять и связать загрузку страницы с обращением к http сервису. Точнее можно - но это быдлокод.
По правильному нужен сервис очередей, чтобы собирать запросы со стороны сайта и по мере их исполнения отдавать информацию для отрисовки на уже загруженной странице. Или, на худой конец, интерактивный запрос средствами JS после загрузки страницы. Вот бы кто нормальный пример интеграции продемонстрировал, а таких статей в духе hello world и так достаточно...
13. kuzz 14.06.18 13:29 Сейчас в теме
💪💪💪 Мы как раз таки заканчиваем своё мобильное приложение для внутренних процессов небольшой компании (до 50 сотрудников) с использованием HTTP-сервисов 1С. Они работают, подтверждаю.
17. A_Max 18 14.06.18 14:53 Сейчас в теме
(13) Никто и не отрицает, что они работают. Вопросов всего два:
1. Лицензирование по реальным пользователям, а не то что сеанс появился на пол секунды.
2. Производительность на даже на относительном хайлоаде.
14. kiruha 384 14.06.18 14:20 Сейчас в теме
Спасибо, остается только проблема с лицензиями (юридическая).
Во всех компаниях где предлагал http сервисы - спасибо/ интересно/ но требует лицензий - и лучше мы обычный обмен через битрикс
15. vandalsvq 1147 14.06.18 14:27 Сейчас в теме
Для себя при реализации всяких "наколенных" проектов использовал Angular. На чистом JS реально было много кода + знания не того уровня. Но это было еще на AngularJS (или версия 2). После переезда гугла на новый Angular (версия 3 и выше) я как то немного отстал. Понравился тайпскрипт с типизацией, это да, сразу проблемы при компиляции многие решаются. Но даже довести до того уровня свои "наколенники" который был, мне не удалось. Новый ангулар оказался с достаточно неплохим порогом, очень во многие вопросы утыкался и понял что мои знания далеки от совершенства. Сейчас мало времени этим заниматься, о чем очень жалею и никак не могу заставить себя меньше спать и снова туда влезть )))))
20. dalgaso2010 248 14.06.18 16:19 Сейчас в теме
(15)

Мы с React используем. Уже сделали несколько клиентов на такой связке. Планирую доклад по этой теме сделать. С примером разбора реального приложения.
mkostya; roman.shalabay; kuzz; +3 Ответить
25. roman.shalabay 15.06.18 08:39 Сейчас в теме
(20)
Добрый день!
Очень была бы интересна клиентская часть
26. dalgaso2010 248 15.06.18 10:04 Сейчас в теме
(25)

А что именно рассказать? Задавайте вопрос, попробую ответить. Я готовлю одноименный доклад по теме. Там будет упор именно на программирование на стороне клиента.
37. jaroslav.h 21.06.18 10:16 Сейчас в теме
(26) хочу услышать и увидеть о практической части реализации (реальные примеры) джава и 1с или джава в 1с или как там у вас оно реализовано...
(что бы стало понятно, разбираться сразу или еще пока оно нам не нужно)
спасибо.
40. dalgaso2010 248 25.06.18 06:15 Сейчас в теме
(37)

Я думаю написать отдельную статью на эту тему. В принципе, можно посмотреть на моем блоге. Там рассматривался пример JS (без фреймворков) и 1С. Я пытался выложить сюда ссылку, но она постоянно вырезается.

В продакшн мы используем 1C + node + react. В такой связке работают несколько сервисов. Будет интересно - пишите в личку. Кину ссылки.
mkostya; kote; jaroslav.h; +3 Ответить
16. AlexZhukov 14.06.18 14:50 Сейчас в теме
кровь из глаз от такой статьи, может для бумажного журнала это и нормальный формат, но тут мешать кучу картинок с двумя строчками текста
это вырвиглаз
trickster; TorLink; jaroslav.h; sbcode; sergelemon; IgorS; s_vidyakin; Dimasik2007; ErshKUS; kiruha; BushNik; CSiER; user774630; A_Max; +14 3 Ответить
27. dalgaso2010 248 16.06.18 06:06 Сейчас в теме
(16)

Это расшифровка моего доклада. Да, формат расшифровки не сравнится с обычной журнальной статьей.
28. serg-lom89 53 18.06.18 10:17 Сейчас в теме
спасибо.было интересно почитать и узнать что то новое!)
39. iliabvf 22.06.18 02:16 Сейчас в теме
А можно пример на ReactJS + 1C бэкенд?
От себя отмечу, что 1C http сервисы и 1C SOAP Web-сервисы очень медленный к сожалению!
41. dalgaso2010 248 25.06.18 06:17 Сейчас в теме
(39)

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

Да, скорость ниже, чем в классическом стеке, но для многих сценариев ее более, чем достаточно. Кстати, начиная с 8.3.10 стало все значительно быстрей.
43. asved.ru 35 25.07.18 15:47 Сейчас в теме
1) HTTP-сервис не требует клиентскую лицензию с технологической точки зрения. Вот с точки зрения лицензионной политики - да, требует.
2) Ваше мнение о производительности попахивает дилетантством, в особенности с появлением в платформе переиспользования сеансов. Если Вы, конечно, не говорите о работе с файловой ИБ.
45. Bassgood 1011 10.11.18 19:12 Сейчас в теме
(43)
HTTP-сервис не требует клиентскую лицензию с технологической точки зрения

Вы проверяли это на практике, например, через консоль кластера серверов 1С?
47. user670455 19.10.19 16:35 Сейчас в теме
Что-то не так с qr-кодом , во всяком случае с iphone через chrome сканирование qr-кода происходить какая-то дичь :)
Оставьте свое сообщение

См. также

Обмен данными. Консистентность vs Многопоточность Промо

Интеграция v8 1cv8.cf Бесплатно (free)

Рассмотрим теоретические основы обмена данными. Какие бывают обмены, какие гарантии при этом даются, зачем идти на компромиссы и что при этом может пойти не так. Есть ли идеальная схема?

03.09.2019    10571    0    m-rv    1    

1C# – 1С моей мечты

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

Встроенных в платформу 1С возможностей не всегда хватает для построения сложных интеграционных схем между различными 1С и не-1С-решениями на базе MS SQL Server. Как сделать интеграцию между SQL-базами более гибкой с помощью платформы 1С# на конференции Infostart Event 2019 Inception рассказал Дмитрий Жичкин.

01.06.2020    6808    0    zhichkin    31    

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

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

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

21.05.2020    4803    0    CyberCerber    10    

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

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

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

20.05.2020    1719    0    platonov.e    16    

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

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

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

10.03.2016    53810    0    Serginio    33    

Нейроконструктор

Интеграция Искусственный интеллект (AI) Прочие инструменты разработчика v8 Бесплатно (free)

Изучайте нейронные сети и экспериментируйте вместе с расширением конфигурации "Нейроконструктор". Навыки программирования не требуются.

20.05.2020    2951    19    user1404129    9    

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

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

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

13.05.2020    1440    0    osivv    3    

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

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

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

13.05.2020    1067    0    osivv    0    

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

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

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

10.03.2017    24293    0    ruha    14    

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

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

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

12.05.2020    1596    0    zhichkin    17    

Как мы загружаем данные в "Центр управления кассами Магнита"

Внешние источники данных Интеграция v8 1cv8.cf Бесплатно (free)

Статья о том, как мы делали механизм загрузки больших объемов данных в "Центр управления кассами Магнита"

08.05.2020    3415    0    chernenko_vv    23    

Интеграция СуперОкна7 и УНФ

Интеграция Внешние источники данных v8 УНФ Россия Бесплатно (free)

Изучаем базу данных СуперОкна7, смотрим возможности передачи и получения информации.

08.05.2020    1094    0    vostok1.dz    2    

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

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

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

11.04.2013    39734    0    YPermitin    33    

Синхронизация БИТ:СКУД 8 с Parsec.Net 2.5

Интеграция Внешние источники данных v8 1cv8.cf Бесплатно (free)

Настройка синхронизации БИТ:СКУД 8 с Parsec.Net.2.5, выгрузка данных из внешней системы контроля доступа.

04.05.2020    2973    0    RPGrigorev    0    

Измерительная лаборатория с использованием 1С+Ардуино

Периферийные устройства Разработка Интеграция v8 Россия Бесплатно (free)

1С в автоматизации "научных" и около... экспериментов.

02.05.2020    2838    0    maxlab    15    

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

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

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

28.04.2020    2571    0    osivv    23    

Помощник работы с VirtueMart Промо

WEB Розничная торговля Розничная торговля v8 УТ10 УПП1 Россия Бесплатно (free)

Обработка для обмена данными с интернет-магазином на базе VirtueMart. Позволяет выгружать товары с изображениями и загружать заказы покупателей. Управлять интернет-магазином теперь стало просто!

19.04.2012    23319    1    salexdv    13    

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

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

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

27.04.2020    4026    0    fr13    19    

Интеграция БИТ:СКУД с типовой конфигурацией

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

Интеграция БИТ:СКУД с типовой конфигурацией, обновление БИТ:СКУД в составе конфигурации и отдельно. Обновление системы защиты.

26.04.2020    3952    0    RPGrigorev    0    

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

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

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

24.04.2020    1369    0    capitan    13    

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

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

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

03.06.2013    29277    0    anig99    6    

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

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

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

21.04.2020    6137    0    RPGrigorev    2    

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

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

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

20.04.2020    2752    0    RPGrigorev    0    

Ошибка инициализации модуля: HTTPСервис

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

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

13.04.2020    1540    0    VipDim    10    

Интеграция 1С и BI-системы: мой опыт с коннектором ATK BIView

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

Интеграция 1С и BI-системы: мой опыт с коннектором ATK BIView.

06.04.2020    2832    0    Flyerink    0    

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

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

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

01.04.2020    2531    0    Alejandro_V    6    

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

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

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

31.03.2020    9820    0    informa1555    21    

Коронавирус COVID-19. Статистика по странам

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

В связи с COVID-19 люди поделились на две категории: те, кто осознал, и те кто ЕЩЕ не осознал. Единственное наше преимущество перед Коронавирусом заключается в том, что информация распространяется быстрее, чем расползается "невидимка".

25.03.2020    5080    2    Evgen.Ponomarenko    60    

Серебряная пуля интеграции - как не выстрелить себе в ногу

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

Статья о событийно-ориентированной интеграции и об асинхронной обработке данных в контексте 1C под управлением SQL Server. Подробно разбирается вопрос использования таблиц СУБД в качестве очередей сообщений.

23.03.2020    2002    0    zhichkin    6    

Интеграция "Библиотеки интеграции МДЛП 1.1.2.7" с типовой конфигурацией

Интеграция Конфигурирование 1С v8 Здравоохранение, медицина, стоматология Россия Бесплатно (free)

Инструкция для интеграции “Библиотеки интеграции МДЛП 1.1.2.7” в типовые конфигурации, на примере конфигурации “Управление нашей фирмой, редакция 1.6 (1.6.18.168)”.

02.03.2020    2848    0    RPGrigorev    3    

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

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

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

18.02.2020    4371    0    Yashazz    1    

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

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

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

12.02.2020    3451    0    gamletspb    2    

Анализ работы внешней обработки сервиса МодульКасса применительно к задаче фискализации чеков при доставке

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

В статье разберу работу внешней обработки для работы с МодульКасса, опишу недочеты и применимость для организации доставки, предложу собственный вариант реализации.

11.02.2020    1978    0    malikov_pro    0    

Вариант реализации REST API для 1С-Битрикс Управление сайтом

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

В статье опишу вариант обмена 1С УТ 11.4 и 1С-Битрикс УС 18.5 с иcпользованием компонентов Symfony, в качестве примера обмен данными по складам.

28.01.2020    3160    0    malikov_pro    2    

Бесшовная интеграция через обмен по правилам - миссия выполнима

Практика программирования Интеграция Перенос данных из 1C8 в 1C8 v8 ДО ERP2 Бесплатно (free)

При организации работы с договорами в ERP 2, с помощью бесшовной интеграции с Документооборотом, «типовой» методикой является создание договоров в ЕРП. После создания договора в ЕРП, пользователь «отправляет» договор в ДО по бесшовной интеграции. На практике, весьма часто пользователи хотят видеть обратную схему: вводить договоры в ДО и при этом получать их в ЕРП без «лишних телодвижений». Или даже вводить их независимо в обеих системах – так, чтобы потом «стыковать» по каким-то определенным правилам.

24.01.2020    3565    0    e-9    2    

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

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

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

22.01.2020    2345    0    malikov_pro    5    

Двусторонний обмен с поставщиком через интернет-магазин для реализации товаров с ответственного хранения (с 01.02.2020 "Партии" не используются)

Файловые протоколы обмена, FTP WEB v8 УНФ Оптовая торговля, дистрибуция, логистика Россия УУ Бесплатно (free)

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

16.01.2020    3501    0    chkurs    0    

Получение номера ВСД по идентификатору 1С: Меркурий

Производство готовой продукции (работ, услуг) WEB v8 УТ11 Пищевая промышленность Россия Бесплатно (free)

Код парсинга веб страницы для получения номера ВСД в системе Меркурий.

24.11.2019    3584    0    ohyen    0    

Немного о интеграции с CRM AMO

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

Немного информации о том, как настроить интеграцию с CRM AMO. Пример функций для подключения к АМО и обновления заказа. Пример на основе API авторизации.

15.11.2019    3463    0    xxxAndricxxx    6    

Ещё немного о ИНН и сервисе DaData

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

Об использовании сервиса dadata и немного информации о возможностях получать данные по ИНН. Возможно, кому-то будет полезным.

14.11.2019    6149    0    xxxAndricxxx    21    

Вариант реализации клиента SOAP на примере получения остатков из MERLION

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

В статье приведу пример клиента к сервису SOAP, функции которого принимают несколько значений типа строка или массив строк.

14.11.2019    2865    0    malikov_pro    0    

Разбор любого JSON-объекта в соответствующую структуру

Инструментарий разработчика WEB v8 1cv8.cf Бесплатно (free)

Данная публикация предназначена разработчикам 1С, которым приходиться разбирать данные формата JSON. Выложенный пример кода создает объект типа Структура, полностью повторяющий структуру данных формата JSON.

13.11.2019    6471    0    user665435_al.windstorm    14    

Проверка reCAPTCHA от Google на стороне HTTP-Сервиса

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

Код проверяет переданный токен reCAPTCHA от Google при вызове HTTP-Сервиса. Таким образом проверяем, отправил ли данные на наш HTTP-Сервис робот или реальный пользователь.

06.11.2019    5228    0    AVR    0    

Простой способ опубликовать базу 1C из дома в интернет, когда Ваш провайдер этого не обеспечивает (3G, 4G модем и т.п.)

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

Если у Вас возникла потребность опубликовать из дома во всемирную паутину базу 1С (например, для тестирования), в т.ч. интерфейс OData, HTTP или Web-сервисы, а интернет-провайдер (например, 3G Мегафон) не предоставляет возможности инициировать соединения извне, то в конце статьи Вы найдете простой, быстрый и условно-бесплатный способ это сделать.

14.10.2019    9672    0    uno-c    25    

Оповещения боту из 1С за 31 минуту

Практика программирования Интеграция v8::УФ 1cv8.cf Бесплатно (free)

Поделюсь опытом, как быстро сделать бота с оповещениями в Телеграмм из 1С без лишних затрат.

18.09.2019    14981    4    feva    36    

Самый примитивный HTTP-сервис в мире

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

Пошаговый пример создания простейшего HTTP-сервиса, который генерирует HTML-страницу для поиска товара, а также реализует асинхронное получение данных из базы.

12.09.2019    18384    0    YPermitin    26