Разработка и Конфигурация · 13 мин
С помощью чего осуществляется разработка бизнес-приложений в 1С:Предприятие
Конфигуратор, встроенный язык, 1C:EDT, расширения и СКД: разбираем, с помощью чего ведётся разработка бизнес-приложений в системе 1С:Предприятие.
Разработка бизнес-приложений в системе «1С:Предприятие» ведётся не в сторонних средах программирования, а в специализированных инструментах, которые поставляются вместе с технологической платформой. Основной из них — Конфигуратор: встроенная среда разработки, в которой создаются и изменяются конфигурации, то есть прикладные решения для учёта, торговли, зарплаты и других задач. Дополнительно используется среда 1C:Enterprise Development Tools (1C:EDT) на базе Eclipse, а также вспомогательные механизмы платформы — расширения конфигурации, внешние обработки и отчёты.
Ключевая особенность платформы — метаданные вместо «ручного» проектирования базы данных. Разработчик описывает объекты прикладного решения (справочники, документы, регистры, отчёты) в дереве конфигурации, а платформа сама создаёт таблицы в СУБД, строит формы, обеспечивает права доступа и журналы регистрации. Поэтому значительная часть бизнес-логики реализуется декларативно, а программный код на встроенном языке добавляется там, где требуется нестандартное поведение.
Ниже разобраны все основные инструменты разработки в 1С: что делает каждый из них, когда какой выбирать, как устроен встроенный язык и какие ограничения важно учитывать, чтобы не сломать рабочую базу.
Конфигуратор — основная среда разработки
Конфигуратор — это режим запуска платформы 1С:Предприятие, предназначенный для разработки и администрирования. Открыть его можно из окна запуска, выбрав информационную базу и нажав кнопку «Конфигуратор». Именно здесь находится дерево конфигурации — иерархический список всех объектов метаданных: общих модулей, справочников, документов, регистров накопления и сведений, отчётов, обработок, ролей и подсистем.
Работа с объектом начинается с его свойств: разработчик задаёт имя, синоним, длину кода или номера, состав реквизитов и табличных частей, иерархию, нумерацию. Для ускорения типовых операций в Конфигуратор встроены конструкторы: конструктор ввода на основании, конструктор движений документа, конструктор печати, конструктор запроса. Они генерируют готовый код, который затем дорабатывается вручную.
После внесения изменений конфигурация базы данных обновляется через команду «Конфигурация → Обновить конфигурацию базы данных» (клавиша F7). Платформа анализирует изменения и выполняет реструктуризацию таблиц. На больших базах реструктуризация при удалении или изменении типа реквизитов может занимать значительное время, поэтому обновление рабочих баз проводят в нерабочие часы и только после резервного копирования.
Встроенный язык 1С и модули
Программная логика пишется на встроенном языке 1С — высокоуровневом предметно-ориентированном языке с русскоязычным и англоязычным синтаксисом. Код размещается в модулях: модуле объекта (например, документа), модуле формы, модуле менеджера, общих модулях (серверных и клиентских), модуле приложения и модуле сеанса. Выбор модуля определяет контекст исполнения: на клиенте, на сервере или в обоих режимах.
Язык тесно интегрирован с метаданными: обращение к справочнику или документу выполняется через менеджер объекта, например Справочники.Номенклатура.НайтиПоКоду("000001"). Для выборки больших объёмов данных используется язык запросов 1С — декларативный язык, похожий на SQL, но работающий с терминами метаданных и поддерживающий виртуальные таблицы регистров (остатки, обороты, срезы).
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Товары.Номенклатура КАК Номенклатура,
| Товары.КоличествоОстаток КАК Остаток
|ИЗ
| РегистрНакопления.ТоварыНаСкладах.Остатки(&Период, Склад = &Склад) КАК Товары";
Запрос.УстановитьПараметр("Период", ТекущаяДатаСеанса());
Запрос.УстановитьПараметр("Склад", Склад);
Результат = Запрос.Выполнить().Выгрузить();Для отладки в Конфигураторе есть полноценный отладчик: точки останова, пошаговое выполнение, табло выражений, стек вызовов, замер производительности. Отладка запускается клавишей F5 и работает как для толстого и тонкого клиента, так и для серверного кода при соответствующей настройке сервера 1С.
Механизм метаданных и прикладные объекты
Бизнес-приложение в 1С строится из типовых «кирпичей» — прикладных объектов. Справочники хранят нормативно-справочную информацию (номенклатура, контрагенты, сотрудники). Документы фиксируют факты хозяйственной деятельности и проводятся по регистрам. Регистры накопления и сведений хранят итоговые и детальные данные для учёта и аналитики. Отчёты и обработки извлекают и обрабатывают информацию.
Платформа автоматически обеспечивает для этих объектов стандартную функциональность: экранные формы, кнопки записи и проведения, журналы документов, механизмы нумерации, историю изменений (при включённом версионировании), разграничение прав через роли. Разработчику не нужно программировать CRUD-операции — он описывает структуру и бизнес-правила, а инфраструктуру берёт на себя платформа.
Дерево конфигурации: справочники, документы, регистры, отчёты, роли
Модули объектов, форм и общие модули с процедурами и функциями
Язык запросов и система компоновки данных для отчётов
Управляемые формы, декларативно описываемые в конфигураторе
1C:EDT — среда для командной разработки
1C:Enterprise Development Tools — альтернативная среда разработки на базе платформы Eclipse. В отличие от Конфигуратора, который хранит конфигурацию монолитно в базе, EDT работает с проектом в виде набора файлов, что делает её удобной для командной разработки с системами контроля версий, прежде всего Git. Поддерживаются ветвление, слияние, код-ревью и интеграция с CI-процессами.
EDT предоставляет расширенные возможности редактора кода: контент-ассист, проверку ошибок «на лету», рефакторинг, настраиваемые проверки качества кода. Среда особенно оправдана на крупных проектах с несколькими разработчиками и формализованным процессом выпуска релизов. Для небольших доработок одним специалистом Конфигуратор обычно проще и быстрее.
Сравнение инструментов разработки
Подходит для одиночной разработки, быстрых доработок и администрирования. Ограничение: слабая поддержка параллельной работы и контроля версий без хранилища конфигурации.
Подходит для командной разработки, Git, код-ревью и CI. Ограничение: требует больше ресурсов и привыкания к интерфейсу Eclipse.
Подходят для доработки типовых решений без снятия с поддержки. Ограничение: нельзя изменять структуру типовых объектов произвольно, действуют ограничения на ряд механизмов.
Подходят для сервисных функций, интеграций и дополнительных отчётов без изменения конфигурации. Ограничение: не могут добавлять новые объекты метаданных.
Расширения и внешние обработки: доработка без изменения типовой конфигурации
Расширение конфигурации — механизм, позволяющий добавить собственные объекты, формы и обработчики поверх типовой конфигурации, не изменяя её саму. Это решает главную проблему сопровождения: типовая конфигурация остаётся на поддержке вендора и обновляется штатно, а доработки хранятся отдельно и подключаются как слой. В расширении можно добавлять новые справочники, документы, регистры, отчёты, переопределять обработчики событий форм и модулей через аннотации &ИзменениеИКонтроль, &Перед, &После.
Внешние обработки и отчёты — файлы с расширением .epf и .erf, которые открываются в режиме предприятия или подключаются через механизм «Дополнительные отчёты и обработки» (БСП). Это оптимальный путь для сервисных утилит: загрузки данных из Excel, обмена с сайтом, массовой обработки документов, печатных форм. Разрабатываются они в том же Конфигураторе через «Файл → Новый → Внешняя обработка».
Как выбрать способ доработки
СКД, запросы и конструкторы: инструменты отчётности
Значительная часть бизнес-приложений — это отчётность. В 1С для неё используется система компоновки данных (СКД): разработчик описывает запрос, наборы данных, ресурсы, группировки и настройки, а платформа сама строит отчёт с отборами, сортировками, диаграммами и возможностью пользовательской настройки без программирования. СКД применяется и в отчётах конфигурации, и во внешних отчётах, и в динамических списках.
Запросы удобно строить конструктором запроса: он визуально собирает текст из таблиц, полей, соединений и условий. Для печатных форм используется конструктор печати, генерирующий макет табличного документа и процедуру его заполнения. Эти конструкторы — полноценная часть инструментария разработки, они сокращают рутинную работу и снижают количество ошибок в текстах запросов.
- 1Сделайте резервную копию базы или разверните копию для разработки
- 2Откройте базу в Конфигураторе и определите, что меняется: метаданные, форма или только логика
- 3Выберите инструмент: расширение для типовой конфигурации, внешнюю обработку для сервисной функции
- 4Реализуйте изменение, используя конструкторы и встроенный язык
- 5Протестируйте на копии под пользователем с реальными правами
- 6Перенесите доработку в рабочую базу и проверьте результат на контрольных примерах
Хранилище конфигурации и типичные ошибки
Для совместной работы в Конфигураторе используется хранилище конфигурации: объекты захватываются на редактирование, изменения версионируются, историю можно посмотреть и откатить. Хранилище подключается через «Конфигурация → Хранилище конфигурации». Это минимально необходимый механизм, если над конфигурацией работает больше одного разработчика, но по гибкости он уступает связке EDT + Git.
Отдельно стоит упомянуть вспомогательные инструменты платформы: синтакс-помощник (встроенная справка по языку, вызывается из редактора модуля), глобальный поиск и замена по конфигурации, проверка конфигурации (выявляет ошибки модулей, неразрешённые ссылки, нарушения прав), а также инструменты поставки и поддержки конфигураций.
Как проверить результат доработки
Готовность доработки определяется не только тем, что она «запускается». Проверка конфигурации штатным механизмом (Конфигурация → Проверка конфигурации) должна проходить без критических ошибок. Функциональность тестируется на копии базы под учётной записью с правами реального пользователя, а не администратора. Для расширений дополнительно проверяется совместимость после обновления типовой конфигурации: заимствованные объекты могут измениться, и контроль расширения укажет на расхождения.
Как проверить результат
Нет критических ошибок модулей и метаданных
Ошибки компиляции модулей, битые ссылки на объекты
Функция доступна и выполняется без ошибок прав
Ошибки «Нарушение прав доступа» у рядовых пользователей
Расширение применяется без отключения после обновления
Расширение отключается из-за изменения заимствованных объектов
Операция выполняется за приемлемое время на реальном объёме данных
Заметные задержки, блокировки, рост нагрузки на сервер
Что важно запомнить
Разработка бизнес-приложений в 1С:Предприятие ведётся в Конфигураторе или 1C:EDT с помощью метаданных, встроенного языка, языка запросов и СКД. Типовые конфигурации дорабатывают расширениями и внешними обработками, любые изменения проверяют на копии базы и под правами реальных пользователей.
Частые вопросы
Можно ли разрабатывать для 1С на Python, C# или Java?
Напрямую бизнес-логику конфигурации пишут только на встроенном языке 1С. Внешние языки применяются опосредованно: через внешние компоненты по технологии Native API/COM, веб-сервисы и HTTP-интеграции, где 1С обменивается данными с системами на других языках.
Что выбрать новичку: Конфигуратор или 1C:EDT?
Начинать проще с Конфигуратора: он поставляется с платформой, быстрее запускается и весь учебный материал по метаданным напрямую к нему привязан. К EDT имеет смысл переходить, когда появляется командная работа, Git и формальный процесс релизов.
Чем расширение отличается от доработки самой конфигурации?
Расширение хранится отдельным слоем и не изменяет типовую конфигурацию, поэтому она остаётся на поддержке и обновляется штатно. Прямая доработка требует снятия объектов с поддержки, что усложняет или блокирует автоматическое обновление.
Можно ли добавить новый справочник через внешнюю обработку?
Нет. Внешние обработки и отчёты не изменяют состав метаданных. Новые объекты добавляются либо в самой конфигурации, либо через расширение конфигурации.
Нужна ли отдельная лицензия для Конфигуратора?
Конфигуратор является частью технологической платформы и не требует отдельной лицензии: он доступен при наличии лицензии на платформу 1С:Предприятие. Для 1C:EDT также не требуется отдельная лицензия, но для коммерческого использования действуют условия лицензионного соглашения платформы.
Как безопасно перенести доработку в рабочую базу?
Сначала сделайте резервную копию рабочей базы, затем загрузите расширение или обновите конфигурацию через сравнение и объединение с файлом поставки. Перенос выполняйте в нерабочее время, после обновления проверьте работу ключевых сценариев под правами обычных пользователей.