← На главную
В процессе активной разработки на платформе 1С каждый специалист накапливает сотни удачных алгоритмов, типовых запросов, заготовок экранных форм и сервисных процедур. Со временем поиск нужного фрагмента по прошлым проектам и рабочим базам становится трудоемким. Разберем ключевые способы организации персональной базы знаний и библиотеки сниппетов, их преимущества и ограничения.
1. Использование встроенного механизма шаблонов текстов (.st)
Платформа 1С содержит штатный инструмент для автоподстановки и хранения заготовок кода — файлы шаблонов с расширением .st. Подключить их можно непосредственно в конфигураторе через меню настройки шаблонов.
Рассмотрим ключевые особенности работы со штатными шаблонами:
- Интерактивная параметризация: При вставке заготовки система запрашивает параметры (например, имя переменной, тип объекта или таблицы), автоматически подставляя их в тело кода.
- Разделение по файлам: Можно создать несколько тематических файлов шаблонов (работа с запросами, интеграция по HTTP, механизмы проведения, СКД) и подключать их параллельно.
- Быстрый вызов: Подстановка вызывается вводом краткого префикса и нажатием сочетания клавиш автодополнения (
Ctrl+Q или Shift+F1).
Ограничения подхода: Файлы .st имеют специфический внутренний формат, затрудняющий версионирование через Git, а встроенный редактор не поддерживает хранение экранных форм и внешних макетов.
2. Текстовые экспандеры и сторонние менеджеры сниппетов
Если разработка ведется на разных версиях платформы (1С:Предприятие 7.7, 8.3, в среде «Конвертация данных» или веб-клиенте), эффективным решением становится применение универсальных текстовых экспандеров (например, PhraseExpress).
Проанализируем преимущества экспандеров:
- Кроссплатформенность внутри системы: Шаблоны срабатывают в любых окнах — от модулей конфигуратора до полей ввода в режиме предприятия и внешних редакторов.
- Портативность и сетевая работа: Существуют как переносные версии (Portable), так и серверные конфигурации, позволяющие формировать единую базу сниппетов для всей команды разработчиков.
- Быстрый полнотекстовый поиск: Позволяет мгновенно находить фрагмент по ключевым словам, не вспоминая точный префикс подстановки.
3. Облачные репозитории и базы знаний Markdown
Для хранения сложных алгоритмов с подробными описаниями и комментариями отлично подходит подход на основе Markdown-документов или облачных сервисов (например, GitHub Gist).
Посмотрим на практическую организацию такой структуры:
- Локальные Markdown-заметки: Файлы сохраняются в иерархических папках и связываются между собой перекрестными ссылками и тегами (
#СКД, #HTTP, #JSON). В них поддерживаются блоки кода с подсветкой синтаксиса встроенного языка 1С.
- Интеграция с Git: База знаний помещается в репозиторий контроля версий, что обеспечивает сохранение истории изменений и удобную синхронизацию между рабочим и домашним ПК.
- Gist и онлайн-сниппеты: Позволяют делиться готовыми решениями с коллегами и сохранять доступ к ним из любой точки через браузер.
4. Создание специализированной конфигурации 1С для хранения алгоритмов
Создание отдельной служебной базы данных 1С оправдано в тех случаях, когда требуется сохранять не просто строки кода, но и визуальные элементы: готовые формы, отчеты, обработки и бинарные макеты.
Разберем архитектуру такой конфигурации:
- Полнотекстовый поиск: Использование стандартного механизма полнотекстового поиска платформы с поддержкой морфологии позволяет находить сниппеты даже по приблизительному описанию решаемой задачи.
- Хранение метаданных и файлов: В справочниках базы можно хранить не только исходный текст, но и прикрепленные внешние отчеты/обработки (
.erf / .epf), а также выгрузки расширений (.cfe).
- Подсветка синтаксиса: В формах элемента отображение текста кода реализуется через элемент
ПолеHTMLДокумента с подключением легковесных JavaScript-библиотек подсветки.
- Интеграция через HTTP-сервисы: Опубликовав служебную базу на локальном веб-сервере, можно настроить получение нужного куска кода внешними утилитами или скриптами по горячей клавише.
5. Библиотечный подход: переход от сниппетов к БСП и расширениям
Выясним причину, по которой частое копирование сниппетов в прикладной код считается устаревающей практикой. В современной экосистеме 1С дублирование однотипного кода заменяется использованием готовых стандартных библиотек:
- Библиотека Стандартных Подсистем (БСП): Большинство типовых операций (парсинг строк, сериализация JSON, работа с файловой системой, криптография, регламентные задания) уже реализованы в общих модулях, таких как
СтроковыеФункцииКлиентСервер или ОбщегоНазначенияКлиентСервер. Рациональнее вызывать штатные функции, чем хранить и вставлять собственные дубликаты.
- Расширения конфигурации (.cfe): Готовые универсальные инструменты, сервисные панели и заготовки форм удобнее упаковывать в подключаемые расширения, которые добавляются в исследуемую базу за несколько секунд без изменения основной конфигурации.