@Обработчик метод ПослеСоздания() ИсточникДанныхСпискаРазделов().Данные.ДобавитьВсе(ПолучитьДанныеПутеводителя()) ; метод ИсточникДанныхСпискаРазделов(): ИсточникДанныхМассив<Раздел> возврат Компоненты.СписокРазделов.Источник ; метод ИсточникДанныхСпискаПодразделов(): ИсточникДанныхМассив<Раздел> возврат Компоненты.СписокПодразделов.Источник ; метод СписокРазделовПриНажатииСтроки(Источник: Список<ИсточникДанныхМассив<Раздел>>, Событие: СобытиеСДанными<СтрокаСписка<Раздел>>) знч Раздел = Событие.Данные.ДанныеСтроки Компоненты.ЗаголовокРаздела.Значение = Раздел.Заголовок ИсточникДанныхСпискаПодразделов().Данные.Очистить() ИсточникДанныхСпискаПодразделов().Данные.ДобавитьВсе(Раздел.Подразделы) Компоненты.СписокПодразделов.ВыделитьСтроку(ИсточникДанныхСпискаПодразделов().Данные[0]) ПерейтиКСпискуПодразделов() ; метод РазделыПриНажатии(Источник: Надпись, Событие: СобытиеПриНажатии) ПерейтиКСпискуРазделов() ; метод ПерейтиКСпискуРазделов() ИсточникДанныхСпискаПодразделов().Данные.Очистить() Компоненты.СписокРазделов.Видимость = Истина Компоненты.ГруппаПодразделов.Видимость = Ложь ; метод ПерейтиКСпискуПодразделов() Компоненты.СписокРазделов.Видимость = Ложь Компоненты.ГруппаПодразделов.Видимость = Истина ; @ВПодсистеме @НаСервере @НаКлиенте структура Раздел обз знч Заголовок: Строка знч Содержимое: Строка знч Подразделы: Массив<Раздел> ; @НаСервере @ДоступноСКлиента статический метод ПолучитьДанныеПутеводителя(): ЧитаемыйМассив<Раздел> знч ДанныеПутеводителя = <Раздел>[] знч ПутеводительВывод = Ресурс{Путеводитель.json}.ОткрытьПотокЧтения() знч ПутеводительСоответствие = СериализацияJson.ПрочитатьСоответствие(ПутеводительВывод) ПутеводительВывод.Закрыть() для Уровень1 из ПутеводительСоответствие знч Раздел = новый Раздел(Уровень1.Ключ) для Уровень2 из Уровень1.Значение как Соответствие<Строка, Объект?> знч Подраздел = новый Раздел(Уровень2.Ключ, Уровень2.Значение как Строка) Раздел.Подразделы.Добавить(Подраздел) ; ДанныеПутеводителя.Добавить(Раздел) ; возврат ДанныеПутеводителя ;