Потом доделаем. Глава 5, в которой много говорят об Ошибках

Иван вернулся на свой стул. Валерия чуть задержалась в дверях, недобро взглянув на Ивана, но все-таки вышла из кабинета.

— Иван, у меня тут проблемка одна… — начал Мансуров. – Касаемо бухгалтерии.

— Да, я слушаю. – с готовностью кивнул головой ИТ-директор.

— Смотри. Валерия мне тут служебную записку написала, с просьбой об увеличении штата. – Мансуров начал рыться в бумажках на столе. – Так, где она… А, вот! Почитай, пожалуйста.

Иван пробежался глазами по служебке. Просили добавить две ставки бухгалтеров, в связи с увеличением количества работы. Странно, подумал Иван. Когда это у них количество работы увеличилось? Так, что тут еще – а, вот. Обороты, говорит, выросли вдвое за два года, следовательно, и объем работы возрос… Тоже вдвое.

— Странная какая-то формулировка… — пробормотал Иван.

— Какая именно?

— Ну, что с увеличением оборота вдвое вырос объем работы, и тоже вдвое.

— А разве не так?

— Не так. Причем тут обороты и бухгалтер? Мне кажется, вас надуть пытаются. – Иван посмотрел в глаза директору.

— Я бы не стал этого слова употреблять, я Валерии доверяю. – Мансуров стал серьезнее. – Но и убедиться тоже хочу. Понимаешь?

— Да, вам нужны реальные цифры, оценка объема работы бухгалтерии. – кивнул Иван.

— Именно. Можешь помочь?

— Конечно, не проблема. У нас в системе данные за несколько лет. За час управлюсь.

— Отлично!

Иван уже приготовился вставать, но Мансуров продолжил.

— А про ошибки бухгалтерии, которые ты упоминал в разговоре, пояснишь? – спросил директор. – Это реальная проблема? Или, так сказать, в пределах допустимой погрешности?

— Это реальная проблема. Собственно, не только наша – вообще у всех, кто работает в УПП.

— В УПП? Это что? – нахмурился директор. – У нас разве не 1С?

— А, вот вы про что… — Иван немного призадумался. – Вы сами с 1С работали?

— Нет, не довелось. – развел руками директор. – Я раньше в банковском секторе работал, в сфере ценных бумаг.

— Ок, я поясню. – кивнул Иван. – 1С – это фирма-разработчик, вендор. Она создает и развивает платформу, и сама разрабатывает конфигурации. Это… Ну, типа разные программы. Есть программа «1С: Бухгалтерия», она – чисто для бухгалтерии. Ну, помните может рекламу из 90-х, «1С: Бухгалтерия – доступно и всерьез».

— Да, помню. – кивнул Мансуров.

— Так вот, есть «1С: Бухгалтерия», а есть «Управление производственным предприятием», УПП. – продолжил Иван. – Это уже программа для управления, ну… Производственным предприятием, короче. Там есть управленческий учет, движение денег, планирование, диспетчеризация, бюджетирование и т.д. Короче, все, что нужно для управления.

— Честно, не знал. – покивал головой Мансуров. – И у нас вот эта программа установлена?

— Да, и установлена, и внедрена.

— И какие там проблемы у бухгалтеров возникают? Раз программа такая серьезная.

— Как раз оттого, что она серьезная, проблемы и возникают. – улыбнулся Иван. – Как говорил… Кто же это говорил… На курсах по УПП… А, Фарит Насипов, преподаватель из 1С, хотя сейчас он вроде на вольных хлебах… Так вот, он говорил: УПП – это программа, созданная людьми с высшим образованием, для людей с высшим образованием.

— А у бухгалтеров не высшее образование?

— Ну, вообще, обычно нет, но не суть. Суть в том, что УПП предполагает – работают толковые люди, которые понимают, что они делают.

— А бухгалтера не понимают что ли? – нахмурился директор.

— Ну как… — Иван примолк, подбирая слова. – Они, как бы это сказать… Тыкаются. Вбивают, вколачивают, не сильно беспокоясь о том, правильно оно или нет. Как я уже говорил, лишь бы закрылось. Точнее, «лишь бы закрылось» — это девиз отчетного периода, а в рутинной работе – лишь бы провелось.

— Это что за термин?

— Ну документ они вбивают – например, отгрузку. Записывают его, проводят. Проведение – это типа отражение во всех контурах учета. Чтобы при отгрузке товары со склада списались, дебиторка начислилась, проводки сформировались.

— А, да, понял. – покивал директор. – Слово только странное – проводить. Ладно, давай дальше.

— Вот у них и есть четкий критерий: если документ провелся, не заругался, то все хорошо. Это – первый эшелон. Документ провелся, накладная распечаталась, ну там ТОРГ-12, ТТН, счет-фактура. Все, на этом ежедневная миссия бухгалтера завершается. Потом идет второй эшелон.

— «Лишь бы закрылось»? – с улыбкой спросил Мансуров.

— Да. Когда квартал заканчивается, они начинают его закрывать. Иногда, конечно, вожжа под хвост попадает, и они начинают помесячно закрываться, но нам этого не нужно – мы не крупный налогоплательщик, и отчетность сдаем поквартально. При закрытии добавляются операции, которые ежедневно делать не нужно – например, распределение косвенных затрат.

— Не понял… — опять нахмурился директор. – То есть косвенные затраты известны только в конце квартала?

— Нет, известны они раньше, большая их часть. Например, внешние услуги вбиваются, обычно, в день поступления документов. Но они не распределены.

— То есть?

— Они висят в воздухе, общей суммой. Так же, как и производственные затраты, которые болтаются в НЗП. В терминах бухгалтерии косвенные – это, например, счета 25 и 26, а производственные – 20. А при закрытии месяца они из этого воздуха уходят и ложатся на выпуск. Ну или на продажи, если директ-костинг используется. Это и есть распределение затрат.

— Да, понял. – покивал директор. – То есть проблемы возникают на этом, первом эшелоне?

— Да, возникают на первом, а проявляются – на втором. Тыкаются закрывать – а оно не закрывается. И начинается котовасия. Лезут в первичные документы – те, что созданы на первом эшелоне, начинают разбираться. То аналитика не та указана, то счет учета, то статья затрат, то номенклатурная группа, и т.д. Исправляют первичный документ, снова пробуют закрыть, если не получилось – опять ищут ошибки и снова закрывают. И так до победного.

— Так, вроде понятно становится… — задумчиво проговорил директор. – Вопрос остается один: а почему сразу правильно не делать документы?

— А как? Это ж правила нужны, а их никто не формулирует.

— А программа разве не формулирует? УПП которая. – спросил директор. – Не контролирует неверный ввод данных? Это вроде простая функция, которая есть во всех программах.

— Есть, конечно… Но… Как бы это… — Иван опять призадумался. – Нежная она очень, эта функция. Обидеть боится. Проверят только совсем явные ошибки. Ну там, чтоб отгрузку за 1767 год не оформили, номенклатуру чтобы указали, в минус не ушли… Хотя, проверку ухода в минус можно отключить, штатными средствами.

— Серьезно? – поднял брови директор. – Это как так? Отгрузить то, чего нет?

— Ну да. Вообще, это нормально, когда отгрузка с колес идет. Приехала машина от поставщика, надо быстро отправлять покупателю, оформлять приход некогда, вбивают отгрузку, уходят в минус, покупатель получает свои железяки, а приход оформляют позже.

— А, понял.

— Ну вот. Остальное, по сути, не проверяются. При желании можно, например, услуги охраны оприходовать на 51 счет, то есть на расчетный счет в банке.

— Кошмар. – покачал головой Мансуров. – И это программа, которую ты назвал серьезной? Почему так? Что, фирма 1С не может обеспечить корректный ввод данных?

— Не может, причем это совершенно нормально.

— Как? Почему? Поясни.

— Ну как… Учет уникален в каждой компании. Есть какие-то общие правила, но их слишком мало. Потому и проверок так мало. Невозможно учесть все проявления реальности, потому они и не пытаются даже.

— А как быть тогда? Как эту проблему решают на других предприятиях?

— Так же, как и на нашем. Доработкой. Платформа, как и конфигурация, открыты для доработки – можно запрограммировать все, что хочешь. В том числе и проверки. Правда, там тоже все через задницу.

— В смысле?

— Так… Попробую объяснить… — в который раз Иван начал подбирать формулировку. – Проверку можно реализовать, как правило, только программированием. Когда пишешь программный код, не можешь оперировать данными. Например, если хочешь, чтобы конкретная номенклатура – та же услуга – могла приходоваться только по определенной статье затрат, приходится танцевать с бубном. Обратиться к конкретной статье затрат в программном коде нельзя. Ну то есть можно, конечно, но, опять же, через задницу – по ее коду, или сделав ее предопределенной.

— Так… Я не все слова понимаю, но вроде смысл уловил. – задумался Мансуров. – Получается, через программирование проверки закладывать невозможно?

— Возможно, только очень неэффективно. Чтобы сделать простую проверку, в привязке к данным, надо повозиться. И не гибко получается – если условия проверки поменяются, надо снова лезть в программный код. Плюс – долго, потому что горячей замены кода в 1С нет, нельзя внести изменения на лету. Если прям припрет, можно, там есть динамическое обновление, без остановки работы пользователей, но его уже несколько лет до ума довести не могут, поэтому пользуемся в крайнем случае.

— А нет каких-то функций для настройки проверок без программирования? – спросил Мансуров. – Вот, как в твоем примере, чтобы настроить статью для услуги.

— Чтобы прям проверку настроить – нет. Можно указать для этой услуги статью по умолчанию, и она будет подставляться в документы. Но это не проверка – так, помогайка. Если бухгалтер захочет испортить, он испортит. В основном, на этом все и построено – на механизмах подстановки чего-то по умолчанию. Но надежды на них особой нет. Документы быстрее оформлять помогают, но контроля данных не дают.

— Ок, понял. – нахмурился директор. – Погоди, а учетная политика? Там же написаны правила ведения учета?

— Знаете присказку уголовников? Нам закон не писан. Если писан, то не читан. Если читан, то не понят. Если понят, то не так.

— Понял. – улыбнулся директор. Отвернулся, уставился в окно и начал барабанить пальцами по столу.

— Наверное, мы сами можем такой механизм сделать. – сказал Иван.

— Какой механизм? – директор повернулся и немного оживился.

— Ну настройки проверок без программирования. На лету.

— Так, это уже интереснее. Как это – на лету?

— Ну, чтобы проверку, вроде той, про услугу и статью, можно было добавить за несколько минут, и она сразу начинала действовать. А при необходимости ее можно было быстро выключить, или подправить, если условия изменились. Ну или там срочная ситуация какая-то, когда допустимо сделать ошибочный документ, и потом его подправить.

— Серьезно, сами можете?

— Ну да. У нас хорошая команда программистов. Если не воспринимать нас только как сервис. Мансуров как-то хитро прищурился и посмотрел на Ивана. Потом улыбнулся.

— Я понял твой намек. Сколько надо времени на создание такой системы?

— Ну, на прототип уйдет день, или два… – Иван осекся и замолчал. Менеджеру не полагается давать реальные сроки, нужно как минимум на число Пи умножить. Но Иван был плохим менеджером. – Да, пожалуй, пару дней на прототип хватит. Только потом придется повозиться с отладкой.

— Почему?

— Ну там как… Мы ведь будем проверять документы при записи, а значит – будем влиять на производительность. Если наши проверки увеличат время проведения документов вдвое, бухгалтерия взвоет, и у нас начнутся совсем другие проблемы. – Иван замолчал, призадумался, и не совсем внятно забормотал. – Видимо, поэтому 1С не делает такого инструмента сама…

— Не понял, о чем ты. – нахмурился директор.

— У 1С всегда были проблемы с производительностью, особенно на крупных предприятиях, где много пользователей. Проверки, написанные в коде, делаются с приемлемой скоростью, особо не нагружая систему. А вот навешивать на проведение документа дополнительные проверки, без кода, с использованием, например, системы компоновки, могут сказаться на производительности… Как это сказать… Драматически, короче.

— Я уверен, вы что-нибудь придумаете. – Мансурову явно надоело вникать в техническое тонкости.

— Придумаем, придумаем… — мысли Ивана были уже далеко. – Очень интересная инженерная задача…

— Отлично, я рад, что дал тебе интересную инженерную задачу. – улыбнулся Мансуров.

— Да, я тоже рад. Сегодня приступим.

— Не забывай, ты обещал в течение часа ответить на вопрос про увеличение штата бухгалтеров. – напомнил директор.

— Да, я помню. До конца рабочего дня еще четыре часа. И то сделаю, и другое начну.

— Хорошо, информируй меня о ходе работ.

— На совещаниях?

— Нет, по электронной почте пиши.

— Хорошо, понял. Все? Закончили?

— Да, жду от тебя информацию по бухгалтерам, и маяков по ходу разработки инструмента. Как он называется? Или будет называться?

— Не знаю… «Проверка данных», может быть?

— Годится. Коротко и четко.

— Ну все, больше не отвлекаю. Напишу.

Иван встал со стула и гордо, немного вальяжно, двинулся к выходу. За дверью оказалась Валерия.

— Ну Иван, не ожидала… — грустно сказала она. – О чем еще говорили?