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