Планирование производства на Google Таблицах: что пошло не так
У производителя фильтров для воды планирование держалось на связке Google Таблиц, мобильном приложении AppSheet для цеха и ручном обмене с 1С. Система выросла постепенно: наряды, план участков, дашборд показателей, упаковка, диспетчер заказов, учёт простоев, ведомости выработки. Каждая таблица тянула данные из соседних.
Задача была разобрать, как это устроено, найти узкие места и показать, как может выглядеть новая система.
Что показал аудит
Разобраны структура, формулы и связи таблиц. Главные проблемы:
- Круговые зависимости. Таблицы импортируют данные друг из друга по кругу, пересчёт затягивается на минуты.
- Сотни тысяч формул. Матрицы загрузки растут квадратично, а в работе встречаются сломанные ссылки и ошибки вычислений.
- Ручной обмен с 1С копированием, главный источник ошибок.
- Дубли справочников в нескольких копиях и неудобная горизонтальная структура нарядов: чтобы добавить ещё одну заготовку к товару, нужно переписать десятки формул.
- Ручные приоритеты и прогноз, который меняется при каждом пересчёте.
- Систему понимают один-два человека.
AppSheet в цеху оказался самой устойчивой частью, его рекомендовано сохранить. Для остального описан движок планирования, который переносится из формул в код.
Буфер заготовок со светофором
Вместо ручных уровней запаса используется динамический буфер по теории ограничений. Целевой уровень считается как среднесуточное потребление, умноженное на время пополнения. Заготовка попадает в красную, жёлтую или зелёную зону по заполнению буфера, для дефицитных видно, сколько часов станка нужно на пополнение. Продукция под собственные марки клиентов и редкие позиции производятся под заказ, вне буфера.
Раскладка заданий по станкам
Прототип распределяет задания по экструдерам и другим участкам:
- Два алгоритма: быстрый жадный и оптимизатор Google OR-Tools, который сначала охватывает самые срочные позиции с учётом заказов, а потом минимизирует недобор. Если оптимизатор не уложился по времени, срабатывает жадный алгоритм.
- Стратегия на выбор: ползунок от «минимум переналадок» до «под потребность продаж». Чем ближе к продажам, тем чаще срочные задания делятся между станками.
- Итоги раскладки: срок завершения, число и время переналадок, простой станков и диаграмма Ганта по каждому станку.
Кроме этого, считается задание для упаковочных линий и потребность в сырье по спецификациям за вычетом склада.
Дашборд и приложение для цеха
- Дашборд руководителя: позиции в дефиците и в избытке, загрузка станков, узкие места и «замороженные» излишки.
- Приложение для цеха: список заданий к производству и отметка выпуска с телефона.
- Сменное задание выгружается в Excel.
Как устроено
Python и Streamlit, оптимизация на OR-Tools, данные из выгрузок 1С в Excel: справочник заготовок, буфер, остатки и потребность, остатки сырья. Для каждого файла есть шаблон. Демо собрано на реальных выгрузках заказчика и открывается после входа.
Это прототип для обсуждения с заказчиком: интеграция с 1С, роли и запись факта из цеха в базу запланированы на этап полноценной разработки.
Скриншоты

Частые вопросы
Можно ли вести планирование производства в Google Таблицах?
Можно на старте, но с ростом производства таблицы начинают ссылаться друг на друга по кругу, формул становится сотни тысяч, а обмен с 1С остаётся ручным. Аудит показывает, что из этого переносить в код.
Что такое буфер заготовок по теории ограничений?
Целевой запас, который считается от среднесуточного потребления и времени пополнения. Заполнение буфера показывает светофором, что производить в первую очередь.
Как выбирается раскладка по станкам?
Руководитель выбирает стратегию: меньше переналадок или быстрее закрыть потребность продаж. Прототип показывает срок, переналадки и загрузку станков для каждого варианта.
Нужна ли интеграция с 1С?
В прототипе данные берутся из выгрузок 1С в Excel. Автоматический обмен запланирован на следующий этап.




