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

Andrey Gheleznyakov (Автор тем)

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

Страницы: 1
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 объекта ?). Тогда зачем эти параметры присутствуют в параметре  карты, если по ним в  API нельзя найти объект по GUID ?
 
  Номер объекта пользователь, имеющий права для редактирования объекта,  исправить я так понимаю не может. Но нумерация в каждой карте своя и начинается с 1 (единицы), поэтому нужно имя карты. А вот имя карты администратор базы геоданных  поменять может легко !

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

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

Возможна такая схема обеспечения связи между разными программами ? Или есть что-то более простое (чего не знаю , через  GUIDы объектов ?
Страницы: 1



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

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