Skip to content

Instantly share code, notes, and snippets.

@ruslan-hut
Created April 21, 2020 12:06
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ruslan-hut/e2d8e0e66b9fe73fcf7324ce49db789f to your computer and use it in GitHub Desktop.
Save ruslan-hut/e2d8e0e66b9fe73fcf7324ce49db789f to your computer and use it in GitHub Desktop.
Функция СтрокаЧисло(Ч)
Возврат Формат(Ч,"ЧДЦ=6; ЧРД=.; ЧН=0.0; ЧГ=0");
КонецФункции // СтрокаЧисло()
&НаСервере
Процедура ПостроитьКарту()
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| КоординатыКонтрагентов.Контрагент.Наименование КАК Наименование,
| КоординатыКонтрагентов.latitude КАК latitude,
| КоординатыКонтрагентов.longitude КАК longitude
|ИЗ
| РегистрСведений.КоординатыКонтрагентов КАК КоординатыКонтрагентов
|ГДЕ
| КоординатыКонтрагентов.latitude <> 0
| И КоординатыКонтрагентов.longitude <> 0";
ШиротаЦентр = 0;
ДолготаЦентр = 0;
ДобавитьМаркеры = "";
Номер = 0;
Выборка = запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
ДобавитьМаркеры = ""+ДобавитьМаркеры+"
|var m"+Номер+"=L.marker(["+СтрокаЧисло(Выборка.latitude)+","+СтрокаЧисло(Выборка.longitude)+"],{title:'"+Выборка.Наименование+"'}).addTo(map);";
Номер = Номер+1;
Если ШиротаЦентр = 0 Тогда
ШиротаЦентр = Выборка.latitude;
ДолготаЦентр = Выборка.longitude;
КонецЕсли;
КонецЦикла;
ТекстСтраницы = ПолучитьОбщийМакет("ПросмторКартыLeafletHTML").ПолучитьТекст();
ТекстСтраницы = СтрЗаменить(ТекстСтраницы,"&Широта",СтрокаЧисло(ШиротаЦентр));
ТекстСтраницы = СтрЗаменить(ТекстСтраницы,"&Долгота",СтрокаЧисло(ДолготаЦентр));
ТекстСтраницы = СтрЗаменить(ТекстСтраницы,"&ДобавитьМаркеры",ДобавитьМаркеры);
ОкноКарты = ТекстСтраницы;
КонецПроцедуры
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
ПостроитьКарту();
КонецПроцедуры
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment