bash.im ithappens.me zadolba.li
7485

Контрольный клик в голову

11 октября 2011, 10:00

В качестве рабочей программы в небольшой, но очень гордой сети аптек используется ЖП 7.7 с непонятно откуда взявшейся самописной конфигурацией. Конфигурацию допиливал человек, любивший делать всё тяп-ляп и на отцепись, поэтому она кишит ошибками, и расхождения кассы и базы по сумме в конце дня уже никого не удивляют.

Решили беду побороть. Наняли одинэсников, сунули им десяток билетов в Хабаровск и сказали «фас».

В числе прочего переработке был подвергнут интерфейс кассира. Раньше для оплаты банковской картой надо было вводить сумму покупки с минусом — отрицательную сумму программа определяла как безналичную. Это вызывало сбои с непонятными причинами, поэтому такую опцию убрали и поставили кнопку «Нал — Безнал». По умолчанию кнопка стоит в режиме «Нал», после нажатия переключается в «Безнал» на один чек. При пробитии наличного чека программа спрашивает внесённую покупателем сумму, рассчитывая сдачу, а при пробитии безнального ждёт подтверждения, действительно ли юзер хочет пробить чек безналом.

Внутреннее тестирование система с блеском прошла — пустили в бой. Спустя неделю в конце смены звонит кассир: у неё денег в кассе на 200 рублей больше, чем в сменном отчёте, а в отчёте на эту же сумму больше безнала, хотя она по картам ничего сегодня не пробивала. Думаю, что ошиблась — мало ли. Делаю возврат безнала по кассе без чека продажи (довольно серьёзное нарушение) и пробиваю ту же сумму налом.

Проходят несколько дней. Тот же кассир, та же проблема. Напрягаю одинэсников. Ребята три раза перечитывают код и удивлённо разводят руками, убеждая меня, что кассир виноват. Кассир клянётся, что не её косяк.

Следующий день. Кассир уже чуть ли не плачет, а бухгалтерия собирается меня расчленить заживо и съесть без соли. Ещё раз напрягаю одинэсников. Ничего.

В следующую смену прошу тётку попытаться понять, при каких условиях происходит ошибка. Звонит и говорит, что пришла на работу, открыла программу, а она «сама» переключила на безнал. Тётя заметила и переключила обратно на нал.

Звоню одинэсникам. Пытаюсь говорить спокойно. Они предлагают мне открыть код. Своими глазами вижу, что стоит явное присваивание при открытии окна. Смущает, что косяк только у одного кассира. Иду к тётке. Целый день стою и смотрю, как она работает, периодически снимая отчёты. Ничего. Хочется закурить, хотя уже почти год как бросил.

Спас случай. Моргнул на полсекунды свет. Кассы с сервером спасли бесперебойники, а свитч ребутнулся, и народ повышибало из базы. Все испуганными глазами смотрят на меня. Говорю заходить обратно в базу. Кассирша оборачивается ко мне:

— Вот! Смотри! Она опять сама переключилась!

Отгоняю тётку от компа, закрываю 1С, пробую сам. Всё нормально. Снова тётка. Снова ошибка. Как?! Краем глаза замечаю кое-что, пробую сам. Эврика!

При открытии базы окно 1С разворачивалось на весь экран, а вот вложенное окно модуля кассы — нет. Тётка распахивала внутреннее окно на весь экран двумя щелчками по кнопке. Первый действительно разворачивал окно, а второй доставался кнопке «Нал — Безнал».

После инструктажа по основам компьютерной грамотности ошибки прекратились, работа снова стала скучной, а я теперь тестирую обновления не только внутри IT-отдела, но и на тех людях, которым с этим потом работать.