Владимир Болычев: История одной автоматизации

Владимир Болычев

1. Как все начиналось

Несколько лет назад я пришел на работу в одну московскую строительную компанию. До этого я занимался научно-исследовательской деятельностью в некой государственной организации и со строительством был никак не связан. В силу своего образования (МИРЭА) я имел общее представление о системах автоматизации, неплохо знал Word и Excel, имел некоторый опыт написания небольших расчетных программ. В строительной компании мне поручили заниматься «снабжением» и расчетами с поставщиками. Для того чтобы понять проблемы, с которыми я столкнулся, необходимо немного остановиться на описании деятельности нашей строительной компании.

Специфика нашей компании - выполнение строительно-монтажных и ремонтно-отделочных работ. Примерно 90% всех договоров компании составляют госбюджетные заказы. В течение года компания выполняет ремонтно-строительные работы примерно на тысяче объектов. Работы выполняются как собственными силами, так с привлечением cубподрядчиков. Одновременно работы ведутся на 3-х - 4-х сотнях объектов. В снабжении объектов задействованы несколько десятков поставщиков материалов и комплектующих.

Хотя наши объекты в основном «мелкие», объем бумаг, которые необходимо оформить на каждый из объектов, - такой же, как и на большие стройки. Многие документы, такие как акты скрытых и раскрытых работ, дефектные ведомости, и т.п., создавались рукописным образом. На оформление одного комплекта документов уходили часы кропотливой и утомительной работы. А за день бывало необходимо выдать больше десятка таких комплектов.

Кроме оформления множества бумаг проблему составлял поиск (подбор) счетов от поставщиков материалов для предоставления заказчику. Дело в том, что при закрытии госбюджетных работ счета поставщиков должны прикладываться к актам выполненных работ. Для того чтобы выбрать нужные счета по сдаваемым объектам из вороха поступивших, каждый раз необходимо было затратить не один час времени. А еще надо было сверять выплаты поставщикам с фактом поставок (с накладными), успевать отслеживать долги заказчиков и задолженность субподрядчикам и поставщикам. И все это осуществлялось вручную (с помощью таблиц Excel), так как стоящая в бухгалтерии программа «1С» использовалась только для целей формирования внешней отчетности (не было пообъектного учета, расчета себестоимости объектов, отсутствовал учет инструментов и т.п.).

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

2. Спасение утопающих дело рук самих утопающих

В нашей строительной компании не было (и до сих пор нет) чего-либо похожего на отдел информационных технологий. Поддержка программы «1С» и техническое обслуживание компьютеров осуществляется по принципу аутсорсинга. Поэтому поиском подходящей программы для автоматизации собственной деятельности я занимался сам. К тому времени я уже хорошо понимал, что я хочу получить от новой программы. Какие-либо частичные решения с эффектом менее 300% (если рассматривать экономию моего времени) меня совершенно не устраивали. Программа должна была делать за меня 95% той рутинной работы, которой мне приходилось заниматься.

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

Поток данных Проблемы Идея по автоматизации
1. Данные от прорабов с объектов выполнения работ: Заявки на материалы Товарно-транспортные накладные и др. Большой объем заявок и накладных. Потеря документов. Большие затраты на поиск документов. Минимизировать затраты на ввод данных путем: сканирования поступающих заявок и накладных, использования программы WinFax для приема факсов, привязки отсканированных и принятых по факсу документов к объектам выполнения работ, автоматической подстановки справочной информации: вид документа, фамилия прораба, адрес объекта, дата и др.
2. Заявки поставщикам материалов и комплектующих. Счета от поставщиков за поставленные материалы Большие затраты времени на формирование заявок. Проблема сопоставления счетов от поставщиков с фактом поставок (с накладными) Использовать при формировании заявок поставщикам исходные заявки прорабов. Исключить саму необходимость анализа счетов от поставщиков. Формировать самим заявки на выставление счетов, направляя поставщикам (по электронной почте) комплекты завизированных прорабами на объектах товарно-транспортных накладных для оформления счетов в наш адрес
3. Пакеты документов на закрытие актов выполненных работ Большое количество документов, которые необходимо оформить или найти и приложить к акту выполненных работ Автоматически создавать необходимые документы на основе полученной «процентовки» выполнения работ (как это в принципе можно сделать мне было понятно). Иметь возможность просмотреть список присоединенных к этапу работ первичных отсканированных документов и выдать нужные на печать
4. Акты, Счета, от Субподрядчиков Проблема сопоставления счетов от Субподрядчиков с фактом выполненных ими работ Исключить саму необходимость анализа счетов от Субподрядчиков. Формировать самим заготовки счетов в соответствии с данными, полученными от прорабов, и направлять их Субподрядчикам (по электронной почте) для оформления в качестве официальных документов
5. Банковские выписки Большое количество платежей (до сотни в день). Большие затраты времени на привязку банковских выписок к выставленным счетам Автоматизировать процедуру разноски банковских выписок по счетам из системы «клиент-банк», используя реквизиты: контрагент, дата, сумма.

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

Кроме функций, которые должна была автоматизировать искомая программа, мной выдвигались дополнительные требования и ограничения:

  • программа не должна быть намного сложнее уже известного мне Excel;
  • программа не должна быть дороже 700 долларов (больше руководство мне не выделило);
  • я должен иметь возможность самостоятельно и без больших временных затрат развивать функциональность программы;
  • программа должна позволять легко стыковаться с внешними устройствами (сканером) и другими программами («1С», Excel, WinFax);
  • программа должна уметь «размножаться» и работать одновременно на многих компьютерах с одной базой данных;
  • использование программы не должно нуждаться во внешней технической поддержке (я не должен зависеть ни от кого кроме самого себя).

3. Поиск идеального решения

Сформулировав требования и ограничения, я стал искать соответствующую этим требованиям программу. Очень скоро я понял, что ничего удовлетворяющего моим требованиям никто предложить не может. Все работают с договорами, накладными и счетами, но не так, как мне было нужно. Для того чтобы обработать мой поток данных по реализованным в этих программах технологиям - нужно было задействовать чуть ли не десяток операторов. Эффект от такой автоматизации, по моим понятиям, - был бы для нашей строительной компании отрицательным. Многие предлагали «доработать» свои программы под мои требования, но это уже означало превышение установленной планки затрат и зависимость от внешних разработчиков. Такой вариант создания системы автоматизации не соответствовал заданным ограничениям.

Прошел месяц, а идеальное решение найдено не было. Моя строительная компания планировала значительно увеличить объем выполняемых работ. Меня неизбежно должен был накрыть и поглотить растущий поток данных. И тут один приятель рассказал, что на экономическом факультете МГУ им. М.В.Ломоносова магистрам преподается практический курс по созданию информационных систем с помощью уникальной программы-конструктора. Достал я телефон преподавателя этих курсов и договорился о встрече.

Преподаватель курсов (Стариков Евгений Вениаминович) оказался одним из разработчиков бизнес-конструктора. Система называлась Treelogy (Трилоджи), что в вольном переводе означало «Логическое Дерево». Стариков с ходу заявил мне, что моя задача совершенно тривиально может быть решена в Treelogy мной самим (!) и, чтобы не тратить времени на долгие объяснения, построил дерево из объектов: «Моя организация», «Заказчики», «Поставщики», «Расчетные счета». Для каждого из этих объектов на нижерасположенном уровне он разместил по одному «конкретному» объекту: «Объект выполнения работ школа № 123», «Заказчик госбюджетный», «Поставщик красного кирпича», «Расчетный счет №1420». Далее он стал с помощью «мыши» перемещать между этими узлами дерева кирпичи и деньги. При этом справа от дерева сами возникали строки с описанием перемещений, в которых он указывал конкретное количество перемещенного и делал ссылки на оказавшиеся в компьютере рисунки и текстовые файлы, имитируя привязку к сопровождающим перемещения первичным документам.

Через 10 минут с начала эксперимента мне было показано, что в узлах дерева у нас сами собой образовались остатки всех выполненных перемещений (хотя ни одного вычислительного оператора введено не было!), а из любого выполненного перемещения мы можем раскрутить цепочку предшествующих и последующих действий. Это произвело на меня сильное впечатление. Я понял, что вот так перемещать «мышью» грузы и деньги я тоже сумею, а, следовательно, с помощью этого инструмента я действительно смогу сам решить свою задачу.

Далее выяснилось, что в случае выбора Treelogy будут удовлетворены и все имеющиеся у меня ограничения. И даже СУБД мне изучать никакое не надо, так как Treelogy от СУБД никак не зависит: работает со всеми популярными (MS SQL, Oracle, Interbase и др.) в том числе и с базой Access, которая у меня на компьютере уже была. Оказалось, что и искусству проектирования структуры базы данных мне тоже учиться не надо. Для всех пользователей Treelogy понятие «структура базы данных» исключено как класс. Существует только модель из построенных пользователями деревьев объектов и характеристик этих объектов. Характеристик у объектов может быть сколько угодно, и они могут быть любого вида. В Excel у меня в качестве «характеристик» могли быть только числа, текст и формулы. А в Treelogy в качестве «характеристик» дополнительно могли быть и списки, и таблицы, и процедуры, и графические изображения, и документы. Если же мне нужно будет что-нибудь найти, то я должен вызвать Конструктор запросов, который покажет мое дерево с характеристиками, и предложит прямо на нем задать ограничения (условия) для отбора требуемого результата. А любой отобранный результат я смогу тут же (при желании) смотреть и редактировать в Excel. Меня это очень даже устраивало.

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

4. Что получилось

С момента начала моей работы по автоматизации собственной деятельности прошло 3 года. Все когда-то задуманное у меня получилось! Другие сотрудники нашей строительной компании, видя, как ловко я управляюсь с лавиной идущих на меня документов, стали просить меня автоматизировать и их деятельность. Я это постепенно делал, не отрываясь от своей основной работы. В результате сейчас Treelogy установлена на десятке компьютеров, а один сотрудник на фирме выполняет работу чуть не целого отдела. Я по-прежнему отвечаю за «снабжение» и все расчеты (с Поставщиками, Заказчиками, Субподрядчиками). По-прежнему провожу много времени на работе (похоже это специфика всех строительных компаний). Однако характер моей деятельности существенно изменился: раньше мне приходилось все время нажимать на клавиши, а теперь я больше с людьми общаюсь. А на компьютере - запущу пакетный режим обработки документов и, пока он трудится, успеваю сыграть партию на бильярде в нашей комнате отдыха.

За истекший период времени наша строительная компания сумела более чем в 3 раза увеличить свой портфель заказов без увеличения численности управляющего персонала на объектах и в центральном офисе. Процессы обработки документов, на которые уходили многие часы кропотливой и утомительной работы происходят почти полностью автоматически с минимальными затратами ручного труда. Довольна и бухгалтерия, которая по-прежнему использует программу «1С». Теперь основной объем необходимых (и достаточных) им данных поступает из Treelogy и автоматически распределяется в соответствующие таблицы базы данных «1С» (с этой технологией мне пришлось повозиться вместе со специалистом по «1С»). Компания «Аудитлэнд» (та, что продвигает Treelogy) считает мое внедрение образцово-показательным и периодически привозит потенциальных клиентов для демонстрации моих достижений.

Что я обычно показываю таким посетителям:

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

B.  Пакетный режим формирования комплекта документов на закрытие актов выполненных работ
 Из «Процентовки», представленной файлом в формате Microsoft Excel, автоматически создаются необходимые документы (акт скрытых работ, акт раскрытия, дефектная ведомость, акт сдачи приемки) в виде отдельных страниц этого же файла, при этом вся необходимая информация (о заказчиках, и т.п. берется из базы данных Treelogy). Полученный комплект документов можно затем просмотреть, подредактировать и распечатать для передачи Заказчику. Подготовка полного комплекта документов занимает 10-15 минут, в то время как при полностью ручной обработке на это обычно уходило более часа. По различным причинам документы на закрытие актов часто приходится переоформлять. Раньше это было общей головной болью. Теперь это для нас не проблема.

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

D.  Процесс взаимодействия с программой «1С» и электронной почтой
Счета и счета-фактуры, созданные в Treelogy автоматически передаются на регистрацию в «1С» (там ведь они тоже нужны бухгалтерам). Счета и счета-фактуры, которые требуется доставить контрагентам, автоматически рассылаются по электронной почте.

E.  Подготовка комплекта документов для участия в конкурсе
Стандартный комплект документов для участия в конкурсе на строительные работы составляет ~180-200 страниц. Документы, составляющие комплект, были отсканированы и размещены в Treelogy. В Treelogy была создана табличная форма, где перечислены эти документы и рядом с ними находятся «окошки», куда можно проставить «галочки» и задать таким образом требуемый алгоритм печати. Это позволило уйти от рутинной работы, связанной с подбором ксерокопированием конкурсной документации.

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

Заключение

На основе Treelogy мною разработано множество несложных, но весьма полезных и эффективных для нашей деятельности программ. Можно заявить, что я очень рад, что судьба в свое время свела меня со Стариковым и таким инструментом как Treelogy. Были ли у меня проблемы с использованием этого инструмента? Ограничений по его возможностям я до сих пор не вижу. Единственно: как только база данных достигает размера в полтысячи мегабайт, - мой Access «тормозить» начинает. Эта проблема решается переходом на СУБД MS SQL, чем я сейчас и занимаюсь, постепенно перегружая данные из Access в SQL. Пока приспособился разделять мою базу данных под Access на старые и новые фрагменты. Благо, что Treelogy умеет одновременно работать с несколькими базами данных.

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

P.S. Смотрел тут один программист реализованную мной систему и сказал, что он все это мог бы и на DELPHI сделать. Может, и мог бы. Думаю только, что вряд ли бы он что-то с ходу сделал. Видел я, как коллеги в других строительных компаниях программистами автоматизированы, - и только диву давался: сколько людских ресурсов и денег без толку тратится. Хорошо, что я не доверил никому создание «моей» системы. Много в нашем строительном бизнесе тонких моментов. Свою систему я постепенно, итерациями строил. И теперь могу заставить ее делать все, что мне дальше потребуется. Считаю ли я свою систему уже совсем готовой? Как только начинаю так думать, непременно директор новую задачу поставит. Похоже, этот процесс совершенствования не закончится никогда.

Эта публикация была размещена на предыдущей версии сайта и перенесена на нынешнюю версию. После переноса некоторые элементы публикации могут отражаться некорректно. Если вы заметили погрешности верстки, сообщите, пожалуйста, по адресу correct@e-xecutive.ru
Комментарии
Оставлять комментарии могут только зарегистрированные пользователи
Статью прочитали
Обсуждение статей
Все комментарии
Дискуссии
Все дискуссии
HR-новости
Советские праздники отменят

С 1 февраля 2020 года могут быть отменены некоторые профессиональные праздники.

Водителей Uber взяли в штат

На новых сотрудников будут распространяться такие социальные гарантии, как страховка, декретный отпуск и др.

Ford заботится об уволенных

На выплаты и аутплейсмент для уволенных сотрудников американская штаб-квартира Ford выделила $200 млн.

Половину россиян заменят роботы

Ученые РАНХиГС подсчитали: через десять лет 45,5% человек на рынке труда России смогут быть заменены роботами.