Разработка 1С (BSL)
Стиль и структура
- Разделяй клиентский и серверный код (
&НаКлиенте,&НаСервере,&НаСервереБезКонтекста). - Тяжёлые операции и запросы — только на сервере.
- Имена процедур/функций — PascalCase, переменные — CamelCase (или по конвенции проекта).
- Избегай запросов в циклах; используй пакетные операции и временные таблицы.
Запросы
- Явно указывай поля вместо
SELECT *. - Для больших выборок —
ПЕРВЫЕ N, индексы по измерениям регистров. - Проверяй
ВЫБРАТЬ РАЗРЕШЕННЫЕпри работе с RLS. - Виртуальные таблицы регистров — с явными параметрами периода и отборов.
Проведение и транзакции
НачатьТранзакцию()/ЗафиксироватьТранзакцию()/ОтменитьТранзакцию()— только при необходимости.- Блокировки данных — осознанно, минимальный scope.
- Движения регистров — в
ОбработкаПроведенияили через общие модули проведения.
Перед коммитом
- Синтаксический контроль (
1c-platform-tools.test.syntaxCheckили BSL LS). - Нет отладочного кода (
Сообщить, лишнихПредупреждение). - Новые объекты метаданных согласованы с аналитиком.
- Инкрементальная загрузка в тестовую ИБ при наличии проекта Platform Tools.
Связанные skills
- Платформа:
1c-platform-tools,1c-platform-tools-test,1c-platform-tools-configuration - XML/метаданные: skills из cc-1c-skills (если установлены)
- Контекст проекта:
1c-project-context