ТочечныйОбъектГеографическойСхемы.ОтображатьДанные

Свойства · ShowData

Тип: Булево. Содержит признак отображения связанных с объектом данных. Истина - отображается.

Полное описание, параметры и ограничения

ТочечныйОбъектГеографическойСхемы.ОтображатьДанные (GeographicalSchemaObjectPoint.ShowData)

ТочечныйОбъектГеографическойСхемы (GeographicalSchemaObjectPoint)

ОтображатьДанные (ShowData)

Доступен, начиная с версии 8.0.

Использование:
Чтение и запись.
Описание:
Тип: Булево.
Содержит признак отображения связанных с объектом данных.
Истина - отображается.
Доступность:

Сервер, толстый клиент, внешнее соединение.

Использование в версии:

Доступен, начиная с версии 8.0.

Методическая информация

Практические примеры

Сохранить схему в память и прочитать независимый документ

Записываем только новую собственную геометрию в поток, возвращаем позицию к началу и читаем во второй документ; файлы не используются.

Где и как запускать

Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.

Подготовка

  1. Собственная учебная база 8.5.1.1343, толстый клиент Windows. ГеографическаяСхема из этого урока недоступна в тонком/веб-клиенте: не вставляйте код в тонкий клиент.

  2. Создайте отдельную внешнюю обработку с управляемой формой, командой Выполнить и кнопкой этой команды. Вставьте весь код одного урока в модуль формы; назначьте команде обработчик Выполнить.

  3. Каждый запуск создаёт новую схему в локальной переменной. Реквизиты карты и макеты не нужны; готовые карты, SHP, GPS и сервисы карт не загружаются.

  4. Точки и зоны вымышленные учебные объекты. Координаты заданы в градусах, высота в метрах; это не местоположение пользователей или реальных заказов.

  5. На схеме нет подложки с границами стран/дорогами. Это собственная геометрия, а не полноценный навигатор. Показать открывает отдельное окно схемы.

  6. Запускайте уроки по одному. Статические проверки сверяют API установленной справки, но отрисовка и геометрические операции в 1С пока не проверены запуском.

&НаКлиенте
Процедура Выполнить(Команда)
    Схема = Новый ГеографическаяСхема;
    Схема.Обновление = Ложь;
    Схема.Проекция = ТипПроекцииГеографическойСхемы.ЦилиндрическаяРавноудаленнаяПроекция;
    Схема.СмещениеШироты = 0;
    Схема.СмещениеДолготы = 0;
    Пункты = Схема.Слои.Добавить("УчебныеПункты", Тип("ТочечныйОбъектГеографическойСхемы"));
    Пункты.Текст = "Учебные пункты";
    Пункты.Видимость = Истина;
    Пункты.РазрешитьВыбор = Истина;
    ПунктА = Пункты.Объекты.Добавить();
    ПунктА.Значение = "guide-point-A";
    ПунктА.Координаты = Новый ГеографическиеКоординаты(55, 37, 100);
    ПунктА.Видимость = Истина;
    ПунктА.ТипОтрисовки = ТипОтображенияТочечногоОбъектаГеографическойСхемы.Маркер;
    ПунктА.Маркер = ТипМаркераГеографическойСхемы.БольшойКруг;
    ПунктА.Цвет = Новый Цвет(25, 95, 180);
    ПунктА.ОтображатьДанные = Ложь;
    ПунктА.Подсказка = "Вымышленный пункт А; только учебные данные";
    ПунктА.Расшифровка = Новый Структура("УчебныйКод", "guide-point-A");
    ПунктБ = Пункты.Объекты.Добавить();
    ПунктБ.Значение = "guide-point-B";
    ПунктБ.Координаты = Новый ГеографическиеКоординаты(55.1, 37.2, 110);
    ПунктБ.Видимость = Истина;
    ПунктБ.ТипОтрисовки = ТипОтображенияТочечногоОбъектаГеографическойСхемы.Маркер;
    ПунктБ.Маркер = ТипМаркераГеографическойСхемы.БольшойТреугольник;
    ПунктБ.Цвет = Новый Цвет(35, 145, 75);
    Поток = Новый ПотокВПамяти;
    ОшибкаОперации = "";
    Попытка
        Схема.Записать(Поток);
        Сообщить(Поток.Размер() > 0);
        Поток.Перейти(0, ПозицияВПотоке.Начало);
        Копия = Новый ГеографическаяСхема;
        Копия.Прочитать(Поток);
        Сообщить(Копия.Слои.Количество() = 1);
        КопияПунктов = Копия.Слои.Найти("Учебные пункты");
        Если КопияПунктов = Неопределено Тогда
            ВызватьИсключение "После чтения не найден собственный учебный слой";
        КонецЕсли;
        Сообщить(КопияПунктов.Объекты.Количество() = 2);
        Сообщить(КопияПунктов.НайтиПоЗначению("guide-point-A").Координаты.Широта = 55);
        Копия.Очистить();
        Сообщить(Копия.Слои.Количество() = 0);
        Сообщить(Схема.Слои.Количество() = 1);
        Сообщить(Пункты.Объекты.Количество() = 2);
        Копия.Вывести(Схема);
        Сообщить(Копия.Слои.Количество());
        Копия.Показать("Учебная копия после Вывести");
        ВременнаяСхема = Новый ГеографическаяСхема;
        ВременныйСлой = ВременнаяСхема.Слои.Добавить("УчебныйВременный", Тип("ТочечныйОбъектГеографическойСхемы"));
        ВременныйСлой.Объекты.Добавить();
        ВременныйСлой.Объекты.Очистить();
        Сообщить(ВременныйСлой.Объекты.Количество() = 0);
        ВременнаяСхема.Слои.Очистить();
        Сообщить(ВременнаяСхема.Слои.Количество() = 0);
    Исключение
        ОшибкаОперации = ОписаниеОшибки();
    КонецПопытки;
    ОшибкаЗакрытия = "";
    Попытка
        Поток.Закрыть();
    Исключение
        ОшибкаЗакрытия = ОписаниеОшибки();
    КонецПопытки;
    Если Не ПустаяСтрока(ОшибкаОперации) Или Не ПустаяСтрока(ОшибкаЗакрытия) Тогда
        ВызватьИсключение СтрШаблон("Операция: %1; закрытие собственного потока: %2", ОшибкаОперации, ОшибкаЗакрытия);
    КонецЕсли;
    Схема.Обновление = Истина;
    Схема.Показать("Собственная учебная схема — guide-owned-geo");
КонецПроцедуры

Разбор по шагам

  1. ПотокВПамяти создан самим уроком. Записать выбирает перегрузку для потока, не трактует строку как путь к файлу.

  2. После записи позиция находится после данных; Перейти(0, Начало) обязателен до Прочитать.

  3. Второй документ получает сериализованное содержимое. Проверяем собственные ключи/координаты, затем очищаем только этот документ и убеждаемся, что исходный остался.

  4. Вывести передаёт собственную исходную схему в новый пустой документ. Число слоёв после этой операции выводится диагностически; не подменяем эту операцию оператором присваивания.

  5. Очистить объектов и слоёв отдельно демонстрируется на третьей временной схеме; рабочей карты среди аргументов нет.

  6. Закрытие потока предпринимается и после ошибки операции. Ошибка закрытия не проглатывается; две причины сохраняются отдельно. Сеть и файловая система не используются.

Как проверить результат

  1. Девять булевых проверок ожидаются Истина; дополнительное число — фактическое количество слоёв после Вывести.

  2. Исходные два пункта не исчезли после Очистить копии. В конце собственный поток закрывается, в случае сбоя показано исключение.

Ожидаемый результат

Показан полноценный обмен географическим документом через память с независимым чтением и очисткой.

На что обратить внимание

  1. Чтение с текущей конечной позиции потока не заменяет переход к нулю.

  2. Не загружать произвольный недоверенный поток без ограничения размера: здесь источник только собственная маленькая схема.

  3. Записать схемы в память не означает сохранение карты на диске.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Отобразить несколько учебных адресов одним многоточечным объектом

Один объект хранит две координаты и единый ключ; пример показывает разницу между количеством объектов и количеством точек.

Где и как запускать

Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.

Подготовка

  1. Собственная учебная база 8.5.1.1343, толстый клиент Windows. ГеографическаяСхема из этого урока недоступна в тонком/веб-клиенте: не вставляйте код в тонкий клиент.

  2. Создайте отдельную внешнюю обработку с управляемой формой, командой Выполнить и кнопкой этой команды. Вставьте весь код одного урока в модуль формы; назначьте команде обработчик Выполнить.

  3. Каждый запуск создаёт новую схему в локальной переменной. Реквизиты карты и макеты не нужны; готовые карты, SHP, GPS и сервисы карт не загружаются.

  4. Точки и зоны вымышленные учебные объекты. Координаты заданы в градусах, высота в метрах; это не местоположение пользователей или реальных заказов.

  5. На схеме нет подложки с границами стран/дорогами. Это собственная геометрия, а не полноценный навигатор. Показать открывает отдельное окно схемы.

  6. Запускайте уроки по одному. Статические проверки сверяют API установленной справки, но отрисовка и геометрические операции в 1С пока не проверены запуском.

&НаКлиенте
Процедура Выполнить(Команда)
    Схема = Новый ГеографическаяСхема;
    Схема.Обновление = Ложь;
    Схема.Проекция = ТипПроекцииГеографическойСхемы.ЦилиндрическаяРавноудаленнаяПроекция;
    Схема.СмещениеШироты = 0;
    Схема.СмещениеДолготы = 0;
    Пункты = Схема.Слои.Добавить("УчебныеПункты", Тип("ТочечныйОбъектГеографическойСхемы"));
    Пункты.Текст = "Учебные пункты";
    Пункты.Видимость = Истина;
    Пункты.РазрешитьВыбор = Истина;
    ПунктА = Пункты.Объекты.Добавить();
    ПунктА.Значение = "guide-point-A";
    ПунктА.Координаты = Новый ГеографическиеКоординаты(55, 37, 100);
    ПунктА.Видимость = Истина;
    ПунктА.ТипОтрисовки = ТипОтображенияТочечногоОбъектаГеографическойСхемы.Маркер;
    ПунктА.Маркер = ТипМаркераГеографическойСхемы.БольшойКруг;
    ПунктА.Цвет = Новый Цвет(25, 95, 180);
    ПунктА.ОтображатьДанные = Ложь;
    ПунктА.Подсказка = "Вымышленный пункт А; только учебные данные";
    ПунктА.Расшифровка = Новый Структура("УчебныйКод", "guide-point-A");
    ПунктБ = Пункты.Объекты.Добавить();
    ПунктБ.Значение = "guide-point-B";
    ПунктБ.Координаты = Новый ГеографическиеКоординаты(55.1, 37.2, 110);
    ПунктБ.Видимость = Истина;
    ПунктБ.ТипОтрисовки = ТипОтображенияТочечногоОбъектаГеографическойСхемы.Маркер;
    ПунктБ.Маркер = ТипМаркераГеографическойСхемы.БольшойТреугольник;
    ПунктБ.Цвет = Новый Цвет(35, 145, 75);
    Группы = Схема.Слои.Добавить("УчебныеГруппы", Тип("МноготочечныйОбъектГеографическойСхемы"));
    Группы.Текст = "Вымышленные точки одной группы";
    Группа = Группы.Объекты.Добавить();
    Группа.Значение = "guide-group-001";
    Группа.Видимость = Истина;
    Группа.ОтображатьДанные = Ложь;
    Группа.Подсказка = "Один объект с двумя координатами";
    Группа.Расшифровка = "guide-group-001";
    Группа.ТипОтрисовки = ТипОтображенияТочечногоОбъектаГеографическойСхемы.Символ;
    Группа.Символ = "G";
    Группа.ШрифтСимвола = Новый Шрифт("Arial", 12);
    Группа.Цвет = Новый Цвет(165, 60, 145);
    Группа.ПоложениеОпорнойТочки = ПоложениеОпорнойТочкиОтрисовки.Центр;
    Группа.Маркер = ТипМаркераГеографическойСхемы.МаленькийКвадрат;
    Группа.Точки.Добавить(Новый ГеографическиеКоординаты(55.03, 37.04));
    Группа.Точки.Добавить(Новый ГеографическиеКоординаты(55.08, 37.15));
    Сообщить(Группы.Объекты.Количество() = 1);
    Сообщить(Группа.Точки.Количество() = 2);
    Сообщить(Группа.Точки.Индекс(Группа.Точки.Получить(0)) = 0);
    Группа.Точки.Сдвинуть(0, 1);
    Сообщить(Группа.Точки.Получить(0).Широта = 55.08);
    Группа.Точки.Сдвинуть(1, -1);
    Группа.Точки.Добавить(Новый ГеографическиеКоординаты(55.09, 37.19));
    Группа.Точки.Удалить(Группа.Точки.Получить(2));
    Сообщить(Группа.Точки.Количество() = 2);
    Сообщить(Группа.Слой = Группы);
    Сообщить(ТипЗнч(Группа.ОграничивающийПрямоугольник) = Тип("ПрямоугольникГеографическойСхемы"));
    ВременнаяГруппа = Группы.Объекты.Добавить();
    ВременнаяГруппа.Точки.Добавить(Новый ГеографическиеКоординаты(55, 37));
    ВременнаяГруппа.Точки.Очистить();
    Группы.Объекты.Удалить(ВременнаяГруппа);
    ПунктА.ТипОтрисовки = ТипОтображенияТочечногоОбъектаГеографическойСхемы.Символ;
    ПунктА.Символ = "A";
    ПунктА.ШрифтСимвола = Новый Шрифт("Arial", 12);
    ПунктА.ПоложениеОпорнойТочки = ПоложениеОпорнойТочкиОтрисовки.Центр;
    Схема.Обновление = Истина;
    Схема.Показать("Собственная учебная схема — guide-owned-geo");
КонецПроцедуры

Разбор по шагам

  1. Новый слой имеет тип МноготочечныйОбъектГеографическойСхемы. Один объект может содержать несколько координат; у него общий идентификатор и оформление.

  2. Коллекция Точки добавляет ГеографическиеКоординаты, а не строковые адреса. Геокодирования нет.

  3. ТипОтрисовки Символ использует Символ и ШрифтСимвола. Маркер заранее настроен для возможного переключения, но в режиме Символ не выдаётся за активный стиль.

  4. Сдвиг и удаление выполняются на собственных координатах. Для Очистить создана отдельная временная группа, удалённая до показа.

  5. ПоложениеОпорнойТочки задаёт опору отрисовки картинки; пример сохраняет настройку, но не обещает видимый эффект в режиме Символ.

  6. Пункт А также показан буквой A, чтобы визуально отличить его от общего символа G группы.

Как проверить результат

  1. Семь проверок ожидаются Истина; группа содержит две координаты, но слой содержит один объект.

  2. На собственном толстом клиенте должны быть две буквы G и пункт A. Позиция/шрифт требуют фактической визуальной проверки.

Ожидаемый результат

Различаются топологический объект и его отдельные координаты; показаны коллекции и символы без внешних данных.

На что обратить внимание

  1. Если каждому адресу нужны разные данные/стиль, создавайте отдельные точечные объекты, не одну многоточечную группу.

  2. Удалить принимает объект координаты. Номер 2 в Получить — индекс, а не сама координата.

  3. Настройка Маркер не меняет режим Символ автоматически.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.