Excel ломается при двух редакторах: Grist с формулами на Python
Grist совмещает таблицу и базу данных: у столбцов свой тип, формулы на Python пересчитываются сами, документ лежит в файле SQLite. Разбираю лицензию, что в бесплатном ядре и что только по активационному ключу, как поставить в Docker, чем он отличается от NocoDB и Baserow и где упирается в размер таблиц.
Сделаю под ключ: разберу задачу, назову срок и цену. Чтобы начать, напишите в 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 минут.


