Привет всем! На связи Саша, системный аналитик в Sminex IT, «цифровом» подразделении девелоперской компании Sminex. Мы строим дома с красивой архитектурой в центральных районах Москвы и стремимся создавать соответствующие цифровые продукты. В том числе и большое количество решений собственной разработки, построенные на технологиях платформы «1С: Предприятие». Сегодня я хочу рассказать о роли «Системный аналитик 1С»: какие задачи решает и чем отличается от классического системного аналитика.
Александр
Системный аналитик
Кратко о терминологии 1С
Платформа «1С: Предприятие». Это фреймворк, состоящий из набора объектов и инструментов: документы, реквизиты, справочники, регистры и формы. Подобно конструкторам сайтов, платформа 1С предоставляет инструментарий для создания, исполнения и управления прикладными решениями. Их называют конфигурациями. Платформа обеспечивает инфраструктуру для работы с базами данных, интерфейсом пользователя, отчётностью и управлением правами доступа, создавая основу для различных бизнес‑приложений.
Конфигурация 1С. Конкретное прикладное решение, реализованное на базе 1С, которое позволяет автоматизировать бизнес‑процессы. Конфигурации могут быть типовыми, отраслевыми или, как их часто называют, «коробочными решениями». Это означает, что методологи 1С или её партнёры проработали типовую цепочку основных процессов для определённой отрасли и создали тиражное решение. Обычно распространением таких решений занимаются франчайзи — партнёры компании 1С. Существует множество конфигураций. Например, «1С: Бухгалтерия», «1С: Управление торговлей» или «1С: Мясокомбинат».
По другую сторону — практика собственной разработки. Это кейсы, когда организации разрабатывают собственное решение на базе инструментов платформы 1С. Такие конфигурации так же называют «самописными».
Портрет системного аналитика 1С
Аналитики 1С, работающие с «типовыми» конфигурациями
Системному аналитику 1С, работающему с типовыми конфигурациями, необходимо хорошо знать предметную область и типовую цепочку процессов отраслевой конфигурации. Как правило, типовые конфигурации 1С внедряет консалтинг. В рамках проекта аналитики проводят gap‑анализ текущего состояния бизнеса и проектируют to‑be‑процесс. На следующем этапе настраивают систему, заполняют НСИ и оказывают методологическую поддержку (документация, обучение). Также, в зависимости от сложности требований, аналитики ставят задачи на доработку объектов конфигурации.
Важно:
Глубокое знание предметной области;
Понимание типовых процессов и объектов конфигурации 1С.
Аналитики 1С, участвующие в разработке «собственных» решений
Системному аналитику 1С, работающему с кастомной разработкой, важно понимать основные механизмы платформы 1С. Это необходимо для оценки возможностей и определения ограничений при постановке задач разработчикам. Также аналитику нужны опыт, знания логики и методологии построения типовых конфигураций для создания собственных решений.
Важно:
Глубокое понимание механизмов платформы 1С (Справочник, Документ, Регистр, Форма, Табличная часть, Обработчики и т. д.);
Знание логики работы типовых конфигураций;
Знание жизненного цикла разработки ПО.
Системный аналитик 1С vs Системный аналитик
На системного аналитика 1С, в отличие от классического системного аналитика, накладывается вышеописанный фреймворк. В остальном, аналитик 1С так же работает с требованиями к разработке ПО. Перечислю основные навыки.
Soft skills:
Ведение переговоров, навыки аргументации и фасилитации;
Критическое мышление;
Экспертиза в предметной области;
Понимание целеполагания;
Управление изменениями и ожиданиями заказчика.
Hard skills:
Знание жизненного цикла разработки ИС;
Понимание проектирования архитектуры ИС, знание нотаций (UML, BPMN);
Знание основ баз данных (БД, СУБД, нормализация, таблицы, первичные ключи, физическая модель данных и т.д);
Знание языка запросов. Кстати язык запросов 1С очень похож на SQL;
Базовое понимание интеграций (REST API / SOAP, брокеры сообщений, веб‑сервисы);
Владение методами и инструментами тестирования (Postman / Swagger).
Кейсы реализованных задач Sminex IT
Конечно, многое зависит от специфики бизнеса и IT‑архитектуры. Чтобы лучше понимать, чем занимаются системные аналитики 1С в Sminex IT, приведу примеры реализованных кейсов.
Планировщик задач ГРП (График реализации проекта)
Описание задачи: Мы развиваем инструменты планирования строительных задач. Ранее на 1С был реализован ГРП — график стройки в виде иерархической календарно‑сетевой модели, похожий на MS Project. В дополнение к ГРП мы разработали «Планировщик задач».
Для кого: Сотрудники КСП (Календарно‑сетевое планирование).
Для чего: ГРП строительного проекта включает 8–10 тысяч задач. Планировщик задач служит для недельно‑суточного планирования, чтобы не пропустить предстоящие задачи.
Как работает: Планировщик использует задачи из ГРП. Интерфейс представлен пулом рабочих дней недели, где размещены карточки задач. Зелёная карточка означает, что задача должна начаться, жёлтая — что должна завершиться. Сотрудник управляет задачами прямо из планировщика, изменяя статус (план / в работе / завершена), сроки выполнения или оставляя комментарии.
Роль аналитика:
Сбор требований;
Проработка и утверждение прототипа;
Согласование способа реализации и механики работы с разработчиком 1С;
Демонстрация промежуточных результатов;
Фиксация необходимых изменений;
Разработка документации;
Передача решения в эксплуатацию и на техническую поддержку.
Диаграмма Ганта HTML
Описание задачи: Для реализации диаграммы Ганта в ГРП, стандартных возможностей платформы «1С: Предприятие» оказалось мало. Диаграмма не была интерактивной и медленно загружалась. Мы решили эту проблему с помощью библиотеки HTML Gantt, встроив её в интерфейс 1С с использованием объекта «Поле HTML». В результате получилось производительное, функциональное и эстетичное решение на базе web‑технологий в связке с 1С.
Для кого: Сотрудники КСП (Календарно сетевое планирование).
Для чего: Визуализация динамики выполнения строительных работ для контроля проекта.
Как работает: HTML‑библиотека служит «движком» для визуализации проектных задач. С помощью элемента «Поле HTML» эта визуализация отображается непосредственно в форме 1С.
Роль аналитика:
Выявление потребностей пользователя;
Изучение HTML‑библиотеки и работы 1С в режиме «Поле HTML»;
Прототипирование и постановка задачи;
Демонстрация промежуточных результатов;
Фиксация необходимых изменений;
Разработка документации;
Передача решения в эксплуатацию и на линию поддержки.
Телефония. Определение номера
Описание задачи: Для обеспечения безопасного хранения персональных данных клиентов, мы интегрировали систему телефонии нашего вендора с 1С. Использование внешних серверов и справочников для определения номеров не соответствовало требованиям безопасности. Интеграция позволила решить эту проблему.
Для кого: Сотрудники колл‑центра Sminex.
Для чего: Определение и маршрутизация входящих звонков, автоматическое открытие карточки клиента в 1С.
Как работает: Поставщик телефонии (АТС) предоставляет сервис, который через веб‑сокет передаёт данные в формате JSON при входящем вызове. 1С получает данные с номером входящего абонента, сопоставляет их с нашим справочником и выводит оператору карточку идентифицированного клиента.
Роль аналитика:
Сбор требований;
Коммуникация с внешним подрядчиком (передача требований на доработку внешней ИС);
Синхронизация действий со смежной продуктовой командой, также использующей телефонию;
Коммуникация с инженерами технической поддержки;
Изучение технологий телефонии и SIP;
Написание задачи разработчику (включая описание API).
Вывод
Рассмотрев фреймворк 1С и направления аналитики для типовых внедрений и собственных разработок, можно заметить, что роль системного аналитика, несмотря на специфику, сильно перекликается с классическим пониманием этой роли. Основная задача специалиста заключается в работе с требованиями «бизнес / разработка ПО».
На примере кейсов Sminex видно, что помимо технологий 1С мы активно используем веб‑технологии и интеграции, выбирая наиболее эффективные способы решения наших задач.
Ваш опыт работы с 1С может отличаться. Поделитесь своими кейсами в комментариях — будет интересно узнать ваш опыт. А если стало интересно попробовать свои силы в IT‑подразделении девелоперской компании, смотрите вакансии и присылайте резюме. До новых встреч!
Комментарии (5)
FrankNStein
28.06.2024 11:47+2В сфере 1С огромная проблема - отсутствие глоссария и единой терминологии на уровне вендора и сообщества.
Разные компании вкладывают совершенно разный смысл в термины "консультант", "бизнес-аналитик", "системный аналитик". Либо наоборот, называет ту же роль всеми этими терминами.
Отчасти это идет из истории развития отрасли: эволюция от "девочки из 1с, которая приезжает раз в месяц и помогает главбуху закрывать период" до "команда внедрения в составе аналитиков, разработчиков, функциональных и технических архитекторов" прошла лет за 20, и далеко не во всех франчах этот процесс завершился.
Даже у вас в статье описан некий "котопес", который должен разбираться и в бизнесе лучше сотрудников заказчика (роль бизнес-аналитика) и в системе достаточно для перевода бизнес-требований от БА на язык объектов и функций системы и подготовки ТЗ (роль системного аналитика).
Это, к сожалению, де факто отраслевой стандарт, и он только усугубляет дефицит кадров: специалист должен на хорошем уровне знать две профессии вместо одной.
kuza2000
Я бы так не сказал. Там реализован только один оператор - SELECT. Скорее, это диалект одного оператора языка SQL с добавлением специализированных виртуальных таблиц и других полезных для этой области применения штучек.
Sminex Автор
Привет! Вы правы, что язык запросов 1С имеет свои особенности и отличия от стандартного SQL. Однако есть и схожие моменты, о которых стоит упомянуть.
Действительно, в языке запросов 1С основное внимание уделено оператору выбора данных (SELECT), и многие привычные для SQL операторы, такие как INSERT и DELETE, отсутствуют в привычном формате. Это связано с тем, что в 1С управление данными осуществляется через объекты системы (ORM), а не через прямые запросы к базе данных.
Тем не менее, оба языка поддерживают следующие общие возможности:
Соединения таблиц (JOIN): можно объединять данные из нескольких таблиц.
Условия фильтрации (WHERE): позволяют задавать критерии отбора данных.
Алиасы: используются для упрощения ссылок на таблицы и столбцы.
Временные таблицы: используются для хранения промежуточных результатов запросов.
Мы привели аналогию с SQL для того, чтобы читателям, не знакомым с 1С, было легче понять принципы работы с этим языком запросов. Основная идея заключается в том, что оба языка предназначены для работы с данными и имеют схожие синтаксические структуры, что упрощает их восприятие для пользователей, имеющих опыт работы с SQL. На этом уровне суждение о том, что языки запросов очень похожи вполне справедливо.
Спасибо за ваш интерес и внимание к деталям!
starik-2005
Если уж совсем правду рассказать, то там и Insert есть - вставка во временные таблицы (таким образом оно превращается в create temporary table + insert into temporary from ...), которые сейчас почти в каждом запросе 1С-ники используют. Жаль, что нет общих табличных выражений, которые могли бы заменить львиную долю временных таблиц.
kuza2000
Кстати, да. Справедливое замечание)
Но не полновесный insert, а только выборка в таблицу...