В процессе работы с географической схемой может возникнуть необходимость приблизить какой-либо фрагмент для более детального рассмотрения.
Например, есть подобная схема:
Но пользователю хочется посмотреть только Ярославскую область и при этом подробнее.
Сделать это можно, если установить свойству ПоддержкаМасштаба поля географической схемы значение ЗаданнаяОбласть перечисления РежимОтображенияГеографическойСхемы и задать границы необходимого ограничивающего прямоугольника через свойство географической схемы ОтображаемаяОбласть.
Здесь уместно вспомнить, что каждый топологический объект географической схемы обладает свойством ОграничивающийПрямоугольник. Ограничивающий прямоугольник хранит координаты прямоугольника, в который вписан топологический объект.
Воспользовавшись тем, что у элемента управления ПолеГеографическойСхемы есть событие Выбор, которое возникает при двойном щелчке на объекте схемы, можно написать следующий код:
// Процедура вызывается как реакция на событие Выбор ПоляГеографическойСхемы. // Событие возникает при двойном щелчке на топологическом объекте географической схемы // // Параметры: // Элемент - элемент управления, который послал событие; // ОбъектКарты - топологический объект географической схемы, по которому сделали двойной щелчок; // Серия - серия данных географической схемы, если щелчок был сделан в области графика; // СтандартнаяОбработка - булево, признак выполнения стандартной (системной) обработки события начала выбора // для данного элемента формы документа. // Процедура ПолеГеографическойСхемыВыбор(Элемент, ОбъектКарты, Серия, СтандартнаяОбработка) ОграничивающийПрямоугольник = ОбъектКарты.ОграничивающийПрямоугольник; ОтображаемаяОбласть = ЭлементыФормы.ПолеГеографическойСхемы.ОтображаемаяОбласть; // Установим у схемы новые границы ограничивающего прямоугольника ОтображаемаяОбласть.ДолготаВосточнойГраницы = ОграничивающийПрямоугольник.ДолготаВосточнойГраницы; ОтображаемаяОбласть.ДолготаЗападнойГраницы = ОграничивающийПрямоугольник.ДолготаЗападнойГраницы; ОтображаемаяОбласть.ШиротаСевернойГраницы = ОграничивающийПрямоугольник.ШиротаСевернойГраницы; ОтображаемаяОбласть.ШиротаЮжнойГраницы = ОграничивающийПрямоугольник.ШиротаЮжнойГраницы; // Установим новый режим масштабирования - удерживание заданной области Схема.ПоддержкаМасштаба = РежимОтображенияГеографическойСхемы.ЗаданнаяОбласть КонецПроцедуры
В результате при щелчке по объекту географической схемы получится результат, подобный этому: