<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Форум QUIK [тема: Баг SearchItems с datetime.mcs]</title>
		<link>http://forum.quik.ru</link>
		<description>Новое в теме Баг SearchItems с datetime.mcs форума  на сайте Форум QUIK [forum.quik.ru]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Tue, 21 Apr 2026 02:04:04 +0300</pubDate>
		<item>
			<title>Баг SearchItems с datetime.mcs</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message82225/topic9534/">Баг SearchItems с datetime.mcs</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_dJA4pjYH" href="/user/13952/" bx-tooltip-user-id="13952">TGB</a> написал:<br />funduk нашел баг в часто используемой функции SearchItems. Я это подтвердил (QUIK 12.8.3.3). Почему элементарная ошибка в часто используемой функции не исправляется? Чего не хватает поддержке для этого?<br />=============<br /> <br />
			<i>06.04.2026 16:53:41, TGB.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message82225/topic9534/</link>
			<guid>http://forum.quik.ru/messages/forum10/message82225/topic9534/</guid>
			<pubDate>Mon, 06 Apr 2026 16:53:41 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Баг SearchItems с datetime.mcs</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message82205/topic9534/">Баг SearchItems с datetime.mcs</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_g7Vu8t7X" href="/user/16015/" bx-tooltip-user-id="16015">funduk</a> написал:<br /> внутри SearchItems почему-то поле datetime.mcs судя по симптомам равно nil, а при получении через getItem оно равно 0.<br />=============<br />Не знаю, как у Вас, у меня это поле, полученное через getItem, вполне себе заполнено. <br />Но SearchItems его всё равно в упор не видит.<br /><table class="forum-spoiler"><thead onclick="if (this.nextSibling.style.display=='none') { this.nextSibling.style.display=''; BX.addClass(this, 'forum-spoiler-head-open'); } else { this.nextSibling.style.display='none'; BX.removeClass(this, 'forum-spoiler-head-open'); } BX.onCustomEvent('BX.Forum.Spoiler:toggle', [{node: this}]); event.stopPropagation();"><tr><th><div>Скрытый текст</div></th></tr></thead><tbody class="forum-spoiler" style="display:none;"><tr><td>
====code====
<pre>function main()
&nbsp;&nbsp;print('Вариант 2: "datetime.sec, datetime.mcs, qty, price" ======')
&nbsp;&nbsp;SearchItems("orders", 0, getNumberOf("orders")- 1,
&nbsp;&nbsp;function(sec, mcs, qty, price)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PrintVar("sec",sec)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PrintVar("mcs",mcs)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PrintVar("qty",qty)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PrintVar("price",price)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return false
&nbsp;&nbsp;end,
&nbsp;&nbsp;"datetime.sec, datetime.mcs, qty, price")
&nbsp;&nbsp;
&nbsp;&nbsp;for i=0, getNumberOf("orders")- 1 do
&nbsp;&nbsp;&nbsp;&nbsp;print(getItem("orders", i).datetime.mcs)
&nbsp;&nbsp;end
end
--==========================================================================
function PrintVar(...)
&nbsp;&nbsp;local lin = ""
&nbsp;&nbsp;for i, v in ipairs{...} do
&nbsp;&nbsp;&nbsp;&nbsp;lin = (lin ..(tostring(v)).." ")
&nbsp;&nbsp;end
&nbsp;&nbsp;PrintDbgStr(lin)
end

function print(v)
&nbsp;&nbsp;PrintDbgStr(tostring(v))
end
</pre>
=============

====code====
<pre>sec 4 
mcs 1.0 
qty 108.43 
price 
sec 35 
mcs 1.0 
qty 107.02 
price 
sec 2 
mcs 1.0 
qty 103.05 
price 
sec 49 
mcs 1.0 
qty 107.34 
price 
sec 6 
mcs 1.0 
qty 11.669 
price 
sec 30 
mcs 1.0 
qty 11.668 
price 
sec 56 
mcs 1.0 
qty 11.666 
price 
37655
104502
828018
578595
794185
797676
910705

</pre>
=============
</td></tr></tbody></table> <br />
			<i>03.04.2026 18:43:54, Ziveleos.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message82205/topic9534/</link>
			<guid>http://forum.quik.ru/messages/forum10/message82205/topic9534/</guid>
			<pubDate>Fri, 03 Apr 2026 18:43:54 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Баг SearchItems с datetime.mcs</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message82200/topic9534/">Баг SearchItems с datetime.mcs</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_0LRblyQ2" href="/user/16015/" bx-tooltip-user-id="16015">funduk</a> написал:<br /><br />Во-первых, внутри SearchItems почему-то поле datetime.mcs судя по симптомам равно nil, а при получении через getItem оно равно 0.<br /><br />=============<br />это не ошибка, прикол в том, что SearchItems &nbsp;и getitem работают с различными источниками данных.<br />===================<br />см док:<br />=====================<br /><B>SearchItems </B> -<span class="bx-font" style="font-size:;">Функция позволяет реализовать быструю<B> выборку элементов из хранилища &nbsp;терминала</B> и возвращает таблицу с индексами элементов, удовлетворяющих условию &nbsp;поиска.</span><span class="bx-font" style="font-size:;"> <br /></span>-------------------<br /><B>getItem</B> - <span class="bx-font" style="font-size:;">Функция возвращает таблицу Lua, содержащую информацию о данных <B>из строки с &nbsp;номером «Index» из таблицы с именем «TableName».</B></span><span class="bx-font" style="font-size:;"><B> <br /></B></span>-----------------------<br /><B>«А в остальном, прекрасная маркиза, всё хорошо, всё хорошо!» </B> <br />
			<i>03.04.2026 09:19:33, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message82200/topic9534/</link>
			<guid>http://forum.quik.ru/messages/forum10/message82200/topic9534/</guid>
			<pubDate>Fri, 03 Apr 2026 09:19:33 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Баг SearchItems с datetime.mcs</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message82197/topic9534/">Баг SearchItems с datetime.mcs</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			funduk нашел баг в часто используемой функции SearchItems. Я это подтвердил (QUIK 12.8.3.3). Почему элементарная ошибка в часто используемой функции не исправляется? Чего не хватает поддержке для этого? <br />
			<i>03.04.2026 07:20:31, TGB.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message82197/topic9534/</link>
			<guid>http://forum.quik.ru/messages/forum10/message82197/topic9534/</guid>
			<pubDate>Fri, 03 Apr 2026 07:20:31 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Баг SearchItems с datetime.mcs</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message82164/topic9534/">Баг SearchItems с datetime.mcs</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_x3ig2w6H" href="/user/16015/" bx-tooltip-user-id="16015">funduk</a> написал:<br />Результат:<br />=============<br /> &nbsp; &nbsp;Еще подтверждение:<br />
====code====
<pre>
message('Вариант 1: "qty,price,datetime.sec,datetime.mcs" ======')
SearchItems("orders", 0, getNumberOf("orders") - 1,
function(qty, price, sec, mcs)
&nbsp;&nbsp;&nbsp;&nbsp;message(tostring(sec))
&nbsp;&nbsp;&nbsp;&nbsp;message(tostring(mcs))
&nbsp;&nbsp;&nbsp;&nbsp;message(tostring(qty))
&nbsp;&nbsp;&nbsp;&nbsp;message(tostring(price))
&nbsp;&nbsp;&nbsp;&nbsp;return false
end,
"qty,price,datetime.sec,datetime.mcs")
------------- Результат Вариант 1 --
--&nbsp;&nbsp;Вариант 1: "qty,price,datetime.sec,datetime.mcs" ======
--&nbsp;&nbsp;0
--&nbsp;&nbsp;nil
--&nbsp;&nbsp;14.0
--&nbsp;&nbsp;21.905
-------------------------------------

message('Вариант 2: "datetime.sec, datetime.mcs, qty, price" ======')
SearchItems("orders", 0, getNumberOf("orders") - 1,
function(sec, mcs, qty, price)
&nbsp;&nbsp;&nbsp;&nbsp;message(tostring(sec))
&nbsp;&nbsp;&nbsp;&nbsp;message(tostring(mcs))
&nbsp;&nbsp;&nbsp;&nbsp;message(tostring(qty))
&nbsp;&nbsp;&nbsp;&nbsp;message(tostring(price))
&nbsp;&nbsp;&nbsp;&nbsp;return false
end,
"datetime.sec, datetime.mcs, qty, price")
------------- Результат Вариант 1 
--&nbsp;&nbsp;Вариант 2: "datetime.sec, datetime.mcs, qty, price" ======
--&nbsp;&nbsp;0
--&nbsp;&nbsp;14.0
--&nbsp;&nbsp;21.905
--&nbsp;&nbsp;nil
------

local ord = getItem('orders', 0)
message('ord.datetime.mcs : ' .. tostring(ord.datetime.mcs))
--&nbsp;&nbsp;ord.datetime.mcs : 0
----------------------------
</pre>
============= <br />
			<i>30.03.2026 17:01:50, TGB.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message82164/topic9534/</link>
			<guid>http://forum.quik.ru/messages/forum10/message82164/topic9534/</guid>
			<pubDate>Mon, 30 Mar 2026 17:01:50 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Баг SearchItems с datetime.mcs</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message82145/topic9534/">Баг SearchItems с datetime.mcs</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Скрипт:
====code====
<pre>function main()

SearchItems("all_trades", 0, getNumberOf("all_trades") - 1,
function(sec, mcs, qty, price)
&nbsp;&nbsp;&nbsp;&nbsp;PrintDbgStr(tostring(sec))
&nbsp;&nbsp;&nbsp;&nbsp;PrintDbgStr(tostring(mcs))
&nbsp;&nbsp;&nbsp;&nbsp;PrintDbgStr(tostring(qty))
&nbsp;&nbsp;&nbsp;&nbsp;PrintDbgStr(tostring(price))
&nbsp;&nbsp;&nbsp;&nbsp;local ok, err = pcall(function() PrintDbgStr(string.format("%02d&#92;t%06d&#92;t%d&#92;t%f", sec, mcs, qty, price)) end)
&nbsp;&nbsp;&nbsp;&nbsp;if not ok then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PrintDbgStr(err)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return nil
&nbsp;&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;&nbsp;return false
end,
"datetime.sec,datetime.mcs,qty,price")

local t = getItem("all_trades", 0)
PrintDbgStr(tostring(t.datetime.sec))
PrintDbgStr(tostring(t.datetime.mcs))
PrintDbgStr(tostring(t.qty))
PrintDbgStr(tostring(t.price))

end</pre>
=============
<br />Результат:<br /><br />
====code====
<pre>1&nbsp;&nbsp;&nbsp;23:03:44.848&nbsp;&nbsp;&nbsp;31036&nbsp;&nbsp;&nbsp;info.exe&nbsp;&nbsp;&nbsp;14
2&nbsp;&nbsp;&nbsp;23:03:44.848&nbsp;&nbsp;&nbsp;31036&nbsp;&nbsp;&nbsp;info.exe&nbsp;&nbsp;&nbsp;1.0
3&nbsp;&nbsp;&nbsp;23:03:44.848&nbsp;&nbsp;&nbsp;31036&nbsp;&nbsp;&nbsp;info.exe&nbsp;&nbsp;&nbsp;2789.61
4&nbsp;&nbsp;&nbsp;23:03:44.848&nbsp;&nbsp;&nbsp;31036&nbsp;&nbsp;&nbsp;info.exe&nbsp;&nbsp;&nbsp;nil
5&nbsp;&nbsp;&nbsp;23:03:44.848&nbsp;&nbsp;&nbsp;31036&nbsp;&nbsp;&nbsp;info.exe&nbsp;&nbsp;&nbsp;C:&#92;BCS_Work10&#92;QUIK_BCS&#92;lua&#92;MA server&#92;searchitems-bug.lua:10: bad argument #4 to 'format' (number has no integer representation)
6&nbsp;&nbsp;&nbsp;23:03:44.848&nbsp;&nbsp;&nbsp;31036&nbsp;&nbsp;&nbsp;info.exe&nbsp;&nbsp;&nbsp;14
7&nbsp;&nbsp;&nbsp;23:03:44.848&nbsp;&nbsp;&nbsp;31036&nbsp;&nbsp;&nbsp;info.exe&nbsp;&nbsp;&nbsp;0
8&nbsp;&nbsp;&nbsp;23:03:44.848&nbsp;&nbsp;&nbsp;31036&nbsp;&nbsp;&nbsp;info.exe&nbsp;&nbsp;&nbsp;1.0
9&nbsp;&nbsp;&nbsp;23:03:44.848&nbsp;&nbsp;&nbsp;31036&nbsp;&nbsp;&nbsp;info.exe&nbsp;&nbsp;&nbsp;2789.61</pre>
=============
<br />Во-первых, внутри SearchItems почему-то поле datetime.mcs судя по симптомам равно nil, а при получении через getItem оно равно 0.<br />Во-вторых, идёт смещение переданных параметров в функции: поле qty присваивается переменной mcs, поле price присваивается переменной qty, а переменной price ничего не достаётся.<br />В документации написано, что никакого сдвига не должно быть и mcs должно было бы получить nil<br /><br />Quik 12.2.2.8, брокер БКС, подписка на обезличенные сделки по классу INDX (печатается первая сделка за день по IMOEX2). <br />
			<i>28.03.2026 23:11:16, funduk.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message82145/topic9534/</link>
			<guid>http://forum.quik.ru/messages/forum10/message82145/topic9534/</guid>
			<pubDate>Sat, 28 Mar 2026 23:11:16 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
	</channel>
</rss>
