В девять утра в магазине «У дома» исчезли все цены.
Не сами цифры — бумажные ценники остались на полках. Но на каждом вместо суммы было напечатано одно и то же:
0,00
— Берём всё, — сказал Даня.
— И расплачиваемся твоими нулевыми рублями, — ответила Оля.
Они пришли за молоком и хлебом для бабушки, но возле касс уже собралась очередь. Кассир сканировала товары, и на экране появлялись обычные цены. Значит, кассовая система работала. Сломались только электронные весы и принтер, который ночью печатал новые ценники.
У стойки стояла заведующая Марина Алексеевна и говорила по телефону:
— Нет, кассы не останавливаем. Да, старый список есть. Нет, вручную восемьсот позиций за час мы не перепишем.
Оля посмотрела на тележку работницы. В ней лежали рулоны свежих ценников — все с нулями.
— А почему нельзя напечатать ещё раз? — спросила она.
— Можно, если понять, почему принтер получил нули, — ответила заведующая. — В программе цены правильные.
Даня уже разглядывал этикетку на батоне.
— Здесь есть код из полосок. По нему касса узнаёт товар. А принтер тоже по нему узнаёт?
— Принтер получает таблицу: код, название, цена, дата.
Оля заметила возле компьютера флешку с наклейкой «ЦЕННИКИ НОЧЬ».
— Таблица на флешке?
— Нет, это резервная копия. Ночью файл приходит с центрального сервера.
Марина Алексеевна разрешила детям смотреть, но предупредила:
— Ничего не нажимать без меня.
На экране была таблица. В колонке «Цена» стояли нормальные числа: 89,90; 74,50; 112,00. Рядом находилась колонка «Скидка», и там почти везде были нули.
— Может, принтер взял не ту колонку? — предложила Оля.
— Вчера печатал правильно, — сказала заведующая.
Даня открыл один из ночных файлов только для просмотра. Заголовки колонок шли так: код, название, скидка, цена. В старом резервном файле порядок был другим: код, название, цена, скидка.
— Он не понимает слова, — сказал Даня. — Берёт третий столбец.
— Если так, то вместо цены печатает скидку, — закончила Оля. — А она нулевая.
Марина Алексеевна позвонила специалисту. Тот подтвердил: после обновления выгрузки колонки поменялись местами, а старая программа печати читала их по номеру.
— Исправление пришлют через два часа, — сказала заведующая. — А покупатели уже здесь.
Оля предложила использовать резервный файл со вчерашними ценами. Но часть товаров с утра подорожала, а на некоторые началась акция.
— Тогда старые ценники будут врать, — сказала она сама.
Даня стал ходить вдоль полок и заметил маленькие терминалы проверки цены. Покупатель подносил товар, терминал считывал штрихкод и показывал сумму.
— Их четыре. Можно поставить указатели и помогать людям проверять товары.
— И распечатать крупные объявления, — добавила Оля. — Что цена на кассе правильная, а нули на полках — ошибка.
Марина Алексеевна распределила работу. Один сотрудник поставил возле входа объявление. Другой перенёс терминал ближе к молочному отделу. Даня нарисовал стрелки на листах: «Проверить цену →». Оля встала возле овощных весов, где проблема была сложнее: весы тоже печатали нулевую стоимость, хотя массу определяли верно.
— Яблоки весят восемьсот граммов, — сказала покупательница. — Но сколько платить?
Оля выбрала на экране яблоки и показала код товара. На кассе их можно было взвесить повторно. Покупательница вздохнула, но согласилась.
Через полчаса магазин стал похож на соревнование по ориентированию. Люди ходили от полок к терминалам, сверяли коды и иногда возвращали товар не туда. Даня поймал банку горошка среди шампуней и торжественно вернул её в бакалею.
— Она пыталась начать новую жизнь, — сказал он.
— Без цены ей всё равно пришлось вернуться, — ответила Оля.
К одиннадцати специалист прислал исправленный шаблон. Марина Алексеевна сначала напечатала один пробный ценник.
«Молоко 3,2% — 89,90».
Потом второй — со скидкой. Потом сравнила обе суммы с кассой.
— Теперь запускаем весь список.
Принтер загудел и начал выплёвывать длинную белую ленту. Сотрудники разнесли ценники по отделам. Оля проверяла, чтобы код на бумаге совпадал с кодом на упаковке. Даня следил, чтобы акционные ценники не попали к обычным товарам.
Когда они наконец подошли к кассе с хлебом и молоком, кассир спросила:
— Вам скидка за работу полагается?
— Если только нулевая, — сказал Даня.
Марина Алексеевна положила им в пакет два яблока и провела их через кассу как служебное угощение.
На выходе Оля оглянулась. Последний ценник с нулями снимали с полки кошачьего корма.
— Представляешь, если бы программа перепутала не цену и скидку, а название и код?
— Тогда пришлось бы объяснять покупателям, почему молоко называется четыреста шестьдесят семь миллиардов, — сказал Даня.
Бабушка встретила их вопросом:
— Почему за хлебом ходили два часа?
Оля поставила пакет на стол.
— Потому что сегодня в магазине всё стоило ноль рублей, а купить что-нибудь оказалось сложнее обычного.