Схема = ЭлементыФормы.ГеоСхема; Схема.Обновление = Ложь; // Запретить обновление схемы. // Отобразить слои Регионы и Города. Схема.Слои.Регионы.Видимость = Истина; СлойГорода = Схема.Слои.Города; СлойГорода.Видимость = Истина; // Добавить новую серию для отображения данных источника. СерияИнформация = Схема.Слои.Города.Серии.Добавить("Информация"); СерияИнформация.Значение = "Информация"; // Сформировать таблицу значений источника данных. ИсточникДанныхГеоСхемы.Колонки.Добавить("ЗначениеГорода"); ИсточникДанныхГеоСхемы.Колонки.Добавить("СерияИнформация", Новый ОписаниеТипов("Строка")); // Добавить "справочную" колонку в истоник данных // (нужна только для "наглядности" работы с источником). ИсточникДанныхГеоСхемы.Колонки.Добавить("НазваниеГорода"); // Заполнить в первой строке источника данных значение серии, // для которой будут выводиться данные. ИсточникДанныхГеоСхемы.Добавить().СерияИнформация = "Информация"; // Задать тип источника данных Схема.Слои.Города.ТипОрганизацииИсточникаДанных = ТипОрганизацииИсточникаДанныхГеографическойСхемы.НаПересечении; // Задать тип отображения значений серии источника данных. СлойГорода.Серии.Информация.ТипОтображения = ТипОтображенияСерииСлояГеографическойСхемы.Текст; // Заполнить источник данных значениями всех объектов. Для Каждого Город Из СлойГорода.Объекты Цикл Город.Видимость = Истина; СтрокаИсточникаДанных = ИсточникДанныхГеоСхемы.Добавить(); СтрокаИсточникаДанных.ЗначениеГорода = Город.Значение; СтрокаИсточникаДанных.НазваниеГорода = СлойГорода.ПолучитьЗначение(Город, СлойГорода.Серии.Название).Значение; КонецЦикла; ЭлементыФормы.ИсточникДанныхГеоСхемы.СоздатьКолонки(); Схема.Обновление = Истина; // Обновить поле географической схемы. // Назначить источник данных. СлойГорода.ИсточникДанных = ИсточникДанныхГеоСхемы;
Схема = ЭлементыФормы.ГеоСхема; СписокГородов = Новый СписокЗначений; // Запретить перерисовку схемы на время обновления. Схема.Обновление = Ложь; // Отобразить слой Регионы. Схема.Слои.Регионы.Видимость = Истина; // Задать тип отображения названий городов. СлойГорода = Схема.Слои.Города; СлойГорода.Серии.Название.ТипОтображения = ТипОтображенияСерииСлояГеографическойСхемы.Текст; // Сформировать список городов и скрыть все города. Для Счетчик = 0 По СлойГорода.Объекты.Количество() - 1 Цикл Город = СлойГорода.Объекты.Получить(Счетчик); Город.Видимость = Ложь; НазваниеГорода = СлойГорода.ПолучитьЗначение(Город, СлойГорода.Серии.Название); НазваниеРегиона = СлойГорода.ПолучитьЗначение(Город, СлойГорода.Серии.Регион); СписокГородов.Добавить(Счетчик, НазваниеГорода.Значение + " (" + НазваниеРегиона.Значение + ")"); КонецЦикла; СлойГорода.Видимость = Истина; // Отобразить слой Города. СписокГородов.СортироватьПоПредставлению(); ВыбранныйГород = СписокГородов.ВыбратьЭлемент(); Если ВыбранныйГород <> Неопределено Тогда ГородСхемы = СлойГорода.Объекты.Получить(ВыбранныйГород.Значение); ГородСхемы.Видимость = Истина; // отобразить выбранный город КонецЕсли; Схема.Обновление = Истина; // Обновить схему.