Проекты
На этой странице собраны некоторые проекты, в которых я участвовал и о которых нашлось время написать.с
Сортировка — по времени, от новых к старым.
Клиентский портал
FirstBit ERP 1С:Предприятие 1С:Шина RabbitMQ FastAPI Python React.js Typescript
Заказчик пишет софт и продает на него подписки. Нужно было сделать веб-сайт, на котором его клиенты смогут работать с подписками без помощи менеджеров заказчика. Например:
- увидеть данные этих подписок (купленный продукт, срок действия);
- оплатить истекающие подписки с помощью банковской карты;
- скачать выставленные компанией счета и накладные.
Веб-интерфейс базы 1С для поставщиков
FirstBit ERP 1С:Предприятие Flask Python React.js Typescript
Нашим заказчиком был владелец торговой компании. Часть её деятельности — проценка: сотрудники компании связывались с поставщиками, определяя, у какого из них выгоднее разместить заказы клиентов с точки зрения цен, сроков доставки и других условий.
От нас требовалось сделать так, чтобы они могли просто отправлять поставщикам ссылки на веб-интерфейс, где можно было бы вводить цены и отвечать на дополнительные вопросы.
Веб-интерфейс платформы использовать было нельзя из соображений экономии лицензий. Поэтому я написал веб-приложение на React.js, которое работает с базой 1С:Предприятия через специально разработанный для этого REST-интерфейс.
Упрощенную версию проекта можно посмотреть на GitHub'е.
Сбор курсов валют с сайта ЦБ ОАЭ
FirstBit ERP 1С:Предприятие Flask Python MongoDB NoSQL
Мы хотели дать пользователям FirstBit ERP возможность автоматически получать курсы дирхама по отношению к другим валютам, которые публикует сайт ЦБ ОАЭ.
Код парсинга сайта можно было добавить в саму конфигурацию, однако эта идея выглядела проблемной сразу с нескольких точек зрения: удобного механизма для получения курсов на сайте ЦБ нет, сам сайт работает нестабильно, а при необходимости изменить логику парсинга её придется менять во множестве баз данных.
Поэтому я написал консольное приложение на пайтоне, которые регулярно загружает публикуемые курсы валют в свою базу данных и отдает через REST-сервис. Мы развернули это приложение на своей площадке, а в FirstBit ERP я добавил только регулярные обращения к сервису.
Код серверной части проекта можно посмотреть на GitHub'е.
История данных в FirstBit ERP
FirstBit ERP 1С:Предприятие
В конфигурации FirstBit ERP я заменил подсистему версионирования БСП на встроенный в платформу механизм, решающий ту же задачу. В проект вошли:
- Алгоритм миграции истории изменений из регистров сведений во встроенное хранилище платформы.
- Обработка, с помощью которой можно включать и выключать историю для объектов и их реквизитов. Раннюю версию можно посмотреть на GitHub'е.
- Обработка, способная выводить в одном списке изменения по разным объектам за указанный период.
- Анализ объектов конфигурации (был нужен, чтобы выключить историю данных для объектов, которые нет смысла версионировать — неразделенные объекты 1сFresh, служебные справочники и так далее).
- Доработка алгоритма выгрузки информационной базы в XML-файлы и загрузки из них (с тем, чтобы при выгрузке история так же выгружалась в XML-файлы, а при загрузке — подгружалась из них).