|
v7: Перенос картинки с сайта в форму 1С 7.7 | ☑ | ||
---|---|---|---|---|
0
Alex_47
09.02.20
✎
13:45
|
Добрый день! Ранее этим не занимался, но по просьбе некоторых....
Вот есть картинка на сайте погоды nochi.com https://nochi.com/weather/krasnodar-17496 Как можно интерактивно перенести её на форму обработки 1с 7.7, и чтобы каждые 4 часа картинку перезагружать по той же ссылке. |
|||
1
Злопчинский
09.02.20
✎
13:55
|
если это ИМЕННО КАРТИНКА - то выясняете "адрес" этой картинки, раз в 4 часа выдергиваете еес сайта, сохраняете в какое-то место,из этого места картинка подхватывается на форму 77.
. можно в 77 встроить показ страницы сайта |
|||
2
Alex_47
09.02.20
✎
14:04
|
Сейчас так и есть, но я привёл ссылку на Краснодар, но там их 9. Так нужно в гараже. Возиться каждые 4 часа с файлами очень трудно. Надо, чтобы всё автоматом. Каждые 4 часа ссылка не меняется, на ней меняется изображение каждые 4 часа. Так что ссылка есть и надо через 4 часа чтобы автоматом делался запрос, скачивалось в комп, а оттуда прога сама заберёт
обновлённый файл и выдаст на форму. Как бы такой принцип |
|||
3
Alex_47
09.02.20
✎
14:10
|
Фактически принцип закачка автоматом с сайта погоды картинки на комп каждые 4 часа. Это будет хорошо.
|
|||
4
Злопчинский
09.02.20
✎
14:19
|
(3)
1. какую именно картинку/картинки? - там "картинки" на неделю - их - 7. или что-то другое? 2. ты понимаешь что - если речь о "картинке погоды на день" - это не картинка, а набор элементов-текстовок+мелкие картинки? |
|||
5
Злопчинский
09.02.20
✎
14:21
|
(3) Принцип закачки картинки с сайта на комп простой - посылаешь на сайт запрос, сайт в ответ возвращает картинку. если совсем упрощенно - то это так.
|
|||
6
Alex_47
09.02.20
✎
14:43
|
Вот точная ссылка
https://w.bookcdn.com/weather/picture/3_17496_1_20_137AE9_160_ffffff_333333_08488D_1_ffffff_333333_0_6.png?scode=2&domid=589&anc_id=44208 Извините, в картинке меняются данные каждые 4 часа. 9 городов. Там 6 утра,10,14,18,22,2 часа. Есть картинка,есть ссылка. Через 4 часа запрашиваем.Как? Записываем в базу,как? Что нужно сделать? |
|||
7
Alex_47
09.02.20
✎
14:52
|
Комп ссылку знает, теперь как эту картинку занести в комп. Со временем я разберусь.
|
|||
8
Злопчинский
09.02.20
✎
15:13
|
(6) ну дык это уже гораздо проще...
сейчас код пороюсь где-то лежал |
|||
9
Злопчинский
09.02.20
✎
15:17
|
мыло дай, скину обработку
или в скайп Zlopun стукнись |
|||
10
Злопчинский
09.02.20
✎
15:22
|
(6)
"Через 4 часа запрашиваем.Как?" - код дам. Периодичность запроса - это как сам организуешь. можно через планировщий виндов запускать 1С с роботом, делает нужное, закрывает 1С. "Записываем в базу,как?" - никак, кладем картинки в папочку рядом с базой. в 1С загружаем картинку штатно в то место куда надо обучаловка для понимания как примерно делается здесь http://catalog.mista.ru/public/17125/ по сути просото - открываешь СП, смотришь какие методы есть у объекта "Картинка" "Что нужно сделать?" - по вопросам могу предположить, что навыков в 77 очень мало ;-) если еще "47" - это год рождения... хотя и есть ребята такого возраста здесь на формуе - программят, работают |
|||
11
Злопчинский
09.02.20
✎
15:24
|
код примерно такой
. Попытка httpRequest = СоздатьОбъект("winhttp.winhttprequest.5.1"); stream = СоздатьОбъект("adodb.stream"); stream.type = 1; //adTypeBinary; stream.open(); script = СоздатьОбъект("ScriptControl"); script.language = "jscript"; script.addObject("httpRequest" ,httpRequest); script.addObject("stream" ,stream); Исключение Сообщить("> "+лПуть+лИмя+": неудачная попытка создания управляющих сценариев для загрузки файлов...","i"); Сообщить("> "+СимволТабуляции+"|_ "+ОписаниеОшибки(),"i"); Сообщить("> "+СимволТабуляции+"|_ загрузка файла(ов) отменена...","i"); Возврат; КонецПопытки; кнЗагрузитьФайлы(0); //здесб собственно загрузка нужных картинок (у меня набор артикулов) stream.close(); script = ""; httpRequest = ""; |
|||
12
Злопчинский
09.02.20
✎
15:25
|
Процедура кнЗагрузитьФайлы(Режим=1)
ЗагруженоУспешно = 0; ТЗ.ВыбратьСтроки(); Пока ТЗ.ПолучитьСтроку()=1 Цикл Артикул = СокрЛП(ТЗ.Артикул); ТекФайл = Строка(Число(Артикул))+".jpg"; //нормализация строки имени файла ИмяФайла = ПапкаКартинок+ТекФайл; Состояние("запрос "+урл_АдресЗагрузки+ТекФайл); Попытка httpRequest.open("GET",урл_АдресЗагрузки+ТекФайл,); httpRequest.send(); Ответ = httpRequest.Status; Исключение Сообщить("> неудачная попытка запроса на загрузку файла...","i"); Сообщить("> "+СимволТабуляции+"|_ "+ОписаниеОшибки(),"i"); Продолжить; КонецПопытки; КодОтвета = Число(Ответ); Если КодОтвета = 200 Тогда ЗагруженоУспешно=ЗагруженоУспешно+1; Иначе Если Режим = 1 Тогда Сообщить("> |_ запрос файла "+урл_АдресЗагрузки+ТекФайл+", ответ: "+Ответ); КонецЕсли; Продолжить; КонецЕсли; script.eval("stream.write(httpRequest.responseBody);"); stream.saveToFile(ПапкаКартинок+ТекФайл, 2); //adSaveCreateOverWrite ТЗ.Файл = ПапкаКартинок+ТекФайл; КонецЦикла; Состояние(""); //Сообщить("загружено картинок: "+ЗагруженоУспешно); КонецПроцедуры |
|||
13
Alex_47
10.02.20
✎
10:01
|
Добрый день! К сожалению не подходит! Вопрос работа на автомате, без всякого моего участия! Конечно, можно попробовать и через Stream API, но тяжёлая конструкция для такой мелочи! Оставлю, что поделаешь, как прежде! Спасибо за труды. Если всё таки зарублюсь на stream,то отблагодарю.
|
|||
14
Злопчинский
10.02.20
✎
15:54
|
(13) ну как бы без участия - не получится. нужно хотя бы написать "задание-робот" и обеспечить его регулярное выполнение. В этой задаче это самый сложный вопрос. А сдернуть картинки по приведенным имеющимся адресам - код весь есть нужный выше. Его можно еще больше упростить.
|
|||
15
Arbuz
10.02.20
✎
16:12
|
(13) Как это не подходит? Злоп разжевал и в рот положил, осталось только сглотнуть. Сказано же - "работа на автомате" решается либо планировщиком винды, либо отдельной сессией 1с - "роботом", например: http://catalog.mista.ru/public/15995 или есть ещё сторонние приложения-планировщики http://catalog.mista.ru/public/15412, но имхо это лишнее, достаточно виндового планировщика.
|
|||
16
Alex_47
23.02.20
✎
13:29
|
Всё решилось просто:
Файлик html в нём прописаны адреса на виджеты, при запуске страничка с рядом картинок. KeyManager делает скриншот и отправляет в 1С-7.7. Html каждые 4 часа, запускается с часиков картинки и всё. Внизу скрин с монитора. На фото не обижайтесь. Она с прошлых времён. https://c.radikal.ru/c38/2002/fa/c1c401912449.jpg |
|||
17
Duke1C
23.02.20
✎
19:43
|
(16) А время в этой обработке как "тикает"?
Просто не пойму для чего тут KeyManager, да еще и платный |
|||
18
Злопчинский
24.02.20
✎
14:20
|
(16) делать скриншот для получения картинки из картинки - это мощно!
|
|||
19
Alex_47
29.02.20
✎
11:15
|
Вот файл html
<html><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1251"></head> <body><a href="https://clck.yandex.ru/redir/dtype=stred/pid=7/cid=1228/*https://yandex.ru/pogoda/131323" target="_blank"><img src="./prog_files/2_white.ru.png" border="0" alt="Яндекс.Погода"></a> <a href="https://clck.yandex.ru/redir/dtype=stred/pid=7/cid=1228/*https://yandex.ru/pogoda/35" target="_blank"><img src="./prog_files/2.ru.png" border="0" alt="Яндекс.Погода"></a> <a href="https://clck.yandex.ru/redir/dtype=stred/pid=7/cid=1228/*https://yandex.ru/pogoda/39" target="_blank"><img src="./prog_files/2_white.ru(1).png" border="0" alt="Яндекс.Погода"></a> <a href="https://clck.yandex.ru/redir/dtype=stred/pid=7/cid=1228/*https://yandex.ru/pogoda/239" target="_blank"><img src="./prog_files/2.ru(1).png" border="0" alt="Яндекс.Погода"></a> <a href="https://clck.yandex.ru/redir/dtype=stred/pid=7/cid=1228/*https://yandex.ru/pogoda/213" target="_blank"><img src="./prog_files/2_white.ru(2).png" border="0" alt="Яндекс.Погода"></a> <a href="https://clck.yandex.ru/redir/dtype=stred/pid=7/cid=1228/*https://yandex.ru/pogoda/2" target="_blank"><img src="./prog_files/2.ru(2).png" border="0" alt="Яндекс.Погода"></a></body></html> Он выдаёт в браузере серию картинок png формата, 1С 7.7 png не принимает, надо конвертировать в jpg. Если каждым виджетом заниматься отдельно и выбрасывать картинку на 1С, то для семи картинок- это достаточно утомительно. Можно было делать так: результат html можно сохранить, но он будет также html. Скопируйте файл и запустите, выясните сами! Поэтому найдено оптимальное решение, запустился каждые 4 часа html, вылетила СЕРИЯ ВИДЖЕТОВ вот она и сканируется в ОДНУ картинку. А Key Manager всё это проделывает сам, сканирует, конвертирует и отправляет в папку программы 1С7.7. Ну оттуда этот ОДИН рисунок уже 1C выкладывает её на форму. На счёт Key Manager, что он платный! Да для DukelC он платный, а для меня НЕТ. Зайдите вот сюда: [GTorrent.ru]_Atnsoft Key Manager 1.11.0.350 RePack + Portable by Vnvvnv [Multi_Ru]- это торрент на взлом, а сам Key Manager 1.11 найдёте, его полно в инете. Я думаю всем понятно. У меня прекрасно всё работает и с минимальными затратами. Эта программа 1С7.7 сделана мною в 2008 году и продолжает нормально работать, только вот понадобились некоторые изменения, вот и пришлось повозиться. Между прочим в Инфостарте я её выкладывал, но это было очень давно. |
|||
20
Alex_47
29.02.20
✎
11:19
|
Да забыл упомянуть вот здесь "Можно было делать так: результат html можно сохранить, но он будет также html. ", тогда можно скачать файлы в html_files (там сохраняются png файлы), но их опять будет семь штук и мучайся с ними!!!
|
|||
21
Arbuz
02.03.20
✎
14:36
|
(19) да... для начала Вам бы правила настоящего форума изучить надо. а то ломитесь как медведь через сухостой за помойкой.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |