Конструкции встроенного языка программирования 1с предприятие. Соглашения и обозначения, принятые в синтаксических диаграммах

Войдите на сайт как ученик

Внутренний язык программирования 1С 8.3 для начинающих программистов: установка 1С и ваша первая программа на языке 1С

Если вы не читали введение к урокам - пожалуйста, прочтите его: .

Установка учебной версии 1С

Для обучения программированию нам понадобится 1С 8.3 (не ниже 8.3.13.1644 ) .

Если у вас есть установленная 1С версии 8.3 - используйте её. Если нет - скачайте и установите учебную версию, которую фирма 1С выпускает специально для образовательных целей.

Задание №1 : скачать и установить учебную версию 1С 8.3.

После выполнения Задания №1 на вашем рабочем столе должен появиться вот такой ярлык:

Поздравляю! Платформа 1С установлена и очень скоро вы сможете написать первую программу.

Первая программа

Это уже стало традицией для программистов - изучая новый язык, первое, что на нём пишут это программу, печатающую на экране фразу "Hello, World!".

Не станем исключением и мы. Но, будучи русскими программистами, заставим компьютер вывести на экран фразу "Привет, Мир!".

Задание №2: написать программу на языке 1С 8.3, которая при запуске выводит на экран фразу "Привет, Мир!".

Инструкция для выполнения:

1. Запустите ярлык "1С:Предприятие" на вашем рабочем столе.

2. Перед вами открылся список баз 1С. Как видите, он пуст. Давайте создадим учебную базу, в которой и будем программировать. Нажмите кнопку "Добавить ".

3. Выберите пункт "Создание новой информационной базы " и нажмите кнопку "Далее ".

4. Выберите пункт "Создание информационной базы без конфигурации... " и нажмите кнопку "Далее ".

5. В качестве имени базы укажите "Учебная " и нажмите кнопку "Далее ".

6. В качестве каталога базы укажите любую пустую папку (в данном случае это папка "Учебная" в моих документах). Нажмите кнопку "Далее".

7. Укажите вариант аутентификации "Выбирать автоматически ", режим запуска "Толстый клиент ". В качестве версии 1С:Предприятия ничего не указывайте, нажмите кнопку "Готово".

8. Как видите, в списке, наконец, появилась первая база, которую мы только что создали сами! Начнем писать код. Нажмите кнопку "Конфигуратор ".

9. В открывшемся окне, выберите через меню "Конфигурация "->"Открыть конфигурацию ".

10. В открывшейся слева панели нажмите правой кнопкой мыши на слове "Конфигурация " и выберите из списка "Открыть модуль управляемого приложения ".

11. Открылось окно с редактором. Сюда можно писать текст! С ним мы и будем работать в дальнейшем.

12. Теперь, не задумываясь, просто перепишите в это окно следующий текст:

Сообщить("Привет, Мир!" ) ;

13. Отлично! Код нашей первой программы готов. Запустим его на выполнение. Через меню "Отладка "->"Начать отладку " (или клавиша F5 ).

14. На вопрос ответим утвердительно.

15. Спустя секунду или две запустится 1С и в окне снизу появится надпись "Привет, Мир!". Мы добились от компьютера того, чего хотели. Поздравляю вас с первой программой!

Что-то не получилось? Остались вопросы? Задайте их мне на почту [email protected] и я отвечу вам сегодня же. Ваш преподаватель: Владимир Милькин .

Обращение преподавателя

Уровень сложности уроков идёт снизу вверх. Поэтому старайтесь заниматься последовательно, ничего не пропуская и не откладывая на потом.

Обязательно выполняйте все тесты и домашние задания, старайтесь улучшить свои результаты. Сверяйтесь с эталонными решениями только после самостоятельного выполнения задач.

Войдите на сайт как ученик

Войдите как ученик, чтобы получить доступ к материалам школы

Язык программирования 1С — формальная знаковая система, предназначенная для записи компьютерных программ. Язык программирования определяет набор лексических, синтаксических и семантических правил, задающих внешний вид программы и действия, которые выполнит исполнитель (компьютер) под её управлением.

Платформа 1С Предприятие 8 имеет полноценный функционал для разработки собственных решений для разработчика. Главный инструмент разработки — это встроенный язык программирования 1С 8.3.

Создание новых классов программно в языке 1С 8.3 запрещено. Так как платформа 1С Предприятие специализирована для задач учета, состав классов заранее предопределен:

  • и т.д.

На основании типовых классов можно в создать любое количество подклассов, имеющих свои наборы. С помощью модулей менеджеров можно незначительно расширить функционал подкласса.

Сложный ли язык программирования 1С?

Вопрос достаточно спорный и относительный. Если рассматривать его относительно других языков, возможно, он покажется немного проще. Однако помимо самого программирования, Вам придется изучать предметную область — бухгалтерию, производство, налоговый учет и т.д., что делает в совокупности язык программирования 1С не таким простым, как может показаться с первого взгляда.

Если Вы имели до знакомства с 1C солидный опыт на других предметно-ориентированных языках программирования, Вам не составит труда разобраться и в тонкостях 8.2, главное — желание. Всё что Вам нужно — найти хороший самоучитель по языку программированию 1С.

Русский синтаксис языка 1С

В этой статье рассмотрим такую конструкцию языка прогрммирования 1С как Циклы .

Существует три способа организации циклов.

  1. Циклы с использование логического выражения (выполняются до тех пор пока логическое выражение истинно)
  2. Обход коллекций в цикле

Рассмотрим каждый из этих способов.

Циклы с использованием переменной — счетчика цикла

Синтаксис:

Для < Переменная> = < НачальноеЗначение> По < КонечноеЗначение> Цикл КонецЦикла ;

При таком способе организации циклов переменной-счетчику присваивается некое начальное значение и выполняется он до тех пор пока значение переменной-счетчика меньше или равно указанного конечного значения.

С каждой итерацией значение счетчика увеличивается на единицу. Вот самый элементарный пример такого цикла:

Для Счетчик = 0 По 1000 Цикл КонецЦикла ;

В отиличие от многих других языков программирования в 1С не предусматривается возможность указания шага в цикле. При необходимости это можно сделать прибавлением к счетчику нужного значения внутри цикла

Для Счетчик = 0 По 1000 Цикл Счетчик = Счетчик + 10 ; КонецЦикла ;

Циклы с использование логического выражения

Синтаксис:

Пока < ЛогическоеВыражение> Цикл КонецЦикла ;

Отказ = Ложь ; ГенераторСЧ = Новый ГенераторСлучайныхЧисел(1 ) ; Пока НЕ Отказ Цикл СлучайноеЧисло = ГенераторСЧ. СлучайноеЧисло(0 , 10 ) ; Если СлучайноеЧисло > 5 Тогда Отказ = Истина ; КонецЕсли ; КонецЦикла ;

То есть цикл будет выполняться до тех пор пока не будет сгенерировано случайное число больше пяти.

Обход коллекций в цикле

В языке программирования 1С существует такое понятие как коллекция. Она представляет собой набор элементов, содержащихся внутри какого-то объекта.

К коллекции мы можем отнести такие объекты как: массив, таблица значений, выборка из результата запроса, метаданные и т.д. Понятие это достаточно условное, но в синтакс-помощнике встречается на каждом шагу. Очень часто встречается задача, когда нам надо последовательно перебрать все элементы коллекции, чтобы совершить над ними какие-то действия. Для этого и существует синтаксическая конструкция:

Для каждого < ЭлементКоллекции> Из < Коллекция> Цикл КонецЦикла ;

Здесь <ЭлементКоллекции> — это переменная в которую последовательно помещаются элементы из коллекции. И внутри цикла она соответствующим образом обрабатывается.
В качестве примера приведу обход в цикле строк таблицы значений. Пусть она называется ТаблицаТовары и выглядит вот таким образом:

Обойдем в цикле эту таблицу и для каждой строки выведем сообщение с наименованием и ценой товара:

Для каждого СтрокаТаблицы Из ТаблицаТовары Цикл Наименование = СтрокаТаблицы. Наименование; Цена = СтрокаТаблицы. Цена; Сообщение = Новый СообщениеПользователю; Сообщение. Текст = "Наименование товара: "

На самом деле то же самое можно проделать и воспользовавшись первым вариантом, т.е в цикле с использованием счетчика:

КоличествоСтрок = ТаблицаТовары. Количество() ; Для Счетчик = 0 По КоличествоСтрок - 1 Цикл СтрокаТаблицы = ТаблицаТовары[ Счетчик] ; Наименование = СтрокаТаблицы. Наименование; Цена = СтрокаТаблицы. Цена; Сообщение = Новый СообщениеПользователю; Сообщение. Текст = "Наименование товара: " + Наименование + "; Цена: " + Цена; Сообщение. Сообщить() ; КонецЦикла ;

Но как видим использовать обход элементов коллекции гораздо проще и удобней

Вспомогательные операторы

Часто встречается ситуация, когда в зависимости от какого-то необходимо прервать выполнение цикла, либо перейти с следующей итерации.

Прерывание осуществляется с помощью оператора Прервать . В этом случае выполнение цикла прерывается и управление передается следующей за циклом конструкции языка. Если же нужно перейти к следующей итерации, необходимо использовать оператор Продолжить . Тогда управление передается на начало цикла. Проиллюстрируем небольшим примером:

Для Счетчик = 0 По 100 Цикл Если Счетчик = 0 Тогда Продолжить ; КонецЕсли ; Если Счетчик = 4 Тогда Прервать ; КонецЕсли ; Результат = 1 / Счетчик; Сообщение = Новый СообщениеПользователю; Сообщение. Текст = Строка(Результат) ; Сообщение. Сообщить() ; КонецЦикла ;

Ноль пропускаем, т.к. на ноль делить нельзя. И всего цикл выполниться пять раз, для значений переменной Счетчик от 0 до 4

Встроенный язык программирования программ 1С:Предприятие - это язык программирования, используемый в семействе программ автоматизации учета «1С:Предприятие». Этот язык относится к классу предварительно компилируемых предметно-ориентированных языков высокого уровня. Его средой исполнения является платформа 1С:Предприятие (включая и 1С:Бухгалтерия). Его визуальная среда разработки называется «Конфигуратором» и является частью пакета 1С:Предприятие.

Язык поддерживает синтаксис команд на русском и английском языке. Диалекты встроенного языка для версий 1С:7.0, 1С:7.5 и 1С:7.7 с незначительными исключениями совместимы «снизу вверх». Диалекты для 1С:7х совместимы с 1С:8х по основным операторам, однако значительно отличаются по работе с объектами приложений, вследствие чего практически лишен смысла перенос кода с платформы 1С:7х на платформу 1С:8х.

По своему синтаксису язык программирования 1С:8 похож на язык Visual Basic. Платформа предоставляет фиксированный набор основных классов, которые предназначены для решения типовых задач своей прикладной области. Некоторые базовые классы:

  • Документ,
  • Журнал документов,
  • Константа,
  • Обработка,
  • Отчет,
  • Перечисление,
  • План счетов,
  • Справочник и др.

Из этих базовых классов можно средствами визуального конфигурирования создавать любое число порожденных классов. Причем отсутствует возможность программно определить новый класс. Допускается только явная ступень в наследовании классов. Объекты порожденных классов, как правило, представляют собой записи в базе данных или наборы записей. В терминах языка 1С они называются объектами метаданных и образуют так называемое «Дерево метаданных».

Видами этих объектов метаданных являются Бизнесс-процессы, Документы, Задачи, Обработки, Отчеты, Планы видов расчета и характеристик, Планы счетов, Регистры накопления, расчета и сведений, Справочники. Проекты, написанные на языке 1С:Предприятия, называют конфигурациями. Продажа, внедрение и сопровождение 1С и ее конфигураций является основной коммерческой деятельностью фирм-партнеров 1С.

Существуют также дополнительные компоненты, расширяющие основные классы, позволяющие их свободное создание и изменение. Однако эти компоненты не рекомендованы фирмой-разработчиком к использованию. На практике их использование влечет за собой отказ от технической поддержки со стороны фирмы 1С и ее партнеров.

Так, например, компонента 1С++ расширяет язык средствами полноценного ООП. Ее использование расширяет возможности по конфигурированию 1С. Это - свободный продукт, распространяемый под открытой лицензией GNU GPL.

Существует также свободный проект 2C, который не использует проприетарных модулей от фирмы 1С и других производителей ПО. Это - переписанное что называется «с нуля» расширяемое ядро системы, подобной 1С, которое свободно распространяется под лицензией GNU GPL. «Встроенные объекты» 1C, такие как регистры и справочники, являются в нем переопределяемыми прикладным программистом классами.

Первоначально язык 1С носил рабочее название «1Сик», которое произносилось как «одинэсик». Однако оно быстро исчезло из употребления в официальных источниках. При упоминании этого встроенного языка в документах сейчас принято называть его «1С Язык программирования». На данный момент он не имеет собственного названия, удобного для устного произнесения. В контексте обсуждения пакета 1С:Предприятие его часто называют просто «встроенным языком».

Хотелось бы завершить обзор примером программы, выводящим традиционное приветствие для новичков, изучающих язык программирования:

Сообщить("Здравствуй, Мир!");

Этот код будет работать в 1С:Предприятие версии 7.7.

21.12.2010

Предыдущие публикации:

Даже если вы заранее изучали другие языки программирования, например, C++, PHP, Java, стоит помнить, что 1С хоть и во многом сходе, но все-таки имеет много принципиальных различий.

Самое главное в 1С – то, что не нужно придумывать свои виды объектов. Все они уже есть в конфигурации.

Установите технологическую платформу 1С себе на компьютер, и откройте в конфигураторе новую или уже существующую базу. Для начала можно использовать абсолютно для обучения программированию.

В левой части окна вы увидите дерево объектов конфигурации. К ним относятся документы, справочники, регистры, бизнес-процессы и многое другое.

Данные так же хранятся в СУБД, но разработчик обычно не работает с ними напрямую. При помощи технологической платформы программист обращается уже к объектам конфигурации или информационной базы.

В 1С, как и во многих других языках программирования, очень часто используются запросы. схож с языком T-SQL. Запросы можно писать как на английском, так и на русском, в прочем, как и остальной код.

Вроде бы все просто, но для работы «в полевых условиях» одного знания языка программирования чаще всего не достаточно. Дело в том, что в большинстве организаций, использующих 1С, установлены типовые конфигурации, и их нужно знать.

В плане работы для 1С программистов существуют две основные ветви: франчайзи или работа «на себя» и работа в качестве штатного программиста it-отдела какой-либо организации. Данный выбор зависит только от ваших предпочтений.

При работе в франчайзи, на фрилансе или ведении собственного бизнеса оплата будет сдельная. Работы может быть много и нужно выкладываться по-полной. Верхней планки по заработной плате здесь нет, и вы можете заработать внушительную сумму денег.

Если вы решите работать на фрилансе, либо открыть собственный бизнес, не нужно будет ни с кем «делиться» своим заработком (кроме государства и фрилансовой площадки естественно). Но в таком случае и клиентов будет необходимо искать самостоятельно.

Если вы все же решили устроиться в организацию в качестве штатного программиста, то будете мало зависеть т объема выполненной работы. В данном случае есть некая стабильность, но и зарплатная планка ограничена.

Конечно же, эти два способа можно совместить, работая штатным программистом днем и на фрилансе по вечерам.

Что хорошо у 1С программистов, так это то, что у вас может не быть технического образование (например, вы экономист, бухгалтер и т. п.). Для подтверждения своих знаний перед клиентами или работодателем вы можете предоставить свои сертификаты 1С.

Сертификаты бывают различных видов, как по платформе (для программистов), так и по типовым решениям. Получить их можно в фирме 1С, сдав экзамен в виде теста или практического задания.

Книги по 1С

Лучше всего изучать 1С по книгам, которые были изданы фирмой 1С. Так сказать, от первоисточника. Некоторые из них идут с поставками типовых конфигураций. Так же вы можете купить отдельные книги.

Книга «1С:Программирование для начинающих» предназначена для людей, далеких от программирования, но желающих научиться создавать собственные решения на 1С 8.3 с самого нуля.

«Hello, 1C» показывает самые простые, основные возможности разработки прикладных решений в системе 1С:Предприятие 8.

В «101 совете» описаны различные способы решения одних и тех же задач.

Практическое пособие разработчика 1С Предприятие 8.3 — очень подробное пособие, описывающее приемы разработки с простыми и понятными примерами. Данная книга одна из самых лучших для изучения 1С программирования.

В данном пособии описывается язык запросов с нуля для тех, кто не знаком даже с SQL.