Язык 1С очень похож на Бейсик. В 1С все ключевые слова можно писать по-русски.
Конструкция языка 1С
| Примечание
|
Процедура РассчитатьНалог(Сотрудник, НекаяДата)
КонецПроцедуры
| Простая процедура. После слова КонецПроцедуры точка с запятой не нужна, потому что это не оператор, а операторная скобка
|
Функция РассчитатьНалог(Сотрудник, НекаяДата)
Возврат Налог;
КонецФункции
| Функция должна обязательно возвращать результат.
|
Если Оклад > 10000 Тогда ......Результат = "Жить можно"; Иначе ......Результат = "Плохо"; КонецЕсли;
| Простое условие. После слова КонецЕсли должна быть точка с запятой, потому что так заканчивается оператор Если
|
Результат = ?(Оклад > 10000, "Нормально","Плохо");
| Сокращенное Если.
|
Если Оклад > 10000 Тогда ......Результат = "Жить можно"; ИначеЕсли Оклад > 5000 Тогда ......Результат = "Плохо"; Иначе ......Результат = "Так жить нельзя"; КонецЕсли;
| Множественное условие. Если первое условие не выполняется, то проверяется второе. Если второе условие не выполняется, то третье. Если ни одно из условий не выполняется то выполняется блок Иначе.
|
Если (Оклад > 10000) И (КодКатегории = 2) Тогда
КонецЕсли;
| В составном логическом выражении скобки обязательны! (в версии 8.0 необязательны)
|
Пока Номер <= 50 Цикл
КонецЦикла;
| Простой цикл Пока (цикл с неизвестным числом повторений). После слова КонецЦикла должна быть точка с запятой, потому что так заканчивается оператор Пока
|
Для Номер = 1 По 50 Цикл
КонецЦикла;
| Простой цикл Для (цикл с известным числом повторений). В версии 8.0 есть еще цикл Для Каждого (for each).
|
Перейти ~метка;
<...>
~метка:
| Так оформляются метки и оператор безусловного перехода (GOTO). Чем меньше в вашей программе будет меток, тем лучше.
|
Пока <условие> Цикл
Если <условие> Тогда ........Продолжить; КонецЕсли;
КонецЦикла;
| Оператор Продолжить передает управление в начало цикла.
|
Пока <условие> Цикл
Если <условие> Тогда .........Прервать; КонецЕсли;
КонецЦикла;
| Оператор Прервать производит досрочный выход из цикла. Управление передается на операторы после цикла.
|
Перем Сотр;
| Явное объявление переменной.
|
Номер = 1;
| Переменные можно не объявлять явно. При первом присвоении значения создается новая переменная.
|
ФИО = Фамилия + " " + Имя + " " + Отчество;
| Сложение строк (конкатенация)
|
НекаяДата = '01.01.2002';
| Переменная, которая хранит дату.
|
Перем глТекущийПользователь Экспорт;
| Объявление глобальной переменной в Глобальном модуле. Такие переменные доступны в любом месте конфигурации.
|
Попытка
а = 10 / 0;
Исключение
Предупреждение("Деление на ноль!");
КонецПопытки;
| Обработка исключительных ситуаций.
Если во время выполнения операторов между словами Попытка и Исключение произошла ошибка, то управление передается на операторы между словами Исключение и КонецПопытки
Если ошибки не было, то управление передается на операторы после слова КонецПопытки.
|
//это комментарий
| Так оформляются комментарии.
|
СпрСотр.ВыбратьЭлементы();
| Вызов метода объекта производится как обычно, через точку.
|