Имя: Пароль:
1C
1С v8
Загрузка погоды в 1С
0 Vovka-x13
 
30.01.12
12:27
Кто нибудь делал загрузку погоды в 1С? к примеру в рег сведений по аналогии с курсом валют.  Как это можно сделать?
1 NDN
 
30.01.12
12:28
по аналогии с курсом валют. :)))
2 Ненавижу 1С
 
гуру
30.01.12
12:28
аналогично курсу валют ))
другой вопрос, а зачем это в 1С?
3 ПульсЪ
 
30.01.12
12:28
)))))))) интересно, +1
4 Ненавижу 1С
 
гуру
30.01.12
12:28
будете делать отчет прогноз погоды? ))
5 jsmith82
 
30.01.12
12:29
прогнозировать поток покупателей в магазины
6 Господин ПЖ
 
30.01.12
12:29
для "Фобос-грунт" конфу дописывают...
7 Fragster
 
гуру
30.01.12
12:30
8 Godofsin
 
30.01.12
12:30
бггг... Начальное сальдо на январь составляет -20 г/ц. оборот по кредиту -234 г/ц.
9 NDN
 
30.01.12
12:30
10 n koretsky
 
30.01.12
12:30
"извините, не подскажите, сколько сейчас градусов ниже нуля?" (с) "Операция "Ы"
11 Wobland
 
30.01.12
12:30
ждём ветку "астрологический прогноз в 1С"
12 Vovka-x13
 
30.01.12
12:31
Продажники раньше делали отчет в екселе теперь в 1С-ке хотят, там есть связь погодой. Вот обдумываю как же мне получить погоду, в принцапи есть вариант чтобы они её руками вбивали, но хочется чтобы сама грузилась.
13 ПульсЪ
 
30.01.12
12:31
тема пошла на ура) за 2 минуты 10 сообщений)
14 jsmith82
 
30.01.12
12:31
(6) ага, обещают, в новом релизе ошибок не будет
15 Wobland
 
30.01.12
12:32
покажите срочно мне погоду в эксель!!
16 pwei
 
30.01.12
12:32
(0) веб-сервисами. гугл, гисметео..
17 ПульсЪ
 
30.01.12
12:34
18 ПульсЪ
 
30.01.12
12:34
ну а там допили сам под регистр)
19 Lama12
 
30.01.12
12:35
(12) Это продажники захотели, чтобы она грузилась?
Если нет, не предлагай. Потом что ни будь не сработает, виноват будешь ты.
20 Jaffar
 
30.01.12
12:35
(12) одно дело - прогноз вперед (гисметое, метеоцентр), а другое дело - загрузить историю за прошедшие периоды...
21 ПульсЪ
 
30.01.12
12:36
а вот типа МФУ http://infostart.ru/public/59672/ ))))))
22 Vovka-x13
 
30.01.12
12:37
Надеюсь, им прогноз на будующее не понадобиться. Им требуется история погоды, а они анализируют продажи с учетом погоды
23 ErrorEd88
 
30.01.12
12:37
Зачем погоду грузить в 1с, был человек, кто футбольные матчи грузил - вот это разработка.
24 ПульсЪ
 
30.01.12
12:37
хД
25 Wobland
 
30.01.12
12:38
(23) а об этом (21). информер надо только найти
26 ПульсЪ
 
30.01.12
12:38
дык приятно ж ) открываешь с утреца бухню, а там раз и информер че как по курсам, погоде
27 Смешной 1С
 
30.01.12
12:38
(0) Я делал, но не в регистр грузил, а текущий прогноз на форму выводил для конкретного города.


   HTTP = Новый HTTPСоединение("informer.gismeteo.ru/xml");
   HTTP.Получить("29634_1.xml", "D:\29634_1.xml");             //Новосибирск °C

Вот на сайте там название файлика по каждому городу свое. оттуда грузишь, а потом читаешь хмл. Там же на сайте написано, какое поле за что отвечает
28 Леха Дум
 
30.01.12
12:40
а погода нужна из архива или текущая?
если из архива, то можно дневник погоды от гисметео или http://meteo.infospace.ru
29 Vovka-x13
 
30.01.12
12:41
Если честно, они просто просили чтобы она выходила в отчете и чтоб её можно было вбивать. А чтоб она автоматом грузилась это уже я сам замутил, просто хочется что то замутить "эдакое" интересное....Надоело уже разгребать ошибки криворуких и безголовых пользователей....Задушил бы кого нибудь из них..)))))))))))
30 ПульсЪ
 
30.01.12
12:43
(29) оО куда вбивать, погоду?)) так.. что там у нас сеня.. +25 )
31 Vovka-x13
 
30.01.12
12:44
(29) да не погоду не правильно выразился, а температура их интересует на улице
32 ПульсЪ
 
30.01.12
12:44
доброе утро понедельниГ)
33 Godofsin
 
30.01.12
12:45
(29) Замути расчет расчет трассировки спутника на 1с. Вот это будет "эдакое".
34 Смешной 1С
 
30.01.12
12:48
(31) Ну вот как я в (27) написал, там из файла XML как раз и температуру можно получить:


       Если ЧтениеXML.Имя = "TEMPERATURE" Тогда              
           Если ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда
               Пока ЧтениеXML.ПрочитатьАтрибут() Цикл
                       Если ЧтениеXML.Имя = "max"Тогда
                           Температура = ЧтениеXML.Значение + "..";
                           Продолжить;
                       КонецЕсли;
                       
                       Если ЧтениеXML.Имя = "min"Тогда
                           Температура = Температура + ЧтениеXML.Значение + " °C";
                           Продолжить;
                       КонецЕсли;

               КонецЦикла;
           КонецЕсли;
           
           Продолжить;
       КонецЕсли;
35 Леха Дум
 
30.01.12
12:48
(30) типа себя показать, людей посмотреть? есть что по делу?
Задача вполне типичная и востребованная
36 ПульсЪ
 
30.01.12
12:48
напиши ИИ на 1С, что б сама зп считала, бухню всю, обзванивала клиентов) вот это будет "эдакое" )
37 ПульсЪ
 
30.01.12
12:48
(35) я уже отписался по делу
38 Vovka-x13
 
30.01.12
12:50
(36) "эдакое" пределах разумного...
39 ПульсЪ
 
30.01.12
12:51
понимаю) сам люблю всякую дурь в 1С )
40 Godofsin
 
30.01.12
12:52
(36) это будет огромные бабки + куча уволенного народа. Его убьют, однозначно.
41 Jaffar
 
30.01.12
12:52
(29) база распределенная? как будешь определять, в каком городе работает юзер, запустивший анализ продаж по погоде?
42 Леха Дум
 
30.01.12
12:52
Вот кусок кода:

Если НачалоПериода = '00010101' Тогда
           НачалоПериода = КонецПериода;
       КонецЕсли;
       
       ТЗ = Новый ТаблицаЗначений();
       ТЗ.Колонки.Добавить("Период",        Новый ОписаниеТипов("Дата"));
       ТЗ.Колонки.Добавить("Город",        Новый ОписаниеТипов("СправочникСсылка.Город"));
       ТЗ.Колонки.Добавить("Температура",    Новый ОписаниеТипов("Число"));
       ТЗ.Колонки.Добавить("Характер",        Новый ОписаниеТипов("ПеречислениеСсылка.ХарактерПогоды"));
       
       ОбработкаПолученияФайлов = Обработки.ПолучениеФайловИзИнтернета.Создать();
       
       Если Сайт = Перечисления.ПогодныеСайты.MeteoInfospaceRu Тогда
           СерверИсточник = "meteo.infospace.ru";
       ИначеЕсли Сайт = Перечисления.ПогодныеСайты.GismeteoRu Тогда
           СерверИсточник = "gismeteo.ru";
       Иначе    
           Возврат;
       КонецЕсли;
       
       Если Константы.ИспользоватьПроксиСервер.Получить() Тогда
           Прокси = Новый ИнтернетПрокси(Истина);
           ПроксиСервер = Константы.ПроксиСервер.Получить();
           ПортПрокси = Константы.ПортПроксиСервера.Получить();
           Если Не ПустаяСтрока(ПроксиСервер) Тогда
               Прокси.Установить("http", ПроксиСервер, ПортПрокси);
               HTTP = Новый HTTPСоединение(СерверИсточник,,,, Прокси);
           КонецЕсли;
       Иначе
           HTTP = Новый HTTPСоединение(СерверИсточник);
       КонецЕсли;
       
       ВремКаталог = КаталогВременныхФайлов() + "tempWeather";
       СоздатьКаталог(ВремКаталог);
       УдалитьФайлы(ВремКаталог,"*.*");
       
       ДатаССтрока = Строка(Формат(НачалоПериода, "ДФ=yyyy-MM-dd"));
       ДатаПоСтрока = Строка(Формат(КонецПериода, "ДФ=yyyy-MM-dd"));
       
       Выборка = Результат.Выбрать();
       
       Если Сайт = Перечисления.ПогодныеСайты.MeteoInfospaceRu Тогда
           
           ЧтениеТекста = Новый ЧтениеТекста;
           
           Пока Выборка.Следующий() Цикл
               
               СтрокаПараметраПолучения = "win/wcarch/cgi/wca_export_data.pl/stn" + Формат(Выборка.НомерСтанции, "ЧГ=0")
                                       + "_" + ДатаССтрока + "_" + ДатаПоСтрока + ".txt?stn_id=" + Формат(Выборка.КодНаселенногоПункта, "ЧГ=0")
                                       + "&start_date=" + ДатаССтрока + "&stop_date=" + ДатаПоСтрока + "&numdays=&zip=0&header=0&debug=0&russian=1";
                                       
               ИмяВходящегоФайла = ВремКаталог + "\" + Формат(Выборка.НомерСтанции, "ЧГ=0") + ".txt";
               Если ОбработкаПолученияФайлов.ЗапроситьФайлыССервера(СерверИсточник, СтрокаПараметраПолучения, ИмяВходящегоФайла, HTTP) <> Истина Тогда
                   ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Не удалось получить ресурс для города " + Выборка.ГородПредставление + "). Погода не загружена за период " + ДатаССтрока + " по " + ДатаПоСтрока);
                   Продолжить;
               КонецЕсли;

               ВходящийФайл = Новый Файл(ИмяВходящегоФайла);
               Если НЕ ВходящийФайл.Существует() Тогда
                   ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Не удалось получить ресурс для города " + Выборка.ГородПредставление + "). Погода не загружена за период " + ДатаССтрока + " по " + ДатаПоСтрока);
                   Продолжить;
               КонецЕсли;    

               ЧтениеТекста.Открыть(ИмяВходящегоФайла, "windows-1251");
               
               СтрокаТекста = ЧтениеТекста.ПрочитатьСтроку();
               Пока СтрокаТекста <> Неопределено Цикл
                   
                   Если Найти(СтрокаТекста, "12:00") Тогда
                       СтрокаТекста = СтрЗаменить(СтрокаТекста, ",", Символы.ПС);
                       НовСтрока = ТЗ.Добавить();
                       НовСтрока.Город = Выборка.Город;
                       СтрокаДаты = СтрПолучитьСтроку(СтрокаТекста, 1);
                       НовСтрока.Период = Дата(Сред(СтрокаДаты, 1, 4), Сред(СтрокаДаты, 6, 2), Сред(СтрокаДаты, 9, 2));
                       НовСтрока.Температура = Число(СтрПолучитьСтроку(СтрокаТекста, 15));
                       //Видимость = СтрПолучитьСтроку(СтрокаТекста, 17);
                       ПогодныеУсловия = СтрПолучитьСтроку(СтрокаТекста, 18);
                       ПогодныеУсловия = ?(ПустаяСтрока(ПогодныеУсловия), 0, Число(ПогодныеУсловия));
                       Если (НовСтрока.Температура<8 И (ПогодныеУсловия >= 70 И ПогодныеУсловия < 80)) Или (НовСтрока.Температура<0 И ПогодныеУсловия > 40) Тогда
                           НовСтрока.Характер = Перечисления.ХарактерПогоды.Снег
                       ИначеЕсли ПогодныеУсловия < 20 Тогда
                           НовСтрока.Характер = Перечисления.ХарактерПогоды.Солнечно;
                       ИначеЕсли ПогодныеУсловия < 40 Тогда
                           НовСтрока.Характер = Перечисления.ХарактерПогоды.ПеременнаяОблачность;
                       Иначе    
                           НовСтрока.Характер = Перечисления.ХарактерПогоды.Дождь;
                       КонецЕсли;                            
                   КонецЕсли;
                   
                   СтрокаТекста = ЧтениеТекста.ПрочитатьСтроку();
               КонецЦикла;

           КонецЦикла;
           
           ЧтениеТекста.Закрыть();

обработка ПолучениеФайловИзИнтернета существует в типовых от 1С, остальное допилишь
43 Смешной 1С
 
30.01.12
12:53
(41) Можно в настройках юзера при необходимости указывать. Это не проблема вообще
44 Ковычки
 
30.01.12
12:53
Перезагрузка погоды
45 Jaffar
 
30.01.12
12:54
(43) да понятно, что в данном контексте - это не самая большая проблема.
46 ПульсЪ
 
30.01.12
12:55
(41) можно с http://2ip.ru/ цеплять так же xml
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс