|
Запрос для получения курсов валют в 1С 7.x
|
|||
---|---|---|---|
#18+
Уважаемые специалисты! Подскажите пожалуйста SQL запрос, с помощью которого можно получить текущие курсы валют (относительно рубля) из базы 1С (MS SQL 2000) к примеру в виде пар валюта/значение. Заранее спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2008, 16:27 |
|
Запрос для получения курсов валют в 1С 7.x
|
|||
---|---|---|---|
#18+
где-нибудь, например, во внешнем отчёте, написать такую процедурку Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.
... |
|||
:
Нравится:
Не нравится:
|
|||
31.01.2008, 08:52 |
|
Запрос для получения курсов валют в 1С 7.x
|
|||
---|---|---|---|
#18+
правда Ваша пока не знаю, но можно из VB обратиться к MS SQL 2000, если знать как называется таблица и поля ... |
|||
:
Нравится:
Не нравится:
|
|||
31.01.2008, 10:45 |
|
Запрос для получения курсов валют в 1С 7.x
|
|||
---|---|---|---|
#18+
Почитай здесь http://www.1csql.ru/materials/articles/develop.html~2492b0b0-faab-e57b-f027-eca1db45b3ac ... |
|||
:
Нравится:
Не нравится:
|
|||
31.01.2008, 12:04 |
|
Запрос для получения курсов валют в 1С 7.x
|
|||
---|---|---|---|
#18+
SELECT value FROM _1sconst h WHERE h.objid = <%obj_id%> AND h.id = <%field_id%> AND h.date = (SELECT (MAX(hh.date)) FROM _1SCONST hh WHERE (h.objid = hh.objid) AND (hh.id = h.id) AND hh.date <= <%date%> Занимательно. Однако не возьму в толк - почему нельзя написать просто в первом SELECT h.date=<%date%> - нафига максимум второй выборки искать. Ведь в 7.7 дата хранится без времени - то есть - одна запись на дату. В 8.х - там дата - это дата+время. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.01.2008, 15:32 |
|
Запрос для получения курсов валют в 1С 7.x
|
|||
---|---|---|---|
#18+
Lunx Занимательно. Однако не возьму в толк - почему нельзя написать просто в первом SELECT h.date=<%date%> - нафига максимум второй выборки искать. Ведь в 7.7 дата хранится без времени - то есть - одна запись на дату. В 8.х - там дата - это дата+время. Видиш ли в чем дело в таблице констант хранятся пары дата - значение (условно), необязательно последнее значение имеет текущую дату, не обязательно что все валюты имеют последнее значение на одну дату. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.01.2008, 15:49 |
|
Запрос для получения курсов валют в 1С 7.x
|
|||
---|---|---|---|
#18+
To Reder - согласен - ступил, даст пустой результат выборки если просто поставить =. А статья действительно занимательная. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.01.2008, 16:00 |
|
Запрос для получения курсов валют в 1С 7.x
|
|||
---|---|---|---|
#18+
Спасибо за ответы, прочитал статью, маленько разобрался со структурой базы. Опытным путем установил, что в моем случае запрос выглядит так (для USD): SELECT value FROM _1sconst h WHERE h.objid LIKE '%1%' AND h.id = 128 AND h.date = (SELECT (MAX(hh.date)) FROM _1SCONST hh WHERE (h.objid = hh.objid) AND (hh.id = h.id) AND hh.date <= <%Сегодняшняя дата%> До h.id = 128 я просто догадался, как я понимаю этот идентификатор указывает на то, что речь идет о валютах. Однако в самой таблице валют (SC125) никаких намеков на 128 нет. Кто-нибудь может пояснить этот момент? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2008, 13:38 |
|
Запрос для получения курсов валют в 1С 7.x
|
|||
---|---|---|---|
#18+
P.S. Кстати в моем случае (я работаю с ADO) можно было построить запрос иначе, выбрать все записи с нужным objid и id, упорядочить по date DESC, но выбрать толко первую полученную строку, манипулируя курсором объекта recordset. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2008, 13:49 |
|
|
start [/forum/topic.php?fid=28&fpage=174&tid=1525015]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
40ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 136ms |
0 / 0 |