От ТЗ до работающей базы за 37 минут: ИИ-агент сам пишет, проверяет и чинит конфигурацию

07.08.26

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

Практический кейс автономной разработки для бизнес-платформы OneBase: ИИ-агент под управлением Claude Code и недорогой модели GLM за 37 минут с нуля создаёт полную конфигурацию с метаданными, формами, отчётами и дашбордами. Процесс проходит полностью без участия человека — агент сам нарезает задачи, генерирует демо-данные и исправляет ошибки до успешного прогона всех проверок.

Полгода назад фраза «ИИ напишет вам конфигурацию» вызывала у меня ту же реакцию, что и у вас сейчас: ну да, накидает справочников, а потом ты неделю разгребаешь.

Сегодня я показываю два эксперимента, между которыми прошёл месяц. В первом ИИ-агент собрал учётную конфигурацию по ТЗ — с планом счетов, субконто и проведением документов; я изредка подталкивал его промтами. Во втором он прошёл путь целиком сам: сгенерировал себе документацию, изучил платформу, написал код, нашёл и починил собственные ошибки — и отдал результат только после зелёных проверок. Моё участие во втором эксперименте — один промт. Дальше я не нажал ни одной клавиши.

Оба эксперимента записаны на видео одним дублем: ошибки не вырезаны — что пошло не так, то в кадре. И оба сделаны не топовой моделью, а недорогой GLM с тарифом порядка 18 долларов в квартал.

Дисклеймер честности: OneBase — моя авторская платформа, так что я лицо заинтересованное. Именно поэтому в статье будут точные цифры, таймкоды и список того, что пока работает криво.

 

Что за платформа

OneBase — открытая бизнес-платформа, идеологически близкая 1С: справочники, документы с табличными частями, регистры накопления и сведений, план счетов с субконто, проведение, отчёты, управляемые формы. Технически — один исполняемый файл на Go, который исполняет прикладную конфигурацию поверх PostgreSQL или SQLite. Открытая — в прямом смысле: исходники лежат на GitHub под лицензией MIT. Язык модулей — русскоязычный DSL, до степени смешения похожий на встроенный язык 1С: Процедура ОбработкаПроведения, Движения.Остатки.Добавить(), запросы с ВЫБРАТЬ и виртуальными таблицами .Остатки().

Ключевое отличие, из-за которого и написана эта статья: вся конфигурация — это текстовые файлы. Метаданные — YAML, логика — .os-модули, формы — YAML + модуль обработчиков. Никаких бинарных cf-файлов, никакой выгрузки-загрузки. Папку с конфигурацией можно открыть в любом редакторе, положить в git — и, что важнее всего, отдать ИИ-агенту. 

(Конечно, конфигурацию можно хранить и в таблицах базы как в 1С, но это уже про прод и большие внедрения а не разработку, надеюсь про это ещё будут статьи)

 

дерево файлов проекта конфигурации — catalogs/, documents/, registers/, src/, forms/

 

Почему «ИИ + учётная платформа» — это обычно больно

Все, кто пробовал скрестить нейросети с 1С, упирались в одно и то же:

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

- обратная связь медленная: чтобы узнать, что запрос кривой, надо загрузить конфигурацию, запустить предприятие и ткнуть кнопку;

- у модели нет способа самостоятельно проверить результат — а без проверки агент превращается в генератор правдоподобного мусора.

Между тем сила современных ИИ-агентов не в том, что они не ошибаются. Ошибаются, ещё как. Сила — в замкнутом цикле: сделал → проверил → увидел ошибку → исправил → снова проверил. Дайте агенту быстрые и честные инструменты проверки — и он доведёт задачу до конца без вас. Не дадите — будете сами носить ему сообщения об ошибках, как курьер.  

OneBase я с самого начала строил как платформу, в которой этот цикл замыкается из командной строки, без запуска UI. Дальше — два эксперимента, которые показывают, что из этого вышло.

 

Эксперимент 1. Конфигурация по ТЗ — без единой строчки кода

 


«Разработка конфигурации для OneBase с помощью ИИ» (~30 минут)
Ссылка: https://youtu.be/of_h5L8a9FA

 

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

Первое, что я сделал, — не стал писать ТЗ руками. Я выгрузил конфигурацию в файлы и прогнал через ИИ: «опиши, что здесь сделано, как ТЗ на разработку с нуля». На выходе — увесистый документ: подсистемы, справочники, план счетов, виды субконто, документы с алгоритмами проведения. Плюс тест-кейсы от подписчика: какие остатки и проводки должны получиться на контрольном примере. Реверс-инжиниринг, который раньше занимал день вдумчивого клика по конфигуратору, здесь занял один промт (таймкод 2:12 в первом видео).

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

 

фрагмент ТЗ, сгенерированного ИИ по выгрузке 1С-конфигурации — раздел с документами и алгоритмом проведения]

 

Дальше — пустая папка и три команды:

 

onebase init кондитерка     # скелет проекта + AGENTS.md и CLAUDE.md

 

onebase init кладёт в проект файл AGENTS.md — это сгенерированное самой платформой руководство для ИИ-агента: структура конфигурации, справочник языка, частые грабли запросов и главное — какие команды запускать для проверки себя. Агенту не нужно гуглить документацию: всё, что он должен знать о платформе, уже лежит в его рабочей папке.

Запускаю Claude Code — консольное приложение от Anthropic, которое само читает и пишет файлы проекта. Но не с дорогой моделью, а с подключённой по совместимому API GLM 5.1 — недорогой китайской моделью (как подключить её к Claude Code — у меня есть отдельное видео: ССЫЛКА). Промт — одна строка: «построй конфигурацию строго по пунктам 2 - 5 ТЗ». И ушёл заниматься своими делами.

Дальше агент работает сам (9:40–14:00, финал показан таймлапсом): сканирует папку, читает AGENTS.md, составляет план, создаёт справочники, документы, регистры, модули проведения — и после каждого шага прогоняет onebase check. Вернулся я к финальной сводке: все слои конфигурации прошли валидацию, потрачено 27 тысяч токенов и 7% лимита. Поясню метрику: у тарифа GLM есть потолок потребления, который обновляется каждые пять часов, — агент откусил от этого окна лишь 7%. То есть таких конфигураций можно собирать по десятку в день. Сказал «делай дальше» — он дописал модули проведения остальных документов. Итого на всё — около часа с моими отлучками и 19% лимита.

Потом у меня случилась пауза на четырнадцать дней — к папке я не прикасался: дата изменения файлов видна в кадре на таймкоде 19:02. Возвращаюсь, запускаю OneBase (напомню: это один exe), добавляю базу, SQLite для теста — и захожу в конфигуратор. Всё на месте: подсистемы, справочники, документы, регистры сведений и бухгалтерии, обработки проведения (21:05). Формы агент не рисовал — в OneBase они генерируются автоматически, а управляемые нужны только там, где хочется кастомизации.

 

 конфигуратор — дерево объектов конфигурации «Кондитерка»

 

Самая интересная часть — приёмка. В ТЗ ведь лежали тест-кейсы. Вторым промтом (уже вышла GLM 5.2 — прогресс не ждёт) я попросил: «сделай обработку, которая создаст тестовые данные по тест-кейсам и проверит результат». Агент написал обработку, я нажал «Выполнить» — и получил таблицу «факт / ожидаемое» по остаткам и проводкам (27:15). Выборочно сверил спецификацию с ТЗ — мука пшеничная, сахар-песок, масло сливочное — сходится. На самом деле сошлось не сразу а с нескольких попыток, это и натолкнуло заставило меня расширить ИИ инструменты

 

 обработка «Приёмка по ТЗ» — таблица сверки факт/ожидаемое

 

Отдельная радость — казусы. В исходной 1С-конфигурации был справочник с гордым именем «Болвашка», и агент, которого просили «сделай как здесь», честно воспроизвёл и его. ИИ не задаёт лишних вопросов — что в ТЗ, то и в продукте. Делайте выводы о качестве своих ТЗ.

Что я понял после первого эксперимента: работает, но процесс держится на мне. Это я решал, когда сказать «делай дальше», это я просил обработку приёмки отдельным промтом. Хотелось, чтобы агент проходил весь путь сам. да и проверку данных пришлось несколько раз толкать, зачем если есть ТЗ.

На доработку ушёл месяц  (на самом деле конечно же нет, просто не было времени заснять видео).

 

Эксперимент 2. Месяц спустя: один промт — и уйти

 


«Полный цикл: агент сам пишет, проверяет и чинит конфигурацию» (~27 минут)
Ссылка: https://youtu.be/JxQTz-dYoJI

 

За месяц у платформы отросла инструментальная обвязка — набор headless-команд, ради которых, собственно, и затевалась статья. Вот чем агент теперь может проверять себя, не запуская никакого UI:

 

Команда Что делает
onebase check Валидация всего: синтаксис DSL, YAML-схемы, и — главное — компиляция и исполнение запросов. no such column ловится до рантайма
onebase describe --compact «Рентген» конфигурации: компактный контракт всех объектов для контекста модели
onebase examples <вид> Канонический мини-пример YAML/DSL для любого вида объекта (понимает и русские алиасы: справочник, проведение)
onebase query / eval Выполнить запрос или фрагмент DSL прямо из консоли — проверка гипотез за секунды
onebase procrun --proc <Имя> Прогнать обработку headless и увидеть весь вывод Сообщить()
onebase widget explain / report explain --sample Показать запрос виджета/отчёта, скомпилированный SQL и первые строки результата
onebase forms validate Проверка управляемых форм по схеме
onebase test Тесты уровня конфигурации: Утверждать.*, моки почты/HTTP/ИИ, вывод в JUnit — готово для CI
onebase migrate Привести схему БД к метаданным (есть --dry-run)
onebase doctor Аналог «Тестирования и исправления ИБ»: целостность, битые ссылки, пересчёт итогов
onebase mcp Сервер Model Context Protocol — открытого протокола, по которому внешние ИИ-агенты подключаются к инструментам, — поверх всех этих команд

 

И сверху — регламент (в видео я называю его агент-протоколом): что агент обязан запускать и чем доказывать результат. Тот же принцип зашит и в AGENTS.md — там появился раздел «Проверка результата», где агенту прямым текстом сказано: зелёный check ещё не значит «работает». Изменил проведение — докажи через procrun и query. Сделал отчёт — покажи report explain --sample. Финальный ответ — только после зелёных проверок и трассировки инструментов: журнала всех вызовов onebase-команд с результатами, который агент прикладывает к отчёту.

Условия второго эксперимента жёстче первого. В папке проекта — единственный файл: агент-протокол, короткий регламент со списком инструментов и требованием доказательств. Больше ничего — даже AGENTS.md с описанием платформы агент сгенерирует себе сам (это видно на 4:12). Промт: «создай мини-конфигурацию МиниКон для организатора конференции: справочники Докладчики, Залы, Темы, документ Доклад, отчёт, дашборд с KPI, обработка заполнения демо-данными. Финальный ответ — только после трассировки инструментов и зелёных проверок». Всё. Модель — та же недорогая GLM 5.2. Запустил — и пошёл наливать чай.

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

- 2:27 — прочитал регламент и нарезал себе задачи;

- 4:12 — обнаружил, что в папке нет AGENTS.md, и сам сгенерировал его командой ai-guide;

- 4:48 — снял машинный контракт конфигурации (describe) и посмотрел канонические примеры объектов (examples) — изучил платформу, как новый сотрудник читает вики в первый рабочий день;

- 8:26 — начал писать метаданные: справочники, документ «Доклад», управляемую форму;

- 9:37 — нашёл собственную ошибку ещё до запуска check;

- 11:02 — вошёл в замкнутый цикл: check → ошибка → исправление → check, без моего участия;

- 11:45 — проверил формы, отчёт и виджеты: forms validate, report explain, widget explain, прогнал обработку через procrun;

- 13:18 — обнаружил, что демо-данные сломаны (KPI «докладов сегодня» показывал ноль при пяти докладах), сам диагностировал и починил;

- 14:09 — отчитался: все обязательные проверки регламента зелёные.

 

терминал — агент получает ошибку и следующим же шагом её исправляет

 

37 минут. Около 20% пятичасового лимита модели за 18 долларов в квартал. Ноль моих нажатий.

 

 финальный отчёт агента с трассировкой инструментов

 

Запускаю базу. Дашборды «Заполненность залов» и «Статусы докладов», KPI-виджеты «докладов сегодня / всего», справочники с демо-данными, документ, отчёт «Расписание конференции» (16:36). Открываю встроенный ИИ-чат и спрашиваю: «Какой зал наиболее загружен?» Помощник сам строит запрос к данным и возвращает табличку: Главный — 4 доклада, Зелёный — 3, Мастерская — 2 (18:34).

 

дашборд «МиниКон» с KPI-виджетами]

 

ИИ-чат в базе — ответ на вопрос «Какой зал наиболее загружен?»]

 

Важная мысль, которую я проговариваю в видео (11:02): инструменты нужны не потому, что агент без них не справится. Справится. Просто это будет дольше и потребует вас в роли посредника: запустить, посмотреть на ошибку, скопировать её агенту. С инструментами посредник не нужен — цикл замыкается без человека.

 

Полный цикл — это не только «сгенерировать»

«ИИ может полный цикл» — главный тезис статьи, поэтому разложу цикл по стадиям и покажу, чем закрыта каждая.

Анализ и ТЗ. ИИ реверс-инжинирит существующую конфигурацию в техзадание (эксперимент 1). Или пишет ТЗ с нуля по вашему рассказу — это уже давно умеет любой чат.

Разработка. Агент в Claude Code (или любом другом MCP-совместимом инструменте — onebase mcp к вашим услугам) пишет метаданные и код, опираясь на AGENTS.md, describe и examples.

Самопроверка. check, query, procrun, explain — замкнутый цикл без человека. Плюс onebase test для настоящих тестов с моками и JUnit-выводом — их тоже пишет агент.

Приёмка. Обработка сверки по тест-кейсам из ТЗ: «факт / ожидаемое» по остаткам и проводкам (эксперимент 1).

Развёртывание. migrate + run — и база работает. В видео я добавляю базу в лаунчер за минуту.

Доработка. Прямо в конфигураторе две кнопки.

Первая — ИИ-помощник разработчика: пишет и объясняет код, расшифровывает ошибки check человеческим языком.

Вторая — генерация каркаса (видео 2, 20:04). Пишете фразой: «журнал расписания докладов с подсветкой статусов» — и ИИ собирает файлы в изолированном staging-каталоге, сам прогоняя по ним check с циклом самоисправления. Вам показывают diff и трассировку инструментов; в конфигурацию изменения попадают только после кнопки «Применить». Во втором видео я так добавил журнал с условным оформлением и справочник «Города» (22:14) — двумя фразами. Часовой пояс в реквизиты городов агент догадался добавить сам (22:50) просто ему было видимо скучно от такого скудного ТЗ.

Эксплуатация. ИИ-чат в базе отвечает пользователям на вопросы по данным (с ролевой моделью доступа, лимитами токенов и журналом обращений — админы, выдыхайте). А из самого DSL доступны ЗапросИИ(), ЗапросИИДжейсон() и РаспознатьДокумент() — например, «умная загрузка»: скан накладной → JSON → черновик документа.

Сопровождение. doctor для здоровья базы, impact — показать, что заденет переименование, refactor rename-field --write — переименовать поле по всей конфигурации с автоматическим check и откатом при красном результате, версии конфигурации с diff и rollback.

 

 

генерация каркаса в конфигураторе — diff предлагаемых файлов и tool trace

 

 

результат работы генератора каркаса

 

Это не «ИИ-фича сбоку». Это конвейер, в котором на каждой стадии у агента есть инструмент и способ доказать, что сделанное работает.

 

Ложка дёгтя, куда без неё

Чтобы статья не выглядела рекламным буклетом — что пока не так:

- Оба эксперимента — маленькие конфигурации. Десятки объектов, а не сотни; демо всегда выглядит лучше жизни. Самая крупная база, собранная этим методом, — мой рабочий учёт разработок с телеграм-ботом и почтой: это уже вечер работы и несколько итераций промтов, а не 37 минут. Полноценную ERP так пока никто не написал — и я не обещаю.

- За качество сгенерированных конфигураций я не ручаюсь. Агент честно воспроизводит ТЗ вместе с его глупостями — помните «Болвашку»? Архитектурный надзор с вас никто не снимал.

- Формы простые. Автогенерация закрывает базовые потребности, если хотите красивый специализированный интерфейс — нужно заморочится с описанием расположения элементов на форме.

- Часть возможностей в статусе «тестируем» — ИИ-чат, генерация каркаса, вкладочный режим. Работают, но обкатка идёт.

- Агент работал 37 минут там, где опытный разработчик OneBase справился бы… нет, не быстрее. Но модель попроще может и час думать — правда, ваше время при этом не тратится вообще.

Я бы, конечно же, рекомендовал разрабатывать топовыми моделями!

 

Выводы

Два видео с разницей в месяц показывают траекторию: от «агент пишет код, а я дирижирую» до «агент проходит цикл сам, а я принимаю работу». Разница — не в модели (обе дешёвые), а в инструментах и регламенте: текстовые метаданные, headless-проверки, исполняемые доказательства и протокол, который требует их предъявить.

Для себя я этим же способом собрал вполне боевую конфигурацию — учёт моих разработок, продающихся на Инфостарте, с телеграм-ботом и интеграцией с почтой. Не за 37 минут — за вечер с несколькими итерациями. Но вечер вместо недели — это всё ещё другая экономика разработки.

Если хотите повторить: OneBase — https://github.com/ivanarama/onebase, оба видео встроены выше, все команды из статьи — в комплекте одного исполняемого файла. Из знаний нужен хотя бы один язык — русский подойдёт.

 

Ссылки по теме:

- Репозиторий

- Releases

- Демо база онлайн  Демонов  12345

- Первая статья

- Вторая статья

- Третья статья

- Видео 1 Видео 2 Видео 3 Видео 4

- Документация + в репозитории: README.md, QUICKSTART.md, DEVELOPER.md, docs/features.md

- Примеры конфигураций: examples/     Программа управления торговлей (ПУТ)

 

Пишите комментарии, пишите конфигурации, автоматизируйте!

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

искусственный интеллект ИИ-агент OneBase Claude Code GLM вайб-кодинг low-code разработка конфигураций автоматизация учёта DSL метаданные MCP генерация кода ИИ-помощник конфигуратор бизнес-платформа автономный агент нейросети ИИ в разработке

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

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

См. также

SALE! %

Банковские операции Обмен с интернет-банком Мастера заполнения Нейросети Программист Бухгалтер Пользователь 1С:Предприятие 8 1C:ERP 1С:Бухгалтерия 3.0 1С:ERP Управление предприятием 2 1С:Управление холдингом 1С:ERP. Управление холдингом 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Управление торговлей 11 1С:Розница 3.0 Платные (руб)

Корректируйте банковские документы быстро и легко! Создайте правило обработки — и оно автоматически применится при загрузке выписки (отбор по любому реквизиту или регулярному выражению). Решение заполняет расшифровку платежа, комиссию эквайринга, подбирает ведомости на выплату зарплаты, помечает дубли из банка на удаление и многое другое. Доплачивать за алгоритмы не нужно — они включены в решение. Обработка работает при загрузке из файлов клиент-банка и через DirectBank. Новое — искусственный интеллект: модель приводит нестандартные назначения платежа к виду, понятному алгоритмам, а ИИ-ассистент прямо в 1С консультирует по решению и разбирает код правил и алгоритмов. Поддерживаются локальные и облачные OpenAI-совместимые модели — данные могут не покидать ваш контур.

15250 руб.

20.12.2024    18859    96    29    

82

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

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

15250 руб.

25.08.2025    69443    139    41    

147

SALE! %

Нейросети Системный администратор Программист Бизнес-аналитик Бухгалтер Пользователь Руководитель проекта 1С 8.3 1С:Документооборот 1С:Бухгалтерия 3.0 1С:Зарплата и Управление Персоналом 3.x Россия Платные (руб)

Задавайте вопросы базе 1С обычными словами: получайте данные, находите ошибки и связанные документы, проверяйте права, работайте с вложениями и контролируемо вносите изменения. Всё это работает в самой программе, а Codex и Claude подключаются по желанию.

15989 9891 руб.

30.07.2026    9525    22    4    

23

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

Первая часть подборки простых приёмов для работы с ИИ-агентами. Без «секретных техник» — скорее сверим часы и посмотрим, какие подходы действительно помогают экономить время, лимиты и нервы. Разберём шесть практических приёмов: как выбирать модель под задачу и не тратить дорогую модель на мелочи; зачем сначала составлять план сложной работы; как сохранять агентские сессии на VPS с помощью tmux и Herdr; почему голосовой ввод даёт больше контекста, но требует проверки; как перепроверять решения одного агента другим; и как организовать параллельную работу через Git worktree. Большинство этих вещей опытным пользователям наверняка знакомо. Но иногда именно «очевидная» мелочь оказывается той, о которой узнаёшь слишком поздно. Возможно, из этой подборки вам пригодится хотя бы один приём.

04.09.2026    2001    Ibrogim    6    

15

Нейросети Программист 1С:Предприятие 8 Россия Бесплатно (free)

Как связать 1С и Cursor через MCP так, чтобы AI-агент сам получал актуальную конфигурацию из информационной базы, находил нужный BSL-код, вносил изменения, загружал конфигурацию обратно и запускал 1С:Предприятие. В статье — настройка 1C: Platform Tools, 1C: Platform Tools MCP, OneScript, vanessa-runner и env.json, а также важные нюансы при работе с несколькими проектами, IPC-портами, большими конфигурациями и длительными операциями загрузки. Покажу полный практический цикл на тестовой базе без ручной выгрузки и загрузки XML через Конфигуратор.

28.08.2026    15438    rinat1c    18    

30

Нейросети Программист 1С:Предприятие 8 Бесплатно (free)

Новый UI-контур CodexTestBridge запускает штатные TestClient/TestManager и даёт ИИ-агенту семантические действия вместо координат. Результаты возвращаются по шагам, долгие операции сопровождаются heartbeat. На реальной БП 3.0 открываем и заполняем приходную накладную без записи.

26.08.2026    2360    Aleksandr    3    

9

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

Практический эксперимент по использованию ИИ при обновлении расширений 1С. Сравниваются GigaChat-2-Pro и локальный Qwen3-Coder 30B на реальных конфликтах BSL-кода. Показано, как модели анализируют изменения типовой конфигурации, где могут ошибаться даже с высокой уверенностью и почему рекомендации AI необходимо дополнительно проверять алгоритмически и в тестовой базе 1С.

24.08.2026    1866    aldar    13    

8

Нейросети Программист 1С:Предприятие 8 Бесплатно (free)

В этой статье расскажу, как реализовал с помощью LLM полноценную генерацию кода для 1С (BSL) в популярном Open Source API-клиенте Bruno.

21.08.2026    1902    malikov_pro    9    

11
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Ibrogim 1912 07.08.26 13:18 Сейчас в теме
Пробовали onebase ?
напишите впечатления
2. roman72 404 10.08.26 12:02 Сейчас в теме
Друг спрашивает, дайте ссылку на биржу труда для Б.Н.
3. DoReMi 10.08.26 16:07 Сейчас в теме
Попробовал. Восторг быстро сменился на уныние когда попробовал поработать пользователем. Быстро набрать заказ покупателя не получается. Без мыши нереально, а мышь это долго. Или просто не нашёл как. TAB ещё как-то переключает контролы, но Insert, Delete, Ctrl-Enter ничего не дают.
4. Ibrogim 1912 10.08.26 17:03 Сейчас в теме
(3)
Спасибо, это ценный отзыв за всё демо этих клавиш действительно нет.

Как есть сейчас: в таблице товаров работают Tab/Shift+Tab, стрелки, Enter (вход в ячейку и коммит), Esc, Delete (удалить строку — если ячейка активна и вы не в режиме правки). Insert, Ctrl+Enter, Ctrl+S не реализованы вообще.

Но корень проблемы глубже: в колонке «Номенклатура» подбор из выпадающего списка сейчас берётся только мышью, а набранный текст при Enter/Tab теряется. Плюс в ячейку подгружаются только первые 50 позиций — остальное inline не найти. Поэтому «набрать заказ» и не получается. Это дефект, а не отсутствующая фича, и он в работе первым.

План: (1) ввод по строке в ячейке-ссылке — печатаете часть наименования, ↑/↓, Enter, поиск по всей номенклатуре на сервере, F4 — форма выбора; (2) Ins — новая строка сразу в режиме ввода, F9 — копировать строку, Ctrl+↑/↓ — переместить, Ctrl+Enter — провести и закрыть, Ctrl+S — записать, в списках Ins/Enter/F2; (3) подсказки клавиш прямо на кнопках, чтобы не угадывать.

Как выкачу — напишу, будет что погонять тем же сценарием.
11. Ibrogim 1912 24.08.26 00:15 Сейчас в теме
(3)
Спасибо, отзыв был точен — на той сборке (от 24 июля) горячих клавиш просто не было, а набранное в колонке-ссылке терялось. Починили: 11 августа вышли три доработки, и всё это уже в свежем релизе (не было времени раньше написать, был в отпуске)
Обновитесь (в лаунчере вверху появляется отметка о новой версии → «Скачать» → «Перезапустить и обновить»; канал можно переключить на stable) и попробуйте набрать заказ так, не касаясь мыши:
1. В списке заказов — Ins (создать). F9 — создать копированием предыдущего.
2. Шапку проходим по Tab.
3. В табличной части — Ins: добавляет строку и сразу ставит курсор в ввод.
4. В колонке «Номенклатура» просто печатайте — ищется по всему справочнику на сервере, по наименованию, артикулу и штрихкоду (если это поля поиска). ↑/↓ — по вариантам, Enter — подставить, Tab — подставить и перейти в следующую колонку. F4 (или Alt+↓) — открыть форму выбора, в ней тоже всё с клавиатуры. Если набранное не нашлось — значение не запишется молча, ячейка останется в вводе с подсказкой.
5. Delete — удалить строку, Ctrl+↑/↓ — переместить.
6. Ctrl+Enter — провести и закрыть, Ctrl+S — записать, Esc — закрыть.

Ничего настраивать не нужно, в конфигурации объявлять сочетания не требуется. Буквенные сочетания разбираются по физической клавише, так что Ctrl+S работает и на русской раскладке.

Чего пока честно нет: в шапке ссылочные поля — это ещё выпадающий список с кнопкой выбора, набора по строке с серверным поиском там нет (делаем следующим шагом), автофокуса на первое незаполненное поле и настраиваемого порядка Tab тоже нет, сканер ШК не подключён. Если после обновления опять что-то «не даёт» — пришлите, пожалуйста, номер сборки (экран «О программе» или onebase version) и на каком поле застряли.
5. VKuser189409080 15.08.26 11:54 Сейчас в теме
Спасибо за прогу. Очень интересно было пощупать.
Сделала маленькую демо конфигурацию сайта. Вроде работает.

Хочу вас попросить потом напишите такую конфигурацию demoCMS Сайта Сами.
Вдруг я что то не то сделала.

Мой ИИ чуток наверное слабоват. DeepSeek V4 Flash Free

Файлы прилагаю как для примера посмотреть.
Прикрепленные файлы:
SiteNortena.zip
6. VKuser189409080 15.08.26 14:16 Сейчас в теме
8. Ibrogim 1912 16.08.26 15:23 Сейчас в теме
(6) Это ваш локальный путь на локалхосте
Кстати, пользуясь млучаем, подсвечу, что настройка доступности извне есть теперь сразу в окне добавления/изменения базы в лаунчере
Прикрепленные файлы:
9. Ibrogim 1912 16.08.26 15:25 Сейчас в теме
(5) Не совсем понял что за конфигурация. типа бэкенд для сайта или сам сайт ?
Можете скинуть ТЗ ? развлеку модель GLM5.2
10. VKuser189409080 17.08.26 09:38 Сейчас в теме
(9) Ссылка на демо конфигурацию тут. Это что то типа должно быть CMS сайта.
Скачать
https://infostart.ru/bitrix/components/infostart/forum.interface/show_file.php?fid=5153556&action=download


Сам оригинальный сайт сделан на битриксе.
https://nortena.ru/bitrix/admin/index.php#authorize

Но раз у нас будет OneBase то и от 1с битрикс хотелось бы избавиться.


ТЗ очень простое.
Сделать мини CMC управление сайтом.
Я немного накидала конфигурацию. Мне кажется как то выглядит слабовато.

По идее ИИ должен изучить CMS битрикс и сделать какую то улучшенную конфигурацию.

Все файлы прилагаю. ИИ накидал ТЗ чего надо и чего нет. Там такие заумные слова, что только вы поймете.
Прикрепленные файлы:
Demo Шаблон у битрикс.zip
SiteNortena.zip
ТЗ-доработка-CMS.md
12. Ibrogim 1912 24.08.26 14:05 Сейчас в теме
(10) Был в отпуске, поэтому долго...

Сразу честно про рамки, чтобы не было завышенных ожиданий: OneBase — не CMS и не коробочный интернет-магазин. Это учётная платформа, и сайт в ней — модуль поверх той же базы, где ведётся учёт. Поэтому здесь нет того, за что обычно берут Битрикс: магазина «из коробки» с корзиной и оплатой, конструктора страниц мышкой, магазина готовых шаблонов и плагинов. Если задача — классический интернет-магазин с оформлением заказа и эквайрингом, это не к нам.

Зато то, ради чего вы просили уйти с Битрикса — сайт и учёт в одной базе, без выгрузок и синхронизаций — уже работает. Что есть сегодня:

- Каталог-витрина: разделы, подразделы, карточка товара (артикул, цена, фото, описание). На главной — витрина разделов с обложками и числом позиций, ниже свежие новости.
- Контент: страницы, новости с категориями и датой публикации (в том числе отложенной), многоуровневые меню, медиатека — картинки лежат в базе, а не на чужом CDN.
- Поиск по сайту и формы обратной связи: заявка падает в базу, на рабочем столе виден счётчик необработанных, спам отсеивается ловушкой для ботов, но не выбрасывается молча.
- SEO и переезд: sitemap.xml, robots.txt, canonical, превью для соцсетей, и главное — старые битриксовые адреса вида /catalog?group=… отвечают редиректом 301 на новый адрес раздела, так что вес ссылок переезжает вместе с каталогом.
- Перенос каталога — YML-выгрузкой из Битрикса: разделы, товары, иерархия, человекопонятные адреса транслитерацией и картинки, которые скачиваются к нам в медиатеку. Повторный импорт обновляет позиции, а не плодит дубли.
- Оформление — данные, а не программирование: макет и стили правятся в карточке справочника («Шаблоны сайта», «Стили сайта») редактором кода прямо в браузере.

Чего пока нет — по пунктам:

1. Корзины, оформления заказа, оплаты и личного кабинета покупателя. Сейчас путь клиента — заявка/звонок, а не покупка на сайте.
2. Кнопки «заказать» прямо в карточке товара: форма заявкинице (например, «Контакты»).
3. Уведомления на почту по новой заявке: заявка сохраняется и видна в базе, а письмо надо подключить отдельно — отправка в платформе есть, в примере она просто не включена.
4. Визуального конструктора страниц нет: дизайн — это HTML и CSS, правятся в базе.
5. Фильтров и сортировки в каталоге нет — на страницах сайта намеренно нет JavaScript.
6. Чтобы сайт открывался в корне вашего домена и по HTTPS,ычный nginx/Caddy.

Как пощупать (5 минут, командная строка не нужна):

1. Обновите платформу до свежей сборки и перезапустите баз
2. В базе откройте раздел «Обработки» → «Заполнить демо-контент сайта» — подтянутся макет, тексты и оформление.
3. Каталог загружается там же: «Импорт каталога из YML-выгйл выгрузки, домен для картинок nortena.ru.
4. На главной странице базы (рабочий стол «Управление сайтом») нажмите «Посмотреть сайт» — откроется главная, оттуда каталог и новости.
5. Правите текст страницы или цену товара в базе — обновляете сайт и сразу видите результат: это одна и та же база.

Прекладываю мини презентацию функционала и скрин того что у меня получилось в examples\cms (слева база, справа сайт)
Прикрепленные файлы:
OneBase-сайт-вместо-Битрикса.pdf
13. VKuser189409080 24.08.26 14:32 Сейчас в теме
(12) Спасибо, отлично, что вы вернулись. Потом глянем новый вариант.

Кстати, маленьким магазинчикам запрещено продавать онлайн. Так что нам Корзина не нужна. Нас уже один раз оштрафовали за Корзину. Пришлось убрать.

Сделала Вам конфигурацию ТСЖ.

Правда, ИИ был слабенький Ox Alpha Free.
Но вроде сделал, что я просила. Правда, под конец чуток подглючивал. Надо проверить.

Версия ТСЖ: там квитанция в виде HTML. ИИ как-то справился, но версия вроде устарела.

А версия ТСЖnew — там уже через печатные формы. Может, еще что-то правила.
Но мой ИИ запутался с фильтрами, чтобы квитанции печатать.

И еще в константах что-то проверить.

В общем, лучше поправить версию ТСЖnew.
И тоже будет в ваших примерах отличная демонстрация.

Только скажите ИИ, чтобы изменил название ТСЖ, расчетного счета и улицы. А то там все реальное.
Прикрепленные файлы:
ТСЖnew.zip
ТСЖ.zip
14. Ibrogim 1912 26.08.26 00:51 Сейчас в теме
(12) Корзину тоже реализовал. Но её можно отключить.
Напоминаю, что OneBase это не CMS , но была интересна сама идея и простота её реализации без перепиливания платформы.

Корзина и «личный кабинет» на сайте OneBase — целиком прикладные

появился вопрос в личке: «а корзину и ЛК почему не сделали?». Сделали — и ни строчки в движке.

Корзина. Справочник Корзины с табличной частью, в куке ob_cart — только UUID записи (HttpOnly, SameSite=Lax, Secure на HTTPS). Состав и цены живут в базе: кука подделывается, а вместе с ней подделывалась бы цена. Из браузера принимаются лишь ссылка на товар и количество — наименование, артикул и цена читаются из справочника при добавлении и перечитываются при оформлении, иначе «купить за 1 ₽» делается правкой скрытого поля в инспекторе.

Магазин — отдельный сервис /hs/shop без кэша: кэш ответов варьируется по query/host/lang и про куку не знает, так что корзина в кэшируемом сервисе уехала бы соседу. По той же причине у ссылки «Корзина» в шапке нет счётчика позиций. Защита от чужого POST — сверка Origin (запасной — Referer). Оформление отвечает редиректом 303, повторная отправка формы отдаёт уже созданный заказ.

Заказ — обычный документ платформы: нумерация, список, права, печать, рабочий стол с новыми заказами. Учётную часть писать не пришлось — ради неё платформу и заводят.

«ЛК» — честно говоря, не ЛК. Сессии посетителя в движке нет: ни формы логина, ни куки-сессии, ни хэша пароля (а самодельный хэш хуже отсутствующего). Поэтому доступ к заказу даёт неподбираемый UUID документа в ссылке из письма — /shop/order/<UUID>, не номер: номер предсказуем, перебор отдал бы чужие телефоны. Настоящий кабинет с регистрацией — это отдельная работа по движку (сессия, CSRF, хэш пароля, лимит попыток, vary кэша по сессии), а не заплатка в конфигурации.

Главное: ничего из перечисленного не является фичей платформы. Это конфигурация — YAML + модули на DSL. Платформа дала HTTP-сервисы, доступ к заголовкам (отсюда куки), документы, запросы, HTML-шаблоны и публичные ссылки. Магазин из этого собирается прикладником за день; включается флагом у сайта («Принимать заказы с сайта»), снятый флаг убирает кнопку и закрывает адреса — иначе это «выключено на вид»
Прикрепленные файлы:
7. VKuser189409080 15.08.26 21:55 Сейчас в теме
Попросили ИИ поле строковое сделать по высоте 10 строк.
ИИ что то модифицировал в OnaBase

# Модификация OneBase: управляемая высота многострочного поля (multiline)

> Отчёт о локальной правке исходников платформы (ветка исходников `onebase-0.9.9`).
> Цель — чтобы автор проекта понимал, что и зачем изменено, и мог принять/отклонить
> или перенести решение в upstream.

---

## 1. Суть изменения

**Файл:** `internal/ui/templates_managed.go`, строка 131 (ветка рендера
`{{else if $el.Multiline}}`).

**До:**

```gotemplate
<textarea name="{{$fn}}" autocomplete="off" rows="5" style="width:100%" ...>
```

**После:**

```gotemplate
<textarea name="{{$fn}}" autocomplete="off" {{if $el.Height}}rows="{{$el.Height}}"{{else}}rows="5"{{end}} style="width:100%" ...>
```

То есть: число строк `<textarea>` теперь управляется свойством элемента формы
`height`, если оно задано; иначе сохраняется прежнее поведение `rows="5"`.

Никакого другого кода платформы не менялось. Это единственная правка в `internal/`.

---

## 2. Зачем это понадобилось

В конфигурации SiteNortena (внешняя CMS-конфигурация на OneBase) справочник
«ШаблоныСайта» хранит поле `МакетHTML` — полный HTML-макет сайта (десятки строк).
До изменения:

1. Поле было `type: string` → на авто-генерируемой форме справочника рендерилось
однострочным `<input type="text">`. Редактировать HTML в одной строке нереально.
2. Решение — перевести справочник на **управляемую форму** (managed form)
`forms/шаблонысайта/объекта.form.yaml` и пометить поле `multiline: true`.
Это даёт `<textarea>`.
3. Но у платформы жёстко зашито `rows="5"`, и конфигурация **не могла** повлиять
на высоту: свойство `FormElement.Height` (уже существует в модели,
`internal/metadata/form_module.go`) используется рендерером только для картинок
(`max-height` у `kind: ПолеКартинки`), а на `textarea` не влияло.

Пользователю требовалось «видно не менее 10 строк». С `rows="5"` это невозможно
без правки платформы — поэтому свойство `height` элемента прокинуто в атрибут
`rows` textarea.

---

## 3. Как это используется в конфигурации

В `SiteNortena/forms/шаблонысайта/объекта.form.yaml`:

```yaml
- kind: ПолеВвода
name: ПолеМакетHTML
title:
ru: "HTML-макет"
data_path: Объект.МакетHTML
multiline: true
height: 10
```

Результат после пересборки `onebase.exe`:

```html
<textarea name="МакетHTML" autocomplete="off" rows="10" style="width:100%">...</textarea>
```

Форма карточки справочника помечается бейджем `◇ managed`, т.к. для сущности
появляется managed-форма (`renderEntityForm` → `pickManagedForm` →
`page-managed-form`).

---

## 4. Совместимость / обратная совместимость

- **Назад совместимо:** если `height` у элемента не задан — поведение прежнее
(`rows="5"`). Существующие формы не меняются.
- **Семантика `height`:** в модели это уже «высота в условных единицах»
(`yaml:"height,omitempty"`). Для картинок трактуется как px, для `multiline`
textarea теперь — как число строк (`rows`). Для конфигуратора это интуитивно:
«высота поля = сколько строк видно».
- **Риск/открытый вопрос:** единая семантика `height` для разных видов элементов
(px у картинок vs rows у textarea). Если автор захочет строгости — можно ввести
отдельное свойство, например `rows: 10`, и оставить `height` только для картинок.
Текущая правка выбрана минимальной, чтобы не расширять схему `.form.yaml`.

---

## 5. Что дополнительно изменено/создано вне платформы (контекст)

Для полноты картины — изменения в конфигурации SiteNortena (не в платформе):

- создан `forms/шаблонысайта/объекта.form.yaml` — managed-форма справочника
«ШаблоныСайта» (Наименование, Версия, Описание, МакетHTML).
- `onebase check` конфигурации: ошибок нет.

---

## 6. Пересборка и проверка

```powershell
cd onebase-0.9.9
$env:CGO_ENABLED="0"
go build -ldflags="-s -w" -o onebase.exe ./cmd/onebase
```

Проверено на запущенном сервере (127.0.0.1:8091):
`GET /ui/catalog/шаблонысайта/<id>` → `200`, HTML содержит
`<textarea name="МакетHTML" ... rows="10">`.

---

## 7. Диф в одном блоке

```diff
--- a/internal/ui/templates_managed.go
+++ b/internal/ui/templates_managed.go
@@
- <textarea name="{{$fn}}" autocomplete="off" rows="5" style="width:100%"...
+ <textarea name="{{$fn}}" autocomplete="off" {{if $el.Height}}rows="{{$el.Height}}"{{else}}rows="5"{{end}} style="width:100%"...
```

---

## 8. Резюме для автора

Одна строка шаблона. Свойство `height` элемента формы начинает управлять числом
строк многострочного textarea. Обратно совместимо. Мотивация: без этого внешняя
конфигурация не могла задать высоту поля с HTML/CSS-кодом; варианты «добавить
отдельный ключ `rows`» — обсуждаемы, если нужно более строгое разделение
семантики `height` (px vs строки).
Для отправки сообщения требуется регистрация/авторизация