Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Вставить Яндекс карту как картинку в макет документа

Вставить Яндекс карту как картинку в макет документа
Я
   Elvina88
 
30.10.18 - 14:48
Здравствуйте, нашла подобную тему здесь, но не до конца поняла что делать...
Печать карты Google 1С 8.2

Получаю статическую картинку с Яндекса, вывожу её в поле html документа, а вот как потом вывести полученную картинку в макет (табличный документ) никак не пойму(((
Документ свой, управляемые формы, задача - вставить кусок карты в печатную форму договора с контрагентом.
 
 
   Lexey_
 
1 - 30.10.18 - 14:52
(0) а просто картинку вставлять в табдок умеешь?
   Elvina88
 
2 - 30.10.18 - 14:53
(1) умею
   Elvina88
 
3 - 30.10.18 - 14:57
(1) Просто картинку вставляла вот так:
Область = Макет.ПолучитьОбласть("фото"); 
    Рисунок = Область.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка); 
    Рисунок.Верх = 5; 
    Рисунок.Высота = 100; 
    Рисунок.Ширина = 100; 
    Рисунок.Лево = 5; 
    Рисунок.Картинка = Новый Картинка(Объект.ПутьКФайлу2); 
    Рисунок.РазмерКартинки = РазмерКартинки.АвтоРазмер; 

Но здесь картинка лежит на диске, а у меня она в Поле HTML документа
   Lexey_
 
4 - 30.10.18 - 14:58
(2) "Получаю статическую картинку с Яндекса", ну и вставляй, в чем проблема?статическая картинка с Яндекса ничем не отличается от обычной картинки
   Lexey_
 
5 - 30.10.18 - 14:58
(3) получай картинку в файл
   Elvina88
 
6 - 31.10.18 - 06:39
(5) как это сделать?))  не получается(((
Эта функция формирует текст ссылки
(пользователь вводит долготу, широту, масштаб карты)

&НаСервере
Функция ПолучитьСсылку() 

    Долгота = СтрЗаменить(Строка(Долгота), ",", ".");
    Широта = СтрЗаменить(Строка(Широта), ",", ".");
    МасштабКарты = Масштабирование;
    Текст = "
    |https://static-maps.yandex.ru/1.x/?ll="; + долгота + "," + Широта + "&size=600,450&z=" + МасштабКарты +"&l=map&pt=" + долгота + "," + Широта + ",pmwtm1~" + долгота + "," + Широта + ",pmwtm1";
    Возврат Текст;    
КонецФункции


Так карта отображается в Поле HTML документа:

&НаКлиенте
Процедура ПоказатьКарту(Команда)
    
    ЭтаФорма.ТекстHTML = ПолучитьСсылку();
    ОбновитьОтображениеДанных();
    
КонецПроцедуры


Сохранить её как картинку не получается...
Пробовала так:
Картинка = Новый Картинка(ПолучитьСсылку());

не работает...
Как её сохранить (получить)?
   Elvina88
 
7 - 31.10.18 - 08:23
Нашла ещё такую конструкцию:
Соединение = Новый HTTPСоединение("img.yandex.net");
Соединение.Получить("/i/logo95x37.png","c:\logo.jpg");


первая строка без ошибок, на вторую ругается...
Соединение = Новый HTTPСоединение(ПолучитьСсылку());
Соединение.Получить(ПолучитьСсылку(),"C:\logo.jpg");

Я понимаю, что тут не ссылку, а название картинки нужно вставить, но как она называется?
Открываю ссылку в браузере, смотрю код:

<img style="-webkit-user-select: none;" src="https://static-maps.yandex.ru/1.x/?ll=37.620070,55.753630&size=450,450&z=13&l=map&pt=37.620070,55.753630,pmwtm1~37.64,55.76363,pmwtm99">;
   FIXXXL
 
8 - 31.10.18 - 09:12
что-то мне подсказывает, что надо использовать Печать карты, там картинка получается
а по ссылке немного не картинка...
   Elvina88
 
9 - 31.10.18 - 09:41
(8) можно поподробнее?
   FIXXXL
 
10 - 31.10.18 - 09:58
(9) в браузере по ссылке боюсь не совсем "картинка", хотя и похожа :) надо рыть АПИ яндекса в сторону выдачи данных на печать, там хотя бы что-то похожее на картинку
сам не делал, просто размышления
 
 Рекламное место пустует
   Elvina88
 
11 - 31.10.18 - 10:05
(10) Если в браузере выполнить Страница - Сохранить как, сохраняется именно как картинка с расширением png
   Elvina88
 
12 - 31.10.18 - 10:09
а если с другой стороны опять подойти,
можно ли как-то содержимое поля html документа на обычный макет вытащить?
   Lexey_
 
13 - 31.10.18 - 10:13
(12) это не нужно, нужно использовать HTTPСоединение и HTTPЗапрос для получения файла
   Elvina88
 
14 - 31.10.18 - 12:09
(13) Спасибо! Получилось!!!
В соединении без https путь нужно писать, тогда работает...

Соединение = Новый HTTPСоединение("static-maps.yandex.ru/1.x/?ll=37.620070,55.753630&size=450,450&z=13&l=map&pt=37.620070,55.753630,pmwtm1~37.64,55.76363,pmwtm99");
Запрос = Новый HTTPЗапрос("");
Результат = Соединение.Получить(Запрос);
КаталогДляЭкспериментов = "C:\Users\Эльвина\Pictures";
ФайлКартинки = КаталогДляЭкспериментов + "\test.png";     Результат.ПолучитьТелоКакДвоичныеДанные().Записать(ФайлКартинки);

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует