Разработка 4 мин чтения

Excel ломается при двух редакторах: Grist с формулами на Python

Grist совмещает таблицу и базу данных: у столбцов свой тип, формулы на Python пересчитываются сами, документ лежит в файле SQLite. Разбираю лицензию, что в бесплатном ядре и что только по активационному ключу, как поставить в Docker, чем он отличается от NocoDB и Baserow и где упирается в размер таблиц.

Gristтаблицыopen-sourceучёт на своём сервере
Коротко. Grist это табличный редактор, где у каждого столбца свой тип данных, формулы пишутся на Python и пересчитываются сами. Ядро открыто по лицензии Apache 2.0 и запускается в Docker. Права на уровне строк и столбцов входят в бесплатное ядро. Вход через SSO (OIDC, SAML) включается активационным ключом. Он подходит для бухгалтерии, склада и отчётов на одном файле Excel. С очень большими таблицами у него есть предел.
Хотите внедрить это у себя?

Сделаю под ключ: разберу задачу, назову срок и цену. Чтобы начать, напишите в Telegram одной фразой.

Перенести таблицы бухгалтерии и склада в Grist

Файл, который открыли двое

Бухгалтер ведёт реестр в Excel, кладовщик остатки в Google Таблицах, а руководитель раз в неделю просит сводку. Её собирают руками из двух мест. Один файл открыли сразу двое, и в папке появился «реестр_финал_2». Вставили строку, формула в соседней ячейке съехала, итог за месяц разошёлся с банком.

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

Таблица ломается там, где ей приходится изображать базу данных. Для этого и сделан Grist.

Что такое Grist

Разработчики называют Grist реляционной таблицей: гибрид электронной таблицы и базы данных. Столбец в нём устроен как в базе: у него есть имя и один тип данных. Впишите слово «позвонить» в числовой столбец, и ячейка подсветится ошибкой, а формулы, которые на неё ссылаются, покажут ошибку тоже. Значения при этом можно считать формулой, как в Excel, и при изменении исходных ячеек зависимые пересчитываются автоматически.

Формулы пишутся на Python, поддерживается полный синтаксис и стандартная библиотека. Одна формула действует на весь столбец, номера строк не нужны. Остаток по товару на складе выглядит так: SUM(Receipts.lookupRecords(Item=$id).Qty) - SUM(Issues.lookupRecords(Item=$id).Qty), где Receipts это таблица прихода, а Issues таблица расхода. Поправили число в приходе, и остаток обновился сам.

Если формула не получается, есть ИИ-помощник: вы описываете задачу словами, он предлагает формулу, вы смотрите результат и сохраняете. В самохостинге его подключают сами, через ключ OpenAI или любой адрес, совместимый с OpenAI. В README названы llama-cpp-python и LM Studio.

Документ Grist это файл на SQLite. Его открывает обычный sqlite3, его просто копировать и переносить на другой сервер.

Что в бесплатном ядре, а что по ключу

Лицензия ядра Apache 2.0. Я проверил её по файлу LICENSE.txt в репозитории grist-core, правообладатель Grist Labs Inc. Компания из Нью-Йорка работает по модели open core: дополнительные функции продаются по закрытой лицензии. Репозиторий создан в мае 2020, у него около 11,9 тысячи звёзд на GitHub, последний релиз 1.7.20 вышел 28 сентября 2026.

В ядре есть Python-формулы, ИИ-помощник для формул, формы, REST API, вебхуки, комментарии, сводные таблицы, графики, импорт из Airtable и правила доступа к отдельным строкам, столбцам и таблицам. Чтобы правила работали, нужен настроенный вход.

Только в полной версии, которую включают ключом: вход через OIDC и SAML, потоковая выгрузка журнала аудита, расширенные админ-настройки, новый ассистент, который строит таблицы и дашборды, письма-уведомления, автоматизации, встроенный MCP-сервер. Пробный период 30 дней. Бесплатный ключ дают организациям, у которых общие финансы меньше миллиона долларов в год. Для подрядчика смотрят на выручку клиента. Если ключ кончился, платные функции выключаются, документы остаются.

Образ gristlabs/grist содержит и закрытые расширения, они спят до включения полной версии. Образ gristlabs/grist-oss собран только из открытого кода.

Как ставится и как входят люди

Запуск: docker run -p 8484:8484 -v ~/grist:/persist -e GRIST_SESSION_SECRET=секрет -e GRIST_DEFAULT_EMAIL=вы@пример.рф -it gristlabs/grist. При первом старте в логах печатается boot key, с ним вы попадаете в мастер быстрой настройки: адрес, песочница, вход, резервные копии. Для доступа по сети нужен обратный прокси с HTTPS и websocket. Для средней нагрузки в документации названы 8 ГБ памяти, 2 ядра, 20 ГБ диска.

Формулы это исполняемый Python-код. Без песочницы они читают и пишут всё, что доступно процессу Grist. Включаем gVisor: GRIST_SANDBOX_FLAVOR=gvisor.

Пока вход не настроен, установка открыта всем, кто до неё дотянется. Без ключа есть три способа входа: аккаунт на getgrist.com (регистрацией занимается Grist Labs, документы остаются у вас), заголовок от вашего прокси с авторизацией и режим одного пользователя через GRIST_DEFAULT_EMAIL. Первый быстрее, второй не привязывает людей к чужому сервису.

Документы лежат файлами на диске, и если диск умрёт, они пропадут. Поэтому сразу настраиваем копии: Grist складывает снимки в S3-совместимое хранилище.

Grist, NocoDB или Baserow

В блоге есть разборы NocoDB и Baserow. Все три живут на вашем сервере. Центр тяжести у них разный. Grist ближе к таблице с формулами: Python, сводные таблицы, графики и карточки лежат на одной странице. Есть формы и календарь. NocoDB и Baserow, как я описывал в тех статьях, ближе к базе-конструктору: таблицы, поля, связи, представления, формы.

Если ваш рабочий файл целиком про расчёты, итоги и отчёты, начните с Grist. Если важнее заявки, статусы и много людей с разными представлениями, начните с NocoDB или Baserow. Лучшего среди них нет. Кусок вашей таблицы можно собрать в двух и сравнить.

Где это не сработает

Большие таблицы. Документация рекомендует держать данные документа в пределах 20 МБ, документ крупнее может тормозить или упереться в память. Пример оттуда: 100 000 строк на 24 числовых столбца. Для миллионов строк нужна обычная база данных.

Лимиты по строкам (5 000, 100 000, 150 000) в документации привязаны к тарифам облака. Как они действуют у вас на сервере, я не проверял.

Русский язык. Перевод интерфейса есть, на день проверки на Weblate переведено около 68 процентов строк интерфейса. Справка на сайте поддержки на английском и французском.

Привычка. Авторы сами пишут, что людей из Excel схема «одна формула на столбец» поначалу путает.

Что можно сделать уже сейчас

Первое. Запустите команду выше на ноутбуке и возьмите шаблоны с templates.getgrist.com: там есть учёт склада и счета.

Второе. Возьмите самый ломкий файл, импортируйте его из Excel или CSV и задайте типы столбцов.

Третье. Выпишите, кто что должен видеть: бухгалтер, кладовщик, руководитель. Это основа правил доступа. Если склад у вас в МойСклад, а Excel остался для заказов, посмотрите разбор заказа поставщику из Excel.

Четвёртое. Отдайте перенос нам: автоматизация бухгалтерии или open-source под ключ. Цены на работы есть в прайсе.

Частые вопросы

Grist на своём сервере бесплатный?

Ядро да, лицензия Apache 2.0. Вы платите за сервер и настройку. SSO, журнал аудита и ассистент по таблицам требуют ключ, бесплатный при финансах организации меньше миллиона долларов.

Куда уходят данные при включённом ИИ-помощнике?

Модели отправляются ваш вопрос и схема таблицы. С облачным API они уйдут туда, с моделью на вашем сервере останутся у вас.

Можно перенести то, что уже есть в Excel или Airtable?

Да. Grist импортирует Excel и CSV, из Airtable есть прямой импорт. Типы столбцов проверяйте руками.

Коротко о главном

Мы переносим таблицы в один документ, ставим Grist на ваш сервер, включаем песочницу и копии, настраиваем вход и права для бухгалтера, склада и руководителя. Если ваш случай ближе к NocoDB или Baserow, скажем сразу.

Хотите понять, потянет ли ваш файл такой переезд? Напишите мне в Telegram слово «ФОРМУЛЫ». Посмотрю таблицы и скажу, что переносить и что оставить как есть.

Обсудим вашу задачу

Что я делаю для бизнеса

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

  • Боты в Telegram, MAX, VK
  • Автоматизация процессов и CRM
  • Аналитика и дашборды
  • Сайты и лендинги под ключ
Пишу о разработке, ИИ и законах для бизнеса

Разборы, кейсы и практика — без воды. Выходит регулярно, читать 3–5 минут.

Готовые решения под ключTurnkey solutionsSoluciones llave en mano交钥匙解决方案Түлхүүр гардуулах шийдэл 451 готовых IT-решений для бизнеса451 ready-made IT solutions for business451 soluciones IT listas para empresas451 个面向企业的现成 IT 解决方案Бизнест зориулсан 451 бэлэн IT шийдэл Автоматизация, боты, AI, 152-ФЗ и платформы · бесплатная консультацияAutomation, bots, AI, data privacy and platforms · free consultationAutomatización, bots, IA, privacidad de datos y plataformas · consulta gratis自动化、机器人、AI、数据合规与平台 · 免费咨询Автоматжуулалт, бот, AI, өгөгдлийн хамгаалалт ба платформ · үнэгүй зөвлөгөө Смотреть каталогView catalogVer catálogo查看目录Каталог үзэх