Руководство разработчика DSL платформы 3ERP
Данное руководство предназначено для разработчиков-внедренцев, которые настраивают платформу 3ERP через DSL (Domain Specific Language).
Целевая аудитория
Руководство рассчитано на специалистов, которые:
- Не имеют доступа к исходному коду ядра
- Работают исключительно с DSL-файлами конфигурации
- Настраивают ERP-систему под конкретное предприятие
Что такое DSL платформы 3ERP
DSL (Domain Specific Language) — это предметно-ориентированный язык, на котором описывается полностью вся конфигурация ERP-системы. Платформа читает DSL-файлы при старте, автоматически создаёт структуру базы данных (SQLite), генерирует пользовательский интерфейс, API и бизнес-логику.
Архитектура платформы
- База данных: SQLite (файл erp.db в папке платформы)
- Порт: localhost:8080
- Транзакции: неявные при сохранении/проведении
- Движения по журналам: перезапись (удаление старых + вставка новых), а не event sourcing
- RLS (Row-Level Security): на уровне SQL-переписывания
- UI: автоматическая генерация форм списков и карточек
Что умеет DSL
- Декларативное описание справочников (КОЛЛЕКЦИЯ) и документов (ДОКУМЕНТ)
- Ролевая модель доступа с RLS (ограничения на уровне строк)
- Бизнес-логика через события (ПРИ СОЗДАНИИ, ПРИ ИЗМЕНЕНИИ, ПРИ СОХРАНЕНИИ, ПРИ ПРОВЕДЕНИИ, ПРИ ОТМЕНЕ)
- Серверные скрипты (ПРОЦЕДУРА) с условиями, циклами, CRUD-операциями
- Журналы учёта (ЖУРНАЛ) с контролем остатков
- Бухгалтерские проводки с планом счетов (ПЛАН_СЧЕТОВ)
- Печатные формы на HTML/CSS с подстановкой данных (ШАБЛОН)
- Параметризованные отчёты на SQL (ОТЧЁТ)
- REST API с валидацией через схемы (API_ЭНДПОИНТ, СХЕМА_ДАННЫХ)
- Фоновые задачи по расписанию (РАСПИСАНИЕ, КРОН)
Структура документации
Руководство разбито на разделы, каждый из которых описывает отдельную часть DSL. Разделы рекомендуется изучать последовательно, так как они логически связаны между собой.
- Лексическая структура и типы данных
- Модель безопасности (роли, пользователи, RLS)
- Коллекции и документы
- Бизнес-логика (ЛОГИКА)
- Скриптовый движок (процедуры)
- Журналы и движения
- Отчёты и диаграммы
- Печатные формы (ШАБЛОН)
- API и вебхуки
- Расписания и фоновые задачи
- Отладка и диагностика
- Best Practices и типичные ошибки
Каждый раздел содержит:
- Синтаксис описываемой конструкции
- Полные примеры кода на DSL
- Таблицы с описанием ключевых слов и параметров
- Важные особенности и ограничения
Условные обозначения
КЛЮЧЕВОЕ_СЛОВО— зарезервированные слова языка- курсив — пояснения или переменные части
- Жирный шрифт — важные замечания
Начало работы
Для начала разработки конфигурации:
- Откройте в любом текстовом редакторе файл с расширением
.3erpв папке/dsl_scriptsс программой и редактируйте его в соответствии с данным руководством - Опишите в нём роли и пользователей
- Опишите справочники (КОЛЛЕКЦИЯ)
- Опишите документы (ДОКУМЕНТ) и журналы (ЖУРНАЛ)
- Запустите платформу — она сама создаст базу данных и интерфейс
Далее следуют разделы с подробным описанием всех конструкций DSL.
Для редактирования конфигурационного файла вы можете воспользоваться утилитой-конфигуратором.
Скачайте файл. Поместите его в корневую папку с программой и редактируйте конфигурацию. Интерфейс конфигуратора доступен по ссылке http://localhost:8089
Скачать: 3erp-configurator.zip (4.79 MB)