Программа управления торговлей
Полная торговая конфигурация: продажи, закупки, склад, касса и банк. Иерархическая номенклатура, ФИФО-партии, взаиморасчёты, печатные формы, дашборд.
Open-source платформа для создания бизнес-приложений. Знакомые концепции 1С, современный стек, полная свобода.
# Товарный справочник
catalog:
name: "Номенклатура"
attributes:
- Артикул: string(50)
- Цена: number
- Категория: ref(Категории)
tabular_sections:
- Характеристики:
- Имя: string
- Значение: string
Платформа объединяет конфигурацию, логику и данные
Весь сервер — один исполняемый файл ~20MB. Без зависимостей, без установки. Копируй и запускай.
Метаданные в читаемом YAML. Справочники, документы, регистры — всё в текстовых файлах, дружественных к Git.
Пишите бизнес-логику на знакомом языке. Если = Если, Цикл = Цикл. Ключевые слова на русском и английском.
Серверный PostgreSQL для продакшена или файловый SQLite для ноутбука. Перенос между движками одним `.obz`-файлом.
Изменили YAML — конфигурация обновилась. Без перезапуска, без пересборки. Мгновенный цикл разработки.
Автоматическая генерация форм и списков. Справочники, документы, отчёты — всё доступно через браузер. Пишите формы на YAML.
Готовые шаблоны: задачи, CRM, склад, финансы. Один запуск — и работающее приложение.
Полный доступ к исходному коду. Модифицируйте, встраивайте, распространяйте. Без ограничений.
Редактор метаданных прямо в браузере: дерево объектов, формы справочников и документов, регистров, прав. Как «Конфигуратор 1С», только без установки.
Один Go-бинарник под Windows, Linux и macOS. Включая arm64 — работает на Raspberry Pi и Orange Pi. Веб-интерфейс открывается в любом браузере.
Три компонента — одно приложение
Один exe-файл на Go. Запускает сервер, обрабатывает запросы, исполняет DSL.
YAML-файлы с метаданными и DSL-скрипты с бизнес-логикой. Git-friendly.
Серверный PostgreSQL или файловый SQLite на выбор. Универсальный `.obz` переносит базу между движками.
Готовые решения, которые можно запустить за минуту и адаптировать под свой бизнес
Полная торговая конфигурация: продажи, закупки, склад, касса и банк. Иерархическая номенклатура, ФИФО-партии, взаиморасчёты, печатные формы, дашборд.
Спецификации, заказы на производство, выпуск продукции, незавершённое производство.
План счетов, проводки, оборотно-сальдовая ведомость, расчёт зарплаты, налоговый учёт.
Проекты и задачи, доски Канбан, учёт времени, отчёты по загрузке сотрудников.
Любая конфигурация — это просто папка с YAML-файлами. Создавайте справочники, документы и регистры под свои задачи.
Знакомый синтаксис, современная реализация
# Определяем справочник товаров
catalog:
name: "Номенклатура"
hierarchical: true
attributes:
- Артикул: string(50)
- Цена: number
- Единица: ref(Единицы)
- Поставщик: ref(Контрагенты)
- Описание: text
// Обработка проведения документа
Функция ОбработкаПроведения(Документ, Отказ)
Запрос = Новый Запрос
Запрос.Текст = "
ВЫБРАТЬ ПриходТовары.Номенклатура,
СУММА(ПриходТовары.Количество) КАК Колво
ИЗ Документ.Приход.Товары КАК ПриходТовары
ГДЕ ПриходТовары.Ссылка = &Ссылка
СГРУППИРОВАТЬ ПО ПриходТовары.Номенклатура"
Запрос.УстановитьПараметр("Ссылка", Документ)
Результат = Запрос.Выполнить()
Пока Результат.Следующий() Цикл
Движение("ОстаткиТоваров", Результат.Номенклатура,
Результат.Колво)
КонецЦикла
КонецФункции
// Запрос с виртуальной таблицей остатков
ВЫБРАТЬ
Остатки.Номенклатура КАК Товар,
Остатки.КоличествоОстаток КАК Остаток,
Остатки.КоличествоОстаток * Номенклатура.Цена КАК Сумма
ИЗ
РегистрНакопления.ОстаткиТоваров.Остатки(
&Период,
Номенклатура В (&СписокТоваров)
) КАК Остатки
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатура
ПО Остатки.Номенклатура = Номенклатура.Ссылка
УПОРЯДОЧИТЬ ПО Сумма УБЫВ
Для задач, где 1С избыточна
Что уже есть и что будет дальше
Метаданные, DSL, справочники, документы, регистры, проведения
Автогенерация форм, списки, поиск, экспорт в Excel
Задачи, CRM, складской учёт, финансы — из коробки
Интеграции с внешними сервисами из DSL
SMTP-уведомления, генерация PDF, вложения файлов
ЛЕВОЕ / ВНУТРЕННЕЕ / ПРАВОЕ / ПОЛНОЕ СОЕДИНЕНИЕ — полноценные JOIN в языке запросов
Визуальный конструктор запросов и пошаговый отладчик DSL на Monaco — прямо в браузере
Авто-API на каждый объект конфигурации: CRUD, проведение, выполнение отчётов
Файловый режим работы и перенос баз между PostgreSQL ↔ SQLite через `.obz`
Кастомные формы справочников и документов на YAML — свои колонки, группы, кнопки
Создание документов на основе других документов — как в 1С
Периодические и независимые данные — цены, курсы, настройки — без привязки к документам
Импорт XML-выгрузки конфигурации 1С v8.3 → YAML OneBase. Базовая инфраструктура есть, активная доработка
Проверка производительности и стабильности платформы под высокой нагрузкой
Подключаемые отчёты, обработки и печатные формы без изменения конфигурации
Синхронизация между базами OneBase и внешними системами
Пользовательские настройки группировок, отборов и полей поверх запроса отчёта
Периодические расчёты для задач зарплаты и кадрового учёта
Аналог 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-лицензия. Если проект оказался полезным, буду рад поддержке.
Криптовалюта, работает из любой страны анонимно
UQDmhcdNyqut5nE8K7yJCvXwNST2qMIBk5gRgFInpO7eBO-x
Один файл. Одна команда. Работающее приложение.
$ onebase init --template crm my-project
✓ Project created
$ onebase serve
✓ Server running at http://localhost:8080
Вопрос, идея или предложение — напишите нам
Мы open-source проект и всегда рады обратной связи. Заполните форму или найдите нас в соцсетях.