Собственные типы
Собственные типы — это типы, уникальные для вашего модуля. Вы объявляете их самостоятельно, используя в качестве базового типа один из стандартных типов Перечисление, Объект или Исключение. Эти типы можно использовать только в методах того модуля, где они объявлены.
Перечисление
Перечисление — это новый тип, множество значений которого представляет собой явно заданный набор идентификаторов.
Стандартный тип Перечисление не имеет конструктора и используется только в качестве базового типа для создания ваших собственных типов перечислений. Сначала, с помощью инструкции перечисление, вы объявляете тип своего перечисления в теле модуля, затем можете использовать его в методах.
перечисление ВидСообщения
Важное,
Обычное умолчание,
Второстепенное
;
метод Скрипт()
// Используется значение перечисления по умолчанию.
пер Важность: ВидСообщения
ОтправитьСообщение("текст сообщения", Важность)
// Значение перечисления указано явно.
ОтправитьСообщение("проблема!", ВидСообщения.Важное)
;
метод ОтправитьСообщение(Текст: Строка, Вид: ВидСообщения)
;
Подробнее про перечисления.
Структура
Структура — это тип, содержащий несколько именованных значений произвольных типов. Структура состоит из полей. Каждое поле имеет тип, указанный при объявлении типа структуры.
В качестве базового типа для создания ваших собственных типов структур используется стандартный тип Объект. Сначала, с помощью инструкции структура, вы объявляете тип своей структуры в теле модуля, затем можете использовать его в методах.
В отличие от встроенного языка, состав полей структуры и их типы определяются в момент разработки программы. Во время исполнения программы ни состав полей, ни типы полей измениться уже не могут.
- нет необходимости документировать,
- доступна контекстная подсказка.
«1С:Шина» |
---|
|
1С:Предприятие 8 |
|
Подробнее про структуры.
Исключение
Исключение — это новый тип, содержащий набор данных, который описывает обнаруженную ошибку.
Стандартный тип Исключение не имеет конструктора и используется только в качестве базового типа для создания ваших собственных типов исключений. Сначала, с помощью инструкции исключение, вы объявляете тип своего исключения в теле модуля, затем можете использовать его в методах.
структура ДанныеПоСотруднику
обз пер ФИО: Строка
обз пер ТабельныйНомер: Число
;
исключение ИсключениеНеверныйФорматФайла
обз пер ИмяФайла: Строка
;
@НаСервере
метод Скрипт(Путь: Строка)
пер Результат: Массив<ДанныеПоСотруднику>
пер ФайлыСДаннымиОСотрудниках = Файлы.Найти(Путь)
для Файл из ФайлыСДаннымиОСотрудниках
попытка
Результат.Добавить(ПрочитатьДанные(Файл))
поймать Искл: ИсключениеНеверныйФорматФайла
ОбработатьИсключение(Искл)
поймать Искл: Исключение
// обработка других исключений
;
;
// ...
;
@НаСервере
метод ПрочитатьДанные(Файл: Файл): ДанныеПоСотруднику
пер Данные: ДанныеПоСотруднику
// считывание данных в структуру
// ...
выбросить новый ИсключениеНеверныйФорматФайла(
"Неверный формат. Недопустимое поле %Поле", Файл.Путь)
// ...
возврат Данные
;
метод ОбработатьИсключение(Искл: ИсключениеНеверныйФорматФайла)
// обработка
;
Другие отличия от встроенного языка:
Подробнее про исключение.