Текущий остаток по бумагам

Страницы: 1
RSS
Текущий остаток по бумагам, проблема в получении значения «текущего остатка по бумагам»
 
Добрый день!
Перестала работать функция возвращения значения «текущего остатка по бумагам», в чем может проблема, думаю как то связано с появлением в квике дополнительной строчки вида лимита. По итогу нулевое значение
Код функции:

limit_kind = "2"
DepoBL= DEPO_CURRENT_BALANCE_EX (Client, FIRM, BUMAGA, ACCOUNT,limit_kind)+0
FUNC MONEY_CURRENT_BALANCE_EX(ClientCode, FirmId, TAG, curr_code,limit_kind)
n=GET_NUMBER_OF("MONEY_LIMITS")
m=0
RESULT = ""
FOR i FROM 1 to n
trade = GET_ITEM ("MONEY_LIMITS", i)
m=m+1
IF (GET_VALUE(trade, "CLIENT_CODE")==ClientCode&"") AND _
(GET_VALUE(trade, "FIRMID")==FirmId&"") AND _
(GET_VALUE(trade, "TAG")==TAG&"") AND _
(GET_VALUE(trade, "CURRCODE")==curr_code&"") AND _
(GET_VALUE(trade, "LIMIT_KIND")+0==limit_kind+0)
RESULT = GET_VALUE(trade, "CURRENT_BALANCE")+0    
BREAK
END IF
END FOR
END FUNC
 
Цитата
Константин пишет:
trade = GET_ITEM ("MONEY_LIMITS", i)
Добрый день.

Константин, почему у Вас идет обращение к таблице лимитов по деньгам, когда Вам нужен остаток по бумагам?

Должно быть так:

FUNC DEPO_CURRENT_BALANCE_EX(client_code, firmid, seccode, account,limit_kind)
n=GET_NUMBER_OF("DEPO_LIMITS")
value=0
RESULT = ""
FOR i FROM 1 to n
trade = GET_ITEM ("DEPO_LIMITS", i)
IF (GET_VALUE(trade, "CLIENT_CODE")==client_code&"") AND _
(GET_VALUE(trade, "FIRMID")==firmid&"") AND _
(GET_VALUE(trade, "SECCODE")==seccode&"") AND _
(GET_VALUE(trade, "TRDACCID")==account&"") AND _
(GET_VALUE(trade, "LIMIT_KIND")+0==limit_kind+0)
RESULT = GET_VALUE(trade, "CURRENT_BALANCE")+0
BREAK
END IF
END FOR
END FUNC
 
Согласен не ту ф-ию скопировал
у меня она в таком виде:
FUNC DEPO_CURRENT_BALANCE_EX(ClientCode, FirmId, Seccode, Account)
n=GET_NUMBER_OF("DEPO_LIMITS")
b=0
value=0
RESULT = ""
FOR i FROM 1 to n
trade = GET_ITEM ("DEPO_LIMITS", i)
b=b+1
IF (GET_VALUE(trade, "CLIENT_CODE")==ClientCode) AND _
(GET_VALUE(trade, "FIRMID")==FirmId) AND _
(GET_VALUE(trade, "SECCODE")==Seccode) AND _
(GET_VALUE(trade, "TRDACCID")==Account) 'AND _
'(GET_VALUE(trade, "LIMIT_KIND")+0==limit_kind+0)
RESULT = GET_VALUE(trade, "CURRENT_BALANCE")  
BREAK
END IF
END FOR
END FUNC
 
Цитата
Egor Zaytsev пишет:

Цитата
Константин   пишет:
trade = GET_ITEM ("MONEY_LIMITS", i)
Добрый день.

Константин, почему у Вас идет обращение к таблице лимитов по деньгам, когда Вам нужен остаток по бумагам?

Должно быть так:

FUNC DEPO_CURRENT_BALANCE_EX(client_code, firmid, seccode, account,limit_kind)
n=GET_NUMBER_OF("DEPO_LIMITS")
value=0
RESULT = ""
FOR i FROM 1 to n
trade = GET_ITEM ("DEPO_LIMITS", i)
IF (GET_VALUE(trade, "CLIENT_CODE")==client_code&"") AND _
(GET_VALUE(trade, "FIRMID")==firmid&"") AND _
(GET_VALUE(trade, "SECCODE")==seccode&"") AND _
(GET_VALUE(trade, "TRDACCID")==account&"") AND _
(GET_VALUE(trade, "LIMIT_KIND")+0==limit_kind+0)
RESULT = GET_VALUE(trade, "CURRENT_BALANCE")+0
BREAK
END IF
END FOR
END FUNC
 
Прошу прощения просто не ту ф-ию скопировал, то есть в приведенном вами варианте тоже нулевое значение получается, там у меня часть в текст записана 'AND _
'(GET_VALUE(trade, "LIMIT_KIND")+0==limit_kind+0), это я просто пробовал без учета limit_kind, в противном случае тоже не получается
 
Цитата
Константин пишет:
Прошу прощения просто не ту ф-ию скопировал, то есть в приведенном вами варианте тоже нулевое значение получается, там у меня часть в текст записана 'AND _
'(GET_VALUE(trade, "LIMIT_KIND")+0==limit_kind+0), это я просто пробовал без учета limit_kind, в противном случае тоже не получается
Константин, а что в отладчике видите?
В самой таблице (лимитов по бумагам) значение есть?
 
Да, но сейчас таблицы клиента в квике совсем не информативные стали, в таблице "Клиентский портфель" вид лимита Тх (третья строка) вижу стоимость активов, а в "Таблице лимитов по бумагам", там совсем хаус, но там в трех позиция по сберу есть бумаги, но они там в любом случае есть
 
И я похоже понял откуда ноги растут опытным путем, выгрузил отчет по портфелю, там по сегодняшним сделкам вид лимита стоит Т365, поставил limit_kind =365 и получил текущий остаток, че за махинации и зачем. Теперь вопрос как  limit_kind вытаскиввать или циклом на год делать от 1 то 365
Страницы: 1
Читают тему
Наверх