Open Source · MIT License · Go · PostgreSQL / SQLite

Пишем как в 1С —
без 1С

Open-source платформа для создания бизнес-приложений. Знакомые концепции 1С, современный стек, полная свобода.

~20MB один файл
MIT лицензия
Go производительность
Запускается на Windows Linux macOS arm64
catalog.yml
# Товарный справочник catalog:   name: "Номенклатура"   attributes:     - Артикул: string(50)     - Цена: number     - Категория: ref(Категории)   tabular_sections:     - Характеристики:         - Имя: string         - Значение: string

Всё что нужно — в одном инструменте

Платформа объединяет конфигурацию, логику и данные

Один exe-файл

Весь сервер — один исполняемый файл ~20MB. Без зависимостей, без установки. Копируй и запускай.

YAML конфигурация

Метаданные в читаемом YAML. Справочники, документы, регистры — всё в текстовых файлах, дружественных к Git.

DSL на русском

Пишите бизнес-логику на знакомом языке. Если = Если, Цикл = Цикл. Ключевые слова на русском и английском.

PostgreSQL и SQLite

Серверный PostgreSQL для продакшена или файловый SQLite для ноутбука. Перенос между движками одним `.obz`-файлом.

Горячая перезагрузка

Изменили YAML — конфигурация обновилась. Без перезапуска, без пересборки. Мгновенный цикл разработки.

Веб-интерфейс из коробки

Автоматическая генерация форм и списков. Справочники, документы, отчёты — всё доступно через браузер. Пишите формы на YAML.

Шаблоны

Готовые шаблоны: задачи, CRM, склад, финансы. Один запуск — и работающее приложение.

Open-source MIT

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

Визуальный конфигуратор

Редактор метаданных прямо в браузере: дерево объектов, формы справочников и документов, регистров, прав. Как «Конфигуратор 1С», только без установки.

Go

Кроссплатформенно

Один Go-бинарник под Windows, Linux и macOS. Включая arm64 — работает на Raspberry Pi и Orange Pi. Веб-интерфейс открывается в любом браузере.

Как это работает

Три компонента — одно приложение

Платформа

Один exe-файл на Go. Запускает сервер, обрабатывает запросы, исполняет DSL.

Конфигурация

YAML-файлы с метаданными и DSL-скрипты с бизнес-логикой. Git-friendly.

PostgreSQL / SQLite

Серверный PostgreSQL или файловый SQLite на выбор. Универсальный `.obz` переносит базу между движками.

Типовые конфигурации

Готовые решения, которые можно запустить за минуту и адаптировать под свой бизнес

ПУП

Программа управления производством

Скоро

Спецификации, заказы на производство, выпуск продукции, незавершённое производство.

ПУБ

Программа учёта бухгалтерии

Скоро

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

ПУЗ

Программа управления задачами

В планах

Проекты и задачи, доски Канбан, учёт времени, отчёты по загрузке сотрудников.

Нужна своя конфигурация?

Любая конфигурация — это просто папка с YAML-файлами. Создавайте справочники, документы и регистры под свои задачи.

Документация разработчика

Посмотрите на код

Знакомый синтаксис, современная реализация

catalog.yml YAML
# Определяем справочник товаров
catalog:
  name: "Номенклатура"
  hierarchical: true
  attributes:
    - Артикул: string(50)
    - Цена: number
    - Единица: ref(Единицы)
    - Поставщик: ref(Контрагенты)
    - Описание: text
post.os OneScript
// Обработка проведения документа
Функция ОбработкаПроведения(Документ, Отказ)

    Запрос = Новый Запрос
    Запрос.Текст = "
        ВЫБРАТЬ ПриходТовары.Номенклатура,
               СУММА(ПриходТовары.Количество) КАК Колво
        ИЗ Документ.Приход.Товары КАК ПриходТовары
        ГДЕ ПриходТовары.Ссылка = &Ссылка
        СГРУППИРОВАТЬ ПО ПриходТовары.Номенклатура"

    Запрос.УстановитьПараметр("Ссылка", Документ)
    Результат = Запрос.Выполнить()

    Пока Результат.Следующий() Цикл
        Движение("ОстаткиТоваров", Результат.Номенклатура,
                  Результат.Колво)
    КонецЦикла

КонецФункции
report.os Query
// Запрос с виртуальной таблицей остатков
ВЫБРАТЬ
    Остатки.Номенклатура КАК Товар,
    Остатки.КоличествоОстаток КАК Остаток,
    Остатки.КоличествоОстаток * Номенклатура.Цена КАК Сумма
ИЗ
    РегистрНакопления.ОстаткиТоваров.Остатки(
        &Период,
        Номенклатура В (&СписокТоваров)
    ) КАК Остатки
    ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатура
    ПО Остатки.Номенклатура = Номенклатура.Ссылка
УПОРЯДОЧИТЬ ПО Сумма УБЫВ

OneBase vs 1С

Для задач, где 1С избыточна

Аспект
OneBase
Лицензия
Платная
MIT
Развёртывание
Сервер + IIS
Один exe-файл
Размер
~1 GB+
~20 MB
Формат конфигурации
.cf / .epf
YAML + .os
Git-friendly
Нет
Да
Исходный код
Закрытый
Открытый
База данных
MS SQL / PostgreSQL / DB2 / файловая
PostgreSQL / SQLite

Roadmap

Что уже есть и что будет дальше

82 865 строк кода
569 коммитов
44 дней разработки
304 исправлений

Ядро платформы

Метаданные, DSL, справочники, документы, регистры, проведения

Веб-интерфейс

Автогенерация форм, списки, поиск, экспорт в Excel

Шаблоны приложений

Задачи, CRM, складской учёт, финансы — из коробки

HTTP-клиент

Интеграции с внешними сервисами из DSL

Email и PDF

SMTP-уведомления, генерация PDF, вложения файлов

JOIN в запросах

ЛЕВОЕ / ВНУТРЕННЕЕ / ПРАВОЕ / ПОЛНОЕ СОЕДИНЕНИЕ — полноценные JOIN в языке запросов

Конструктор запросов и отладчик

Визуальный конструктор запросов и пошаговый отладчик DSL на Monaco — прямо в браузере

REST API

Авто-API на каждый объект конфигурации: CRUD, проведение, выполнение отчётов

SQLite-движок

Файловый режим работы и перенос баз между PostgreSQL ↔ SQLite через `.obz`

Управляемые формы

Кастомные формы справочников и документов на YAML — свои колонки, группы, кнопки

Ввод на основании

Создание документов на основе других документов — как в 1С

Регистры сведений

Периодические и независимые данные — цены, курсы, настройки — без привязки к документам

Конвертер из 1С

Импорт XML-выгрузки конфигурации 1С v8.3 → YAML OneBase. Базовая инфраструктура есть, активная доработка

Нагрузочное тестирование

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

Внешние отчёты и обработки

Подключаемые отчёты, обработки и печатные формы без изменения конфигурации

Обмен данными

Синхронизация между базами OneBase и внешними системами

СКД-лайт

Пользовательские настройки группировок, отборов и полей поверх запроса отчёта

Регистры расчёта

Периодические расчёты для задач зарплаты и кадрового учёта

Расширения и мобильный UI

Аналог 1С-расширений + адаптивные шаблоны под телефон

Модуль менеджера

Управление конфигурациями, пользователями и правами из единого интерфейса

Рефакторинг печатных форм

Серьёзная переработка движка печатных форм — гибче, мощнее, удобнее

Обновления

История релизов, новых возможностей и исправлений

Загружаем релизы…

Вопросы и ответы

OneBase — это open-source платформа для создания бизнес-приложений, написанная на Go. Она использует знакомые концепции 1С (справочники, документы, регистры, проведения), но реализует их в современном стеке: YAML для метаданных, DSL для логики, PostgreSQL для данных, веб-интерфейс для работы.

Нет. OneBase — это инструмент для задач, где 1С избыточна: pet-проекты, мини-CRM, автоматизация малого бизнеса, прототипирование. OneBase не загружает конфигурации .cf и не поддерживает управляемые формы 1С.

На выбор PostgreSQL 14+ (для серверного развёртывания) или SQLite (файловый режим — для разработки и небольших баз на ноутбуке). Между движками можно переносить базу одним универсальным `.obz`-файлом без потерь нумерации, пользователей и вложений.

Любой одноплатник от Raspberry Pi 3 / Orange Pi 3 и выше — этого достаточно. Сам бинарник весит ~20 МБ, на холостом ходу OneBase потребляет десятки мегабайт ОЗУ. Демо-сайт работает на Orange Pi с 4 ГБ ОЗУ под Armbian — на нём же спокойно живут 5–10 параллельных баз. Из требований только PostgreSQL 14+ (или SQLite — без зависимостей вообще).

OneBase — кроссплатформенный Go-бинарник, собирается под Windows (x64), Linux (x64 и arm64) и macOS. На Windows из коробки идёт GUI-лаунчер `onebase-gui.exe` (нативное окно через Edge WebView2). На Linux и macOS — CLI-режим и серверный запуск; конфигуратор и веб-интерфейс работают точно так же — через браузер на любой ОС. Mac-пользователь спокойно работает с базой, которая физически крутится на сервере или Orange Pi.

Скачайте один exe-файл, укажите подключение к PostgreSQL, запустите. Для разработки используется файловый режим (конфигурация в YAML-файлах с горячей перезагрузкой), для продакшена — режим базы данных.

Да. OneBase распространяется под лицензией MIT. Это означает, что вы можете свободно использовать, модифицировать и распространять платформу без ограничений.

Нет. OneBase использует собственный формат конфигурации на основе YAML и DSL-скриптов. Это не клон 1С, а платформа со схожими концепциями, но другой реализацией.

Поддержать проект

OneBase — open-source, MIT-лицензия. Если проект оказался полезным, буду рад поддержке.

💎

TON / USDT

Криптовалюта, работает из любой страны анонимно

UQDmhcdNyqut5nE8K7yJCvXwNST2qMIBk5gRgFInpO7eBO-x
💳

ЮMoney

Для карт российских банков, без регистрации

Перевести

Начните прямо сейчас

Один файл. Одна команда. Работающее приложение.

terminal
$ onebase init --template crm my-project ✓ Project created $ onebase serve ✓ Server running at http://localhost:8080

Свяжитесь с нами

Вопрос, идея или предложение — напишите нам

Мы open-source проект и всегда рады обратной связи. Заполните форму или найдите нас в соцсетях.