Работаю «жёлтым» программистом. Не так давно вышла последняя версия этого продукта с кучей всяких полезностей и вкусностей: например, стало возможно работать в тонких клиентах с минимальной передачей информации по сети, также появился веб-интерфейс.
Звонит нам встревоженный админ клиента и просит срочно приехать. Мой коллега выезжает, возвращается через некоторое время с таинственной улыбкой на лице. Эти самые клиенты недавно обзавелись самой последней версией продукта, дабы вкусить все прелести и возможности. Кроме тонкого клиента, конечно, можно работать и на привычном толстом, тем более что переход со старой версии — дело постепенное.
Тётечка-бухгалтер (быть может, и главный) не только порадовалась обновлённому виду, но, будучи человеком любопытным, полезла в меню. Админ звонил потому, что его собрались срочно увольнять за издевательства над сотрудниками. В разделе «О программе» красовалось:
Пропалываю работные сайты родного города. Обнаруживаю достаточно много вакансий с требованием знания языка C. Именно Си, а не «плюсов» и «шарпа». Вокруг требования сплошь и рядом какие-то эникейные задачи стоят, да и цена вопроса копеечная.
Стало мне странно — позвонил в несколько контор. Оказывается, многие считают, что язык C — это тот суржик, на котором пишутся скрипты к 1С.
Устанавливал 1С 7.7 под «семёрку». Сочетание не самое логичное, но так уж понадобилось. Установка шла привычно: запрашивала дискеты, но на третьей вываливалась с ошибкой: «При копировании файлов произошла ошибка. Установка прекращена. Код ошибки: FS_LAUNCHPROCESS». Замечательное описание! Сразу стало понятно, что «семёрка» против «семёрки», и пользоваться нужно более современными средствами. Вспомнилось заодно, что уже не первый раз так у меня. В отчаянии был открыт Гугл и сразу найден издевательский совет:
Поза 1. Запустите программу установки. Поза 2. Индикатор полосы прогресса застынет на «том самом месте». Поза 3. Ударьте в бубен. Щёлкните по значку подключения в области уведомлений. Поза 4. Зайдите в «Центр управления сетями и общим доступом». Поза 5. Ударьте в бубен. На картинке, изображающей вашу сеть, щёлкните по иконке своего компьютера. Поза 6. Переключитесь в окошко установки и с возрастающим недоверием наблюдайте, как заполняется полоса прогресса. Поза 6.5. Если 4-й пируэт не увенчался успехом, снова бейте в бубен. Вместо того, чтобы щёлкать по «Этому компьютеру», щёлкайте по изображению вашей сети или по «Интернету», если вы к нему подключены. Поза 7. Bingo!
Остаток танца: если ещё не «бинго», и ваш партнёр снова застыл во второй позе, продолжайте исполнять фигуры 5 или 6.5 соответственно, пока он не поймёт, что к чему.
Финальный пируэт: если всё равно не «бинго», и пока вы вытанцовываете фигуры с 3 по 6.5, партнёр стоит столбом, используйте папуасский тамтам: вырубите сеть на хрен, потом, разумеется, врубите.
Хватило первых шести поз, даже бубен не потребовался. Очевидно, я прирождённый шаман.
Сижу у себя в кабинете, попиваю кофе, играю с завскладом в кривой бильярд по сетке. После второй партии замечаю бухгалтершу, курсирующую возле серверов, — выделенной серверной у нас нет, поэтому всё оборудование стоит в углу коридора. Пока раскидывали ещё одну партию, бухгалтерша метнулась к сервакам раз десять. Тут-то моя интуитивная пятая точка почуяла неладное. Дай, думаю, посмотрю, что там творится. Выхожу из кабинета и наблюдаю картину: бухгалтерша подходит к 1С-серверу и с умным таким видом его перезагружает. Я подавился кофе.
Я: Ты что делаешь? Бухгалтер: У нас 1С не работает.
Залетаю в бухгалтерию.
Я: Это вот что такое вот это вот она делает? Главбух: У нас не работает 1С... Я: Это я слышал. Главбух: Ну, админ который был до тебя, всегда говорил, что компьютер нужно перезагрузить, и всё заработает. И всё всегда работало! Я: Леночка, миленькая, тебе Боженька зачем рот на голове сделал? Ты не могла меня позвать? Главбух: Я знаю, что перезагрузка всегда помогает, вот и сейчас сервер сам всё исправит. Я: Так, Леночка, пойди-ка ты... конфетку скушай и воздухом подыши, а я пока посмотрю, что к чему. Главбух: Нет, я главбух, у меня отчётность, у меня нет времени на то, чтобы ты сейчас начал ковыряться в 1С.
В кабинет входит уволенный админ.
Экс-админ: Что за шум? Леночка, подпиши обходной. Я: Дима, а ты всё ресетом лечишь? Экс-админ: Ну, в основном. (По-идиотски улыбается.) Главбух: Дима, посмотри, что такое: у нас 1С не работает, мы уже сервер сто раз перезагрузили. Экс-админ: Ну-ка, дай гляну. Хм... «Файл базы данных повреждён». Ну что, бухи, запороли базу, теперь бэкап разворачивать! Главбух: Ничего мы не запарывали, она сама. Экс-админ: Ну, сейчас поглядим, тут вот родная программка есть, она сейчас сама базы проверит. Так, теперь вот так, сюда укажем путь и вот тут галку поставим, вот теперь она сама исправит. Опа: «Неожиданное прерывание файла, файл базы данных повреждён». Ну всё, бухи, доигрались, теперь спецов вызывать придётся! Я: Дима, возьми Леночку, пускай она тебе пока обходной подпишет. Дайте я посмотрю.
С неимоверно недовольным видом Леночка уступает мне место.
Я: Так. Ты у нас по RDP сидишь... «Неожиданный конец», говоришь? Всё понятно: у вас на жёстком всего 13 МБ свободного места осталось, деятели хреновы.
После манипуляций с очисткой диска и освобождением 7 ГБ путём архивации шести копий баз всё заработало.
Уважаемые главбухи! Пожалуйста, прислушивайтесь к тому, что говорят вам админы. Уважаемые эникейщики! Если для Вас ресет — решение всех проблем, а сообщение «physical memory error» ни о чём не говорит, то пожалуйста, прежде чем что либо делать, почитайте инструкцию.
Работаю в небольшой строительной фирме. Сегодня пришла к нам красивая девушка из банка программу ставить. Сидели они с бухом часа два, потом решили меня позвать. Смотрю: комп висит. Перезагрузил кое-как, машина завелась. Начал спрашивать, что делали — естественно, ничего от них не добился. Восстановил почти убитую базу 1С, поставил программу для банка и, чертыхаясь, ушёл.
Решил потом узнать, сколько мы за вызов заплатили — оказалось, немногим меньше моего месячного оклада. Руководители банка, может, меня на эту работу возьмёте?
Работаю в одной из компаний-франчайзи 1С. С утра раздаётся звонок от одного из клиентов — магазина, занимающегося оптовой торговлей. На проводе новый менеджер, который, видимо, только что устроился работать. Подношу трубку к уху:
— Алло, здрав...
Не успеваю договорить, как на меня тут же обрушивается поток сознания.
— Алло, здравствуйте, у меня тут проблема: не могу понять, как мне формировать правильно скидки и наценки. Справочник «Типы наценок» я уже нашла, но не могу понять, как его использовать, потому что когда мне нужно сделать просто скидку в 5%, например, то я не могу, потому что нужны какие-то специальные условия для расчёта, а как мне просто наценку сделать? А, без условий, всё, поняла. Спасибо большое! — и вешает трубку.
Пожалуйста! Звоните ещё: рад буду послушать, как вы рассуждаете.
Давным-давно, когда компьютеры были слабенькими, а жёлто-красная программа была в нечётной версии, в одной организации государственного толка жила-была бухгалтер с 25-летним стажем. Грянула модернизация, и освоила главный бухгалтер и пресловутую программу, и расчёты в Экселе. С жёлто-красной программой появился приходящий мальчик, программист и сисадмин в одном флаконе.
Рассчитала первый раз в программе главбух зарплату, и поплохело ей — копейки не хватает. Проверила программу в Экселе — точно не хватает копейки. «А ну-ка подать сюда программиста-специалиста!» Явился специалист на зов по телефону. Правильно, говорит, считает жёлто-красная программа. Обиделась главный бухгалтер, показала расчёты в Экселе. Не верит программист-специалист Экселю.
Достала главбух счёты деревянные из-под стола и в пять минут проверила ведомость зарплатную из пятидесяти строк с коэффициентами на счётах — не хватает копейки в хвалёной программе. Пристыдился программист-специалист и пошёл ман читать, как правильно числа округлять. А главбух до самой пенсии счёты из-под стола не убирала.
Получил техзадание по «жёлтенькой восьмёрочке». Вкратце: надо перебрать всю базу по некоторым условиям, выгрузить это всё в таблички определённого формата и перекинуть на FTP. Есть там один элемент, ссылка на который берётся из константы. В общем, после пятнадцатого запроса с кучей соединений дохожу до места, где используется этот элемент, пишу запрос к нужному справочнику с условием: элемент, который запрос должен получить из справочника, равняется элементу из константы. Отлично — работает.
На следующий день открываю код и вижу это. Восемь строк кода, не считая самого запроса, заменяются банальным «НужныйЭлемент = ЭлементИзКонстанты». Нефиг забивать гвозди микроскопом!
В недалёком прошлом я написал для одной фирмы с раскиданными точками довольно удобную программу учёта кассы, склада и прочего с веб-интерфейсом — так было удобно заказчику. Сам проект был весьма интересен мне самому и в конце концов выродился в унифицированный комплекс с шаблонами интерфейса и операций над базами. Было прикручено много фич и глюков, позже превратившихся в новые фичи. Настраивать под нужды бухов это великолепие было легко, но только мне: заковыристый псевдоязык парсера с первого тычка было освоить довольно сложно, так как он сплошь состоял из сокращений для простоты написания.
Недавно ковырял «жёлтый глюк» и с ужасом пришел к выводу, что творение моих рук от этого ушло недалеко. Припомнил и случай, когда мне довелось услышать пятиэтажный мат одного из местных админов.