<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Форум QUIK [тема: Таблица не обновляется]</title>
		<link>http://forum.quik.ru</link>
		<description>Новое в теме Таблица не обновляется форума  на сайте Форум QUIK [forum.quik.ru]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Sun, 19 Apr 2026 04:50:10 +0300</pubDate>
		<item>
			<title>Таблица не обновляется</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message16348/topic1823/">Таблица не обновляется</a></b> <i>После перезапуска или переподключения квика</i> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Добрый день,<br /><br />Есть скрипт для расчета, который формирует таблицу и обновляет её если запущен руками, но после перезапуска квика или переподключении таблица не обновляется (хотя скрипт работает без ошибок), значения не наполняются, подскажите, что можно сделать и где поправить?<br /><br />Прикладываю код, два скриншота, один после запуска скрипта руками (работает правильно), другой с незаполненными полями (надо пофиксить):<br />
====code====
<pre>function OnInit()
&nbsp;&nbsp;&nbsp;is_run=true
end
function OnStop()
&nbsp;&nbsp;&nbsp;do_main=false
&nbsp;&nbsp;&nbsp;DestroyTable(id)
end
-- ******************************************************************************************************* Блок расчета и вывода КДС
function InitKDS()
&nbsp;&nbsp;&nbsp;&nbsp;id = AllocTable()
&nbsp;&nbsp;&nbsp;&nbsp;AddColumn(id, 1, "Счёт", true, QTABLE_CACHED_STRING_TYPE, 18)
&nbsp;&nbsp;&nbsp;AddColumn(id, 2, "КДС", true, QTABLE_DOUBLE_TYPE, 10)
&nbsp;&nbsp;&nbsp;AddColumn(id, 3, "Требование (до КДС = 0)", true, QTABLE_DOUBLE_TYPE, 30)
&nbsp;&nbsp;&nbsp;&nbsp;CreateWindow(id)
&nbsp;&nbsp;&nbsp;&nbsp;SetWindowCaption(id,"Расчет КДС")
&nbsp;&nbsp;&nbsp;SetWindowPos(id,1244,0,340,160)
&nbsp;&nbsp;&nbsp;for i = 0, getNumberOf("futures_client_limits") - 1 do
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if getItem("futures_client_limits",i).limit_type == 0 then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;InsertRow(id, -1)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end
&nbsp;&nbsp;&nbsp;&nbsp;end
end
function CalkKDS()
&nbsp;&nbsp;&nbsp;local ceil=math.ceil
&nbsp;&nbsp;&nbsp;local j = 1
&nbsp;&nbsp;&nbsp;local kds = 1
&nbsp;&nbsp;&nbsp;local margin = 0
&nbsp;&nbsp;&nbsp;for i = 0, getNumberOf("futures_client_limits") - 1 do
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if getItem("futures_client_limits",i)~=nil then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if getItem("futures_client_limits",i).limit_type == 0 then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local fcl = getItem("futures_client_limits",i)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (fcl.cbplimit + fcl.accruedint) ~= 0 then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;kds = ceil((fcl.cbplimit + fcl.accruedint - fcl.cbplused_for_positions + fcl.varmargin)/(fcl.cbplimit + fcl.accruedint)*1000)/1000
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if kds &#62;= 0.00 and kds &#60;= 0.20 then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SetColor(id, j, 2, RGB(255, 255, 0) ,QTABLE_DEFAULT_COLOR, QTABLE_DEFAULT_COLOR, QTABLE_DEFAULT_COLOR)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SetColor(id, j, 3, RGB(0, 255, 0) ,QTABLE_DEFAULT_COLOR, QTABLE_DEFAULT_COLOR, QTABLE_DEFAULT_COLOR)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;elseif kds &#60; 0.00 then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SetColor(id, j, 2, RGB(255, 0, 0) ,QTABLE_DEFAULT_COLOR, QTABLE_DEFAULT_COLOR, QTABLE_DEFAULT_COLOR)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;margin = ceil(fcl.cbplused_for_positions - (fcl.cbplimit + fcl.accruedint + fcl.varmargin)*1000)/1000
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SetColor(id, j, 3, RGB(255, 0, 0) ,QTABLE_DEFAULT_COLOR, QTABLE_DEFAULT_COLOR, QTABLE_DEFAULT_COLOR)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SetColor(id, j, 2, RGB(0, 255, 0) ,QTABLE_DEFAULT_COLOR, QTABLE_DEFAULT_COLOR, QTABLE_DEFAULT_COLOR) 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SetColor(id, j, 3, RGB(0, 255, 0) ,QTABLE_DEFAULT_COLOR, QTABLE_DEFAULT_COLOR, QTABLE_DEFAULT_COLOR)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mailKDS02=true
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SetCell(id, j, 1, tostring(fcl.trdaccid),0)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SetCell(id, j, 2, tostring(kds),kds)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SetCell(id, j, 3, tostring(margin), margin)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SetColor(id, j, 2, RGB(0, 255, 0) ,QTABLE_DEFAULT_COLOR, QTABLE_DEFAULT_COLOR, QTABLE_DEFAULT_COLOR)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SetCell(id, j, 1, tostring(fcl.trdaccid),0)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SetCell(id, j, 2, tostring(kds),kds)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;j = j + 1
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;end
end
-- *******************************************************************************************************
function main()
&nbsp;&nbsp;&nbsp;do_main=true
&nbsp;&nbsp;&nbsp;while isConnected()~=1 do sleep(100) end
&nbsp;&nbsp;&nbsp;sleep(5000) -- Для отображения таблицы после запуска квика
&nbsp;&nbsp;&nbsp;InitKDS()
&nbsp;&nbsp;&nbsp;while do_main do
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if isConnected()==1 then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if is_run then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CalkKDS()
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if IsWindowClosed(id) then is_run = false end
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sleep(1000)
&nbsp;&nbsp;&nbsp;end
end</pre>
============= <br />
			<img src="https://forum.quik.ru/bitrix/components/bitrix/forum.interface/show_file.php?fid=999&" width="341" height="161" /><br /><img src="https://forum.quik.ru/bitrix/components/bitrix/forum.interface/show_file.php?fid=1000&" width="338" height="161" /><br /><i>26.05.2016 12:03:43, Евгений Петров.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message16348/topic1823/</link>
			<guid>http://forum.quik.ru/messages/forum10/message16348/topic1823/</guid>
			<pubDate>Thu, 26 May 2016 12:03:43 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
	</channel>
</rss>
