Раз в неделю мы с заботой отбираем самые полезные новости для пользователя 1С!
Служба заботы ООО "Инженер-Центр" :)
Волжский
Не нервничаем, а пытаемся шутить
Есть такая тема, которая постоянно нервирует пользователей. Это тема исправления ошибок, которые иногда встречаются в программах. У специалистов, которые работают с пользователем, даже шутка такая есть: «Вышел новый релиз программы, в нем исправлены старые ошибки и добавлены новые!»
Но, как говорится, в каждой шутке есть доля шутки. Поэтому попробуем разобраться с этим вопросом.
Проблема сложности
Программы 1С это большие сложные программные комплексы. Это миллионы (!) строк кода. И где-то в одной из этих миллионов строк может затаиться ошибка. Почему же она там таиться? Почему её не поймают и не исправят. Ответ прост. Обычно на это банально не хватает времени.
Простой пример. Очередное ведомство за неделю до начала сдачи своей отчетности публикует проект (только проект!) подготовки этой отчетности. Проект ещё даже не утверждён, он ещё может измениться, но ведомства на местах уже требуют отчетность по новой форме. Фирма 1С в темпе, за три дня готовит новую отчетность. Времени на проверку банально нет. Увеличение числа сотрудников при подготовке новой отчетности проблемы не решает.
Кто думает иначе – может решить школьную задачу – 10 каменщиков строят дом за месяц, сколько надо каменщиков, чтобы построить этот дом за день? За час? За секунду? Арифметическое решение у этой задачи есть. Реального решения нет. Даже если 300 каменщиков не отдавят друг другу ноги за день, то стены элементарно не наберут за день прочности и не выдержат своего веса и веса перекрытий. Про час и секунду говорить вообще бессмысленно. На всё нужно больше времени.
Не могут счастливы быть все…
Поэтому отчетность выходит за три дня в состоянии «как есть». Может быть даже с ошибками. Данные у всех пользователей разные. На подавляющем числе данных отчетность работает. Потому что она и тестировалась на таких данных, которые есть почти у всех. Но у 5% пользователей есть какие-то свои особенности. И эти особенности – они разные. Учесть их все за три дня не получается. Поэтому начинают лезть ошибки.
Мы начинаем писать письма в 1С. Специалисты 1С начинают регистрировать эти ошибки. Парадокс в том, что такие ошибки это даже не ошибки в смысле допущенного брака. Просто программа не обрабатывает те ситуации, которые возникают у пользователей. Чтобы учесть эти ситуации, а их может быть и 5, и 10, и 100 – надо добавить новые куски кода, которые будут каждую из этих ситуаций отрабатывать. Опять нужно время.
И нужно решить – как часто такая «ошибочная» ситуация возникает. Например, со всей страны пришло 100 замечаний по 20 похожим ситуациям. Если замечания по одной ситуации написали 30 партнеров фирмы 1С, а по другой только двое, то приходится исправлять в первую очередь ту, по которой было 20 замечаний. Она встречается чаще – она важнее. Остальные – на потом. Это упрощённо. Может быть и наоборот, если выявили очень серьезную ситуацию.
И начинают выходить новые релизы. И их опять надо скорее-скорее поставить пользователям. И у пользователя опять возникает законный вопрос – почему я должен опять платить за приезд специалиста, если он уже приезжал ко мне один раз, поставил отчетность, а она не работает. Ну что тут ответить? Только одно – наш мир не идеален!
Когда не будет ошибок?
Ответ на вопрос – когда эта отчетность выйдет без ошибок, очень простой. После окончания периода отчетности. Когда будут собраны почти (почти!) все замечания от пользователей за весь период отчетности и когда они все будут обработаны. Если бы отчетность не менялась, скажем, несколько лет, то этого времени хватило бы на обработку практически всех ситуаций с любыми данными пользователя. И всё было бы нормально. Наступило бы счастье.
Но у нас два-три раза в год что-то резко меняется. Причем так, что никто не понимает – как эти изменения должны работать. И опять в авральном режиме срочно делаются исправления, и опять начинается срочный сбор ошибок (точнее особенностей работы конкретных пользователей) по стране и их исправления (точнее добавление обработок этих ситуаций).
Поэтому. Можно подождать до конца отчетности и тогда использовать её. Тогда уже она почти (опять не до конца!) точно будет без ошибок. Или сразу поставить эту отчетность и возможно на ваших данных она сразу и заработает. Если у вас нет каких-то особенностей в учете. Просто, может быть, вы не столкнетесь с теми ситуациями, которые свежая отчетность не может правильно обработать. И всё у вас будет хорошо. Русская рулетка.
Поэтому выхода два. Один – сидеть и ждать когда наступит полностью светлое будущее. Второй – взять то, что уже работает и решать прямо сейчас проблемы нашего сумрачного настоящего.
А ответ на вопрос – когда не будет ошибок – он ровно один. Ошибки – будут всегда! Даже при коммунизме или при том строе, который там нас ждёт впереди после сегодняшнего капитализма.
Поэтому наша общая задача – устранить крупные ошибки и научиться работать, учитывая возможность мелких ошибок.
Совсем всё не предусмотришь!
То, что мы рассказали на примере отчетности, может быть и не только с отчетностью. Любое программирование – это моделирование нашей действительности, нашей работы. Все тонкости жизни и реальной работы не сведешь к одной даже сложной программе.
Поэтому когда программа не работает, так как хотелось бы – следует понять – почему? Это ошибка реализации уже обговоренного и прописанного алгоритма (модели)? Или это появилась новая рабочая ситуация, которая в алгоритм не была заложена. И теперь придется расширять алгоритм и расширять саму программу. Это как если бы мы ехали на автомобиле и вдруг – бац! Заехали в пустыню. Надо ставить на машину кондиционер и какие-нибудь фильтры от песка. Едем дальше и заезжаем в зиму. Надо менять охлаждающую жидкость и ставить зимние колеса.
С автомобилем понятно. А с программой иногда всего не предусмотришь. Основные случаи отрабатываются сразу, а потом (иногда годами) всплывают различные ситуации, которые и встречаются раз в год. И опять встает дилемма. Или решаем их тем, что есть или пишем под них новый программный код.
А всё-таки – кто заплатит?
За полученный опыт – платят все. Фирма 1С собирает через нас вопросы пользователей и решает их в своих программах. Мы собираем вопросы, ищем решения, если не находим, то пишем в 1С. Пользователи, сталкиваясь с новой ситуацией – теребят нас и или ждут нового решения от 1С или платят нам за это срочное решение.
Но в конечном итоге – платит пользователь. Мы же можем только предложить пути минимизации этой платы.
Как заплатить меньше?
Если у Вас стандартная конфигурация без доработок и изменений. Тогда при наличии подписки на Информационно-Технологическое Сопровождение (ИТС) получать и обновлять отчетность и саму конфигурацию Вы можете сами. Этому легко могут научить Вас наши специалисты. А новые релизы конфигураций и отчетности можете сами скачивать через Интернет – сразу же в день их выпуска фирмой 1С.
Если у Вас немного измененная конфигурация, есть доработки и изменения. Подписка на ИТС само собой обязательна. Но изменения мы можем ставить Вам удаленно. Без выезда на место нашего специалиста. Наш программист соединится с Вашим компьютером по Интернету и, не сходя со своего рабочего места, установит необходимые изменения. Если таких изменений потребуется несколько за отчетный период, то Вы сэкономите на повторных выездах специалиста, а заплатите только за чистое время работы.
Если у Вас сильно измененная конфигурация. Придется выезжать и согласовывать и проверять изменения у Вас на месте. Тут уже на таких мелочах как выезд экономить не стоит.
Общий вывод
Ошибки были, есть и будут. Надо общими усилиями сводить их к минимуму, который не мешает нормальной работе. Поэтому их надо замечать и сообщать о них нам. Постоянно! Мы будем их исправлять, или сообщать о них в 1С, или находить способы их обхода. Только так их можно держать под контролем.
Над ошибками надо работать вместе!