logo
logo

Форум Универсальный плагин загрузки курсов

создать новую тему раскрыть все
Универсальный плагин загрузки курсов Дим(м) 15/10/2007 12:33 #написать ответ
Вот, получился у меня такой плагин.
Источники настраиваются с помощью регулярных выражений и специальных макросов. Так что теперь не нужно программировать, если понадобится добавить новый или исправить существующий после изменений на сайте.
В качестве примера, в дистрибутив включены настройки для загрузки курсов со страниц национальных банков России, Беларуси и Украины.
 
Hint 1: Загружать не обязательно денежные курсы - это могут быть котировки любых других "валют": бензина, золота, акций, паев - чего угодно.
Hint 2: Поскольку настройка выполняется в обычном тексте, своими конфигурациями можно делиться прямо в этой ветке форума, например.
 
На прошлой неделе отправил его Dervish-у, но пока так и не получил ответа. Так что выкладываю его пока здесь.
Адрес e-mail для обратной связи см. в readme.txt
http://rapidshare.com/files/62659081/UniRates_1.0.zip.html
i-Folder please Muhh 15/10/2007 13:00 #написать ответ
рапида это ж кошмар
пожалуйста Дим(м) 15/10/2007 13:05 #написать ответ
http://ifolder.ru/3739658
Вот за такое... zeus 16/10/2007 06:12 #написать ответ
спасибочки огромное.
Будем тестить.
А что юникодом? Это лечится? (-) zeus 16/10/2007 19:30 #написать ответ
Я написал про это Dervish-у... Дим(м) 16/10/2007 21:16 #написать ответ
Хотелось бы знать, есть ли возможность решить эту проблему средствами самого AbilityCash (не зря ведь написано на странице загрузки, что она поддерживает юникод).
Но даже если такой возможности нет, можно будет попытаться решить это в самом плагине: определять UTF-8 и преобразовывать его в кодировку по-умолчанию. Но на этом пути много всяких вопросов. Например, совместимость с Win95.
 
В общем, ждем, что ответит автор.
Есть решение! Дим(м) 17/10/2007 01:18 #написать ответ
Для ресурсов в UTF-8 нужно указать Codepage=65001
 
Но по какой-то причине AbilityCash распространяет это значение не только на сам загружаемый ресурс, но и на все строки, возвращаемые плагином.
Так что для правильного отображения названия ресурса убедитесь, что сам UniRates.ini сохранен в UTF-8 - Save As в блокноте на WinXP+ и в выпадающем списке выбрать UTF-8. После этого нужно аккуратно удалить в файле 3 символа в самом начале, перед [main]. Иначе настройки не будут загружаться совсем.
В общем, решение не из самых простых.
или воспользоваться нормальным... Loki 17/10/2007 10:44 #написать ответ
редактором и сохранить "UTF without BOM"
Вот здесь... Дим(м) 17/10/2007 14:03 #написать ответ
.. можно загрузить исправленый файл настроек: http://ifolder.ru/3768716
Для переключения источника в нем достаточно только исправить ActivePreset=... И никакой возни с кодировками.
 
P.S. Часть настроек (для украинского банка) сохранена в UTF-8. В то время, как остальные - в CP1251. При добавлении новых источников нужно следить, чтобы кодировка страницы соответствовала кодировке секции с описанием источника.
Супер, все работает. (-) zeus 18/10/2007 15:35 #написать ответ
Настройки для паев Алхимик 19/10/2007 07:56 #написать ответ
Подскажите, пожалуйста, как настроить плагин для получения ставок ПИФов:
http://www.fdu.ru/funds/first_fund00002/default.asp Финам Первый
http://www.maxwell.ru/unit-investment-trust/open-unit-funds/maxwell-capital/share-cost.aspx Максвелл Капитал
http://www.pioglobal.ru/Common/index.aspx?txt=134&mmi=7&smi=3&f=3 ПИО Глобал
 
У меня не получилось Список значений пуст.
Дело в том... Дим(м) 19/10/2007 15:38 #написать ответ
.. что сейчас и сама программа, и плагин расчитаны на загрузку курсов сразу нескольких валют за указанную дату (сравните: курсы указанного пая сразу за несколько дат).
 
И потому в списке отображаются пустые строки - плагину просто неоткуда извлечь названия и коды "валют". Сами же данные реально загружаются. Чтобы убедиться в этом, нужно отметить в списке галочками несколько "пустых" строк, завершить импорт, а потом посмотреть курсы валют.
 
В следующей версии я попытаюсь предусмотреть возможность статически (в файле настроек) указывать код и название пая для таких случаев.
А пока вам остается только попробовать найти страницу, где будут собраны курсы сразу нескольких паев - тогда там будут и их названия, и их можно будет извлекать в плагине.
 
Также хочу обратить внимание, что курс в программе задается 2 значениями: номиналом в одной и во второй валюте. Таким образом, для паев одно значение, как я понимаю, всегда будет 1 рубль, а второе - цена пая(?). Для СЧА места не остается.
Также есть вероятность, что AbilityCash будет игнорировать записи о курсах, не попадающие в диапазон, выбраный в начале импорта. Кроме того, в случае настроек, вроде "на каждый день", одна и та же страница будет загружаться несколько раз.
Новая версия с поддержкой паев Дим(м) 20/10/2007 02:04 #написать ответ
В этой версии улучшена поддержка загрузки информации о стоимости паев. Подробности см. в readme.txt
Также в дистрибутив включены примеры настроек для упомянутых выше паев "Финам Первый" и "Максвелл Капитал".
С ПИО Глобал, к сожалению, ничего не получилось - информация становится доступной после нажатия на кнопку на странице, и добраться до нее по "прямой ссылке" возможности нет.
 
Дистрибутив можно скачать здесь: http://ifolder.ru/3803266
 
Также хочу добавить, что никакой пост-фильтрации по датам AbilityCash не осуществляет. Так что стоимости паев будут загружены для всех имеющихся на странице дат, независимо от настроек диапазона выборки в AbilityCash.
И еще хотелось бы исправиться: одна и та же страница не будет загружаться несколько раз - AbilityCash отслеживает и предупреждает подобные ситуации.
Спасибо! Алхимик 22/10/2007 13:47 #написать ответ
Скачал файл, все работает отлично!  
Большое спасибо.
 
А ПИО Глобал буду загружать вручную.
А если передавать заголовки? Loki 22/10/2007 14:06 #написать ответ
>информация становится доступной после нажатия на кнопку на странице
можно ведь передать параметры и постом... правда, есть подозрение что они еще проверяют идентификатор формы.
Плагин сам не отправляет запросы Дим(м) 22/10/2007 16:11 #написать ответ
А AbilityCash, очевидно, использует GET.
И, как я ни пробовал передавать параметры через GET, ничего у меня так и не вышло.
стоимости паёв... Li Si Cin 23/10/2007 19:40 #написать ответ
в т.ч. ПИО Глобал можно попробовать скачивать с сайта http://pif.investfunds.ru/
Например, строка для закачки всех стоимостей паев ПИО Глобал Фонд Акций за 2007 год имеет вид
http://pif.investfunds.ru/quotes/index.phtml?f2%5b0%5d=64&export=2&start_day=01&start_month=01&start_year=2007&finish_day=31&finish_month=12&finish_year=2007
Единственная загвоздка, что такая строка в IE сразу Excel запускает - наверно для плагина это будет неприемлемо.
Но, в любом случае, рекомендую рассмотреть возможность загрузки с этого сайта. Там хоть и с некоторой задержкой информация появляется, зато по всем, вроде бы, фондам
URL Алхимик 29/10/2007 10:10 #написать ответ
Можно использовать  
http://pif.investfunds.ru/quotes/index.phtml?f2%5b0%5d=64&amp;<B>rtable=2</B>&amp;start_day=01&amp;start_month=01&amp;start_year=2007&amp;finish_day=31&amp;finish_month=12&amp;finish_year=2007
Тогда получается страница.  
Сейчас буду настраивать плагин.
Настройки Алхимик 29/10/2007 10:35 #написать ответ
Кто придумает как загружать значения, напишите, пожалуйста. У меня не получается пока. Слабо знаком с регулярными выражениями
Как-то так.. Дим(м) 29/10/2007 15:10 #написать ответ
[investfunds.ru]
Name=ПИО Глобал
Server=pif.investfunds.ru
PageURL=/quotes/index.phtml?f2[0]=64&amp;rtable=2&amp;start_day=%dd%&amp;start_month=%mm%&amp;start_year=%yyyy%&amp;finish_day=%dd%&amp;finish_month=%mm%&amp;finish_year=%yyyy%
EstimatedPageSize=35000
HomeCurrencyCode=RUR
HomeCurrencyName=российский рубль
OtherCurrencyCode=PIOg
OtherCurrencyName=ПИО Глобал
Prologue=class=black12
Record=markColor.*?&lt;td&gt;(?&lt;day&gt;\d+)\.(?&lt;month&gt;\d+)\.(?&lt;year&gt;\d+)&lt;.*?right&gt;(?&lt;value1&gt;.*?)&lt;
Epilogue=&lt;\/table&gt;
 
Только у меня при этом почему-то при выборе "на каждый понедельник" загружаются цены только за 01.10 и 08.10. Хотя, поиск по загруженным вручную файлам за 15.10 и 22.10 проходит успешно.
Наверное, где-то баг (есть версия, что это как-то связано с ведущим ноликом). Посмотрю вечером..
для Dervish-а (+) Дим(м) 29/10/2007 17:23 #написать ответ
Похоже, со стороны плагина все в порядке.
Вот какой у меня получился лог:
1) построение адресов ресурсов:
&lt;&lt; 1-10-2007
&gt;&gt; /quotes/index.phtml?f2[0]=64&amp;rtable=2&amp;start_day=01&amp;start_month=10&amp;start_year=2007&amp;finish_day=01&amp;finish_month=10&amp;finish_year=2007
&lt;&lt; 8-10-2007
&gt;&gt; /quotes/index.phtml?f2[0]=64&amp;rtable=2&amp;start_day=08&amp;start_month=10&amp;start_year=2007&amp;finish_day=08&amp;finish_month=10&amp;finish_year=2007
&lt;&lt; 15-10-2007
&gt;&gt; /quotes/index.phtml?f2[0]=64&amp;rtable=2&amp;start_day=15&amp;start_month=10&amp;start_year=2007&amp;finish_day=15&amp;finish_month=10&amp;finish_year=2007
&lt;&lt; 22-10-2007
&gt;&gt; /quotes/index.phtml?f2[0]=64&amp;rtable=2&amp;start_day=22&amp;start_month=10&amp;start_year=2007&amp;finish_day=22&amp;finish_month=10&amp;finish_year=2007
&lt;&lt; 29-10-2007
&gt;&gt; /quotes/index.phtml?f2[0]=64&amp;rtable=2&amp;start_day=29&amp;start_month=10&amp;start_year=2007&amp;finish_day=29&amp;finish_month=10&amp;finish_year=2007
 
2) извлечение значений из ресурсов:
-- 1-10-2007
== 1-10-2007 - 45604900
-- 8-10-2007
== 8-10-2007 - 47628800
-- 15-10-2007
== 1-10-2007 - 45604900
-- 29-10-2007
== 8-10-2007 - 47628800
-- 22-10-2007
== 8-10-2007 - 47628800
Так было на 213 сборке (15 -&gt; 1, 29 -&gt; 8, 22-&gt; . На 214 стало так (15 -&gt; 1, 22 -&gt; 1, 29 -&gt; :
-- 1-10-2007
== 1-10-2007 - 45604900
-- 15-10-2007
== 1-10-2007 - 45604900
-- 8-10-2007
== 8-10-2007 - 47628800
-- 22-10-2007
== 1-10-2007 - 45604900
-- 29-10-2007
== 8-10-2007 - 47628800
 
Дату я сохраняю в dwContext, поэтому когда приходит запрос FetchRates, можно определить, какой ресурс будет обрабатываться. Но при этом в самом ресурсе находятся данные за другую дату. И это не ошибка парсинга даты - значения курсов тоже соответствуют этим датам.
Единственное подозрение - cookies/session, из-за которых по какой-то причине загружаются не те страницы.
Прямой _одиночный_ запрос wget с адресом страницы возвращает правильное содержимое. А вот запрос сразу группы ссылок через wget -i links сохраняет во все файлы данные за одну и ту же (первую в списке) дату.
Кстати, из этого следует, что в AbilityCash используется 2 потока для загрузки ресурсов.
А пока проблема решается... Дим(м) 29/10/2007 18:53 #написать ответ
... можно использовать вот такой обходной вариант с опцией "на начало каждого месяца":
 
[investfunds.ru]
Name=ПИО Глобал
Server=pif.investfunds.ru
PageURL=/quotes/index.phtml?f2[0]=64&amp;rtable=2&amp;start_day=%dd%&amp;start_month=%mm%&amp;start_year=%yyyy%&amp;finish_day=31&amp;finish_month=%mm%&amp;finish_year=%yyyy%
EstimatedPageSize=50000
HomeCurrencyCode=RUR
HomeCurrencyName=российский рубль
OtherCurrencyCode=PIOg
OtherCurrencyName=ПИО Глобал
Prologue=class=black12
Record=markColor.*?&lt;td&gt;(?&lt;day&gt;\d+)\.(?&lt;month&gt;\d+)\.(?&lt;year&gt;\d+)&lt;.*?right&gt;(?&lt;value1&gt;.*?)&lt;
Epilogue=&lt;\/table&gt;
 
При этом в базу будут загружены цены за весь выбраный месяц, а не только за 1-е число.
Обратите внимание, что попытка загрузить цены сразу за несколько месяцев будет неудачной все по той же причине - последующие запросы ресурса в AbilityCash будут получать те же самые данные.
 
Чтобы загрузить данные сразу за весь год нужно использовать следующие настройки:
 
[investfunds.ru]
Name=ПИО Глобал
Server=pif.investfunds.ru
PageURL=/quotes/index.phtml?f2[0]=64&amp;rtable=2&amp;start_day=01&amp;start_month=01&amp;start_year=%yyyy%&amp;finish_day=31&amp;finish_month=12&amp;finish_year=%yyyy%
EstimatedPageSize=150000
HomeCurrencyCode=RUR
HomeCurrencyName=российский рубль
OtherCurrencyCode=PIOg
OtherCurrencyName=ПИО Глобал
Prologue=class=black12
Record=markColor.*?&lt;td&gt;(?&lt;day&gt;\d+)\.(?&lt;month&gt;\d+)\.(?&lt;year&gt;\d+)&lt;.*?right&gt;(?&lt;value1&gt;.*?)&lt;
Epilogue=&lt;\/table&gt;
 
При этом, очевидно, из настроек диапазона дат в AbilityCash будет использоваться только значение года.
Спасибо, работает :) (-) Алхимик 30/10/2007 08:22 #написать ответ
про другие паевые фонды Li Si Cin 30/10/2007 11:38 #написать ответ
Кстати, для тех, кто не догадался еще ,параметр <B>f2[0]=64</B> в строке url - это как раз указание на фонд акций Пио Глобал.
Для ПиоГлобал Фонд облигаций он равен <B>65</B>, для ПиоГлобал Фонд сбалансированный - <B>13</B>...
 
Хотел написать это к тому, что программист из меня неважнецкий, к сожалению, но смею предположить, что, наверно, не особо сложно было бы модифицировать уважаемому <B>Дим(м)</B> свой плагин, чтобы с его помощью пользователь мог загрузить стоимости паёв любого из представленных на сайте pif.investfunds.ru фондов.
Т.е. видилось 2 варианта: отличный - когда обновленный список фондов формируется каждый раз при запуске плагина (им самим), не очень... отличный , когда файл настроек плагина будет сформирован чем-нибудь типа макросом 1 раз и сразу для всех фондов.
 
Но сейчас подумал о том, что пользователю вряд ли будет легко выбрать нужный фонд (их сейчас около 1000) из такого списка, поэтому предлагаю ему - пользователю - такой алгоритм:
1) заходим на http://pif.investfunds.ru/funds/index.phtml
2) выбираем нужный фонд, например "1-й Денежный Фонд"
3) последние цифры в строке его url - это и есть его номер (54
4) добавляем в файл настроек плагина строки
[investfunds.ru]  
Name= <B>1-й Денежный Фонд (УК Премьер Эссет Менеджмент)</B>
Server=pif.investfunds.ru  
PageURL=/quotes/index.phtml?f2[0]=<B>548</B>&amp;rtable=2&amp;start_day=%dd%&amp;start_month=%mm%&amp;start_year=%yyyy%&amp;finish_day=%dd%&amp;finish_month=%mm%&amp;finish_year=%yyyy%  
EstimatedPageSize=35000  
HomeCurrencyCode=RUR  
HomeCurrencyName=российский рубль  
OtherCurrencyCode=<B>код паёв в AbilityCash, например FMF (First Money Fond)</B>  
OtherCurrencyName=<B>название "валюты", например "Паи 1-го Денежного Фонда </B>  
Prologue=class=black12  
Record=markColor.*?&lt;td&gt;(?&lt;day&gt;\d+)\.(?&lt;month&gt;\d+)\.(?&lt;year&gt;\d+)&lt;.*?right&gt;(?&lt;value1&gt;.*?)&lt;  
Epilogue=&lt;\/table&gt;
Доступ к данным стал платным... Mark 14/12/2008 14:57 #написать ответ
Доступ к данным на investfunds.ru стал платным . Откуда еще можно тянуть данные?
я догадывался :) Li Si Cin 30/10/2007 11:42 #написать ответ
что можно получать результат в таком виде, но терпения не хватило отыскать этот способ.
Спасибо!
Замечательный плагин. Dervish 23/10/2007 11:55 #написать ответ
Я перенес плагин на сайт программы, вот ссылка для скачивания: http://www.dervish.ru/download/UniRates.zip. Обратите внимание, я сознательно удалил номер версии из загружаемого файла. Так будет удобнее для пользователей потому что с выходом обновлений плагина адрес для загрузки будет оставаться неизменным.
Эх! Li Si Cin 30/10/2007 19:20 #написать ответ
Подозреваю, что так и есть - плагин очень нужный!
Жаль только у меня ни Ваша ни данная загрузка не срабатывает Процесс отображается, но в итоге - ни одной новой строки.
Может это из-за того, что у нас на здесь Firewall стоит?
 
И еще. Можно ли в будущем сделать возможность построения графиков нескольких валют одновременно, в т.ч. относительного изменения? При сравнении динамики изменения паев разных фондов - очень полезная фишка была бы
Когда ничего уже не помогает Дим(м) 30/10/2007 20:09 #написать ответ
Можно попробовать использовать вот такой, не самый простой вариант.
 
1. My Computer &gt; Properties &gt; Advanced &gt; Environment Variables - добавить в System Variables новую переменную с именем http_proxy и значением, вроде proxy:8080
 
2. Загружать страницу с ресурсом на компьютер командой wget -o C:\www\rates.html http://example.com/rates.php?...
Делать это каждый раз вручную быстро надоест. Поэтому имеет смысл запускать загрузку автоматически по расписанию (Control Panel &gt; Scheduled Tasks). Кроме того, в адрес ресурса, скорее всего, надо подставлять дату. Если с этим нужна помощь, могу рассказать, как это можно было бы сделать.
 
3. Дальше устанавливаем локальный HTTP-сервачок. Например, вот этот: http://www.karjasoft.com/samihttp и указываем ему на наш загруженный файлик: C:\www\rates.html
 
4. Настраиваем плагин:
Server=localhost
PageURL=rates.html
 
5. Запускаем импорт в AbilityCash
 
Как-то вот так. Сам я, скажу сразу, такого не пробовал. Но, мне кажется, должно получиться.
Загружать по расписанию можно данные сразу из нескольких источников, указав разные имена файлов. В имена файлов можно также вставлять даты (если, вдруг, это нужно). HTTP-сервер, очевидно, можно запускать перед самым импортом и закрывать сразу после.
 
В общем, если с какими-то шагами выше нужна помощь, пишите, помогу.
 
Блин, написал все это и тут вспомнил, что AbilityCash, вроде, и сам берет настройки прокси из IE. Ну не удалять же теперь. Вдруг, кого-нть на толковую идею натолкну, как проблему решить.
Видимо, беда с Firewall. Dervish 07/02/2008 17:40 #написать ответ
Точнее, в том, что программа не обрабатывает его. У нас на работе тоже установлен firewall и, как выяснилось (я всегда из дома загружал курсы), тоже не работает. Я попробую найти в чем причина, возможно что смогу заставить работать загрузку.
Как Вы узнали, что ЦБ представляет StarS 25/10/2007 20:30 #написать ответ
данные по курсам в XML формате на странице
www.cbr.ru/scripts/XML_daily.asp?date_req=01/%mm%/%yyyy%&amp;d=1 ?
 
Ведь если осуществлять навигацию по сайту ЦБ в поиске курсов, то получаем
обычную html страницу :
http://www.cbr.ru/currency_base/daily.asp?C_month=10&amp;C_year=2007&amp;date_req=01%2F10%2F2007
Не помню :)) Dervish 25/10/2007 21:05 #написать ответ
Где-то у них на сайте было написано. Там есть и другие сервисы, просто поищите по серверу строку xml.
у них там есть раздел для... Loki 26/10/2007 12:15 #написать ответ
...веб мастеров. Только вот используя стандартную навигацию туда хрен попадешь - только через поиск
Пример Снусмумрик 05/11/2007 08:35 #написать ответ
Кому-нибудь может пригодится.
Настройка на паевые фонды КИТ-Финанс.
Для примера фонд "Российская энергетика"
 
[KIT.RusEnergy]
Name=Фонд "Российская Электроэнергетика"
Server=www.kfim.com
PageURL=/ru/cost_datasheet/?date_from_day=%dd%&amp;date_from_month=%mm%&amp;date_from_year=%yyyy%&amp;date_til_day=%dd%&amp;date_til_month=%mm%&amp;date_til_year=%yyyy%&amp;output=csv&amp;e=fund&amp;type=3&amp;ar=&amp;cur=&amp;act=export
EstimatedPageSize=1809
HomeCurrencyCode=RUR
HomeCurrencyName=российский рубль
OtherCurrencyCode=PFE
OtherCurrencyName=Пай РосЭнергетика
Prologue=
Record=Российская\\sэлектроэнергетика;(?&lt;day&gt;\\d+)\\.(?&lt;month&gt;\\d+)\\.(?&lt;year&gt;\\d+);.*?;(?&lt;value1&gt;.*+)
Epilogue=
DecimalSeparator=,
Исправлено (двойные слеши) Снусмумрик 05/11/2007 08:36 #написать ответ
[KIT.RusEnergy]
Name=Фонд "Российская Электроэнергетика"
Server=www.kfim.com
PageURL=/ru/cost_datasheet/?date_from_day=%dd%&amp;date_from_month=%mm%&amp;date_from_year=%yyyy%&amp;date_til_day=%dd%&amp;date_til_month=%mm%&amp;date_til_year=%yyyy%&amp;output=csv&amp;e=fund&amp;type=3&amp;ar=&amp;cur=&amp;act=export
EstimatedPageSize=1809
HomeCurrencyCode=RUR
HomeCurrencyName=российский рубль
OtherCurrencyCode=PFE
OtherCurrencyName=Пай РосЭнергетика
Prologue=
Record=Российская\sэлектроэнергетика;(?&lt;day&gt;\d+)\.(?&lt;month&gt;\d+)\.(?&lt;year&gt;\d+);.*?;(?&lt;value1&gt;.*+)
Epilogue=
DecimalSeparator=,
Золото кто-нибудь куверти 15/11/2007 22:48 #написать ответ
настраивал?
по поводу загрузки котировок драгме Сергей 24/11/2007 13:40 #написать ответ
С валютами и ПИФами плагин идет пробовал переделать на учетные цены на драгметаллы с того же СБ
не получается ,не появляются ни названия ни обозначение металлов и естествено цены.Может подскажите  
как переписать плагин.
Дайте адрес Дим(м) 27/11/2007 10:37 #написать ответ
... страницы, с которой пытаетесь получить информацию.
Страницы ЦБ по учетным ценам по дра Сергей 28/11/2007 10:23 #написать ответ
Страница ЦБ по драг.металлам
http://www.cbr.ru/scripts/xml_metall.asp?date_req1=10/01/2007&amp;date_req2=10/01/2007г.
или
http://www.cbr.ru/metall_base/New_dynamics.asp?date_req1=23%2F11%2F2007&amp;r1=1&amp;date_req2=23%2F11%2F2007&amp;C_month=11&amp;C_year=2007&amp;rt=0&amp;m1=1&amp;m2=1&amp;m3=1&amp;m4=1&amp;mode=1&amp;x=58&amp;y=10
Есть пока обходной вариант Дим(м) 28/11/2007 12:28 #написать ответ
Для работы с такими "транспонированными" матрицами курсов плагин надо несколько доработать.
Пока же я придумываю, как это сделать удобнее всего, можно остановиться на одном из следующих вариантов:
- смириться с тем, что валюта "золото" будет называться "1", "серебро" - "2" и т.д. - тогда совсем не сложно настроить импорт из XML по первой ссылке
- сделать отдельные настроки импорта для золота, серебра, платины - тогда, соответственно, импорт придется запускать 4 раза, чтобы получить в базе данные обо всех драгметаллах
- попытаться найти другой источник с более удобной структурой для импорта
 
Если нужна помощь с первыми двумя вариантами, дайте знать.
Новая версия плагина Дим(м) 28/11/2007 20:39 #написать ответ
Теперь плагин поддерживает возможность указания сразу нескольких шаблонов для одного источника.
Чуть подробнее их использование описано в readme.txt
В файл настроек включен готовый пресет для цен драгметаллов с сайта Центробанка России.
 
Скачать можно здесь: http://ifolder.ru/4339348
И еще одно обновление Дим(м) 29/11/2007 15:35 #написать ответ
Для стандартных форматов дат теперь можно использовать группу (?&lt;date&gt;...) вместо трех отдельных (?&lt;day&gt;...), (?&lt;month&gt;...), (?&lt;year&gt;...)
См. readme.txt и примеры настроек в UniRates.ini
 
Загрузить можно здесь: http://ifolder.ru/4348680
Ссылка на странице загрузки устарел Дим(м) 04/07/2008 20:22 #написать ответ
Ссылка на плагин на странице загрузки указывает на версию 1.2
Хорошо бы выложить на сайте последнюю версию 1.4 - http://ifolder.ru/4348680
 
@Dervish: И на будущее. Если будут еще какие-то изменения в плагине, каким образом лучше поддерживать ссылку в актуальном состоянии? Письмом?
Спасибо за ссылку. (+) Dervish 04/07/2008 21:44 #написать ответ
Плагин обновлен.
 
Пока лучше письмом. А на будущее есть сильное желание установить на сайте wiki и тогда ссылки можно будет поддерживать без моего участия.
Конфиг. для Молдовы (Нац.Банк) Захар 27/12/2007 17:42 #написать ответ
[main]
ActivePreset=bnm.org
 
[bnm.org]
Name=Национальный Банк Молдовы
Server=www.bnm.org
PageURL=/apps/ofexch_xml.jsp?lang=2&amp;data=%mm%/%dd%/%yyyy%
EstimatedPageSize=7000
HomeCurrencyCode=MDL
HomeCurrencyName=Молдавский Лей
Prologue=&lt;ValCurs.*?Date="(?&lt;month&gt;\d+)[/.](?&lt;day&gt;\d+)[/.](?&lt;year&gt;\d+)".*?&gt;
Record=&lt;Valute.*?&lt;CharCode&gt;(?&lt;code&gt;.*?)&lt;\/CharCode&gt;.*?&lt;Nominal&gt;(?&lt;value2&gt;.*?)&lt;\/Nominal&gt;.*?&lt;Name&gt;(?&lt;name&gt;.*?)&lt;\/Name&gt;.*?&lt;Value&gt;(?&lt;value1&gt;.*?)&lt;\/Value&gt;
Epilogue=&lt;\/ValCurs&gt;
DecimalSeparator=.
Codepage=1251
то же самое на Рапиде Захар 27/12/2007 17:44 #написать ответ
http://rapidshare.com/files/79403851/UniRates.ini.html
Настройка ПИФа. Mark 05/02/2008 14:00 #написать ответ
Подскажите можно ли настроить этот ПИФ? http://fonds.onvista.de/kurshistorie.html?ID_NOTATION=13054133&amp;RANGE=6M. Если можно тока как? Если нет то в каком виде нужны данные?
Как-то так Дим(м) 05/02/2008 15:31 #написать ответ
[onvista.de]
Name=OnVista.de - Allianz Global Investors
Server=fonds.onvista.de
PageURL=/kurshistorie.html?ID_NOTATION=13054133&amp;RANGE=6M
EstimatedPageSize=10000
HomeCurrencyCode=EUR
HomeCurrencyName=Euro
OtherCurrencyCode=KAG
OtherCurrencyName=Allianz Global Investors
Prologue=der KAG in EUR
Record=&lt;tr align="right"&gt;&lt;td&gt;(?&lt;day&gt;\d{2})\.(?&lt;month&gt;\d{2})\.(?&lt;year&gt;\d{2})&lt;/td&gt;&lt;td&gt;(?&lt;value1&gt;.*?)&lt;/td&gt;&lt;/tr&gt;
Epilogue=URL:
DecimalSeparator=,
 
Если я ничего не напутал с немецким.
Но, если что, подправить, думаю, будет не трудно
Работает :) Mark 05/02/2008 18:11 #написать ответ
Большое спасибо, все работает
Вопрос Mark 05/02/2008 18:23 #написать ответ
Теперь остатки на "счетах" я могу увидеть только в Евро, если указать другую валюту, то пересчет у ПИФов не производится, вместо них "???". Можно ли сделать пересчет этого ПИФа на рубли?
Похоже, что вам нужно Дим(м) 05/02/2008 19:17 #написать ответ
... просто загрузить курс евро к рублю в базу. Если я правильно понял суть проблемы.
 
Хотя, возможно, AbilityCash и не поддерживает "непрямых" пересчетов (ПИФ -&gt; евро -&gt; рубли).
Тогда придется экспортировать данные в Excel, рассчитать там кросс-курс ПИФ -&gt; рубли и импортировать все обратно.
Скорее всего не поддерживает Mark 05/02/2008 20:44 #написать ответ
непрямые пересчеты,т.к. все валюты я загрузил . А через экспорт-импорт все получилось .. спасибо .
Дим(м), еще раз о своей проблеме... Mark 20/04/2009 16:36 #написать ответ
У меня есть ПИФ номинированный в ЕВРО. Остатки на счете поэтому ПИФу я вижуто только в ЕВРО. В другой валюте отображаются "???". Тоже самое с Российскими ПИФами ... если остатки на счетах смотреть не в рублях, то будут "???".
 
Для решения данной проблемы нужен расчет курсов ПИФов к разным валютам.
 
Вот тут http://www.dervish.ru/forum.php?theme_id=1741&amp;forum_id=1 <strong class="bb"]Dervish</strong] писал как производится расчет кросс-курсов. Т.е. необходимо доработать универсальный плагин так, чтобы одновременно с закачкой стоимости ПИФа номинированного в ЕВРО, закачивался курс евро к рублю, после чего поставаить галку "расчитать кросс-курсы" и расчет будет произведен.
Ответ ушёл... Дим(м) 20/04/2009 17:52 #написать ответ
... в "специализированный" топик по вашей ссылке
Помогите плиз Mark 19/12/2008 23:10 #написать ответ
Помогите плиз настроить плагин на закачку котировок с nlu.ru c инвестфондз данные больше не тянутся
http://nlu.ru/fondinfo.htm?id=55
Вроде разобрался Mark 19/12/2008 23:41 #написать ответ
в регулярных выражениях ... может кому пригодится
[main]
ActivePreset=nlu.ru-alfa
 
[nlu.ru-alfa]
Name=Альфакапитал Индекс ММВБ
Server=nlu.ru
PageURL=/fondinfo.htm?id=55
EstimatedPageSize=150000
HomeCurrencyCode=RUR
HomeCurrencyName=российский рубль
OtherCurrencyCode=Alfa
OtherCurrencyName=Альфа ММВБ
Prologue=руб&lt;/td&gt;&lt;/tr&gt;
Record=class="menutextlink"&gt;(?&lt;date&gt;.*?)&lt;.*?nobr&gt;(?&lt;value1&gt;.*?)&lt;.*?td&gt;&lt;\/tr&gt;
Epilogue=&lt;\/table&gt;
DecimalSeparator=,
обновление Захар 11/02/2008 00:58 #написать ответ
сайт откуда скачиваются курсы был реконструирован...
вот новый конфиг:
 
[main]
ActivePreset=bnm.org
 
[bnm.org]
Name=Национальный Банк Молдовы
Server=www.bnm.org
PageURL=/en/official_exchange_rates?get_xml=1&amp;date=%dd%.%mm%.%yyyy%
EstimatedPageSize=7000
HomeCurrencyCode=MDL
HomeCurrencyName=Молдавский Лей
Prologue=&lt;ValCurs.*?Date="(?&lt;day&gt;\d+)[/.](?&lt;month&gt;\d+)[/.](?&lt;year&gt;\d+)".*?&gt;
Record=&lt;Valute.*?&lt;CharCode&gt;(?&lt;code&gt;.*?)&lt;\/CharCode&gt;.*?&lt;Nominal&gt;(?&lt;value2&gt;.*?)&lt;\/Nominal&gt;.*?&lt;Name&gt;(?&lt;name&gt;.*?)&lt;\/Name&gt;.*?&lt;Value&gt;(?&lt;value1&gt;.*?)&lt;\/Value&gt;
Epilogue=&lt;\/ValCurs&gt;
DecimalSeparator=.
Codepage=UTF-8
Вообще-то... Дим(м) 11/02/2008 01:26 #написать ответ
.. Codepage - это число. И для UTF-8 оно должно быть равно 65001. Кроме того, при использовании UTF-8 есть еще несколько "подводных камней" - см. подробности в readme.txt, а пример использования - в настройках [bank.gov.ua]
Помогите настроить шаблон zeus 08/05/2008 19:11 #написать ответ
Вот ссылка:  
http://www.privatbank.ua:8085/info/index1.stm?url=/info/ccyrate/rate.ssc&amp;typ=N&amp;dayValue=8&amp;monthValue=05&amp;yearValue=2008&amp;whichValue=P
 
Вот шаблон. Не работает он почему-то.
  
[main]
ActivePreset=pbank.ua
 
[pbank.ua]
Name=Приватбанк
Server=www.privatbank.ua:8085
PageURL=/info/index1.stm?url=/info/ccyrate/rate.ssc&amp;typ=N&amp;dayValue=%d%&amp;monthValue=%mm%&amp;yearValue=%yyyy%&amp;whichValue=P
EstimatedPageSize=42000
HomeCurrencyCode=UAH
HomeCurrencyName=Украинская гривня
Prologue=&lt;p align=left class=tbl&gt; Курс за (?&lt;date&gt;.*?)
Record=&lt;td class=text align="left"&gt;&amp;nbsp;(?&lt;code&gt;.*?)&lt;/td&gt;&lt;td class=text align="left"&gt;(?&lt;name&gt;.*?)&lt;/td&gt;&lt;td class=text align="right"&gt;(?&lt;value1&gt;.*?)&amp;nbsp;&lt;/td&gt;
Epilogue=&lt;a name=calcLabel&gt;
Проблема в том Дим(м) 08/05/2008 20:17 #написать ответ
... что AbilityCash может скачивать ресурсы только со стандартного http-порта 80
А страница, которая при этом скачивается с privatbank.ua, информации о курсах не содержит (там только инструкции перенаправления на порт 8085)
 
Кстати, на случай, если найдете способ это обойти, обратите внимание, что вам нужно использовать (?&lt;value2&gt;...) вместо value1. И, кроме того, после "Курс за (?&lt;date&gt;.*?)" следует добавить ограничитель: "\s*&lt;"
странно, но zeus 09/05/2008 00:06 #написать ответ
фаервол показывает, что запрос отсылается именно вида http://privatbank.ua:8085/...
 
Кстати, как посмотреть, какая страница скачиватся?
Например одать вот этот адрес Дим(м) 09/05/2008 03:52 #написать ответ
http://www.privatbank.ua/info/index1.stm?url=/info/ccyrate/rate.ssc&amp;typ=N&amp;dayValue=8&amp;monthValue=05&amp;yearValue=2008&amp;whichValue=P
 
какому-нть wget-у.
Там будет видно, что качается кусочек JavaScript-а, который перенаправляет запрос на 8085.
А AbilityCash, очевидно, такие "редиректы" не поддерживает.
у меня вот так работает minornick 18/03/2009 16:08 #написать ответ
[main]
 
ActivePreset=pbank.ua
 

 
[pbank.ua]
 
Name=Приватбанк
 
Server=www.privatbank.ua
 
PageURL=/info/index1.stm?url=/info/ccyrate/rate.ssc&amp;typ=N&amp;dayValue=%d%&amp;monthValue=%mm%&amp;yearValue=%yyyy%&amp;whichValue=P
 
EstimatedPageSize=42000
 
HomeCurrencyCode=UAH
 
HomeCurrencyName=Украинская гривня
 
Prologue=&lt;p align=left class=tbl&gt; Курс за (?&lt;date&gt;.*?)
 
Record=&lt;td class=text align="left"&gt;&amp;nbsp;(?&lt;code&gt;.*?)&lt;/td&gt;&lt;td class=text align="left"&gt;(?&lt;name&gt;.*?)&lt;/td&gt;&lt;td class=text align="right"&gt;(?&lt;value1&gt;.*?)&amp;nbsp;&lt;/td&gt;
 
Epilogue=&lt;a name=calcLabel&gt;
Спасибо Евгений 19/03/2009 13:07 #написать ответ
Вот бы еще как-нить подружить два курса от национального банка и от привата. В смысле иметь один за основной, а второй для статистики!
ну, пацак],[ 19/03/2009 23:33 #написать ответ
ты и завернул. Имею в виду, "для статистики!"
 
Ты хоть понимаешь, о чем говоришь?
 
Если курсы от привата именно те, с которыми он выходил на рынок или заявлял своим клиентам, - что толку с них. В них заложен интерес банка. Т.е., тебя
 
интересует статистика интереса привата. Что, она лучшая, или объективная?
 
Или по ней тренд интереса привата можно смотреть. Бред сивой кобылы.
 
Ну, а "подружить", - что среднее будешь брать или просто перемешать значения?
 
А почему бы тебе, дружище, свои курсы не сгенерить.
 
Будешь кайф от своих активов ловить ...
 
Короче, не майся. Используй курсы нацбанка.
 
Именно они самые "правильные". Доллар притянут за уши, а остальные курсы просчитаны по курсу евробанка/бундесбанка. Тоже фуфло, которое не отражает
 
реальное положение вещей, - спрос на каждую валюту в этой стране, объемы сделок, объемы экспорта в каждой валюте и пр., и пр.
 
Не удивительно, что он появляется, когда рабочий день заканчивется, ждут, собаки, когда европа свои курсы сгенерит к концу торгового дня, чтобы
 
бессовестно европейские курсы содрать. Вшколе сдирали, и сейчас продолжают.
 
Спасу нет от научноподобного жлобства.
 
Одним словом, курс нацбанка рулит, - и в обменке, и при выезде за границу,
 
и в налоговой. А про приват забудь, разве что поиграться с кривыми и трендами.
 
пацак, ... Игорь 26/03/2009 16:13 #написать ответ
может ты баксы продаешь/покупаешь по курсу нацбанка? А? Нацбанк в обменнике рулит, говоришь? Расскажи, будь другом, в каком таком обменнике?! Будем тоже бакс по курсу нацбанка покупать.
вот-вот, пацак],[ 26/03/2009 19:30 #написать ответ
именно так.
 
Вообще, не покупаю. Ни по какому курсу.
 
А если бы покупал, понятно, по курсу обменника.
 
И этот курс использовал бы как обменный курс в конкретной операции перевода. А вот прибыльность/убыточность этой операции считал бы
 
по отношению к официальному курсу нацбанка.
 
Но ты, осознанно или напротив, забыл уже о чем писал -
 
"В смысле иметь один за основной, а второй для статистики!".
 
А теперь горбатого лепишь об обменнике.
 
Еще раз повторяю именно для тебя.
 
Если поступать по принципу "дурак от мысли богатеет", то действительно, ты прав, надо брать "от привата", либо от обменника.
 
И тащиться от крутизны.
 
А если ты в бухгалтерии расчитываешься за загран-командировку, идешь в налоговую, платишь пошлину - только курс нацбанка и конает.
Дарова друг Евгений 08/04/2009 20:06 #написать ответ
тока заметил ответ.
 
Интересовал приват как пример реального межбанка - хочется иногда увидеть сколько у меня гривен получится, если обменять свои валютные резервы.
 
Ну а нацбанк - продавцы часто указывают цены в уе, а в гривнах по курсу нацбанка.
О курсах электронных валют Вадим Барсуков 22/08/2008 11:22 #написать ответ
Спасибо за замечательный плагин к восхитительной программе!
 
Вопрос такой. Делал ли кто-нибудь настройки для курсов "электронных валют": WebMoney (WMR, WMZ...), Yandex-Деньги и т.п.?
ругается антивирус Winyx 01/10/2008 13:23 #написать ответ
у меня на плагин ругается антивирус... пишет о наличии PAK_Generic.001
Похоже, ошибается ваш TrendMicro... Дим(м) 01/10/2008 14:51 #написать ответ
http://www.virustotal.com/analisis/913d94d0c8bd854a3e86f5e1a4a65eca
ага Winyx 01/10/2008 14:58 #написать ответ
ага у меня именно Trend Micro OfficeScan...
котировки акций Winyx 01/10/2008 17:01 #написать ответ
Кто-нибудь реализовал загрузку котировок акций с ММВБ? По-моему можно получать котировки с РБК (http://export.rbc.ru/expdocs/free.micex.0.shtml), но я не силен в регулярных выражениях...
Настройки для курсов акций ММВБ Дим(м) 18/02/2010 12:45 #написать ответ
Не так давно пришло письмо с просьбой помочь с этими настройками. Но на мой ответ до сих пор никакой реакции. То ли письмо моё в спам попало, то ли ещё какие проблемы с почтой.
Потому выкладываю настройки здесь.
 
Два варианта - выберите тот, который вам больше подходит.
 
[finmarket.ru]
Name=ММВБ КЦБ - Blue chips
PageURL=http://www.finmarket.ru//z/fmrt/d_mcxeq/default.asp
EstimatedPageSize=27000
HomeCurrencyCode=RUR
HomeCurrencyName=Российский рубль
Prologue=<tr align=right
Record=<td align=left><a.*?id=(?<code>.*?)" target=_blank>(?<name>.*?)</a>.*?<td>.*?<td>.*?<td>(?<value1>.*?)</td>.*?<td nowrap>(?<date>.*?) .*?</td>
Epilogue=</table>
 
Здесь в качестве кода валюты-акции будет указано что-то типа 4209, а названием будет "АВТОВАЗао".
Название вы можете редактировать на своё усмотрение. А вот код менять нельзя - иначе при последующих загрузках курсы будут путаться.
 
Второй вариант:
 
[finmarket.ru]
Name=ММВБ КЦБ - Blue chips
PageURL=http://www.finmarket.ru//z/fmrt/d_mcxeq/default.asp
EstimatedPageSize=27000
HomeCurrencyCode=RUR
HomeCurrencyName=Российский рубль
Prologue=<tr align=right
Record=<td align=left><a.*?>(?<code>.*?)</a>.*?<td>.*?<td>.*?<td>(?<value1>.*?)</td>.*?<td nowrap>(?<date>.*?) .*?</td>
Epilogue=</table>
 
Здесь "АВТОВАЗао" уже будет выступать в качестве кода "валюты", а название будет пустым (после первой загрузки вы можете отредактировать его на своё усмотрение).
 
Ещё одним недостатком, присущим обоим вариантам, является то, что в запросе никак нельзя указать дату. Т.е. при каждой загрузке будут загружаться курсы "на сегодня". И даже более того, "на сейчас". Но поскольку AbilityCash хранит только один курс на дату, повторная загрузка в один день, наверное, нежелательна.
Настройки: Центральный банк Армении Дим(м) 14/10/2008 16:38 #написать ответ
Возможно, кому-то пригодятся настройки для Центрального банка Армении:
 
[cba.am]
Name=Центральный банк Армении
Server=www.cba.am
PageURL=/CBA_SITE/currencyJSP/allCurrencies.jsp?__locale=en&amp;theDate=%dd%/%mm%/%yyyy%
EstimatedPageSize=42000
HomeCurrencyCode=AMD
HomeCurrencyName=Армянский драм
Prologue=&lt;!-- currencies start --&gt;
Record=rateContent1"&gt;(?&lt;code&gt;.*?)&lt;/td&gt;.*?class="rateNumber"&gt;(?&lt;value2&gt;.*?)&lt;/td&gt;.*?class="rateNumber"&gt;(?&lt;value1&gt;.*?)&lt;/td&gt;
Epilogue=&lt;!-- currencies end --&gt;
 
P.S. Названий национальных валют на странице нет. Поэтому их придется один раз ввести самостоятельно.
Настройки: Банк Латвии nja78 01/12/2008 13:37 #написать ответ
Возможно, кому-то пригодятся настройки для банка Латвии:
 
[bank.lv]
Name=Банк Латвии
Server=www.bank.lv
PageURL=vk/xml.xml?date=%yyyy%%mm%%dd%
EstimatedPageSize=2900
HomeCurrencyCode=LVL
HomeCurrencyName=Латвийский лат
Prologue=&lt;Currencies
Record=&lt;Currency.*?&lt;ID&gt;(?&lt;code&gt;.*?)&lt;\/ID&gt;.*?&lt;Units&gt;(?&lt;value2&gt;.*?)&lt;\/Units&gt;.*?&lt;Rate&gt;(?&lt;value1&gt;.*?)&lt;\/Rate&gt;
 
P.S. Названий национальных валют на странице нет. Поэтому их придется один раз ввести самостоятельно.
Премного благодарен Omh 02/12/2008 17:47 #написать ответ
.
Новая версия плагина: 1.6-special Дим(м) 02/08/2009 18:22 #написать ответ
Помимо косметических исправлений в формате файла настроек, добавлена принципиально новая возможность одновременной загрузки курсов из нескольких источников.
 
Это нужно для того, чтобы можно было средствами AbilityCash рассчитывать кросс-курсы между несколькими ресурсами (например, стоимость акций в EUR + курс EUR Нацбанка => стоимость акций в RUR)
 
Настройка новой возможности довольно непроста (см. multi-preset.txt). Поэтому использовать её рекомендуется только в случае острой необходимости.
 
Если вам это не нужно, то лучше остаться на версии 1.4
 
Как обычно, замечания и предложения пишите сюда или на ящик, указанный в readme.txt
 
Загрузить: http://drop.io/UniRates
ошибка gpv 02/08/2009 23:27 #написать ответ
У меня опять все те же проблемы. Ни в какую не хотят скачиваться курсы валют на каждый день.
 
Выбираю период с .. до.. (условно - месяц).
Кликаю в выпадающем списке на "на каждый день" и сразу же получаю стандартную ошибку винды:
 
Сигнатура проблемы:
  Имя события проблемы: APPCRASH
  Имя приложения: AbilityCash.exe
  Версия приложения: 2.0.0.217
  Штамп времени приложения: 4a65c877
  Имя модуля с ошибкой: ntdll.dll
  Версия модуля с ошибкой: 6.0.6002.18005
  Штамп времени модуля с ошибкой: 49e03821
  Код исключения: c0000005
  Смещение исключения: 000666ab
  Версия ОС: 6.0.6002.2.2.0.256.1
  Код языка: 1049
  Дополнительные сведения 1: 29ba
  Дополнительные сведения 2: 6bc301a23609b308a8eef85bd73d4152
  Дополнительные сведения 3: c40d
  Дополнительные сведения 4: 9612a697858cbe20dafd692622ac5e53
 
Операционка - Виста 32, СП2.
Сборка 217.
Плагин - 1.6 (скачан с официального сайта: http://drop.io/UniRates).
 
Заранее спасибо за советы
А можно подробнее? Дим(м) 02/08/2009 23:38 #написать ответ
Какие настройки пресета используете? Какие даты?
Я хотя бы попробую воспроизвести ситуацию у себя.
 
Висты у меня, правда, под рукой нет. Но если на моей ХР всё заработает, попробую найти и Висту.
Ну а если не заработает, буду искать и исправлять ошибку
 
(Если не хотите делиться деталями "прилюдно", напишите письмо.)
никакого секрета, собственно, нет. gpv 03/08/2009 17:16 #написать ответ
Даты - любые.
Вот сейчас попробовал:
Дата: 01.07.2009 - 30.07.2009
Период: на каждый день.
Сразу же вылетела ошибка.
 
Если дата 01.08.2009-03.08.2009, то ошибка появляется не сразу. То есть, я успеваю нажать кнопку "Далее", появляется бегунок загрузки и только потом выскакивает ошибка.
 
Настройки плагина - "из коробки", то есть скачал с сайта, записал в папку программы и запустил из AbilityCash комбинацией ^R.
Единственное, что поменял - указал свой банк (т.е. в начальной секции ini файла поменял cbr.ru на bank.gov.ua)
 
Причем подобная проблема проявляется в сборке 216 и 217 с обеими версиями плагина.
 
Спасибо за внимание к проблеме
Кажется, я знаю, в чём проблема Дим(м) 03/08/2009 18:12 #написать ответ
И как я мог такое пропустить?
Хотя, возможно, на более ранних версиях AC эта ошибка никак себя не проявляла.
 
Вечером попробую исправить и выложу новую версию.
Исправлена неприятная ошибка Дим(м) 04/08/2009 00:22 #написать ответ
В предыдущих версиях плагина была ошибка, из-за которой ресурсы в кодировке, отличной от 1251 (например, сайт Центробанка Украины), не могли загружаться нормально.
 
Теперь это должно быть исправлено.
 
Обновились и "обычная" и "специальные" версии.
Качайте 1.5.1 или 1.6.1-special здесь: http://drop.io/UniRates
к сожалению,... gpv 04/08/2009 01:55 #написать ответ
и у версии 1.5.1, и у 1.6.1 те же симптомы
 
Пробовал на bank.gov.ua и на cbr.ru (не меняя настроек).
 
Видимо, проблема в моей Винде.
Буду загружать на каждый понедельник...
 
Еще раз спасибо.
 
PS. Интересно, есть ли еще у кого-нибудь такое же? Или никто не загружает курсы на каждый день?
Боюсь, тогда не обойтись без помощи Dervish-а (-) (-) Дим(м) 04/08/2009 03:03 #написать ответ
Попробовал, ради интереса, загрузить на каждый день ... samass 04/08/2009 23:46 #написать ответ
... (обычно делаю это раз в месяц) - всё отлично работает . Плагин 1.5.1, курсы валют качал с bank.gov.ua    Автору плагина респект!
а Вы пробовали gpv 06/08/2009 00:14 #написать ответ
загружать курсы за целый месяц или более?
 
Например, если я загружаю курсы с 01.07.2009 по 05.08.2009 (на каждый день) - отхватываю ошибку.
 

Впрочем, я свою проблему решил весьма тривиальным способом: скачиваю курсы на каждый день, но за период, не превышающий 5 дней. т.е. с 01.08 по 05.08 - и все работает.
 
Есть подозрения, что программе не нравится файл ntdll.dll 6й версии. На 5й версии было все ок, но виндовый SP2 все испортил
Нет, не пробовал ... samass 06/08/2009 00:39 #написать ответ
загружать курсы за целый месяц или более?

Период загрузки был с 01.08.2009 по 04.08.2009 :conf:
Я пробовал, но на версии vovchik23 06/08/2009 14:34 #написать ответ
плагина 1.4 с кешем 217. Загружаю курсы на каждый день с периодами по несколько месяцев.
Та же проблема Vidocq 22/11/2009 12:46 #написать ответ
при скачивании курсов валют за срок более 5 дней вылетает ошибка (программа проста закрывается и все)
Как нибудь это исправляеся?
Отладка/лог furman76 11/10/2009 14:23 #написать ответ
Есть какой-нибудь отладочный режим, посмотреть - что плагин на самом деле качает, и как парсит?
нету :( Дим(м) 11/10/2009 18:57 #написать ответ
но я могу предложить попробовать помочь разобраться с проблемами, если расскажете, что и откуда пытаетесь загрузить
у меня все та же проблема. gpv 12/10/2009 14:54 #написать ответ
если есть идеи - welcome.
 
курсы качаю с сайта НБУ (bank.gov.ua)
 
Дык... не загружается :) furman76 12/10/2009 23:43 #написать ответ
А в чем проблема - как раз непонятно без отладки - то ли prolog неправильный, то ли record...
 
Но проблему уже обошел - вместо того, чтобы качать с сайта "Тройки-Диалог", заточил запрос для pif.investfund.ru, надо было только id нужного фонда выцепить.
Если бы вы почитали readme... Дим(м) 13/10/2009 03:48 #написать ответ
... то уже давно бы разобрались с отладкой регулярных выражений.
 
Как один из вариантов:
- идём на http://gskinner.com/RegExr/
- вставляем в самое большое поле исходник страницы
- в верхнее поле копируем свой регэксп целиком
- ищем в исходнике страницы подсвеченные голубым области и при наведении на них мышкой смотрим, какие значения попадают в группы
 
Это гораздо нагляднее и удобнее любого, даже самого подробного лога.
Настройки: Национальный банк Чехии Дим(м) 18/12/2009 15:12 #написать ответ
Из-за специфики формата источника названия валют будут в виде: "Rusko|rubl".
Но должно быть достаточно один раз исправить их в AbilityCash.
 
Для этих настроек требуется плагин UniRates версии не ниже 1.5
 
[cnb.cz]
Name=Чешский национальный банк
PageURL=http://www.cnb.cz/cs/financni_trhy/devizovy_trh/kurzy_devizoveho_trhu/denni_kurz.txt?date=%d%.%m%.%yyyy%
EstimatedPageSize=1000
HomeCurrencyCode=CZK
HomeCurrencyName=Чешская крона
Prologue=(?<date>.*?)\s+#.*?zemД›|mД›na|mnoЕѕstvГ­|kГіd|kurz
Record=(?<name>.*?\|.*?)\|(?<value2>.*?)\|(?<code>.*?)\|(?<value1>.*?)\s
DecimalSeparator=,
Codepage=65001
Новая версия Дим(м) 12/01/2011 19:07 #написать ответ
В одной из тем всплыл баг с переполнением при загрузке очень больших сумм (например, цен золотых слитков в белорусских рублях).
 
В новой версии эта проблема исправлена.
А также добавлены пресеты, появлявшиеся в этой и других темах.
 
Также, поскольку drop.io приказал долго жить, ссылки на новые версии пока будут выкладываться так:
http://dl.dropbox.com/u/2812163/UniRates/UniRates_1.5.2.zip
 
P.S. В "специальной" ветке 1.6.х упомянутый баг ещё не исправлен. Дайте знать, если кому-то нужно это исправление.
Исправленная "специальная" версия Дим(м) 13/01/2011 17:36 #написать ответ
http://dl.dropbox.com/u/2812163/UniRates/UniRates_1.6.2-special.zip
Спасибо. Mark 13/01/2011 23:22 #написать ответ
Я все еще пользуюсь специальной версией. Не забывайте про нее
Вообще есть проблема Mark 13/01/2011 23:38 #написать ответ
с загрузкой данных, которая периодически всплывает. Но я не могу пока отследить точный алгоритм вылета. Сейчас например загрузил данные с одного ПИФа, все Ок. Потом загружаю данные с другого ПИФа .. все вроде бы Ок. Но при нажатии на вкладку "счета" .. программа вылетает и приходится из бекапа восстанавливать базу. Или если например сначала загружаю курсы с цб, затем два пифа и на третьем пифе тоже вылетает программа и этот третий пиф можно только на следующий день загрузить без вылета. Вот такие чудеса.
Кстати на пустой базе... Mark 15/01/2011 14:55 #написать ответ
... все закачивается нормально, но на вкладке счета при пересчете остатков в валюте Рубли или в "валюте" ПИФа - происходит вылет программы.
Вылет программы vovchik23 14/01/2011 02:05 #написать ответ
Дим, походу в твоем плагине дело.
 
Вылетает в диалоге выбора дат для загрузки валют. С другими плагинами подобного не наблюдаю.
 
Добавил в багтреккер http://dervish.ru/bugs-item.115/
А с этим пока ничего сделать не могу Дим(м) 14/01/2011 12:02 #написать ответ
Нету у меня нигде поблизости Windows 7, чтобы нормально там всё проверить. А на XP у меня всё, вроде, работает как надо.
 
Но, на всякий случай, напиши, на каких пресетах этот вылет случается? Вдруг, получится воспроизвести проблему.
На всех пресетах. По-видимому, не от них зависит. (-) vovchik23 14/01/2011 16:31 #написать ответ
Аналогичная ситуация Vidocq 14/01/2011 15:53 #написать ответ
Вылетает, когда выбираю - скачать на каждый день - и период скачивания превышает 5 дней. На старой версии всё нормально - за месяц позволяет данные скачивать.
А что значит "на старой версии"? Дим(м) 14/01/2011 17:38 #написать ответ
Речь про более старую версию UniRates? Какую?
Или же о версии AbilityCash?
А, может, и вовсе о "старом плагине для курсов ЦБРФ/НБРБ/НБУ"?
AbilityCash v217 vovchik23 14/01/2011 18:19 #написать ответ
AbilityCash v217
 
UniRates v1.4, 1.5.1, 1.5.2, 1.6, 1.6.1, 1.6.2. Т.е. на всех версиях с дефолтовыми пресетами.
 
Если скачать библиотеку загрузки валют "cbru-xml.dll", то этого бага нет.
 
Еще! Заметил, что ошибка, возможно, возникает где-то при подсчетах размера скачиваемых страниц . Т.е. меняю период на год меньше, а пункт "приблизительный объем данных" не изменяется. Заметь, в "cbru-xml.dll" меняется постоянно!  Дальше, увеличиваю период еще на год раньше и сразу вылет. Такое же происходит, если месяцы покрутить туда-сюда.
Подсчёт размера - исключительно на совести AC Дим(м) 14/01/2011 19:25 #написать ответ
Плагин возвращает примерный размер страницы только один раз. Потом AbilityCash вычисляет, сколько разных страниц надо скачать для выбранного диапазона и частоты, и перемножает эти числа.
 
При этом, правда, адрес страницы "на конкретную дату" программа получает из плагина, ага. Видимо, где-то в этой части проблема и есть.
Попробую поискать там ошибку, но быстрого исправления не обещаю.
Ну, как получится :) главное vovchik23 14/01/2011 19:28 #написать ответ
чтобы не так, как Дервиш ошибки исправляет, по несколько лет
 
Кстати, накопал тут у себя в бекапах старые версии кеша. На версии 216 тоже вылетает, а вот на 215 вылетов нет. Может это будет полезно.
 
Спасибо.
Версия проги 2a215 (-) Vidocq 14/01/2011 20:33 #написать ответ
И плагин Vidocq 14/01/2011 20:35 #написать ответ
я использовал последней версии 162 - и со старой версией (2a215) загружается всё нормально за месяц. В последней версии АС и за 5 дней не получается загрузить.
Это наводит на мысль... Дим(м) 14/01/2011 22:01 #написать ответ
... что проблема всё же не в плагине, а в самой AbilityCash.
По крайней мере, понятно, что именно какие-то изменения в ней эту проблему вскрыли.
 
Попробую связаться с Dervish-ем и выяснить, что именно он менял в этой части программы между 215 и 216 сборками.
Дим, но ведь другие плагины ошибок не выдают, ни в одной из версий. (-) vovchik23 15/01/2011 02:22 #написать ответ
Я не совсем точно выразился Дим(м) 15/01/2011 13:06 #написать ответ
Второе предложение должно было означать:
По крайней мере, если проблема в плагине, именно эти изменения в AbilityCash её выявили.
 
Так что, конечно, я первым делом буду искать ошибку у себя. Но если я буду знать, что поменялось в AbilityCash, делать это будет значительно проще.
Ошибка обнаружена и исправлена Дим(м) 24/02/2011 00:40 #написать ответ
Была она довольно заковыристой. Но теперь, похоже, больше не вылетает
Даже при загрузке на Win7 курсов на каждый день начиная с 1 октября всё работает стабильно.
 
Вот ссылки на загрузку исправленной версии:
http://dl.dropbox.com/u/2812163/UniRates/UniRates_1.5.3.zip
 
И для тех, кто пользуется "специальной" версией:
http://dl.dropbox.com/u/2812163/UniRates/UniRates_1.6.3-special.zip
Подтверждаю Vidocq 24/02/2011 19:20 #написать ответ
Попробовал загрузить валюту по дням за весь текущий месяц - всё загрузилось и программа не вылетела
Благодарю.
Премного благодарю :) (-) vovchik23 24/02/2011 20:57 #написать ответ
Нашлась ещё одна ошибка, изредка приводившая к вылету Дим(м) 25/02/2011 12:38 #написать ответ
Исправленная версия доступна тут:
http://dl.dropbox.com/u/2812163/UniRates/UniRates_1.5.4.zip
 
Исправленная "специальная" версия:
http://dl.dropbox.com/u/2812163/UniRates/UniRates_1.6.4-special.zip
Теперь и в евро! Дим(м) 30/05/2011 13:34 #написать ответ
Как оказалось, UniRates не умеет работать с курсами, заданными относительно "домашней" валюты (сумма "домашней" валюты принята за 1, а все курсы определены суммами иностранных валют).
Так, например, определены курсы на сайте банка Словении: http://bsi.si/podatki/tec-bs-en.asp
 
Исправил это досадное недоразумение в новой версии. Налетай!
 
Ссылки для загрузки:
http://dl.dropbox.com/u/2812163/UniRates/UniRates_1.5.5.zip
 
http://dl.dropbox.com/u/2812163/UniRates/UniRates_1.6.5-special.zip
Ошибка Doozer 25/09/2011 14:29 #написать ответ
Добрый день, сначала хочу выразить благодарности автору плагина за замечательное дополнение.
 
По делу:
При использовании версии UniRates-special.dll 1.6.5 вылетает при попытке загрузки курсов.
Были проведены ТОЛЬКО следующие изменения в стандарном ini:
ActivePreset=cbr.ru,cbr.ru-metall
;ActivePreset=onvista.de,cbr.ru-EUR
 
т.е. попытался получить кросс-курсы по металлам и валютам.
Операционная система Win7 x64, на WinXp x32 все работает нормально, но неудобно  переключаться на WinXP каждый раз при загрузке кросс-курсов. AC 217 билд.
 
"Простая" dll UniRates.dll 1.5.5 работает на Win7 x64 без проблем.
 
Небольшая гифка с ошибкой http://db.tt/4NCPkDs2
Повторить ошибку не получилось Дим(м) 26/09/2011 02:06 #написать ответ
Запустил на Win7 Home Premium SP1 x64 AbilityCash 217 с UniRates-special.dll версии 1.6.5
Как и у вас, установил пресеты cbr.ru,cbr.ru-metall
И курсы валют, и цены металлов за этот месяц (на каждый понедельник) загрузились успешно.
 
Может, есть какие-то уточнения к условиям запуска?
Например, другой период загрузки, прокси-сервер...
Действительно, на другом компьюетере не вылетает Doozer 26/09/2011 09:48 #написать ответ
Попробовал на другом компьютере с Win7 не вылетает.
Попробую локализовать, причину, по рузультатам напишу.
на Win7 не грузятся валюты с НБУ trans-tir 02/11/2011 13:50 #написать ответ
поставил себе win 7 не грузятся валюты и курсы с Центр.банка Украины (bank.gov.ua) , пробовал с cbr.ru - все нормально загружаются и валюты и курсы, а с НБУ загрузка идет а далее пустой список названий валют. в чем может быть проблема?
Скорее всего - изменился сайт Дим(м) 02/11/2011 14:28 #написать ответ
На WinXP те же симптомы, так что Win7 тут ни при чём.
Посмотрю сегодня, что надо исправить в пресете.
Сайт и правда изменился... Дим(м) 02/11/2011 17:16 #написать ответ
Вот исправленные настройки для НБУ:
 
[bank.gov.ua]
Name=Національний банк України
PageURL=http://www.bank.gov.ua/control/uk/curmetal/currency/search?formType=searchFormDate&time_step=daily&date=%dd%.%mm%.%yyyy%
EstimatedPageSize=55000
HomeCurrencyCode=UAH
HomeCurrencyName=РіСЂРёРІРЅС–
Prologue=<td class="date">(?<date>.*?)</td>
Record=<tr>.*?<td class="cell_c">.*?<td class="cell_c">(?<code>.*?)</td>.*?<td class="cell_c">(?<value2>.*?)</td>.*?<td class="cell">(?<name>.*?)</td>.*?<td class="cell_c">(?<value1>.*?)</td>.*?</tr>
Epilogue=<td class="date">
Codepage=65001
не загружаются trans-tir 03/11/2011 00:30 #написать ответ
спасибо за ответ
поменял настройки но при загрузке пишет что устанавливается соединение с сервером , а данные не загружаются
Какой версии плагин? Дим(м) 03/11/2011 00:51 #написать ответ

... при копировании настроек из форума никаких лишних пробелов не закралось на концах строк?
UniRates_1.6.5-special - работает trans-tir 03/11/2011 17:51 #написать ответ
на этом плагине заработало, спасибо большое
Лучше пользоваться "обычной" версией Дим(м) 03/11/2011 20:17 #написать ответ
Если вам не нужны "навороты" специальной версии (одновременная загрузка курсов сразу из нескольких источников и расчёт кросс-курсов между разными источниками: паи в EUR + курс EUR в рублях = паи в рублях), я бы рекомендовал лучше пользоваться обычной - 1.5.х
 
Она и по размеру меньше, и код там проще - меньше шансов поймать какую-нибудь ошибку.
Кроме того, её поведение в AbilityCash - более "адекватное" (например, прогресс-бар показывает реальный прогресс и пр.)
 
А в остальном обе ветки: 1.5.х и 1.6.х работают одинаково.
Кстати так и не удалось локализовать проблему с вылетом Doozer 04/11/2011 08:57 #написать ответ
Видимо дело в каком спец. софте (может настройки системы)
Проксик локальный стоит, но и на рабочем компьютере он тоже есть, а не вылетает. Прям загадка для меня.
Поставил виртуальную машину с чистой ос, попробую потестить.
Настройки Modjahed 03/11/2011 01:01 #написать ответ
И куда эти настройки вписывать?
Настройка плагина samass 03/11/2011 01:11 #написать ответ
Отредактируйте файл UniRates.ini. Дим(м), спасибо, у меня опять всё работает (плагин 1.5.1)
Обновите версию на основном сайте в скачивании Свят 09/11/2011 00:46 #написать ответ
там стоит старая версия, с ней ета конфигурация не работает.
Билоб класно если б и ету конфигурацию включить туда
 

спасибо за плагин !!!
Игнорирование регистра vovchik23 04/11/2011 14:49 #написать ответ
Дим(м), возможно ли как-то в шаблоне игнорировать регистр букв кода обозначающего валюту?
Плагин с кодом ничего не делает Дим(м) 04/11/2011 16:02 #написать ответ
Он просто передаёт то, что прочитал со страницы, в AbilityCash.
 
Это уже AC сравнивает код с теми, что имеются в базе, и решает, является ли валюта новой.
 
В плагине я ничего с этим сделать, к сожалению, не могу.
 
Я ведь правильно понял суть проблемы?
Иначе нужно более подробное её описание.
Да, суть проблемы vovchik23 04/11/2011 19:36 #написать ответ
именно в этом.
 
Прикол в том, что при получении курсов с сайта Приватбанка, регистр кода валют там периодически меняется. Т.е. доллар США иногда "USD", иногда "usd". Кеш же соответственно создает две разные валюты.
 
Вариантов решения два: просить Дервиша менять код и добавлять опцию игнорирования регистра, либо в вашем плагине добавлять фичу приведения кода валюты к верхнему регистру.
Про "приведение к верхнему регистру" я и сам думал Дим(м) 04/11/2011 20:41 #написать ответ
Но сразу не стал про это писать, потому что не был уверен, что проблема всё-таки именно в этом.
 
А во-вторых, до сих пор не уверен, что простое приведение к верхнему (или нижнему) регистру не будет никому мешать.
(делать отдельный параметр для каждого источника, мне кажется, перебор)
 
Вообще, правильнее всего, если игнорировать регистр будет именно AC.
Тогда, например, пользователь сможет сам написать код, как ему удобнее (скажем, USd), и программа будет дальше корректно работать именно с таким написанием.
 
Дервиш в последнее время довольно активно выпускает новые сборки. А добавить игнорирование регистра при сравнении кодов должно быть не сложно.
Отправьте ему предложение в раздел "Доработки" - глядишь, в следующей сборке уже и будет всё работать, как надо.
Мне кажется, у меня есть идея лучше :) Дим(м) 09/11/2011 12:35 #написать ответ
В двух словах: переименование валют
 
Уверен, некоторые пользователи с удовольствием использовали бы в программе более простые и понятные обозначения валют: "р.", "$", "€" и т.д.
 
Но тогда становится невозможным загружать курсы из интернета, поскольку в большинстве источников валюты обозначаются кодами: RUR, USD, EUR
 
Так вот, в UniRates можно предусмотреть способ преобразования этих кодов в любые другие обозначения.
 
И, как частный случай такого преобразования, можно получить временное решение проблемы регистра - просто задав переименование кода в себя же: RUR=RUR, USD=USD и т.д.
 
Работать это будет потому, что сравнивать коды UniRates будет без учёта регистра, а замену брать ровно такую, как справа от знака равенства.
А "временное" потому, что, я уверен, Дервиш скоро исправит учёт регистра при сравнении кодов и в AbilityCash (вы ведь написали про это в "Доработках"?)
Да, я написал про это... vovchik23 09/11/2011 13:54 #написать ответ
в "Доработках", но что-то мне кажется, что Дервиш исправит это не скоро
 
А идея с переименованием отличная. Как продолжение иметь возможность приведения нескольких обозначений к одному, например: RUR, rur, RUB, rub, руб.= р.
 
Либо менее удобно так: RUR=р., rur=р.
 
Новая ветка для новой версии Дим(м) 23/11/2011 00:28 #написать ответ
Поскольку изменений в новой версии оказалось довольно много, я решил увеличить номер версии сразу до 2.0, и создал для неё новую ветку на форуме:
Универсальный плагин загрузки курсов v2.0
 
Добро пожаловать
Отличная новость! vovchik23 23/11/2011 14:49 #написать ответ
Спасибо за оперативность!
Помогите пож. Не грузит значение курса после пробела ЦБ Беларуси d1myan 10/05/2012 23:06 #написать ответ
Не грузит значение курса валют после пробела ЦБ Беларуси
загружает курс 1к8, когда курс 1к 8 090. не могу разобраться где-что менять
Обновите версию плагина Дим(м) 11/05/2012 13:40 #написать ответ
см. http://dervish.ru/forum-theme.2373/#p13836
здравствуйте Я 28/05/2012 21:24 #написать ответ
бы хотел узнать можно ли плагин настроить так, чтобы программа считывала цены с этого сайта .inshop24.ru?
Считывала цены чего? (-) Дим(м) 29/05/2012 16:11 #написать ответ
сыра например ну 29/05/2012 19:40 #написать ответ
вообше много позиций надо (предупреждая вопросы зачем и почему, скажу надо-некий ориентир и показатель потнрири покупательской способности денег) может какой шаблон можно написать. Я в этом не силен , чтобы можно было какие то ключевые позиции вставлять.
И еще вопрос, можно ли необходимые данные найти в опера драгонфлай? Благодарю!
И всё-таки я не совсем представляю, как это будет работать? Дим(м) 29/05/2012 20:46 #написать ответ
Допустим, загрузку цен реализовать можно. Что вы хотите получить в итоге в базе AbilityCash?
 
Сотни курсов вида
125 "Сыр Бри экспортный 50% 125г" = 106.45 "RUR - Российский рубль"
500 "Сыр брынза Парижская Буренка 0% 0.5кг" = 88.45 "RUR - Российский рубль"
...
?
 
При этом для всех этих "брынза Парижская", "брынза Фитаки" и пр. будут созданы отдельные валюты!
 
Или же речь о том, чтобы всегда выгружать какой-то один и тот же сыр?
Но тут тоже будет куча проблем. Поскольку какого-то фиксированного кода у товаров, как я понимаю, нету, придётся искать его по названию.
И если указать название целиком ("брынза Фитаки 16% 0.5кг"), то изменение расфасовки приведёт к невозможности его найти ("брынза Фитаки 16% 250г"). А если указать только часть названия ("брынза"), то может появиться похожий товар / альтернативная расфасовка.
 
Что касается, Opera Dragonfly, то он здесь даже не нужен. Достаточно в контекстном меню страницы выбрать Source, и там всё будет:
<a href="...">Сыр брынза Парижская Буренка 0% 0.5кг</a>
...
<td class="weight" id="we71681">500г</td>
...
<span class="cprice" id="cpr71681">88.45р</span>
 
Ну или на странице товара:
<span class="cprice" id="cpr71681" style="font-size:1.7em">88.45 р</span>
Сотни курсов вот этого 30/05/2012 13:05 #написать ответ
я и боялся . огромное спасибо за развернутый ответ!
Версия 2.1 - Уменьшает курс в 10000 раз paunchymouse 23/04/2020 18:47 #написать ответ
[smartlab-etf]
Name=Котировки ETF на сегодня (smartlab)
PageURL=https://smart-lab.ru/q/etf/
EstimatedPageSize=3
HomeCurrencyCode=RUR
HomeCurrencyName=Российский рубль
Prologue=<div class="content_wrapper">
Epilogue=<div class="footer">
Record=<tr.*?>(?:\s*<td.*?>.*?<\/td>{2}\s*<td.*?>(?:<a.*?>?(?<name>.*?)(?:<\/a>?<\/td>\s*<td.*?>(?<code>[A-Z]{4,6})<\/td>(?:\s*<td.*?>.*?<\/td>{2}\s*<td.*?>[^0-9]*(?<value1>[0-9\.]+)
Codepage=65001
 

После запуска скачивается курс "100 FXUS = 37.82 RUR" вместо "1 FXUS = 3782 RUR". Почему так?
Дело в настройках количества знаков после запятой Дим(м) 19/05/2020 22:52 #написать ответ
Последний раз, когда обновлялся этот плагин, AbilityCash ожидала на входе суммы, умноженные на 10000. Т.е. плагин возвращает "1 FXUS" как 10000, а "3782 RUR" как 37820000:

// iValue1 - задаёт количество национальной валюты. Младшие 4 десятичных
// разряда указывают дробную часть значения, а целая часть начинается с
// пятого десятичного разряда. Например, если iValue1 равно "123456789",
// это будет соответствовать значению курса "12 345,6789".
__int64   iValue1;

 
Учитывая, что первых у вас получается в 100 раз больше, чем должно быть, а вторых - в 100 раз меньше, подозреваю, между плагином и программой возникло какое-то разногласие.
 
Вероятная его причина - изменения в настройках количества знаков после запятой у какой-то из валют. У вас нет, случайно, ничего с 6 знаками после запятой?
 
Подозреваю, что т.к. 6 не вмещается в заложенные изначально 4 знака, то при наличии хотя бы одной такой валюты программа переходит к представлению "как задано в настройках валюты" (вместо "всегда 4 десятичных знака").
И тогда 10000 превращаются в 100 FXUS (ведь у FXUS у вас по-умолчанию 2 лесятичных знака?). А 37820000 превращаются в 37.82 RUR (потому что в настройках рубля 6 десятичных знаков?).
 
Это, в общем-то, ошибка в программе. Внутренние изменения в представлении чисел не должны влиять на интерфейс с плагинами. Другими словами, AbilityCash должна сама пересчитывать "всегда 4 знака", возвращаемые плагином, в свой внутренний способ представления для конкретной валюты.
Разные разделительные символы TarasK 07/06/2020 16:06 #написать ответ
Ещё один вариант - не учитывается разные разделительные символы в винде и на сайте. У меня разделитель в винде "."(точка), на сайте - ","(запятая)
Выставил нужное значение в DecimalSeparator - все заработало
Так и есть - количество знаков влияет paunchymouse 03/04/2021 14:24 #написать ответ
Спасибо за наводку! У меня для всех ц/б стояло 0 знаков после запятой, т.е. только целые числа, а для остальных валют - 2. Поставил только для ETF 2 знака - всё нормально. При этом тот же UniRates нормально берет с другого источника стоимости акций, у которых осталось 0 после запятой.
Проблема загрузки курсов с Нацбанка Республики Беларусь. Zarkon 05/12/2020 22:52 #написать ответ
Скачал с сайта имеющуюся универсальную библиотеку UniRates.zip для загрузки курсов. Настроил для Нацбанка Беларуси, но обнаружил, что в ini-файле, в котором содержится содержатся непосредственно сами настройки библиотеки, ссылка на сайт, с которого необходимо загружать, начинается с http:\\. По данной ссылке не происходит загрузка ни в программе, ни в браузере. При этом на сайте Нацбанка в разделе, где указано как настраивать API, ссылки на курсы валют указаны, начинающиеся с https:\\. Но если я в настройках библиотеки исправляю ссылку на https:\\, то загрузка не происходит - полоса в окне "Выполняется загрузка" не двигается. Помогите решить проблему.
Для https, видимо, придётся использовать обходной маневр Дим(м) 09/12/2020 23:33 #написать ответ
Я проверил данные на странице https://www.nbrb.by/API/ExRates/Rates?onDate=2020-12-07&Periodicity=0
Настройки плагина (Record) всё ещё подходят для них - все данные извлекаются верно:

 
Выходит, проблема в том, что AbilityCash не умеет загружать ресурсы с https адресов?
 
Чтобы это обойти, можно попробовать использовать "multi-preset" режим.
Для этого нужно указать несколько активных пресетов.
Насколько я помню, ничто не мешает указать один и тот же пресет несколько раз:
ActivePreset=nbrb.by,nbrb.by
 
В таком случае, первый nbrb.by будет (неудачно) загружаться самим AbilityCash. А второй - плагин будет загружать самостоятельно, с использованием библиотеки cURL (т.е. с https всё должно быть в порядке).
Попробуйте.
 
Надеюсь, ошибка с https в AbilityCash не приведёт к тому, что ничего вообще грузиться не будет. Если всё же не сработает такой трюк, попробуйте заменить первый пресет на какой-нибудь другой, с http. Чтобы и AbilityCash тоже мог что-то успешно загрузить.
При этом, правда, у вас появятся "лишние" курсы валют. Но можно выбрать в качестве первого какой-нибудь не очень "многословный" пресет, типа cbr.ru-EUR или cbr.ru-metall.
nbrb по https не работает MeLioR 11/12/2020 14:03 #написать ответ
Та же проблема с загрузкой валют с https nbrb.by . Попробовал предложенный маневр, не помогло.
Пробовал на 2 разных машинах (одна без антивирусов и фаерволов). Результат увы одинаковый - негативный.
nbrb https - Получилось!!! MeLioR 11/12/2020 16:02 #написать ответ
Удалось загрузить с 2мя пресетами в следующей конфигурации.
Смысл такой 1-ый пресет должен быть с http, 2-ой с https:
INI

[main]
ActivePreset=nbrb.by-monthly,nbrb.by
...
[nbrb.by]
Name=Нацыянальны банк Беларусi (штодзённа)
PageURL=https://www.nbrb.by/API/ExRates/Rates?onDate=%yyyy%-%mm%-%dd%&Periodicity=0
...
 
[nbrb.by-monthly]
Name=Нацыянальны банк Беларусi
PageURL=http://www.nbrb.by/API/ExRates/Rates?onDate=%yyyy%-%mm%-01&Periodicity=1
 
Тоже всё работает! Спасибо! Zarkon 20/12/2020 23:08 #написать ответ
Спасибо! Всё получилось и заработало.
А можно полный файл ini для загрузки? wna 15/01/2021 09:54 #написать ответ
А можно полный файл ini для загрузки курсов валют с сайта нацбанка РБ.
Заранее спасибо.
UniRates.ini для НБРБ MeLioR 03/04/2021 19:57 #написать ответ
UniRates.ini для НБРБ
INI

[main]
ActivePreset=nbrb.by-monthly,nbrb.by
CurrencyFilter=BYN,EUR,RUB,RUR,UAH,USD
EnableCurrencyRename=1
 
[currency-rename]
RUR=RUB
;BYR=бел.р.
;Euro=€
;EUR=€
;RUB=р.
;RUR=р.
;UAH=гр.
;USD=$
;GBP=£
 

[nbrb.by]
Name=Нацыянальны банк Беларусi (штодзённа)
PageURL=https://www.nbrb.by/API/ExRates/Rates?onDate=%yyyy%-%mm%-%dd%&Periodicity=0
EstimatedPageSize=6
HomeCurrencyCode=BYN
HomeCurrencyName=белорусский рубль
Prologue=\[
Record={.*?Date":"(?<date>\d{4}-\d{2}-\d{2}).*?",.*?Cur_Abbreviation":"(?<code>\S*?)",.*?Cur_Scale":(?<value2>[\d\.]*?),.*?"Cur_Name":"(?<name>.*?)",.*?Cur_OfficialRate":(?<value1>[\d\.]*?)}
Epilogue=\]
DecimalSeparator=.
Codepage=65001
 
[nbrb.by-monthly]
Name=Нацыянальны банк Беларусi
PageURL=http://www.nbrb.by/API/ExRates/Rates?onDate=%yyyy%-%mm%-01&Periodicity=1
EstimatedPageSize=8
HomeCurrencyCode=BYN
HomeCurrencyName=белорусский рубль
Prologue=\[
Record={.*?Date":"(?<date>\d{4}-\d{2}-\d{2}).*?",.*?Cur_Abbreviation":"(?<code>\S*?)",.*?Cur_Scale":(?<value2>[\d\.]*?),.*?"Cur_Name":"(?<name>.*?)",.*?Cur_OfficialRate":(?<value1>[\d\.]*?)}
Epilogue=\]
DecimalSeparator=.
Codepage=65001
 
Раньше https, похоже, работал... Дим(м) 09/12/2020 23:39 #написать ответ
Выше в этой теме в апреле 2020 кто-то приводил пример настроек с https.
И, как я понял, всё загружалось, но была другая проблема.
 
Возможно, что-то специфичное у вас на компьютере? Прокси какой-нибудь? Или анти-вирус не пускает программу на https-ресурс.
Исправленные настройки для Банка Украины Дим(м) 12/06/2021 14:17 #написать ответ
[bank.gov.ua]
Name=Національний банк України
PageURL=http://bank.gov.ua/ua/markets/exchangerates?date=%dd%.%mm%.%yyyy%&period=daily
EstimatedPageSize=110
HomeCurrencyCode=UAH
HomeCurrencyName=гривні
Prologue=<span id="exchangeDate">(?<date>.*?)</span>
Record=<tr>.*?літерний">(?<code>.*?)</td>.*?валюти">(?<value2>.*?)</td>.*?<a href.*?>\s*(?<name>.*?)\s*</a>.*?курс">(?<value1>.*?)</td>.*?</tr>
Epilogue=</table>
DecimalSeparator=,
Codepage=65001