- Стек технологий для 1С
- Разработка
- Системы хранения версий
- Прототипирование
- Повышение качества
- CI/CD
- Интеграции
- Статья на GitHub
- Благодарность
Разработка
Языки программирования
Встроенный язык программирования 1С:Предприятия
Встроенный язык системы 1С:Предприятия. На стадии разработки конфигурации предназначен для описания алгоритмов функционирования прикладной задачи. Основной язык разработчика 1С.
Зачем нужно:
Это основной язык разработки программиста 1С. Львиную часть работы делаем именно с помощью этого языка.
Заметки:
Новые возможности языка программирования обычно добавляют при выпуске новых версий платформы. Поэтому имеет смысл отслеживать изменения в версиях, чтобы использовать новые технологии.
С чего начать:
Подробнее:
- Официальный сайт - https://v8.1c.ru/platforma/
- Документация к платформе - https://its.1c.ru/db/v8320doc
Язык запросов
Язык запросов основан на SQL, при этом содержит как ограничения так и расширения, ориентированные на отражение специфики финансово-экономических задач.
Зачем нужно:
Является составной частью платформы. Используется для запросов к базе данных.
Заметки:
- Статья - Типичные причины неоптимальной работы запросов и методы оптимизации. Следуя этим рекомендациям можно избежать большинство проблем с производительностью запросов.
- Для отладки запросов можно использовать Консоль запросов. Этот инструмент позволяет выполнять и отлаживать запросы в режиме 1С:Предприятие. Разработок на эту тему много, можно поискать по запросу Консоль запросов
С чего начать:
- Статья - Особенности языка запросов 1С
- Статья - Полезные сведения о языке запросов 1С 8.2
- Книга - Е. Ю. Хрусталева - Язык запросов 1С:Предприятия 8
Подробнее:
- Официальный сайт - https://v8.1c.ru/platforma/mehanizm-zaprosov/
Платформа для мобильных устройств
Платформа для разработки мобильный приложений. По факту используется тот же язык программирования, но есть ограничения. Платформа позволяет разработать и собрать приложение для мобильных устройств.
Зачем нужно:
Используется для разработки мобильных приложений на языке 1С. На выходе мы получаем полноценное приложение в AppStore или GooglePlay, используя только знания платформы 1С. Дополнительных знаний практически не требуется.
Заметки:
Это лучший и самый дешевый способ сделать бизнес-приложение для своего предприятия. Кажется, что это хорошее направление для развития, так как мобильные приложения все больше приобретают популярность.
С чего начать:
- Книга - Е. Ю. Хрусталева - Знакомство с разработкой мобильных приложений на платформе 1С:Предприятие 8
- Статья - О мобильной платформе 1С
Подробнее:
- Официальный сайт - https://mobile.1c.ru
- Мобильная среда - https://mobile.1c.ru/sreda/
1С:Исполнитель
Это кроссплатформенный язык сценариев. Язык базируется на встроенном языке разработки 1С:Предприятие, но имеет ряд отличий от него. 1С:Исполнитель - это инструмент для автоматизиации и администрирования информационных систем, созданных на платформе 1С:Предприятие.
Зачем нужно:
Нужен для автоматизации рутинных задач и администрирования. Скорее полезен для понимания вектора развития языка 1С.
Заметки:
Кажется, что этот язык - это "проба пера" для нового языка и новых технологий фирмы 1С. Имеет смысл ознакомиться с новыми возможностями, но глубоко изучать язык, кажется, не обязательным. Так как сфера применения его довольно специфичная.
С чего начать:
- Статья на зазеркалье - 1С-Исполнитель
1С:Предприятие.Элемент
Новая разработка фирмы 1С. Информации пока не много. Сообщается, что это тот же язык, что используется в 1С:Исполнитель.
Появилась возможность поучаствовать в бета-тесте новой среды разработки. Подробнее в "С чего начать".
В качестве основных компонентов технологии обозначены:
- новый пользовательский интерфейс, ориентированный в первую очередь на работу в веб;
- динамично развивающийся встроенный язык;
- поддержка модульности разработки;
- среда разработки, развернутая в облаке и доступная через браузер;
- ориентация на работу решений в облаке, но будет поддержка и локальной установки (on-premise);
- мобильность, что подразумевает возможность работы приложения на мобильных устройствах и в мобильных браузерах сразу «из коробки».
Зачем нужно:
Судя по существующим решениям, в будущем будет использоваться для создания веб-приложений.
Заметки:
Решения, уже использующие эту технологию:
- «1С:Кабинет сотрудника»
- 1С:Шина
- Сервис mag1C
- 1С:Аналитика
- Сайт developer.1c.ru создан с помощью этой технологии
С чего начать:
- Статья на зазеркалье - Новая технология разработки приложений
- Бета-тестирование - Новая среда разработки 1С:Предприятие.Элемент
OneScript
Проект является независимой кросс-платформенной реализацией виртуальной машины, испольняющей скрипты на языке 1С:Предприятие. При это не требуется установка системы 1С:Предприятие на целевой машине. Основные возможности:
- Использование в качестве среды исполнения текстовых сценариев на языке 1С;
- Построение консольных приложений, написанных на языке 1С;
- Встраивание в стороннюю программную среду в качестве среды исполнения текстовых сценариев на языке 1С.
Зачем нужно:
Позволяет решать задачи автоматизации рутинных операций. Низкий порог входа, так как используется тот же синтаксис языка.
Заметки:
Даже если вы не планируете писать свои или дорабатывать чужие приложения, то точно будет полезно посмотреть готовые. И научиться ими пользоваться, так как есть реально полезные примеры скриптов для каждодневной работы. Причем разобраться сможет даже не программист.
С чего начать:
- Статья - Начало работы с OneScript
- Статья - Как решать повседневные задачи с помощью OneScript
- Статья - Обзор имеющихся библиотек OneScript
- Статья - Примеры скриптов на OneScript
- Статья - Исчерпывающее руководство по созданию библиотеки OneScript
Подробнее:
- Официальный сайт - https://oscript.io/
- Исходный код - https://github.com/EvilBeaver/OneScript
IDE
IDE - Это интегрированная среда разработки (англ. Integrated development environment) - программное средство, используемое программистами для разработки программного обеспечения. Обычно включает в себя: редактор, компилятор и отладчик.
Конфигуратор
Конфигуратор - предметно-ориентированная среда быстрой разработки, существующая в платформе 1С:Предпрития 8. Предоставляет программисту инструменты для разработки и поддержки конфигураций.
Зачем нужно:
Используется для разработки и доработки конфигураций.
Заметки:
Конфигуратор, на текущий момент, основная среда разработки конфигураций. Это наиболее распространненый инструмент для разработки и доработки конфигураций.
С чего начать:
Подробнее:
- Официальный сайт - https://v8.1c.ru/platforma/sreda-bystroy-razrabotki/
1C:Enterprise Development Tools (EDT)
1C:EDT это современная расширяемая среда разработки прикладных решений. Она создана на основе свободной интегрированной среды разработки модульных кроссплатформенных приложений Eclipse.
Зачем нужно:
Используется для разработки и доработки конфигураций.
Заметки:
1С:EDT - это относительно новая среда разработки, которая широко развивается в отличие от Конфигуратора. Регулярно выходят новые версии с исправлениями ошибок и развитием функциональности.
EDT очень требователен к ресурсам и настройкам. Обязательно стоит выполнить настройку EDT для импорта больших конфигураций.
На EDT можно переходить постепенно, для этого фирма 1С выпустила рекомендации.
С чего начать:
- Статья - Знакомство на примерах
- Статья - Постепенный процесс перехода на EDT
- Неофициальный телеграмм-канал - https://t.me/edt1c
Подробнее:
- Официальный сайт - https://edt.1c.ru/
- Документация - https://edt.1c.ru/docs/
- Официальный телеграмм-канал - https://t.me/e1c_edt
- Публичный баг-трекер - https://github.com/1C-Company/1c-edt-issues
Visual Studio Code (VSCode)
"Легкий" и бесплатный редактор кода для кроссплатформенной разработки приложений. Включает в себя инструменты для работы с git, отладчик, подсветку синтаксиса и прочее.
Зачем нужно:
Может использоваться как редактор кода для около 1Сных технологий (OneScript, Vanessa и другие)
Заметки:
Удобный и гибкий редактор для кода. Есть плагины для подсветки синтаксиса 1С и проверки модулей.
Полноценную разработку приложений на 1С в нем вести скорее нельзя, зато можно использовать для удобного просмотра модулей.
Широко используется для других языков. Можно использовать для OneScript и Vanessa.
Имеет очень много расширений, которые могут существенно улучшить работу.
С чего начать:
- Статья - Подробный гайд для начинающих
- Плагин - Поддержка языка 1С:Предприятие 8 (BSL)
Подробнее:
- Официальный сайт - https://code.visualstudio.com
- Веб-версия редактора - https://vscode.dev
Плагины
Плагины, которые помогают в разработке на языках 1С
Снегопат
Программный комплекс для 1С-программистов, который делает работу в Конфигураторе 1С удобнее и продуктивнее, улучшая контекстную подсказку и добавляя много новых возможностей.
Основные функции:
- Улучшение встроенной в Конфигуратор контекстной подсказки
- Подключение дополнительных аддинов от сторонних разработчиков
- Остальные разные "плюшки"
Зачем нужно:
Улучшает работу в Конфигураторе 1С.
С чего начать:
- Триальная версия на 3 месяца - Снегопат - расширение Конфигуратора 8.2/8.3
- Статья - Установка и настройка Снегопат
- Статья - Снегопат - Dev или Ops
Подробнее:
- Официальный сайт - https://snegopat.ru
- Исходный код - https://github.com/infostart-hub/snegopat
- Документация - https://github.com/infostart-hub/snegopat/blob/master/docs/readme.md
- Официальный канал в Телеграме - https://t.me/snegopat
TurboConf
TurboConf повышает эффективность работы в Конфигураторе 1С и помогает автоматизировать рутинные задачи. Программа добавляет в Конфигуратор десятки возможностей, которые делают разработку в Конфигураторе намного удобнее и быстрее.
Основные возможности:
- Показывает подсказки и ускоряет ввод текста
- Проверяет код модулей на скрытые ошибки
- Упрощает навигацию между объектами конфигурации
- Генерирует и автоматически завершает фрагменты кода
- Помогает красиво оформить текст модулей
- Создает и ищет шаблоны кода в облачном сервисе
Зачем нужно:
Улучшает работу в Конфигураторе 1С.
С чего начать:
Подробнее:
- Официальный сайт - turboconf.ru
Подсистема "Инструменты разработчика"
Интегрированный набор инструментов разработчика: консоль кода, консоль запросов, консоль построителя отчетов, консоль компоновки данных, консоль заданий, конструктор запроса, справочник алгоритмов, исследователь объектов, интерфейсная панель, настройка журнала регистрации, анализ журнала регистрации, настройка техножурнала, анализ техножурнала, подбор и обработка объектов, редактор объекта БД, редактор констант, редактор параметров сеанса, редактор изменений по плану обмена, редактор пользователей, редактор предопределенных, редактор хранилищ настроек, динамический список, поиск дублей и замена ссылок, контекстная подсказка, синтакс-помощник, поиск битых ссылок, поиск ссылок на объект, структура хранения БД, удаление объектов с контролем ссылок, и прочее
Зачем нужно:
Набор инструментов разработчика, который помогает в ежедневной работе.
С чего начать:
- Публикация на Инфостарт - //infostart.ru/public/15126/
Подробнее:
- Официальный сайт - http://devtool1c.ucoz.ru
Подсистема "Универсальные инструменты 1С для управляемых форм"
Интегрированный набор инструментов разработчика: групповая обработка справочников и документов, редактор констант, структура хранения базы данных, Удаление помеченных объектов, Консоль запросов, Консоль заданий, Регистрация изменений для обмена, Поиск и удаление дублей, Консоль кода, Поиск ссылок на объект, Редактор реквизитов объекта, Консоль отчетов, Динамический список, Консоль HTTP запросов, Выгрузка загрука XML с фильтрами, Навигатор по конфигурации, Файловый менеджер, Конструктор регулярных выражений, Консоль вебсервисов, Консоль сравнения данных, Информация о лицензиях 1С, Загрузка данных из табличного докумнета, Редактор JSON, Редактор HTML, Универсальный обмен данными в формате XML (с фильтрами и прямой загрузкой через HTTP сервис), Редактор СКД, Сравнение объектов, Библиотека сериализации 1С, Коннектор: удобный HTTP-клиент для 1С:Предприятие 8.
Поддерживаемые платформы 8.3.12 и выше
Зачем нужно:
Набор инструментов разработчика, который помогает в ежедневной работе (используется для управляемых форм)
С чего начать:
- Исходный код - https://github.com/cpr1c/tools_ui_1c/
Infostart Toolkit
Набор инструментов для анализа и обработки данных в информационной базе 1С.
- Консоль разработчика (консоль запросов, кода, СКД)
- Редактор объекта
- Редактор констант
- Поиск и замена ссылок
- Поиск ссылок
- Монитор лицензий
- Подписки на события
- Пользователи
- Регламентные и фоновые задания
- Все функции
- Глобальное меню
- Редактор параметров сеанса
Зачем нужно:
Набор инструментов разработчика, который помогает в ежедневной работе.
С чего начать:
- Видео - Infostart Toolkit - инструмент, в котором сделано то, что давно просят от 1С
- Статья - 10 полезных, но малоизвестных возможностей IS Toolkit
Подробнее:
- Публикация - //infostart.ru/public/1254364/
- Исходный код - https://github.com/infostart-hub/toolkit
Плагин для конфигуратора PhoenixBSL
Проект позволяет анализировать и форматировать код 1С в конфигураторе. Инструмент основан на проекте BSL LS.
Зачем нужно:
Быстрая проверка на соответствие стандарта кода в конфигураторе.
С чего начать:
- Исходный код - https://github.com/otymko/phoenixbsl
Плагины для 1С:EDT
1С:EDT позволяет дополнить стандартный инструментарий среды с помощью плагинов.
Официальные плагины от 1С:
- 1С:Language Tool - инструмент перевода исходного кода и локализации интерфейса
- 1C:SSL-support - поддержка разработки конфигураций на базе Библиотеки Стандартных Подсистем
- 1С:Стандарты разработки V8 - разработка по стандартам 1С, проверки, инструменты
Зачем нужно:
Улучшают работу разработчика в 1C:EDT
Заметки:
Документация 1С:EDT содержит отдельный блок про разработку плагинов и точки расширения, чтобы было проще начать.
Это перспективное направление, которое позволит в дальнейшем существенно упростить работу со средой разработки. Фирма "1С" поддерживается начинания в этом направлении.
С чего начать:
- Статья - Список плагинов, которые можно/нужно использовать в 1C:EDT
- Статья - Как сделать плагин для 1С:EDT для начинающего
Подробнее:
- Официальный сайт - https://edt.1c.ru/ext/
- Документация разработчика плагинов - https://edt.1c.ru/dev/ru/
- Документация по официальным плагинам - https://its.1c.ru/db/edtplugins
Системы хранения версий
Используются для облегчения работы с изменяющейся информацией. Система управления версиями позволяет хранить несколько версий одного и того же документа, при необходимости возвращаться к более ранним версиям, определять, кто и когда сделал то или иное изменение, и многое другое.
Широко используются при командной разработке.
Хранилище
Хранилище конфигурации предназначено для коллективной разработки конфигурации. Представляет собой базу данных, в которой сохраняются все изменения конфигурации, сделанные в процессе ее разработки. Четыре простейшие операции работы с хранилищем:
- Захват объекта
- Помещение объекта
- Получение объекта
- Отмена захвата
Зачем нужно:
Используется для командной разработки, чтобы отслеживать версии кода. Используется при разработке в Конфигураторе.
Заметки:
Имеет смысл использовать и для разработки одним программистом, чтобы хранить изменения. При необходимости можно вернуться к конкретной версии объекта.
С чего начать:
Подробнее:
- Документация - https://its.1c.ru/db/metod8dev#content:2287:hdoc
git
Распределенная система управления версиями. Основное отличие Git’а от любой другой системы контроля версий (включая хранилище конфигурации) - это подход Git’а к работе со своими данными. Концептуально, большинство других систем хранят информацию в виде списка изменений в файлах.
Зачем нужно:
Используется для командной разработки, чтобы отслеживать версии кода. Используется при разработке в 1C:EDT.
Заметки:
Git - система хранения версий для 1C:EDT.
Стоит различать git и удаленные репозитории, например, GitHub и GitLab. Удаленные репозитории используются для размещения git репозиториев не отдельном сервере или в облаке .
Имеет смысл выучить основные команды для работы через консоль, так как порой это быстрее, проще и надежнее, чем через специальные инструменты.
Для постепенного перехода на можно использовать выгрузки хранилища в git, например, 1С:Гитконвертер или gitsync.
С чего начать:
- Документация 1С:EDT о git
- Статья - Github и 1С. Пошаговая инструкция на примере
- Статья - Git-flow в 1С
Подробнее:
- Документация git - https://git-scm.com/book/ru/v2
- Документация 1С:ГитКонвертер - https://its.1c.ru/db/metod8dev#content:5937:hdoc
- Официальный профиль 1С на Github - https://github.com/1C-Company
Прототипирование
Прототипирование позволяет минимальными усилиями подготовить вариант для согласования с заказчиком.
1CMaker
Онлайн-сервис для UI и UX дизайна решений на базе 1С:Предприятие.
Преимущества:
- Простой конструктор, без программирования
- Упрощает понимание и согласование с заказчиком
- Не требует установки и лицензии 1С
Зачем нужно:
Позволяет быстро накидать форму, чтобы согласовать ее с заказчиком. Легко вносить изменения и не жалко выкинуть.
Заметки:
Очень полезный инструмент для того, чтобы быстро и просто рисовать прототип формы. Такой прототип легко показать заказчику, легко внести изменения по результатам обсуждения. А после согласования формы по прототипу уже можно разрабатывать в конфигураторе или EDT.
Есть аналоги, которые не заточены под 1С, но в них все равно можно рисовать формы, например mockplus, moqups и другие.
С чего начать:
Подробнее:
- Официальный сайт - 1cmaker
Повышение качества
В данном разделе собраны инструменты и советы для повышения качества разрабатываемых продуктов. Могут быть полезны как для командной разработки, так и для индивидуальной.
Автоматизированное тестирование
Это часть процесса тестирования на этапе контроля качества в процессе разработки программного обеспечения. Оно использует программные средства для выполнения тестов и проверки результатов выполнения, что помогает сократить время тестирования и упростить его процесс.
1С:Тестировщик и 1С:Сценарное тестирование
Программные инструменты для тестирования конфигураций, созданных на платформе "1С:Предприятие". Позволяет автоматизировать проектирование тестов, выполнение тестирования и анализ полученных результатов.
Зачем нужно:
Используется для разработки и запуска автоматизированных тестов, чтобы вручную не проверять одни и те же сценарии.
Заметки:
Это инструменты от вендора, которые позволяют готовить и выполнять тесты. 1С:Сценарное тестирование используется для тестирования типовой конфигурации 1С:Бухгалтерия предприятия.
1С:Сценарное тестрование входит в состав Корпоративного инструментального пакета. Отдельно его купить и попробовать, к сожалению, нельзя.
Для ознакомления с возможностями предназначен 1С:Тестировщик - это легкая версия программного продукта.
С чего начать:
- Канал на YouTube - 1С:Сценарное тестирование
- Вебинар "1С:Сценарное тестирование 3.0. Примеры"
Подробнее:
- Описание - https://v8.1c.ru/tekhnologii/tekhnologii-krupnykh-vnedreniy/korporativnyy-instrumentalnyy-paket/1c-stsenarnoe-testirovanie/
- Документация - https://its.1c.ru/db/kip/content/66/hdoc
Vanessa-Automation и Vanessa-ADD
Набор инстурментов для проверки качества решений на платформе 1С:Предприиятие. Позволяют проверять поведение различных систем на базе платформы 1С.
Возможности:
- Готовые "дымовые тесты" различных видов
- Различные виды тестирования
- Проверка поведения
- Формирование автодокументации
Зачем нужно:
Позволяет разрабатывать и запускать тесты, автоматически подготовливает инструкции и документацию.
Заметки:
Набор инструментов для тестирования прикладных решений. Пользуется большой популярностью в среде 1С. Используется для тестирования типовой конфигурации 1С:ERP. Тесты публикуются для партнеров на портале 1С.
Open-source проекты с живым и общительным сообществом. Можно задать вопрос и получить адекватный ответ.
Vanessa-Automation и Vanessa-ADD развиваются параллельно, но имеют общие принципы и подходы. Поэтому можно выбрать любой по своему вкусу.
В состав Vanessa-ADD входит набор инструментов для написания unit-тестов.
С чего начать:
- Статья - Инструмент тестирования прикладных решений на платформе 1С
- Статья - Разработка и сценарное тестирование с Vanessa
- Группа в телеграмм - https://t.me/testspro1c
Подробнее:
- Документация Vanessa-Automation - https://pr-mex.github.io/vanessa-automation/
- Исходные коды Vanessa-Automation - https://github.com/Pr-Mex/vanessa-automation
- Документация Vaness-ADD - https://github.com/vanessa-opensource/add/blob/develop/doc/README.md
- Исходные коды Vanessa-ADD - https://github.com/vanessa-opensource/add
Тестер
Бесплатная программа для сценарного тестирования решений на базе 1С:Предприятие 8.3, управляемые формы.
Тестер является инструментом для проведения сценарного тестирования приложений, и призван сохранить и воспроизвести опыт программиста, время на приобретение которого было потрачено на ручные проверки и тестирование. Основным профитом от использования Тестера является повышение качества программ, без существенных организационных изменений, изменений принципов программирования, и других долгосрочных инвестиций времени на выпуски очередных версий продуктов. Тестер может использоваться как независимый инструмент, так и совместно с BDD, выступая в качестве платформы для разработки сложных тестов
Особенности:
- Быстро устанавливается, не требует специальных (кроме 1С) знаний и программного обеспечения
- Быстро интегрируется в процесс разработки
- Не требует фундаметального пересмотра философии программирования
- Сфокусирован на процесс создания реальных тестов
- Не требует подготовки отдельных баз и эталонных данных
Зачем нужно:
Позволяет разрабатывать и запускать тесты, автоматизировать рутинные операции.
С чего начать:
- Видео - Создание теста путем записи сценария
- Видео - Создание теста кодированием
- Видео - Полтора часа жизни программиста со сценарным тестированием
- Группа в телеграмм - https://t.me/testspro1c
Подробнее:
- Исходный код - https://github.com/grumagargler/tester
- Документация - http://tester.help
Статический анализ кода
Это анализ программного обеспечения, производимый (в отличие от динамического анализа) без реального выполнения исследуемых программ.
Синтаксическая проверка конфигурации
Встроенная в конфигуратор и EDT проверка конфигурации. Расширенная проверка позволяет находить не только ошибки компиляции модулей.
Зачем нужно:
Механизм проверки конфигурации позволяет выявить ошибки, которые не являются критичными для функционирования прикладного решения в принципе, но наличие которых может существенно снизить скорость работы прикладного решения или даже привести к возникновению ошибок при работе в некоторых специальных режимах.
Заметки:
Если нет автоматизации, то имеет смысл делать эту проверку на завершающем этапе разработки, чтобы исправить потенциальные ошибки.
Подробнее:
- Документация - https://its.1c.ru/db/metod8dev/content/2290/hdoc
1С:Автоматизированная проверка конфигураций
Предназначена для автоматизированной проверки конфигураций, разработанных на платформе «1С:Предприятие 8», на соответствие стандартам и иным требованиям технического характера
Основные возможности:
- Разовая проверка на соответствие стандартам разработки
- Регулярная автоматическая проверка на соответствие стандартам разработки
- Сравнение качества различных конфигураций
- Расширяемость
Зачем нужно:
Используется для проверки решений на соответствие стандартам. Обязательно применяется при сертификации 1С:Совместимо.
Заметки:
Большая, тяжелая и медленная система, которая выдает очень много ошибок даже для типовых конфигураций. Есть специальные доработки, которые позволяют передавать результат проверки в SonarQube.
С чего начать:
Подробнее:
- Официальный сайт - http://v8.1c.ru/acc/
Плагин для SonarQube
Поддержка языка 1С:Предприятие 8 и OneScript для SonarQube. SonarQube - платформа для непрерывного анализа и измерения качества программного кода.
Возможности:
- Дашборд проекта
- Подсветка синтаксиса 1С:Предприятие
- Расчет базовых метрик и количества строк кода
- Регистрация диагностик, предоставляемых BSL Language Server как внутренних правил
- Встроенный анализатор - BSL Language Server Diagnostic provider
- Импорт результатов внешних анализаторов во внутреннем формате json
Зачем нужно:
Используется для непрерывной оценки качества кода и управления техническим долгом.
Заметки:
Прекрасный инструмент, который показывает замечания с привязкой к конкретной строчке кода и, соответственно, автору. Позволяет отслеживать замечания и ошибки только в новом коде. Это удобно, так как мы можем прямо сейчас стараться не допускать новых замечаний и постепенно разбираться со старыми.
Из коробки 1С не поддерживает, но есть, как минимум, два плагина для 1С:
- SonarQube 1C (BSL) Community Plugin - open source решение (бесплатно)
- SONARQUBE 1C (BSL) Plugin - решение от SilverBulleters
Также позволяет использовать внешние анализаторы, такие как Синтаксическая проверка конфигурации или АПК.
С чего начать:
- Статья - Управляй качеством кода 1С с помощью SonarQube
- Статья - Как управлять качеством кода 1С, используя платформу SonarQube
- Статья - Управление качеством кода
Подробнее:
- Официальный сайт Community Plugin - https://1c-syntax.github.io/sonar-bsl-plugin-community/
- Исходный код Community Plugin - https://github.com/1c-syntax/sonar-bsl-plugin-community
- SONARQUBE 1C (BSL) Plugin от SilverBulleters
Прочее
Полезные инструменты и практики для повышения качества разрабатываемых решений.
1С:СППР
Система проектирования прикладных решений (СППР) предназначена для проектирования прикладных решений (конфигураций) на платформе «1С:Предприятие» и ведения технической документации проекта. СППР может быть использована как в качестве инструмента для проектирования новых информационных систем, разрабатываемых в среде «1С:Предприятия 8», так и для описания и документирования существующих систем, разработанных ранее без использования СППР.
С чего начать:
- Статья - 1С СППР, как инструмент по внедрению, разработке и сопровождению информационных систем
- Статья - 1С СППР и оценка сроков и стоимости проектов методом COCOMO II
- Телеграмм группа - https://t.me/s/SPPR1c
Подробнее:
- Официальный сайт - https://v8.1c.ru/tekhnologii/sistema-proektirovaniya-prikladnykh-resheniy/
- Демо-база СППР - https://modeling.demo.1c.ru/modeling/ru/
Code-review
Термин “code review” может означать разные действия, от простого чтения какого-то кода из-за спины разработчика до совещания на 20 человек, где вы разбираете код строчка за строчкой.
Зачем нужно:
Помогает повысить сопровождаемость и качества разработки.
Заметки:
Считаю Code-review одним из самых ценных инструментов для повышения качества, так как позволяет, и совместно владеть кодом и в будущем легче его сопровождать. Применяя code-review мы стараемся код писать понятнее, так как его точно посмотрят.
Для проведения Code-review не обязательно применять дополнительные инструменты, порой достаточно посмотреть в конфигураторе код коллеги и написать замечания либо прямо в коде, либо в отдельном файле.
Тем не менее для Code-review есть и различные инструменты, которые позволяют упростить этот процесс. Самый простой способ - это использование удаленных репозиториев и создание запросов на слияние, который кто-то посмотрит. Существуют также и отдельные инструменты, например Upsource от JetBraind или Crucible от Atlassian.
С чего начать:
- Статья - Code review по-человечески
- Статья - Как завести у себя в команде код-ревью
- Статья на английском - 12 Best Code Review Tools
Подробнее:
- JetBrains Upsource
- Atlassian Crucible
Стандарты разработки
Система стандартов и методики разработки конфигураций для платформы 1С:Предприятие 8.
Зачем нужно:
Система стандартов описывает как правильно писать код, чтобы он был качественный и производительный.
Заметки:
Отличные рекомендации по коду от вендора, следование которым убережет вас от большинства ошибок и потерь производительности. Содержит исчепывающие примеры как делать правильно и как делать не стоит.
Существуют автоматические проверки кода на следование стандартам.
С чего начать:
- Документация - Система стандартов
CI/CD
Непрерывная интеграция (Continuous Integration, CI) и непрерывная поставка (Continuous Delivery, CD) представляют собой культуру, набор принципов и практик, которые позволяют разработчикам чаще и надежнее развертывать изменения программного обеспечения.
Continuous Integration позволяет непрервывно тестировать продукт и находить ошибки сразу после закладки или коммита. Благодаря этому можно исправить ошибку меньшими усилиями, потому что вы в контексте.
Jenkins
Jenkins — программная система, предназначенная для обеспечения процесса непрерывной интеграции программного обеспечения. Позволяет автоматизировать часть процесса разработки программного обеспечения, в котором не обязательно участие человека.
Основные плюсы:
- Простая установка
- Простая настройка
- Расширения и плагины
Зачем нужно:
Нужен для разворачивания системы непрерывной интеграции.
Заметки:
Кажется, что это самый простой и доступный способ познакомиться с CI/CD. Полно примеров на 1С и не только как настроить и запустить. Если хотите с чего-то начать, то Jenkins - самое то.
С чего начать:
- Стрим - Сборочная линия с нуля
- Статья - Переводим рутину ручного тестирования 1C на рельсы Jenkins-а
- Статья - Конвеер проверки качества кода
- Исходный код - Библиотека Jenkins для 1С
Подробнее:
- Официальный сайт - https://www.jenkins.io
Gitlab CI
Система непрерывной интеграции, входящая в состав Gitlab. Позволяет легко привязывать сборочную линию к коммитам репозитория.
Зачем нужно:
Для запуска тестов при каждой закладке в хранилище или репозиторий.
Заметки:
Кажется, что имеет смысл использовать Gitlab CI если у вас уже используется Gitlab в качестве удаленного репозитория.
Позволяет запускать процессы как к привязке к конкретному коммиту, так и просто по расписанию.
Можно использовать бесплатную версию Gitlab на официальном сайте.
Если используете другие системы, то можно рассмотреть аналоги, такие как Github Action или Travis CI.
С чего начать:
- Статья - Введение в GitLab CI
- Статья - Как Gitlab-CI и OneScript могут отсортировать массив (Часть 1)
- Статья - Руководство по CI/CD в GitLab для новичка
Подробнее:
- Официальный сайт - https://gitlab.com
- Документация на английском - https://docs.gitlab.com/ee/ci/
Vagrant
Vagrant — позволяет создавать и конфигурировать легковесные, повторяемые и переносимые окружения для разработки.
Возможности:
- Изолированные среды. Избегаются возможные конфликты с основной системой
- Повторяемость. Можно быстро пересоздать рабочую среду буквально одной командой
- Переносимость. Окружение можно развернуть под любой системой
Зачем нужно:
Позволяет на локальной машине создавать легко управляемые виртуальные среды. То есть можно легко в них установить необходимые инструменты.
С чего начать:
- Статья - Использование Vagrant и Ansible для разворачивания тестовой инфраструктуры
- Статья - Использование Vagrant и Docker при разработке в 1С
- Цикл статей - Многопоточный CI-контур для 1С
- Статья - Что такое Vagrant
Подробнее:
- Официальный сайт - https://www.vagrantup.com
- Документация на английском - https://learn.hashicorp.com/vagrant
Docker
Это программное обеспечение для автоматизации развёртывания и управления приложениями в среде виртуализации на уровне операционной системы; позволяет «упаковать» приложение со всем его окружением и зависимостями в контейнер, а также предоставляет среду по управлению контейнерами.
Зачем нужно:
Позволяет разработчикам подготовить и запустить изолированные приложения со всеми зависимостями. Один раз подготовили контейнер со всем необходимым и дальше можете его использовать сколько угодно раз.
Заметки:
В мире 1С используется скорее для разворачивания тестовых контуров, чем для разработки. С помощью докера проще масштабировать систему - выделили новые ресурсы и просто подняли там докер (требует меньше ресурсов, чем виртуальная машина). Не нужно каждый раз настраивать все зависимости.
С чего начать:
- Статья - Полное практическое руководство по Docker
- Статья - Использование Vagrant и Docker при разработке в 1С
- Статья - Создаем Docker-контейнер с 1С
- Статья - Тестируем в Docker
- Исходный код - Образы контейнеров для 1С
Подробнее:
- Официальный сайт - https://www.docker.com
Allure
Инструмент для гибкого, легкого и красивого отображения результатов автотестов.
Зачем нужно:
Может показывать результаты тестов и различных проверок в красивом и аккуратном виде. Приятно посмотреть.
Заметки:
Этот инструмент не связан с разработкой и обычно используют в связке с Jenkins, чтобы отображать результаты выполнения автотестов.
Может работать одновременно со множеством источников данных, информацию о тестах следует передавать в специальный адаптер (например, Vaness-ADD умеет делать их самостоятельно). Может показывать историю выполнения конкретного теста.
С чего начать:
- Статья - Разработка и сценарное тестирование с Vanessa-ADD. Отчетность Allure
- Статья - Allure 2: тест-репорты нового поколения
- Статья - Allure-Framework. Работа с кодом
Подробнее:
- Исходный код - https://github.com/allure-framework/allure2/releases
- Документация на английском - https://docs.qameta.io/allure/
Интеграции
Интеграция данных — объединение данных, находящихся в различных источниках и предоставление данных пользователям в унифицированном виде. 1С довольно распространенная система, поэтому интеграции требуются часто. Важно делать их правильно, чтобы в будущем было проще поддерживать.
1С:Конвертация данных и EnterpriseData
Конвертация данных - это инструмент для разработки обменов, предполагающих наличие посредника передачи данных между конфигурациями в виде универсального формата данных EnterpriseData
Зачем нужно:
Конфигурация "Конвертация данных" позволяет создать правила обмена между различными системами в универсальном бизнес-ориентированном формате EnterpriseData.
Заметки:
Формат EnterpriseData позволяет загружать информацию из любых систем. То есть если нужно делать загрузку из какой-то внешней системы в 1С, то стоит делать ее в формате EnterpriseData, так как за загрузку будут отвечать типовые обработчики.
С чего начать:
- Статья - 1С:Конвертация данных 3. Инструкции и примеры.
- Статья - Новый подход к обмену данными EnterpriseData
Подробнее:
- Документация - https://its.1c.ru/db/metod8dev/content/5846/hdoc
- Формат EnterpriseData - https://v8.1c.ru/tekhnologii/obmen-dannymi-i-integratsiya/standarty-i-formaty/format-enterprisedata/
1С:Шина
«1С:Шина» - это программный продукт класса «Сервисная шина предприятия» (в англоязычной терминологии - Enterprise Service Bus, ESB), обеспечивающий обмен данными между различными информационными системами.
В основе работы лежит принцип асинхронного обмена сообщениями между информационными системами, которые взаимодействуют посредством «1С:Шины». Сообщение – блок данных произвольного содержания, который передается от информационной системы - отправителя информационным системам - получателям. Асинхронность подразумевает, что система-отправитель не взаимодействует с системами-получателями, а взаимодействует только с посредником – «1С:Шиной». В свою очередь «1С:Шина» взаимодействует с получателями по мере их доступности и готовности.
Зачем нужно:
Позволяет настраивать обмены сообщений между разными системами, причем по содержимому сообщений можно определить кто будет получателем.
С чего начать:
Подробнее:
- Официальный сайт - https://v8.1c.ru/static/1s-shina/
Telegram бот
Боты — специальные аккаунты в Telegram, созданные для того, чтобы автоматически обрабатывать и отправлять сообщения. Пользователи могут взаимодействовать с ботами при помощи сообщений, отправляемых через обычные или групповые чаты.
Зачем нужно:
Для выполнения различных операций с помощью Telegram, начиная с интеграции с мессенджером или информированием о текущем состоянии фирмы и заканчивая ведением CRM.
Заметки:
Кажется, это один из самых распространенных и простых запросов на интеграцию. Удобство API Telegram позволяет создавать ботов без особых затрат.
Система взаимодействия может интегрироваться с Telegram ботом из коробки.
Также в 1С:Управление нашей фирмой есть функциональность по интеграцию с ботом
С чего начать:
- Статья - Пример связи 1С и мессенджера Telegram
- Статья - Создание телеграм бота в 1С
- Статья - Telemonitor - объединяем Telegram и 1С
- Статья - Опыт интеграции мессенджера Telegram c 1C
- Статья - Всё, о чём должен знать разработчик Телеграм-ботов
Подробнее:
- Документация - https://tlgrm.ru/docs/bots
- BotFather - https://t.me/botfather
Брокеры сообщений (RabbitMQ, Kafka и другие)
Брокер сообщений — приложение, которое преобразует сообщение по одному протоколу от приложения-источника в сообщение протокола приложения-приёмника, тем самым выступая между ними посредником. Также выполняет маршрутизацию конкретному приемнику, сохранение сообщений. Использование брокеров сообщений позволяет разгрузить веб-сервисы в распределённой системе, так как при отправке сообщений им не нужно тратить время на некоторые ресурсоёмкие операции типа маршрутизации и поиска приёмников
Зачем нужно:
Позволяет быстро получать сообщения из разных источников, быстро перенаправлять сообщения в одну или несколько очередей согласно правилам маршрутизации, и обеспечивать быстрое чтение очередей по методу FIFO. Не нужно переживать, что сообщение не дошло.
Заметки:
Есть различные брокеры сообщений, так что можно выбрать подходящий именно под ваши задачи.
RabbitMQ — это гибкая маршрутизация сообщений между различными поставщиками и потребителями событий. В сервере реализована концепция принимающих события узлов (эксчейнджей) — они маршрутизируют данные в разные очереди сообщений RabbitMQ.
Apache Kafka — реализует архитектурную концепцию распределенного лога, в который заносят информацию разные поставщики данных. Затем информацию из этого лога читают другие программы и микросервисы. Сообщения сохраняются в брокере, подписчики подписываются на них, при этом гарантируется, что сообщения находятся в той же последовательности, в которой поступили.
С чего начать:
- Статья - Учимся готовить кроликов с редиской
- Статья - RabbitMQ + Конвертация Данных 3.0
- Статья - 1c + kafka.apache
- Статья - Apache Kafka: Основы технологии
- Статья - RabbitMQ или Apache Kafka
Подробнее:
- Официальный сайт RabbitMQ- https://www.rabbitmq.com
- Официальный сайт Apache Kafka - https://kafka.apache.org
BI-системы
Системы бизнес-аналитики - это аналитические системы, которые объединяют данные из любых различных источников информации, обрабатывают их и предоставляют удобный интерфейс.
1С:Аналитика
1С:Аналитика — это BI-система, которая поможет вам в работе с аналитическими данными и отлично подойдет для управленческого учета
Зачем нужно:
Простой и удобный интерфейс для бизнес-пользователей, который не требует специальных навыков или опыта работы с 1С
Заметки:
Позволяет строить красивые графики и дашборды по данным из 1С. Такие графики не стыдно показать руководителям.
Попробовать как это выглядит можно на демонстрационном стенде 1С:Аналитика
С чего начать:
- Демонстрационный стенд 1С:Аналитика
- Демонстрационные видео по 1С:Аналитика
- Книга - Е. Ю. Хрусталева - 1С:Аналитика. BI-система в 1С:Предприятии 8
Подробнее:
- Официальный сайт - https://v8.1c.ru/platforma/1s-analitika/
Microsoft Power BI
Microsoft Power BI — это коллекция программных служб, приложений и соединителей, которые взаимодействуют друг с другом, чтобы превратить разрозненные источники данных в согласованные, визуально иммерсивные и интерактивные аналитические сведения.
Зачем нужно:
Позволяет собрать данные из 1C, Excel и других источников и построить красивые и понятные отчеты
С чего начать:
- Статья - Microsoft Power BI + 1С. Зачем и как?
- Статья - Как подружить 1С и Power BI
- Статья - Бизнес-аналитика с помощью Power BI
Подробнее:
- Официальный сайт - https://powerbi.microsoft.com/ru-ru/
Статья на GitHub
Эта статья есть на GitHub с дополнительными ссылками - StackTechnologies1C
Благодарность
Если статья была полезная или просто хотите поддержать автора, то можете купить мне кофе