Антон Кот – Хроники Здорового костыля (страница 2)
В трубке запищали гудки. Жанна Аркадьевна в это время в другое ухо дошла до обсуждения цвета рамочек в интерфейсе.
09:00.
Прошло всего двадцать минут рабочего дня. Антон посмотрел на кактус, стоящий на подоконнике. Ему показалось, что кактус сочувственно кивнул.
– Так, – Антон встал, взял пустую кружку и посмотрел на Элеонору Витальевну. – Либо вы сейчас все выходите отсюда на пять минут, либо я прямо сейчас пишу обработку, которая удалит все остатки из базы к чертовой матери.
В кабинете на секунду воцарилась тишина.
– И шрифт сделаю Comic Sans, – добавил он, глядя в сторону телефона, где все еще вещала Жанна Аркадьевна.
Глава 2. Сила есть – SQL не нужен
10:15.
Антон только успел выпить глоток обжигающего кофе, когда дверь снова содрогнулась. На этот раз её не вынесли – её открыли с ноги, потому что руки вошедшего были заняты коробками с какими-то платами.
– Антон, знакомься! Это Сеня, наш новый гений коммуникаций и патч-кордов! – провозгласила Элеонора Витальевна, сияя так, будто она лично нашла Атлантиду. – Он такой деятельный, такой активный! Сказал, что наш серверный парк – это «позорное кладбище электроники» и он всё исправит за час!
Сеня, парень с пучком на голове и в футболке с надписью «Error 404: Sleep not found», не глядя на Антона, уже начал выгружать содержимое своих коробок прямо на стол, погребая под ними заявление Анечки.
– Привет, шеф! – бросил Сеня, бешено вращая глазами. – Я тут глянул логи… Ну, как глянул, я их пролистал на скорости x10. У вас там всё тормозит, потому что железо помнит еще инаугурацию Ельцина. Короче, я в деле!
Антон потер переносицу. В голове пульсировала фраза Жанны Аркадьевны про шрифт, но реальность требовала действий.
– Так, деятельный ты наш. У нас на 8-й аптеке, той что на окраине, беда. SQL-сервер глючит. База «отвалилась», кассы стоят, провизоры бьются в истерике. Посмотри удаленно, что там. Скорее всего, служба просто «легла» после скачка напряжения. Просто. Перезапусти. Службу. Понял?
– База? SQL? Понял, шеф! Всё сделаю в лучшем виде, я на курсах «Админ за 24 часа» был лучшим по скоростному кликанью! – Сеня уже вовсю стучал по клавишам, а его мышка летала по коврику со свистом.
Антон отвернулся к своему монитору, пытаясь разгрести завалы в ЗУПе, которые оставила Анечка. Тишину прерывал только подозрительно бодрый шепот Сени: «Так, это что… это нам не надо… о, инсталлятор… о, а давай-ка мы вот так…».
Прошло ровно семь минут.
В кабинет, подобно фурии, ворвался Игорь, менеджер по закупкам. Лицо его было цвета спелой свеклы.
– АНТОН! ТЫ ЧТО ТАМ ТВОРИШЬ?! – заорал он так, что кактус на окне втянул колючки. – Восьмая аптека! Мне звонит директор, говорит, у них со столов всё исчезло! Вообще всё, а монитор написал: «Uninstalling Microsoft SQL Server…».
Антон медленно, очень медленно повернул голову к Сене.
– Сеня… – голос Антона был тихим, как шелест травы на кладбище. – Ты что делаешь?
– А? – Сеня даже не обернулся, он лихорадочно жал «Next» в каком-то окне. – Да там что-то служба не запускалась, писала «Ошибка доступа». Я решил, что конфиг битый. Ну, я и подумал: чего время тратить на ковыряние в мусоре? Проще же снести всё под корень и заново поставить чистенькую! Я вот уже почти удалил… Ой.
– Что «ой»? – Антон уже стоял у него за спиной.
– А там… там база данных была в той же папке, куда я софт ставил? – Сеня наконец-то посмотрел на Антона. В его глазах не было раскаяния, только легкое любопытство исследователя. – Просто оно спросило: «Удалить все связанные данные?», и я нажал «Да», чтобы быстрее было. А что, бэкапов нет?
В этот момент в коридоре послышался топот тяжелых сапог Элеоноры Витальевны. Она явно уже знала, что аптека на окраине превратилась в музей неработающей техники.
– Сеня, – прошептал Антон, глядя на пустой список баз данных. – У тебя есть ровно десять секунд, чтобы спрятаться в вентиляции. Потому что сейчас придет Элеонора, и она будет использовать твой патч-корд не по назначению.
– Но я же хотел, как лучше! – воскликнул Сеня, – Чистая установка – это же залог стабильности!
Антон сел на пол прямо рядом с системным блоком. Ему вдруг очень захотелось стать фармацевтом. Продавать гематоген, советовать пластырь и никогда, никогда в жизни не знать, что такое «Drop Database».
Глава 3. Великое очищение
10:30.
В кабинете пахло озоном, дешевым освежителем «Горный воздух» из коридора и надвигающимся увольнением. Пока Элеонора Витальевна за дверью объясняла Сене, почему его «активность» сравнима с падением метеорита, в дверях материализовалась тетя Люся.
Она выглядела подозрительно спокойной. Обычно это означало, что она либо выпила ведро валерьянки, либо сотворила что-то, что невозможно исправить в этой реальности.
– Антоша, – ласково начала она, поправляя очки на цепочке. – Я тут решила в центральной базе порядок навести. А то ты всё занят, всё бегаешь… А у меня там строчек много лишних было, с какими-то крестиками.
Антон, который в этот момент судорожно пытался нащупать бэкап 8-й аптеки, медленно замер. Его пальцы зависли над клавиатурой.
– Тетя Люся… – голос Антона сорвался на шепот. – Какие строчки? Какие крестики?
– Ну, те, что «помеченные на удаление». Я зашла в меню, нажала «Удалить», а оно мне пишет: «Обнаружены связи, удаление невозможно». Ну я же не глупая, я галочку поставила «Удалять без контроля ссылочной целостности». И оно так быстро-быстро побежало! За три года всё почистило. Теперь база такая легкая, летает!
Антон почувствовал, как мир вокруг начинает пикселизироваться и распадаться на нули и единицы.
«Удалять без контроля ссылочной целостности» в 1С – это как выдернуть фундамент из-под сорокаэтажного дома и надеяться, что он продолжит висеть в воздухе на честном слове.
– Тетя Люся, – Антон повернул к ней монитор, на котором красовался пустой список документов реализации за 2021-2023 годы. – Вы понимаете, что вы сейчас стерли историю компании? У нас теперь по документам нет ни закупок, ни продаж, ни прибыли. Мы теперь – благотворительный фонд «Чистый лист».
– Ой, да ладно тебе, – отмахнулась она. – У меня всё в Excel записано! Я сейчас принесу флешку.
В этот момент ожил селектор. Голос Элеоноры Витальевны, усиленный яростью и динамиками, разнесся по всему офису:
– АНТОН! Жанна Аркадьевна звонит на вторую линию! Она говорит, что раз базы всё равно нет, она подготовила список из пятисот улучшений, которые мы ДОЛЖНЫ внести в новую базу, пока ты её заново установишь! Она начнет диктовать через три… две… одну…
Глава 4. Миллионы из ниоткуда
11:00.
Дверь в кабинет распахнулась как врата рая, на пороге стояла Элеонора Витальевна. Её лицо выражало гамму чувств: от священного ужаса до экстаза человека, выигравшего в лотерею, в которую он даже не играл.
– Антон! Бросай всё! – взвизгнула она, размахивая планшетом. – Свершилось! Банк «Стабильность» проснулся!
– Что, транзакции прошли? – Антон выключил фен. В ушах всё еще стоял гул, а в левом наушнике Жанна Аркадьевна как раз переходила к критике цветовой схемы «Такси» в 1С.
– «Прошли»?! Да они там, видимо, коллективно сошли с ума! Помнишь ту бабушку, у которой зависли сорок тысяч за курс таблеток? Так вот, Виталий из техподдержки, видимо, нажал кнопку «Повторить» сорок восемь раз! И не только ей!
Антон медленно поднялся с колен.
– Элеонора Витальевна, вы хотите сказать…
– Я хочу сказать, что на расчетный счет нашей аптечной сети только что упало пять миллионов триста тысяч рублей! – она перешла на торжественный шепот. – И это только за последние десять минут! Деньги сыплются, как из рога изобилия!
В коридоре послышался топот. Это бежала тетя Люся, размахивая распечаткой банковской выписки.
– Элеонора! Антон! У нас в выписке какой-то сюрреализм! Платежи дублируются каждые тридцать секунд! У меня 1С: Бухгалтерия захлебнулась, она не понимает, куда столько авансов вешать! У нас по отчетам теперь каждая вторая бабушка в районе – оптовый закупщик элитных шприцов и мази Вишневского!
– Это же прекрасно! – Элеонора Витальевна уже явно видела себя на обложке Forbes «Аптечный магнат года». – Антон, не смей ничего исправлять! Скажи Виталию, что мы согласны на такие «ошибки».
– Элеонора Витальевна, – Антон почувствовал, как седеет еще один волосок у него на виске. – Вы понимаете, что это глюк шлюза? Как только они заметят, они отзовут платежи. А если мы их потратим – это 159-я статья, мошенничество в особо крупном. И крайним буду я, потому что «программист не настроил фильтр дублей».
– Ой, зануда! – отмахнулась директриса. – Ты лучше скажи, почему у меня в телефоне баланс растет, а на 8-й аптеке до сих пор всё лежит?
Антон посмотрел на Сеню, который в углу пытался понять, почему после его «чистки» SQL-сервера монитор в аптеке показывает только мультики про Свинку Пеппу.
В этот момент зазвонил телефон. На экране – Виталий из банка.
– Антон? – голос Виталия был подозрительно бодрым, на заднем фоне слышались крики и звук разбивающейся посуды. – Слушай, тут такое дело… У нас скрипт зациклился. Мы вам там случайно немного лишнего отправили. Ты это… не мог бы ты в своей 1С нажать «Отмена всех транзакций за утро»? А то у нас тут председатель правления уже за валидолом потянулся.
Антон усмехнулся.
– Виталий, дорогой. На нашей стороне потерь нет. Проблема в вашем ПО. Пришлите лог-файл в формате .xml за последние три года, мы рассмотрим его в течение месяца…