Продолжаю цикл статей из серии давно минувших дней.
Недавно встретил бывшего коллегу и он мне напомнил эту историю, о которой я абсолютно забыл. Не об уроке, а просто о самом случае.
2010г: по семейным обстоятельствам я оказался в глубоком финансовом кризисе. У меня не было денег даже на бензин. Один знакомый мне предложил поработать у них в отделе 1с-ником. Оплата была небольшая (по сравнению с рынком). Я согласился поработать у них несколько месяцев, пока не найду нормальное место, такой и был изначальный уговор. В отделе 1С было 3 человека, я стал четвертым.
Все, что написано ниже, это, конечно же, произошло не в первый день и не в течение одного месяца. Просто постепенно я погружался в атмосферу коллектива и организации.
Был у них там финансовый отдел, который считался о-о-о-чень важным. Не с точки зрения его пользы, а с точки зрения позиционирования. Они там раздували щеки, что без нас вы вообще никуда. Мы тут самые специалисты. Да без проблем, они в другом конце здания, я с ними не пересекался. Но слышал обсуждения коллег.
В том отделе 4 человека. Одна из их задач была подбирать копейки для счетов-фактур. Чтобы строки с итоговой суммой сходились. Ну вы знаете про округление. Для этого у них был целый инструмент - документ в 1С с аж с десятитысячными долями в ценах. Они там сидели вручную подбирали десятые доли копеек. Этот процесс был легендарным. Считалось, что его нельзя автоматизировать - кто ни пробовал, ни у кого не получалось, так мне сказал начальник.
Да как так? Не может такого быть! Я не-ве-рю! Покажите!
Они показали, как это делается, что где нажимают и с чем сравнивают. Пришел на свое рабочее место, начал пробовать. Я уже точно не помню, в чем там фишка была. То ли изначально цены в строках были с десятитысячными копеек, то ли что-то такое. Но на печать выходила С/Ф с итоговой суммой до второго знака 80.35р, а не до четвертого, и именно под эту сумму (до второго знака) нужно было подгонять.
В общем, поразмыслив над увиденным, сделал цикл, перед началом которого вычисляется разность между итоговой суммой 80.35р (ее менять нельзя) и прямым суммированием товарных строк.
80.35 - (50.2500+30.0900) = 0.0100
Задача цикла - израсходовать всю разность, распределяя ее по строкам. Расходовать пропорционально не требовалось. Поэтому в каждую строку добавлял максимально возможное значение, пока разность не будет исчерпана.
80.35 - (50.2590+30.0910) = 0.0000
Если по какой-то причине распределить разность не удалось, выводилось соответствующее предупреждение, которое так же заносилось в лог. Мне хотелось посмотреть, вдруг бывают случаи, которые я не учел. Но те единичные записи, что появлялись в журнале, говорили лишь об ошибках на этапе ввода строки, после исправления которых распределение отрабатывало нормально.
Они были счастливы, а я недоумевал - почему этого не сделали раньше, это же так просто...
Вишенка
Это была предыстория. В процессе общения с этим отделом, пока у них спрашивал про копейки и наблюдал за работой решения, я подумал, что победил самую большую проблему. Но, с их слов, это были цветочки. Самая большая проблема была именно на этапе ввода. Им нужно было прописывать в С/Ф номера входящих документов и платежей. Они делали это вручную - брали банковскую выписку, первичку от поставщика и начинали это делать. В те времена еще не очень была налажена культура правильного указания назначения платежа, поэтому (и не только) приходилось руками разносить. Они сидели в этих тоннах бумаг, отмечали карандашиком отработанные документы и перекладывали в соседнюю стопку. В общем, вы понимаете.
Тогда я снова провел опрос, теперь уже по этому процессу. Где они берут данные и куда заносят, как сопоставляют одно с другим, почему именно так, а не иначе, что делают, если не сходятся номера и так далее. Заметил, что на накладных от поставщиков есть штрихкод. Пошел в соседний отдел и выпросил у них сканер (там завалялась парочка пыльных). Отсканировал и увидел, что там есть (номер, дата).
Картинка сложилась и я запилил для них АРМ (обработку), в котором отображались только требующие внимания документы. Система сама предлагала варианты разнесения или дозаполнения входящего номера (где нужно), оставалось отсканировать накладные по списку и подтвердить или исправить разнесение оплат. Отладка заняла несколько дней, потому что выяснялись детали, о которых они не упоминали ранее. В любом случае, исправлял по горячим следам. Через пару недель отладки АРМ работал как часики. То, на что у них троих уходило по несколько часов ежедневно, теперь можно было делать одному за 10 минут. Они снова были счастливы. Говорили, что теперь мы можем работать в спокойном режиме и не сидеть до ночи, теперь у нас есть время попить чай.
Мой начальник был в курсе этой деятельности и с интересом наблюдал. После окончательного варианта я иду к нему и говорю, что, наверное, как бы это..., премия тут полагается... Он с этим был абсолютно согласен (мы с ним обсуждали заранее) и пошел к директору за согласованием. Дир вроде бы тоже не возражал, но попросил письменного подтверждения от того "счастливого" отдела, что у них действительно теперь все так хорошо.
И вот здесь началось. Те смекнули, чем им может это грозить (сокращением), и решили меня полностью оболгать. Они сказали, что АРМ - полное гэ.., что там ничего не работает, что это вообще непонятная поделка, они ей не пользуются и не просили меня это делать. Мой начальник к ним ходил с вопросом - как же так, вы же говорили, что все ок... Они набросились и на него, там были крики на весь коридор... В результате начальник пришел ко мне с поникшим видом, сказал извини, я сделал все, что мог (и это правда, к нему претензий нет).
Вот так я остался не только без премии, но еще и нажил себе врагов. Благо, что мне недолго оставалось работать в этой конторе. Примерно через полмесяца мне поступил оффер и я ушел.
А через какое-то время к ним пришел джун и что-то там случайно зацепил в коде - АРМ перестал работать ))
Но "счастливый" отдел ведь им "не пользовался", поэтому они не могли прийти и сказать, что АРМ не работает. Так восторжествовала справедливость без моего участия.
Кстати да, это все та же компания, в которой была история про modbus.
Теперь, когда меня попросят рассказать о провальном проекте и что бы я сделал иначе, я знаю, о чем рассказать :)
Были у вас подобные случаи? Делитесь в комментариях.
PS
Будьте осторожны с автоматизацией. Именно такой урок я вынес из этой истории, но не в тот момент, а лишь спустя годы. Я чуть не разрушил жизни людей.
Тогда для меня это было просто очередным достижением в копилку, а для них это могло обернуться трагедией.
Комментарии (30)

antiquar
30.10.2025 06:05Работая в одной конторе (пусть будет контора №1), разработал технологию, которая существенно снизила логистические затраты (в разы).
Проблема была в том, что контора №1 а) была государственная, б) снижение ее расходов означало такое же снижение доходов другой конторы, №2, которая оказывала конторе №1 определенные услуги, и тоже государственной. Поэтому через полгода моя технология была объявлена неправильной, а логистику было велено рассчитывать, пользуясь программным продуктом, также предоставляемым конторой №2. После этого показатели вернулись на прежний уровень, и все стало хорошо ;)
Xexa
30.10.2025 06:05Иногда не зная всей картины, какие-то действия/решения смотрятся бредовыми. А картина раскрывается потихоньку с каждым уровнем доступа.
К слову про "разговоры на кухне, как надо управлять государством".
Собственно не знаю что конкретно и как было в конторе1 и конторе2, но расскажу гипотетическую ситуацию которая могла бы быть в Лаосе.
Есть коммерческая контора, которая работает на госорганы. Контролируемая по максимуму со всех сторон. Куда деньги уходят, какая зп, какие премии, всё это идёт в контроль обоснования стоимости изделий. Но есть и реальность, когда надо иметь конторе деньги для операционной деятельности. Поддержка сотрудников, оплата представительских, закупка для исследования и тд.
Где взять деньги? Ну и тут возникают схемы, когда в рамках закона можно где-то провести больше, оплатить налоги как положено с этого, отчитаться перед всеми за эти суммы. Но вот в реальности использовать какую-то сумму для нужд развития организации и социальных(опять же поддержка сотрудников). Изначально я не понимал почему так идёт оплата того или иного момента, но когда погрузился и узнал, то понял, что иного способа и нет законного в тех условиях. А если не делать, то развиваться нена что было бы.
Несомненно и на развитие личного благосостояния начальника. Почему и нет?

antiquar
30.10.2025 06:05Иногда не зная всей картины, какие-то действия/решения смотрятся бредовыми. А картина раскрывается потихоньку с каждым уровнем доступа.
Так я же и не претендую на полную и объективную картину ;)
С моей кочки оно вот так вот выглядело, а там - кто знает.

zatim
30.10.2025 06:05Есть коммерческая контора, которая работает на госорганы. Контролируемая по максимуму со всех сторон.
Я работал в такой конторе. Там есть отдельные счета через которые идет тотально контролируемые деньги и отдельные счета для обычной операционной деятельности. Так что нет никаких проблем, которые вы описали. Да, на спецсчетах деньги иногда зависали из-за разного рода бюрократии, но работе конторы это никак не мешало, она работала через другие счета.

vansha86
30.10.2025 06:05Это называется раздельный учет и он немного про другое.
А теперь представьте, что у вас есть согласованная штатная численность и ФОТ, а вам нужно +40% персонала и х3 в ФОТ (потому что ставки согласовываются вообше не по рыночным цифрам). Вот тут и начинается магия. :)

fivlabor
30.10.2025 06:05Да и не в гос конторе тоже бывает
. Помню 15 лет назад в одной шаражке была уборщица раз в неделю, но по бумагам чуть ли не каждый день. А всё потому, что у владельцев шаражки была какая-то непомернчюая жадность на непроизводственную мелочевку, типа чая или туалетной бумаги. Приходилось через повышенный ФОТ "выводить"

triviumfan
30.10.2025 06:05Примерно в те же года я часто натыкался на рукописное распределение, а потом обнаружил полезную функцию из БСП:
ОбщегоНазначенияКлиентСервер.РаспределитьСуммуПропорциональноКоэффициентам()
rt001 Автор
30.10.2025 06:05Отличная функция
Но это 1с8, а у них была 1с77 бух (файловая), да еще и устаревшая не знаю на сколько. Ее там дописывали костылями много лет, поэтому об ИТС речи не шло.
Просто для понимания, как все было плохо:
У них был отчет, который в цикле вызывал метод
БухИтоги.Рассчитать()ааахахаМожете представить, сколько это работало. Они его запускали в ночь, чтобы к утру было готово)) Разумеется, я его переписал потом, но сам факт.
И я даже не могу представить, как его отлаживали изначально. Тоже на ночь запускали?))

triviumfan
30.10.2025 06:05Понятно, я просто начинал уже с 8рки.
Можете представить, сколько это работало. Они его запускали в ночь, чтобы к утру было готово)) Разумеется, я его переписал
Надеюсь, хотя бы за это примию получили?) Если нет, тогда я вообще ничего не понимаю!

rt001 Автор
30.10.2025 06:05О, я вас умоляю, какая премия, конечно же нет)))
Они всегда говорят: какая премия? это твоя работа, мы тебе платим зар-пла-ту!
У меня есть случай из самого начала моей карьеры (2005г), когда я сделал такую оптимизацию, которая сэкономила тонны бумаги (в прямом смысле), тонера, ресурсов принтеров и копировальных машин, ну, и человеческого времени тоже. Думаете они дали мне премию? Это твоя работа! Так они сказали.
Про эту историю можно написать отдельную статью))

denco78
30.10.2025 06:05Известная тема )
Работал в одной конторе, там приходные документы на товар любили заносить в 1С задним числом. Лежит на столе менеджера по закупкам стопка накладных. Она за нее принимается, когда все уже распродано из этого поступления. Из-за этого в 1С постоянно ехали партии товаров и серии номенклатуры. Ну партии выравнивались перепроведением документов, которое мне постоянно приходилось делать по их просьбе, а серии перепроведением не выравнивались. Бухгалтер тратил целый день-два на исправление вручную серий за месяц. Написал обработку, по исправлению серий. Долго писал, пару месяцев, т.к. надо было учитывать все документы поступления / расходования товаров, переоценки, инвентаризации и пр. Кстати, заодно тоже столкнулся с копейками, как и в статье. Вроде бы в счетах покупателям менеджеры периодически подбивали сумму счета в соответствии с пришедшей от покупателя оплатой. Причем делали это не изменением цены или скидки, а просто вручную редактировали итоговую стоимость товаров. Вот при перепроведении это все слетало и суммы расходились. Мне в своей обработке пришлось проверять итоговую стоимость и при ее несовпадении с цена* количество* скидка пересчитывать скидку, а процент скидки расширять до десятитысячных, чтобы стоимость совпадала до копеек.
В общем, написал, предоставил - крику было... Все поголовно наотрез отказались от нее. И продолжили корректировать документы вручную. И бухгалтерия, и менеджеры по закупкам, и менеджеры по продажам.
Ну и да - нажил себе врагов в лице всей конторы ))Там еще эти серии номенклатуры. Насколько я понял, учет по ним в той конторе вообще не нужен был. Он вроде бы только для импорта. Но не смог убедить ни главбуха, ни менеджеров, что он не нужен. Мол, тут так уже 15 лет работают, не тебе менять. Кто-то изначально, при настройке базы включил учет по сериям номенклатуры - так и его и ведут.
УТ 10.2
akod67
30.10.2025 06:05представляю что будет, когда к ним занесут бухИИшку =)

denco78
30.10.2025 06:05Ну там одни женщины были. Этакий серпентарий. Я там один мужик был в виде сисадмина / эникейщика / программера 1С. Они меня всерьез не воспринимали. Типа "мальчик, куда ты лезешь, не мешай работать". Хотя мне 40 лет было и 20 лет в ИТ за плечами. И даже мои предыдущие успехи в этой конторе (оптимизировал и ускорил базу, нормально наладил работу РИБ, из-за этого ушли разночтения в количестве товара, снизил количество проблем на магазинах и поднял стабильность работы оборудования) не повлияли на их оценку меня. ))

Pochemuk
30.10.2025 06:05Сведение ошибок округления - еще тот квест.
Лет так 30 назад писал для абонентского отдела программу для расчета с потребителями теплоэнергии (не по теплосчетчикам, а расчетным методом). Когда написал, она абонентскому отделу не понравилась - потому что вручную считали, округляя график отпуска т/э до целых гигакалорий, а у меня выдавало сотые.
Переделал - сделал округление начислений за каждый месяц и итогового результата. Сумма округлённых помесячных данных перестала биться с округленной суммой за год.
Стал расхождение раскидывать. Причем, чтобы более-менее соответствовало здравому смыслу, сначала подгонял разбивку расхождения по полугодиям. Внутри полугодий делал раскидку по кварталам. А потом уже помесячно.
Расхождение поединично доначислялись/отнимались к периодам, где они наименее заметны. Например, если в один период начислено 42,2, а в другой 43,4, то единичка добавится к 43, а не к 42. Получалось 42 и 44.
И это работало худо-бедно, если каждый месяц были достаточно крупные цифры. А если был мелкий потребитель, потребляющий 3 Гкал/год, то тут уже полный бардак начинался. Ну, две гигакалории ему можно начислить к январю и декабрю (но это тоже некузяво - ему платить 2 месяца подряд). А третью куда девать? На апрель? Логично, как бы, но почему не на октябрь или не на март?
А если он в ноябре ликвидируется, то и за декабрь (куда входит оплата за весь последний квартал) не заплатит.
В общем, пришлось для потребителей еще определять периодичность выставления (не платежей, а этих самых гигакалорий в графике) - кому ежемесячно, кому 1-2-4 раза в год.
Но теперь стало обидно потребителям - в начале года он оплатит, а летом самовыпилится. Подавать на перерасчет - лишняя морока.
А ежемесячное начисление до сотых долей Гкал все эти проблемы снимало. Но "мы так не работаем".

randomsimplenumber
30.10.2025 06:05Если внутренняя бюрократия обслуживает саму себя - не нужна им ваша автоматизация.

belch84
30.10.2025 06:05Одна из их задач была подбирать копейки для счетов-фактур. Чтобы строки с итоговой суммой сходились. Ну вы знаете про округление. Для этого у них был целый инструмент - документ в 1С с аж с десятитысячными долями в ценах. Они там сидели вручную подбирали десятые доли копеек
Когда-то делал нечто подобное


vadimk91
30.10.2025 06:05Про округления и копейки тоже спомнил: середина 90х, я тогда отвечал за биллинг в нашей конторе. Месячные отчеты распечатывали с Excel-а, и вот в один из периодов бухгалтерия говорит, что месячный баланса не сводится на 1 копейку. Главбух такая: "никто сегодня домой не идет, пока не найдете эту копейку". Ну и смотрят на меня как на врага, мол это ты со своим компьютером накосячил...
Причина оказалась тривиальной: тогда уже тарифы росли и в этот месяц условно говоря итоговая сумма вместо 999.11 стала 1000.11, а последняя копейка при печати в ширину ячейки просто не влезла.

A11mas
30.10.2025 06:05Делал автоматизацию/упрощение работы сначала для себя, но потом инструментом стала пользоваться вся группы техподдержки, в которой я работал (писал статью-обзор об этом, но она в песочнице, т.к. у меня нет инвайта). Сначала всё шло хорошо и мне выдали максимальный грейд для должности (ну и ЗП соот-но), но потом пришло импортозамещение и инструмент оказался не нужен, заброшен и забыт.

rybakolbasa
30.10.2025 06:05Помню когда проходил после четвертого курса практику на заводе, руководитель со стороны завода мне говорил, что с автоматизацией нужно аккуратнее, а то всем этим людям (при этом он обводил руками цех) будет нечего делать. Эти люди, впрочем, и так делали примерно ничего, чаи гоняли. Завод был военный, а времена давние. Впрочем, думаю, сейчас у них работы полно.

rt001 Автор
30.10.2025 06:05Спасибо за ценную подсказку! Даже дополнил статью на этот счет.
Ваш руководитель был абсолютно прав. Я пришел к такому же выводу спустя годы. И данная история стала основным вкладом в это понимание. Из-за неопытности и недостатка мудрости я тогда не мог разглядеть, к чему это может привести.
Для меня это было просто очередным достижением в копилку, а для них это могло обернуться трагедией.

DmitriiR
30.10.2025 06:05Знакомо. Топ книга. Работая мен. распределяющим товар по точкам ручками ( на всех 20 чел было около 500 точек), в шопсах/экселе... примерно на глаз. )
От лени и однообразия, была создана типо erp (на VBA) с подборам товаров по цепочкам признаков и продажам конечно. Полное внедрение не удалось ( надо было увязать поставки.... а они тож на глаз делались и по хорошему производителей), контора шла к закату. Но оно заменяло всех 20 чел по сути. Просчет на паре компов за пару часов.
Да, премию дали). 90тр. это был 2010г+-

thevudi
30.10.2025 06:05Я бы в таком случае добавил счётчик на открытие обработки и выполнение ключевых операций, и показал его руководству.
"Как же вы не пользуетесь, если вот данные?"

rt001 Автор
30.10.2025 06:05Да, я видел по логам, что они пользуются. Но после скандального дня они срочно перестали. Не знаю, как потом (пока АРМ не сломался).
Кроме того, я знал, что уйду оттуда, а они останутся. Зачем душить людей? ))

Shadow_ru
30.10.2025 06:05Какая то непонятная суета людей, что с той, что с другой стороны не знающих про ПБУ-94 и метод расчета "по цепочке". То что было сделано - буквально копия того, что было прописано за 20 лет до тыкания ТС в данные платежек

SiberianMouse
30.10.2025 06:05Пришел на работу, сделал примерно похожую оптимизацию процессов раза в два-три, потом ещё плюшки для своей же задачи и облегчения действий клиентов. В итоге к выводу пришли с начальством и коллегой который со мной работал, что, базару нет, все стало удобнее, быстрее, теперь клиентам не нужно тащиться в банк, и так далее, но... Клиенты начали сильно расслабляться и планка требований завысилась, во преки вообще логике, потому как требования должны быть наоборот у нас к ним) В итоге решили откатиться к обратному и просто брать денег сверху за это. Так же и с плюшками тоже, чем ты больше клиенту даёшь возможностей, так скажем, тем он более становится требовательным. Почему то люди считают, что это не протягивание руки помощи, а какой то грабёж. Иногда очень хочется просто разворачивать таких людей и говорить: "ну иди в другую контору тогда, чего ты морду так сквасил, или это нам вместо спасибо?" В целом, то что было в посте, актуально, для любой отрасли. Кто то будет не доволен будет обязательно, главное самому себе жизнь не усложнять, такими "упрощениями" )

sten65
30.10.2025 06:05доброго всем! с округлениями столкнулся первый раз в 1993 (веселые времена:)), бухгалтерия велась в куатро про ( кто-нить помнит флоппы сверленные :)), фины САМИ ПИСАЛИ МАКРОСЫ!!!, ну на фоне всяких инфляций/деноминаций перестали биться итоги. мне показали что не бьётся, объяснили (спасибо огромное финам) как это считается, нашёл и подредактировал один макрос и всё заработало. радости не было предела, что финов, руководства, что моей :), только моя коллега была в печали :( - я ещё и месяца не проработал, а она уже пятый год, а лавры, в том числе финансовые, мне :) итог - создала такую обстановку, что я психанул по молодости и ушёл :(
затем было немало случаев в работе, когда оптимизировал процессы, находил и исправлял баги софта и ошибки сотрудников, но этот первый запомнился больше всего.

Tragern
30.10.2025 06:05Настоящий хитрый план.
Совмещаем последний абзац с описанием итога всех дел с первым.
Берëм Джуна к себе, обучаем его этой программе (настолько, чтобы он умел ей пользоваться, но не знал как программировать), "сплавляем" Его в их отдел или как "непригодного", но знающего программу, или как крутого специалиста. Он программу заваливает, исходный отдел под материальное стимулирование мотивируют ей заниматься, Джуна можно забрать обратно или выкинуть.
Разумеется, всë на этапе знания о разработке только внутри своего отдела стоит начинать.
PabloP
Работал в банке, в 2000-х. Был отдел бухгалтерский, который в том числе занимался переоценкой ценных бумаг, которые покупались/продавались в течении месяца в произвольном порядке, цена покупки и продажи одной и той же бумаги менялась. торговали через Альфа-Банк (просил их сделать выгрузку не в в корявом csv нескольких типов - а в XML, сделали но стало только хуже). Необходимо было для каждой партии акций посчитать сколько из них куплено/продано, какая маржа. Метод учета FIFO. Ежедневно бухгалтера вели пересчет вручную всех таких операций, занимало это примерно пол-дня у одного человека. Месяц они пытались объяснить как они делают расчет. Опосля я им написал программку, загрузка + пересчет занимал минуты 3-4 (и по большей части из-за убогих csv, которые приходилось грузить в несколько этапов), сделал визуализацию расчета. Тетя - стала пол-дня в день ничего не делать, потом она забыла как делать расчет, потом - как делать пререоценку ))). При этом сделал пересчет за предыдущие месяцы - нашел кучу ошибок, они в деньгах были небольшие , но были )).
kneaded
Тётю тоже уволили?