Не просто язык, а часть платформы
Первое, что нужно уложить в голове. Встроенный язык программирования 1С не существует отдельно от среды, как Go или Java. Он живет внутри платформы «1С:Предприятие» и без нее не значит ничего.
Платформа берет на себя все скучное: соединение с СУБД, генерацию интерфейса, права доступа, транзакции, обмен данными, печатные формы. Разработчик описывает конфигурацию — набор метаданных вроде справочников, документов и регистров — а код пишет только там, где нужна нестандартная логика. По сути язык является скриптовым слоем поверх готового каркаса учетной системы.
Именно поэтому холивар «1C язык программирования или нет» я считаю бессмысленным. Да, это полноценный язык с переменными, циклами, исключениями и структурами данных. Просто область его применения предметно ориентирована на бизнес-задачи: учет, финансы, документооборот, зарплата, склад.
Куда реально зовут с этим языком
Меня часто спрашивают, где применяется язык 1С за пределами бухгалтерии, и я отвечаю по собственному списку проектов:
- Доработка типовых конфигураций. «Бухгалтерия предприятия», «Зарплата и управление персоналом», «Управление торговлей», ERP. Компания покупает готовую программу, а дальше идет подгонка под реальность: своя схема скидок, трехступенчатое согласование заявок, печатная форма с десятком нестандартных реквизитов. Тут крутится основная масса заказов.
- Производство и склад. Спецификации, партии, сменные задания, расчет себестоимости — логика тяжелая, а ошибка выливается в неправильную цену продажи. Складские проекты я люблю больше всего: терминалы сбора данных, штрихкоды, адресное хранение, торговое оборудование через драйверы.
- Интеграции. Учетная система давно перестала быть островом. HTTP-сервисы для интернет-магазина, заказы с маркетплейсов, платежи в банк-клиент, документы в ЭДО. Совет из опыта: сразу закладывайте очередь и журнал ошибок, потому что внешний сервис упадет обязательно, вопрос только в дате.
- Регуляторика. Скучно, зато денежно. Отчетность, маркировка, прослеживаемость, кадровый учет по свежим правилам. Законы меняются ежегодно, вендор выпускает новую версию, бизнес платит за адаптацию доработок.
- Отраслевые и заказные решения. Медицина, общепит, автосервисы, ЖКХ, транспортная логистика. Иногда попадается создание системы почти с нуля — мой проект по планированию ремонтов оборудования на заводе унаследовал от бухгалтерии только удобную модель данных.
Особенности языка 1С: синтаксис, типизация, события, компиляция
Синтаксис — смесь Pascal и Visual Basic с русскими словами:
Если Количество > 0 Тогда Сумма = Количество * Цена; КонецЕсли;
Операторные скобки развернутые, точка с запятой обязательна, регистр букв роли не играет, каждое ключевое слово имеет английский дубль. Классов в привычном виде тут нет: вместо наследования разработчик пишет общие модули с функциями, а объектную модель целиком задает платформа.
Типизация динамическая и довольно вольная. Переменная спокойно меняет тип по ходу выполнения, а примитивы соседствуют с универсальными коллекциями — массивом, структурой, соответствием, таблицей значений. Отдельная ловушка — два разных «пустых» значения:
| Значение | Откуда берется |
| Неопределено | значение не задано или переменная пуста |
| Null | пришло из базы, когда соединение в запросе не нашло пару |
Путаница между ними стабильно приносит новичкам ошибки. Мой прием прост: любое значение из внешнего источника я сразу проверяю через ТипЗнч.
Событийная модель — принципиальный момент. Программист почти никогда не пишет точку входа, он заполняет обработчики, которые дергает сама система: форма открылась, пользователь изменил реквизит, документ проводится. Есть еще механизм подписок, когда общий модуль перехватывает запись любого объекта нужного типа. Вещь мощная, но коварная — в коде объекта такой перехват не виден, и коллега потом полдня ищет, кто же меняет ему реквизит.
Компиляция идет незаметно и порционно. Платформа переводит модуль в байт-код при первом обращении, отдельной сборки проект не требует. Директивы &НаКлиенте и &НаСервере определяют, где окажется скомпилированный кусок, а серверный вызов из клиентской процедуры тянет за собой передачу контекста формы. Отсюда главный совет по производительности: держите обращения к серверу вне циклов.
Плата за гибкость — поздняя диагностика. Опечатку синтаксический контроль поймает, а несуществующий метод вылезет только в момент выполнения строки. Ветка кода, куда исполнение не заходило ни разу, легко живет со скрытой ошибкой месяцами. Поэтому я подключаю BSL Language Server и покрываю ключевые сценарии автотестами.
Базовый словарь: из чего складывается код
Прежде чем разбирать сложные механизмы, я всегда прохожу с новичком три темы. Переменные, значения с коллекциями и структура модулей — этот фундамент определяет качество всего остального кода.
Переменные и правила их жизни
Объявлять переменную заранее платформа не требует: вы просто присваиваете значение, и оно появляется. Слово Перем нужно, когда переменная должна жить на уровне всего модуля, а локальная спокойно умирает вместе с процедурой. Имена я пишу по-русски и полностью: СуммаБезНДС вместо с1, потому что этот код через год будет читать другой человек. Еще одна привычка, которая экономит нервы, — инициализация сразу при объявлении. Пустая строка, ноль, новый массив, и логика больше не спотыкается о Неопределено в редкой ветке.
Значения и коллекции, без которых не обойтись
Примитивы стандартные — число, строка, дата, булево, причем дата хранит время внутри себя, а работа с периодами строится через функции вроде НачалоДня. Интереснее коллекции: массив держит упорядоченный набор, структура собирает данные под строковыми ключами, соответствие снимает ограничение на вид ключа, а таблица значений заменяет полноценный набор данных в памяти. Мое правило выбора простое: нужен быстрый поиск — беру соответствие, потому что перебор массива на десяти тысячах элементов превращается в тормоза; нужно вернуть из функции несколько значений — беру структуру. Отдельно про ссылочные типы: ссылка на справочник указывает на запись в базе, и обращение к реквизиту через точку тянет запрос к СУБД, поэтому такие точки в цикле по тысяче строк — прямая дорога к жалобам на скорость.
Модули и методы: где вообще живет код
Код в конфигурации не лежит в файлах, он распределен по модулям, привязанным к объектам: модуль формы отвечает за интерфейс, модуль объекта хранит логику документа вместе с обработчиками записи и проведения, модуль менеджера работает с типом в целом, а общие модули играют роль библиотек, и туда я выношу все переиспользуемое. Методов два вида — процедура ничего не возвращает, функция отдает результат через Возврат. Ловушка для новичков в том, что параметры по умолчанию передаются по ссылке, и процедура спокойно поменяет ваш массив снаружи; слово Знач перед параметром это отключает, и я ставлю его почти всегда. Стоит попробовать и флаг повторного использования возвращаемых значений: платформа кеширует результат, и справочные функции перестают дергать базу по сто раз за один отчет.
Как это выглядит на практике: маленький пример
Теория без кода мертва, поэтому покажу типичный фрагмент — расчет суммы по табличной части документа. Такую процедуру пишет каждый разработчик в первую неделю работы:
&НаСервере Функция РассчитатьИтогПоТоварам(Товары) Итог = 0; Для Каждого СтрокаТовара Из Товары Цикл СтрокаТовара.Сумма = СтрокаТовара.Количество * СтрокаТовара.Цена; Итог = Итог + СтрокаТовара.Сумма; КонецЦикла; Возврат Итог; КонецФункции
Здесь видно почти все, о чем я говорил выше: русские ключевые слова, обход коллекции через Для Каждого, отсутствие объявления типов и директива компиляции сверху. Функция получает табличную часть, пересчитывает каждую строку и возвращает общую сумму. Заметьте, что параметр меняется прямо внутри процедуры — так работает передача по ссылке, и в данном случае это удобно. Останется вызвать функцию из обработчика события, например, при изменении количества, и документ начнет считать итог сам.
Чем 1С выбивается из общего ряда
Обычный язык дает конструктор из кубиков, а 1С выдает почти собранный дом и разрешает переставить мебель: базу, интерфейс, права и отчеты платформа берет на себя, поэтому рабочее приложение поднимается за день. Язык предметно ориентирован на учет — документы, регистры и проведение тут базовые понятия, а не самописные абстракции, отсюда и русский синтаксис, который читают не только программисты, но и аналитики. Взамен вы теряете привычные вещи: наследования классов и дженериков нет, экосистема замкнута на типовые конфигурации вместо тысяч открытых библиотек, а поставка идет файлом конфигурации, а не бинарником. Разница есть и в самой профессии: на условном Go меряются знанием алгоритмов, а здесь — пониманием бизнеса, и я видел сильных технарей, которые буксовали на элементарной задаче, потому что не разбирались в авансовых платежах.
Карьера в 1С: сколько платят и с чего начинать
Про деньги в этой профессии ходят легенды в обе стороны — от «нищие эникейщики» до «миллион за конфигурацию». Правда, как обычно, посередине, и цифры я привожу по открытой аналитике на середину 2026 года.
Вакансии и зарплата
Медиана по вакансиям на hh.ru держится около 128 тысяч рублей, но зарплаты в резюме и офферах заметно выше заявленных в объявлениях. Расклад по грейдам примерно такой: стажер получает в районе 50 тысяч, джуниор — от 90 до 180, мидл — от 180 до 230, сеньор — от 240 до 360 тысяч. Хабр Карьера за вторую половину 2025 года показывала среднюю в 250 тысяч, что для локального рынка очень достойно.
Вакансий стабильно много, и это второй аргумент в пользу платформы. Малый бизнес ищет универсала, который закроет и обновление, и доработку. Крупные компании набирают команды под ERP и держат отдельных разработчиков в штате. Франчайзи дают быстрый старт с широким потоком задач, а фриланс с сопровождением нескольких клиентов приносит хорошую надбавку к основной работе. Отдельная ветка развития — эксперт по технологическим вопросам производительности, там ценник выше среднего.
Обучение
Официальные экзамены «1С:Профессионал» и «1С:Специалист» остаются главным подтверждением квалификации, а вот подготовку удобнее проходить на структурированных программах:
- 1С-разработчик от Академии Эдюсон — обучение примерно за 3,5 месяца с упором на доработку конфигураций.
- 1С-программист от Нетологии — старт с нуля за 5 месяцев, есть расширенная версия с подготовкой к экзаменам 1С и стажировкой.
- Разработчик 1С от Яндекс Практикума — шесть месяцев с тренажером и практикой на учебных проектах.
- 1C-программист от Skillbox — восемь месяцев, официальное свидетельство 1С и почти три десятка практических работ.
- 1С-разработчик от Брунояма — четыре месяца, один из самых доступных вариантов среди сертифицированных программ.
- 1С-разработчик от Geekbrains — программа с нуля, сертификат и помощь с трудоустройством.
Мой совет по учебе простой: любой курс дает синтаксис и базовые объекты, а рынок покупает опыт с типовыми решениями. Поэтому сразу после основ открывайте «Управление торговлей» или «Бухгалтерию» и разбирайте чужой код. Параллельно подтягивайте SQL и понимание работы СУБД — именно это отличает специалиста, который правит печатные формы, от того, кто чинит производительность на базе в терабайт.
Часто задаваемые вопросы про 1С
Это настоящее программирование?
Да. Здесь есть переменные, циклы, условия, исключения, работа с коллекциями, транзакции и оптимизация запросов. Отличается только область применения: язык предметно ориентирован на учет, а не универсален. Тот же аргумент можно предъявить SQL или PHP, но их программированием почему-то называть не стесняются.
Сложно ли учиться с нуля, без опыта в IT?
Порог входа один из самых низких на рынке. Синтаксис русский, память платформа чистит сама, указателей и сборки проекта нет. Первую рабочую обработку новичок пишет через пару недель. Настоящая сложность приходит позже, и связана она не с кодом, а с предметной областью: разобраться в НДС, партионном учете и взаиморасчетах труднее, чем выучить конструкцию цикла.
Английский нужен?
Для входа — почти нет, вся документация на русском. Для роста — да. SQL, Git, HTTP, чтение технических материалов по СУБД быстро упираются в язык, а без этих навыков карьера упирается в потолок.
Умрет ли 1С в ближайшие годы?
Не вижу предпосылок. Платформа встроена в бухгалтерский и налоговый учет страны, а миграция крупного предприятия на другую систему стоит десятки миллионов рублей. Пока законодательство меняется каждый год, спрос на адаптацию конфигураций сохраняется автоматически.
Заменит ли нейросеть 1С-разработчика?
Генерация типового кода уже работает неплохо, и я сам пользуюсь этим для рутины. Но модель не знает вашу конфигурацию с сотней доработок, не поговорит с бухгалтером и не поймет, почему в этой компании скидка считается не как везде. Скорость работы растет, потребность в специалистах пока держится.
Что учить первым — платформу или предметную область?
Параллельно. Синтаксис берите за пару недель, дальше сразу открывайте типовую конфигурацию и разбирайте готовый код. Учет подтягивайте по мере задач: сначала документы и справочники, потом регистры накопления, затем бухгалтерские проводки.
Можно ли работать удаленно?
Да, значительная часть рынка живет именно так. Сопровождение нескольких клиентов на фрилансе — распространенная модель, а франчайзи давно раздают задачи распределенным командам.
Нужен ли сертификат?
Работодатели смотрят на «1С:Специалист» серьезнее, чем на любой диплом курсов. Для первой работы хватит и «1С:Профессионала», но при выборе между двумя кандидатами сертификат перевешивает.
1С язык программирования — это не универсальный инструмент на все случаи жизни, а точно заточенный под учет рабочий станок. Он не даст вам красивую строчку в резюме для международной компании и не пустит в мир высоконагруженных сервисов. Зато позволит собрать работающую систему за дни там, где на другом стеке ушли бы месяцы, и обеспечит стабильный спрос на локальном рынке с зарплатами выше среднего по IT.
А какой у вас опыт с этой платформой? Пишите в комментариях, что оказалось самым сложным на старте, какими инструментами пользуетесь сейчас и согласны ли вы с моей оценкой рынка.
