Программист 1с

Программист 1с в своей работе применяет особую встроенную платформу разработки. Это компилируемый язык высокого уровня. Он визуально удобен, так как является предметно-ориентированным. Вся разработка ведется на специальной платформе — среде разработки «Конфигуратор». Она входит в основную систему.

1c язык программирования старой версии частично совместим с новой версией. Однако есть исключения. Главное из них это работа с прикладными объектами. Из за этого программисту 1с придется для новой версии языка переписывать код заново. 1с программирование по своей сути напоминает Visual Basic и достаточно простое.

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

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

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

Основные конструкции

При 1с программировании мы записываем некий набор ключевых слов и конструкций. Применять можем и английский и русский язык. Но есть несколько команд, которые мы можем написать только на английском. Это например «Null». Точка с запятой используется для разделения операторов. Исключение составляют некоторые ключевые слова.

Рассмотрим основные конструкции.

Оператор «Если» — нужен для логических выражений. Примеры:
//1-й пример
Если Состав.Количество()=0 Тогда предупреждение(«Не указано ни одной строки!»);
КонецЕсли;

//2-й пример
Если Сотр.Категория = Перечисления Категории.Совместитель Тогда //обработаем как совместителя Иначе //обычный сотрудник КонецЕсли;

//3-й пример
Если выбор = 1 Тогда Сообщить(«Выбран 1-й пункт»);
ИначеЕсли выбор = 2 или выбор = 3 Тогда Сообщить(«Выбран 2-й или 3-й пункт»);
Иначе Сообщить(«Обработка этого пункта не предусмотрена»); КонецЕсли;
Ключевые слова ИначеЕсли, Иначе и КонецЕсли желательно записывать с новой строки. Следующий пример показывает нежелательное форматирование оператора Если:
//так делать не рекомендуется!
Если Состав. Количество () = 0 Тогда … Иначе … КонецЕсли;
При таком форматировании нарушается блочная структура программы, не работают группировки конструкций встроенного языка в редакторе модулей, усложняется понимание программы программисту 1с. Если результат выражения имеет тип «булево» и требуется сравнить его со значением Истина, то следующие конструкции полностью эквивалентны:
Если Выборка.Следующий() = Истина Тогда //так не рекомендуется
Если Выборка.Следующий() Тогда //это рекомендуемый вариант
Логический оператор «НЕ» — инвертирует результат логического выражения и заменяет сравнение со значение ложь. Следующие конструкции делают одно и то же:
Если ВыбФирма.Пустая() = Ложь Тогда Если НЕ ВыбФирма.Пустая() Тогда Конструкция «?(…, …, …)»
Данная конструкция позволяет записать условный оператор в одну строку и вычислить его как выражение.
Пример:
Комментарий = ? (Количество=0, «Пусто», Строка (Количество)+» шт . «);
Обычно эта конструкция применяется в выражениях и работает как следующая функция:
Функция СокращенноеЕсли(РезультатУсловия,выражение1,выражение2)
Если РезультатУсловия Тогда //Истина
Возврат выражение!;
Иначе //Ложь
Возврат выражение2;
КонецЕсли;
КонецФункции

Логические выражения

В операторе Если, конструкциях «?(…)», а также в цикле Пока применяются логические выражения, т.е. такие, результат которых имеет тип «булево» с двумя значениями: Истина и Ложь. В логических выражениях могут применяться логические сомножители НЕ, И, ИЛИ (в порядке приоритета). Для задания правильного порядка вычисления рекомендуется расставлять скобки, например:
//следующую конструкцию:
Если НЕ Страна = ВыбСтрана ИЛИ Цена > 100 И Цена < 1000 Тогда
//лучше записать так:
Если (НЕ Страна = ВыбСтрана) ИЛИ (Цена > 100 И Цена < 1000) Тогда

Программист 1с может заметить, что в системе введено сокращенное вычисление логических выражений. Это означает, что если по части выражения можно определить конечный результат, тогда остаток логического выражения не вычисляется. Например:
Если Цена > 10 И Цена 10». Допустим, цена равна 5, тогда первое условие не выполняется (дает значение Ложь) и следующую часть вычислять уже не нужно, поскольку в любом случае результат всего выражения будет Ложь.

Другой пример:
Если Цена = 10 ИЛИ Цена = ПолучитьЦенуСоСкидкой Тогда

Сначала проверяется первое условие «Цена = 10». Допустим, оно выполняется (дает значение Истина), тогда следующую часть условия можно не вычислять, поскольку результат всего выражения будет Истина, независимо от второго условия. Обратите внимание, что в этом случае функция ПолучитьЦенуСоСкидкой не будет вызвана! Если по проектной логике она должна вызываться в любом случае, тогда это следует сделать до условия, а результат запомнить в переменную, например:
ЦенаСоСкидкой = ПолучитьЦенуСоСкидкой(); Если Цена =10 ИЛИ Цена = ЦенаСоСкидкой Тогда.

Итак, при сокращенном вычислении логических выражений применяются следующие правила:

Если один из сомножителей оператора И равен Ложь, то конечный результат выражения будет Ложь, независимо от значения других сомножителей.
Если один из сомножителей оператора ИЛИ равен Истина, то конечный результат выражения будет Истина, независимо от значения других сомножителей.

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

- доцент
- кандидат юридических наук
- профессор кафедры

Оцените автора
Добавить комментарий