Продолжаю цикл статей из серии давно минувших дней.

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

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.

Теперь, когда меня попросят рассказать о провальном проекте и что бы я сделал иначе, я знаю, о чем рассказать :)

Были у вас подобные случаи? Делитесь в комментариях.

Комментарии (8)


  1. PabloP
    30.10.2025 06:05

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


  1. antiquar
    30.10.2025 06:05

    Работая в одной конторе (пусть будет контора №1), разработал технологию, которая существенно снизила логистические затраты (в разы).
    Проблема была в том, что контора №1 а) была государственная, б) снижение ее расходов означало такое же снижение доходов другой конторы, №2, которая оказывала конторе №1 определенные услуги, и тоже государственной. Поэтому через полгода моя технология была объявлена неправильной, а логистику было велено рассчитывать, пользуясь программным продуктом, также предоставляемым конторой №2. После этого показатели вернулись на прежний уровень, и все стало хорошо ;)


    1. Xexa
      30.10.2025 06:05

      Иногда не зная всей картины, какие-то действия/решения смотрятся бредовыми. А картина раскрывается потихоньку с каждым уровнем доступа.

      К слову про "разговоры на кухне, как надо управлять государством".

      Собственно не знаю что конкретно и как было в конторе1 и конторе2, но расскажу гипотетическую ситуацию которая могла бы быть в Лаосе.

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

      Где взять деньги? Ну и тут возникают схемы, когда в рамках закона можно где-то провести больше, оплатить налоги как положено с этого, отчитаться перед всеми за эти суммы. Но вот в реальности использовать какую-то сумму для нужд развития организации и социальных(опять же поддержка сотрудников). Изначально я не понимал почему так идёт оплата того или иного момента, но когда погрузился и узнал, то понял, что иного способа и нет законного в тех условиях. А если не делать, то развиваться нена что было бы.

      Несомненно и на развитие личного благосостояния начальника. Почему и нет?


      1. antiquar
        30.10.2025 06:05

        Иногда не зная всей картины, какие-то действия/решения смотрятся бредовыми. А картина раскрывается потихоньку с каждым уровнем доступа.

        Так я же и не претендую на полную и объективную картину ;)

        С моей кочки оно вот так вот выглядело, а там - кто знает.


  1. triviumfan
    30.10.2025 06:05

    Примерно в те же года я часто натыкался на рукописное распределение, а потом обнаружил полезную функцию из БСП:

    ОбщегоНазначенияКлиентСервер.РаспределитьСуммуПропорциональноКоэффициентам()


    1. rt001 Автор
      30.10.2025 06:05

      Отличная функция

      Но это 1с8, а у них была 1с77 бух (файловая), да еще и устаревшая не знаю на сколько. Ее там дописывали костылями много лет, поэтому об ИТС речи не шло.

      Просто для понимания, как все было плохо:

      У них был отчет, который в цикле вызывал метод БухИтоги.Рассчитать() ааахаха

      Можете представить, сколько это работало. Они его запускали в ночь, чтобы к утру было готово)) Разумеется, я его переписал потом, но сам факт.

      И я даже не могу представить, как его отлаживали изначально. Тоже на ночь запускали?))


  1. denco78
    30.10.2025 06:05

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

    Там еще эти серии номенклатуры. Насколько я понял, учет по ним в той конторе вообще не нужен был. Он вроде бы только для импорта. Но не смог убедить ни главбуха, ни менеджеров, что он не нужен. Мол, тут так уже 15 лет работают, не тебе менять. Кто-то изначально, при настройке базы включил учет по сериям номенклатуры - так и его и ведут.
    УТ 10.2


    1. akod67
      30.10.2025 06:05

      представляю что будет, когда к ним занесут бухИИшку =)