OneBase — open-source платформа с 1С-подобным языком для пет-проектов, MVP и домашней бухгалтерии и не только!

25.06.26

Интеграция - Нейросети

Представляю open-source платформу, написанную на Go, с 1С-подобным языком — для публикации пет-проектов, MVP и прочих домашних бухгалтерий. Сразу оговорюсь: платформа **не production-ready**. В ней есть куча багов, наверняка немало неоптимальных и спорных решений, но есть и плюс — при желании каждый может её доработать и улучшить. Если не нравится конфигуратор — берём и переконфигурируем его к чертям 🙂 И самое приятное, конфигурации для этой платформы легко вайбкодятся! А если упираемся в ограничение платформы, то тот же агент может её и допилить.

 

Зачем это всё?

Кто из нас не писал таск-трекер или домашнюю бухгалтерию на 1С? Как-то раз меня попросили показать самописный таск-трекер (там даже интеграция была с Jira), и в целом он был ничего… но когда я сказал, что нужно приобрести лицензии — про мою поделку быстро забыли.

Я много раз думал: а что если написать аналог 1С с открытым кодом? И заодно потренироваться в новом стеке — так сказать, привнести новый стек в мир 1С. Например, тут я когда-то всех зазывал учить Java и сам кучу времени на неё потратил — написал приложение для Android (есть акк разраба), в моём послужном списке есть дашборды для Android TV и ещё немало мелочей. Но останавливала меня всегда оценка трудозатрат на реализацию.

И вот пришла ИИ-революция. Модели научились писать код очень хорошо, а подписки оставались неизрасходованными (что всегда меня напрягало). Так я решил убить двух зайцев: закрыть гештальт и наконец-то потратить свои лимиты на GLM 5.1, а иногда и остатки от Opus и Sonnet (пусть вас не смущает автор коммитов «Opus 4.7» — под капотом там GLM).

Но были два серьёзных препятствия:

1. Лимиты подписок оставались тогда, когда не оставалось сил — ночью, после трудовой недели и т.п.
2. ИИ постоянно забывал контекст сессий, и тяжело было заниматься разработкой достаточно сложного проекта.

Победив первую проблему через promptPilot и разобравшись с забывчивостью агентов с помощью Claude Note, я взялся попробовать реализовать простую платформу: совместимую по языку и подходам с 1С, но открытую, кроссплатформенную и дорабатываемую. На которой можно было бы размещать свои пет-проекты, MVP — и не заботиться о лицензиях.

Думаю, что у меня получилось. Хотя решать как всегда вам.

Поехали.

Что такое OneBase в двух предложениях

OneBase — это одна папка с YAML-метаданными + один exe-файл на Go + SQLite или PostgreSQL в качестве хранилища. Запустил `onebase-gui.exe` — открылся лаунчер «Запуск 1С:Предприятие», только не от вендора, а ваш. Создал базу (SQLite — одним кликом, без PostgreSQL), накидал в YAML справочники/документы/регистры, добавил `.os`-файлы с проведением — и через 10 минут у вас работающая учётная система с веб-интерфейсом, проводкой документов, печатными формами и REST API.

 

На чём это всё крутится

Демонстрационная база развёрнута на Orange Pi (4 ГБ ОЗУ) с Armbian. Туда же я положил PostgreSQL и сайт проекта. Внешний доступ — через Cloudflare Tunnel (белый IP не понадобился, бесплатно, HTTPS из коробки). Дистрибутив собирается для arm64 — специально под одноплатники.

Системные требования OneBase — без преувеличения:

- Любой одноплатник от Raspberry Pi 3 / Orange Pi 3 и выше.
- Windows (приоритет) или Linux (CLI-режим и сервер работают отлично) или MAC. Всё что угодно )
- SQLite — ничего устанавливать не нужно, файловая база из коробки. PostgreSQL 14+ — для многопользовательских и серверных сценариев.
- Размер дистрибутива — около 20 МБ (один exe + лаунчер + примеры конфигураций).

Размер потребляемой памяти на холостом ходу — десятки мегабайт. На Orange Pi 4 ГБ можно спокойно держать 5–10 параллельных баз и сайт проекта в придачу.

 

Установка за минуту

Windows

1. Скачать `onebase-windows-amd64.zip` со страницы Releases.
2. Распаковать в любую папку (например, `C:\onebase\`).
3. Двойной клик на `onebase-gui.exe`.

Всё. Никакого инсталлера, никакого реестра, никаких прав администратора. Полностью портативно, как «1С:Предприятие» из коробки — только без установки. Удалить — удалить папку.

 
 Windows 11 — блокировка при запуске

Ну а если вы не доверяете всяким там exe из интернетов, то можете его сами из исходников собрать!

Внутри архива:

onebase-gui.exe    двойной клик: лаунчер в нативном окне
onebase.exe        CLI для терминала и сервера
examples/          готовые примеры: simple-erp, trade, accounting

При первом добавлении базы по умолчанию предлагается SQLite + файловая конфигурация — никакого PostgreSQL для старта не нужно. Переключиться на PostgreSQL можно позже в настройках.

Linux / Orange Pi (arm64)

tar xzf onebase-linux-arm64.tar.gz
sudo mv onebase /usr/local/bin/
onebase start

 

Архитектура: платформа / конфигурация / база

Понятийная модель полностью повторяет 1С — это сделано намеренно, чтобы 1С-разработчик не тратил время на адаптацию:

OneBase Физически
Платформа onebase.exe Go-бинарник: рантайм, DSL, REST API, лаунчер
Конфигурация Папка `catalogs/`, `documents/` … или строки в БД YAML + `.os`-скрипты
Информационная база SQLite или PostgreSQL Прикладные таблицы + `_users` + `_onebase_config`

Два режима хранения конфигурации:

1. Файловый (`config_source: file`) — для разработки. Папка под git, `onebase dev` с hot reload (правишь YAML — конфигурация перечитывается без рестарта). Рекомендуется в паре с SQLite для быстрого старта.

Кодить можно как из своей любой IDE так и из встроенного конфигуратора

т.е. внимание! в этом режиме больше никаких сборок конфигурации из файлов, можно работать сразу.

и ещё внимание! в этом режиме с одной конфигурацией (это папка с файлам) могут работать несколько баз (не важно файловых SQLite или серверных PG )

  # Файловый режим (разработка): одна папка — разные базы
  onebase dev --project C:\Project\trade --db "postgres://.../trade_dev?sslmode=disable"  --port 8080
  onebase dev --project C:\Project\trade --db "postgres://.../trade_demo?sslmode=disable" --port 8081

  # Деплой одной конфигурации в несколько боевых БД
  onebase deploy --project C:\Project\trade --db "postgres://.../client_a"
  onebase deploy --project C:\Project\trade --db "postgres://.../client_b"

 Каждая база — независимый набор данных (свои документы, остатки, справочники), но метаданные общие. Обновил конфигурацию — передеплоил в каждую БД.

2. В базе данных (`config_source: database`) — для пользователей. Конфигурация лежит в таблице `_onebase_config`, редактируется через визуальный конфигуратор.

Два режима СУБД:

- SQLite — файл `.db` рядом с проектом. Идеально для одного пользователя, десктопа, разработки.
- PostgreSQL — для многопользовательских сценариев, сервера, больших объёмов данных.

 

Лаунчер информационных баз

`onebase-gui.exe` открывает лаунчер — веб-страницу в нативном окне (Edge WebView2 на Windows). Концептуально это «Запуск 1С:Предприятие», только всё в HTML:

- список зарегистрированных баз;
- кнопки «+ Добавить», «Предприятие», «Конфигуратор», «Удалить»;
- регистр баз хранится в `~/.onebase/ibases.yaml` — не в реестре, а в YAML, портативно.

При создании базы — поля: наименование, тип СУБД (SQLite / PostgreSQL), путь к файлу БД или строка подключения, тип конфигурации (файловый / в базе), порт HTTP-сервера. Для SQLite — кнопка «Выбрать файл» через нативный системный диалог ОС. Для папки с конфигурацией — кнопка «Выбрать папку». Никакого ручного копирования путей.

 

Конфигуратор: метаданные в браузере

Кнопка «Конфигуратор» открывает визуальный редактор конфигурации. Вход — под администратором (bcrypt + cookie-сессия, отдельная от пользовательского режима). Дерево метаданных слева — почти как в 1С, только без оранжевого. Реализованы:

- Конфигурация — имя и версия приложения.
- Главная страница — визуальный дашборд с виджетами (метрики, отчёты, ссылки, таблицы).
- Подсистемы — структурирование интерфейса (Закупки / Продажи / Склад) и прав доступа.
- Константы — имя, тип, подпись.
- Перечисления — список значений.
- Справочники / Документы — добавление, редактирование полей, табличные части.
- Журналы документов — объединённые ленты с фильтрами.
- Регистры накопления / сведений / бухгалтерии — измерения, ресурсы, реквизиты.
- Отчёты — параметры, текст запроса, код диаграммы.
- Обработки — параметры, точка входа.
- Печатные формы — редактор split-view: YAML слева, предпросмотр справа.
- Регламентные задания — расписание (cron), параметры, история.
- Роли — таблица прав на объекты конфигурации.
- Общие модули — функции для повторного использования.
- Виджеты — объекты метаданных для стартовой страницы (type: chart / metric / table / link).

В каждом редакторе модулей — кнопка «Проверить синтаксис»: парсит DSL и обходит AST в поисках вызовов несуществующих функций (раньше всегда возвращал «OK», теперь реально ловит ошибки, но это не точно).

Для коммитов в git — кнопка «Выгрузить»: конфигурация выгружается в `~/.onebase/workspace/<base-id>/`. Поправил, нажал «Загрузить» — изменения вернутся в базу.

 

Главная страница и дашборды

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

# config/homepage.yaml
widgets:
  - type: metric
    title: Выручка сегодня
    report_id: ВыручкаСегодня
    value_field: Сумма
    format: money

  - type: chart
    title: Продажи по дням
    report_id: ПродажиПоДням
    chart_type: bar

  - type: table
    title: Последние документы
    report_id: ПоследниеДокументы
    limit: 10

  - type: link
    title: Открыть склад
    url: /ui/catalog/Номенклатура

Виджеты — это полноценные объекты метаданных (как справочники или отчёты): редактируются в конфигураторе через визуальный UI, хранятся в конфигурации, могут ссылаться на отчёты и запросы.

Типы виджетов:

Тип Что показывает
metric Одно число с форматированием (сумма, количество, %)
chart Диаграмма (bar / line / pie) на основе отчёта
table Мини-таблица последних записей
recent Последние открытые/изменённые документы пользователя
link Кнопка-ссылка на раздел системы

 

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

Всё описывается YAML-файлами в папке проекта.

Справочник

`catalogs/Номенклатура.yaml`:

name: Номенклатура
hierarchical: true        # поддержка иерархии (групп)
fields:
  - { name: Наименование, type: string }
  - { name: Артикул,      type: string }
  - { name: Цена,         type: number }
  - { name: ВидТовара,    type: enum:ВидТовара }
predefined:
  - name: Услуги
    fields: { Наименование: "Услуги" }

Типы полей: `string`, `number`, `date`, `bool`, `reference:X`, `enum:X`.

Поддерживается иерархия (древовидный справочник с раскрывающимися узлами) и предопределённые элементы — статические записи, доступные из DSL как `ПредопределённыеЗначения.Валюта.Рубль`.

Документ

`documents/РеализацияТоваров.yaml`:

name: РеализацияТоваров
posting: true                # включить режим проведения
numerator: НумераторПродаж   # автонумерация
fields:
  - { name: Номер,      type: string }
  - { name: Дата,       type: date }
  - { name: Покупатель, type: reference:Контрагент }
tableparts:
  - name: Товары
    fields:
      - { name: Номенклатура, type: reference:Номенклатура }
      - { name: Количество,   type: number }
      - { name: Цена,         type: number }
      - { name: Сумма,        type: number }

При `posting: true` у документа появляются кнопки «Провести», «Провести и закрыть», «Отменить проведение». Движения в регистры пишутся только через процедуру проведения — как в 1С.

Нумератор

`numerators/НумераторПродаж.yaml`:

name: НумераторПродаж
prefix: "ПРД-{YYYY}-"
pad: 5
period: year         # счётчик сбрасывается каждый год

Маски `{YYYY}`, `{MM}`, `{DD}` дают итог вида `ПРД-2026-00001`.

Регистр накопления

`registers/ОстаткиТоваров.yaml`:

name: ОстаткиТоваров
dimensions:
  - { name: Номенклатура, type: reference:Номенклатура }
  - { name: Склад,        type: reference:Склад }
resources:
  - { name: Количество, type: number }
  - { name: Сумма,      type: number }

Регистр сведений (периодический)

`inforegs/ЦеныНоменклатуры.yaml`:

name: ЦеныНоменклатуры
periodic: true        # включает поле period в первичный ключ
dimensions:
  - { name: Номенклатура, type: reference:Номенклатура }
resources:
  - { name: Цена, type: number }

 

DSL: язык бизнес-логики (1С-совместимый)

Скрипты лежат в `src/` с расширением `.os`. Синтаксис максимально близок к встроенному языку 1С.

Файл Когда вызывается
src/Документ.os при сохранении (`ПриЗаписи`)
src/Документ.posting.os при проведении (`ОбработкаПроведения`)
src/Обработка.proc.os точка входа обработки
src/Отчёт.rep.os код диаграммы отчёта
src/Модуль.module.os общий модуль

Пример: проведение реализации

Процедура ОбработкаПроведения()
    Движения.ОстаткиТоваров.Очистить();
    Для Каждого Строка Из this.Товары Цикл
        Дв = Движения.ОстаткиТоваров.Добавить();
        Дв.ВидДвижения  = "Расход";
        Дв.Номенклатура = Строка.Номенклатура;
        Дв.Склад        = this.Склад;
        Дв.Количество   = Строка.Количество;
        Дв.Сумма        = Строка.Сумма;
    КонецЦикла;
КонецПроцедуры

Кстати, админ прямо из документа по кнопке История может посмотреть выжимку из журнала изменений по этому объекту

Билингвальность

Все ключевые слова работают на русском и английском одновременно:

Русский English
Процедура / КонецПроцедуры Procedure / EndProcedure
Если / Тогда / Иначе / КонецЕсли If / Then / Else / EndIf
Для Каждого Из / Цикл / КонецЦикла For Each In / Do / EndDo
Попытка / Исключение / КонецПопытки Try / Except / EndTry
Возврат Return

Идентификаторы и ключевые слова — полностью case-insensitive.

 

 
 Встроенные функции DSL (выборка)

я не буду тут весь язык описывать (описываю в DEVELOPER.md), да и меняется он каждый день )

Отмечу лишь, что я убрал неявные запросы по точке (поставил точку в этом вопросе)

Но добавил глобальную функцию ЗначениеРеквизитаОбъекта(Ссылка, "Реквизит")

Если кто то хочет Номенклатура.СтавкаНДС.Процент  то можете доработать (в своём форке)

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

Язык запросов и виртуальные таблицы

Запросы пишутся в стиле 1С на русском языке и транслируются в SQL прозрачно. Работает для обоих диалектов — SQLite и PostgreSQL.

ВЫБРАТЬ
    Наименование,
    Артикул,
    Цена
ИЗ Справочник.Номенклатура
ГДЕ Цена > &МинЦена
УПОРЯДОЧИТЬ ПО Наименование

Виртуальные таблицы регистров

// Остатки на дату
ИЗ РегистрНакопления.ОстаткиТоваров.Остатки(&НаДату)

// Обороты за период
ИЗ РегистрНакопления.ОстаткиТоваров.Обороты(&Начало, &Конец)

// Срез последних регистра сведений
ИЗ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&НаДату)

Внутри виртуальные таблицы — это planner functions PostgreSQL (и их SQLite-аналоги), а не материализованные представления. Вычисляются на лету, пересчёт не нужен.

Объект Запрос в DSL

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

Для Каждого Строка Из Результат Цикл
    Сообщить(Строка.Наименование + ": " + Строка(Строка.Цена));
КонецЦикла;

JOIN (ЛЕВОЕ / ВНУТРЕННЕЕ / ПРАВОЕ / ПОЛНОЕ)

ВЫБРАТЬ
    Прод.Покупатель,
    СУММА(Прод.Сумма) КАК Оборот,
    Ост.КоличествоОстаток
ИЗ Документ.Реализация КАК Прод
    ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиТоваров.Остатки(&НаДату) КАК Ост
        ПО Прод.Покупатель = Ост.Номенклатура
СГРУППИРОВАТЬ ПО Прод.Покупатель, Ост.КоличествоОстаток
УПОРЯДОЧИТЬ ПО Оборот УБЫВ

 

Консоль кода и консоль запросов

Любимая фишка 1С-разработчика. Открыть из меню Система → Инструменты разработчика (доступно администратору).

Когданибудь я (или не я) запилю сюда то, что уже де факто стандарт (ИР от @tormozit)

Консоль кода — ввод DSL-выражения, моментальное выполнение, результат. Подходит, чтобы быстро прикинуть формулу, проверить функцию, дёрнуть процедуру общего модуля, посмотреть значение константы.

Сообщить(Окр(123.456, 2))


Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ КОЛИЧЕСТВО(*) КАК Кол ИЗ Справочник.Контрагент";
Сообщить(Запрос.Выполнить()[0].Кол);

Консоль запросов — отдельная страница: текст запроса слева, панель параметров с автоподстановкой типов из метаданных, кнопка Выполнить, табличный результат внизу. При параметрах-ссылках — пикер с поиском по наименованию (как в 1С).

 

Конструктор запросов

Через контекстное меню в редакторе модулей: выделили текст запроса → ПКМ → «Конструктор запросов» → откроется заполненный конструктор. Выделили пустую строку — откроется пустой. Вышли с «Вставить» — текст подставится обратно на место выделения. Полностью повторяет UX 1С.

В конструкторе:

- Источники — все объекты конфигурации в одном выпадающем с группировкой: справочники, документы, регистры накопления, виртуальные таблицы (`.Остатки`, `.Обороты`, `.СрезПоследних`), регистры бухгалтерии.
- Поля (ВЫБРАТЬ) — список с галочками, агрегаты (`СУММА`, `КОЛИЧЕСТВО`, `МИН`, `МАКС`, `СРЕДНЕЕ`), псевдонимы `КАК`.
- Соединения (JOIN) — кнопка «+ Соединение», тип, источник, псевдоним, условие `ПО`.
- Условия (ГДЕ) — выбор поля / оператор / параметр.
- Группировки и сортировки — через выпадающие списки.
- Автообнаружение параметров `&Имя` — подхватываются автоматически.
- Две кнопки результата: «Текст запроса» (для YAML-отчёта) и «DSL-фрагмент» (объект `Новый Запрос` с подстановкой параметров и циклом — для вставки в `.os`).

Есть куда расти и развиваться, но пока так

Печатные формы

Декларативный YAML-шаблон (без программирования, бухгалтер может править сам) и программный `ТабличныйДокумент` (для сложных макетов с областями). В конфигураторе — split-view редактор: YAML слева, HTML-предпросмотр справа, обновляется в реальном времени.

YAML-вариант

name: Накладная
document: РеализацияТоваров
title: "Товарная накладная № {{Номер}} от {{Дата | date}}"

header: |
  **Поставщик**: {{Константы.НашаОрганизация}}
  **Покупатель**: {{Покупатель.Наименование}}

table:
  source: Товары
  columns:
    - { field: "@row",                       label: "№",     width: 40px }
    - { field: Номенклатура.Наименование,     label: Наименование }
    - { field: Количество,                   label: Кол-во, align: right }
    - { field: Сумма,                        label: Сумма,  align: right, format: "number:2" }
  totals:
    - { field: Сумма, sum: true, label: "Итого" }

footer: |
  Подпись: _________________________

ТабличныйДокумент в DSL

Программное формирование с областями, объединением ячеек, условным форматированием и группировками — как макет в 1С, только в `.os` файле.

Скачать в PDF

Рядом с «Печать» — кнопка «Скачать PDF». Чистый Go, без headless-браузера: `github.com/go-pdf/fpdf` рисует из той же структуры `PrintForm`, что и HTML-рендер.

GET /ui/documents/РеализацияТоваров/{id}/print/Накладная/pdf
U94; application/pdf
U94; Content-Disposition: attachment; filename="Накладная_ПРД-2026-00042.pdf"

 

Отчёты с диаграммами

Отчёты — YAML с параметрами + запрос. Опционально — процедура диаграммы в `src/<Отчёт>.rep.os`.

name: ВаловаяПрибыль
title: Валовая прибыль
params:
  - { name: НаДату, type: date, label: На дату }
query: |
  ВЫБРАТЬ Номенклатура,
         СУММА(Выручка) КАК Выручка,
         СУММА(Выручка) - СУММА(Себестоимость) КАК Прибыль
  ИЗ РегистрНакопления.ВаловаяПрибыль
  СГРУППИРОВАТЬ ПО Номенклатура
chart_proc: СформироватьДиаграмму
Процедура СформироватьДиаграмму()
    Д = Новый Диаграмма;
    Д.Заголовок = "Валовая прибыль по номенклатуре";
    Д.Тип = "Гистограмма";   // Гистограмма / Линейная / Круговая

    СерияВ = Д.Серии.Добавить(); СерияВ.Имя = "Выручка";
    СерияП = Д.Серии.Добавить(); СерияП.Имя = "Прибыль";

    Для Каждого Стр Из Результат Цикл
        Т = Д.Точки.Добавить();
        Т.Значение = Стр.Номенклатура;
        СерияВ.УстановитьЗначение(Т, Стр.Выручка);
        СерияП.УстановитьЗначение(Т, Стр.Прибыль);
    КонецЦикла;

    Возврат Д;
КонецПроцедуры

Под капотом — ECharts. Редактирование кода диаграммы — прямо в конфигураторе, с подсветкой.

 

Табло сообщений

Классический 1С-механизм: `Сообщить("текст")` из любого места кода (проведение, обработка, регламентное задание) → текст попадает в табло, которое выезжает снизу и хранит последние 200 сообщений на пользователя.

Процедура ОбработкаПроведения()
    Если this.Сумма <= 0 Тогда
        Сообщить("Сумма документа не заполнена");
        Возврат;
    КонецЕсли;
    Сообщить("Документ проведён успешно");
КонецПроцедуры

 

Регламентные задания (cron в платформе)

name: ОбновлениеКурсов
title: Обновление курсов валют
schedule: "0 9 * * 1-5"        # cron: будни 09:00
processor: ЗагрузкаКурсов
params:
  Источник: "ЦБ РФ"
  Дата: "{{today}}"            # шаблон, разворачивается при запуске
enabled: true

В разделе Администрирование → Регламентные задания — список, кнопка ручного запуска, история запусков (длительность, текст ошибки, последние 50 запусков). Параметры-шаблоны `{{today | minus_days:7}}` разворачиваются в момент запуска.

Отладчик модулей

То, без чего разработка конфигурации превращается в страдание. В OneBase есть встроенный отладчик в стиле 1С — глобальный, на всю сессию, доступен прямо из конфигуратора.

Что умеет:

- Точки останова в любом `.os` (документ, обработка, общий модуль, регламентное задание).
- Шаги: «Шаг с заходом», «Шаг с обходом», «Шаг с выходом», «Продолжить», «Остановить».
- Стек вызовов — со скрытием системных кадров.
- Табло переменных — текущие значения в строкой иерархии (`Структура`, `Соответствие`, `Массив` раскрываются).
- Консоль выражений — ввести любое выражение в текущем контексте, получить значение.
- Monaco Editor — подсветка `.os`-синтаксиса, линейка с гуттером для брейкпоинтов.
- SSE-канал событий — UI обновляется в реальном времени без поллинга.

Архитектура: глобальный контроллер + хук `DebugHook` в интерпретаторе (nil-hook = нулевые накладные расходы). Точки останова синхронизируются по нормализованному пути файла, шагание управляется через каналы Go (pause/resume).

Честное признание: отладчик пока работает не идеально.  Это в активной доработке — багов накопилось много, но базовый сценарий (поставил BP → запустил → дошли до BP → посмотрел переменные → пошёл дальше) уже работает.

Единственное - точку останова ставьте уже после запуска отладки (это важно)

Всеми любимое табло:

Таже есть список точек останова и можно перейти к  точке

Журнал регистрации  - куда ж без него

открывается и из конфигуратора и из предприятия (если вы админ)

В конфигураторе есть настройки его ведения

в пользовательском:

Пока кривоват, в планах доработать

Все функции  - менюшечка чтоб не лазить по менюшечкам

с поиском - как в приличных домах

 

Регистрация пользователей и роли

Пользователи и роли управляются через Администрирование → Пользователи. Пока ни одного пользователя не создано — вход без пароля (удобно для разработки). Появился первый — обязательная авторизация.

Пользователи в режиме предприятия

На странице входа — быстрый выбор пользователя через `<datalist>`: поле логина с автодополнением по тем, у кого включён флаг «Показывать в списке». При этом вписать произвольный логин тоже можно — для скрытых учётных записей.

name: Менеджер
permissions:
  catalogs:
    Контрагент:    [read, write]
    Номенклатура:  [read]
  documents:
    РеализацияТоваров: [read, write, post, unpost]
    ПоступлениеТоваров: [read]
  registers:
    Взаиморасчеты: [read]
  reports:
    ОстаткиТоваров: [run]

Права: `read`, `write`, `post`, `unpost`, `run`. При попытке зайти в запрещённый раздел — красивая страница Forbidden с пояснением и кнопкой «Назад» (вместо голого 403).

Конфигуратор — отдельная авторизация. Только под администратором, независимая cookie-сессия (bcrypt), кнопка «Выйти» в меню. Пароль PostgreSQL в карточке базы скрыт — виден только в конфигураторе.

пользователи в конфигураторе:

Активные:

Флаг «Нельзя сменить пароль» — полезно для тестовых/демо-аккаунтов, чтобы пользователь не мог заблокировать себя.

Флаг «Показывать в списке» - ну вы поняли

Одна активная сессия на пользователя — повторный вход вытесняет предыдущую сессию.

Демо-режим

Для публичных демонстрационных баз реализован демо-режим: отдельная роль с запретом создания и удаления объектов, заметный баннер «Демо-доступ», автоматический сброс базы из резервной копии каждые 2 часа. Пользователь может смотреть, открывать, искать — но не ломать.

 

Поиск, фильтры и пагинация

В каждом списке справочника/документа:

- Поиск — поле над таблицей, `ILIKE` по всем строковым полям, дебаунс 320 мс (без Enter).
- Фильтры — `?filter[Статус]=Новая` через UI.
- Пагинация — серверная, 100 строк по умолчанию, до 1000 на страницу, с подсчётом общего количества.
- Сортировка — кликом по заголовку колонки.
- Excel ↓ — кнопка в каждом списке: выгрузка в `.xlsx` с заморозкой первой строки, жирными заголовками, выравниванием чисел.

GET /ui/catalog/Номенклатура/excel
GET /ui/report/Остатки/excel?НаДату=2026-05-15
GET /ui/journal/ВсеОперации/excel

Под капотом — `github.com/xuri/excelize/v2`.

 

Вложения к документам

На карточке любого документа или элемента справочника — секция «Вложения»:

- список файлов (имя, размер, скачать, удалить);
- кнопка «+ Прикрепить файл» — системный диалог, после выбора автоматическая отправка;
- ограничения настраиваются в `config/app.yaml`:

attachments:
  max_file_size_mb: 50
  allowed_types: [pdf, png, jpg, docx, xlsx]

Файлы — на диске (`~/.onebase/files/<база>/<объект>/<uuid>`), мета — в таблице `_attachments`.

 

HTTP-клиент в DSL

// Короткая форма
Ответ = HTTPПолучить("https://www.cbr-xml-daily.ru/latest.js");
данные = ПрочитатьJSON(Ответ.ПолучитьТелоКакСтроку());
Сообщить("USD: " + данные.Получить("Valute").Получить("USD").Получить("Value"));

// Расширенная — с заголовками
Соединение = Новый HTTPСоединение("api.example.com", 443, Истина);
Запрос = Новый HTTPЗапрос("/api/v1/orders");
Запрос.УстановитьЗаголовок("Authorization", "Bearer " + Константы.APIToken);
Запрос.УстановитьТелоИзСтроки(ЗаписатьJSON(данные));
Ответ = Соединение.ОтправитьДля(Запрос, "POST");

Поддерживаются GET / POST / PUT / DELETE / PATCH, таймауты, английские алиасы (`HTTPConnection`, `HTTPRequest`, `StatusCode`).

Типичный сценарий: регламентное задание раз в час забирает новые заказы с маркетплейса → создаёт документы → отправляет Telegram-уведомление через `HTTPОтправить("https://api.telegram.org/...")`.

 

Email-уведомления (SMTP)

email:
  smtp_host: smtp.gmail.com
  smtp_port: 587
  smtp_user: noreply@company.ru
  smtp_password: env:SMTP_PASSWORD
  from_name: "Мой склад"
// Короткая форма
ОтправитьПисьмо("client@example.com", "Заказ принят",
                "Ваш заказ №" + Строка(this.Номер) + " принят.");

// HTML
Письмо = Новый ПисьмоEmail;
Письмо.Кому     = "client@example.com";
Письмо.Тема     = "Заказ №" + Строка(this.Номер);
Письмо.HTMLТело = "<h2>Заказ принят</h2><p>Ваш заказ <b>№" + Строка(this.Номер) + "</b> передан в работу.</p>";
Письмо.Отправить();

STARTTLS / SSL, HTML + plain text в одном письме (multipart/alternative), пароли через `env:VAR_NAME`.

 

Шаблоны проектов (`onebase init --template`)

onebase init --list-templates          # посмотреть список
onebase init --template warehouse ./my-wh   # склад с проведением
onebase init --template tasks     ./tasks   # таск-трекер
onebase init --template crm       ./crm     # мини-CRM с проведением и взаиморасчётами
onebase init --template finance   ./fin     # домашние финансы

Каждый шаблон — готовая мини-конфигурация со справочниками, документами, регистрами, проведением и отчётами. Десять секунд от пустой папки до работающей учётной системы.

Не судите строго эти демо конфигурации написал минимакс за 5 минут в самом начале пути, не знаю что там, есть ли там жизнь.  Я уже начал пилить более менее торговлю, скоро опубликую, если будет интерес к проекту.

Бэкап и восстановление

onebase backup --db "postgres://localhost/sklad" --out ./backups/
# U94; backups/backup_sklad_2026-05-15_18-30.sql.gz

onebase restore --db "postgres://localhost/sklad" --file backup_sklad_2026-05-15_18-30.sql.gz

Под капотом — `pg_dump --format=plain | gzip`. Файл читается обычным текстовым редактором. В UI конфигуратора — отдельная вкладка «Бэкапы» с автоименованием `backup_{name}_{YYYY-MM-DD_HH-MM}.sql.gz` и сортировкой по времени.

Полный бэкап `.obz` (аналог `.dt` в 1С) — БД + конфигурация в одном файле. Для восстановления требуется остановленная база (как в 1С:Предприятие — нельзя восстановить «на горячую»).

и есть АВТОБЭКАП!

 
 Универсальный формат `.obz` — перенос PostgreSQL ↔ SQLite

 

REST API из коробки

На каждый объект конфигурации автоматически генерируется REST-эндпоинт. Никаких ручных контроллеров писать не надо:

GET    /api/v1/catalogs/Номенклатура           # список
GET    /api/v1/catalogs/Номенклатура/{id}      # элемент
POST   /api/v1/catalogs/Номенклатура           # создать
PUT    /api/v1/catalogs/Номенклатура/{id}      # обновить
DELETE /api/v1/catalogs/Номенклатура/{id}      # удалить

POST   /api/v1/documents/Реализация/{id}/post  # провести
POST   /api/v1/reports/Остатки                  # выполнить отчёт с параметрами

Авторизация — Bearer-токен или сессионная cookie.

 

Деплой на сервер

Пользователи подключаются через браузер — никакого толстого клиента нет.

[Браузер] ——HTTPS——> [nginx] ——HTTP——> [onebase :8080] ——> [PostgreSQL]
# 1. Задеплоить конфигурацию (с локальной машины или из CI)
onebase deploy --project ./myapp \
  --db "postgres://onebase:pass@server-ip/mydb?sslmode=disable"

# 2. На сервере — установить как systemd-сервис
sudo onebase service install \
  --db "postgres://onebase:pass@localhost/mydb?sslmode=disable" \
  --port 8080 \
  --name onebase-myapp \
  --user onebase

# 3. Управление
systemctl status onebase-myapp
journalctl -u onebase-myapp -f

Демо в интернете — Orange Pi + Cloudflare Tunnel

Самая дешёвая и стабильная схема без белого IP:

[Браузер] ——HTTPS——> [Cloudflare] ——туннель——> [Orange Pi: cloudflared] ——> [onebase] ——> [PostgreSQL]

`cloudflared` устанавливается одной командой, привязывается к домену, поднимается как systemd-юнит. Бесплатно, HTTPS из коробки, порты на роутере открывать не нужно. Бинарник `onebase-arm64` собирается прямо из Windows через `GOARCH=arm64 GOARM=7 go build`.

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

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

onebase convert --dir ./1c-export --out ./my-onebase-project

Прототип конвертации выгрузки XML конфигурации 1С v8.3 → YAML OneBase. Покрывает простые справочники, документы, регистры и константы. Сложные случаи (управляемые формы, СКД, регистры расчёта) — пока нет.

Честно — конвертер пока работает примерно никак, и это в списке доработок ближайших недель. Но направление есть, базовая инфраструктура — тоже.

 

Чем OneBase не является

Чтобы избежать ложных ожиданий:

Это не клон 1С. Самостоятельная платформа, вдохновлённая 1С.
Нет толстого клиента и управляемых форм — только веб (списки/формы/отчёты автогенерируются по метаданным).
Нет СКД в полном объёме. Есть язык запросов с виртуальными таблицами и базовые отчёты с параметрами — но «компоновка данных» с настройками пользователем — нет.
Нет периодических расчётов (как регистры расчёта в 1С).
Нет RLS на уровне записей — права на уровне объектов (таблиц).
Нет официальной поддержки — open-source, GitHub Issues.
Нет промышленной готовности — баги есть, и их немало. Это pet-platform для pet-projects.

Где OneBase реально хороша:

Внутренние таск-трекеры, мини-CRM, домашний учёт расходов.
Автоматизации в маленьком бизнесе: склад, продажи, услуги (но это не точно).
Прототипирование 1С-логики: накидать архитектуру (документы, регистры, проведение), показать заказчику, потом перенести в полноценную 1С.
Обучение: студентам и джунам объяснить концепцию метаданных и регистров без покупки лицензии.
Пет-проекты — собрать «как было бы на 1С», но без 1С.

 

Сравнение с 1С:Предприятие

  1С:Предприятие OneBase
Лицензия Платная, 30 000+ S81; + сервер MIT, бесплатно
Развёртывание Сервер 1С, IIS/Apache, лицензии Один exe ~20 МБ
СУБД MS SQL / PostgreSQL / DB2 / file PostgreSQL или SQLite
Платформа Закрытая Open-source на Go, можно патчить
Конфигурация `.cf`, бинарь YAML + `.os`, под git
Язык Встроенный язык 1С DSL с тем же синтаксисом
Запросы Язык запросов + СКД Язык запросов (без СКД)
Формы Управляемые формы Веб-формы (автогенерация)
Регистры Накопления/сведений/расчёта/бух Накопления/сведений/бухгалтерии
Печатные формы Табличный документ YAML + ТабличныйДокумент в DSL
REST API Через расширения / OData Из коробки на каждый объект
Отладчик Есть Есть (Monaco + глобальный)
Конструктор запросов Есть Есть
Регламентные задания Есть Есть (cron + история)
Дашборды/виджеты В управляемых формах Нативные виджеты главной страницы
Перенос PG ↔ SQLite Нет .obz универсальный формат
Поддержка Вендор + комьюнити Только комьюнити
Промышленная готовность Да Нет, pet-platform

 

Как доработать саму платформу

То, ради чего стоит остаться. OneBase — это Go, GitHub, внятная модульная структура.

 
 Структура `internal/` — модули платформы

Что можно сделать самому, не дожидаясь вендора: да хоть что )

- Добавить тип поля (например, `phone` с валидацией) — `internal/metadata` + DDL в `internal/storage`.
- Добавить встроенную функцию в DSL — регистрация в одном месте: `internal/dsl/interpreter/builtins.go`.
- Добавить виртуальную таблицу регистра — шаблон в `internal/storage/registers.go` + `internal/query/query.go`.
- Поменять UI — Go-шаблоны + ванильный JS, без сборки фронта.
- Сделать свой коннектор — экспорт в Telegram-бота, импорт из 1С, обмен с API маркетплейса.

Это невозможно в 1С — там вы упираетесь в платформу как в данность.

Для сборки exe в репо есть build.bat  он соберёт вам onebase.exe и onebase-gui.exe

Для линуксоидов build.sh 

Я планирую развивать проект и буду рад помощи в любом виде (разработка платформы, разработка конфигураций, тестирование, баг репорты, пул реквесты)

Разрабатываю я её на остатках лимитов, представляете, что было бы будь у меня 100баксовая подписка антропиков )

Кстати, вайбкодятся конфигурации Onebase очень хорошо(из за очень понятной и простой структуры форм и языка). Достаточно дать агенту ссылку на гитхаб платформы и любой бухгалтер навайбкодит себе конфигурацию!

 

Демо и сайт проекта

Демо-база и сайт проекта развёрнуты на Orange Pi с публичным доступом через Cloudflare Tunnel. Демо сбрасывается автоматически каждые 2 часа — смотреть можно всё, сломать нельзя (наверно) . Прошу сильно не вандалить демобазу, функция перезаписи по расписанию из коробки в платформе есть но пока не дошли руки настроить и включить.

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

- 🌐 Сайт проекта: onebase.ivantitov.tech
- 🚀 Демо-база (trade): demo.ivantitov.tech — логин `Пользователь` / пароль `12345`
- 📦 Releases: github.com/ivanarama/onebase/releases/latest
- 📖 Документация: `QUICKSTART.md` и `DEVELOPER.md` в репозитории + раздел с удобным поиском по фичам на сайте
- 💡 Примеры: `examples/simple-erp`, `examples/trade`, `examples/accounting`

- 📦 Полная конфигурация Программа Управления Торговлей (ПУТ)  (ожидается ещё ПУП и ПУЗ)

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

Качать дистрибы под вашу ОС удобно на странице релизов 

Если хочется свежак, не вошедший ещё в релиз, качайте в артефактах на странице actions

Стоимость и срок разработки

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

Но я делал это один, вечерами и в свободное время  (а вы что делали в майские праздники ?)

Разве до эры ИИ такое вообще было возможно?  вопрос риторический.

Такая картина по лимитам стала для меня привычной.  

Антропик:

и даже GLM

Стоимость 0 рублей  (т.к. использовал остатки лимитов двух подписок 18$ в квартал GLM + 20$ в месяц антропик) 

Помогло то, что до конца июня можно пользоваться льготными лимитами GLM и наличие счастливых часов (об этом я писал тут)  Когда кончались лимиты но не энергия, я открывал opencode c минимаксом, мерджил ветки, тестил, писал ТЗ для новых фич.

 

Дальнейшие планы

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

Чтобы было о чём писать следующие статьи:

- Доделать конвертер из 1С — чтобы хотя бы простые конфигурации переезжали без слёз.
- Управляемые формы (наша версия) — JSON-описание формы → автогенерация UI поверх метаданных.
- СКД-лайт — настройки группировок/отборов/полей пользователем поверх запроса.
- Полнотекстовый поиск — глобальный поиск по всей базе (PostgreSQL `tsvector`, SQLite FTS5).
- Расширения — механизм, аналогичный 1С-расширениям, чтобы дорабатывать конфигурацию без её правки.
- Регистры расчёта — для зарплатных задач.
- Мобильный UI — адаптивные шаблоны под телефон.

Журнал документов в разработке (пока не смерджил)

В YAML описывается «общая лента» нескольких документов с дополнительными колонками:

name: ВсеОперации
documents: [Поступление, Реализация, Платёж]
columns:
  - Документ
  - Дата
  - Контрагент
  - Сумма

В UI — единый список со всеми событиями, фильтрами по дате, контрагенту и виду документа.

 

Вместо заключения

OneBase — не замена 1С на промышленных проектах, и я это честно проговариваю. Но в нише, где 1С слишком тяжёлая, дорогая и закрытая — у 1С-разработчиков теперь есть инструмент, в котором:

- знакомая модель (платформа / конфигурация / база),
- знакомый синтаксис (русский DSL, документы, регистры, проведение),
- открытый исходник на Go,
- портативность (один exe, SQLite без установок),
- git-friendly разработка (YAML + `.os`),
- и главное — возможность поправить ядро самому.

Если вы пишете на 1С каждый день и постоянно сталкиваетесь с задачами «надо бы автоматизацию, но 1С тут перебор» — попробуйте OneBase на одном пет-проекте. Багов поймаете много — но это шанс лично переписать кусок ядра на Go и присоединиться к проекту.

В комментариях готов разбирать конкретные сценарии: «как сделать X на OneBase» — пишите задачу, отвечу примером кода. Плюсы и подписки приветствуются — мотивируют доделать конвертер и написать выгрузку в БП 🙂  И обязательно смотрите мои видео!

Благодарности:

ИИ за то что он есть. Без него этой публикации не было бы точно!

Моей жене за то, что не выгнала меня из дома пока я писал это!

Фирме 1С за супер классный язык и платформу, за мою профессию и молодость 

Ане, за остатки её лимитов клода!

P.S. Под капотом эту статью тоже помогал писал ИИ — (иначе я бы никогда не закончил). Это к вопросу о том, насколько изменился процесс разработки и документирования за последний год. Платформа OneBase — продукт того же подхода: человек ставит задачу и проверяет результат, ИИ пишет код. Лимиты подписок, наконец, тратятся с пользой.

Видео версия:

Ссылка ютуб на видеоверсию (можно скачать, если тут не открывается).

Продолжение тут

Предыдущие статьи про вайбкодинг:

Вайб-кодинг в 1С: как рефакторить код бесплатно с помощью VS Code и Roo Code

Вайб-кодинг в 1С: как заставить ИИ БЕСПЛАТНО писать новый код с помощью MCP-серверов

Вайб-кодинг в 1С: Подключаем локальные MCP-сервера к любой нейросети через MCP SuperAssistant

Вайб-кодинг в 1С: Создаём MCP для 1С 7.7 за вечер и пишем обмен с Бухгалтерией 3

Вайб-кодинг в 1С: Codex Desktop + GPT-5.4 пишет обработку САМ (Скайнет?)

Вайб-кодинг в 1С: Настраиваем эффективный workflow

Вайб-кодинг в 1С: Обходим лимиты поиска в Z AI и Claude: поднимаем свой поисковый движок через MCP 

Вайб-кодинг в 1С: Бесплатное выполнение рутинных скиллов Claude Code

PromptPilot: менеджер задач для Claude Code, Codex и других CLI

Claude Note — каждая сессия с Claude Code становится знанием

Вайб-кодинг для 1С-ника: как я собрал персональный сайт за вечер с помощью ИИ

Запускаем OpenClaw на Orange Pi Zero 2 W

Спасибо за внимание!  

Вступайте в нашу телеграмм-группу Инфостарт

OneBase open-source аналог 1С платформа автоматизации Go PostgreSQL SQLite YAML DSL язык запросов 1С регистры накопления веб-конфигуратор REST API Orange Pi Cloudflare Tunnel pet-project low-code no-code open source ERP

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

Инструментарий разработчика Нейросети Платные (руб)

Первые попытки разработки на 1С с использованием больших языковых моделей (LLM) могут разочаровать. LLMки сильно галлюцинируют, потому что не знают устройства конфигураций 1С, не знают нюансов синтаксиса. Но если дать им подсказки с помощью MCP, то результат получается кардинально лучше. Далее в публикации: MCP для поиска по метаданным 1С, справке синтакс-помощника и проверки синтаксиса.

15250 руб.

25.08.2025    63697    130    36    

137

Нейросети Программист Бесплатно (free)

Новые результаты теста топовых ИИ в вайбкодинге на 1С. Это продолжение прошлой статьи, где нейросети написали внешнюю обработку за 19 минут. Теперь же с этой же задачей справляются за 3–4 минуты. Прошло всего несколько недель. Что будет дальше?

24.07.2026    5238    top_1c    10    

25

Нейросети Бесплатно (free)

OneBase продолжает развиваться благодаря обратной связи сообщества. В этом обновлении платформа получила ИИ-помощника, визуальный конструктор форм, СКД, push-уведомления и множество других улучшений. Рассказываю, что изменилось, какие решения были приняты и почему OneBase постепенно превращается из pet-проекта в полноценную open-source платформу для разработки бизнес-приложений.

21.07.2026    1643    Ibrogim    42    

17

Нейросети Программист Бесплатно (free)

Мы привыкли считать читаемый код, понятные имена и отсутствие дублирования законами хорошей разработки — но что, если это всего лишь правила нашей профессиональной Флатландии? В новой статье разбираю, каким станет программирование, когда ИИ перестанет писать код для людей и начнёт формировать его по собственным правилам.

21.07.2026    957    IgorVasilyev    22    

8

Мастера заполнения Нейросети Пользователь 1С 8.3 Абонемент ($m)

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

3 стартмани

14.07.2026    725    2    Rafael-87    14    

7

Нейросети Бесплатно (free)

История одного твитта: как Андрей Карпати случайно запустил хайп про "вайб-кодинг", а потом сам от него открестился. Разбираем, чем вайб-кодинг отличается от агентной инженерии, почему 1С угадала суть раньше Карпати, и что делать разработчику 1С в 2026 году. Часть 2.

09.07.2026    1229    Junior_1C    7    

7

Нейросети Программист Бесплатно (free)

Нейросеть для 1С, которая пишет рабочий код на BSL по вашей конфигурации: четыре месяца и больше сорока релизов после первой статьи про бесплатный MCP-сервер mcp-1c. Разберём, что изменилось: память на больших базах упала в разы, поиск по коду ускорился, добавилась параллельная работа и совместимость с Claude, Cursor и другими ИИ-клиентами. И что осталось прежним.

08.07.2026    7899    VyachGo    5    

26

Нейросети EDT Программист 1С:Предприятие 8 Россия Абонемент ($m)

LLM-агенты уже неплохо рассуждают о коде 1С — но рассуждают вслепую. Модель не видит вашу конфигурацию: ей либо копируют модули в чат руками, либо выгружают конфигурацию в файлы и индексируют — и индекс устаревает в момент первой правки. А главное — агент не может ничего сделать: прочитал, посоветовал, а вносить правку снова человеку. Мы решали эту задачу для своей линейки 1C Intelligence Suite — это её вторая часть, о которой мы рассказываем публично.

1 стартмани

08.07.2026    3728    galich    13    

9
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Ibrogim 1834 22.05.26 13:25 Сейчас в теме
Тем кто осилил статью до конца отдельное спасибо !

Буду рад:
• баг-репортам
• идеям
• PR
EvgeTrofi; Liris; Boris_1c; Vyacheslide; amo; Vasvas05; cleaner_it; +7 1 Ответить
82. sikuda 686 25.05.26 08:54 Сейчас в теме
(1) Ответьте на главный вопрос - Какой движок работает?
91. Ibrogim 1834 25.05.26 10:12 Сейчас в теме
(82) на собственном движке )

- Язык: Go (один бинарник, кроссплатформенность)
- БД: PostgreSQL (основной) + SQLite (для лёгкого старта)
- UI: браузерный (webview) — конфигуратор + пользовательский режим
- Язык программирования: собственный DSL (двуязычный — русский/английский), интерпретатор работает поверх движка. От 1с отличается примерно как разные синтаксисы разных версий 8.3 (постоянно дорабатывается)
- Запросы: собственный компилятор запросов (русско-английский синтаксис → SQL)
- Архитектура: по аналогии с 1С — платформа + конфигурации (метаданные в YAML/DSL) + базы данных

Никаких сторонних фреймворков типа Electron или Node.js — всё на Go + embedded browser.
Трактор; +1 Ответить
2. SerVer1C 1104 22.05.26 13:52 Сейчас в теме
Круто! До чего дошёл прогресс.
Вы пытаетесь отнять кусок хлеба у фирмы 1С )
Andrey_Timofeev; +1 Ответить
3. Ibrogim 1834 22.05.26 13:54 Сейчас в теме
(2) крошку скорее ) да и то не для себя, а для сообщества
EvgeTrofi; Boris_1c; cleaner_it; +3 Ответить
4. dmpas 420 22.05.26 14:22 Сейчас в теме
Ну наконец-то!!!
Boris_1c; starik-2005; +2 Ответить
9. dmpas 420 22.05.26 14:53 Сейчас в теме
(4) но расширение для исходников можно было и другое выбрать ...
johnnyshut23; +1 Ответить
10. Ibrogim 1834 22.05.26 15:02 Сейчас в теме
43. cleaner_it 201 23.05.26 13:35 Сейчас в теме
(10) Наверное, как-то пересекается с OneScript
5. top_1c 4146 22.05.26 14:31 Сейчас в теме
(1) мне сегодня как раз попался рилс, где чел просто попросит Клод написать Windows 12 и он написал. Закину твою статью к себе в блог :)
vampo; Ibrogim; +2 Ответить
7. Ibrogim 1834 22.05.26 14:36 Сейчас в теме
(5) это всегда пожалуйста )
6. GarriSoft 649 22.05.26 14:32 Сейчас в теме
Коллега, это нереально КРУТО!!!

Поигрался в демке - это как раз то, о чём я писал в своей статье «1С как Excel: почему через 5 лет она может остаться только инструментом для сдачи отчётности». Когда 1С нужна будет только для сдачи отчётности, а потом и вовсе станет не нужна, как сейчас для АУСН.

Это пример всем скептикам, которые всё ещё считают, что вайбкодинг - игрушка. Нет, коллеги, это мы играем в игрушки в своей песочнице под названием 1С, а весь мир уже пишет программы с помощью ИИ-агентов.

Вот такие проекты как раз показывают, как можно подвинуть 1С. Причём найдутся те, кто будет возражать: «А кто потом это дорабатывать, обслуживать будет?» Коллеги, всё будет делать ИИ. Программисты нафиг не нужны будут. Всё к этому идёт.

Ещё раз спасибо за такой проект!
info1i; Boris_1c; vvp117; dmpas; LeXXeR; starik-2005; top_1c; slavik27; +8 4 Ответить
8. Ibrogim 1834 22.05.26 14:40 Сейчас в теме
(6) Именно! Отмечу, что я ни одной строчки кода не написал. только управленческие решения, консилиум моделей, ревью (кстати одна и таже модель находит у себя ошибки если у неё разные роли)


Нe и GLM 5.1 реально хорошая модель. Впереди Июнь льготного периода, так что пора писать свои windows26
11. starik-2005 3293 22.05.26 15:02 Сейчас в теме
(8)
Отмечу, что я ни одной строчки кода не написал.
Это было сразу ясно, как только агенты появились, что запилить платформу 1С стало подсилу одному приличному разрабу, который не ноет, а творит )))
info1i; Boris_1c; avbolshakov; dsdred; cleaner_it; shapa_pro; +6 Ответить
12. dmpas 420 22.05.26 15:04 Сейчас в теме
(11) Вайб-кодеры настолько устали пытаться научить ИИ одинэсу, что написали свой 1С.
EvgeTrofi; plitkorez; info1i; Boris_1c; johnnyshut23; keln; Andrey_Timofeev; bestuzheff; JohnyDeath; PowerBoy; ixijixi; avbolshakov; smit1c; vvp117; cleaner_it; top_1c; roman72; KAV2; +18 Ответить
13. starik-2005 3293 22.05.26 15:06 Сейчас в теме
(12)
что написали свой 1С
Ну так разработка ушла так далеко приличная, что 1С со своим даже элементом выглядит как даже не знаю и что...
ixijixi; avbolshakov; orakool2; akR00b; vvp117; dmpas; +6 Ответить
14. Ibrogim 1834 22.05.26 15:08 Сейчас в теме
(12) Эт точно. Мне когда конфигурацию тестовую писал агент, он то и дело заходил и дописывал платформу (я его не просил, просто исходники не убрал а он нашёл)

Представляете если бы сырцы 1С были доступны, агенты бы тогда в 1С могли также как в python
16. GarriSoft 649 22.05.26 15:14 Сейчас в теме
(8)
Блин!
Да тут дело не в том, что ты ни одной строчке не написал, а в том, что ты это придумал, спроектировал, да, совместно с ИИ, но проект твой, сделал, да силами ИИ, но сама по себе идея и реализация твоя! Это не реально круто!

Я впечатлён!!!
EvgeTrofi; info1i; tulakin_s; cleaner_it; Трактор; Ibrogim; +6 Ответить
123. sikuda 686 25.05.26 16:24 Сейчас в теме
(8) "что я ни одной строчки кода не написал" - Это как раз и вызывает вопрос: А сам ты понимаешь тот код, который за тебя написал ИИ?
Проект всячески поддерживаю!
Прикрепленные файлы:
SergeyTerentyev; +1 Ответить
124. Ibrogim 1834 25.05.26 16:42 Сейчас в теме
(123) В этом есть и плюсы и минусы. Но плюсов больше. и я нашёл Go синьёра для ревью ключевых мест
23. Ibrogim 1834 22.05.26 15:36 Сейчас в теме
(6) В демке совсем простая. а вот эта уже по увесистей.

Просто уже не мог держать в себе, выложил то что есть )
26. GarriSoft 649 22.05.26 15:43 Сейчас в теме
(23)
Коллега, я бы с большим удовольствием подвинул розничное ПО, особенно от компании АТОЛ с их ФРОНТОЛом, с их годовой подпиской, на которую они всех пересадили с купленной лицензии.
Что думаешь по поводу розницы, да там дофига всего, драйвера торгового оборудования, ЧЗ, ПИоТ, ЕГАИС и прочее, но ИИ с этим справится легко, нужно только дать ему доки почитать.
Я прям хотел бы видеть что-то такое простое и легковесное
kovalvbg; EvgeniyOlxovskiy; cleaner_it; +3 Ответить
28. Ibrogim 1834 22.05.26 15:48 Сейчас в теме
(26) дак безпроблем. платформа открытая. можно начинать хоть сейчас.
роялти мне не нужны, только баг репорты и пул реквесты

чуть по позже могу и розницей занятья (лимиты пока кончились).

Кстати, очень удобно кодить в режиме когда конфа в файлах. Сразу видно результат, никаких танцев с выгрузкой загрузкой
EvgeTrofi; ixijixi; starik-2005; dmpas; +4 Ответить
354. alex_sayan 70 10.06.26 08:39 Сейчас в теме
(6)
Вот такие проекты как раз показывают, как можно подвинуть 1С

Я что-то пропустил? В каком месте подвинули-то?
15. starik-2005 3293 22.05.26 15:13 Сейчас в теме
DSL на русском
Пишите бизнес-логику на знакомом языке. Если = Если if, Цикл = Цикл for. Ключевые слова на русском и английском.
?
18. Ibrogim 1834 22.05.26 15:16 Сейчас в теме
(15)
Пишите бизнес
Вы про сайт? Да, за ним глаз да глаз. Поправлю
17. GarriSoft 649 22.05.26 15:16 Сейчас в теме
Коллега, кто там поставил тебе "минус"? Как так можно? Напиши имя, будем знать хоть кто это. Я в свой черный список его добавляю.
shafran; Ibrogim; SerVer1C; +3 3 Ответить
19. Ibrogim 1834 22.05.26 15:21 Сейчас в теме
(17)
Напиши имя
Это будет разглашением личных данных хейтеров ) (а вдруг человек просто промахнулся) Я не знаю почему, но так в каждой публикации, Даже нашлись, кто поставил минус в бесплатном mcp для 7.7 чем могло неугодить (ну не нужно тебе, просто пройди мимо... дак ведь ещё и не пишут что не так. это контрпродуктивно кмк)
starik-2005; mrsmrv; cleaner_it; +3 Ответить
20. GarriSoft 649 22.05.26 15:28 Сейчас в теме
(19)
Был у меня один такой "умник", я его в черный список добавил, а он нашел лазейку в сайте и умудрялся ставить мне "минусы" каждый раз для новой моей статьи, пожаловался в поддержку, дыру прикрыли, его минусы со всех статей, где отметился сняли.
Есть такие не уравновешенные личности, чем-то в жизни обиженные, не огорчайся, их уже жизнь обидела, раз они такие стали "обиженные"
chuevsf; SerVer1C; +2 3 Ответить
24. Ibrogim 1834 22.05.26 15:38 Сейчас в теме
(20) Да я и не огорчаюсь. Годы в 1С сделали меня крайне уравновешенным )
cleaner_it; top_1c; dmpas; +3 Ответить
42. JohnyDeath 302 23.05.26 07:25 Сейчас в теме
(20) мне кажется, что обиженные по жизни больше те, кто выискивает людей, которые ставят минусы на «мои гениальные статьи», а не те, кто просто не согласен с мнением человека и таким образом выразил свою мысль.
RocKeR_13; afk; SergeyTerentyev; evn-zorin; mitia.mackarevich; Sashares; starik-2005; dmpas; +8 Ответить
80. GarriSoft 649 24.05.26 19:56 Сейчас в теме
(42)
Минус без комментария - это не "просто выражение мысли", это просто кнопка настроения.
Если человеку, при этом есть что сказать по делу - он напишет. Если нет - ну, бывает.
Блокировка - просто инструмент фильтрации тех, с кем не хочется больше пересекаться даже в чужих статьях и комментариях.
86. tsmult 5 25.05.26 09:56 Сейчас в теме
(80)
Минус без комментария это то же самое, что и плюс без комментария. Только плюс принимать приятно и, естественно, не требует описания причины установки! Ведь за гениальность! А вот минус нужно пояснить... Думаю, что не надо пояснять. Есть критерий понравилось/не понравилось. Человек прочел, сделал вывод поставил плюс или минус. Или не дочитал, плюнул, поставил минус и т.д.
afk; SergeyTerentyev; evn-zorin; Dragonim; JohnyDeath; +5 Ответить
92. GarriSoft 649 25.05.26 10:13 Сейчас в теме
(86)
Коллега, вы сравниваете яблоки и апельсины.

Плюс без комментария - это не "за гениальность", это согласие с итогом. Человек прочитал, решил, что ему пригодится, и поблагодарил. Всё логично: решение работает - спасибо.

Минус без комментария - это информационный шум. Вы пишете "вывод: не понравилось". Вывод чего? Дизайна, кода? Способа решения? Орфографии? Личности автора?

Когда у автора десятки статей и за плечами сотни часов бесплатной работы над публикациями (не для себя - для сообщества), единичный "минус" без единого слова - это не "выражение мысли". Это кнопка настроения. Или попытка занизить рейтинг. Или случайный тык пальцем.

Защитная реакция у автора возникает не от несогласия, а от не понимая, что именно не так. Если у вас есть, что сказать по делу - скажите. Если нет - зачем вы показываете, что вам что-то "не понравилось", но объяснить этого не можете?

"Минуситель" не тратит ничего. Автор потратил недели. Равенства здесь нет. Кнопка "-" без текста - это просто неуважение к чужому труду. А блокировка таких людей - это гигиена, а не обидчивость автора.

А теперь главное.
Напишите сами пару-тройку десятков статей. Потратьте на это уйму времени. Выложите их на всеобщее обсуждение. А потом вернитесь к этому разговору. Возможно, тогда ваше отношение к вопросу изменится, и вы поймёте, что защитная реакция автора - это не "обиженность по жизни"
95. tsmult 5 25.05.26 10:30 Сейчас в теме
(92) Я не оправдываю тех кто оголтело ставит минусы! "Минуситель" тратит время на прочтение статьи. Вы писали статью неделю, прочитана она за десять минут. Выводы о прочитанном сделаны. Посмотрите на ситуацию с другой стороны. Вы прочли статью, она вас "зацепила" или даже не сама статья, а её тон или навязчивая "повесточка ИИ". И столько мыслей родилось, что их в комменте не выразить. Вот и поставлен просто минус. Обратите внимание, минус могут ставить не все, а только достаточно заслуженные пользователи. Их заслуги - критерий уважения портала в целом (по правилам начисления баллов). Такой человек в сообществе вряд ли поставит минус необдуманно. Либо это месть равных. Месть нужно принимать с уважением, а не дистанцироваться от мстителя. Месть это тоже выражение отношения к человеку или к его трудам.
98. GarriSoft 649 25.05.26 11:08 Сейчас в теме
(95)
Коллега, вы сами себе противоречите.

1. Про время. Вы написали: "Вы писали неделю, прочитано за 10 минут". Именно поэтому минус без слов - неуважение. Если я потратил неделю на бесплатный материал для сообщества, а вы потратили 10 минут на чтение и 1 секунду на минус - мы не в равных весах. Плюс без слов логичен: "работает, спасибо". Минус без слов логичен только в одном случае: "автор - ты идиот, пояснять почему не буду". Это уровень базара, а не профессиональной дискуссии.

2. Про "мыслей много, не выразить в комменте". Извините, но это отговорка. Никто не просит диссертацию. Достаточно одного предложения: "Спорный подход", "Ошибка в разделе X", "Токсичный тон". Если человек способен сформулировать сам факт несогласия, он способен написать два слова. Кнопка минуса без текста - это не "много мыслей", это "лень думать, как объяснить".

3. Про заслуженных пользователей. Статус на портале не даёт индульгенцию на бездумные минусы. Учёная степень не отменяет правила: критикуешь - аргументируй. Если "заслуженный" человек ставит минус молча, он демонстрирует не авторитет, а пренебрежение. Или он уверен, что его статус заменяет аргументы? Тогда это уже не критика, а апелляция к регалиям.

4. Про месть. Это ключевой момент. Вы пишете: "Месть нужно принимать с уважением". Коллега, мы на техническом форуме, а не в средневековой саге. Месть - это иррациональное желание навредить в ответ на обиду. Если человек мстит минусом, он признаёт, что его мнение - не профессиональная оценка, а эмоциональная расправа. Уважать здесь нечего. Блокировка таких мстителей - нормальная санитария сообщества. С какой стати я должен терпть месть за тон или "повесточку ИИ"? Написать аргументированный комментарий - ок. Мстить - детский сад.

Итог. Вы не оправдываете "оголтелых минусителей", но оправдываете молчаливых и мстящих. Разницы нет. Никто не запрещает ставить минусы. Но если человек не может или не хочет объяснить почему - это его право. А право автора - заблокировать такого критикана как бесполезный шум. Я выбрал второе. Напишите свои 38 статей - поймёте почему я так поступаю.
100. tsmult 5 25.05.26 11:23 Сейчас в теме
(98) Вы обратили моё внимание на то, что вы "повсюду правы". Отличные ответы. Спасибо за итог. Просто интересно, вы спросили перед баном за что минус или гордость не позволила?
101. пользователь 25.05.26 11:46
Сообщение было скрыто модератором.
...
110. tsmult 5 25.05.26 12:22 Сейчас в теме
106. GarriSoft 649 25.05.26 12:07 Сейчас в теме
(100)
А спрашивать "за что минус?" - это как стучаться в закрытую дверь, за которой молчат.
Может, ещё разрешение на блокировку у них спрашивать?
Это не гордость коллега, а гигиена.
108. Dragonim 157 25.05.26 12:17 Сейчас в теме
112. GarriSoft 649 25.05.26 12:31 Сейчас в теме
128. webester 26 25.05.26 18:36 Сейчас в теме
(108) Он прав, а остальные (кто с ним не согласен)нет. Зачем он будет, что-то спрашивать.
102. Sashares 34 25.05.26 12:00 Сейчас в теме
(80)
Блокировка - просто инструмент фильтрации тех, с кем не хочется больше пересекаться даже в чужих статьях и комментариях.

Блокировка действует только на твои публикации. С пробуждением.
Хоть заблочься.
Не хочешь пересекаться с другими людьми, а жить в своем мирке, где с тобой только все согласны, а остальных ты заблочил - сиди в своих публикациях =)
SergeyTerentyev; JohnyDeath; +2 Ответить
104. GarriSoft 649 25.05.26 12:02 Сейчас в теме
(102)
Я в курсе, коллега.
105. пользователь 25.05.26 12:03
Сообщение было скрыто модератором.
...
109. GarriSoft 649 25.05.26 12:19 Сейчас в теме
(105)
Вы только что подтвердили мои слова про гигиену.
Я добавил вас в свой ЧС задолго, до того, как вы начали сегодня грубить
Это лишний раз подтверждает, что моя блокировка сработала точнее, чем ваш аргумент.
111. пользователь 25.05.26 12:25
Сообщение было скрыто модератором.
...
114. GarriSoft 649 25.05.26 12:35 Сейчас в теме
(111)
Вы сами сказали: "с чего мне тебе вежливо отвечать?"
Вот за это - за принципиальное неуважение к собеседнику - люди и попадают в ЧС.
Не за несогласие, а за хамство.
115. Sashares 34 25.05.26 12:39 Сейчас в теме
(114) Можешь на "ты", я не обижусь.

Не за несогласие, а за хамство.

Это не так работает.
Сначала ты банишь за несогласие, а потом удивляешься, что с тобой не вежливо общаются.
Просчитался, но где?
SergeyTerentyev; +1 Ответить
116. GarriSoft 649 25.05.26 12:44 Сейчас в теме
(115)
"Сначала ты банишь, потом удивляешься невежливости" - это прекрасная иллюстрация к слову "нарциссизм".
Я вас заблокировал задолго до того, как вы начали мне хамить. Значит, причина была до этого. И она никак не связана с несогласием. Подумайте, может быть, вы просто неприятный собеседник в принципе. Блокировка - это следствие, а не причина.
103. Sashares 34 25.05.26 12:01 Сейчас в теме
(42)
мне кажется, что обиженные по жизни больше те, кто выискивает людей, которые ставят минусы на «мои гениальные статьи»

Определенно. И минусы ставят в ответ на существующие публикации =))
SergeyTerentyev; +1 Ответить
107. Dragonim 157 25.05.26 12:14 Сейчас в теме
(20) Ещё есть глюк, что вам в комментариях могут ставит минус и писать пользователи из вашего чёрного списка. Надеюсь поддержка это поправит.
21. SerVer1C 1104 22.05.26 15:29 Сейчас в теме
(19) Это озлобленные тролли. Они недовольны на весь мир, поэтому хотят подна*рать другим.
46. starik-2005 3293 23.05.26 22:36 Сейчас в теме
(21)
Это озлобленные тролли.
Это люди с диагнозом. Если их не замечать - все будет ок.
22. GarriSoft 649 22.05.26 15:30 Сейчас в теме
(19)
Дополню, свой ответ, у меня если минус без коммента, я сразу в черный список добавляю, ну не хочет читать мою статью, не нравится, ну и не надо это делать дальше.
88. tsmult 5 25.05.26 09:59 Сейчас в теме
(22) А для чего тогда по вашему кнопка минус? Не надо людей банить за минусы. Обратитесь к руководству форума. Объясните, так и так, минус не нужен и всё такое. Что интересно они вам ответят?
SergeyTerentyev; +1 Ответить
93. GarriSoft 649 25.05.26 10:14 Сейчас в теме
27. shapa_pro 83 22.05.26 15:45 Сейчас в теме
(19) всё ж понятно, ретрограды боятся ИИ и минусуют всё, что с ними связано.
top_1c; Ibrogim; +2 Ответить
90. tsmult 5 25.05.26 10:06 Сейчас в теме
(27) Ретрограды не боятся ИИ. Думаю, что минусуют статьи про ИИ за то, что в сердце минусующего всё еще есть мнение о том, что инфостартовский форум это дискуссии вокруг создания кода конфигураций вручную, без ИИ. А тут какое то массовое помешательство. Уверен, что этих людей и ретроградами называть не нужно. Они ж не против прогресса в науке, а за то, что бы прогресс был с человеческим интеллектом, а не с искусственным.
Maks_Alexey13; SergeyTerentyev; +2 Ответить
34. ovcharenko.di 110 22.05.26 16:27 Сейчас в теме
(17) открыл сейчас статью, чтобы снять свой минус. Подумал и решил, что изначально поставил его зря, хоть я и не разделяю вашего восторга.

И только после этого я увидел ваш комментарий. Теперь не понимаю, заслуживаю ли я вашего черного списка или нет)
sikuda; tsmult; cleaner_it; d4rkmesa; +4 Ответить
35. GarriSoft 649 22.05.26 16:40 Сейчас в теме
(34)
Коллега, видимо нет )))
ovcharenko.di; +1 Ответить
25. slavik27 128 22.05.26 15:39 Сейчас в теме
Это гениально!
29. gybson 13 22.05.26 15:48 Сейчас в теме
Если что-то от курсор про еще останется к следующей неделе, то присоединюсь.
Мне kimi 2.6 пока нравится больше всех.
30. Ibrogim 1834 22.05.26 15:49 Сейчас в теме
(29) добро пожаловать.
33. Ibrogim 1834 22.05.26 16:19 Сейчас в теме
(29) Кстати, бесплатный минимакс к платформе я не допускаю, но конфигурации пишет. Демки которые с платформой идут он писал. Они конечно прям совсем простенькие, но думаю можно и чтото мощное наваять при должном контроле.
195. cybjavax 42 27.05.26 10:57 Сейчас в теме
(29) кто-то должен запилить аггрегатор свободных остатков от подписок. Грядет новый виток бережливого производства. Остатки теперь только не на складах)
197. Ibrogim 1834 27.05.26 11:05 Сейчас в теме
(195) Там есть нюансы с лицензиями и правилами вендоров.

Но я уже практически запилил. Нужно просто немного больше часов в сутках
31. roman72 404 22.05.26 15:50 Сейчас в теме
Супер вещь!
Но, если пустите на самотёк и массовое самосознание,
то эту, весьма потенциальную вещь, ждёт судьба подобных "убийц 1С" .

Вы должны организовать архитектурное управление,
чтобы все не кодили кто в лес кто по дрова,
а целенаправленно пилили "полную ERP".

Тут не надо исью и идеи просить - надо дать возможность людям не уныло трепаться и переписываться,
а кодить в заданном направлении.
Тогда 100 участников с помощью ИИ вам 1С таки и "убьют" этой мощной альтернативой.

Если ещё сообразите, что люди будут пилить ради денежек и дадите им возможность выкладывать свои функции за плату,
а покупателям - собирать свою ЕРП из альтернативных функций, то этот ероплан взлетит дай боже.
CheBurator; GarriSoft; Ibrogim; slavik27; +4 Ответить
32. Ibrogim 1834 22.05.26 16:05 Сейчас в теме
(31) Спасибо !

1) Я не считаю, что это "Убийца 1С" т.к. опенсорс только на пользу вендору. это подтолкнет его к развитию. И я люблю 1С
2) Каждый может делать свои форки, но в свою репо я буду собирать лучшее/полезнейшее и т.п. не все подряд
3) Возможность зарабатывать есть из коробки. Пилите свою конфу и продаёте и/или продаёте внедрения/поддержку, но это возможное будущее, сейчас всё таки ещё не тот этап.
главное что теперь можно сделать MVP забесплтно и обкатать на пользователях.

Особенно наверное может зайти на новых рынках, или в микробизнесе

Главный плюс 1С это сотни тысяч разработчиков (мастеров на все руки)-аналитиков разбирающихся в учете и знающих как свои пять пальцев язык , метаданные, подходы. Это как бы актив 1С, который на самом деле 1С не принадлежит (а принадлежит сам себе)

Все эти люди теперь могут делать тоже самое на опенсорсе, мне кажется это замечательно.
Maks_Alexey13; v8_088; cleaner_it; starik-2005; GarriSoft; slavik27; +6 Ответить
38. starik-2005 3293 22.05.26 17:26 Сейчас в теме
(32)
"Убийца 1С"
Правильно. Главное - не палиться )))
36. Идальго 242 22.05.26 16:59 Сейчас в теме
37. aximo 2700 22.05.26 17:19 Сейчас в теме
Замечательный кейс энтузиаста 👍👍👍
slavik27; Ibrogim; +2 Ответить
39. o.nikolaev 217 22.05.26 19:54 Сейчас в теме
Очень интересная статья и впечатляющий результат.

Время, как всегда, покажет насколько высоко взлетит. Искренне желаю удачи проекту. ИИ-агенты резко увеличивают бицепсы программиста (и это не синтол, товарищи!). Но тут как бы такое, важно понимать - отдел разработки платформы 1С и платформы "Элемент", в общем-то тоже в курсе про ИИ и, уверен, точно также пытается всем этим воспользоваться и усилиться.

Offtop: По поводу "черных списков" от задиристых анонимов, это конечно - "и смех и грех". Меня такое всегда только веселит.
akR00b; starik-2005; GarriSoft; Ibrogim; +4 Ответить
40. Perfolenta 207 23.05.26 00:43 Сейчас в теме
Шикарно! Но что беспокоит?
10 лет назад это бы привело к быстрому появлению сообщества и развитию новой платформы...
А сейчас?
За год подобных проектов может с десяток появиться... все они будут глючными и не готовыми к "продакшену", но многообещающими и крутыми...
Дело в том, что нам, программистам, дали эту новую игрушку, которая реализует наши самые смелые мечты, и мы бросились их реализовывать, надеясь, что ранее недоступный нам объём трудозатрат теперь в наличии...
Проблема в том, что это генератор черных ящиков... нет возможности ни проверить толком полученный код, ни даже протестировать его на достаточном уровне... а когда просишь ИИ исправить ошибку, то незаметно получаешь с десяток новых, причем может сломаться то, что раньше работало, но ты об этом узнаешь как-нибудь при случае потом...
В общем, ожидается взрыв самопальных одинэсин хороших и разных...
А для пэт-проектов это действительно идеально... шикарная игрушка для мальчиков :)
ИИ это круто, правда всё еще не известно, хорошо это или плохо...
Maks_Alexey13; afk; ixijixi; tsmult; orakool2; Vlad07; JohnyDeath; +7 Ответить
41. Ibrogim 1834 23.05.26 01:20 Сейчас в теме
(40) Все так. сейчас напишешь супер крутую штуку (я щас не про свой продукт), а его даже никто не попробует. Слишком большой поток информации.
а когда просишь ИИ исправить ошибку, то незаметно получаешь с десяток новых

А для этого есть разработка через тестирование. В сабже встроены тесты. чтобы собрать новый релиз они все прогоняются. Вероятность что-то сломать при новой фиче остаётся, но она не столь велика как кажется.
Ну и чёрный ящик, в который ты можешь заглянуть (пусть даже с помощью агента), лучше чем наглухо закрытый кмк

10 лет назад это бы привело к быстрому появлению сообщества и развитию новой платформы... А сейчас?
ну подождите, я меньше суток назад опубликовал платформу. Не всё так плохо )
starik-2005; slavik27; mrsmrv; +3 Ответить
54. Perfolenta 207 24.05.26 00:29 Сейчас в теме
(41)
(41)
разработка через тестирование

В таком продукте, как 1С, количество необходимых тестов огромно, вы просто не додумаетесь написать тесты на многие случаи, которые в скором времени всплывут в виде ошибок и глюков...
Именно размер кода приводит к эффекту черного ящика, а не отсутствие возможности в него заглянуть... Если вам потребуется убедиться, что каждая соломинка в стоге сена имеет определенные параметры, то вы не сможете это сделать не смотря на полную доступность соломинок... и для начала вам придется разломать стог...
Раньше мы не могли написать столько кода, но тот, который писали, был верифицирован в зависимости от опыта писавшего... и тестировался он пошагово... теперь этого не достичь... остается только запускать в этот стог ИИ и надеяться, что уж в этот раз он найдет все глюки...
Представьте, что вас попросили исправить ошибку в драйвере Линукс... это почти то же самое, что сказать 1Снику исправить ошибку в чужом коде на ГО, да еще и написанном не человеком... примерно одного уровня задачи... 1Сник просто натравит на этот код ИИ как на черный ящик, сделает магические пасы и скажет заклинание, в надежде, что все будет исправлено... ни каких самостоятельных действий он произвести просто не может... классический чёрный ящик с примесью магии... это что угодно, но не программирование...
Добро пожаловать в новый дивный мир... мы просто будем привыкать к тому, что ПО штука глючная и другого не бывает...
56. Ibrogim 1834 24.05.26 01:01 Сейчас в теме
(54) Да. дивный новый мир. Но он мне пока нравится )
Boris_1c; +1 Ответить
81. Perfolenta 207 25.05.26 00:49 Сейчас в теме
(56)
и мне пока нравится... потому, что я люблю и умею программировать... но мысли о программировании в этом новом мире не очень радужные... пока исследования показывают, что когнитивные способности людей интенсивно общающихся с ИИ падают, особенно это касается детей... и способность программировать начинает у людей атрофироваться... т.е. сложная работа писать код заменяется более простой писать промпты...
SergeyTerentyev; +1 Ответить
57. Ibrogim 1834 24.05.26 01:06 Сейчас в теме
(48) По поводу неудобства при создании документа и необходимости создать справочник.
Поправил (добавил кнопку +), прошу потестить, новую версию (пока не релиз) можно скачать в артифактах
В этой же версии оптимистичные блокировки, и исправления бага нумератора

Спасибо за ваше деятельное участие в проекте!
Прикрепленные файлы:
slavik27; +1 Ответить
47. starik-2005 3293 23.05.26 22:40 Сейчас в теме
(40)
За год подобных проектов может с десяток появиться... все они будут глючными и не готовыми к "продакшену", но многообещающими и крутыми...
Так и 1С к продакшену относительно готова. Там постоянно что-то не так и не то.
55. Perfolenta 207 24.05.26 00:31 Сейчас в теме
(47) вот-вот... теперь умножаем это в несколько раз и пытаемся к этому привыкнуть... 1С тоже там наверняка начинает в платформу генерить код...
60. Vlad07 26 24.05.26 07:25 Сейчас в теме
(40) Для пет проектов есть nest js или что аналогичное. Играйся не хочу. А так да, сейчас в ИТ засилье проектов готовых на 20%, но не готовых к продакшену. 10 лет назад да, сейчас, извините, требования выше. Любая новая платформа должна создаваться уже сразу с прицелом работы с ней агентов.
44. allegrosoft 56 23.05.26 21:38 Сейчас в теме
В основном клод использовали?
45. Ibrogim 1834 23.05.26 21:41 Сейчас в теме
(44) Claude code, но под капотом в основном GLM5.1
49. allegrosoft 56 23.05.26 23:19 Сейчас в теме
(45) какие роли были у каждой llm?
51. Ibrogim 1834 24.05.26 00:02 Сейчас в теме
(49) Opus писал и обсуждал планы. GLM писала код и ревьювила, иногда помогал Сонет. Дальше если были лимиты то Опус мерджил (выступал как Оунер), если небыло лимитов, делал это сам GLM.

Что интересно. Если код писал glm а потом glm его ревьювил без кодерского контекста, он часто нходил ошибки и/или не покрытые тестами места. а потом даже если тот же glm ещё и мерджил то он тоже часто находил чтото что забыли первые два.

Вообще опусом пользовался только в каких то сложных моментах
63. allegrosoft 56 24.05.26 10:02 Сейчас в теме
(51) а без клода (только glm) удалось бы вытянуть проект, как думаете?
65. Ibrogim 1834 24.05.26 10:34 Сейчас в теме
(63) удалось бы. Но дольше.
allegrosoft; +1 Ответить
48. slavik27 128 23.05.26 22:56 Сейчас в теме
подскажите пожалуйста - проработан ли момент получения новых номеров документов и справочников если в базе будут работать несколько юзеров - или он присваивается при записи объекта в бд? и не может совпасть или пропуститься.

а также такой момент - если в один и тот же документ зайдут работать несколько юзеров - то какой куда какие данные запишет? смотрю конфу та что ПУТ.

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

также простите - вы пишите что у вас по задачам основная и важная задача конвертер из 1с
а как же формы ... красивое и удобное расположение элементов на экране,
как тогда конвертировать формы из 1с - если форм нет ?
50. Ibrogim 1834 23.05.26 23:55 Сейчас в теме
(48) О, рад, что вы пощупали ПУТ

По первому вопросу.

Номера документов/справочников при параллельной работе

Реализовано корректно. В internal/storage/numerator.go:26 сделано так:

INSERT INTO _numerators (entity_name, period_key, last_number)
VALUES ($1, $2, 1)
ON CONFLICT (entity_name, period_key) DO UPDATE
SET last_number = _numerators.last_number + 1
RETURNING last_number

Это атомарный UPSERT на уровне СУБД — два одновременных вызова не могут получить один и тот же номер:
- В PostgreSQL — гарантия через row-level lock на конфликтной строке.
- В SQLite — через single-writer семантику.

Поддерживается период (год/месяц) и scope (счётчики по организации/кассе и т.п.) — ComputePeriodKey собирает ключ.

Что про пропуски: номер выдаётся внутри транзакции записи. Если транзакция откатится (ошибка проведения, разрыв связи) — номер уже инкрементирован, в нумерации появится «дырка». Это то же поведение, что у SEQUENCE в
PostgreSQL, у IDENTITY в MS SQL и у самой 1С — там это известно как «дыры в нумерации документов». Полностью без пропусков делается только ценой полной сериализации записи, что убивает производительность; нигде так не
делают.
Aleskey_K; +1 Ответить
61. slavik27 128 24.05.26 08:24 Сейчас в теме
(50) спасибо большое за оперативность и расширенные ответы. Потестирую
52. Ibrogim 1834 24.05.26 00:05 Сейчас в теме
(48) Вообще спасибо большое за вопрос. щас написал internal\storage\numerator_test.go и выявил проблему там где её быть не должно было. поправил. сегодня запушу.

по остальным вопросам чуть позже отвечу
53. Ibrogim 1834 24.05.26 00:11 Сейчас в теме
(48) По второму вопросу.
Есть косяк., Если два пользователя открыли документ, кто последний записал того изменения и останутся.

Сделаю оптимистичную блокировку. будет как в 1С
«Объект изменён другим пользователем, обновите форму»
58. Ibrogim 1834 24.05.26 01:09 Сейчас в теме
(48) Насчёт форм. Предлагаю обсудить. я пока ещё не решил как их делать.

На самом деле авто генерация - это такое счастье )
62. hdworker 24.05.26 09:44 Сейчас в теме
(58) Мое предложение, для полной совместимости: перейти на стандарт 1С для описания форм (который в папке Form выгруженной в XML конфигурации).

А позже написать конвертер, кот. будет конвертировать ПУТ в XML файлы конфигурации 1С.
67. Ibrogim 1834 24.05.26 11:01 Сейчас в теме
(62)
Да, обратный конвертер это огонь идея.
hdworker; +1 Ответить
69. Ibrogim 1834 24.05.26 12:44 Сейчас в теме
(62) Прямо формат 1С наверное нет из за юридических рисков. А конвертер вполне можно сделать.
hdworker; +1 Ответить
70. hdworker 24.05.26 13:51 Сейчас в теме
(69) день за днём, идея за идеей!

Да ну, формат выгрузки конфигурации - и закопирайчен?

Вообще ваш проект сейчас тянет на генератор кода для 1С. Нет?

Типа бутстрапа, собираем из вашего уважаемого кода документ, описываем поведение, клацаем "сконвертировать" - и получаем тоже в формате 1С, для замены в базе -- такие вещи как uuid и что ещё всплывёт, ну как бы дело техники.
Для отправки сообщения требуется регистрация/авторизация