Переменная — область памяти компьютера, в которой хранится значение какого-либо типа. В 1С используется динамическая типизация переменных, следовательно в разные моменты времени одна и та же переменная может хранить значения разных типов.
В имени переменной можно использовать буквы, цифры и нижнее подчеркивание. Переменная не может начинаться с цифры. В основном в 1С используется стиль CamelCase. Это значит что если имя переменной состоит из нескольких слов, то они пишутся без пробелов, но каждое новое слово начинается с большой буквы. Как правило, первая буква имени переменной тоже большая.
1 2 3 4 5 |
//в 1С принято имена переменных начинать с большой буквы ПеременнаяКэмелКейс = Неопределено; //так тоже можно, но предпочтительней первый вариант переменная_не_кэмел_кейс = Неопределено; |
В 1С можно явно объявить переменную с использованием ключевого слова Перем. Если переменная объявлена через ключевое слово Перем, то ей нельзя сразу присвоить значение. Можно не объявлять отдельно, а сразу присвоить значение.
1 2 3 4 5 |
Перем ЯвнаяПеременная; //явное объявление переменной ЯвнаяПеременная = 1; // //неявное объявление переменной и присвоение ей значения НеявнаяПеременная = 2; |
Значение переменной можно изменять по ходу работы программы.
1 2 3 |
Переменная = 1; Переменная = 2; //теперь Переменная стала равна двум Переменная = 3 //теперь трем |
Объявлять переменные через ключевое слово Перем можно только в начале модуля или процедуры. По середине или в конце модуля нельзя.
1 2 3 4 5 |
Функция Тестовая() Перем Можно; а = 0; Перем Нельзя; //так нельзя, будет ошибка при компиляции модуля КонецФункции |
Виды переменных
- Глобальные переменные — переменные с ключевым словом «Экспорт» в модуле управляемого приложения. Такие переменные будут доступны в любом клиентском модуле.
Чтобы открыть модуль управляемого приложения нужно щелкнуть правой кнопкой по корню конфигурации и выбрать «открыть модуль приложения».

1 2 |
//глобальная переменная в модуле управляемого приложения Перем ГлобальнаяПеременная Экспорт; |
- Переменные модуля — переменные в разделе объявления переменных модуля. Доступны во всем модуле. С ключевым словом «Экспорт» доступны в других модулях через контекст модуля, в котором они объявлены.
Для примера создадим в конфигурацию обработку. Щелкнем правой кнопкой по разделу «Обработки» и выберем «Добавить». В созданной обработке выберем «Действия — Открыть модуль объекта».

1 2 3 4 5 |
Перем ОбычнаяПеременнаяМодуля; Перем ЭкспортируемаяПеременнаяМодуля Экспорт; //к этой переменной можно обращаться в других модулях //через программный объект данной Обработки |
- Локальные переменные — доступны в пределах процедуры или функции. Чтобы использовать локальную переменную с таким же именем как у глобальной, нужно объявить ее через «Перем».
1 2 3 4 5 6 |
Функция Тестовая() Перем ЛокальнаяПеременная; //доступна только в пределах функции //будет изменена глобальная переменная из модуля управляемого приложения ГлобальнаяПеременная = 8; КонецФункции |
Но если сделать так, то будет меняться значение локальной переменной:
1 2 3 4 |
Функция Тестовая() Перем ГлобальнаяПеременная; ГлобальнаяПеременная = 1; // так будет изменена локальная переменная КонецФункции |