Система строгой типизации кода проверяет что каждая переменная имеет тип значения
Объявляемая локальная переменная в методе:
// @strict-types
Процедура Тест() Экспорт
Перем ТестПеременная;
// здесь код
КонецПроцедуры
Объявляемая переменная в модуле объекта и скрытая инициализация в каком-то методе:
// @strict-types
Перем ПараметрыОбъекта;
Процедура ПередЗаписью(Отказ)
Если ОбменДанными.Загрузка Тогда
Возврат;
КонецЕсли;
ПараметрыОбъекта = НовыеПараметрыОбъекта();
Если ЗначениеЗаполнено(ПараметрыОбъекта.Парам1) Тогда
// здесь код
КонецЕсли;
КонецПроцедуры
// Возвращаемое значение:
// Структура:
// * Парам1 - Строка -
Функция НовыеПараметрыОбъекта()
Параметры = Новый Структура();
Параметры.Вставить("Парам1", "Строковое значение");
Возврат Параметры;
КонецФункции
Инициализируйте локальную переменную с пустым значением по умолчанию:
// @strict-types
Процедура Тест() Экспорт
ТестПеременная = 0;
// здесь код
КонецПроцедуры
Инициализируйте переменную модуля значением по умолчанию в коде модуля и типизируйте строчным типизирующим комментарием в месте определения переменной.
// @strict-types
Перем ПараметрыОбъекта; // См. НовыеПараметрыОбъекта
Процедура ПередЗаписью(Отказ)
Если ОбменДанными.Загрузка Тогда
Возврат;
КонецЕсли;
Если ЗначениеЗаполнено(ПараметрыОбъекта.Парам1) Тогда
// здесь код
КонецЕсли;
КонецПроцедуры
// Возвращаемое значение:
// Структура:
// * Парам1 - Строка -
Функция НовыеПараметрыОбъекта()
Параметры = Новый Структура();
Параметры.Вставить("Парам1", "String value");
Возврат Параметры;
КонецФункции
// Обязательная инициализация значения в коде модуля
ПараметрыОбъекта = НовыеПараметрыОбъекта();