Привет, Хабр (и просто случайные читатели, зашедшие сюда в поисках истины или интересной статейки на пару минут)!
Так вышло, что последние полгода я провёл в тесных объятиях «Личного кабинета сотрудника» на Элементе — новом языке программирования от 1С. За это время я успел его изучить, полюбить, возненавидеть, снова полюбить и, наконец, написать эту статью, чтобы поделиться своими впечатлениями, страданиями и неожиданными открытиями.

Кто я такой и почему мне можно верить (хотя дело ваше)?
До этого я работал с Python и JavaScript, а тут вдруг жизнь меня привела в неизвестность, и я сел за Элемент, не зная даже базового 1С. Да, я тот самый смельчак, который сначала нажимает «Да, я уверен», а потом гуглит, что же это было.
Что такое Элемент?
Элемент — это новый продукт, разработанный компанией 1С для создания и разработки приложений, которыми смогут пользоваться не только бизнес-юзеры, бухгалтера, кадровики, финансисты, а и новый для 1С круг пользователей юзеры-клиенты.
Элемент это не язык программирования, а среда для разработки внутри которой лежит язык программирования Исполнитель, но обросший новыми приколами. Поэтому в статье я обобщу Элемент как язык программирования для простоты объяснений. В интерфейс среды разработки углубляться в этой статье не будем. Я лишь хочу, чтобы вы взглянули на среду разработки Элемент и на Visual Studio Code :-)


Кстати фишка элемента, что разработка ведётся на облаке либо на поднятой среде разработки на локальном сервере организации, локальной программы под комп нет. Из-за этого всплывает полным-полно трудностей с тем, что сервер падает, не работает поиск по проекту, или невозможно подключение к гиту. Например, у нас есть два сервера — Windows и Linux. На Linux поиск по проекту не работает, в то время как на Windows функционирует без нареканий.
Элемент позволяет создавать любое веб приложение путём написания кода и команд для серверной части приложения, а также и для части клиента (фронта), но используя помимо кода подход «Метаданные‑ориентированная разработка» или «Конфигурирование», кому как удобно. Но забегу вперёд и спойлерну: «Там ещё и можно костылить на JS, HTML и CSS».


Сравнение с другими языками
1. Простота и удобство (на удивление)
Элемент имеет более простой и понятный синтаксис если, конечно, смириться с русскоязычной разработкой, хотя там можно поменять язык разработки (за это лайк), но на двух вариантах сразу писать нельзя, хотя кому-то проще так, а кому-то так, а проект общий. Язык хорошо ложится на понимания базы разработки. В отличие от JS, где нужно учитывать множество нюансов и особенностей, в Элементе всё более прямолинейно и логично, но на базовом уровне даже забавно насколько они похожи.


2. Интеграция с продуктами 1С
Если вы работаете в экосистеме 1С, то Элемент — ваш лучший друг. Он заточен под их продукты и позволяет быстро делать приложения, которые будут работать из коробки даже на мобильных устройствах.
3. Ограниченная сфера применения
В отличие от JS, который можно запихнуть хоть в тостер, Элемент пока заточен только под продукты 1С. Но, если вам нужно мобильное приложение без лишних телодвижений — он справится. (хотя бубен и костюм шамана в шкаф не прячьте - пригодится).
4. Проблема реализации любой задумки
Представьте, делаете вы проект на JS или Python, всё, что захотели вы или заказчик, в 99.9% случаев реализуемо, кайффффф. Хотите кнопку, которая меняет цвет в зависимости от фазы луны? Без проблем!
В Элементе же всё складывается из мелочей.
Хочешь перекрасить стандартную кнопку? Пожалуйста — на выбор три цвета. Приходится либо костылить через HTML, либо собирать кнопку из других компонентов, тратя на это кучу времени. Конечно, кто-то скажет: «Пользуйся стандартом, тут всё продумано и гармонично». Но в реальной разработке, а не в идеализированных примерах, ты делаешь не «как надо», а как хочет заказчик. Если ему нужна светло-сиреневая кнопка — значит, она будет.
Ещё пример: я хотел убрать название приложения из шапки, но оставить его в <title> страницы. Звучит просто, но стандартный функционал этого не позволяет. Пришлось писать JS-код, который искал нужный элемент в DOM-дереве внутри iframe и перезаписывал его.
И напоследок — самый болезненный кейс. При авторизации через форму в мобильном приложении пользователь не может исправить логин, если ошибся: кнопки «Назад» просто нет. Пришлось внедрять JS, который добавлял эту кнопку и возвращал пользователя на шаг назад.
Вывод:
Элемент — это как IKEA для разработчиков. Всё красиво и просто, пока не попробуешь собрать что-то не из инструкции.
Особенности Элемента
1. Настоящее ООП (а не «как бы ООП» из 1С)
Да-да, здесь есть нормальное объектно-ориентированное программирование! Можно писать классы, наследование, инкапсуляцию — всё как у взрослых.
Не закидывайте меня камнями, 1С имеет урезанную реализацию ООП.
2. Можно костылить JS (но стыдно)

Если что-то нельзя сделать стандартными средствами — добро пожаловать в мир JS-костылей!
Плюсы:
Можно реализовать любую безумную идею.
Никто не узнает… кроме коллег, которые потом будут это поддерживать.
Минусы:
Дока говорит «нельзя» → сообщество говорит «нельзя» → а ты всё равно делаешь, так как надо.
Примеры кода
Сейчас я вам продемонстрирую синтаксис более углубленно.







То есть как вы можете увидеть синтаксис Элемента (Исполнителя), понятный, проглядываются сходства с JS, и это действительно можно назвать хорошим по синтаксису языком.
Минимум «шума» — нет лишних скобок {} или точек с запятой; (кроме завершения блоков).
Статическая типизация с лаконичностью. Явное указание типов (Строка, Число, Булево) помогает избежать ошибок. При этом синтаксис не перегружен (например, в отличие от TypeScript или C#).
Логичные операторы сравнения. Использование и/или вместо &&/|| делает код понятнее без знания спецсимволов.
Предсказуемость и безопасность. Статическая типизация предотвращает ошибки в рантайме (например, нельзя случайно сложить строку и число). Явное объявление переменных через пер (аналог let/var) снижает риск неожиданного поведения
Баланс между простотой и мощью. Единый синтаксис для методов (нет разделения на функции и процедуры как в старом 1С). Поддержка перегрузки методов, структур, исключений — как в современных языках.
А теперь докажите, что это уже не тот 1С с которым мы работали. Это действительно хороший продукт.
Стоит ли изучать Элемент?
Да, если:
Вы работаете с 1С и хотите выйти за рамки типовых конфигураций.
Если ты джун и не можешь отыскать работу, прыгай в этот язык, изучай его, а затем и вытекающие из него 1С:Аналитика и 1С:Шина и на рынке труда за тебя начнут драться. Но это по секрету. Тссссс…
Нет, если:
Вы не связаны с 1С и не планируете.
Хотите полную свободу без костылей.
Вывод
Элемент — это интересный эксперимент 1С, который пытается соединить конфигурирование и настоящую разработку. Я по-настоящему верю, что у этого продукта есть реальные шансы ворваться с двух ног в мир быстрой шаблонной разработкой не больших по сложности продуктов. И ещё стоит отметить современность данного продукта в отличии от основного 1С. Элемент показывает нам, что компания 1С не застряла в своём мире, а идёт в ногу со временем и создаёт что-то новое.
Если решитесь — готовьтесь к приключениям, костылям и неожиданным сюрпризам! 🚀
Компании 1С за Элемент ставлю Лайк.