Разработка и Конфигурация · 10 мин
1С — это язык программирования? Разбираемся в терминах
Что такое 1С: платформа, язык программирования или программа? Объясняем разницу простыми словами, показываем примеры кода и объясняем, с чего начать изучение.
Вопрос «1С — это язык программирования?» задают почти все, кто впервые сталкивается с этой экосистемой. Путаница понятна: словом «1С» называют и компанию-разработчика, и платформу «1С:Предприятие», и типовые программы вроде «1С:Бухгалтерии», и встроенный язык, на котором пишут прикладную логику. На практике это разные вещи, и смешивать их — частая причина недопонимания при выборе профессии или найме специалиста.
Короткий ответ: 1С — это не один язык программирования, а целая технологическая платформа, внутри которой есть собственный встроенный язык. Официально он называется «встроенный язык 1С» (в среде разработчиков его часто называют просто «язык 1С» или «1С script»). Он компилируется в байт-код и выполняется внутри платформы «1С:Предприятие», а не сам по себе, как Python или C++.
Ниже разберём, из чего состоит экосистема 1С, как устроен встроенный язык, чем он отличается от универсальных языков, где пишут код на нём и стоит ли его изучать как первый язык программирования.
Что на самом деле скрывается за словом «1С»
Термин «1С» используется минимум в четырёх значениях. Первое — фирма «1С», компания-разработчик. Второе — платформа «1С:Предприятие», технологическая основа, которая включает среду исполнения, систему управления базами данных, механизмы отчётности и интеграции. Третье — прикладные решения (конфигурации): «1С:Бухгалтерия», «1С:Зарплата и управление персоналом», «1С:Управление торговлей» и другие. Четвёртое — встроенный язык программирования.
Когда говорят «я программирую на 1С», почти всегда имеют в виду разработку на встроенном языке внутри платформы. Это важно понимать при чтении вакансий: «программист 1С» — это не системный программист, а специалист, который дорабатывает конфигурации, пишет обработки, отчёты и интеграции средствами платформы.
Как устроен встроенный язык 1С
Встроенный язык 1С — это высокоуровневый предметно-ориентированный язык. Его главная особенность — двуязычный синтаксис: ключевые слова можно писать как на русском («Если», «Для», «КонецЕсли»), так и на английском («If», «For», «EndIf»). Русский вариант исторически стал стандартом в российской разработке, и большинство типовых конфигураций написаны именно на нём.
Язык не является объектно-ориентированным в классическом смысле: в нём нет наследования и пользовательских классов. Вместо этого разработчик оперирует объектами метаданных, заданными в конфигураторе, — справочниками, документами, регистрами накопления и сведений, перечислениями. Типизация динамическая: одна переменная может последовательно хранить число, строку и ссылку на объект базы.
Код исполняется в трёх контекстах: на клиенте (тонкий, толстый или веб-клиент), на сервере и во внешнем соединении. От контекста зависит, какие объекты и методы доступны — например, прямой запрос к базе возможен только на сервере. Это ключевое отличие от универсальных языков, где такого разделения нет.
Процедура РассчитатьСкидку(Документ) Экспорт
Если Документ.Сумма > 100000 Тогда
Документ.Скидка = Документ.Сумма * 0.05;
Иначе
Документ.Скидка = 0;
КонецЕсли;
КонецПроцедурыГде именно пишут код в 1С
Код на встроенном языке размещается не в отдельных файлах проекта, а в модулях — специальных контейнерах внутри конфигурации. Основные виды модулей: модуль объекта (например, документа), модуль формы, модуль менеджера объекта, общие модули и модуль приложения. Каждый имеет своё назначение и правила видимости.
Работают с кодом в конфигураторе — штатной среде разработки платформы — или в 1C:Enterprise Development Tools (EDT), среде на базе Eclipse. EDT лучше подходит для крупных проектов с командной разработкой и системами контроля версий, конфигуратор — для быстрых доработок и поддержки существующих баз.
Типичный сценарий: доработка типовой конфигурации
На практике большинство задач выглядит так: нужно добавить проверку при проведении документа, вывести дополнительное поле в отчёт или сделать обмен данными с сайтом. Разработчик открывает конфигуратор, находит нужный объект метаданных, дописывает обработчик события (например, «ПриЗаписи») и проверяет результат на тестовой копии базы.
- 1Сделайте копию рабочей базы и выполняйте все изменения только на ней
- 2Откройте конфигуратор и найдите нужный объект метаданных через поиск
- 3Добавьте код в обработчик события или общий модуль
- 4Обновите конфигурацию базы данных (клавиша F7)
- 5Запустите режим предприятия и проверьте поведение на тестовых данных
- 6Только после успешной проверки переносите изменения в рабочую базу
Чем язык 1С отличается от универсальных языков
Главное отличие — предметная ориентированность. Встроенный язык 1С создан для учётных задач: проведение документов, движения по регистрам, запросы к данным. Многое из того, что на Python или C# пришлось бы программировать вручную (работа с БД, интерфейсы, права доступа, журналирование), платформа берёт на себя. Поэтому бизнес-логика пишется быстро, но за пределами платформы язык не работает.
Запросы к данным пишутся на отдельном языке запросов, похожем на SQL, но с обращением к объектам метаданных, а не к физическим таблицам. Это ещё один «язык внутри языка», который обязателен для разработчика 1С.
| Критерий | Встроенный язык 1С | Универсальные языки (Python, C#) |
|---|---|---|
| Область применения | Только внутри платформы «1С:Предприятие» | Любые задачи: веб, десктоп, аналитика, игры |
| Синтаксис | Русский или английский, предметно-ориентированный | Английский, универсальный |
| Работа с БД | Встроена в платформу, язык запросов на объектах | Через библиотеки и ORM |
| Интерфейс пользователя | Генерируется платформой из метаданных | Создаётся отдельными средствами |
| Переносимость кода | Не работает вне платформы | Зависит от языка, обычно высокая |
Стоит ли учить язык 1С и кому он подходит
Язык 1С — разумный выбор, если цель — работа в учётной автоматизации на российском рынке: внедрение и поддержка «1С:Бухгалтерии», ERP, зарплатных и торговых решений. Порог входа ниже, чем в классическую разработку: платформа снимает с программиста инфраструктурные задачи, а спрос на специалистов стабилен.
Как первый язык «для общего развития» он подходит хуже: навыки слабо переносятся в другие области программирования. Если планируете работать в веб-разработке, мобильных приложениях или data science, рациональнее начать с Python или JavaScript, а 1С осваивать уже как профильный инструмент.
Как выбрать путь
Частые ошибки новичков при изучении языка 1С
Типичная ошибка — изучать синтаксис отдельно от платформы. Без понимания метаданных (чем регистр накопления отличается от регистра сведений, как работает проведение документа) знание операторов языка почти бесполезно. Правильный порядок: сначала объекты конфигурации, потом программирование их поведения.
Вторая ошибка — игнорирование языка запросов. Новички часто выбирают данные перебором в цикле, что на больших базах приводит к катастрофическому падению производительности. Любую выборку из базы следует делать запросом, а циклы использовать только для обработки уже полученного результата.
Как проверить, что вы движетесь в правильном направлении
Признак правильного освоения — вы можете объяснить, где исполняется ваш код (клиент или сервер), почему выбрали запрос вместо цикла и как изменение повлияет на обновление конфигурации. Если эти три вопроса вызывают затруднение, стоит вернуться к основам платформы.
Как проверить результат доработки
Код проверен на копии базы с реальными объёмами данных
Проверка только на пустой тестовой базе
Операция выполняется за приемлемое время на боевых объёмах
Заметные паузы при проведении документов
Изменения вынесены в расширение или аккуратно задокументированы
Типовой код переписан без следов, обновление невозможно
Частые вопросы
1С — это язык программирования или программа?
Ни то ни другое в чистом виде. 1С — это платформа для создания и исполнения прикладных решений. Внутри неё есть встроенный язык программирования, а готовые программы (например, «1С:Бухгалтерия») — это конфигурации, работающие на этой платформе.
На каком языке написана сама 1С?
Ядро платформы «1С:Предприятие» написано преимущественно на C++. Пользователи и разработчики прикладных решений с этим не сталкиваются — они работают со встроенным языком и конструкторами конфигуратора.
Почему в 1С код пишут на русском языке?
Платформа поддерживает два варианта синтаксиса — русский и английский. Русский выбран, чтобы снизить порог входа для специалистов без классического программистского образования. Оба варианта эквивалентны и могут смешиваться, хотя на практике в типовых конфигурациях используется русский.
Можно ли найти работу, зная только язык 1С?
Да, профессия «разработчик 1С» востребована на российском рынке. Однако работодатели ждут не только знания синтаксиса, но и понимания предметной области: бухгалтерского учёта, расчёта зарплаты, складского учёта. Язык без доменных знаний ценится значительно ниже.
Сколько времени нужно, чтобы освоить язык 1С с нуля?
Базовый синтаксис и простые доработки осваиваются за несколько недель при ежедневной практике. Уверенная работа с типовыми конфигурациями, запросами и механизмами платформы обычно требует нескольких месяцев практики на реальных задачах. Сроки сильно зависят от наличия опыта программирования и знания учётных процессов.
Нужно ли знать SQL для работы с 1С?
Строго говоря, нет — платформа сама транслирует запросы в SQL конкретной СУБД. Но понимание принципов SQL помогает писать эффективные запросы и разбираться в проблемах производительности, поэтому базовые знания SQL заметно повышают квалификацию разработчика.
Что важно запомнить
1С — это платформа со встроенным предметно-ориентированным языком, а не самостоятельный язык программирования. Код пишется в модулях конфигурации, тесно связан с объектами метаданных и работает только внутри платформы. Изучать его стоит вместе с основами учёта и языком запросов, а все доработки проверять на копии базы.