Капитально об программе 1С 8.0-8.3-8.4, 7.7

1С объявление переменных

Переменные

Это именованное значение данных для хранения и последующего доступа.

Могут быть произвольного допустимого в рамках 1С и контекста типа.

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

Под «контекстом» будет подразумеваться модуль и окружение которому этот модуль принадлежит.

В примерах используется комментирование кода 1С.

Объявление переменных

Явное объявление переменных в 1с, в общем случае, не обязательно и может производится непосредственно перед использованием.

Для явного используется служебное имя «Перем«, которое регистронезависимое (допустимо использование, например»ПеРЕМ«).

Примеры явного объявления переменной:

// обычная переменная
Перем МояПеременная1;
// экспортная переменная
Перем МояВидимаяПеременная2 Экспорт;

Пример объявления в функции:

В данном случае мы видим две переменные :

Функция НекаяФункция(ПараметрФункции)
    Перем ПеременнаяФункции1;
    //Далее код
КонецФункции

Именование переменных

Переменные должны именоваться, начинаясь с символов русского или английского алфавита или символа подчеркивания(«_»).

Не могут начинаться на цифру, но могут ее содержать.

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

Например, находясь в контексте формы, нельзя использовать имя переменной Заголовок, т.к. в этом случае будет происходить непосредственное изменение заголовка окна формы.

Имя должно быть понятным, запоминаемым. Допускается использование префиксов для удобства восприятия, например: лЛокальнаяПеременная, фПеременнаяФормы.

Обычно применяется выделение регистром для визуального осмысления: ВременнаяПеременнаяДляХраненияПромежуточныхРасчетов

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

Инициализация переменных

Платформа инициализирует переменные значением «Неопределено» по умолчанию

В момент объявления переменные явно присвоить значение возможно только, если это параметр функции

В примере ниже:

Функция НекаяФункция(ПараметрФункцииИнициализируемый="123")
    Перем ПеременнаяФункции2;
    ПеременнаяФункции2 = 321;
    ПеременнаяФункции3 = "321Пуск";
КонецФункции

Последний вариант ничем не хуже второго и повсеместно используется, но явная инициализация, признается более «правильной«

Также не является обязательным инициализация ранее объявленной переменной сразу, это может быть сделано непосредственно  перед использование.

Допустимо не переопределять значение «Неопределено«, т.к. всегда можно проверить тип значение или содержимое

Видимость переменных

В версии 8 в отличии от 7.7. глобальных переменных не существует и их видимость определяется контекстом исполнения

Передача значений переменных

Более подробно на последнем случае останавливаться не буду, т.к. это один уроков, который вы должны пройти самостоятельно. Система вам сообщит, когда вы наступите на «грабли«, а объяснить простыми не получится.

В случае, если вам все-таки требуется передать значение, необходимо:

Конвертация значений будет рассмотрена в других разделах.

Замечу лишь, что примитивные типы конвертируется более просто, при соблюдении условий «авто-приведения», объекты обычно через их методы, либо уже написанием кода преобразования.