Язык 1C
Язык программирования 1C — язык для создания кодов и алгоритмов внутри программного обеспечения «1C:Предприятие» и оптимизированный для работы на платформе. Он не имеет собственного названия и обозначается как «встроенный язык программирования».

Освойте профессию
«1С-программист»
Где используется 1C
Язык 1C — предметно-ориентированный: коды на нем пишутся только на платформе «1С:Предприятие». Целевая аудитория программы — крупные организации и предприятия. Они используют платформу для систематизации бизнеса и полной автоматизации таких процессов, как составление отчетов, ведение бухгалтерии и документооборот.
Особенности 1C
1C считается языком высокого уровня. Он схож с такими языками, как JavaScript, Pascal и BASIC, что значительно облегчает его изучение. В то же время у 1С есть ряд характерных особенностей, отличающих его от других языков программирования.
- Простота. У этого языка низкий порог вхождения. Обычно разработчики изменяют готовые типовые конфигурации, что делает программирование на 1C понятным для начинающих.
- Доступность. Все коды пишутся на русском, что значительно экономит время, затрачиваемое на перевод. Но 1C — двуязычная программа: по желанию вы можете свободно программировать и на английском языке.
- Предварительная компиляция. Модули, написанные на языке 1C, перед началом исполнения компилируются во внутренний байт-код.
- Сохранение скомпилированных модулей. Все они остаются в кэше.
- Мягкая типизация. Типы переменных определяются их значением.
- Наличие синтаксис-помощника. Это справочник-подсказка, содержащий всю информацию о синтаксисе 1C и правилах работы.
9,5 месяцев
1С-программист
Легкий вход в 1C с нуля — не нужно технического образования

Из чего состоит «1C:Предприятие»
Программа 1C состоит из двух частей: платформы и конфигурации.
Платформа — это база, на основе которой разрабатываются конфигурации: без нее создание и изменение конфигураций невозможно. Конфигурация или прикладное решение — написанная на языке 1C программа, которую используют пользователи. Одна платформа может содержать сразу несколько конфигураций. По методу разработки конфигурации делятся на типовые — созданные самой компанией — и нетиповые. К последним относят разработанные с нуля или видоизмененные типовые конфигурации.
Что такое переменные
Переменные — место размещения данных, необходимое для их временного хранения в процессе обработки. Это значит, что все ваши переменные исчезают после того как программа завершается. В переменной можно хранить только одно значение.
У каждой переменной есть свое имя, которое образуется по следующим правилам:
- Каждое имя начинается с русской или английской буквы. Также допустимо начало со знака «_».
- Имя может содержать числа, но не может с них начинаться.
- Длина имени не ограничена.
- Нельзя использовать букву «ё».
- Имя не должно содержать пробелов.
Создать переменную проще простого. Для этого достаточно просто придумать имя и записать его перед знаком равенства. Например:
Переменные объявляются в явном и неявном виде, при этом назначение типа переменной всегда будет неявным. Объявлять переменную в явном виде совсем не обязательно.
Модули и методы
Программный код 1C расположен в конфигурации. Сама конфигурация состоит из объектов, а объекты — из модулей. Именно здесь хранится код.
Модуль — это текстовый файл с прописанным программным кодом.
Но что программа делает с готовыми модулями?
Чтобы выполнить какое-то действие с объектом и изменить конфигурацию, программа использует методы — различные способы, запускающие процесс обработки данных. Определенный набор методов уже заранее создан разработчиками программы, но вы также можете создать собственные методы, написав их на 1C.

1С-программист — самая востребованная IT-профессия в России. Она подойдет всем, независимо от опыта и образования
События
У программы 1C есть свой жизненный цикл: запуск, действия пользователя, выключение. Команды, которые задаются пользователем, выполняются программой и вносят определенные изменения, называются событиями.
События — набор действий, которые используются в конкретных ситуациях. Это значит, что исполнение модулей происходит только тогда, когда возникает нужное событие. Благодаря системе событий встроенный язык также называют событийно-зависимым.
Важно: все возможные события заданы платформой и известны заранее, поэтому придумать что-то новое и неизвестное программе нельзя.
Значения и их коллекции
Значение — то, с чем работает программа. Это данные, записанные с диска или введенные программистом вручную. Программа использует их, обрабатывает и показывает результат. Простые значения бывают разных типов, где каждый задает определенную функцию:
- Null. Используется, чтобы обозначить отсутствие значения.
- Число. Задает число, с которым можно выполнять простые арифметические действия — сложение, вычитание, умножение или деление.
- Дата. Используется для указания даты и времени. Обратите внимание на особенность программирования на 1C — дата и время всегда прописываются полностью, с точностью до секунд.
- Строка. Прописывается в кавычках и задает символьную строку.
- Булево. Получается в результате логических операций и обозначает «правду» или «ложь». Чтобы было понятнее, возьмем в качестве примера операцию Равно: если вы сравните два одинаковых числа, то получите правду, если два разных — ложь.
- Неопределенно. Применяется для значений, не относящихся ни к одному из вышеперечисленных типов.
Совокупность примитивных значений образует объекты встроенного языка. Примером такого объекта являются универсальные коллекции значений — временные хранилища данных, существующие в оперативной памяти компьютера на протяжении одного рабочего сеанса.
Рассмотрим самые значимые коллекции:
- Таблица значений. Объект, служащий для хранения и обработки значений любого типа. Выглядит как обычная таблица, созданная в Excel.
- Дерево значений. То же, что и таблица значений. Отличительная особенность дерева — иерархический способ записи данных. Это значит, что у каждой строки есть подчиненная строка, у которой также могут быть свои подчиненные. Только одна строка, самая первая, считается родительской и не имеет своего родителя.
- Список значений. Временное хранилище данных, позволяет управлять значениями, редактировать их или удалять. Используется для работы с интерфейсом.
- Массив. Служит для сбора и хранения произвольных значений. Массив — пронумерованная коллекция: это значит, что у каждого элемента есть порядковый номер, который называется индексом и начинается с нуля. Массив также может быть многомерным, то есть созданным из других массивов.
- Структура и соответствие. Служат для хранения данных и состоят из двух парных элементов «ключ-значение». Каждое значение здесь имеет собственное уникальное имя, т. е. ключ. В структуре ключ — строго строкового типа, а значение — произвольного. В соответствии ключ также становится произвольным.
Как программировать на 1C
Весь процесс программирования происходит в уже знакомом нам модуле. Давайте рассмотрим его поэтапно на примере самой простой программы «Привет, мир!».
- Запустите программу «1C:Предприятие».
- Откройте пустую базу в режиме конфигуратора.
- На панели управления нажмите на «Открыть конфигурацию».
- В открывшемся меню правой кнопкой мыши нажмите на пункт «Конфигурация» и откройте модуль приложения.
- Перед вами открывается пустая программа — текстовый документ, в котором можно писать.
- Наберите команду: Сообщить («Привет, мир!»);.
- Запускаем программу «1C:Предприятие» с помощью кнопки «Начать отладку».
- В приложении появится готовое сообщение.
1С-программист
Вход в профессию простой: весь код на русском языке, не нужно уметь программировать и иметь техническое образование. При этом вакансий на рынке около 10 000 — можно найти работу удаленно или в вашем регионе.
1с какой язык программирования
Язык 1С весьма прост в изучении по сравнению с любым другим языком программирования.
На территории России для многих большое значение имеет то, что можно писать код прямо на русском языке. «Можно» – значит не обязательно — можно писать и на английском, все операции и операторы имеют английский синоним.
Мы изучим язык 1С между делом сейчас, за пять минут.
Общие принципы программирования
Вне изучения языка, для тех кто не сталкивался с программированием, стоят общие принципы. Остальные — читайте дальше.
Программирование – это написание программного кода на программном языке.
Программный код – это последовательность команд (слов), которые поддерживает этот язык программирования.
Команды делятся на:
- Переменные
- Операторы
- Функции и процедуры.
Рассмотрим их в первом приближении.
Переменные
Есть цифра 12. Это значение. Сама по себе эта цифра нигде не хранится. Подули и ее уже нет Она должна где-то храниться. Переменные – это место хранения значений. Переменная может называться любым словом.
Например:
Чтото = 12;
Чтото = Чтото + 10;
Сообщить(Чтото); //будет выведено «22»
Переменная, которая является частью объекта 1С (например поле справочника) и хранится в базе данных – называется реквизит.
В 1С переменные не типизированы, это значит, что одной и той же переменной сначала можно назначить значение одного типа (например цифру), а потом другого типа (например строку) и ошибки не будет.
Однако реквизиты объектов – типизированы. Но проверки на типы при этом не происходит. Мы можем попытаться назначить реквизиту значение не того типа. 1С попытается его преобразовать (например из цифры в строку), но если не получится, то значение реквизита останется пустым.
Длина строки в переменной – неограниченная. Длина строки реквизита – задается точно, но можно задать неограниченную (поставив длину строки 0).
По буквам к строке обращаться нельзя. Но можно искать или выделять части (Найти(), Лев(), Прав(), Сред()).
Сложные переменные
Если значение одно – это просто. А когда значений – много?
- Массив Это одна колонка Excel. В каждой ячейке – переменная. У нее одно название, так же как и у обычной переменной. А к ячейке можно обратиться по номеру. Чтото = Новый Массив;
Чтото.Добавить(22); //в ячейке 1 значение 22
Чтото.Добавить(33); //в ячейке 2 значение 33
Сообщить(Чтото[0]); //выводим значение 1й ячейки - СписокЗначений То же, что и массив, только к каждой ячейке можно подписать комментарий. Чтото = Новый СписокЗначений;
Чтото.Добавить(22, «Это 22»); //в ячейке 1 значение 22
Чтото.Добавить(33, «Это 33»); //в ячейке 2 значение 33
Сообщить(Чтото.Получить(0).Значение); //выводим значение 1й ячейки
//а могли бы вывести и комментарий, тогда бы написали .Представление а не .Значение - ТаблицаЗначений Это – уже полноценная страница Excel со строчками и колонками.
Как с ней работать – посмотрим в другом уроке. - ДеревоЗначений Таблица представленная в виде дерева. Пример – окно конфигурации. Ветки, у каждой ветки может быть подчиненная ветка.
Обратите внимание – нумерация ячеек в 1С начинается не с 1, а с 0.
Если Вам необходимо вспомнить где происходит написание программы в 1С — мы обсуждали это в уроке про модули 1С.
Строки программы
Строки заканчиваются на точку с запятой «;».
Комментарий начинается с «//» — то есть эта строчка или часть строчки не будет выполняться и будет пропущена.
Значение строк нужно указывать в кавычках «Значение». Если нужно указать в значении кавычку, то она удваивается – «Значение ««а»»!».
Значение строки может быть с включением переноса строки, тогда в начале следующей строки должен стоять «|», например:
«Это начало
| и продолжение значения»
Если нужно указать специальные символы в значении строки, для этого есть специальный объект: «Символы.», например:
«Это начало» + Символы.ПС + «и продолжение значения» //ПС – перенос строки
Операторы
Это конструкции языка, которые заложены в нем самом и позволяют создавать простейшую последовательность выполнения программы.
- Условие Определенные строки кода будут выполнены если будет выполнено условие. Чтото = 12;
Если Чтото 200 Тогда
Сообщить(«Условие выполнено»);
ИначеЕсли Чтото > 200 Тогда
Сообщить(«Условие не выполнено»);
Иначе
Сообщить(«Что-то еще»);
КонецЕсли; - Цикл Определенные строки кода будут выполнены указанное количество раз. //считаем по-одному
Для Чтото = 1 по 20 Цикл
Сообщить(Чтото);
КонецЦикла; //считаем по-другому
Чтото = 1;
Пока Чтото //если у нас список значений, то можно обойти каждое из его значений
Чтото = Новый СписокЗначений;
Для каждого ЗначениеСписка из Чтото Цикл
Сообщить(ЗначениеСписка.Значение);
КонецЦикла;
//обратите внимание, что «ЗначениеСписка» — это переменная, она может называться как угодно Для того, чтоб прервать цикл, можно внутри написать команду «Прервать», для того чтобы прервать только одну итерацию цикла – команду «Продолжить».
Работа с объектами
Все объекты, с которыми мы работаем в языке – является полноценными объектами, то есть могут иметь свои данные и свои методы.
Объекты языка создаются с помощью команды «Новый», например:
Чтото = Новый Массив();
Чтото = Новый СписокЗначений();
И т.п.
Объекты 1С нельзя создать – доступ к ним можно получить с помощью так называемых менеджеров, названных соответственно по веткам конфигурации: Справочники, Документы и т.п. Методы менеджера можно расширять (см. урок по модулям 1С, модуль менеджера объекта).
Свои объекты программировать нельзя, как и наследовать или переопределять типовые.
Ошибки
Программист не всегда может догадаться, будет ли ошибка при выполнении определенной строчки кода.
Например если написать в коде внешней обработки:
Справочники.Номенклатура.НайтиПоКоду(«…») и открыть эту обработку в базе, где нет справочника с названием Номенклатура, то будет ошибка.
Чтобы этого не произошло, можно использовать следующую конструкцию:
Попытка
Справочники.Номенклатура.НайтиПоКоду(«…»);
Исключение
Чтото = ОписаниеОшибки();
Сообщить(«Ой-ой-ой»);
Сообщить(Чтото);
КонецПопытки;
Если в момент выполнения строчек программы между Попытка и Исключение возникнет ошибка, то выполнение будет прервано и перейдет на строчки между Исключение и КонецПопытки. Если не будет ошибки – эти строчки не будут выполнены.
Функция ОписаниеОшибки() работает только между Исключение и КонецПопытки и возвращает описание произошедшей ошибки.
Функции и Процедуры
Функции и Процедуры – это способ взять несколько строчек кода и назвать их каким-то словом, как переменную. Когда мы потом напишем ее название в другом месте – будет вызвана эта функция (то есть выполнены эти строки кода).
Мы неоднократно обсуждали методы объектов и обработчики событий. Функции и процедуры и являются этими методами и обработчиками.
//Программируем
Процедура КакоетоДействие()
Сообщить(«Чтото»);
КонецПроцедуры
Функция отличается от процедуры тем, что она может вернуть значение, которое было вычислено в результате выполнения этих строк когда.
Функция Посчитать(Переменная1, Переменная2)
Возврат Переменная1 + Переменная2;
КонецФункции
//Вызываем
Чтото = Посчитать(12, 20);
Сообщить(Чтото); //будет сообщение «32»
Как программировать
Программирование проводится в модуле. Соответственно Вы должны найти нужный модуль и написать там код программы.
- Создаем внешнюю обработку
- Создаем форму, добавляем на нее кнопку и делаем обработчик события – будет выполнен по открытию обработки в режиме Предприятие и по нажатию кнопки
- Или открываем модуль объекта обработка и пишем код там – будет выполнен сразу при открытии в режиме Предприятие.
Программированию конкретных объектов языка 1С мы коснемся в ближайших уроках.
Откройте ее в конфигураторе и Вы можете посмотреть программу или изменить ее.

Программный код написан в модуле объекта обработки.


Проголосовать за этот пост:
Всё, что важно знать про современный язык программирования 1С
У «Практикума» вышел курс «Разработчик 1С», и он вызывает у обычного человека много вопросов:
- Что такое «1С» и почему на него нужны разработчики?
- Где они потом будут работать?
- В чём смысл работать разработчиком 1С, если можно разрабатывать на любом международном языке программирования?
- Сколько платят?
Если есть вопросы, то есть и ответы. Вот они.
Контекст: 1С
Фирма «1С» — это старинное российское предприятие, которое делало, делает и будет делать софт для бизнеса. Бухгалтерия, отчётность, финансовый и управленческий учёт, склады, документооборот — исторически «1С» специализировалась на этом и делала профильные продукты.
Один из самых популярных продуктов компании — «1С: Предприятие». Это комплексный бухгалтерский софт, который помогает автоматизировать работу компании с разных сторон: бухгалтерия, товары, клиенты и многое другое. Почти во всех российских компаниях, где работает более 10 человек, в какой-то момент работало «1С: Предприятие» — или работает до сих пор.
Нюанс автоматизации бизнеса вот в чём: не существует единого лекала, по которому можно автоматизировать всё. У каждой компании свои процессы, свои требования к автоматизации, своя структура. Поэтому к любой сборке «1С: Предприятия» нужно было дописывать какие-то надстройки. И вот тут появляются разработчики 1С.
Разработчик 1С — это тот, кто докручивает платформу «1С: Предприятие» под потребности и задачи конкретной компании. Докручивает и поддерживает.
Что такое язык 1С
Язык 1С — это встроенный язык платформы «1С: Предприятие». На нём дорабатываются и пишутся новые модули, настраиваются интеграции и программируется поведение разных сценариев.
Основное отличие этого языка в том, что в нём всё пишется по-русски: конструкции, переменные, модули, функции, сравнения и всё остальное. Например, вот как выглядит функция перевода текста из формата Unicode в обычный UTF8:

Где это используется
Раньше все думали, что язык 1С — это только для бухгалтерии, но это далеко не так. 1С — основная платформа автоматизации предприятий в России. Это значит, что эта платформа обслуживает самые разные направления бизнеса, где можно что-то автоматизировать:
- логистика;
- интернет-магазины и обычные магазины;
- фитнес-клубы;
- кафе и рестораны;
- ЖКХ в масштабах компании или города;
- гостиницы;
- аптеки;
- автосервисы;
- и ещё много других сфер деятельности, где работают с клиентами.
А вот какие задачи можно решить с 1С:
- учёт рабочего времени;
- управление складом и закупками;
- автоматизация производства;
- кадровый учёт;
- делопроизводство и обработка документов;
- зарплата и финансовые данные.
Получается, что 1С — как швейцарский нож: умеет всё, но им нужно пользоваться. Для этого как раз и нужны 1С-разработчики.
Английский не нужен
1С — российский продукт, написанный российскими разработчиками для российских компаний. Это значит, что вся документация, справочники и книги — на русском. Можно вообще не знать английский и быть классным 1С-программистом.
Сам язык — тоже весь на русском, в нём нет английских слов (если только программист сам не решит назвать так переменную).
С другой стороны, этот язык мало применим за пределами СНГ, где не говорят и не пишут на русском.
Есть мобильная разработка
На 1С давно пишут гораздо больше, чем серые окна бухгалтерских программ на Windows (хотя они ещё долго будут встречаться на старых предприятиях). Язык получил поддержку мобильной разработки — это значит, что с его помощью можно создавать приложения для смартфонов. При этом большая часть модулей — кросс-платформенная, когда одну и ту же функцию можно использовать и на компьютере, и на телефоне.

Как с вакансиями
На июль 2023 года в России актуально 160 тысяч вакансий, связанных с 1С-разработкой и настройкой. 1С-разработчики с нормальной квалификацией будут востребованы на рынке, пока российский бизнес сидит на 1С — а это надолго.
Особенность работы с 1С в том, что это одно из самых стабильных направлений разработки: компании десятилетиями сидят на одной и той же системе и постоянно её дорабатывают. При этом 1С-разработчики нужны всё время: компании растут, задачи тоже растут, и кому-то их нужно делать.

Как там с деньгами
Средняя зарплата 1С-программиста, по данным Хабр Карьеры, — 180 тысяч рублей. Это зарплата хорошего мидла, новички получают на старте примерно в два раза меньше — 90 тысяч.

Где научиться
Наша рекомендация — за полгода пройти курс Практикума «Разработчик 1С». Там научат создавать информационные системы, настраивать 1С под разные задачи, допиливать нужный функционал на платформе и связывать 1С со сторонними сервисами.
Что дальше
В следующий раз посмотрим на язык поближе: разберём основные конструкции языка 1С и заглянем в код. Всё по-русски, поэтому разобраться будет несложно.
1С-разработка — это стабильность
Российские космонавты уже высадятся на Марс, а зарплату им всё ещё будут считать через 1С. И кто-то должен будет подкрутить там модуль межзвёздных начислений. Подкрутите?
Основы программирования 1С: Первые шаги на пути к мастерству
Погружение в мир программирования 1С может показаться сложным делом, но с правильным подходом и пониманием основных концепций, вы сможете быстро освоить данное направление.
Что такое 1С?
1С — это семейство программного обеспечения, предназначенного для автоматизации бизнес-процессов и управления предприятием. Оно включает в себя различные модули, такие как бухгалтерия, управление персоналом, CRM, ERP и многое другое.
Система 1С обладает высокой гибкостью и настраиваемостью под нужды конкретного предприятия, что делает ее особенно востребованной на рынке.
Язык программирования 1С
Язык программирования 1С называется «1С:Предприятие 8. Язык программирования». Этот язык является объектно-ориентированным и включает в себя большое количество встроенных объектов, методов и свойств, позволяющих разработчику создавать сложные и функциональные приложения.
Для примера, вот как выглядит код на языке 1С:
Процедура ПриНачалеРаботыСистемы() Сообщить("Привет, мир!"); КонецПроцедуры
В этом примере мы создаем процедуру, которая выводит сообщение «Привет, мир!» при начале работы системы.
Как начать изучать программирование 1С?
Если вы решили изучать программирование 1С, вам потребуется доступ к программному обеспечению 1С. Вы можете начать с бесплатной версии программного обеспечения 1С:Предприятие 8.3. Далее, вам стоит ознакомиться с документацией, посмотреть обучающие видео и начать практически применять полученные знания.
Не забывайте, что практика — лучший способ обучения. Только практика позволит вам освоить язык программирования 1С и начать создавать свои собственные приложения.
Надеюсь, эта статья дала вам начальное понимание о том, что такое 1С и как начать его изучение. Помните, что обучение — это процесс, и главное — не останавливаться на пути к знаниям. Успехов вам в изучении программирования 1С!