Несколько слов о самом заводе
Амурский судостроительный завод занимается выпуском боевых надводных кораблей и подводных лодок – атомных и дизельных. В том числе занимается прочей гражданской продукцией, но это буквально 5% оборота.
История, общее описание и стратегия
Как было до того, как мы пришли?
В 2012 году учет на нашем заводе велся приблизительно так:
- Бухгалтерия передавала «первичку» в отдел IT, и они:
- либо отдавали ее операторам, чтобы они вручную заносили эти данные в эмулятор IBM,
- либо (если «первичка» в электронном виде) ее передавали программистам, и они с помощью специальных скриптов тоже загружали все в эмулятор.
- Эмулятор IBM по своим заложенным еще в 80-х годах алгоритмам формировал отчеты (так называемые табулеграммы), баланс и все остальные, и распечатывал их на серой рулонной бумаге двойного назначения (в нее можно было и пирожки заворачивать, и бухгалтеры могли в ней читать свои отчеты).
На этом слайде слева вы как раз можете видеть устройство для ввода данных в эмулятор IBM: это реальная вещь, которую мы сфотографировали в кабинете операторов, именно такие использовались в 2012 году.
Я думаю, вы понимаете те риски и возможности, которые рождала такая система. Она уже один раз «падала», зарплата не начислялась – это был шок, срочно кто-то поехал в Минск искать разработчиков этого эмулятора.
Выбор платформы внедрения
Перед началом процесса внедрения нам необходимо было выбрать платформу для автоматизации. Мы выбирали ее из нескольких систем: MS Navision, Галактика и 1С. SAP даже не рассматривался, потому что все мы понимаем, что это – космические деньги.
- Система MS Navision была внедрена на соседнем судоремонтном предприятии (на Дальзаводе, во Владивостоке). Правда, потом мы потом ее оттуда убрали, но одно время она там работала и даже использовалась.
- Системой «Галактика» у нас пользовались крупные энергетические конторы. Это интересное решение, но мы понимали, что нам придется сильно дорабатывать его под себя, а Галактика больших возможностей в этом плане не дает.
- А 1С был внедрен на Хабаровском судостроительном заводе и еще на «Северной верфи» – в предприятии, которое с нами схоже, и даже входит в единую холдинговую структуру с «Амурским судостроительным заводом».
В итоге мы выбрали 1С, а конкретно – Бухгалтерию и УПП. Почему такой странный выбор?
- С УПП понятно, потому что предприятие – производственное. Правда, в УПП мы автоматизировали только блок управления персоналом – он везде преимущественно типовой, а поскольку законодательство очень часто изменяется, нам было нужно, чтобы этот блок был на хорошей поддержке.
- А Бухгалтерию мы взяли как базовый продукт, в котором можно достаточно легко доработать необходимые нам вещи.
Причины выбора я уже назвал. Это стоимость, наличие специалистов на рынке труда, возможность собственной достаточно глубокой доработки, которая может нам понадобиться, а также опыт вышестоящей холдинговой структуры (ДЦСС и ОСК, которые уже давно используют 1С).
Структура проекта
Когда только приступали к проекту, мы представили структуру предстоящей нам автоматизации глобально в виде пирамиды, которая по уровню инкапсуляции поднимается вверх от устройств до стратегии, проходя несколько уровней. И сам процесс внедрения мы начали на втором уровне – на уровне приложений и бизнес-функций.
Мы разделили бизнес-функции на три блока:
- Это ФХД (финансово-хозяйственная деятельность) – весь регламентированный, налоговый учет, все экономисты, затратные отчеты и все остальное.
- ПРЗП (блок управления персоналом) – зарплата, кадры, технормирование, внесение данных о выработке сотрудников.
- И УП (управление производством). В этом блоке у нас 1С не используется: там задействована своя система, которая управляет выдачей документации в цех и технологией, и мы с ней в итоге интегрировались.
История основных доработок в проекте
Краткая хронология разработки по годам:
- Начали мы с регламентированного учета, это было примерно во втором квартале 2012 года. Сделали и полностью запустили его к 2013 году. Фактически, все эти девять месяцев мы постепенно вносили остатки, поскольку их было очень много, и они были очень неформализованные. До этого каждый отдел вел учет в табличках Excel с использованием своей аналитики, и все это в итоге стекалось в эмулятор IBM, который уже выдавал результирующие остатки по счетам. Загружать все это в 1С было практически нереально – мы что-то загрузили, а что-то внесли вручную.
- Также в 2013 году мы внедрили блок казначейства: его можно внедрить достаточно быстро, если есть хороший инструментарий – мы использовали для этого БИТ-Финанс.
- В 2014 году мы перешли к автоматизации налогового учета, бюджетирования, оперативного контура. Не все до конца сделали так, как мы этого хотели, но большинство блоков, которые нам точно были нужны, заработали. А остальное у нас осталось в качестве дополнительных хотелок, не основных целей.
- В 2015 году мы занимаемся автоматизацией МСФО и обеспечением производства ресурсами – реализуем специальный механизм проверки ресурсов. Имеется в виду ситуация, когда мы хотим проверить, какие учетные единицы мы можем произвести при текущем наличии на предприятии определенных станков, ресурсов и денег.
Какие основные доработки мы сделали?
- Позаказный учет – на судостроительном производстве это очень важно. В нашей трактовке заказ – это не заказ поставщику и не заказ на какое-то внутреннее производство. Для нас заказ – это плановая единица, то, в разрезе чего мы можем посчитать определенную трудоемкость и ресурсоемкость. Набор таких заказов объединяется в учетную единицу или «объект учета» – то, в разрезе чего мы собираем бюджеты. Например, учетная единица– это какой-то корабль, и у него может быть несколько заказов (основной корпус, надстройка, оснастка – те плановые единицы, которые мы принципиально должны или хотим разделить). У плановой единицы есть свой бюджет, поэтому все запасы, НЗП, доходы и расходы по заказу мы разделяем. Для этого у нас используется аналитика «Номенклатурные группы» на 10, 19 и 20 счете. Задумывались сделать это не на субконто, а на измерении, но при обсуждении от этого решения отказались.
- Начисление НДС. В судостроительном производстве и в строительстве применяется длительный цикл. Его смысл в том, что если у вас заказ реализуется за несколько отчетных периодов, то НДС по нему вы копите и при получении аванса не возмещаете сразу. И поэтому нужно НДС учитывать отдельно по каждому заказу.
- Самая сложная доработка – это распределение себестоимости и расчет остатков НЗП. Расчет себестоимости у нас производится в 1С, никакие отдельные системы мы для этого не применили, мы только полностью переписали алгоритм этого расчета. Типовые механизмы у нас вообще никак не используются – мы решили, что будет проще их написать с нуля. Это заняло у нас 3-4 месяца для получения рабочего варианта, и где-то, наверное, полгода или 9 месяцев для того, чтобы оптимизировать его время проведения (с 24 часов до нескольких минут).
- Еще одна доработка – это хранение всей отсканированной первички в системе (когда мы прикрепляем к документам файлы, и они у нас хранятся не в базе, а на отдельном хранилище). Эта доработка потребовалась из-за того, что нам нужно перед нашими основными заказчиками (военными) отчитываться именно в первичке: мы должны по всем документам сделать сканы и показать, какие именно материалы использовались для корабля.
- А также прочие доработки – для учета драгоценных металлов и по основным средствам.
Какие способы мы использовали для оптимизации решения задачи расчета себестоимости?
Математически в нашем алгоритме расчета себестоимости используется матрица и решение системы линейных уравнений. Размерность матрицы примерно 15000 значений (в среднем, от 12000 до 18000).
- Хотя 1С – это учетная система, она, как выяснилось, с цифрами работает очень плохо: изначальное время работы этого алгоритма было около 24 часов.
- После оптимизации запросов и кода в 1С мы получили результат 2 часа 15 минут.
- Естественно, хотелось еще быстрее. Поэтому мы вынесли расчет матрицы в отдельную dll, которую написали на C#. В результате, наш 1С-ный сервер готовит матрицу и скармливает ее этой dll, чтобы она эту матрицу решила и выдала результаты. Таким образом, мы увеличили производительность до 5 минут, и это не шутка.
Точно таким же образом мы вынесли другой хардкорный блок в такую же библиотеку – у нас там в определенном месте математически применяется комбинаторика. Работает, естественно, быстрее.
Расширение функционала
Еще мы дополнительно расширили нашу бухгалтерскую подсистему – внедрили БИТ Финанс. Тем самым реализовали:
- Казначейство,
- Бюджетирование,
- И соблюдение нового 159 ФЗ, который нас очень сильно ограничивает в платежах и заставляет серьезно отчитываться перед банками (это несколько ударило по нашим возможностям оплаты различных услуг).
В этой табличке расписаны бизнес-функции, которые были разработаны для ФХД. Кроме бюджетирования, казначейства и управления договорами, про которые я уже говорил, для них также были автоматизированы блоки:
- Управление закупками
- Оперативный учет материальных ресурсов
- И сейчас мы подходим к МСФО. Оно уже работает, есть выборка адаптированных данных для таблиц МСФО, но мы еще не внесли его в базу.
Интеграция с производственной системой АСТПП
Производственная система АСТПП, о которой я говорил вначале, у нас на заводе работает уже очень давно. Она была создана еще в СССР в 1988 году. И все это время она успешно работала. Постепенно ее улучшали, переписывали, дорабатывали. И последние 5 лет ее потихоньку переписывают на .NET.
Из функционала – что эта система делает?
- В ней хранится справочник материалов. Он огромный, в районе 80000-100000 различных номенклатурных позиций, и почти все они задействованы в спецификациях.
- Также в системе АСТПП производится технологическая подготовка производства. Она заключается в том, что система генерирует документацию (материальные и инструментальные карты), выдает их в цех, и цех знает, что он должен изготовить, за чем сходить на склад, и как сделать продукт.
- Еще в этой системе у нас хранятся нормы трудоемкости и материалоемкости.
В 1С у нас учитывается фактическое производство, а в производственной системе – производственные планы. Мы эти данные пытаемся интегрировать и показать нашим пользователям. Как это происходит?
- 1С с помощью внешнего источника данных или с помощью COM-объекта обращается к базе АСТПП и получает оттуда нужные данные
- И потом либо создает элементы справочников, либо выводит информацию в какие-то печатные формы.
Почему для интеграции с АСТПП используется два варианта – COM и внешний источник данных? Я думаю, всем понятно, что в настоящее время внешний источник данных не обладает достаточной функциональностью, и много чего там сделать нельзя. Но, тем не менее, в некоторых моментах его использовать удобнее, чем COM:
- В частности, в контроле и план-фактном анализе нормо-часов и материалов, а также для доступа к ведомости заказа материалов мы используем обращение через внешний источник данных.
- А при синхронизации справочников мы используем COM.
Нормы завод устанавливает не сам, их устанавливают проектанты (это может быть либо «Алмаз», либо «Рубин», «Малахит», иные питерские и московские предприятия), они с помощью известных им средств эти нормы рассчитывают (или берут их с других заказов, с других заводов). И данные об этих нормах у нас хранятся в базе АСТПП.
Вот пример печатной формы в 1С. Синим цветом показано, сколько должно быть материала по норме (это те данные, которые берутся из системы АСТПП), а данные из 1С (обычные обороты материалов) обозначены здесь желтым. В результате видно, когда, на какой заказ сколько ушло, а сколько осталось. Например, эти карточки иногда у нас смотрит финансовый директор, чтобы принять решение – нужно ли покупать этот материал или нет. Суть в том, что если раньше для этого нужно было перерыть кучу бумаг, то сейчас мы это все вывели пользователям в одном окне, в котором они могут эти данные увидеть. И таких отчетов у нас достаточно много. Это всего лишь один из примеров.
Развитие и планы на будущее
О размерах базы, о количестве сотрудников.
- В базе Бухгалтерии может быть одновременно около 200 пользователей. Мы добавили туда много дополнительных блоков, данными из которых пользуется достаточно много людей, которые там смотрят только отчеты.
- В УПП примерно 100 пользователей. Это только начальники цехов и кадровики – небольшое количество людей, которые занимаются внесением сдельных нарядов.
По размерам баз – как вы видите, они у нас не очень большие.
Первички у нас много, и ее количество постоянно растет, поэтому мы ее решили ни в коем случае в базу не добавлять.
Куда мы хотим вырасти?
Для трех наших основных блоков интересны разные решения – и склад, и обучение персонала. Ко всему этому мы постепенно пытаемся подойти.
Если вернуться к графическому виду нашей схематической «пирамиды автоматизации», то мы постепенно охватываем первый, второй и третий уровень. До уровня устройств мы еще пока не дошли, но очень хотим.
************
Данная статья написана по итогам доклада, прочитанного на конференции INFOSTART EVENT 2015 CONNECTION 15-17 октября 2015 года.
Приглашаем вас на новую конференцию INFOSTART EVENT 2019 INCEPTION.