Интеграция 1С и 2ГИС

15.08.25

Интеграция - WEB-интеграция

Создана обработка, позволяющая интегрировать карту 2ГИС и вывести маркеры на карте (по широте и долготе). Можно внедрить данную обработку в любую конфигурацию. Будет полезна для транспортных, логистических компаний.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Интеграция 1С и 2ГИС:
.dt 35,55Kb
3 1 850 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Создаем пустую конфигурацию. Добавляем справочник "Позиции". В данном справочнике создаем реквизиты "Широта", "Долгота" с типом строка.

В текущей конфигурации создаем обработку "Карта2ГИС" и добавляем реквизит с типом строка неограниченной длины "Карта". 

Создаем форму обработки и размещаем реквизит "Карта" и указываем вид "Поле HTML документа".

Далее добавляем команду "Показать" и пишем код:

&НаКлиенте
Процедура Показать(Команда)
    ПоказатьНаСервере();
КонецПроцедуры

 

&НаСервере
Процедура ПоказатьНаСервере()
    Объект.Карта = 
    "<!DOCTYPE html>
    |<html>
    |    <head>
    |        <title>Map creation</title>
    |        <script src=""https://maps.api.2gis.ru/2.0/loader.js""></script>
    |    </head>
    |    <body>
    |        <div id=""map"" style=""width: 100%; height: 700px;""></div>
    |        <script>
    |        DG.then(function() {
    |           var map = DG.map('map', {
    |           center: [54.98, 82.89],
    |           zoom: 14
    |        });    
    //|       DG.marker([54.98, 82.89]).addTo(map);    
    |        "+Маркеры()+"
    |        });
    |        </script>
    |    </body>
    |</html>";
КонецПроцедуры

Затем добавляем функцию "Маркеры()" . Эта функция получает данные из справочника "Позиции" и  возвращает текст с широтой и долготой элемента справочника. Дополнительно в текст записывается наименование элемента справочника.

&НаСервере
Функция Маркеры()
	ПозицииТекст = ""; 	
	Запрос = Новый Запрос;
	Запрос.Текст = 
		"ВЫБРАТЬ
		|	Позиции.Наименование КАК Наименование,
		|	Позиции.Широта КАК Широта,
		|	Позиции.Долгота КАК Долгота
		|ИЗ
		|	Справочник.Позиции КАК Позиции
		|ГДЕ
		|	Позиции.ПометкаУдаления = ЛОЖЬ";
	
	РезультатЗапроса = Запрос.Выполнить();	
	Выборка = РезультатЗапроса.Выбрать(); 	
	Пока Выборка.Следующий() Цикл
		//Без наименования
		//ПозицииТекст = ПозицииТекст + "DG.marker(["+Выборка.Широта+","+Выборка.Долгота+"]).addTo(map);";
		
		//С наименованием
		//ПозицииТекст = ПозицииТекст + "DG.marker(["+Выборка.Широта+","+Выборка.Долгота+"]).addTo(map).bindPopup('"+Выборка.Наименование+"');";		
		
		//С подсказкой
		ПозицииТекст = ПозицииТекст + "DG.marker(["+Выборка.Широта+","+Выборка.Долгота+"]).addTo(map).bindLabel('"+Выборка.Наименование+"');";
	КонецЦикла;                       	                                  
	Возврат ПозицииТекст;
КонецФункции

 

Запускаем 1С: Предприятие и в справочник "Позиции" записываем несколько элементов с широтой и долготой. Открываем обработку и выполняем команду "Показать".

Для того, чтобы внедрить данную обработку в любую конфигурацию, необходимо загрузить файл dt в новую информационную базу. Далее сохранить файл конфигурации cf и сравнением и объединением добавить в вашу конфигурацию Справочник и Обработку.

Программный код тестировался на платформе 1С версии 1С:Предприятие 8.3 (8.3.24.1368).

Вступайте в нашу телеграмм-группу Инфостарт

конфигурация обработка интеграция

См. также

Сайты и интернет-магазины WEB-интеграция Системный администратор Программист Пользователь 1С:Предприятие 8 1C:Бухгалтерия 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Интеграционный модуль обмена между конфигурацией Альфа Авто 5 и Альфа Авто 6 и порталом AUTOCRM / LOGICSTARS. Данный модуль универсален. Позволяет работать с несколькими обменами AUTOCRM / LOGICSTAR разных брендов в одной информационной базе в ручном и автоматическом режиме.

36000 руб.

03.08.2020    22203    32    24    

26

SALE! 15%

WEB-интеграция Программист Бизнес-аналитик 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Оптовая торговля, дистрибуция, логистика ИТ-компания Платные (руб)

Модуль "Экспортер" — это расширение для 1С, предназначенное для автоматизации процессов выгрузки данных. Оно позволяет эффективно извлекать, преобразовывать и передавать данные из систем 1С в интеграционную платформу Spot2D. Подсистема упрощает настройку, снижает количество ручных операций и обеспечивает удобный контроль данных.

17280 14688 руб.

20.12.2024    4382    22    4    

23

WEB-интеграция Программист Руководитель проекта 1С:Предприятие 8 1C:Бухгалтерия 1С:Франчайзи, автоматизация бизнеса Платные (руб)

Расширение значительно упрощает написание API на 1С. Веб программисты получают простой и понятный доступ к 1С. Описание API создаётся автоматически и представляется в виде удобном как для человека, так и для программной обработки. Основные преимущества: 1. Документация API создаётся автоматически. Удобна для программной обработки. 2. Изменить API столь же просто как настроить отчёт. Можно опубликовать существующий вариант отчёта. 3. Отчёты в API поддерживают параметры (Период, ДатаНачала и др.) 4. При создании простых методов не требуется изменять конфигурацию. 5. Поддерживается работа с планами обмена.<br/> 6. Возможно настроить отправку из 1С данных корреспондирующей системе, для случаев когда 1С сама "знает" какие данные нужно отправить. 7. После записи в 1С Ле Мурр может возвращать соответствие полученных идентификаторов созданным в 1С объектам данных.

36000 руб.

27.09.2024    10150    7    5    

11

WEB-интеграция Программист 1С:Предприятие 8 1С:Бухгалтерия 3.0 Бытовые услуги, сервис Платные (руб)

Внешняя обработка разработана для автоматизации передачи данных между сервисом Vetmanager с 1С: Бухгалтерия 3.0. Решение позволяет загружать документы и справочники из Ветменеджер в 1С:Бухгалтерию, сокращая время на ручной ввод данных и минимизируя ошибки.

12000 руб.

02.02.2021    20958    60    52    

38
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. akR00b 25 18.08.25 14:44 Сейчас в теме
Вопрос оплаты данного функционала, OSM в этом плане лучше, хотя использую и то и то. Единственное 2ГИС стали писать внизу карты что необходим ключ и скоро это перестанет работать.
2. a1ex4ndr 5 10.11.25 11:03 Сейчас в теме
Работают сейчас эти карты? У меня код из Объект.Карта = не отображается даже в html файлике открываемом в браузере..
5. KAIRATD 12 17.11.25 12:48 Сейчас в теме
В настоящее время работает . Перепроверил
(2)
3. a1ex4ndr 5 10.11.25 16:30 Сейчас в теме
<body>
      <div id="container"></div>
      <sc ript src="https://mapgl.2gis.com/api/js/v1"></sc ript>
      <sc ript>
          const map = new mapgl.Map('container', {
              center: [54.98, 82.89],
              zoom: 14,
              key: 'Тут ключ API полученный у 2ГИС',
              style: 'c080bb6a-8134-4993-93a1-5b4d8c36a59b'
          });
          const marker = new mapgl.Marker(map, {
              coordinates: [54.98, 82.89],
          });
      </sc ript>
  </body>
Показать

Примерно так теперь это выводится..
4. KAIRATD 12 17.11.25 12:46 Сейчас в теме
Вот этот код работает. Он взят из конфигурации

Объект.Карта =
"<!DO CTYPE html>
|<ht ml>
| <head>
| <title>Map creation</title>
| <sc ript src=""https://maps.api.2gis.ru/2.0/loader.js""></sc ript>
| </head>
| <body>
| <div id=""map"" style=""width: 100%; height: 700px;""></div>
| <sc ript>
| DG.then(function() {
| var map = DG.map('map', {
| center: [54.98, 82.89],
| zoom: 14
| });
//| DG.marker([54.98, 82.89]).addTo(map);
| "+Маркеры()+"
| });
| </sc ript>
| </body>
|</html>";
Для отправки сообщения требуется регистрация/авторизация