Сборка многокомпонентных изделий: корпуса, начинки и слои
Рецепт описывает одну массу. Конфета — несколько масс, прижатых друг к другу. Соберите готовое изделие из сохранённых рецептов, ингредиентов и других продуктов, укажите, какие части соприкасаются, и читайте активность воды, риск миграции и срок годности для целого, а не для частей.
Рецепт — это ещё не изделие
Рецепт ганаша хорошо отвечает на один вопрос: что входит в эту массу и как она ведёт себя сама по себе. У готовой конфеты вопрос другой. Что произойдёт, если тот же ганаш окажется внутри шоколадного корпуса, вплотную к солёной карамели, в герметичной коробке при 20 °C в течение трёх недель? Ни один отдельный рецепт на это не ответит: ответ принадлежит сборке, а не какой-либо из её частей. Два ганаша, каждый из которых проходит собственную проверку, вполне способны испортить друг друга через общую границу.
Именно сборка живёт в разделе «Продукты». Продукт — это состав из того, что уже сделано: сохранённых рецептов, ингредиентов каталога и других продуктов с сохранённой версией. Компоненты выстраиваются в ту структуру, которая у изделия есть на самом деле, а контакты между ними задаются явно, а не угадываются по порядку списка. Дальше Formul.io считает готовое изделие целиком: общий вес, состав, пищевую ценность, активность воды, срок годности и миграцию влаги по каждой соприкасающейся границе.
Откройте «Продукты» в боковом меню и нажмите «Новый продукт». Каждый продукт показан карточкой со статусом — «Сохранён», «Черновик» или «Устарел» — и тегами, а над списком есть «Поиск продуктов» и «Фильтр по тегу». Продукты доступны на любом тарифе.
Что добавляет уровень продукта
Продукт ничего не дублирует из своих рецептов. Компонент ссылается на рецепт, ингредиент или другой продукт, а физические данные — вода, сахар, жир, активность воды, пищевая ценность — читаются из этого источника. Продукт добавляет то, что возникает только после сборки: «Общий вес», состав и пищевую ценность готового изделия, «Лимитирующую Aw», которая называет самую влажную фазу, «Срок годности» для каждого сценария хранения и «Риск миграции» с «Критическим днём» для каждой пары соприкасающихся компонентов.
Восемь стартовых структур
Новый продукт открывается на экране «Начать со структуры». Это заготовки, а не типы изделий: каждая создаёт именованные разделы в том порядке, в котором изделие собирается, и ничего из этого потом не зафиксировано. Приложение говорит об этом прямо: «Это только необязательная заготовка. Любой раздел можно изменить или удалить».
| Стартовая структура | Какую заготовку создаёт |
|---|---|
| Пустой продукт | Пустой состав — для изделия, форма которого не совпадает ни с чем ниже |
| Корпус и начинки | Корпусная конфета с корпусом, одной или несколькими начинками и отделкой |
| Глазированный центр | Трюфель или глазированный центр с покрытием и отделкой |
| Последовательные слои | Многослойный гель, карамель, ганаш или другое слоёное изделие |
| Сэндвич или макарон | Две половинки с начинкой и необязательной отделкой |
| Торт | Слои и отделка торта без фиксированного подтипа |
| Декор | Самостоятельный шоколадный или кондитерский декор |
| Ассорти | Коробка или набор, элементы которого физически не соприкасаются |
Стартовые структуры, которые предлагаются при создании продукта.
Разделы допускают один необязательный уровень подгрупп — этого хватает для ярусов, слоёв, начинок и отделки, и структура не превращается в картотеку. Группировка остаётся необязательной, а всё, что вы не разложили по разделам, лежит «Без раздела». Переименовывайте разделы так, как их называют у вас в цехе: это подписи для людей, расчёт их не читает.
Замена структуры у продукта, над которым вы уже работали, действует предсказуемо жёстко: выход, состав, контакты и сценарии хранения заменяются, название и описание сохраняются. Когда заготовка совпала с тем, как вы действительно собираете изделие, «Сохранить как шаблон» положит её в «Мои шаблоны» вместе с компонентами, количествами, контактами и сценариями хранения — следующая коробка того же семейства начнётся не с нуля.
Состав: рецепты, ингредиенты и сохранённые продукты
«Добавить компонент» открывает выбор источника с тремя вкладками — «Рецепт», «Ингредиент» и «Продукт». Рецепты приносят с собой рассчитанную физику, ингредиенты — состав из каталога. Продукт можно вложить в другой продукт только после того, как у него есть сохранённая версия, и продукт никогда не может содержать сам себя.
У каждого компонента два количества, и разница между ними существенна. «Количество нетто» — это то, что остаётся в готовом изделии, и именно оно участвует во всех физических расчётах: состав, активность воды, миграция, срок годности, пищевая ценность. «Количество брутто» — это то, что нужно подготовить, включая потери, и именно его читает себестоимость. Введите нетто в строке компонента, и брутто будет следовать за ним автоматически, пока вы не зададите брутто вручную в панели компонента: после этого значения живут независимо.
Где эти два количества расходятся
Типичный случай — темперированный корпус. В форме остаётся десять граммов шоколада, но через таз прошло сорок. Укажите 10 г нетто и 40 г брутто: изделие по-прежнему весит столько, сколько весит, активность воды и срок годности не меняются, а себестоимость перестаёт занижать шоколад, который вы реально задействовали. Для всего, что идёт в изделие прямо со взвешивания, брутто равно нетто — и это правильно.
Количества принимают «г», «кг», «мл» и «шт.». Выбор объёма или штук запрашивает единственный пересчёт, который приложение не имеет права придумать, — «Плотность, г/мл» или «Граммов в единице» — и хранит его только для этого компонента, так что жидкий сироп и плотное пралине никогда не разделят одно число.
У каждого компонента-рецепта и компонента-продукта есть «Редакция источника». Если оставить «Последняя сохранённая версия», компонент следует за источником: измените рецепт — продукт об этом узнает. Если закрепить конкретную редакцию, не следует, и продукт продолжает считать ту рецептуру, которую вы утвердили. Когда рецепт или ингредиент за незакреплённым компонентом меняется, все использующие его продукты помечаются как устаревшие, панель показывает «Нужен пересчёт», а «Пересчитать» возвращает актуальность. Устаревший статус никогда не снимается сам и распространяется вверх по вложенным продуктам, компоненты которых тоже не закреплены.
Контакты решают, какую миграцию считать
Это тот шаг, который отличает продукт от списка рецептов, и панель формулирует правило одной строкой: «Укажите, какие компоненты соприкасаются. Визуальный порядок не задаёт физический контакт». Ганаш, стоящий в списке над карамелью, может быть отделён от неё шоколадным дном, а может лежать на ней вплотную. Это разные изделия с разными сроками годности, и никакое чтение структуры их не различит. Пока вы не скажете, что именно происходит, блок «Стабильность и контакты» остаётся в состоянии «Не настроено», и никаких цифр по миграции не появится.
Как последовательные слои
Каждый компонент соприкасается со следующим по порядку состава. Честный выбор для пласта, антреме или любого изделия из рамы, где каждая граница настоящая.
Внутри корпуса
Выберите компонент корпуса, отметьте, что именно он закрывает, и отдельно решите, соприкасаются ли начинки между собой. Конфета с двумя начинками и шоколадной перегородкой и такая же без перегородки — это два разных ответа.
Компоненты не соприкасаются
Для ассорти или отдельно упакованных изделий. Это подтверждение, а не пропуск: продукт фиксирует, что вы проверили, и панель показывает «Подтверждено: компоненты не соприкасаются».
Список контактов
Перечислите соприкасающиеся пары вручную. Подходит там, где геометрия действительно нерегулярна: включение, лежащее только в одном слое, или декор, который встречается с глазурью, но не с бисквитом.
«Применить контакты» фиксирует выбор, и результаты по хранению появляются ниже. Однокомпонентный продукт этот шаг пропускает и сообщает, что внутренних контактов для миграции у него нет.
Как только контакты заданы, каждая соприкасающаяся пара оценивается по разнице активности воды на границе. Разница выше 0,15 даёт «Высокий» риск миграции, выше 0,10 — средний, ниже пара не отмечается. «Критический день» — это первый день, когда модельный коэффициент срока годности для пары высокого риска опускается ниже 0,8; на практике это день, когда изделие перестаёт быть тем, что вы продали, а не день, когда оно становится опасным. Хрусткий корпус против влажного фруктового центра способен дойти до него за сутки — и это вопрос конструкции изделия, а не хранения, и лучше узнать о нём до первой отгрузки.
Сценарии хранения, активность воды и срок годности
Стабильность — это не одно число, и продукт не делает вид, что одно. «Добавить сценарий» создаёт именованный набор условий: название, температуру от −50 до 100 °C и систему хранения «Герметичная» или «Открытая». Каждый сценарий считается независимо. Два быстрых варианта закрывают большую часть работы: «20 °C · герметично» и «4 °C · герметично». Добавьте третий для витрины, если изделие живёт именно там.
Система хранения определяет, как Formul.io показывает общую активность воды. «Герметичная» даёт средневзвешенное по массе значение активности воды компонентов. «Открытая» использует наибольшее значение среди компонентов как консервативную оценку. Этот расчёт не моделирует обмен влагой с окружающим воздухом и не предсказывает равновесную активность воды при хранении.
Рядом показывается «Лимитирующая Aw», и это всегда самая влажная фаза, а не среднее. Порча не усредняется: небольшой влажный центр за крупным сухим корпусом остаётся небольшим влажным центром, и порог микробиологического роста 0,85 проверяется именно у этой фазы, с указанием её имени. Срок годности строится на том же лимитирующем значении с поправкой на температуру сценария. Он выходит короче, чем у рецептурного калькулятора при той же активности воды, и это сознательно: сборка знает активность воды своих компонентов, но не их pH, спирт, сорбат или жировой барьер, поэтому защитные факторы состава в расчёт не берутся. Для изделия, собранного из частей, ошибаться лучше в сторону запаса.
Пищевая ценность считается «На 100 г продукта», средневзвешенно по массе, и работает по принципу «всё или ничего»: один компонент без данных о пищевой ценности оставляет весь блок «Недоступно», вместо того чтобы тихо показать неполную сумму.
Что нужно анализу хранения и чего он не будет додумывать
Анализу хранения нужна рассчитанная активность воды у каждого компонента. Рецепты её дают; ингредиенты, добавленные в продукт напрямую, пока этого значения не несут, и продукт, где они смешаны с рецептами, сообщит о недоступности анализа, а не подставит недостающую фазу. Решение простое: оберните такой ингредиент в рецепт из одной строки. Всё, что даёт модель, — это ориентир для сравнения близких вариантов; готовое изделие подтверждайте собственными испытаниями хранения, прежде чем печатать дату.
Сохранить версию, открыть страницу, посчитать себестоимость
Черновик сохраняется сам по ходу работы — в шапке появляется «Черновик сохранён». «Сохранить версию» — это отдельное осознанное действие: оно фиксирует снимок, который последующие правки не меняют, и именно это позволяет использовать продукт внутри другого продукта и открывать к нему публичный доступ. «История версий» хранит все снимки, а «Восстановить в черновик» возвращает нужный в редактор, не трогая саму историю.
Публичный доступ настраивается по частям, а не целиком. Основная информация видна всегда, а дальше вы сами выбираете, какие разделы, компоненты без раздела, сценарии хранения и показатели попадут на страницу; быстрые наборы — «Обзор», «Состав и пищевая ценность» и «Технические данные». Количества компонентов и коэффициенты пересчёта не раскрываются никогда: клиент или оптовый покупатель видит, что в изделии есть солёная карамель и как его хранить, но не ваши пропорции. Сохраните версию перед открытием доступа, а последующие правки — в новую версию перед обновлением публичной страницы.
Себестоимость живёт в том же редакторе. Панель «Экономика» читает введённые количества брутто, оценивает их по вашим сохранённым ценам и показывает «Известные затраты партии» с пометкой «Неполная себестоимость», пока какие-то данные не заполнены, — так наполовину посчитанное изделие не выглядит дешёвым. Себестоимость и маржа — единственная часть этого сценария, которой нужен Pro; сборка, расчёт и публикация продукта работают без него. О том, как превратить эту цифру в обоснованную цену, читайте в статье о себестоимости и марже в кондитерском деле.
Что требует Pro
Продукты, стартовые структуры, сценарии хранения, анализ миграции и публичные страницы продуктов доступны на любом тарифе. Pro добавляет к ним себестоимость и маржу. Ни состав, ни модель стабильности от тарифа не зависят — изделие считает один и тот же движок.
Вопросы о сборке продуктов
Почему у продукта срок годности короче, чем у входящего в него рецепта?
Обязательно ли задавать контакты или этот шаг можно пропустить?
Что произойдёт с продуктом, если я отредактирую один из его рецептов?
Может ли продукт содержать другой продукт?
Почему пищевая ценность показана как недоступная?
На что влияют количества брутто и нетто?
Похожие статьи
Миграция влаги: активность воды, закон Фика и упаковка
Прогнозируйте перенос влаги, разделяя движущую силу по активности воды и скорость диффузии, а упаковку сравнивайте только вместе с единицами и условиями WVTR.
Калькулятор активности воды для ганаша и корпусных конфет
Рассчитайте активность воды по рецептуре, сравните замены ингредиентов и используйте прогноз модели, чтобы спланировать проверку срока годности конфет.
Экспорт рецепта в PDF: рабочий снимок для производства
Превратите сохранённый рецепт в понятный A4-снимок для цеха, передачи смене или проверки. Разберите состав документа, перенос масштаба и настроек печати, а также обязательные проверки.