
- •Встроенный язык
- •Справочники
- •Атрибуты справочников
- •Типы данных
- •Иерархические справочники
- •Подчиненные справочники
- •Сравнение справочников с другими объектами
- •Форма элемента и форма группы
- •Программное создание группы
- •Информация о текущем элементе
- •Периодические реквизиты
- •Проведение документов
- •Цикл по реквизитам справочника
- •Обращение к атрибутам по имени
Встроенный язык
Язык 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; Исключение Предупреждение("Деление на ноль!"); КонецПопытки; |
Обработка исключительных ситуаций. Если во время выполнения операторов между словами Попытка и Исключение произошла ошибка, то управление передается на операторы между словами Исключение и КонецПопытки Если ошибки не было, то управление передается на операторы после слова КонецПопытки. |
//это комментарий |
Так оформляются комментарии. |
СпрСотр.ВыбратьЭлементы(); |
Вызов метода объекта производится как обычно, через точку. |