создать новую тему раскрыть все
Вот, получился у меня такой плагин. Well
Источники настраиваются с помощью регулярных выражений и специальных макросов. Так что теперь не нужно программировать, если понадобится добавить новый или исправить существующий после изменений на сайте.
В качестве примера, в дистрибутив включены настройки для загрузки курсов со страниц национальных банков России, Беларуси и Украины.
 
Hint 1: Загружать не обязательно денежные курсы - это могут быть котировки любых других "валют": бензина, золота, акций, паев - чего угодно.
Hint 2: Поскольку настройка выполняется в обычном тексте, своими конфигурациями можно делиться прямо в этой ветке форума, например.
 
На прошлой неделе отправил его Dervish-у, но пока так и не получил ответа. Так что выкладываю его пока здесь.
Адрес e-mail для обратной связи см. в readme.txt
http://rapidshare.com/files/62659081/UniRates_1.0.zip.html
рапида это ж кошмар
спасибочки огромное.
Будем тестить. Well
Хотелось бы знать, есть ли возможность решить эту проблему средствами самого AbilityCash (не зря ведь написано на странице загрузки, что она поддерживает юникод).
Но даже если такой возможности нет, можно будет попытаться решить это в самом плагине: определять UTF-8 и преобразовывать его в кодировку по-умолчанию. Но на этом пути много всяких вопросов. Not so Например, совместимость с Win95.
 
В общем, ждем, что ответит автор.
Для ресурсов в UTF-8 нужно указать Codepage=65001
 
Но по какой-то причине AbilityCash распространяет это значение не только на сам загружаемый ресурс, но и на все строки, возвращаемые плагином. Not so
Так что для правильного отображения названия ресурса убедитесь, что сам UniRates.ini сохранен в UTF-8 - Save As в блокноте на WinXP+ и в выпадающем списке выбрать UTF-8. После этого нужно аккуратно удалить в файле 3 символа в самом начале, перед [main]. Иначе настройки не будут загружаться совсем.
В общем, решение не из самых простых. Not so
редактором и сохранить "UTF without BOM"
.. можно загрузить исправленый файл настроек: http://ifolder.ru/3768716
Для переключения источника в нем достаточно только исправить ActivePreset=... И никакой возни с кодировками.
 
P.S. Часть настроек (для украинского банка) сохранена в UTF-8. В то время, как остальные - в CP1251. При добавлении новых источников нужно следить, чтобы кодировка страницы соответствовала кодировке секции с описанием источника.
Подскажите, пожалуйста, как настроить плагин для получения ставок ПИФов:
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 ПИО Глобал
 
У меня не получилось Not so Список значений пуст.
.. что сейчас и сама программа, и плагин расчитаны на загрузку курсов сразу нескольких валют за указанную дату (сравните: курсы указанного пая сразу за несколько дат).
 
И потому в списке отображаются пустые строки - плагину просто неоткуда извлечь названия и коды "валют". Сами же данные реально загружаются. Чтобы убедиться в этом, нужно отметить в списке галочками несколько "пустых" строк, завершить импорт, а потом посмотреть курсы валют.
 
В следующей версии я попытаюсь предусмотреть возможность статически (в файле настроек) указывать код и название пая для таких случаев.
А пока вам остается только попробовать найти страницу, где будут собраны курсы сразу нескольких паев - тогда там будут и их названия, и их можно будет извлекать в плагине.
 
Также хочу обратить внимание, что курс в программе задается 2 значениями: номиналом в одной и во второй валюте. Таким образом, для паев одно значение, как я понимаю, всегда будет 1 рубль, а второе - цена пая(?). Для СЧА места не остается.
Также есть вероятность, что AbilityCash будет игнорировать записи о курсах, не попадающие в диапазон, выбраный в начале импорта. Кроме того, в случае настроек, вроде "на каждый день", одна и та же страница будет загружаться несколько раз.
В этой версии улучшена поддержка загрузки информации о стоимости паев. Подробности см. в readme.txt
Также в дистрибутив включены примеры настроек для упомянутых выше паев "Финам Первый" и "Максвелл Капитал".
С ПИО Глобал, к сожалению, ничего не получилось - информация становится доступной после нажатия на кнопку на странице, и добраться до нее по "прямой ссылке" возможности нет. Not so
 
Дистрибутив можно скачать здесь: http://ifolder.ru/3803266
 
Также хочу добавить, что никакой пост-фильтрации по датам AbilityCash не осуществляет. Так что стоимости паев будут загружены для всех имеющихся на странице дат, независимо от настроек диапазона выборки в AbilityCash.
И еще хотелось бы исправиться: одна и та же страница не будет загружаться несколько раз - AbilityCash отслеживает и предупреждает подобные ситуации.
Скачал файл, все работает отлично!  
Большое спасибо.
 
А ПИО Глобал буду загружать вручную.
>информация становится доступной после нажатия на кнопку на странице
можно ведь передать параметры и постом... правда, есть подозрение что они еще проверяют идентификатор формы.
А AbilityCash, очевидно, использует GET.
И, как я ни пробовал передавать параметры через GET, ничего у меня так и не вышло. Not so
в т.ч. ПИО Глобал можно попробовать скачивать с сайта 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 запускает - наверно для плагина это будет неприемлемо.
Но, в любом случае, рекомендую рассмотреть возможность загрузки с этого сайта. Там хоть и с некоторой задержкой информация появляется, зато по всем, вроде бы, фондам
Можно использовать  
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
Тогда получается страница.  
Сейчас буду настраивать плагин.
Кто придумает как загружать значения, напишите, пожалуйста. У меня не получается пока. Слабо знаком с регулярными выражениями Not so
[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 проходит успешно.
Наверное, где-то баг (есть версия, что это как-то связано с ведущим ноликом). Посмотрю вечером..
Похоже, со стороны плагина все в порядке.
Вот какой у меня получился лог:
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; 8). На 214 стало так (15 -&gt; 1, 22 -&gt; 1, 29 -&gt; 8):
-- 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 потока для загрузки ресурсов. To wink
... можно использовать вот такой обходной вариант с опцией "на начало каждого месяца":
 
[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 будут получать те же самые данные. Not so
 
Чтобы загрузить данные сразу за весь год нужно использовать следующие настройки:
 
[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 будет использоваться только значение года.
Кстати, для тех, кто не догадался еще To wink,параметр <B>f2[0]=64</B> в строке url - это как раз указание на фонд акций Пио Глобал.
Для ПиоГлобал Фонд облигаций он равен <B>65</B>, для ПиоГлобал Фонд сбалансированный - <B>13</B>...
 
Хотел написать это к тому, что программист из меня неважнецкий, к сожалению, но смею предположить, что, наверно, не особо сложно было бы модифицировать уважаемому <B>Дим(м)</B> свой плагин, чтобы с его помощью пользователь мог загрузить стоимости паёв любого из представленных на сайте pif.investfunds.ru фондов.
Т.е. видилось 2 варианта: отличный - когда обновленный список фондов формируется каждый раз при запуске плагина (им самим), не очень... отличный Well, когда файл настроек плагина будет сформирован чем-нибудь типа макросом 1 раз и сразу для всех фондов.
 
Но сейчас подумал о том, что пользователю вряд ли будет легко выбрать нужный фонд (их сейчас около 1000) из такого списка, поэтому предлагаю ему - пользователю - такой алгоритм:
1) заходим на http://pif.investfunds.ru/funds/index.phtml
2) выбираем нужный фонд, например "1-й Денежный Фонд"
3) последние цифры в строке его url - это и есть его номер (548)
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;
Доступ к данным на investfunds.ru стал платным Not so. Откуда еще можно тянуть данные?
что можно получать результат в таком виде, но терпения не хватило отыскать этот способ.
Спасибо!
Я перенес плагин на сайт программы, вот ссылка для скачивания: http://www.dervish.ru/download/UniRates.zip. Обратите внимание, я сознательно удалил номер версии из загружаемого файла. Так будет удобнее для пользователей потому что с выходом обновлений плагина адрес для загрузки будет оставаться неизменным.
Подозреваю, что так и есть - плагин очень нужный!
Жаль только у меня ни Ваша ни данная загрузка не срабатывает Not so Процесс отображается, но в итоге - ни одной новой строки.
Может это из-за того, что у нас на здесь Firewall стоит?
 
И еще. Можно ли в будущем сделать возможность построения графиков нескольких валют одновременно, в т.ч. относительного изменения? При сравнении динамики изменения паев разных фондов - очень полезная фишка была бы Well
Можно попробовать использовать вот такой, не самый простой вариант.
 
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?...
Делать это каждый раз вручную быстро надоест. Well Поэтому имеет смысл запускать загрузку автоматически по расписанию (Control Panel &gt; Scheduled Tasks). Кроме того, в адрес ресурса, скорее всего, надо подставлять дату. Если с этим нужна помощь, могу рассказать, как это можно было бы сделать.
 
3. Дальше устанавливаем локальный HTTP-сервачок. Well Например, вот этот: http://www.karjasoft.com/samihttp и указываем ему на наш загруженный файлик: C:\www\rates.html
 
4. Настраиваем плагин:
Server=localhost
PageURL=rates.html
 
5. Запускаем импорт в AbilityCash Well
 
Как-то вот так. Сам я, скажу сразу, такого не пробовал. Но, мне кажется, должно получиться. Well
Загружать по расписанию можно данные сразу из нескольких источников, указав разные имена файлов. В имена файлов можно также вставлять даты (если, вдруг, это нужно). HTTP-сервер, очевидно, можно запускать перед самым импортом и закрывать сразу после.
 
В общем, если с какими-то шагами выше нужна помощь, пишите, помогу. Well
 
Блин, написал все это и тут вспомнил, что AbilityCash, вроде, и сам берет настройки прокси из IE. Ну не удалять же теперь. Well Вдруг, кого-нть на толковую идею натолкну, как проблему решить. Well
Точнее, в том, что программа не обрабатывает его. У нас на работе тоже установлен firewall и, как выяснилось (я всегда из дома загружал курсы), тоже не работает. Я попробую найти в чем причина, возможно что смогу заставить работать загрузку.
данные по курсам в 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
Где-то у них на сайте было написано. Там есть и другие сервисы, просто поищите по серверу строку xml.
...веб мастеров. Только вот используя стандартную навигацию туда хрен попадешь - только через поискWell
Кому-нибудь может пригодится.
Настройка на паевые фонды КИТ-Финанс.
Для примера фонд "Российская энергетика"
 
[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=,
[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=,
настраивал?
С валютами и ПИФами плагин идет пробовал переделать на учетные цены на драгметаллы с того же СБ
не получается ,не появляются ни названия ни обозначение металлов и естествено цены.Может подскажите  
как переписать плагин.
... страницы, с которой пытаетесь получить информацию.
Для работы с такими "транспонированными" матрицами курсов плагин надо несколько доработать.
Пока же я придумываю, как это сделать удобнее всего, можно остановиться на одном из следующих вариантов:
- смириться с тем, что валюта "золото" будет называться "1", "серебро" - "2" и т.д. - тогда совсем не сложно настроить импорт из XML по первой ссылке
- сделать отдельные настроки импорта для золота, серебра, платины - тогда, соответственно, импорт придется запускать 4 раза, чтобы получить в базе данные обо всех драгметаллах
- попытаться найти другой источник с более удобной структурой для импорта
 
Если нужна помощь с первыми двумя вариантами, дайте знать.
Теперь плагин поддерживает возможность указания сразу нескольких шаблонов для одного источника.
Чуть подробнее их использование описано в readme.txt
В файл настроек включен готовый пресет для цен драгметаллов с сайта Центробанка России.
 
Скачать можно здесь: http://ifolder.ru/4339348
Для стандартных форматов дат теперь можно использовать группу (?&lt;date&gt;...) вместо трех отдельных (?&lt;day&gt;...), (?&lt;month&gt;...), (?&lt;year&gt;...)
См. readme.txt и примеры настроек в UniRates.ini
 
Загрузить можно здесь: http://ifolder.ru/4348680
Ссылка на плагин на странице загрузки указывает на версию 1.2
Хорошо бы выложить на сайте последнюю версию 1.4 - http://ifolder.ru/4348680
 
@Dervish: И на будущее. Если будут еще какие-то изменения в плагине, каким образом лучше поддерживать ссылку в актуальном состоянии? Письмом? Well
Плагин обновлен.
 
Пока лучше письмом. А на будущее есть сильное желание установить на сайте wiki и тогда ссылки можно будет поддерживать без моего участия. Well
[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
Подскажите можно ли настроить этот ПИФ? http://fonds.onvista.de/kurshistorie.html?ID_NOTATION=13054133&amp;RANGE=6M. Если можно тока как? Well Если нет то в каком виде нужны данные?
[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=,
 
Если я ничего не напутал с немецким. Well
Но, если что, подправить, думаю, будет не трудно Well
Большое спасибо, все работает Well
Теперь остатки на "счетах" я могу увидеть только в Евро, если указать другую валюту, то пересчет у ПИФов не производится, вместо них "???". Можно ли сделать пересчет этого ПИФа на рубли?
... просто загрузить курс евро к рублю в базу. Если я правильно понял суть проблемы.
 
Хотя, возможно, AbilityCash и не поддерживает "непрямых" пересчетов (ПИФ -&gt; евро -&gt; рубли).
Тогда придется экспортировать данные в Excel, рассчитать там кросс-курс ПИФ -&gt; рубли и импортировать все обратно.
непрямые пересчеты,т.к. все валюты я загрузил Not so. А через экспорт-импорт все получилось .. спасибо Well.
У меня есть ПИФ номинированный в ЕВРО. Остатки на счете поэтому ПИФу я вижуто только в ЕВРО. В другой валюте отображаются "???". Тоже самое с Российскими ПИФами ... если остатки на счетах смотреть не в рублях, то будут "???".
 
Для решения данной проблемы нужен расчет курсов ПИФов к разным валютам.
 
Вот тут http://www.dervish.ru/forum.php?theme_id=1741&amp;forum_id=1 <strong class="bb"]Dervish</strong] писал как производится расчет кросс-курсов. Т.е. необходимо доработать универсальный плагин так, чтобы одновременно с закачкой стоимости ПИФа номинированного в ЕВРО, закачивался курс евро к рублю, после чего поставаить галку "расчитать кросс-курсы" и расчет будет произведен.
... в "специализированный" топик по вашей ссылке
Помогите плиз настроить плагин на закачку котировок с nlu.ru c инвестфондз данные больше не тянутся Not so
http://nlu.ru/fondinfo.htm?id=55
в регулярных выражениях ... может кому пригодится
[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=,
сайт откуда скачиваются курсы был реконструирован...
вот новый конфиг:
 
[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
.. Codepage - это число. И для UTF-8 оно должно быть равно 65001. Кроме того, при использовании UTF-8 есть еще несколько "подводных камней" - см. подробности в readme.txt, а пример использования - в настройках [bank.gov.ua]
Вот ссылка:  
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;
... что AbilityCash может скачивать ресурсы только со стандартного http-порта 80
А страница, которая при этом скачивается с privatbank.ua, информации о курсах не содержит Not so (там только инструкции перенаправления на порт 8085)
 
Кстати, на случай, если найдете способ это обойти, обратите внимание, что вам нужно использовать (?&lt;value2&gt;...) вместо value1. И, кроме того, после "Курс за (?&lt;date&gt;.*?)" следует добавить ограничитель: "\s*&lt;"
фаервол показывает, что запрос отсылается именно вида http://privatbank.ua:8085/...
 
Кстати, как посмотреть, какая страница скачиватся?
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, очевидно, такие "редиректы" не поддерживает.
[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;
Вот бы еще как-нить подружить два курса от национального банка и от привата. В смысле иметь один за основной, а второй для статистики!
ты и завернул. Имею в виду, "для статистики!"
 
Ты хоть понимаешь, о чем говоришь?
 
Если курсы от привата именно те, с которыми он выходил на рынок или заявлял своим клиентам, - что толку с них. В них заложен интерес банка. Т.е., тебя
 
интересует статистика интереса привата. Что, она лучшая, или объективная?
 
Или по ней тренд интереса привата можно смотреть. Бред сивой кобылы.
 
Ну, а "подружить", - что среднее будешь брать или просто перемешать значения?
 
А почему бы тебе, дружище, свои курсы не сгенерить.
 
Будешь кайф от своих активов ловить ...
 
Короче, не майся. Используй курсы нацбанка.
 
Именно они самые "правильные". Доллар притянут за уши, а остальные курсы просчитаны по курсу евробанка/бундесбанка. Тоже фуфло, которое не отражает
 
реальное положение вещей, - спрос на каждую валюту в этой стране, объемы сделок, объемы экспорта в каждой валюте и пр., и пр.
 
Не удивительно, что он появляется, когда рабочий день заканчивется, ждут, собаки, когда европа свои курсы сгенерит к концу торгового дня, чтобы
 
бессовестно европейские курсы содрать. В школе сдирали, и сейчас продолжают.
 
Спасу нет от научноподобного жлобства.
 
Одним словом, курс нацбанка рулит, - и в обменке, и при выезде за границу,
 
и в налоговой. А про приват забудь, разве что поиграться с кривыми и трендами.
 
может ты баксы продаешь/покупаешь по курсу нацбанка? А? Нацбанк в обменнике рулит, говоришь? Расскажи, будь другом, в каком таком обменнике?! Будем тоже бакс по курсу нацбанка покупать.
именно так.
 
Вообще, не покупаю. Ни по какому курсу.
 
А если бы покупал, понятно, по курсу обменника.
 
И этот курс использовал бы как обменный курс в конкретной операции перевода. А вот прибыльность/убыточность этой операции считал бы
 
по отношению к официальному курсу нацбанка.
 
Но ты, осознанно или напротив, забыл уже о чем писал -
 
"В смысле иметь один за основной, а второй для статистики!".
 
А теперь горбатого лепишь об обменнике.
 
Еще раз повторяю именно для тебя.
 
Если поступать по принципу "дурак от мысли богатеет", то действительно, ты прав, надо брать "от привата", либо от обменника.
 
И тащиться от крутизны.
 
А если ты в бухгалтерии расчитываешься за загран-командировку, идешь в налоговую, платишь пошлину - только курс нацбанка и конает.
тока заметил ответ.
 
Интересовал приват как пример реального межбанка - хочется иногда увидеть сколько у меня гривен получится, если обменять свои валютные резервы.
 
Ну а нацбанк - продавцы часто указывают цены в уе, а в гривнах по курсу нацбанка.
Спасибо за замечательный плагин к восхитительной программе!
 
Вопрос такой. Делал ли кто-нибудь настройки для курсов "электронных валют": WebMoney (WMR, WMZ...), Yandex-Деньги и т.п.?
у меня на плагин ругается антивирус... пишет о наличии PAK_Generic.001
Кто-нибудь реализовал загрузку котировок акций с ММВБ? По-моему можно получать котировки с РБК (http://export.rbc.ru/expdocs/free.micex.0.shtml), но я не силен в регулярных выражениях...
Не так давно пришло письмо с просьбой помочь с этими настройками. Но на мой ответ до сих пор никакой реакции. То ли письмо моё в спам попало, то ли ещё какие проблемы с почтой.
Потому выкладываю настройки здесь.
 
Два варианта - выберите тот, который вам больше подходит.
 
[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 хранит только один курс на дату, повторная загрузка в один день, наверное, нежелательна.
Возможно, кому-то пригодятся настройки для Центрального банка Армении:
 
[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. Названий национальных валют на странице нет. Поэтому их придется один раз ввести самостоятельно.
Возможно, кому-то пригодятся настройки для банка Латвии:
 
[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. Названий национальных валют на странице нет. Поэтому их придется один раз ввести самостоятельно.
Помимо косметических исправлений в формате файла настроек, добавлена принципиально новая возможность одновременной загрузки курсов из нескольких источников.
 
Это нужно для того, чтобы можно было средствами AbilityCash рассчитывать кросс-курсы между несколькими ресурсами (например, стоимость акций в EUR + курс EUR Нацбанка => стоимость акций в RUR)
 
Настройка новой возможности довольно непроста (см. multi-preset.txt). Поэтому использовать её рекомендуется только в случае острой необходимости.
 
Если вам это не нужно, то лучше остаться на версии 1.4
 
Как обычно, замечания и предложения пишите сюда или на ящик, указанный в readme.txt
 
Загрузить: http://drop.io/UniRates
У меня опять все те же проблемы. Ни в какую не хотят скачиваться курсы валют на каждый день.
 
Выбираю период с .. до.. (условно - месяц).
Кликаю в выпадающем списке на "на каждый день" и сразу же получаю стандартную ошибку винды:
 
Сигнатура проблемы:
  Имя события проблемы: 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).
 
Заранее спасибо за советы
Какие настройки пресета используете? Какие даты?
Я хотя бы попробую воспроизвести ситуацию у себя.
 
Висты у меня, правда, под рукой нет. Но если на моей ХР всё заработает, попробую найти и Висту.
Ну а если не заработает, буду искать и исправлять ошибку Well
 
(Если не хотите делиться деталями "прилюдно", напишите письмо.)
Даты - любые.
Вот сейчас попробовал:
Дата: 01.07.2009 - 30.07.2009
Период: на каждый день.
Сразу же вылетела ошибка.
 
Если дата 01.08.2009-03.08.2009, то ошибка появляется не сразу. То есть, я успеваю нажать кнопку "Далее", появляется бегунок загрузки и только потом выскакивает ошибка.
 
Настройки плагина - "из коробки", то есть скачал с сайта, записал в папку программы и запустил из AbilityCash комбинацией ^R.
Единственное, что поменял - указал свой банк (т.е. в начальной секции ini файла поменял cbr.ru на bank.gov.ua)
 
Причем подобная проблема проявляется в сборке 216 и 217 с обеими версиями плагина.
 
Спасибо за внимание к проблеме Well
И как я мог такое пропустить?
Хотя, возможно, на более ранних версиях AC эта ошибка никак себя не проявляла.
 
Вечером попробую исправить и выложу новую версию.
В предыдущих версиях плагина была ошибка, из-за которой ресурсы в кодировке, отличной от 1251 (например, сайт Центробанка Украины), не могли загружаться нормально.
 
Теперь это должно быть исправлено.
 
Обновились и "обычная" и "специальные" версии.
Качайте 1.5.1 или 1.6.1-special здесь: http://drop.io/UniRates
и у версии 1.5.1, и у 1.6.1 те же симптомы Not so
 
Пробовал на bank.gov.ua и на cbr.ru (не меняя настроек).
 
Видимо, проблема в моей Винде.
Буду загружать на каждый понедельник...
 
Еще раз спасибо.
 
PS. Интересно, есть ли еще у кого-нибудь такое же? Или никто не загружает курсы на каждый день?
... (обычно делаю это раз в месяц) - всё отлично работает Very we!. Плагин 1.5.1, курсы валют качал с bank.gov.ua    Автору плагина респект!
загружать курсы за целый месяц или более?
 
Например, если я загружаю курсы с 01.07.2009 по 05.08.2009 (на каждый день) - отхватываю ошибку.
 

Впрочем, я свою проблему решил весьма тривиальным способом: скачиваю курсы на каждый день, но за период, не превышающий 5 дней. т.е. с 01.08 по 05.08 - и все работает.
 
Есть подозрения, что программе не нравится файл ntdll.dll 6й версии. На 5й версии было все ок, но виндовый SP2 все испортил
загружать курсы за целый месяц или более?
Период загрузки был с 01.08.2009 по 04.08.2009 Confused
плагина 1.4 с кешем 217. Загружаю курсы на каждый день с периодами по несколько месяцев.
при скачивании курсов валют за срок более 5 дней вылетает ошибка (программа проста закрывается и все)Not so
Как нибудь это исправляеся?
Есть какой-нибудь отладочный режим, посмотреть - что плагин на самом деле качает, и как парсит?
но я могу предложить попробовать помочь разобраться с проблемами, если расскажете, что и откуда пытаетесь загрузить
если есть идеи - welcome.
 
курсы качаю с сайта НБУ (bank.gov.ua)
 
А в чем проблема - как раз непонятно без отладки - то ли prolog неправильный, то ли record...
 
Но проблему уже обошел - вместо того, чтобы качать с сайта "Тройки-Диалог", заточил запрос для pif.investfund.ru, надо было только id нужного фонда выцепить.
... то уже давно бы разобрались с отладкой регулярных выражений.
 
Как один из вариантов:
- идём на http://gskinner.com/RegExr/
- вставляем в самое большое поле исходник страницы
- в верхнее поле копируем свой регэксп целиком
- ищем в исходнике страницы подсвеченные голубым области и при наведении на них мышкой смотрим, какие значения попадают в группы
 
Это гораздо нагляднее и удобнее любого, даже самого подробного лога.
Из-за специфики формата источника названия валют будут в виде: "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
В одной из тем всплыл баг с переполнением при загрузке очень больших сумм (например, цен золотых слитков в белорусских рублях).
 
В новой версии эта проблема исправлена.
А также добавлены пресеты, появлявшиеся в этой и других темах.
 
Также, поскольку drop.io приказал долго жить, ссылки на новые версии пока будут выкладываться так:
http://dl.dropbox.com/u/2812163/UniRates/UniRates_1.5.2.zip
 
P.S. В "специальной" ветке 1.6.х упомянутый баг ещё не исправлен. Дайте знать, если кому-то нужно это исправление.
Я все еще пользуюсь специальной версией. Не забывайте про нее Well
с загрузкой данных, которая периодически всплывает. Но я не могу пока отследить точный алгоритм вылета. Сейчас например загрузил данные с одного ПИФа, все Ок. Потом загружаю данные с другого ПИФа .. все вроде бы Ок. Но при нажатии на вкладку "счета" .. программа вылетает и приходится из бекапа восстанавливать базу. Или если например сначала загружаю курсы с цб, затем два пифа и на третьем пифе тоже вылетает программа и этот третий пиф можно только на следующий день загрузить без вылета. Well Вот такие чудеса.
... все закачивается нормально, но на вкладке счета при пересчете остатков в валюте Рубли или в "валюте" ПИФа - происходит вылет программы.
Дим, походу в твоем плагине дело.
 
Вылетает в диалоге выбора дат для загрузки валют. С другими плагинами подобного не наблюдаю.
 
Добавил в багтреккер http://dervish.ru/bugs-item.115/
Нету у меня нигде поблизости Windows 7, чтобы нормально там всё проверить. А на XP у меня всё, вроде, работает как надо.
 
Но, на всякий случай, напиши, на каких пресетах этот вылет случается? Вдруг, получится воспроизвести проблему.
Вылетает, когда выбираю - скачать на каждый день - и период скачивания превышает 5 дней. На старой версии всё нормально - за месяц позволяет данные скачивать.
Речь про более старую версию UniRates? Какую?
Или же о версии AbilityCash?
А, может, и вовсе о "старом плагине для курсов ЦБРФ/НБРБ/НБУ"?
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" меняется постоянно!  Дальше, увеличиваю период еще на год раньше и сразу вылет. Такое же происходит, если месяцы покрутить туда-сюда.
Плагин возвращает примерный размер страницы только один раз. Потом AbilityCash вычисляет, сколько разных страниц надо скачать для выбранного диапазона и частоты, и перемножает эти числа.
 
При этом, правда, адрес страницы "на конкретную дату" программа получает из плагина, ага. Видимо, где-то в этой части проблема и есть.
Попробую поискать там ошибку, но быстрого исправления не обещаю.
чтобы не так, как Дервиш ошибки исправляет, по несколько лет To wink
 
Кстати, накопал тут у себя в бекапах старые версии кеша. На версии 216 тоже вылетает, а вот на 215 вылетов нет. Может это будет полезно.
 
Спасибо.
я использовал последней версии 162 - и со старой версией (2a215) загружается всё нормально за месяц. В последней версии АС и за 5 дней не получается загрузить.
... что проблема всё же не в плагине, а в самой AbilityCash.
По крайней мере, понятно, что именно какие-то изменения в ней эту проблему вскрыли.
 
Попробую связаться с Dervish-ем и выяснить, что именно он менял в этой части программы между 215 и 216 сборками.
Второе предложение должно было означать:
По крайней мере, если проблема в плагине, именно эти изменения в AbilityCash её выявили.
 
Так что, конечно, я первым делом буду искать ошибку у себя. Но если я буду знать, что поменялось в AbilityCash, делать это будет значительно проще.
Была она довольно заковыристой. Но теперь, похоже, больше не вылетает Well
Даже при загрузке на 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
Попробовал загрузить валюту по дням за весь текущий месяц - всё загрузилось и программа не вылетелаWell
Благодарю.
Исправленная версия доступна тут:
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
Как оказалось, 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
Добрый день, сначала хочу выразить благодарности автору плагина за замечательное дополнение.
 
По делу:
При использовании версии 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
Запустил на Win7 Home Premium SP1 x64 AbilityCash 217 с UniRates-special.dll версии 1.6.5
Как и у вас, установил пресеты cbr.ru,cbr.ru-metall
И курсы валют, и цены металлов за этот месяц (на каждый понедельник) загрузились успешно.
 
Может, есть какие-то уточнения к условиям запуска?
Например, другой период загрузки, прокси-сервер...
Попробовал на другом компьютере с Win7 не вылетает.
Попробую локализовать, причину, по рузультатам напишу.
поставил себе win 7 не грузятся валюты и курсы с Центр.банка Украины (bank.gov.ua) , пробовал с cbr.ru - все нормально загружаются и валюты и курсы, а с НБУ загрузка идет а далее пустой список названий валют. в чем может быть проблема?
На WinXP те же симптомы, так что Win7 тут ни при чём.
Посмотрю сегодня, что надо исправить в пресете.
Вот исправленные настройки для НБУ:
 
[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
спасибо за ответ
поменял настройки но при загрузке пишет что устанавливается соединение с сервером , а данные не загружаются

... при копировании настроек из форума никаких лишних пробелов не закралось на концах строк?
на этом плагине заработало, спасибо большое
Если вам не нужны "навороты" специальной версии (одновременная загрузка курсов сразу из нескольких источников и расчёт кросс-курсов между разными источниками: паи в EUR + курс EUR в рублях = паи в рублях), я бы рекомендовал лучше пользоваться обычной - 1.5.х
 
Она и по размеру меньше, и код там проще - меньше шансов поймать какую-нибудь ошибку.
Кроме того, её поведение в AbilityCash - более "адекватное" (например, прогресс-бар показывает реальный прогресс и пр.)
 
А в остальном обе ветки: 1.5.х и 1.6.х работают одинаково.
Видимо дело в каком спец. софте (может настройки системы)
Проксик локальный стоит, но и на рабочем компьютере он тоже есть, а не вылетает. Прям загадка для меня.
Поставил виртуальную машину с чистой ос, попробую потестить.
И куда эти настройки вписывать?
Отредактируйте файл UniRates.ini. Дим(м), спасибо, у меня опять всё работает (плагин 1.5.1) Very we!
там стоит старая версия, с ней ета конфигурация не работает.
Билоб класно если б и ету конфигурацию включить туда
 

спасибо за плагин !!!
Дим(м), возможно ли как-то в шаблоне игнорировать регистр букв кода обозначающего валюту?
Он просто передаёт то, что прочитал со страницы, в AbilityCash.
 
Это уже AC сравнивает код с теми, что имеются в базе, и решает, является ли валюта новой.
 
В плагине я ничего с этим сделать, к сожалению, не могу.
 
Я ведь правильно понял суть проблемы?
Иначе нужно более подробное её описание.
именно в этом.
 
Прикол в том, что при получении курсов с сайта Приватбанка, регистр кода валют там периодически меняется. Т.е. доллар США иногда "USD", иногда "usd". Кеш же соответственно создает две разные валюты.
 
Вариантов решения два: просить Дервиша менять код и добавлять опцию игнорирования регистра, либо в вашем плагине добавлять фичу приведения кода валюты к верхнему регистру.
Но сразу не стал про это писать, потому что не был уверен, что проблема всё-таки именно в этом. Well
 
А во-вторых, до сих пор не уверен, что простое приведение к верхнему (или нижнему) регистру не будет никому мешать.
(делать отдельный параметр для каждого источника, мне кажется, перебор)
 
Вообще, правильнее всего, если игнорировать регистр будет именно AC.
Тогда, например, пользователь сможет сам написать код, как ему удобнее (скажем, USd), и программа будет дальше корректно работать именно с таким написанием.
 
Дервиш в последнее время довольно активно выпускает новые сборки. А добавить игнорирование регистра при сравнении кодов должно быть не сложно.
Отправьте ему предложение в раздел "Доработки" - глядишь, в следующей сборке уже и будет всё работать, как надо. Well
В двух словах: переименование валют Well
 
Уверен, некоторые пользователи с удовольствием использовали бы в программе более простые и понятные обозначения валют: "р.", "$", "€" и т.д.
 
Но тогда становится невозможным загружать курсы из интернета, поскольку в большинстве источников валюты обозначаются кодами: RUR, USD, EUR
 
Так вот, в UniRates можно предусмотреть способ преобразования этих кодов в любые другие обозначения.
 
И, как частный случай такого преобразования, можно получить временное решение проблемы регистра - просто задав переименование кода в себя же: RUR=RUR, USD=USD и т.д.
 
Работать это будет потому, что сравнивать коды UniRates будет без учёта регистра, а замену брать ровно такую, как справа от знака равенства.
А "временное" потому, что, я уверен, Дервиш скоро исправит учёт регистра при сравнении кодов и в AbilityCash Well (вы ведь написали про это в "Доработках"?)
в "Доработках", но что-то мне кажется, что Дервиш исправит это не скоро Well
 
А идея с переименованием отличная. Как продолжение иметь возможность приведения нескольких обозначений к одному, например: RUR, rur, RUB, rub, руб.= р.
 
Либо менее удобно так: RUR=р., rur=р.
 
Поскольку изменений в новой версии оказалось довольно много, я решил увеличить номер версии сразу до 2.0, и создал для неё новую ветку на форуме:
Универсальный плагин загрузки курсов v2.0
 
Добро пожаловать Well
Спасибо за оперативность! Well