На главную... Продукты | Технологии | Классификаторы | Проекты | Скачать | Цены| Форум | Статьи | Обучение | Контакты

Andrey Gheleznyakov (Все сообщения пользователя)

Поиск  Пользователи  Правила  Войти
Форум » Пользователи » Andrey Gheleznyakov
Выбрать дату в календареВыбрать дату в календаре

Страницы: Пред. 1 ... 6 7 8 9 10 11 12 13 14 15 16 ... 280 След.
GIS ToolKit Active Создание объекта карты в 1С
 
Ниже приведен текст процедуры для активизации режима интерактивного создания объекта карты с выбором типа (класса) объекта карты.

Процедура СоздатьОбъектНажатие(Элемент)
 // Создание объекта карты с выбором его типа (класса) из классификатора
   карта1 = ЭтаФорма.ЭлементыФормы.axMapView1;
Если карта1.Active  = Ложь Тогда
Сообщить("Карта не открыта");
Возврат;
КонецЕсли;

   // получим объект управления картой из списка карт
   mapsite = ЭтаФорма.ЭлементыФормы.axMapView1.MapSites.Item_get(0);
   Если mapsite.GetSiteEditFlag() = 0 Тогда
       Сообщить("Редактирование на карте запрещено");                        
Возврат;
   КонецЕсли;
           
Если ЭтаФорма.ЭлементыФормы.УправлениеКартой.Заголовок = "Управление Активно" Тогда
// Остановить стандартное управление местоположением карты
       УправлениеКартойНажатие(Элемент);
КонецЕсли;

карта_ред = ЭтаФорма.ЭлементыФормы.axMapEditMetric;    
карта_ред.StopAction();  // если было активно, то остановить
карта_ред.cMapView = карта1.C_CONTAINER;

   выбортип1 = ЭтаФорма.ЭлементыФормы.axMapSelectObjectRsc;
выбортип1.cMapView = карта1.C_CONTAINER;

   карта_объект = ЭтаФорма.ЭлементыФормы.axMapObj1;
карта_объект.cMapView = карта1.C_CONTAINER;  

карта_ред.cMapObj = карта_объект.C_CONTAINER;

координата = ЭтаФорма.ЭлементыФормы.axMapPoint1;
координата.cMapView = карта1.C_CONTAINER;  
карта_ред.cMapPoint = координата.C_CONTAINER;;

Если выбортип1.ExecuteForMapObj(карта_объект.C_CONTAINER,  Истина) = Ложь Тогда
Возврат;
КонецЕсли;

карта_ред.MetEditMode = 1;

карта1.ViewScale = 25000;

карта_ред.StartAction();  

КонецПроцедуры
GUID объекта карты, Уникальная идентификация объекта карты
 
Вопросы, не относящиеся к данной теме (GUID объекта карты) были удалены.
GUID объекта карты, Уникальная идентификация объекта карты
 
GUID объекта карты - это специальная служебная семантика объекта карты. Ее классификационный код 32799 (ключ ObjectGUID). По сути - это текстовая строка типа 5752AA96-172D-4147-BE6F-4149E5C26C4C. Она формируется при создании объекта автоматически. Доступ к ней - как к обычной семантике.
[ Закрыто] Просмотр данных «1С: Предприятие» и других НТТР-сервисов
 
Содержимое вопроса перенесено в новую тему [URL=https://gisweb.ru/forum/messages/forum2/topic13625/message99506/13625-guid-obekta-karty?result=new#message99506]https://gisweb.ru/forum/messages/forum2/topic13625/message99506/13625-guid-obekta-karty?result=new#m...[/URL]
GUID объекта карты, Уникальная идентификация объекта карты
 
   
  В паспорте карты есть параметры:  GUID карты и  автоматически назначать GUID объектам ( при наличии методов поиска объектов хватило бы для поиска и одного GUID объекта ?). Тогда зачем эти параметры присутствуют в параметре  карты, если по ним в  API нельзя найти объект по GUID ?
 
  Номер объекта пользователь, имеющий права для редактирования объекта,  исправить я так понимаю не может. Но нумерация в каждой карте своя и начинается с 1 (единицы), поэтому нужно имя карты. А вот имя карты администратор базы геоданных  поменять может легко !

 
   В типах семантических данных есть типы:  ссылка на объект и GUID. Наверное, в семантике, ссылка на объект это почти тоже что и   GUID (обе данные уникальны)?

   Можно записать ссылку в виде строки  в 1с8.3. Когда нужно эту строку (текст ссылки) передать для поиска  в API ActiveX, специально созданной (и только для этих целей) семантике,  и найти объект (уникальная ссылка выберет только нужный и единственный объект)?  

Возможна такая схема обеспечения связи между разными программами ? Или есть что-то более простое (чего не знаю , через  GUIDы объектов ?
[ Закрыто] Просмотр данных «1С: Предприятие» и других НТТР-сервисов
 
Для следующих вопросов открывайте новую тему, так будет проще искать решения.
Ранее был пример с поиском объекта карты:

// найдем редактируемый объект
карта_объект.SeekObject("Ногинский район", 104007); // автодорога
ЕСЛИ карта_объект.SeekObject("Ногинский район", 104007) = 0 Тогда
Сообщить("Объект с номером 104007 не найден");
  Возврат;
КонецЕсли;

В справочнике 1С достаточно запомнить название карты ("Ногинский район") и номер объекта на карте (104007). Но могут быть нюансы, связанные с тем, что в карте, например, могут изменить ее название.
Надежнее хранить в семантике идентификационные данные, которые присваиваются в учетной системе (можно добавить специальную семантику для связи) и искать по семантике. Например, для земельных участков и объектов недвижимости это может быть кадастровый номер.
[ Закрыто] Просмотр данных «1С: Предприятие» и других НТТР-сервисов
 
[QUOTE]Andrey Gheleznyakov написал:
property ClassificatorValueCount[Code :integer] : integ[/QUOTE]
Свойство возвращает общее количество элементов в списке значений, вне зависимости от того, используются они в конкретной карте или нет.
На основании чего считается, что в списке должно быть 1744 элементов?
[ Закрыто] Просмотр данных «1С: Предприятие» и других НТТР-сервисов
 
На следующей неделе выйдет инсталляция GIS ToolKit ActiveX, в которой будет пример формы с набором ГИС компонент, позволяющих отображать карту, редактировать, искать по семантике. В пример войдут решения, которые обсуждались в текущей теме.

По части организаций: у нас статистика только по приобретению продукта. По части использования известна крупная компания Продимекс, специалисты которой разработали довольно сложный продукт мониторинга автотранспорта предприятия.
[ Закрыто] Просмотр данных «1С: Предприятие» и других НТТР-сервисов
 
Если семантика с порядковым номером number у объекта карты имеет тип значение из классификатора (списка),
то для нее можно получить значение в двух вариантах: в виде кода значения элемента списка или его название (текстовый эквивалент).
И тот и другой вариант получается в символьном виде и определяется значением Semantic.SemanticStyle:
- 0 - возвращается код значения элемента списка;
- 1 - возвращается наименование значения элемента списка.
Изменено: Andrey Gheleznyakov - 20.10.2023 10:20:05
[ Закрыто] Просмотр данных «1С: Предприятие» и других НТТР-сервисов
 
Получение семантического (атрибутивного) описания объекта карты.

У Вас есть axMapObj, настроенный на конкретный объект карты, например, в результате успешного выполнения axMapFind.First().

У axMapObj есть свойство Semantic типа aiMapSemantic, которое обеспечивает доступ к семантикам объекта карты.

Свойство Semantic.SemanticCount возвращает количество семантик, которые есть у данного объекта карты.

Значение семантической характеристики, ее классификационный код можно запросить методами, которые в качестве одного из параметров
получают Number - последовательный номер характеристики (c 1). Классификационный код семантики определяет ее смысловой тип, например, состояние дороги, название, номер дома и т.п.

Получить Классификационный код семантики с порядковым номером number - Semantic.SemanticCode(number).
Получить Значение семантики с порядковым номером number Semantic.SemanticValue(number).
Параметр number не должен превышать SemanticCount.
Также доступны ряд методов, которые возвращают значение семантики не в виде строки, например, GetSemanticValueAsDouble.  
Изменено: Andrey Gheleznyakov - 19.10.2023 13:55:35
Страницы: Пред. 1 ... 6 7 8 9 10 11 12 13 14 15 16 ... 280 След.



© КБ Панорама, 1991-2024

Регистрируясь или авторизуясь на форуме, Вы соглашаетесь с Политикой конфиденциальности