Top.Mail.Ru
Переход на 1С:ЗУП КОРП с помощью Agile-подхода за 6 месяцев
Заказать звонок
image2.png

Заказчик: производитель электропитающего оборудования

Задача: перейти с ПО «Аспект» на 1С:ЗУП КОРП за полгода

Результат: использовали гибкий подход Agile, чтобы уложиться в сроки. Выгрузили данные для расчетов из старой SQL-базы, адаптировали формулы начислений под ЗУП, обучили пользователей, подготовили 1С к промышленной эксплуатации.


Ситуация

У заказчика был реализован производственный учет на Microsoft Dynamics Axapta, а кадровый — в старой программе «Аспект». Клиент обратился по рекомендации коллег из центра сопровождения Dynamics, чтобы перевести управление персоналом на 1С:ЗУП КОРП. 

Переход с «Аспекта» понадобился из-за прекращения поддержки. Это привело к невозможности сдавать актуальные формы отчетов в госорганы. Сама программа при этом продолжает работать, но трудозатраты от ее использования кратно возросли. 

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


Задача

Клиент обратился к нам в июне с задачей внедрить 1С:ЗУП КОРП к концу года. Чтобы уложиться в сроки, нужно было вести этапы обследования, моделирования и опытной эксплуатации параллельно. Тогда по плану в январе можно отключить «Аспект» и полностью перейти на 1С.


Решение 

Классическая схема проектов по переходу на новую систему занимает не менее 12 месяцев и выглядит так:

image3.png

Типовая схема внедрения системы

Вместо двенадцати месяцев у заказчика было шесть. Поэтому мы вели проект по методологии Agile. Чтобы успеть в сроки, этапы обследования, моделирования и опытной эксплуатации выполняли одновременно. 

image1.png

Agile-подход к проекту, который в разы сократил сроки внедрения

Со стороны Neti к проекту подключились 5 человек: два разработчика, два консультанта и руководитель проекта. Они взаимодействовали с командой заказчика из 6–8 человек, куда входили руководитель, главный бухгалтер, кадровики и расчетчики. 


Столкнулись с устаревшими технологиями

«Аспект» — программа для учета зарплаты, написанная на старом языке Delphi. Внешне она похожа на популярные лет десять-пятнадцать назад продукты «Парус» и «Галактика», которые тоже были созданы с помощью Delphi. За прошедшие годы рынок программ для управления предприятием изменился и основные ниши постепенно заняли решения фирмы «1С». Большинство клиентов мигрировали на новые продукты — но не все.

Погрузившись в проект, специалисты Neti столкнулись с техническими ограничениями, которые мешали переносу данных из «Аспекта» в ЗУП: 

В «Аспекте» не предусмотрена выгрузка данных в каком-либо формате. Из-за этого мы не могли экспортировать накопленные за годы работы данные, чтобы загрузить их в 1С.

В «Аспекте» нельзя посмотреть алгоритмы расчетов, потому что программа написана на Delphi, а исходников нет. Из-за этого мы не могли понять, откуда что берется, и проверить корректность алгоритмов.

Интерфейс «Аспекта» сильно отличается от привычного интерфейса 1С:ЗУП. Впрочем, это было меньшее из зол. 

В сухом остатке мы видели справочники, данные, структуру и названия SQL-таблиц в базе. Проблема была в том, что отсутствовали описания и мы не знали, какие именно данные хранятся в этих таблицах. 


Отказались от помощи разработчиков «Аспекта»

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

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

Так или иначе, нам пришлось самостоятельно разбираться в устройстве баз данных.


Разобрались в базе SQL и создали шаблон загрузки данных в ЗУП

В SQL мы видели список таблиц, их названия и структуру. По этой информации строили предположения, что в них хранится. Чтобы подтвердить или опровергнуть гипотезу, делали прямой запрос к базе и выгружали часть массива: по десять строк каждой таблицы. Затем оценивали содержимое, подходит нам оно или нет. Таким образом проверили все SQL-таблицы в базе. Эта работа заняла 3 месяца.

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

— изменить текст самого SQL-запроса;

— выбрать, из какой таблицы брать данные;

— указать нужные поля;

— выбрать, в какой объект 1С загружать данные;

— установить соответствие полей результата запроса и реквизитов объекта 1С.

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


Адаптировали формулы расчетов и обучили пользователей

Самой трудоемкой задачей консультантов оказалась сверка и адаптация формул расчета начислений. «Аспект» позволяет настраивать расчеты как угодно, но просто перенести их в ЗУП не получится, потому что в 1С используются типовые формулы. Консультанты разбирались в начислениях и вместе с пользователями приближали расчеты к типовым. На адаптацию формул ушло 2 месяца. 

Когда согласования завершились, мы перенесли данные в тестовую базу, и пользователи начали осваивать 1С. Во время переходного периода сотрудники заказчика параллельно вели два учета: основной — в «Аспекте» и проверочный — в ЗУП. 

Раньше пользователи не работали с 1С и для них это была абсолютно новая система, в которой предстояло научиться работать. Сотрудники заказчика изучали ЗУП и сравнивали расчеты в старой и новой программе. Если возникали расхождения, наши консультанты помогали находить причины и исправлять ошибки. 


Результат

Благодаря гибкому подходу мы за три месяца выгрузили данные сотрудников для начислений и адаптировали под ЗУП формулы расчета. На момент написания этого материала пользователи изучают инструкции и самостоятельно вводят данные для расчета начислений в рамках опытной эксплуатации 1С:ЗУП. Проект опережает график примерно на месяц, а если ориентироваться на классический подход к внедрению, то на целых 8 месяцев. 

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



array(103) {
  ["IBLOCK_TYPE"]=>
  string(4) "neti"
  ["IBLOCK_ID"]=>
  string(1) "7"
  ["TITLE"]=>
  string(23) "Другие кейсы"
  ["PARENT_SECTION"]=>
  int(0)
  ["NEWS_COUNT"]=>
  int(20)
  ["SORT_BY1"]=>
  string(11) "ACTIVE_FROM"
  ["SORT_ORDER1"]=>
  string(4) "DESC"
  ["SORT_BY2"]=>
  string(4) "SORT"
  ["SORT_ORDER2"]=>
  string(3) "ASC"
  ["FIELD_CODE"]=>
  array(0) {
  }
  ["PROPERTY_CODE"]=>
  array(4) {
    [0]=>
    string(8) "CUSTOMER"
    [1]=>
    string(7) "PROJECT"
    [2]=>
    string(8) "DECISION"
    [3]=>
    string(9) "SITUATION"
  }
  ["DETAIL_URL"]=>
  string(22) "/cases/#ELEMENT_CODE#/"
  ["SECTION_URL"]=>
  string(0) ""
  ["IBLOCK_URL"]=>
  string(0) ""
  ["DISPLAY_PANEL"]=>
  NULL
  ["SET_TITLE"]=>
  bool(false)
  ["SET_LAST_MODIFIED"]=>
  bool(false)
  ["MESSAGE_404"]=>
  string(1) "N"
  ["SET_STATUS_404"]=>
  string(1) "N"
  ["SHOW_404"]=>
  string(1) "N"
  ["FILE_404"]=>
  NULL
  ["INCLUDE_IBLOCK_INTO_CHAIN"]=>
  bool(false)
  ["CACHE_TYPE"]=>
  string(1) "A"
  ["CACHE_TIME"]=>
  int(0)
  ["CACHE_FILTER"]=>
  bool(false)
  ["CACHE_GROUPS"]=>
  string(1) "Y"
  ["DISPLAY_TOP_PAGER"]=>
  bool(false)
  ["DISPLAY_BOTTOM_PAGER"]=>
  bool(false)
  ["PAGER_TITLE"]=>
  string(1) "N"
  ["PAGER_TEMPLATE"]=>
  string(0) ""
  ["PAGER_SHOW_ALWAYS"]=>
  bool(false)
  ["PAGER_DESC_NUMBERING"]=>
  bool(false)
  ["PAGER_DESC_NUMBERING_CACHE_TIME"]=>
  int(0)
  ["PAGER_SHOW_ALL"]=>
  bool(true)
  ["PAGER_BASE_LINK_ENABLE"]=>
  NULL
  ["PAGER_BASE_LINK"]=>
  NULL
  ["PAGER_PARAMS_NAME"]=>
  NULL
  ["DISPLAY_DATE"]=>
  string(1) "N"
  ["DISPLAY_NAME"]=>
  string(1) "Y"
  ["DISPLAY_PICTURE"]=>
  string(1) "Y"
  ["DISPLAY_PREVIEW_TEXT"]=>
  string(1) "Y"
  ["PREVIEW_TRUNCATE_LEN"]=>
  int(0)
  ["ACTIVE_DATE_FORMAT"]=>
  string(5) "d.m.Y"
  ["USE_PERMISSIONS"]=>
  bool(false)
  ["GROUP_PERMISSIONS"]=>
  array(1) {
    [0]=>
    int(1)
  }
  ["FILTER_NAME"]=>
  string(9) "arrFilter"
  ["HIDE_LINK_WHEN_NO_DETAIL"]=>
  bool(false)
  ["CHECK_DATES"]=>
  bool(false)
  ["~IBLOCK_TYPE"]=>
  string(4) "neti"
  ["~IBLOCK_ID"]=>
  string(1) "7"
  ["~TITLE"]=>
  string(23) "Другие кейсы"
  ["~PARENT_SECTION"]=>
  NULL
  ["~NEWS_COUNT"]=>
  NULL
  ["~SORT_BY1"]=>
  NULL
  ["~SORT_ORDER1"]=>
  NULL
  ["~SORT_BY2"]=>
  NULL
  ["~SORT_ORDER2"]=>
  NULL
  ["~FIELD_CODE"]=>
  NULL
  ["~PROPERTY_CODE"]=>
  array(4) {
    [0]=>
    string(8) "CUSTOMER"
    [1]=>
    string(7) "PROJECT"
    [2]=>
    string(8) "DECISION"
    [3]=>
    string(9) "SITUATION"
  }
  ["~DETAIL_URL"]=>
  string(22) "/cases/#ELEMENT_CODE#/"
  ["~SECTION_URL"]=>
  string(0) ""
  ["~IBLOCK_URL"]=>
  string(0) ""
  ["~DISPLAY_PANEL"]=>
  NULL
  ["~SET_TITLE"]=>
  string(1) "N"
  ["~SET_LAST_MODIFIED"]=>
  bool(false)
  ["~MESSAGE_404"]=>
  string(1) "N"
  ["~SET_STATUS_404"]=>
  string(1) "N"
  ["~SHOW_404"]=>
  string(1) "N"
  ["~FILE_404"]=>
  NULL
  ["~INCLUDE_IBLOCK_INTO_CHAIN"]=>
  string(1) "N"
  ["~CACHE_TYPE"]=>
  string(1) "A"
  ["~CACHE_TIME"]=>
  string(8) "36000000"
  ["~CACHE_FILTER"]=>
  NULL
  ["~CACHE_GROUPS"]=>
  string(1) "Y"
  ["~DISPLAY_TOP_PAGER"]=>
  string(1) "N"
  ["~DISPLAY_BOTTOM_PAGER"]=>
  string(1) "N"
  ["~PAGER_TITLE"]=>
  string(1) "N"
  ["~PAGER_TEMPLATE"]=>
  string(0) ""
  ["~PAGER_SHOW_ALWAYS"]=>
  string(1) "N"
  ["~PAGER_DESC_NUMBERING"]=>
  NULL
  ["~PAGER_DESC_NUMBERING_CACHE_TIME"]=>
  NULL
  ["~PAGER_SHOW_ALL"]=>
  bool(true)
  ["~PAGER_BASE_LINK_ENABLE"]=>
  NULL
  ["~PAGER_BASE_LINK"]=>
  NULL
  ["~PAGER_PARAMS_NAME"]=>
  NULL
  ["~DISPLAY_DATE"]=>
  string(1) "N"
  ["~DISPLAY_NAME"]=>
  string(1) "Y"
  ["~DISPLAY_PICTURE"]=>
  string(1) "Y"
  ["~DISPLAY_PREVIEW_TEXT"]=>
  string(1) "Y"
  ["~PREVIEW_TRUNCATE_LEN"]=>
  NULL
  ["~ACTIVE_DATE_FORMAT"]=>
  NULL
  ["~USE_PERMISSIONS"]=>
  bool(false)
  ["~GROUP_PERMISSIONS"]=>
  array(1) {
    [0]=>
    int(1)
  }
  ["~FILTER_NAME"]=>
  string(9) "arrFilter"
  ["~HIDE_LINK_WHEN_NO_DETAIL"]=>
  NULL
  ["~CHECK_DATES"]=>
  bool(true)
  ["INCLUDE_SUBSECTIONS"]=>
  bool(true)
  ["SET_BROWSER_TITLE"]=>
  string(1) "Y"
  ["SET_META_KEYWORDS"]=>
  string(1) "Y"
  ["SET_META_DESCRIPTION"]=>
  string(1) "Y"
  ["ADD_SECTIONS_CHAIN"]=>
  bool(true)
  ["STRICT_SECTION_CHECK"]=>
  bool(false)
  ["CHECK_PERMISSIONS"]=>
  bool(true)
}

Другие кейсы

Внедрение в компании iCore новой ERP-системы

Заказчик: iCore

Сфера бизнеса: Интегратор

Конфигурация: 1С:ERP

Формат работ: Позадачная разработка

Проект: Внедрение 1C:ERP

«1С:Документооборот» в торговле, производстве и услугах

Сфера бизнеса: Торговля

Конфигурация: 1С:ДО

Кейсы «1С:ЗУП» в производстве, услугах и торговле

Заказчик: Группа компаний

Сфера бизнеса: Производство

Конфигурация: 1С:ЗУП

Формат работ: Позадачная разработка

Проект: Доработки 1С:ЗУП