Разработка гибридного web-приложения на 1С, возможности и ограничения

Публикация № 1510179 06.09.21

Интеграция и обмен данными - WEB-интеграция

Web-клиент HTTP-сервисы интеграция web-приложение Веб-клиент

Все чаще разработчики склоняются к использованию 1C в качестве бэкенда при разработке веб-приложений. Но благодаря встраиванию веб-клиента 1С в сайт можно получить еще больше готовой функциональности. О том, как реализовать гибридное приложение за счет связки 1С с другими веб-технологиями, рассказал разработчик компании Neti Эльдар Мингалиев.

Сделайте мне, пожалуйста, скрипт (заказчик)

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

Меня зовут Эльдар Мингалиев, я разработчик 1C. Начинал свой путь с веб-разработки, трудился в веб-студии на PHP. На 1С разрабатываю 7 лет и люблю комбинировать подходы и технологии. На текущий момент работаю в компании Neti.

 

О задаче

 

 

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

Заказчик – владелец таксопарка по франшизе Яндекса. Он пришел к нам со следующей болью: у него было много водителей, и он каждый день тратил очень много времени на выплату денег таксистам.

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

  • каким-то образом получить заявку от водителя – либо он лично приходил в офис, либо звонил, либо как-то иначе оповещал таксопарк о своем желании получить деньги;

  • владелец должен был зайти в диспетчерскую, посмотреть, какой у водителя баланс, сравнить с той суммой, которую он запросил;

  • потом посчитать и отнять коэффициенты таксопарка, зайти в платежную систему, выплатить;

  • потом зайти снова в диспетчерскую и списать эту сумму с баланса у водителя.

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

В компании, так как она достаточно молодая, не было никакой автоматизации, кроме веб-клиента диспетчерской Яндекса, а он не подразумевал какую-то доработку или кастомизацию.

Также у владельца таксопарка был доступ к API Яндекс.Такси и к API платежной системы Qiwi, которая использовалась для выплат сотрудникам.

 

Идеи, как все реализовать

 

Настало время подумать над тем, как это реализовать. Я не сторонник использовать большие фреймворки для маленьких задач, и было пока неясно, насколько это все «взлетит», будет ли это пользоваться популярностью у водителей и понравится ли владельцу – все было достаточно туманно.

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

 

 

Но тут пришел заказчик и сказал: «А я еще хочу, чтобы хранилась история выплат».

Тогда к PHP добавился еще MySQL.

 

 

Результат на первой итерации

 

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

Я сдал первый скрипт, и в целом он работал.

 

Но, когда заказчик увидел, как это работает, и сколько времени на другие дела у него появилось, он попросил еще:

  • статистику выплат;

  • автоплатеж с настройками;

  • возможность видеть несколько таксопарков в одной системе.

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

 

Результат на второй итерации

 

 

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

Для его интерфейса я использовал достаточно популярный шаблон AdminLTE, построенный на Bootstrap. Он позволил быстро накидать интерфейс, и содержал в себе базовые возможности отображения форм, управление отображением таблиц и диаграмм.

В этом интерфейсе мы можем:

  • управлять водителями;

  • заводить таксопарки;

  • если что-то не подтянулось автоматически, можем загрузить это по кнопке;

  • можем статистику посмотреть и т.д.

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

 

Дальнейший процесс разработки

 

 

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

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

 

 

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

 

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

Но требования заказчика росли и накапливались. Он хотел:

  • выгрузку статистики в Excel;

  • печатные формы, которые можно было бы сдавать в налоговую;

  • журнал ошибок и действий в системе

  • антифрод выплат;

  • ручную активацию/деактивацию водителя в системе

  • выплаты через ведомость Сбербанка;

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

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

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

 

 

Фреймворк поможет структурировать код, там будет встроенная авторизация, инструменты миграции и реструктуризации базы. Потому что, разрабатывая приложения на чистом PHP, я столкнулся с тем, что внесение изменений в СУБД – достаточно тяжелая для разработчика операция. Нужно всегда держать в голове все взаимосвязи и сущности в базе, и, если ты изменил одну колонку, надо правильно реструктуризировать и перенести данные на новую структуру. В 1С эта задача решена классно, поэтому дальше об этом поговорим.

 

 

Первоначально схема приложения у нас выглядела так:

  • у нас был Linux-хостинг. На нем стоял Apache, MySQL;

  • регламентные задания выполнялись в Cron;

  • управлял всем PHP;

  • админку для владельца и личный кабинет водителя мы сделали на традиционных HTML и JS с использованием Bootstrap и AdminLTE;

  • кэши пользователей мы хранили в Redis.

 

Выбор фреймворка

После некоторых раздумий мы приступили к выбору фреймворка. Нам были важны такие моменты, как:

  • скорость переноса проекта на новые рельсы;

  • скорость внедрения новых возможностей;

  • широкий инструментарий для управления системой;

  • совокупная стоимость владения системой.

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

Дело в том, что при разработке на чистом PHP и на большинстве фреймворков мы для любой сущности должны:

  • сделать сущность в базе;

  • написать обертки для операций CRUD;

  • нарисовать вью, который отображает список;

  • вью, который отображает объект;

  • вью, который позволяет редактировать объект.

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

Я выбирал из трех PHP-фреймворков – Laravel, YII, Codelgniter.

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

Да, для каждого из этих фреймворков есть RBAC плагины (Role Based Access Control – то, что у нас называется ролями пользователя) содержащие какие-то минимальные возможности для управления доступом на уровне записей, но они требовали время на изучение, внедрение и доработку, а в исходном виде они не позволяли настроить доступ так, как нам хотелось.

Фреймворк я выбирал по следующим критериям:

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

  • YII не был мною изучен, и к тому времени устарел. Когда выйдет новая версия – непонятно, а брать что-то старое мне не хотелось.

  • Codelgniter тоже не был мною изучен и тоже требовал доработки модели управления доступом.

Я сделал выбор в пользу Laravel, и начал делать небольшой прототип.

Но пока я делал прототип, ко мне пришел заказчик и сказал: «Я видел 1С, на нем все быстро и удобно, дизайн мне понравился. А еще я пообщался с конкурентами, они сделали себе такую систему на 1С, и у них все хорошо».

В результате мы добавили к сравнению 1С.

Естественно, у 1С в данном случае есть свои недостатки:

  • скорее всего, будут проблемы с кастомизацией интерфейса – если заказчик захочет что-то очень красивое или необычное, это, скорее всего, сделать это будет либо очень сложно, либо невозможно;

  • нужны лицензии;

  • есть проблемы с отображением веб-клиента на смартфоне.

Но я добавил Laravel еще один минус:

  • по сравнению с 1С у Laravel более медленный процесс разработки форм и классов – в 1С, как мы все знаем, это очень быстро, если мы написали backend, то добавить frontend почти ничего не стоит.

Я сделал выбор в пользу 1С. В данном случае для меня это было небольшое исследование, в том числе. Я хотел узнать, насколько хорошо 1С подходит для таких задач, хотел узнать возможности платформы 1С в таком ключе.

 

Web-приложение на 1С

 

 

Система была построена следующим образом.

  • Я взял 1С и добавил туда БСП – она избавила меня от большинства проблем и решила большинство, даже возможных, требований заказчика. Сюда входят и появившиеся в будущем требования о добавлении изображений водителям, тонкой настройки управления доступом, удобной панели управления и всяких сервисных функций.

  • Также хочу отметить HTTP-коннектор от Владимира Бондаревского для работы с внешними API. Это решение развязало мне руки, и я смог настраивать и конфигурировать интеграцию с внешними API Qiwi и Яндекс достаточно быстро и просто – достаточно только разобрать структуру входного и выходного сообщения. Проблемы с редиректами, доступностью и преобразованием данных HTTP-коннектор берет на себя.

  • В момент выхода платформы 8.3.16 я увидел, что она позволяет использовать так называемый встраиваемый веб-клиент 1С. На нем я реализовал админку для владельца – так как основной блок доработок у нас происходил в личном кабинете владельца и по минимуму в личном кабинете для водителя, соответственно, скорость разработки для личного кабинета владельца была важнее.

  • Личный кабинет для водителя я оставил на PHP + JS. Он уже написан, и мне ничего не помешало использовать уже готовую функциональность. В данном случае решено было оставить личный кабинет водителя на PHP + JS, потому что у водителей разные устройства. Это решение позволило добиться максимальной кроссплатформенности, максимальной легкости в разработке и деплое.

 

Встроенный веб-клиент для личного кабинета владельца

 

 

Переходим дальше. На слайде я демонстрирую работу встроенного веб-клиента.

Обратите внимание, когда я вхожу, у меня есть собственная форма авторизации – мне удалось достаточно легко заменить стандартную форму авторизации, хорошо что все данные для это есть на ИТС. Я нажимаю «войти», крутится спиннер, у меня появляется окно стартера 1С. Как только 1С загружена, она отображается на экране, спиннер пропадает.

Хочу обратить внимание на адресную строку. Это не такой адрес, как формирует 1С по умолчанию. И в этом главная сила того, что появилось во встраиваемом веб-клиенте.

 

 

Теперь веб-клиент 1С может быть частью веб-приложения.

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

  • Также мы получили возможность влиять на поведение веб-клиента извне. Например, как я сделал: убрал окно стартера, сделал кастомную авторизацию. Мы можем отправлять сообщения из веб-клиента в родительский сайт и из родительского сайта в веб-клиент и определять таким образом поведение страницы.

  • Мы получили возможность кастомизировать интерфейс. Я убрал лишние кнопки-бургеры, чтобы ограничить возможности по открытию окна «Все функции», открытию файла, переходу в подсистемы и т.д.

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

 

 

Давайте погрузимся в «недра». На слайде я демонстрирую, как скрыть окно загрузки и вместо него установить спиннер.

Ничего особенного здесь не сделано. По большей части этот код представлен в документации на ИТС. Единственное, что я добавил:

  • в начале у нас создается блок с id=’webClientContainer’ со «скрытой» видимостью (visibility: hidden);

  • а в момент, когда веб-клиент загрузился (функция onStartWebClient), у нас этот блок ставится «видимым» (visibility: visible);

  • также при старте запускается спиннер – блок с id=’page-preloader’, и в момент, когда приложение загружено, спиннер отключается.

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

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

 

 

Хочу сказать про работу с версткой веб-клиента. Я немного переделал функцию onStartWebClient, которая запускается при старте веб-клиента, чтобы было нагляднее.

На слайде у меня представлен код, который позволяет получить доступ к верстке и проникнуть в iframe, где отображается веб-клиент 1С.

Здесь я получаю сформированный документ, когда он готов, удаляю не нужные мне элементы, и добавляю новый класс ‘pulsing’ – он работает в момент, когда человек в первый раз зашел в нашу систему, чтобы подсветить ему важные элементы в веб-клиенте.

 

 

Личный кабинет водителя

 

Для личного кабинета водителя у нас устроена двухфакторная аутентификация. Мы отправляем код, обработка кода осуществляется в 1С.

Вы можете видеть, что с момента нажатия на кнопку «Отправить код» до выдачи сообщения о том, что код отправлен, проходит немного времени.

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

Личный кабинет построен на PHP + JS. PHP получает данные из 1С, для этого написан минимальный коннектор к HTTP-сервисам 1С, и личный кабинет эти данные успешно получает. Задержки при получении данных минимальные. Сейчас у нас около 150 пользователей, которые периодически заходят в нашу систему для использования функциональности выплат – нагрузка не ощущается и незаметна.

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

Личный кабинет умеет загружать фотографии в 1С, в том числе и с камеры смартфона, умеет отображать эти фотографии.

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

 

 

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

  • На Windows-VDS стоит 1С и PostgreSQL.

  • PostgreSQL поставили после того, как сделали новую разработку, изначально все работало на файловый базе, и тоже было достаточно неплохо. Но напрягало, что потенциал масштабируемости при использовании файловой базы практически отсутствует, и у нас, как я уже сказал, появились другие пользователи, которые пользуются веб-клиентом на постоянной основе. Их было 5-10 человек, и в файловой базе работа такого количества человек – очень неудобная штука, потому что управление зависшими сеансами достаточно скудное. Поэтому впоследствии мы использовали кластер серверов 1С и PostgreSQL. С PostgreSQL никаких проблем у меня не возникло, инструкции по настройке и использованию хватило с головой. Большого объема данных у нас в системе не копится, работает все достаточно быстро и качественно.

  • Еще стоит Apache, на котором опубликована 1С и крутятся скрипты на PHP.

  • Личный кабинет остался на PHP + JS.

  • А админкой для владельца стал веб-клиент 1С.

  • Кэши пользователей все так же храним в Redis.

 

Результаты после года работы

 

 

Что можно отметить после более чем года работы в такой связке?

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

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

  • Даже в файловом варианте скорость работы была достаточно высокая.

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

 

 

Мне стало интересно, насколько быстро работает 1С, и я сделал нагрузочные тесты с использованием jmeter. Для тех, кто не осведомлен, – это разработка Apache на Java, которая позволяет запустить какое-то количество запросов, указанное в настройках теста, в многопоточном режиме.

Нагрузочные тесты не выявили критичных проблем производительности нашей системы даже для гипотетических 400 пользователей, что вполне соответствует кейсу заказчика, а при необходимости масштабировать производительность можно будет использовать стандартные подходы из мира web-разработки и 1С.

Я представил небольшие описания машин, на которых это запускалось:

  • Файловая 1С была установлена локально на SSD, оперативы 16 gb процессор Ryzen 5 3600.

  • Удаленная база на PostgreSQL – это Intel Core 2.6 ГГц, 6 ГБ оперативы и HDD.

В таблице нагрузочных тестов первая строка для файловой базы, вторая – для базы с PostgreSQL.

  • Видно, что отправлялось 400 пакетов.

  • Средний запрос

    • в файловую базу занимает почти 5000 миллисекунд. Этот показатель получается, когда у нас очень много одновременных коннектов и время ожидания растет;

    • средний запрос к базе на PostgreSQL занимает 1,5 тысячи миллисекунд, грубо говоря, 1,5 секунды.

  • Как можно увидеть на показателях min и max:

    • деградация производительности при использовании PostgreSQL и кластера серверов даже на более слабой машине заметно меньше. То есть при увеличении количества соединений максимальное время растет не такими большими темпами, как на файловой базе.

    • Но и на файловой базе скорость вполне удовлетворительная.

  • Также мы можем увидеть в последней колонке (throughput – количество запросов в секунду):

    • на файловой базе количество запросов в секунду больше;

    • но на PostgreSQL количество запросов в секунду ненамного меньше, и их скорость более линейна. При дальнейшем масштабировании базы PostgreSQL будет вести себя более предсказуемо.

 

Немного про Redis

 

 

Расскажу немного про Redis.

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

Не хотелось делать анонимную авторизацию в 1С, поскольку это совсем уж дырка в безопасности, поэтому решили хранить данные сессии в Redis – так как эти данные нужны до момента аутентификации в 1С, под них нужно отдельное хранилище.

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

Для удобства администрирования Redis, чтобы не сидеть в консоли, есть хороший клиент phpRedisAdmin, который позволяет подконнектиться к Redis, посмотреть все ключи и информацию по ним

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

 

 

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

В нашей ситуации большая часть компонентов (1С, Apache, PostgreSQL) закрыты для внешнего доступа и, как правило, доступны только на локалхосте, если специально доступ не открывать.

Redis же поступает наоборот – он по умолчанию при установке открывают порт и доступен всем извне. Для меня это было новостью, я не опытный пользователь Redis, и анализируя логи и записи в базе, я обнаружил неприятные вещи: кто-то пытался атаковать наш сервер через возможные уязвимости в коде обрабатывающего данные из Redis. Но из-за того что в коде не было подобных уязвимостей, win-инфраструктуры и 1С эти поптыки были обречены на провал. Так что обязательно при установке Redis закрывайте порт Redis от подключений извне.

 

Резюме

 

 

Какие выводы можно сделать по результатам работы:

  • В целом 1С в качестве бекенда позволяет сделать полноценное веб-приложение пускай даже на небольшое количество пользователей, большое количество ситуаций не требует разработки приложения для сотен тысяч пользователей онлайн – к тому же платформа взяла на себя львиную долю работы по разработке админки.

  • За год с лишним онлайна ни один из элементов стека не проявил сильных недостатков. За исключением Redis – я не знал, что нужно закрывать порт.

  • Количество возможностей для работы с 1С в браузере увеличилось в разы благодаря встроенному веб-клиенту.

  • Хочу всем посоветовать не замыкаться на 1С – комбинация технологий поможет получить наилучший результат.

 

Вопросы

 

Как удалось убрать начальное окно загрузки? Пришлось залезать внутрь платформы?

Нет, на демонстрации было видно, что у нас есть блок, в который выводится встроенный веб-клиент – и, используя встроенное событие onStartWebClient, мы можем этот блок скрыть или отобразить. Там все двумя строчками кодами решается.

А сам логин/пароль каким образом передают в 1С?

Логин и пароль передается в строке подключения.

Какое максимальное количество пользователей вам удалось подключить?

У нас около 150 пользователей, активно использующих систему. Это водители. Но они не работают, как правило, 8 часов 7 дней в неделю, они работают несколько часов в неделю или когда есть свободное время. И у них потребность в сервисе не настолько постоянная, они используют его час в неделю, грубо говоря. Но эти 100-150 пользователей регулярно заходят и что-то делают в системе.

Количество одновременных пользователей вы не замеряли?

Замеряли. Мы, как честные люди, захотели сделать все по-правильному и максимально разобраться с вопросом клиентского лицензирования – изучили материалы на ИТС, использовали Aladdin Monitor, чтобы убедиться, точно ли не используется лицензия при запросах к базе от кабинетов водителей. Да, при подключении водителей к HTTP-сервисам лицензия не тратится, но мы обязаны для всех одновременных пользователей иметь ключи. Мы замерили и до сих пор постоянно замеряем, сколько у нас пользователей могут работать одновременно – при старте сессии мы на кластере смотрим активные соединения. И как только у нас увеличивается количество пользователей, мы принимаем решение о докупке лицензий. В текущий момент максимум, который у нас был, это 50 пользователей. Мы так посчитали, что в принципе при такой загрузке количество потенциальных пользователей можно делить на 5 и иметь столько ключей. То есть их не так много получается.

Это у вас клиент-серверная база или файловая?

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

И даже файловая база у вас такой объем пользователей тянула?

Да, без проблем.

Как на мобильных устройствах отображается?

Личный кабинет водителя заточен для просмотра на смартфоне. И слайды, которые я показывал, это то, как он выглядит у пользователей - Developer Tools браузера позволяет отобразить, как интерфейс будет выглядеть на смартфоне.

То есть интерфейс вполне нормально работает на мобильных устройствах, и с этим проблем нет?

Да. Владелец таксопарка использует либо компьютер, либо iPad. А там достаточно большой экран, поэтому с веб-клиентом проблем нет.

Почему не рассматривался личный кабинет на чистом JS-фреймворке + 1С без PHP?

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

А если на форме надо вывести два отчета из одной базы 1С в двух фреймах. Это две сессии 1С или одна?

Это две сессии.

Веб-клиент не потребляет лицензию?

Потребляет. Как раз веб-клиент здесь – самый большой потребитель лицензии, потому что сессия http-соединения длится, конечно, в зависимости от того, как мы настроили, может, 20 секунд, а может, 5, а может, и бесконечно. А веб-клиент живет достаточно долго, потому что там и операций больше выполняется, и данные постоянно обновляются.

В докладе была фраза «подсветить нужный элемент в веб-клиенте». То есть вы из JavaScript управляли элементами самого веб-клиента или фрейма, в котором он находится?

Нам доступна вся верстка во фрейме, в котором он выводится. И поэтому мы можем делать там все, что угодно. В определенных рамках, конечно, но можем.

Даже версткой самого веб-клиента управлять?

Да. Я же показывал в презентации, что удалил лишние кнопки, которые мне были не нужны.

 

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

Данная статья написана по итогам доклада (видео), прочитанного на онлайн-митапе "Web-клиенты для 1С". Больше статей можно прочитать здесь.

Приглашаем всех 11-12 ноября принять участие в INFOSTART EVENT 2021 в Москве: //infostart.ru/events/1451228/

 

Другие публикации:

Разбираемся с web-kit в 1С, на примере интеграции TinyMCE в управляемую форму в УТ 11.4.

Веб-форма авторизации/регистрации/восстановления пароля для веб-клиента 1С с помощью HTML/CSS/PHP/HTTP-сервисов 1С

 

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Steelvan 259 07.09.21 11:30 Сейчас в теме
Что мешало хранить часто забываемые пароли в печеньках в обозревателе клиента ?
Что мешало добавить кнопку "Напомнить пароль" с отправкой забытого пароля в беседку, СМС или на почту ?

Это же обычная практика для веба.
Бэнни; +1 Ответить
2. Бэнни 193 07.09.21 12:44 Сейчас в теме
(1)Заказчиком выбрана стратегия с двухфакторной аутентификацией, пароль выдается на сессию. Если сессию принудительно не завершать кнопкой "Выйти", то сессия условно бессмертная.
Пароли хранить в куках нельзя из соображений безопасности. В куках можно хранить токен авторизованной сессии, что собсно и происходит, а все сессионные данные лежат в Redis, куда имеет доступ только сервер.
"Напомнить пароль", так же не актуально, в связи с выбранной заказчиком стратегии аутентификации
3. ixijixi 07.09.21 14:57 Сейчас в теме
Логин и пароль передается в строке подключения.
Это разве безопасно? Специалисты, просветите.
Бэнни; +1 Ответить
4. Steelvan 259 07.09.21 18:49 Сейчас в теме
(3) Если https, то все данные шифруются.
Это же шифрование применяют на сайтах, где принимаю оплату насвязи.
Вот и прикинь насколько безопасно :)

Но это только при условии, что https соединение уже установлено.
Если это первый взять запрос к серверу, то любой прокси сервер данные перехватит.

Плюс если http без шифрования, то любой прокси сервер данные перехватит даже в процессе работы, когда соединение уже установлено.
Бэнни; +1 Ответить
5. Steelvan 259 08.09.21 12:49 Сейчас в теме
(2)

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

Например, мы храним внутренний ид справочника "Учетки".
При запросе от клиента просто берем ид из заголовка и ищем ссылку по этой строке ида.
Если находим => опознаем.
Если не находим => отдаем запрос опознавания.
Бэнни; +1 Ответить
6. Бэнни 193 08.09.21 12:50 Сейчас в теме
(5)Ну собсно и мы тоже храним идентификатор сессии.
hornet_X; +1 Ответить
7. shura_k 09.09.21 13:29 Сейчас в теме
не сталкивались с вопросом CORS?
когда iframe 1с запускается с другого сайта, домен второго уровня один, а вот сами сайты разные.
в таком случае не дает обратиться к document 1с
9. Бэнни 193 14.09.21 12:18 Сейчас в теме
(7)Нет, с таким не работал, но Гугл говорит что нужно просто передать заголовок разрешающий ваш домен.
8. Степной 27 14.09.21 11:44 Сейчас в теме
(5) Интересен опыт, подробнее получится описать?

Как я понял:

1. Первичная аутентификация предполагает указание логина и пароля.
Под аутентификацией понимается поиск пользователя в справочнике?
При этом доступ к веб-сервису (или что там) не предполагает аутентификации как таковой?


2. В случае успеха, в ответ клиент получает УИД элемента справочника, который хранится в cookie.

3. При последующих запросах УИД передается в заголовке. Наличие УИД в запросе и его корректность = идентифицированный пользователь.
Не думали в сторону выдачи не УИД, а что-то типа токена с ограниченным сроком действия?
Функцию восстановления пароля как-то реализовывали?
10. Бэнни 193 14.09.21 12:23 Сейчас в теме
(8)нет все немного не так. У каждого юзера личного кабинета есть обычный логин и пароль в 1С, только эти логин и пароль не светятся наружу. Аутентификацию выполняет php-сервер с помощью двух факторной аутентификации, после того как она пройдена php-сервер кладет в redis временный логин и пароль юзера в 1С а юзеру возвращает токен из данных redis, некий гуид записи в redis, сначала токен был срочный, потом переделали на бессрочный. Этот токен уже кладется в куки, используя который он может уже пройти авторизацию в 1С с помощью опять же php-сервера.

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

Но если вам интересно, в другой моей публикации есть форма логина с восстановлением пароля.
форма авторизации
11. Степной 27 14.09.21 12:56 Сейчас в теме
(10) Мой комментарий был к посту 5)
Все равно благодарю за доп. информацию, в принципе, все понятно.
Оставьте свое сообщение

См. также

Коннектор: удобный HTTP-клиент для 1С:Предприятие 8 Промо

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Коннектор - библиотека для работы с HTTP запросами. Библиотека берет на себя всю рутину работы с HTTP запросами. Буквально в одну строку можно получать данные, отправлять, не заботясь о необходимости конструирования URL, кодирования данных и т.п.

31.01.2019    97737    bonv    242    

Возможности доработки выгрузки из 1С в Битрикс

WEB-интеграция Платформа 1С v8.3 Управленческий учет Бесплатно (free)

В статье собраны некоторые полезные и интересные примеры доработок выгрузки из 1С на сайты на платформе Битрикс (Возможно, что-то подойдёт и для WordPress и других платформ, принимающих типовую выгрузку на сайт из 1С). Доработки рассмотрены без привязки к конкретным конфигурациям, примеры кода взяты в основном из доработок УТ 10 и 11. Некоторые доработки требуют изменений на стороне Битрикса, некоторые укладываются в типовой функционал. Примеры взяты из личного опыта, возможно, описание где-то не полное, т.к. доработки делались в разное время. Если материал будет интересен или будут аналогичные актуальные задачи, буду стараться дополнять статью более подробным описанием и примерами.

01.11.2022    652    de0nis    2    

Реализация нестандартных (для 1С) интерфейсных решений в Web-клиенте

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

Онлайн-сервисы, построенные на 1С, могут использовать все многообразие веб-технологий. О том, как спроектировать, реализовать и красиво оформить интерфейс продукта 1С, в докладе на конференции Infostart Event 2021 Post-Apocalypse рассказал CTO компании WiseAdvice Олег Филиппов.

21.10.2022    4984    comol    14    

Rest API от чайника для чайников

WEB-интеграция Платформа 1С v8.3 Бесплатно (free)

На написание статьи побудило чтение книги "Технологии интеграции "1С:Предприятия 8.3"" Хрусталевой Е.Ю. В первой главе там постоянно чередуются слова REST, REST-интерфейс, архитектура REST и т.д. Мне стало интересно, я начал копать, что это такое, и тема оказалась достаточно интересной.

06.06.2022    7683    zeltyr    2    

Serverless (Faas) в 1С. Создание и вызов Yandex Cloud Functions Промо

WEB-интеграция Облачные сервисы, хостинг Платформа 1С v8.3 Бесплатно (free)

"Я не могу просто взять и скопировать код с гитхаба", "у нас 1С микросервисами окружена", "возможностей мало" - частые фразы 1С разработчиков. которым не хватает возможностей платформы в современном мире. Faas, конечно, история не новая, но нас сдерживало 152ФЗ и задержки по пингам. Для того, чтобы действительно использовать в 1С код, к примеру, на Python, надо было приложить усилия. Теперь всё намного проще - берём и используем.

28.12.2020    11869    comol    31    

Загрузка выпусков подкаста Радио 1С Энтерпрайз

WEB-интеграция Платформа 1С v8.3 Бесплатно (free)

Код для загрузки всех выпусков подкаста Радио 1С Энтерпрайз для оффлайн-прослушивания.

29.04.2022    971    q_i    9    

УПП: Ошибка при взаимодействии с ФСС

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

При обновлении релиза УПП до 1.3.178.2 пользователи начали жаловаться, что не отправляются в ФСС документы "Ответ на запрос ФСС для расчета пособия" и "Сведения о застрахованных лицах, ФСС". В статье предложен вариант обхода данной ошибки, возможно, это кому-то поможет.

28.04.2022    1195    alex_bob    8    

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

WEB-интеграция Платформа 1С v7.7 Платформа 1С v8.3 Бесплатно (free)

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

10.03.2016    69710    Serginio    33    

Методика интеграции HTML редакторов в поле HTML документа базы 1С

WEB-интеграция Платформа 1С v8.3 Платформа 1C v8.2 Бесплатно (free)

В статье описаны критерии WYSIWYG HTML редакторов и общая картина интеграции с платформенными механизмами. На момент платформы 1С 8.3 и возможно для будущих релизов описание будет скорее всего актуально. Апробировано на 1С 8.3.20 и 8.2.12, а также на мобильной платформе 8.3.19.59.

12.04.2022    1334    user1206119    0    

Создание кодогенератора для Postman

WEB-интеграция Платформа 1С v8.3 Бесплатно (free)

Опишу порядок разработки кодогенератора для Postman c использованием OneScript и HTTPКоннектор.

13.03.2022    1133    malikov_pro    2    

Ювелирсофт: Ювелирный торговый дом. Настройка интеграции с ГИИС ДМДК

WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Ювелирная промышленность и торговля Россия Бесплатно (free)

Краткое описание настройки без лишней воды, для локального и серверного варианта.

21.02.2022    3538    Drasha    22    

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

WEB-интеграция Платформа 1С v8.3 1С:Зарплата и Управление Персоналом 3.x Россия Бесплатно (free)

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

10.03.2017    28493    ruha    21    

Как из 1С отдать миллионы строк в BI и успеть это сделать быстро

Консолидация данных Анализ и проектирование ИТ-систем WEB-интеграция Платформа 1С v8.3 Бесплатно (free)

На онлайн-митапе «Бизнес-анализ по данным базы 1С. Интеграция c платформами BI» выступил ведущий разработчик WiseAdvice.tech Дмитрий Фурцев. Дмитрий рассказал о том, как отдать миллионы строк из 1С в платформу бизнес-аналитики и не потратить на это сутки.

14.02.2022    4411    Fudj1k    11    

Передача сообщений из 1С в MS Teams

WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Пример организации уведомлений в канал MS Teams.

09.02.2022    1888    Alex_YAM    3    

Работа с 1С через протокол OData

WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

В данной статье мы будем рассматривать работу с данными информационной базы через протокол OData (далее OData).

17.12.2021    21350    ProgrammingStore    21    

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

Внешние источники данных WEB-интеграция Обмен между базами 1C Платформа 1С v8.3 Россия Бесплатно (free)

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

11.04.2013    44385    Infostart    42    

Подключение к HTTP-сервису с авторизацией посредством передачи клиентского SSL-сертификата

WEB-интеграция Платформа 1С v8.3 Бесплатно (free)

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

07.12.2021    8437    kholkin    12    

Тонкости и подводные камни работы типового модуля интеграции Битрикс24 и 1С (Часть 2)

WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

Это вторая часть цикла статей, посвящённых типовому модулю интеграции 1С Предприятия и Битрикс24. Цель данной части: рассмотреть тонкости, связанные с обменом товарами и сопутствующими сущностями (спойлер - единицы измерения и свойства товаров). Также затронем некоторые нюансы связи сущностей 1С и Б24 (относящиеся не только к товарам) и их побочное влияние при переносе данных из модуля в модуль (при смене конфигурации, переустановки или обновлении модуля).

27.11.2021    5886    freegman74    15    

Web консоль управления сеансами 1С

WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Мы дали ему название adm1c, он позволяет посредством веб доступа удалять или смотреть на сеансы в 1С базах и при необходимости удалять их. Да и что тут такого, сказали бы, есть же консоль на win, с нее же это можно делать, и все верно, но есть пара но.

26.11.2021    2930    4ernuy    16    

Реализация перевода текста средствами Azure

WEB-интеграция Локализация решений Платформа 1С v8.3 Россия Бесплатно (free)

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

19.11.2021    631    user1559835    2    

Тонкости и подводные камни работы типового модуля интеграции Битрикс24 и 1С

WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

Цель статьи - указать на подводные камни и нюансы, о которых “не пишут на заборах” и которые встретились мне за время внедрения типового модуля интеграции 1С и Битрикс24. Будет интересна для людей, кто подумывает о том, чтобы настроить интеграцию, и хотят понять, с чем столкнутся. А также для тех, кто уже работает с подобным обменом, столкнулся с какими-то из описанных ситуаций и хочет понять, что пошло не так и “как жить дальше”. Постараюсь все описать “человеческим” языком с минимальной долей терминов, так как статья, надеюсь, будет полезна не только программистам.

07.11.2021    8465    freegman74    13    

Необычно-экономное использование 1С:Предприятие 8 на Asp.Net-хостинге для реализации Интернет-магазина Промо

WEB-интеграция Анализ и проектирование ИТ-систем Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

Статья описывает, как можно сэкономить на реализации Интернет-магазина предприятия, в который данные поступают из 1С:Предприятие 8. Данные размещаются в базе данных MSSql удаленно у хостинг-провайдера. Предлагается практический опыт гармоничной интеграции 1С:Предприятие и Asp.Net через LINQ и прямой доступ к информационной базе 1С. Строится простейшее решение, с одной стороны имеющее веб-интерфейс, а с другой стороны построенное как desktop-приложение. Тем самым достигается эффективность в наполнении веб-сайта контентом. Максимальный эффект достигается, когда Интернет-магазин проектируется «с нуля» с уникальной для предприятия структурой.

12.11.2010    43735    Elisy    13    

Окей, Google

WEB-интеграция Платформа 1С v8.3 Россия Бесплатно (free)

Пример интеграции Google Ассистента с 1С. В основе которого лежит платформа Dialogflow CX для понимания естественного языка.

28.10.2021    1908    Soloist    6    

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

WEB-интеграция HighLoad оптимизация Платформа 1С v8.3 Бесплатно (free)

Повышение производительности веб-сервисов. Переиспользование сеансов. Практическая реализация.

20.10.2021    4005    sorter1    2    

WEB/HTTP сервисы. Базовые отличия и применение на практике

WEB-интеграция Платформа 1С v8.3 Бесплатно (free)

Рассказываем о WEB и HTTP сервисах, их практическом применении, о шишках, которые мы набили, и о выводах, которые сделали. Спойлер: тех, кто дочитает статью до конца, ждет бонус от автора.

04.10.2021    21124    Neti    18    

Интеграция 1С с ГИИС ДМДК

WEB-интеграция Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:ERP Управление предприятием 2 Ювелирная промышленность и торговля Россия Бесплатно (free)

ГИИС ДМДК - единая информационная платформа для взаимодействия участников рынка драгоценных металлов и драгоценных камней. с 01.09.21 стартовал обязательный обмен данными с Федеральной пробирной палатой (ФПП) исключительно через ГИИС. А постепенно - с 01.01.2022 и с 01.03.2022 - все данные о продаже драгоценных металлов и камней должны быть интегрированы с ГИИС. У многих пользователей возникает вопрос как автоматизировать обмен между программой 1С и ГИИС ДМДК. В настоящей статье ВЦ Раздолье поделится своим опытом о реализации такого обмена. Автор статьи - Мордовин Антон - архитектор систем на базе 1С Внедренческого центра "Раздолье".

30.09.2021    32976    1СERP    158    

Быстрое чтение составных http сообщений multipart/form-data

WEB-интеграция Платформа 1С v8.3 Бесплатно (free)

Алгоритм быстрого разбора составного http сообщения multipart/form-data.

26.09.2021    2660    cherkasovvitalik    3    

Интеграция 1С с Битрикс24 через вебхуки

WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

Пример получения токена и http запрос к API битрикса.

15.09.2021    7236    TyurinArt    11    

Обмен с HTTP сервисом файлами по формату multipart/form-data

WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

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

07.09.2021    8597    ix5s    25    

Работа с WEB-сервисами под HTTPS на примере прямого обмена между базами (1С – 1С) 

WEB-интеграция Платформа 1С v8.3 Россия Бесплатно (free)

Использование веб-сервисов 1С при обмене 1С – 1С позволяет быстро передавать достаточно большие объемы данных из базы-источника в базу-приемник в объектах языка 1С. Данный метод обмена может применяться при бесшовной интеграции между двумя базами 1С, но требует определенной серверной инфраструктуры (установленного и настроенного WEB-сервера).

03.09.2021    10373    UltraUnion2005    9    

Глава 2. Как я написал (собрал с инфостарта) свой парсер сайта 1С Releases

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

Путешествие начинающего программиста 1С. Глава вторая. Призываем экспертов в комментарии, оптимизируем код, ругаемся на кривые руки автора. Автор же, в свою очередь, делится своим опытом, читает умные комментарии, стремится дать те знания, за которыми он сидел ночами тем, кто их хочет найти.

31.08.2021    2498    ldmonster    9    

Взаимодействие с api Честный знак (Молочная продукция)

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

Обзор основных примеров взаимодействия с Честным знаком по api для нетиповых конфигураций.

30.08.2021    10785    user5300    64    

Умная маршрутизация: о сложностях интеграции с 1С (часть 2)

WEB-интеграция Платформа 1С v8.3 1С:Управление торговлей 11 Бесплатно (free)

В статье будет много примеров кода с комментариями работы расширения для обмена данными УТ11.4 с Яндекс.Маршрутизацией через выгрузку/загрузку EXCEL файла.

27.08.2021    2597    greencactus    7    

Встраивание форм 1С на страницы сайта

WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

В платформе 8.3.16 появилась возможность выводить на страницах сайта информацию из веб-клиента 1С так, что пользователь даже не заметит, что работает с платформой. Руководитель компании Айтон Михаил Пинягин на онлайн-митапе «Web-клиенты для 1С» рассказал о том, какие особенности нужно учесть при настройке встраиваемого веб-клиента, и какие возможности он дает.

27.08.2021    6775    mikepin    9    

Гарри Поттер и подкапотное пространство веб-клиента

WEB-интеграция Платформа 1С v8.3 Бесплатно (free)

При разработке сайтов, интегрированных с 1С через HTTP-сервисы, приходится бороться с кодировками, искать производительные интерфейсные решения и задумываться над безопасностью. В ходе онлайн-митапа «Web-клиенты для 1С» Юрий Лазаренко показал на практике, как работает магия самодельного веб-клиента и как решать проблемы, возникающие при интеграции.

20.08.2021    4917    TitanLuchs    19    

Умная маршрутизация: кейс интеграции с 1С (часть 1)

WEB-интеграция Платформа 1С v8.3 Бесплатно (free)

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

18.08.2021    5909    greencactus    42    

Сравнительный анализ вариантов интеграции между системами

Файловый обмен (TXT, XML, DBF), FTP WEB-интеграция Платформа 1С v8.3 Бесплатно (free)

На Infostart Meetup «Интеграционные решения для 1С» выступил Сергей Наумов – руководитель центра аналитики и консалтинга WiseAdvice. Сергей поделился с коллегами кейсами из собственной практики: какие интеграционные решения остаются актуальными до сих пор, а каких приемов стоит избегать – даже в безвыходных ситуациях.

30.07.2021    3765    SergeyN    1    

Примеры вызова в 1С методов API до реестров открытой части Электронного кабинета налогоплательщика (Украина)

WEB-интеграция Платформа 1С v8.3 Украина Бесплатно (free)

Примеры вызова в 1С методов API до реестров открытой части Электронного кабинета налогоплательщика, Украина. Тестирование проводил на 1С:Предприятие 8.3 (8.3.10.2561).

28.07.2021    2846    Pervuy    5    

Пример организации HTTP сервиса на 1С: Документооборот. Источник 1С: ЕРП => Приемник 1С: Документооборот

WEB-интеграция Платформа 1С v8.3 1С:Документооборот Бесплатно (free)

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

13.05.2021    3958    Flover    0    

Настраиваем авторизацию пользователей 1С через Okta

WEB-интеграция Платформа 1С v8.3 Бесплатно (free)

Чем больше в компании различных конфигураций и сервисов, тем актуальнее становится проблема единой системы авторизации single Sign-On. Его лидером практически безоговорочно считается Okta. Но на просторах интернета очень мало информации про интеграцию 1С с Okta через протокол OpenID Connect. Что ж, настало время восполнить недостающие пробелы и перевернуть эту печальную страницу в вашей истории

30.04.2021    5798    ripreal1    16    

API ОФД-Я разбор документации с примерами

WEB-интеграция ЭДО и ОФД Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

Примеры запросов 1С для получения данных с ОФД-Ярус через API.

20.04.2021    2481    www76    0    

Правила обмена больше не нужны

Внешние источники данных Обмен между базами 1C WEB-интеграция Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 Бесплатно (free)

Есть несколько общепринятых подходов к написанию обмена между 1С-системами, каждый из которых упирается в длительное изучение технологии, мучительную отладку правил конвертации и написание большого количества сервисного кода, в котором потом тяжело разобраться. О принципах работы универсального фреймворка liteExchange, который реализует быстрые обмены между 1С и внешними системами, и берет на себя всю техническую обвязку по стандартному преобразованию данных, на INFOSTART MEETUP Saint Petersburg.Online рассказал Николай Крылов.

17.03.2021    17570    Nikola23    40    

Альфа-Авто 5.0 и современные HTTP сервисы

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

Решение, позволяющее программным продуктам, работающим на устаревших версиях платформы 1С (8.2), интегрироваться с современными HTTP сервисами. Решение, интегрированное с HTTP-сервисом программы по расчету компонентов для изготовления ЛКМ, описанное в настоящей статье, успешно работает в одном из автосервисов, работающем на устаревшей платформе и конфигурации Альфа-Авто 5.0.

01.03.2021    2254    osivv    2    

Доступ из базы 1С к стандартному интерфейсу Odata базы 1С, в которой заведен пользователь

WEB-интеграция Платформа 1С v8.3 Россия Бесплатно (free)

Есть база, с пользователем/паролем, нужно подключиться к Odata из другой базы 1С, получить элементы справочника.

24.02.2021    1775    user823999    6