Оглавление
От автора
Книга наша, про 1Сников, уже стала популярной. Не здесь, на ИС, а за его пределами. Но центральное место публикации менять не буду, оно здесь.
Если вы когда-нибудь писали книги, то, наверное, наблюдали такой феномен: книга пишется сама. Я раньше слышал о нем, но думал - фигня. А теперь понимаю, что это правда.
Сидишь такой, умный, планируешь сценарий, персонажей, начинаешь писать и... Видишь, что куда-то не туда все идет. Сюжет развивается сам, диалоги берутся из ниоткуда, а ты только успеваешь в них втискивать мысли, которые хотел донести. И не всегда это получается.
Вот, вспомнил - Ильф и Петров говорили о подобном феномене. Они замышляли Остапа Бендера, как второстепенного персонажа, главным был Киса Воробьянинов. Но с каждой новой главой, с каждой сценой этот наглый парень все настойчивее лез на первый план. Как будто делал это сознательно.
У меня так же. Написано 5 глав, а уже все ушло не туда, куда изначально планировал я. Сначала я переживал, пытался вернуть книгу в русло, но потом плюнул. Пусть сама развивается. Я просто изложу, напечатаю текст. И постараюсь его не испортить.
Основных изменений два. Первое - я хотел, чтобы это была книга про 1Сников. А получается книга и про, и для 1Сников. Конечно, ее читают не только программисты, но они не все поймут. Да и Бог с ними.
Второе - название книги уже никак не соответствует ее содержанию. Поэтому я меняю название на "Потом доделаем". За день я мысленно уже раз сто повторил эту фразу, а она до сих пор вызывает у меня улыбку. Кажется, она хорошо характеризует нашу работу.
Ну все, не отвлекаю. Читайте.
P.S. Картинки к главам теперь рисует моя дочь, но сегодня сделает только к вечеру, поэтому пока поставлю картинку-затычку, а вечером обновлю.
Текст
Иван вернулся на свой стул. Валерия чуть задержалась в дверях, недобро взглянув на Ивана, но все-таки вышла из кабинета.
— Иван, у меня тут проблемка одна… — начал Мансуров. – Касаемо бухгалтерии.
— Да, я слушаю. – с готовностью кивнул головой ИТ-директор.
— Смотри. Валерия мне тут служебную записку написала, с просьбой об увеличении штата. – Мансуров начал рыться в бумажках на столе. – Так, где она… А, вот! Почитай, пожалуйста.
Иван пробежался глазами по служебке. Просили добавить две ставки бухгалтеров, в связи с увеличением количества работы. Странно, подумал Иван. Когда это у них количество работы увеличилось? Так, что тут еще – а, вот. Обороты, говорит, выросли вдвое за два года, следовательно, и объем работы возрос… Тоже вдвое.
— Странная какая-то формулировка… — пробормотал Иван.
— Какая именно?
— Ну, что с увеличением оборота вдвое вырос объем работы, и тоже вдвое.
— А разве не так?
— Не так. Причем тут обороты и бухгалтер? Мне кажется, вас надуть пытаются. – Иван посмотрел в глаза директору.
— Я бы не стал этого слова употреблять, я Валерии доверяю. – Мансуров стал серьезнее. – Но и убедиться тоже хочу. Понимаешь?
— Да, вам нужны реальные цифры, оценка объема работы бухгалтерии. – кивнул Иван.
— Именно. Можешь помочь?
— Конечно, не проблема. У нас в системе данные за несколько лет. За час управлюсь.
— Отлично!
Иван уже приготовился вставать, но Мансуров продолжил.
— А про ошибки бухгалтерии, которые ты упоминал в разговоре, пояснишь? – спросил директор. – Это реальная проблема? Или, так сказать, в пределах допустимой погрешности?
— Это реальная проблема. Собственно, не только наша – вообще у всех, кто работает в УПП.
— В УПП? Это что? – нахмурился директор. – У нас разве не 1С?
— А, вот вы про что… — Иван немного призадумался. – Вы сами с 1С работали?
— Нет, не довелось. – развел руками директор. – Я раньше в банковском секторе работал, в сфере ценных бумаг.
— Ок, я поясню. – кивнул Иван. – 1С – это фирма-разработчик, вендор. Она создает и развивает платформу, и сама разрабатывает конфигурации. Это… Ну, типа разные программы. Есть программа «1С: Бухгалтерия», она – чисто для бухгалтерии. Ну, помните может рекламу из 90-х, «1С: Бухгалтерия – доступно и всерьез».
— Да, помню. – кивнул Мансуров.
— Так вот, есть «1С: Бухгалтерия», а есть «Управление производственным предприятием», УПП. – продолжил Иван. – Это уже программа для управления, ну… Производственным предприятием, короче. Там есть управленческий учет, движение денег, планирование, диспетчеризация, бюджетирование и т.д. Короче, все, что нужно для управления.
— Честно, не знал. – покивал головой Мансуров. – И у нас вот эта программа установлена?
— Да, и установлена, и внедрена.
— И какие там проблемы у бухгалтеров возникают? Раз программа такая серьезная.
— Как раз оттого, что она серьезная, проблемы и возникают. – улыбнулся Иван. – Как говорил… Кто же это говорил… На курсах по УПП… А, Фарит Насипов, преподаватель из 1С, хотя сейчас он вроде на вольных хлебах… Так вот, он говорил: УПП – это программа, созданная людьми с высшим образованием, для людей с высшим образованием.
— А у бухгалтеров не высшее образование?
— Ну, вообще, обычно нет, но не суть. Суть в том, что УПП предполагает – работают толковые люди, которые понимают, что они делают.
— А бухгалтера не понимают что ли? – нахмурился директор.
— Ну как… — Иван примолк, подбирая слова. – Они, как бы это сказать… Тыкаются. Вбивают, вколачивают, не сильно беспокоясь о том, правильно оно или нет. Как я уже говорил, лишь бы закрылось. Точнее, «лишь бы закрылось» — это девиз отчетного периода, а в рутинной работе – лишь бы провелось.
— Это что за термин?
— Ну документ они вбивают – например, отгрузку. Записывают его, проводят. Проведение – это типа отражение во всех контурах учета. Чтобы при отгрузке товары со склада списались, дебиторка начислилась, проводки сформировались.
— А, да, понял. – покивал директор. – Слово только странное – проводить. Ладно, давай дальше.
— Вот у них и есть четкий критерий: если документ провелся, не заругался, то все хорошо. Это – первый эшелон. Документ провелся, накладная распечаталась, ну там ТОРГ-12, ТТН, счет-фактура. Все, на этом ежедневная миссия бухгалтера завершается. Потом идет второй эшелон.
— «Лишь бы закрылось»? – с улыбкой спросил Мансуров.
— Да. Когда квартал заканчивается, они начинают его закрывать. Иногда, конечно, вожжа под хвост попадает, и они начинают помесячно закрываться, но нам этого не нужно – мы не крупный налогоплательщик, и отчетность сдаем поквартально. При закрытии добавляются операции, которые ежедневно делать не нужно – например, распределение косвенных затрат.
— Не понял… — опять нахмурился директор. – То есть косвенные затраты известны только в конце квартала?
— Нет, известны они раньше, большая их часть. Например, внешние услуги вбиваются, обычно, в день поступления документов. Но они не распределены.
— То есть?
— Они висят в воздухе, общей суммой. Так же, как и производственные затраты, которые болтаются в НЗП. В терминах бухгалтерии косвенные – это, например, счета 25 и 26, а производственные – 20. А при закрытии месяца они из этого воздуха уходят и ложатся на выпуск. Ну или на продажи, если директ-костинг используется. Это и есть распределение затрат.
— Да, понял. – покивал директор. – То есть проблемы возникают на этом, первом эшелоне?
— Да, возникают на первом, а проявляются – на втором. Тыкаются закрывать – а оно не закрывается. И начинается котовасия. Лезут в первичные документы – те, что созданы на первом эшелоне, начинают разбираться. То аналитика не та указана, то счет учета, то статья затрат, то номенклатурная группа, и т.д. Исправляют первичный документ, снова пробуют закрыть, если не получилось – опять ищут ошибки и снова закрывают. И так до победного.
— Так, вроде понятно становится… — задумчиво проговорил директор. – Вопрос остается один: а почему сразу правильно не делать документы?
— А как? Это ж правила нужны, а их никто не формулирует.
— А программа разве не формулирует? УПП которая. – спросил директор. – Не контролирует неверный ввод данных? Это вроде простая функция, которая есть во всех программах.
— Есть, конечно… Но… Как бы это… — Иван опять призадумался. – Нежная она очень, эта функция. Обидеть боится. Проверят только совсем явные ошибки. Ну там, чтоб отгрузку за 1767 год не оформили, номенклатуру чтобы указали, в минус не ушли… Хотя, проверку ухода в минус можно отключить, штатными средствами.
— Серьезно? – поднял брови директор. – Это как так? Отгрузить то, чего нет?
— Ну да. Вообще, это нормально, когда отгрузка с колес идет. Приехала машина от поставщика, надо быстро отправлять покупателю, оформлять приход некогда, вбивают отгрузку, уходят в минус, покупатель получает свои железяки, а приход оформляют позже.
— А, понял.
— Ну вот. Остальное, по сути, не проверяются. При желании можно, например, услуги охраны оприходовать на 51 счет, то есть на расчетный счет в банке.
— Кошмар. – покачал головой Мансуров. – И это программа, которую ты назвал серьезной? Почему так? Что, фирма 1С не может обеспечить корректный ввод данных?
— Не может, причем это совершенно нормально.
— Как? Почему? Поясни.
— Ну как… Учет уникален в каждой компании. Есть какие-то общие правила, но их слишком мало. Потому и проверок так мало. Невозможно учесть все проявления реальности, потому они и не пытаются даже.
— А как быть тогда? Как эту проблему решают на других предприятиях?
— Так же, как и на нашем. Доработкой. Платформа, как и конфигурация, открыты для доработки – можно запрограммировать все, что хочешь. В том числе и проверки. Правда, там тоже все через задницу.
— В смысле?
— Так… Попробую объяснить… — в который раз Иван начал подбирать формулировку. – Проверку можно реализовать, как правило, только программированием. Когда пишешь программный код, не можешь оперировать данными. Например, если хочешь, чтобы конкретная номенклатура – та же услуга – могла приходоваться только по определенной статье затрат, приходится танцевать с бубном. Обратиться к конкретной статье затрат в программном коде нельзя. Ну то есть можно, конечно, но, опять же, через задницу – по ее коду, или сделав ее предопределенной.
— Так… Я не все слова понимаю, но вроде смысл уловил. – задумался Мансуров. – Получается, через программирование проверки закладывать невозможно?
— Возможно, только очень неэффективно. Чтобы сделать простую проверку, в привязке к данным, надо повозиться. И не гибко получается – если условия проверки поменяются, надо снова лезть в программный код. Плюс – долго, потому что горячей замены кода в 1С нет, нельзя внести изменения на лету. Если прям припрет, можно, там есть динамическое обновление, без остановки работы пользователей, но его уже несколько лет до ума довести не могут, поэтому пользуемся в крайнем случае.
— А нет каких-то функций для настройки проверок без программирования? – спросил Мансуров. – Вот, как в твоем примере, чтобы настроить статью для услуги.
— Чтобы прям проверку настроить – нет. Можно указать для этой услуги статью по умолчанию, и она будет подставляться в документы. Но это не проверка – так, помогайка. Если бухгалтер захочет испортить, он испортит. В основном, на этом все и построено – на механизмах подстановки чего-то по умолчанию. Но надежды на них особой нет. Документы быстрее оформлять помогают, но контроля данных не дают.
— Ок, понял. – нахмурился директор. – Погоди, а учетная политика? Там же написаны правила ведения учета?
— Знаете присказку уголовников? Нам закон не писан. Если писан, то не читан. Если читан, то не понят. Если понят, то не так.
— Понял. – улыбнулся директор. Отвернулся, уставился в окно и начал барабанить пальцами по столу.
— Наверное, мы сами можем такой механизм сделать. – сказал Иван.
— Какой механизм? – директор повернулся и немного оживился.
— Ну настройки проверок без программирования. На лету.
— Так, это уже интереснее. Как это – на лету?
— Ну, чтобы проверку, вроде той, про услугу и статью, можно было добавить за несколько минут, и она сразу начинала действовать. А при необходимости ее можно было быстро выключить, или подправить, если условия изменились. Ну или там срочная ситуация какая-то, когда допустимо сделать ошибочный документ, и потом его подправить.
— Серьезно, сами можете?
— Ну да. У нас хорошая команда программистов. Если не воспринимать нас только как сервис.
Мансуров как-то хитро прищурился и посмотрел на Ивана. Потом улыбнулся.
— Я понял твой намек. Сколько надо времени на создание такой системы?
— Ну, на прототип уйдет день, или два… – Иван осекся и замолчал. Менеджеру не полагается давать реальные сроки, нужно как минимум на число Пи умножить. Но Иван был плохим менеджером. – Да, пожалуй, пару дней на прототип хватит. Только потом придется повозиться с отладкой.
— Почему?
— Ну там как… Мы ведь будем проверять документы при записи, а значит – будем влиять на производительность. Если наши проверки увеличат время проведения документов вдвое, бухгалтерия взвоет, и у нас начнутся совсем другие проблемы. – Иван замолчал, призадумался, и не совсем внятно забормотал. – Видимо, поэтому 1С не делает такого инструмента сама…
— Не понял, о чем ты. – нахмурился директор.
— У 1С всегда были проблемы с производительностью, особенно на крупных предприятиях, где много пользователей. Проверки, написанные в коде, делаются с приемлемой скоростью, особо не нагружая систему. А вот навешивать на проведение документа дополнительные проверки, без кода, с использованием, например, системы компоновки, могут сказаться на производительности… Как это сказать… Драматически, короче.
— Я уверен, вы что-нибудь придумаете. – Мансурову явно надоело вникать в техническое тонкости.
— Придумаем, придумаем… — мысли Ивана были уже далеко. – Очень интересная инженерная задача…
— Отлично, я рад, что дал тебе интересную инженерную задачу. – улыбнулся Мансуров.
— Да, я тоже рад. Сегодня приступим.
— Не забывай, ты обещал в течение часа ответить на вопрос про увеличение штата бухгалтеров. – напомнил директор.
— Да, я помню. До конца рабочего дня еще четыре часа. И то сделаю, и другое начну.
— Хорошо, информируй меня о ходе работ.
— На совещаниях?
— Нет, по электронной почте пиши.
— Хорошо, понял. Все? Закончили?
— Да, жду от тебя информацию по бухгалтерам, и маяков по ходу разработки инструмента. Как он называется? Или будет называться?
— Не знаю… «Проверка данных», может быть?
— Годится. Коротко и четко.
— Ну все, больше не отвлекаю. Напишу.
Иван встал со стула и гордо, немного вальяжно, двинулся к выходу. За дверью оказалась Валерия.
— Ну Иван, не ожидала… — грустно сказала она. – О чем еще говорили?