От языка запросов до Jenkins и Power BI
Когда говорят «аналитик 1С», у многих в голове возникает образ человека, грустно смотрящего в 1С, вздыхающего и что-то там ищущего или гоняющего ТЗ по почте. Но если вы хоть раз пытались выяснить, откуда взялось странное число в выгрузке, и не хотели тревожить разработчика по пустякам — значит, вы уже задумывались о чём-то большем.
Я — Анастасия Штей, работаю в 1С с 2008 года. Сейчас руковожу одной из сильнейших команд по автоматизации финансового учёта и вхожу в программный комитет конференции 1С Conf X. И я точно знаю, что современному аналитику 1С одного 1С недостаточно. В этой статье расскажу, какие технологии, среды и инструменты из арсенала разработчиков помогают аналитикам быстрее, точнее и автономнее решать задачи.
Статья не про «что такое BI» или «кто такой аналитик 1С» — таких полно. Мы пойдём дальше: обсудим, где на самом деле экономятся часы жизни, что действительно полезно знать даже без навыков разработки, и как это влияет на коммуникацию в команде.

За основу возьмём классификацию, предложенную в статье Никиты Арипова Стек технологий для 1С. У нас будет семь направлений: разработка, прототипирование, повышение качества, прикладные решения, CI/CD, интеграции данных, BI-системы. Мы постараемся разложить их на составляющие, чтобы было видно, где скрывается выгода и на чём можно сэкономить часы работы.
Зачем аналитику разбираться в инструментах разработчика
Самый логичный ответ — потому что инструменты разработчика облегчают жизнь не только разработчику. Аналитику без них тоже никуда. Поэтому давайте открывать капот 1С и заглядывать под него. Ну и конечно, разберёмся, какие инструменты помогают нам делать всё лучше и быстрее.
В разработку заложены несколько поднаправлений. Первое, самое основное — это языки программирования с помощью которых выполняется основная часть работы программистов 1С.
Языки запросов: не писать, а понимать
Аналитику нужно хотя бы на минимальном уровне понимать (даже не знать, а понимать) встроенный язык программирования 1С:Предприятие. По крайней мере для того, чтобы не отвлекать разработчика глупыми вопросами на пять минут, которые на самом деле иногда превращаются в часы. Ведь на пользовательском уровне часто невозможно понять, что за число в отчёте (особенно если он — доработанный). Зато можно залезть в конфигуратор и посмотреть, откуда это число тянется. Это гораздо проще и быстрее, и действительно занимает не больше пяти минут. Конечно, бывают исключения. Иногда запросы могут быть настолько сложные, что о них действительно лучше спросить разработчика. Но правил без исключений не бывает.
Но надо владеть не только встроенным 1С языком. Важно понимать язык запросов, основанный на SQL. С его помощью аналитик получает искомые выборки данных и обрабатывает их. Часто пользователи обращаются с разовым запросом — выведи нам список номенклатуры\контрагентов\физических лиц (нужное подчеркнуть) или добавь туда следующие аналитики: количество, качество, цвет, скорость. Бывает, что типовым отчётом это не настроить — будут разные массивы данных. Зато с помощью простого типового запроса сделать это легко. Но если разработчику потребуется всего пять минут, то аналитику — уже пятнадцать. И тут на помощь приходит магия языка запросов — экономит драгоценное время разработчика и повышает ЧСВ самого аналитика.
Конфигуратор, VSCode и плагины: зачем их открывать
Куда же без них. Для тех, кто не в теме IDE — это Integrated Development Environment или интегрированная среда разработки. Она обычно включает: редактор, компилятор, интерпретатор и отладчик. А ещё может содержать средства для интеграции с системами управления версиями и другие полезные утилиты. IDE нужна не только для создания, тестирования и отладки программного обеспечения, но и для помощи аналитику. Например, в платформе 1С:Предприятие 8 есть предметно-ориентированная среда быстрой разработки и доработки — Конфигуратор. Конечно, что разработчику без этого инструмента не обойтись, но, казалось бы, зачем он аналитику? Дело в том, что понимание основ работы Конфигуратора помогает формулировать требования на разработку и тем самым сокращает время на создание простых и лаконичных функциональных требований или технических заданий на разработку или доработку конфигураций 1С. В результате аналитик быстрее и чётче формулирует, что ему надо от разработчика.

Таким же неочевидным на первый взгляд является и применение редактора кода для кроссплатформенной разработки приложений Visual Studio Code (VSCode). Но он нужен аналитику как редактор кода для применяемых 1С-ных технологий. Таких как OneScript и Vanessa. Далее будет рассказано об инструментах тестирования, и в одном из них — Vanessa Automation — для написания smoke и auto tests нужны небольшие навыки разработки, и VSCode как раз тот самый необходимый инструмент для написания кода.
Плагины
Это дополнительные инструменты, которые не только помогают в разработке на 1С, но и выручают аналитика. Например, программный комплекс Снегопат улучшает встроенные в Конфигуратор контекстные подсказки и подключает дополнительные аддоны от сторонних разработчиков. Он нужен аналитику 1С, чтобы получать расширенные «подсказки» при работе со встроенным языком программирования 1С. Опытные разработчики любят кодить быстро: используя контекстное меню, горячие клавиши и другие полезности, которые также снижают риск так называемой «грамматической ошибки». Для аналитиков 1С это уникальная возможность быстрее находить нужные функции при написании кода и писать его.
Подсистема «Инструменты разработчика» помогает программисту в ежедневной работе: консоли кода, запросов, построителя отчетов, компоновки данных, и прочее. А аналитику даёт расширенные возможности при работе со встроенным языком программирования 1С. Проще говоря, это коллекция обработок. Они всегда должны быть под рукой. А в этой подсистеме они собраны в одном месте.
Например, такие важные и нужные обработки как: «Удаление объектов с контролем ссылок», «Поиск битых ссылок», «Поиск ссылок на объект», «Поиск дублей и замена ссылок». С помощью «Удаление объектов с контролем ссылок» можно быстро привести в порядок справочник. Например убрать, чтобы не отвлекали такие объекты как «НЕ ИСПОЛЬЗОВАТЬ», «!!! НЕ ВЫБИРАТЬ В ДОКУМЕНТЫ», «УДАЛИТЬ», «УДАЛИТЬ123» и прочие. А обработка «Поиск дублей и замена ссылок» помогает убрать из справочника многочисленные повторы.
Подсистема «Универсальные инструменты 1С для управляемых форм» включает такие функции, как групповая обработка справочников и документов, редактор констант, структура хранения базы данных, удаление помеченных объектов, консоль запросов и другие полезные инструменты. По факту обе подсистемы: «Инструменты разработчика» и «Универсальные инструменты 1С для управляемых форм» очень похожи. Только вторая подсистема больше заточена на работу на управляемых формах.
И, наконец, Infostart Toolkit упрощают работу с данными, запросами, правами доступа и объектами метаданных в конфигурации. Для аналитика у него такая же функциональность, как у двух предыдущих. Тут, как говорится, на вкус и цвет все фломастеры разные. Выбор одного из этих инструментов зависит скорее от индивидуальных предпочтений. Но всегда приятно когда этот выбор есть и можно подобрать себе что-то более подходящее.
Прототипы без кода
В этом разделе рассмотрим только один инструмент для визуального прототипирования, не требующий навыков программирования. Это онлайн-сервис 1CMaker, который позволяет разработчику быстро создавать прототипы 1С-решений, включая UI и UX дизайн, используя готовые элементы. Аналитику он нужен для быстрого визуального создания прототипов (макетов экранных форм и прочих элементов) для согласования с Заказчиком.
Разработчик разработчику рознь, так же как и аналитик аналитику. Тут может возникнуть закономерный вопрос: если для аналитика отрисовка интерфейса в целом понятна и необходима, то для чего она разработчику? Часто разработчик тоже выступает в роли идеолога доработки, и возникает проблема, как показать ему, что хочется сделать. Например, какую-то экранную форму быстрее нарисовать специальным инструментом, а не «спрограммировать». И далее её уже представить на защиту перед тем же аналитиком или Заказчиком.
Для аналитика же это классный инструмент для визуализации без применения Конфигуратора и программирования.
Качество — не только для QA: зачем аналитик запускает тесты
Если в классическом IT существуют целые специально обученные команды тестировщиков, то в мире 1С это зарождающееся понятие, которое часто ложится на плечи аналитиков. Не будем обсуждать почему так происходит — факторов всегда много. Заказчик не хочет «удорожания» проекта, при этом ждёт качественного решения, которое не сломается при первой попытке провести новый документ. Если для разработчика тестирование своей доработки или разработки в порядке вещей, то для аналитика это скорее дополнительная функциональность. Возможность проверить работоспособность процессов в системе 1С после внесения в неё изменений разного рода, включая и стандартные обновления программы.
1С:Тестировщик и 1С:Сценарное тестирование позволяют протестировать функциональность, например, при обновлении на новые релизы вендора. Так мы можем избежать ручных рутинных операций. Это инструменты непосредственно от 1С. Если его возможностей не хватает, можно использовать сторонние решения для тестирования в среде 1С.
Vanessa-Automation и Vanessa-ADD — это набор инструментов для проверки качества решений на платформе 1С:Предприятие. В целом, использование инструментов Vanessa идентично, в отличия углубляться не будем — оба подходят для аналитика. Для нас главное, что их удобно использовать для первичного написания сценариев тестирования для дальнейшей передачи тестировщику, также на их основе возможна запись видео инструкции для пользователей.
Пример простейшего сценарного теста для проверки создания, заполнения и проведения документа «Заявка на закупку» написанного на языке Gerkin, с помощью записи действий в Vanessa Automation:
Сценарий: Создание и проведение документа "Заявка на закупку"
И я подключаю TestClient "Тест" логин "Тест" пароль "123"
И В командном интерфейсе я выбираю "Закупки" "Заявки на закупку"
Тогда открылось окно "Заявки на закупку"
И я нажимаю на кнопку с именем 'ФормаСоздатьЗаявкуНаЗакупку'
Тогда открылось окно "Заявка на закупку (создание)"
И я нажимаю кнопку выбора …
…
И я нажимаю на кнопку с именем 'ФормаПровести'
Мы с вами двигаемся по классификации Арипова, поэтому после тестирования у нас прикладные решения.
Проектируем полный цикл разработки
Создание документации и способы сбора требований и их валидация — это важные моменты работы как разработчика так и аналитика. Существуют разные инструменты для этого, но они отвечают только за определённый кусочек (или шаг), и сторонние по отношению к самой 1С. Их выбор и использование зависят от разных факторов.
Рассмотрим отдельное полноценное решение — 1С:СППР (абр. Система Проектирования Прикладных Решений). В нем собран практически полный цикл разработки: от сбора первичных требований (фиксирования и хранения) до создания завершающей технической документации. Причём всё это взаимосвязано с выполняемыми задачами по разработке и доработке. Вы можете создать конфигурацию на платформе «1С:Предприятие» и вести по ней полную документацию в разрезе объектов системы, собирать требования на реализацию и выдавать на их основе детально описанные задачи программистам. Конечно, не стоит забывать о том, что польза от этого инструмента будет только в том случае, если остальная команда использует его на проектах.
CI/CD
Про это культуру или набор принципов и практик знает большинство разработчиков. И в 1С-разработке они мало чем отличаются. Инструменты тут классические — Jenkins и Allure. В Jenkins можно создавать готовые задания и работать уже непосредственно с ними. Например, обновление тестовых баз —тут не нужно будет привлекать разработчика для обновления тестовый базы для непосредственной работы аналитика. Или для работы с сеансами пользователей. Например, при необходимости их отключения. Позволяет аналитику разворачивать системы непрерывной интеграции.

Allure позволяет внести прозрачность в процесс создания и выполнения автотестов. Представим очень грубо типичный процесс разработки автотестов:
тестировщики (или кто за них) пишут вручную тест-кейсы, которые нужно автоматизировать → те, кто их автоматизируют (тестировщики, разработчики) дают результат для запуска → тесты падают и потом все разгребают проблемы.
Реализованные отчеты в Allure позволяют быстро находить причины, почему автотесты упали. И что немаловажно, показывает результаты тестов в простом и интуитивно понятном виде.
Интеграции и обмены: как не сойти с ума обмениваясь данными между 1С
Речь про обмен и объединение данных, находящихся в различных источниках, чтобы предоставить их пользователям в унифицированном виде.
Понятно, что всё не замкнуто на уровне одной БД — 1С:Бухгалтерия или 1С:ERP. Как правило, у организаций есть наборы 1С, самописные 1С и программы, написанные не на 1С. Однако они могут быть поставщиками данных в 1С системы или приемниками данных из 1С. Например, у небольшой торговой фирмы сайт и 1С, из которого нужно выгружать остатки и цены в каталог продукции. А в обратную сторону загружать оформленные на сайте заказы. И это область работы не только разработчика, аналитик тоже должен разбираться как «ходят» эти обмены. Для этого есть встроенные типовые обмены между некоторыми программами 1С и более сложные программы для настройки уникальных обменов.
К первой специализированной программе относится 1С:Конвертация данных. Инструмент для разработки обменов, предполагающих наличие посредника передачи данных между конфигурациями в виде универсального формата EnterpriseData.
Но обмены «ходят» не только между 1С программами. Источником или приемником может быть любая ИТ-система. И для этого есть механизм 1С:Шина. Это тот самый программный продукт, обеспечивающий асинхронный обмен данными между различными системами. Но тут всё не так просто, нужны еще и такие программы, как брокеры сообщений (RabbitMQ, Kafka и другие). Они преобразуют сообщение по одному протоколу от приложения-источника в сообщение протокола приложения-приемника, тем самым выступая между ними посредником.
Аналитику нужно быть в курсе не только архитектуры информационных систем вокруг 1С, но понимать и разбираться, как происходит обмен данными между ними.
BI-системы: красиво, понятно, интерактивно
1С — это комплекс программ по автоматизации бухгалтерского, налогового, кадрового, складского, оперативного, управленческого и других видов учёта. Визуальное отображение данных помогает принимать решения не только ТОПам. Удобные дашборды, отображающие информацию в реальном времени даже в учётных системах — это must have (для пользователей) и must know how to do it (для аналитиков).

В этом могут помочь два инструмента — 1С:Аналитика, Microsoft Power BI.
1С:Аналитика это простая в освоении программа для бизнес-пользователей для визуализации массивов данных из 1С.
Microsoft Power BI — это коллекция программных служб, приложений и соединителей, которые взаимодействуют друг с другом, чтобы превратить разрозненные источники данных в согласованные, визуально удобные и интерактивные аналитические сведения. Позволяет аналитику собрать данные из разных источников (1C, Excel и др.) и построить визуально понятные и удобные отчеты.
Итоги
И в конце попробуем ответить на вопрос: какой из всех перечисленных инструментов самый нужный для аналитика 1С?
Однозначного ответа, конечно, нет и, наверное, никогда не будет. Ведь аналитик должен знать и уметь всё. Это супергерой! Ведь не зря ходят большие холивары на эту тему. Чем аналитик отличается от консультанта? Какие у него схожие черты с бизнес-аналитиком в ИТ? Всё зависит где и с чем работает аналитик. Это инхаус или во франче, над задачами от Заказчика по развитию (сопровождению) системы или на крупном проекте по переавтоматизации нескольких видов учета. Эти факторы определяют набор инструментов, который аналитик будет использовать в своей работе.
Поэтому самые нужные инструменты аналитика это его интеллект, опыт и знания. Остальное всего лишь прикладные решения, которые можно легко изучить. Конечно, не всегда легко понять, какие из них в тренде. Но в этом помогает сообщество. Живой опыт использования быстро проявляет преимущества и недостатки любых инструментов. Для того чтобы всем этим делиться и создаются профильные конференции. Доклады, нетворкинг и кулуарное общение позволяют делиться опытом и находить решения даже непростых задач. Поэтому я и пошла в Программный комитет 1С Conf X. Чтобы делиться и помогать находить ответы на вопросы. Если у вас много опыта и знаний по нашим темам:
ЭтоБаза
ЭтоКачество
ЭтоИнтеграция
ЭтоПроизводительность
ЭтоБудущее
ЭтоНавыки
Приходите! Будем вместе делать круглые столы, мастер-классы и воркшопы. И двигать направление 1С-разработки, ведь супергерои нужны не только в аналитике.