Тип «Неопределено»
Тип Неопределено имеет единственное значение, задаваемое литералом Неопределено. Это значение применяется, когда необходимо использовать пустое значение, не принадлежащее ни к одному другому типу. Например, такое значение изначально имеют переменные, объявленные с типом неизвестно.
На этапе компиляции допускается присваивание переменной значения составного типа, включающего тип Неопределено, например Строка и Неопределено:
пер Переменная1: Строка?
То есть ? после имени типа означает составной тип, включающий:
- тип, после имени которого записан ?
- Неопределено
На время компиляции также допускается вызов методов типа Тип от значений составного типа, включающего Неопределено. Если во время исполнения в такую переменную типа попадет значение Неопределено, то выполнение программы завершится выбрасыванием исключения.
Особенность типа «Неопределено»
метод Скрипт()
    пер Значение: Строка
    пер Значение2: Строка|Неопределено
    пер Значение3: Строка|Число|Неопределено
    Значение = Значение2 // OK, возможна ошибка времени исполнения
    Значение2.Длина() // OK, возможна ошибка времени исполнения
    Значение2 = Значение3 // Ошибка компиляции
    Значение = Неопределено // Ошибка компиляции
;