# Расчёт пикового окна FBS

Версия 1.0, 31.10.2026. Это рабочий шаблон для собственных измерений. Все числа в файлах `example` и на листе «Учебный пример» вымышлены. Они не описывают клиента, норматив площадки или производительность Skirbo.

## Файлы

| Файл | Что в нём |
|---|---|
| `m18-fbs-capacity.xlsx` | Листы «Шаблон» и «Учебный пример». Формулы трудозатрат, доступного времени и календарной проверки последнего комплекта |
| `m18-inputs-blank.csv` / `m18-inputs-example.csv` | Пустые входные данные и те же данные учебного расчёта в плоском формате |
| `m18-measurements-blank.csv` / `m18-measurements-example.csv` | Журнал хронометража и четыре вымышленных замера по группам и этапам |
| `m18-queue-blank.csv` / `m18-queue-example.csv` | Контроль движения очереди с отдельным выводом в исключения и возвратом в работу |

CSV сохранены в UTF-8 с BOM, разделитель — запятая, текст заключён в кавычки. Импортируйте через функцию «Из текста/CSV» с выбором UTF-8 и запятой. Поля времени в CSV — текст с часовым поясом. В XLSX даты/время хранятся как числовые значения Excel, отображаются в формате `yyyy-mm-dd hh:mm`. CSV не рассчитываются автоматически; формулы находятся в XLSX и описаны ниже.

## Как заполнить XLSX

1. Выберите одну конкретную отгрузку и её срок сдачи. Используйте один часовой пояс. Отделите уже упакованное, отменённое и заблокированное от допущенной к работе очереди. У исключений сохраняйте исполнителя и следующее действие.
2. На листе «Шаблон» заполните жёлтые ячейки. В строках 12–13 укажите людей, начало/конец работы каждого участка, перерывы и прочие паузы **на одного работника**. Одна строка участка предполагает одинаковые окна и паузы у всех его работников.
3. В C16/D16 внесите отдельную трудоёмкость повторов и разбора ошибок в человеко-минутах. Если её нет, введите 0. Не вычитайте эти же минуты ещё раз как паузу и не включайте повтор в обычную норму второй раз.
4. В строках 20–24 разделите отправления на сопоставимые группы. Заполните название и четыре числовых поля каждой используемой строки. Неиспользуемые строки оставьте полностью пустыми. Если работы нет, в первой строке введите название «Нет работы» и четыре нуля.
5. «Подбор не завершён» требует оставшейся работы обоих участков. «Подобрано, не упаковано» требует только оставшейся упаковки. Время обработки — человеко-минуты на отправление, включая необходимые проверки, печать и обычные движения. Для работы двух людей над одним отправлением суммируйте их активные минуты.
6. В B29 внесите срок фактической сдачи из кабинета/плана маршрута. В B30 — календарное время после окончания упаковки: погрузка, дорога, очередь и запас на этот этап. Не закладывайте в него время самой упаковки повторно. В E29/E30 запишите часовой пояс и основание срока.
7. B32–B34 — перенос последнего комплекта с подбора, ожидание на упаковке и длительность его упаковки. Здесь нужны **календарные**, а не суммарные человеко-минуты. Время ожидания должно учитывать паузы на пути этого комплекта. Ноль допустим при подтверждённом отсутствии ожидания.
8. Смотрите одновременно строки 6–7 и 37. «Покрыто по сумме» или «Окна согласованы» по отдельности не подтверждают, что все отправления будут готовы. Проверьте очередь и работу общих ресурсов по промежуточным отметкам.

При пересчёте начатую операцию выделите в отдельную группу, чтобы учитывать только остаток работы. Начатый подбор: количество в B, оставшиеся минуты подбора в D, полная упаковка в E. Начатая упаковка: B = 0, количество в C, D = 0, оставшиеся минуты упаковки в E. Удалите те же отправления из исходной полной группы. Например, начатый подбор одного отправления с остатком 0,5 чел.-мин и полной упаковкой 3 чел.-мин добавляет 0,5 к подбору и 3 к упаковке; другое отправление на упаковке с остатком 1,5 добавляет только 1,5 к упаковке. Измеряйте остаток на момент пересчёта; уже выполненную работу не начисляйте снова.

Ресурс пересчитывайте на тот же момент: в C12/C13 поставьте время контрольной отметки или более позднее начало работы участка. В E12:F13 оставьте только предстоящие паузы, в C16/D16 — ещё не выполненные повторы. Иначе остаток заказов ошибочно получит доступ к уже прошедшим часам смены.

## Формулы и единицы

Для участка с одинаковым графиком работников:

`Доступно, чел.-мин = людей × (конец − начало в минутах − перерывы на человека − прочие паузы на человека)`.

При разных графиках сначала посчитайте продуктивные минуты каждого работника/группы и сложите их. Не подставляйте среднее число работников за смену в короткое пиковое окно. Текущий XLSX не моделирует несколько групп графиков на одном участке.

`Подбор = сумма(ещё не подобрано × время подбора группы) + отдельные повторы подбора`.

`Упаковка = сумма((ещё не подобрано + уже подобрано) × время упаковки группы) + отдельные повторы упаковки`.

`Нехватка = максимум(требуется − доступно; 0)`.

`Загрузка = требуется / доступно`. При нулевой мощности и положительной работе выводится «Нет мощности». Незаданные обязательные входы не превращаются в нулевую нагрузку.

`Внутренний конец упаковки = сдача площадке − время после упаковки`.

`Условный конец последнего комплекта = максимум(конец подбора + перенос; начало упаковки) + ожидание + упаковка последнего комплекта`.

`Запас = минимум(внутренний конец упаковки; конец работы упаковщиков) − условный конец последнего комплекта`.

Проверка календаря требует, чтобы конец работы упаковщиков не выходил за внутренний срок и последний комплект помещался в их окно. В расчёте используется конец выделенного окна подбора. Если плановая готовность последнего комплекта раньше, уточните окно и перепроверьте доступные минуты. Дополнительное ожидание, возникшее позже, уменьшит запас.

При параллельной упаковке последний пришедший комплект не обязательно завершится последним: другой стол может дольше обрабатывать сложное отправление. Проверяйте оставшиеся группы; выбранный комплект должен представлять завершающую работу. Календарный блок не моделирует очередность на каждом столе. Сравнение дат округляет разность до шести знаков в минутах, чтобы двоичное представление Excel не создавало ложное опоздание при совпадающем времени.

## Учебный пример

На подборе два работника с 09:00 до 12:30; у каждого 15 минут перерыва и 5 минут прочих пауз. Доступно `2 × (210 − 15 − 5) = 380` человеко-минут.

На упаковке два работника с 09:10 до 13:00 с теми же паузами. Доступно `2 × (230 − 15 − 5) = 420` человеко-минут.

Обычная группа: 120 ещё не подобрано, 15 уже подобрано, 2 минуты подбора и 3 минуты упаковки. Сложная группа: 30 / 5 / 4 / 6 соответственно. Отдельные повторы: 20 минут подбора и 25 минут упаковки.

Подбор требует `120 × 2 + 30 × 4 + 20 = 380` человеко-минут. Упаковка требует `(120 + 15) × 3 + (30 + 5) × 6 + 25 = 640`. Её дефицит — **220 человеко-минут**, загрузка — **152,4%**. Третий упаковщик с таким же графиком добавит 210 минут: останется дефицит 10 минут до других проверок.

Срок сдачи — 14:00 МСК, после упаковки нужно 60 минут, значит закончить надо к 13:00. Условный последний комплект: 12:30 + 5 минут переноса + 15 минут ожидания + 6 минут упаковки = 12:56. Формальный запас 4 минуты **не устраняет дефицит 220 человеко-минут**. Это намеренный пример, показывающий необходимость обеих проверок.

## Журнал очереди

В одной строке фиксируйте движение между двумя последовательными контрольными отметками:

Остаток каждого участка включает ожидающие и уже начатые отправления. Из него вычитается завершённая операция либо явно записанный вывод в исключения, но не начало работы. В заголовках CSV это «Подбор не завершён» и «Упаковка не завершена».

`Не подобрано на конец = не подобрано на начало + добавлено к подбору − выведено из подбора в исключения − подобрано`.

`Очередь упаковки на конец = очередь на начало + подобрано + вернулось из исключений прямо на упаковку − выведено из упаковки в исключения − упаковано`.

В учебной отметке к 11:00: `150 + 0 − 0 − 90 = 60` не завершили подбор; `20 + 90 + 0 − 0 − 65 = 45` не завершили упаковку. Всего 60 + 45 + 65 = 170 отправлений, исключений нет. Это иллюстрация баланса, а не замер фактической смены и не автоматический прогноз XLSX.

Возврат из исключений в подбор включайте в «Добавлено к подбору», возврат готового комплекта — в отдельную колонку для упаковки. Число исключений на конец сверяйте по самостоятельному реестру. Перенос в исключения не закрывает обязательства по заказу.

## Ограничения

Модель не рассчитывает оптимальную последовательность заказов, ограничения общего принтера/сканера, совместимость рабочих мест, обучение нового сотрудника, маршрут курьера или вероятность просрочки. Среднее время группы не гарантирует длительность каждого отправления. Если общий ресурс ограничивает выпуск, посчитайте его отдельным участком. Пять строк групп в XLSX — ограничение этого шаблона, а не склада или продукта.

Проверены расчёты и изменение входов в Artifact Tool, экспорт XLSX и отображение обоих листов. Работа в настольном Excel/LibreOffice в этой проверке не запускалась.
