Каждый активно практикующий программист 1С рано или поздно сталкивается с проблемой «информационного хаоса». Позади сотни решенных задач, уникальных алгоритмов интеграции, сложных запросов в СКД и оптимизированных обработок. Но когда аналогичная задача возникает снова, мы тратим драгоценные часы на воспоминания о том, в какой именно базе или в каком файле мы реализовали это красивое решение полгода назад. В итоге на жестком диске разрастаются папки с названиями вроде «Хлам», «Мои заготовки» или классическое «Херня (не удалять)». Пора положить этому конец и систематизировать свой опыт.
В этой статье мы подробно проанализируем опыт профессиональных разработчиков, рассмотрим штатные инструменты платформы 1С, специализированный софт и современные подходы к созданию личной базы знаний, которые помогут вам мгновенно находить нужные фрагменты кода и хранить заготовки в идеальном порядке.
Один из самых простых и быстрых способов, лежащих на поверхности, — использование встроенного механизма шаблонов текста 1С. Этот метод отлично подходит для хранения небольших, часто используемых конструкций кода (например, шаблонов циклов выборки, создания транзакций, выгрузки таблиц значений или типовых запросов).
Рассмотрим, как устроен этот механизм. В Конфигураторе мы можем открыть меню Сервис — Шаблоны текста. Платформа позволяет создавать свои файлы шаблонов (с расширением .st). В этих файлах мы можем прописать любые конструкции кода и назначить им сочетания клавиш или текстовые автозамены. Например, при вводе слова созд_тз и нажатии клавиши пробела или табуляции платформа автоматически развернет это сокращение в полноценный блок создания таблицы значений с комментариями.
Однако у этого способа есть существенные ограничения, которые мы должны учитывать:
.st с собой.Многие разработчики используют прагматичный подход — хранение наработок внутри самой рабочей среды. Разберем две популярные механики реализации этого подхода:
Метод пустой внешней обработки. Создается обычный файл ВнешняяОбработка1.epf. В его модуле объекта или модуле управляемой формы программист аккуратно собирает сотни полезных функций и процедур «на все случаи жизни». Преимущество метода в его автономности — этот файл можно быстро скинуть на флешку, отправить по почте или запустить в любой базе 1С для отладки. Недостаток заключается в отсутствии удобной каталогизации: ориентироваться в файле, где содержится 100 500 строк кода, становится сложно, даже используя поиск по тексту.
Метод служебного Расширения. Если вы постоянно ведете разработку или сопровождение крупной базы, очень удобно создать собственное служебное Расширение конфигурации. В него добавляется несколько общих модулей, например, Мой_МодульСервер, Мой_МодульКлиент и Мой_МодульMSSQL. Все полезные и отлаженные функции помещаются туда:
// Пример функции для быстрого экспорта таблицы значений в лог-файл, сохраненной в общем модуле расширения
Функция Мой_ЭкспортироватьТаблицуВТекст(ТаблицаЗначений, ПутьКФайлу) Экспорт
Текст = Новый ЗаписьТекста(ПутьКФайлу, КодировкаТекста.UTF8);
// Алгоритм обхода колонок и строк для выгрузки в CSV или TXT
...
Текст.Закрыть();
КонецФункции
Такой подход позволяет использовать наработки в любой момент разработки в рамках текущей информационной базы без необходимости открывать сторонние файлы.
Для тех, кто хочет получить максимум контроля и возможностей поиска, идеальным решением станет создание или использование готовой **конфигурации-накопителя**. Проанализируем, почему этот метод считается одним из самых надежных в профессиональной среде:
.cf и .cfu), внешних отчетов (.erf) и обработок (.epf) прямо в реквизитах с типом ХранилищеЗначения.#СКД, #Интеграция, #HTTP), поля для детального описания, а также реализовать систему версионирования.Для создания такой базы не обязательно писать все с нуля. В сообществе разработчиков регулярно публикуются готовые легкие конфигурации (так называемые «Базы знаний программиста»), которые достаточно развернуть на локальной платформе 1С и начать наполнять своими материалами.
Если вам неудобно держать открытой еще одну сессию 1С ради поиска куска кода, стоит обратить внимание на специализированный софт для ведения заметок с древовидной структурой. Рассмотрим наиболее популярные решения в среде ИТ-специалистов.
Классические древовидные редакторы (My Notes Keeper, CherryTree). Эти программы предлагают простую и понятную концепцию: слева находится иерархическое дерево папок и документов, создаваемое пользователем в произвольной форме, а справа — редактор контента. В таких редакторах поддерживается форматирование текста (Rich Text), подсветка синтаксиса популярных языков программирования, вставка скриншотов «налету» и прикрепление произвольных файлов к веткам дерева. Это отличный локальный инструмент, не требующий подключения к интернету.
Современные Markdown-системы (Obsidian, Joplin). Это передовой стандарт управления персональными знаниями (PKM). Проанализируем ключевые преимущества перехода на систему Obsidian:
.md. Вы полностью независимы от облачных провайдеров, санкций и работоспособности конкретных сервисов. Даже если приложение закроется, ваши данные останутся читаемыми в любом текстовом редакторе.BSL Language Server или сторонних парсеров подсветки, код 1С выглядит так же эстетично, как и в родном конфигураторе.Если ваша цель — быстро сохранять именно куски кода и делиться ими с коллегами, оптимальным решением станут менеджеры сниппетов. Разберем основные варианты:
В последние годы разработка на платформе 1С выходит за рамки классического Конфигуратора. Все больше специалистов используют редактор Visual Studio Code (VS Code) для работы с кодом, написания скриптов автоматизации и проектирования в EDT. В VS Code встроен мощнейший механизм пользовательских сниппетов (User Snippets).
Выясним, как настроить хранение заготовок 1С в VS Code. Вы можете открыть меню настроек сниппетов и создать файл конфигурации сниппетов для языка bsl (язык 1С). Записи в этом файле хранятся в формате JSON. Посмотрим на пример настройки такого файла:
{
"Новый Запрос 1С": {
"prefix": "запрос_созд",
"body": [
"Запрос = Новый Запрос;",
"Запрос.Текст = ",
" \"ВЫБРАТЬ",
" | $1",
" |ИЗ",
" | $2\";",
"РезультатЗапроса = Запрос.Выполнить();"
],
"description": "Быстрое создание шаблона запроса 1С"
}
}
При вводе префикса запрос_созд в редакторе VS Code, система автоматически развернет весь этот блок, установив курсор в позицию $1 для быстрого заполнения полей запроса. Эти конфигурационные файлы весят считанные килобайты, их невероятно удобно хранить в своем персональном Git-репозитории и синхронизировать между всеми рабочими компьютерами.
Независимо от выбранного вами инструмента (будь то база данных 1С, Obsidian, локальная папка или Git), система не будет работать без соблюдения базовой дисциплины. Разберем ключевые правила успешного ведения базы знаний программиста:
#запросы, #скд, #оптимизация, #интеграция_http, #расширения. Это позволит быстро находить все смежные материалы по теме, даже если они хранятся в разных разделах вашей базы знаний.Внедрение даже одного из рассмотренных методов хранения кода способно сэкономить вам десятки часов рабочего времени ежемесячно, избавить от рутинного написания однотипного кода и значительно повысить вашу профессиональную ценность как разработчика.