Ответы к посту
Про perl и годовой баланс
152

Ответ Seegurd в «Про perl и годовой баланс»

Как тут принято на пикабу - ответ на ответ на ответ... Но к посту о таблицах эксель моя история подходит больше всех.


Когда после вступления приговора в силу (дтп с трупом) меня после девяти месяцев в следственном изоляторе  перевели (перевезли) в колонию-поселение, контраст с бетонным кубом следственного изолятора не давал покоя еще месяц. В колонии-поселении свободное передвижение по территории в гражданской одежде - это было самое удивительное, что за девять месяцев в сизо превратилось в невероятное.


По прибытии в КП в соответствии с законом, нужно попасть на беседу с сотрудниками отделов безопасности, воспитателей, оперов, тыла, ну и с начальником поговорить. И везде отвечать на одни и те же вопросы.


Я рассказал им все как есть, что по образованию программист, но ни дня не работал по специальности, потому как получил второе высшее (ПГС) и работал проектировщиком до взятия под стражу.


После обязательного двухнедельного карантина меня практически сразу на "воспитательную" беседу вызвали начальники отрядов (это воспитатели в МЛС) и "предложили" работать у них за ПК - таблицы, отчеты, журналы писать, в общем весь формализм, который от них требует закон и который они не хотят делать.


Объясняю, почему "предложили" в кавычках - отказ от оплачиваемой работы, это нарушение статьи 103 УИК РФ, считается злостным нарушением и автоматически через штрафной изолятор и после суд, по представлению колонии - отправление на общий режим. КП была режимной, образцово-показательной, прокуратура ездила туда как к себе домой, при этом были и смотрящие, которые как бы смотрящие, а как бы и нет. Понятия существовали условно, чтобы сдерживать "стремящихся", кто нахватался вершков на сизо или еще поймал "ауе" на свободе. Меня малость тоже на сизо обработали урки (еще бы, когда весь "белый цвет" уркаганского мира видишь каждый день почти год - и не захочешь, примешь "правильный образ жизни").


Но я отвлекся, на согласие мне дали неделю подумать, в случае отказа мне светил перевод на общий режим. Ходил я думал неделю, уезжать не хотелось, а срока мне на тот момент оставалось три с лишним года, поэтому согласился (в итоге не пожалел, но это другая история). При этом, хочу обратить внимание, что такой рутиной на всех зонах в России занимаются зеки, хотя законом запрещено не то что допускать к закрытым данным (ДСП), но и подпускать к компу кого либо из осужденных.


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


В общем, как сказал предыдущий автор, навыков и знаний vba и макросов мне хватило, чтобы создать в экселе базу данных зеков колонии-поселения, с текущим и архивным составом, со всеми данными по зекам, их срокам, приговорам, специальностям, родственным связям, данные по местам работы на КП, по зарплате, по отчислениям по исполнительным листам потерпевшим и т.д. Моя база даже писала типовые характеристики, которые нужны на каждого освободившегося. Так как текучка на КП большая в связи с небольшими в основном сроками ЛС, менты долго их не заполняли, эту функцию я добавил, когда собирался приехать прокурор и проверить все документы по уже освободившимся, а их не делали около полутора лет. Руками было бы очень долго писать характеристики.


База делала больше, она составляла отчеты для прокуратуры, напоминала об УДО, отправляла сведения в бухгалтерию, делала личные карточки осужденных с фотографиями и еще много чего. То, что до этого занимало у ментов (и зеков до меня) ОЧЕНЬ много времени, база делала за минуты, главное было поддерживать актуальность сведений.


У воспитателей актуальную версию базы просили и другие отделы (все), просили внести туда их сведения, оптимизировать их работу, что и было сделано. В итоге работа ускорилась в разы, а у меня появилось много свободного времени (с интернетом, книгами и магистратурой). Правда менты тоже придумывали постоянно, как себя разгрузить, и подкидывали мне все новые задачи - позже я начал писать характеристики и представления на удо, ответы прокурорам, ответы на письма, поступающие в КП.


Правда все возложенное на меня, после сыграло с ментами злую шутку. После того как приняли поправки о пересчете сроков и моего освобождения по УДО, менты "сломались". Они привыкли пинать на службе и все свои задачи перекладывать на меня. После моего освобождения, они около года еще звонили (а я чаще не брал трубку, чем брал), зеки с базой справиться не смогли, менты тоже и в итоге ее похерили. Кроме этого, начальство привыкло оперативно получать информацию из базы, а менты без меня ее предоставить не могли и получали от начальства люлей, некоторых уволили, кого-то перевели и понизили в должности  (это уже рассказывали зеки, с которыми я остался на контакте).


Так что такая история. Мораль наверное - не перекладывай на других то, что должен делать сам.

Ответ Seegurd в «Про perl и годовой баланс» IT, Макрос, Vba, Зона, АУЕ, Милиция, Ответ на пост, Длиннопост

Скрин основного модуля базы. Замылено, потому что там персональные данные осужденных.


P.S. То что два года работал в кабинете у ментов, имел доступ к пк и интернету, учился в магистратуре по юриспруденции, помогал зекам освобождаться по УДО, предупреждал "стремящихся" о том когда их увезут на общий режим, чтобы успели собрать вещи - не жалею, потому как отрицаю АУЕ и считаю приверженцев данной идеологии деструктивными сектантами. При этом никого не подставлял, а когда менты просили "запрокладить" кого нибудь (в первый год моего пребывания на КП) - ссылался на статью 28 Конституции РФ (Свобода совести).


P.S.S. В теги не умею, прошу прощения.


Ну и еще пару скринов базы для пруфов:

Ответ Seegurd в «Про perl и годовой баланс» IT, Макрос, Vba, Зона, АУЕ, Милиция, Ответ на пост, Длиннопост
Показать полностью 2
20

Ответ Seegurd в «Про perl и годовой баланс»

Пара историй из моей практики:

1. Обратилась как-то ко мне одна первокурсница удалённой формы обучения помочь с экзаменом по информатике. Ну как помочь - задачки простые на бейсике и, когда я начал ей объяснять как просто это делается, она лишь заморгала глазками. Я всё понял и вскоре сбросил ей все решения.

Первая сессия. Каждому студенту предоставлялся диск с программами для курсовых и экзаменов в форме тестов, результаты которых нужно было высылать в ВУЗ.

Программы явно написаны на дельфи, информация в запароленных парадоксовских БД.

Далее дело техники - взломал пароль, расписал поля и оформил всё это в приложении на билдере. Дальше всё-таки рутина - копируешь вопрос из программы-экзаменатора, переходишь в ЖУК (так назвал свою прогу), жмёшь кнопку "Сделать зашибись" и прожимаешь полученный ответ в тесте.

Позже ВУЗовские умники перенесли всё это в онлайн, но базы остались старые ;)


2. Друг устроился экспедитором в одну контору, где была куча рутинной работы в Экселе. Быстро смекнув что куда, написал макрос ускоряющий работу в разы.

Коллегам понравилось, пришлось поставить им и научить пользоваться. Вместо спасибо его начали выживать с должности. Друг не долго это терпел. Удалил свои наработки и уволился. На его место взяли двух тёток и те не справляются

32

Ответ Seegurd в «Про perl и годовой баланс»

Ответ на ответ
Ну, тогда уж и я расскажу про Perl. У нас был последний год, когда факультет учил Perl, следующий год уже учил Python. Пришёл я на первую работу, значит, весь такой в грудь пяткой бью, я знаю Perl - устаревший, никому не нужный язык, который при этом может, как описано в предыдущих постах, делать быстрые рутинные операции. Выяснил, что одна девочка из соседнего отдела пытается достать какие-то заявки с автоРУ, причём скопом, а у них нет публичного АПИ. Я и предложил, мол, давай парсер напишу. Поставили задачу, написал, и что вы думаете? Мало того, что не поженились, так даже чаем не напоили. А потом я оттуда уволился
Так что, новая мораль: знание даже основ программирования может и не пригодиться вам в совершенно непредсказуемых обстоятельствах. И не всегда случается Happy end

9521

Ответ на пост «Про perl и годовой баланс»

Ответ на пост «Про perl и годовой баланс» IT, Бухгалтерия, Отношения, Vba, Макрос, Программирование, Ответ на пост

Как сисадмин задумал на бухгалтерше жениться.


Я со своей будущей супругой тогда работал в одной конторе и в одном кабинете. Она бухгалтер, я - сисадмин. Мы только начали как-то общаться и слегка проявлять симпатию. Однажды пили чай вместе, болтали, и она рассказала, что уже неделю делает какую-то нудятину а-ля сведение нескольких огромных таблиц в Excel.


Конкретную задачу за давностью лет уже не вспомню, но примерно суть была в чем: берем строку из первого файла, там есть код транзакции. Во втором и последующих документах есть одна или несколько соответствующих строк этой транзакции, но с другими данными (платеж там на несколько разбит или еще что), при этом код этой строки содержит в себе код исходной, но формат у него другой, и даже несколько разных видов. Нужно найти эти соответствующие строки, посчитать по формуле числа из разных колонок, и если результат не сошелся с исходным файлом - значит чего-то там не бьется, и нужно по этим транзакциям уточнять.


Собственно задачей супруги и было составление списка транзакций и контрагентов, по которым чего-то не хватает. Документы по несколько сотен строчек каждый, и задача повторяется каждый квартал. Времени она на это обычно тратила около недели, головные боли и красные глаза прилагались.


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

Ну и короче моих знаний VBA и макросов Excel хватило на то, чтобы через пару дней я презентовал ей первый вариант "программы", где достаточно было положить все файлы в одну папку, обозвать нужными именами и нажать кнопочку "Сделать красиво" на форме - и спустя пару минут был готов итоговый файл, удовлетворяющий искомому результату. Список появился, нужные строчки в исходных файлах выделялись цветом, чтобы их можно было легко найти.


Девушка была в восторге, еще бы, потратить две минуты времени на то, что она раньше делала неделю!

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

Мораль: знание даже основ программирования может пригодиться вам в совершенно непредсказуемых обстоятельствах. Или нет.

Показать полностью 1
12507

Про perl и годовой баланс

Работал я в банке, в ~2007 году. По приходу в этот банк - закупил новый сервер, поставил в туда новый опердень, поднял DC, протянул и настроил сеть, закупил и настроил новые машины для операционистов, всё завёл, всё работает. Ну, такой банк, да. Да, не было сети у многих. Но речь не об том.

Дело идёт к концу года. Я уже сижу и просто мониторю машины, бэкапы. Чегототам программирую от нечего делать.

Замечаю что главбух (Г) уже неделю задерживается чуть ли не до ночи. Интересуюсь что случилось.

Г:- Да вот, годовой баланс свожу

Я:- Ну так опердень же умеет. Давайте найду как

Г:- Да опердень то умеет но проблема в другом. Во первых, в опердне только часть транзакций, с того времени как внедрили. Во вторых, есть старый опердень и там ещё часть транзакций за исключением тех, которые туда не попали из-за аварий и от тех транзакций осталось только платёжки.

Я:- Так, и что вы делаете?

Г:- Ну вот у меня есть старый опердень, есть новый, есть текстовые файлики с платёжками. Вот это всё в эксель переношу и считаю.

Я:- Понял. Могу помочь. Рассказывайте что в итоге должно быть и как считать.

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

Взял я в руки perl и пошёл говнокодить. Сначала разобрался с новым оперднем. Делал в него запрос, в БД, вытаскивал данные в нужном формате. Во вторых, старый опердень. БД - dbf. Тоже относительно просто откопал оттуда нужное. В третьих - файлики текстовые. Где-то cp866, гдето 1251... Конечно же регекспы! Провозился чуть дольше но и это осилил. Время от времени ходил к главбуху, показывал промежуточное и выяснял правильно ли иду. На третий день уже она начала мне помогать. Про двойную книгу рассказала, местами помогла найти ошибки в логике расчётов. В общем, недели две или три вот так вот мы с ней в команде работали и таки родили результат. Довольная была как не знаю даже кто. Говорила что сама бы провозилась месяца два минимум.

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

Показать полностью
Отличная работа, все прочитано!