Собственная ERP · Открытый код · Code-first low-code

Платформа для разработки ERP-систем

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

Когда имеет смысл разрабатывать собственную ERP

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

Процессы создают преимущество

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

Логика данных взаимосвязана

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

Система развивается годами

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

Что lsFusion дает разработке ERP

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

Данные и вычисления

Классы и свойства описывают хранимые данные, связи и вычисляемые значения. Зависимости повторно используются действиями, ограничениями, формами и отчетами.

Транзакции и бизнес-правила

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

Формы и рабочие места

Формы описывают работу пользователя с одним или несколькими бизнес-объектами. Одно приложение доступно через веб- и десктоп-клиенты.

Интеграция и расширение

HTTP-интерфейсы, файлы, почта, Java-интеграция и низкоуровневые SQL-механизмы закрывают задачи за пределами стандартного языка.

Обычный стек разработки ERP и lsFusion

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

Область Обычный многослойный стек Приложение lsFusion
Модель приложения Доменные объекты, отображение в БД, сервисы, API и модели интерфейса согласуются между несколькими фреймворками. Классы, свойства, действия и формы описываются на языке lsFusion и объединяются в модули.
Обработка данных Команда проектирует ORM-доступ, запросы и пакетные операции, затем оптимизирует критические участки. Разработчик описывает операции на lsFusion; платформа оптимизирует обработку данных и формирует SQL для сервера БД.
Интерфейс Backend API и состояние frontend реализуются и синхронизируются как отдельные уровни. Декларативные формы объединяют хранимые и вычисляемые свойства и автоматически обновляются при изменении данных.
Целостность Проверки могут повторяться в базе данных, сервисах и клиентах. Ограничения и события опираются на те же свойства, которые используются вычислениями и формами.
Расширение Доступные точки расширения зависят от выбранных фреймворков и сервисов. Java, HTTP, файлы и SQL-механизмы доступны, когда стандартных конструкций платформы недостаточно.

От модели ERP к работающей форме

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

Больше примеров есть в официальной документации и в описании парадигмы lsFusion.

CLASS Order 'Заказ';
date 'Дата' = DATA DATE (Order);
number 'Номер' = DATA INTEGER (Order);

CLASS OrderLine 'Строка заказа';
order 'Заказ' = DATA Order (OrderLine) NONULL DELETE;

quantity 'Количество' = DATA NUMERIC[10,2] (OrderLine);
price 'Цена' = DATA NUMERIC[10,2] (OrderLine);
amount 'Сумма' (OrderLine l) = quantity(l) * price(l);

total 'Итого' = GROUP SUM amount(OrderLine l) BY order(l);

FORM orders 'Заказы'
    OBJECTS o = Order
    PROPERTIES(o) READONLY number, date, total
    OBJECTS l = OrderLine
    PROPERTIES(l) READONLY quantity, price, amount
    FILTERS order(l) = o
;

Изучите реальное ERP-приложение

MyCompany — открытая система управления бизнесом, созданная на lsFusion. Она позволяет оценить платформу на работающем приложении, а не только на изолированном примере кода.

Прочитайте исходный код

Изучите структуру проекта и реализацию в открытом репозитории MyCompany.

Определите границы продукта

На сайте MyCompany описано готовое решение, а эта страница посвящена платформе, на которой оно разработано.

Какие контуры ERP можно моделировать

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

Продажи и ценообразование

Заказы, договоры, правила цен и скидок, лимиты, согласования и документы, связанные с клиентами и товарами.

Запасы и закупки

Остатки, резервы, пополнение, закупки, приемка и перемещение между складами.

Планирование и операции

Производство, планирование ресурсов, расписания, исполнение задач и специфические операционные процессы компании.

Практический путь к пилоту ERP

  1. Выберите один процесс. Возьмите ограниченный сценарий с измеримой пользой для бизнеса.
  2. Опишите предметную область. Задайте объекты, данные, вычисления и правила целостности.
  3. Создайте рабочие места. Добавьте действия, формы, права и необходимые отчеты.
  4. Подключите реальные системы. Проверьте импорт, API и совместную работу с текущим контуром.
  5. Измерьте результат. Оцените трудоемкость, обработку данных, удобство и эксплуатацию.

Подходит ли lsFusion для разработки вашей ERP?

Хороший выбор, если…

  • ERP должна отражать уникальные или часто меняющиеся процессы;
  • бизнес-правила связывают множество транзакционных объектов и вычислений;
  • команде нужны открытый код и контролируемая инфраструктура;
  • веб- и десктоп-рабочие места могут использовать общую модель приложения.

Скорее не первый выбор, если…

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

Вопросы о платформе разработки ERP

lsFusion — это готовая ERP?

Нет. lsFusion — платформа для разработки бизнес-приложений. Готовые решения, например MyCompany, являются отдельными приложениями, созданными на ней.

Нужно ли разработчику ERP писать SQL?

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

Можно ли связать ERP на lsFusion с существующими системами?

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

Можно ли развернуть приложение в собственной инфраструктуре?

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

Оцените платформу на работающей ERP

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