<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://sfsys.ru/index.php?action=history&amp;feed=atom&amp;title=Tab.FindAndGoto</id>
	<title>Tab.FindAndGoto - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://sfsys.ru/index.php?action=history&amp;feed=atom&amp;title=Tab.FindAndGoto"/>
	<link rel="alternate" type="text/html" href="http://sfsys.ru/index.php?title=Tab.FindAndGoto&amp;action=history"/>
	<updated>2026-04-04T10:13:51Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.31.1</generator>
	<entry>
		<id>http://sfsys.ru/index.php?title=Tab.FindAndGoto&amp;diff=5140&amp;oldid=prev</id>
		<title>Admin: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="http://sfsys.ru/index.php?title=Tab.FindAndGoto&amp;diff=5140&amp;oldid=prev"/>
		<updated>2025-12-27T17:07:36Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 17:07, 27 December 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>http://sfsys.ru/index.php?title=Tab.FindAndGoto&amp;diff=5139&amp;oldid=prev</id>
		<title>1&gt;Admin at 08:12, 12 December 2025</title>
		<link rel="alternate" type="text/html" href="http://sfsys.ru/index.php?title=Tab.FindAndGoto&amp;diff=5139&amp;oldid=prev"/>
		<updated>2025-12-12T08:12:16Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 08:12, 12 December 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l13&quot; &gt;Line 13:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 13:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Объекты]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Объекты]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Таблица]]}}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Таблица]]}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Функция производит поиск значения в таблице, с возможным указанием начального индекса поиска, возможным указанием столбца поиска. Поиск может принимать во внимание факт того, что таблица сортирована по указанному столбцу по неубыванию, что может значительно ускорить нахождение значения. Если значение найдено, индекс строки или/и столбца, где оно было найдено, возвращается в переменных второго и третьего аргументов, функция также автоматически изменяет индекс текущей строки на индекс строки найденного значения, текущая строка не изменяется, если значение не найдено. Поиск может осуществляться как по строкам в определенном столбце, так и по столбцам в указанной строке. Функция также может осуществлять поиск по всей таблице. Функция работает как последовательный вызов функций [[Tab.Find|Find]] и [[Tab.Goto|Goto]] с доп. условием.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Функция производит поиск значения в таблице, с возможным указанием начального индекса поиска, возможным указанием столбца поиска. Поиск может принимать во внимание факт того, что таблица сортирована по указанному столбцу по неубыванию, что может значительно ускорить нахождение значения. Если значение найдено, индекс строки или/и столбца, где оно было найдено, возвращается в переменных второго и третьего аргументов, функция также автоматически изменяет индекс текущей строки на индекс строки найденного значения, текущая строка не изменяется, если значение не найдено. Поиск может осуществляться как по строкам в определенном столбце, так и по столбцам в указанной строке. Функция также может осуществлять поиск по всей таблице. Функция работает как последовательный вызов функций [[Tab.Find|Find]] и [[Tab.Goto|Goto]] с доп. условием&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;. '''Важное замечание:''' для многопотоковых обращений эта функция может вызвать проблемы, так как использует атрибут [[Tab.CurLine|CurLine]], который не рекомендуется использовать в многопоточном режиме (not thread-safe). Если обращение к таблице просходит из разных потоков, лучше использовать функцию [[Tab.Find|Find]] с нахождением индекса и индексировать ячейки таблицы через этот индекс (к примеру, &amp;lt;code&amp;gt;Таб2[&amp;quot;Столбец&amp;quot;,аИндекс]&amp;lt;/code&amp;gt;)&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Синтаксис ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Синтаксис ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>1&gt;Admin</name></author>
		
	</entry>
	<entry>
		<id>http://sfsys.ru/index.php?title=Tab.FindAndGoto&amp;diff=2380&amp;oldid=prev</id>
		<title>Admin: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="http://sfsys.ru/index.php?title=Tab.FindAndGoto&amp;diff=2380&amp;oldid=prev"/>
		<updated>2021-02-07T06:53:29Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 06:53, 7 February 2021&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>http://sfsys.ru/index.php?title=Tab.FindAndGoto&amp;diff=2379&amp;oldid=prev</id>
		<title>Admin: /* Аргументы */</title>
		<link rel="alternate" type="text/html" href="http://sfsys.ru/index.php?title=Tab.FindAndGoto&amp;diff=2379&amp;oldid=prev"/>
		<updated>2020-03-10T16:42:14Z</updated>

		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Аргументы&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{infobox function&lt;br /&gt;
|name=FindAndGoto&lt;br /&gt;
|object=[[Таблица]]&lt;br /&gt;
|caption=Поиск в ячейках&lt;br /&gt;
|type=1&lt;br /&gt;
|status=2&lt;br /&gt;
|db=0&lt;br /&gt;
|exception=Неверный индекс строки, столбца, невозможно превратить в число, строку&lt;br /&gt;
|visual=0}}&lt;br /&gt;
{{HeadLinks|&lt;br /&gt;
* [[Main_Page|Начальная страница]]&lt;br /&gt;
* [[Общее_описание_языка|Общее описание]]&lt;br /&gt;
* [[Объекты]]&lt;br /&gt;
* [[Таблица]]}}&lt;br /&gt;
Функция производит поиск значения в таблице, с возможным указанием начального индекса поиска, возможным указанием столбца поиска. Поиск может принимать во внимание факт того, что таблица сортирована по указанному столбцу по неубыванию, что может значительно ускорить нахождение значения. Если значение найдено, индекс строки или/и столбца, где оно было найдено, возвращается в переменных второго и третьего аргументов, функция также автоматически изменяет индекс текущей строки на индекс строки найденного значения, текущая строка не изменяется, если значение не найдено. Поиск может осуществляться как по строкам в определенном столбце, так и по столбцам в указанной строке. Функция также может осуществлять поиск по всей таблице. Функция работает как последовательный вызов функций [[Tab.Find|Find]] и [[Tab.Goto|Goto]] с доп. условием.&lt;br /&gt;
&lt;br /&gt;
== Синтаксис ==&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
{{Grey|Tab.}}'''FindAndGoto'''(''&amp;lt;Значение поиска&amp;gt;''{{OptionalByRef|,&amp;lt;Начальный индекс поиска, результирующий индекс (INT)&amp;gt;,&amp;lt;Наименование или индекс столбца поиска, индекс результирующего столбца (STRING,INT)&amp;gt;}}{{Optional|,&amp;lt;Таблица сортирована по столбцу поиска (INT)&amp;gt;}}):''&amp;lt;Значение найдено 1 или 0 (INT)&amp;gt;''&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Аргументы ====&lt;br /&gt;
* &amp;lt;code&amp;gt;''&amp;lt;Значение поиска&amp;gt;''&amp;lt;/code&amp;gt; - Произвольное значение, которое необходимо найти в таблице. Если значение представляет собой список, для каждого проверяемого значения, будет производиться поиск в списке. Если искомое значение является объектом базы данных, поиск будет осуществляться с учетом возможного вхождения в папки (т.е., будет выполнена операция, аналогичная [[List.Contains|Contains]]. Сортировка таблицы не будет приниматься во внимание, для поисков внутри списка.&lt;br /&gt;
* &amp;lt;code&amp;gt;''&amp;lt;Начальный индекс поиска, результирующий индекс (INT)&amp;gt;''&amp;lt;/code&amp;gt; - {{Optional}}{{ByRef}} Числовой аргумент, задающий начальный индекс строки поиска. Если аргумент является переменной, и значение было найдено, переменная будет обновлена индексом найденной строки.&lt;br /&gt;
* &amp;lt;code&amp;gt;''&amp;lt;Наименование или индекс столбца поиска, индекс результирующего столбца (STRING,INT)&amp;gt;''&amp;lt;/code&amp;gt; - {{Optional}}{{ByRef}} Строковое значение аргумента задает наименование столбца, значение ячейки которого необходимо найти, числовое значение задает номер этого столбца (нумерация столбца происходит с единицы). Если аргумент является переменной, которая содержала ноль при вызове функции, и значение было найдено, переменная будет обновлена индексом найденного столбца.&lt;br /&gt;
* &amp;lt;code&amp;gt;''&amp;lt;Таблица сортирована по столбцу поиска (INT)&amp;gt;''&amp;lt;/code&amp;gt; - {{Optional}} Возможные значения 0 и 1. Если таблица была предварительно отсортирована столбцу поиска по неубыванию, будет происходить поиск с учетом сортировки (ускорение). Пример сравнения скорости работы функции для сортированных и не сортированных массивов см. ниже. Сортированный поиск будет работать только в случае, когда столбец поиска указан, если поиск производится по всей таблице или по одной строке, значение параметра будет игнорировано. '''Важно''': если таблица не была отсортирована по столбцу поиска, сортированный поиск не будет работать корректно.&lt;br /&gt;
&lt;br /&gt;
==== Возвращаемое значение ====&lt;br /&gt;
Возвращается единица, если значение найдено, иначе возвращает ноль. Если значение было найдено, также обновляются переменные индекса поиска и/или столбца поиска и индекс текущей строки (''CurLine'').&lt;br /&gt;
&lt;br /&gt;
== Примеры ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//Создается и заполняется таблица значений&lt;br /&gt;
aTab:=Tab.Create(&amp;quot;b1,b2,b3,b4&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
aTab.AddLine(&amp;quot;b1,b2,b3,b4&amp;quot;,1,2,3,4);&lt;br /&gt;
aTab.AddLine(&amp;quot;b1,b2,b3,b4&amp;quot;,2,2,3,33);&lt;br /&gt;
aTab.AddLine(&amp;quot;b1,b2,b3,b4&amp;quot;,3,5,5,4);&lt;br /&gt;
aTab.AddLine(&amp;quot;b1,b2,b3,b4&amp;quot;,4,2,3,4);&lt;br /&gt;
aTab.AddLine(&amp;quot;b1,b2,b3,b4&amp;quot;,4,2,3,77);&lt;br /&gt;
aTab.AddLine(&amp;quot;b1,b2,b3,b4&amp;quot;,5,2,3,4);&lt;br /&gt;
&lt;br /&gt;
If aTab.FindAndGoto(5,,&amp;quot;b2&amp;quot;) Then&lt;br /&gt;
  Message(&amp;quot;Значение столбца b1 строки &amp;quot;+aTab.CurLine+&amp;quot;,где в столбце b2 было найдено число 5: &amp;quot;+aTab.b1);&lt;br /&gt;
EndIf;&lt;br /&gt;
&lt;br /&gt;
iCol:=0;&lt;br /&gt;
If aTab.FindAndGoto(33,2,iCol) Then&lt;br /&gt;
  Message(&amp;quot;Для строки 2 число 33 найдено в столбце &amp;quot;+aTab.GetColumnName(iCol));&lt;br /&gt;
EndIf;&lt;br /&gt;
&lt;br /&gt;
iCol:=0;&lt;br /&gt;
If aTab.FindAndGoto(77,,iCol) Then&lt;br /&gt;
  Message(&amp;quot;Значение столбца b1 строки &amp;quot;+aTab.CurLine+&amp;quot;,где в столбце &amp;quot;+aTab.GetColumnName(iCol)+&amp;quot; было найдено число 77: &amp;quot;+aTab.b1);&lt;br /&gt;
EndIf;&lt;br /&gt;
&lt;br /&gt;
//Будет выведено последовательно:&lt;br /&gt;
//&amp;quot;Значение столбца b1 строки 3,где в столбце b2 было найдено число 5: 3&amp;quot;&lt;br /&gt;
//&amp;quot;Для строки 2 число 33 найдено в столбце B4&amp;quot;&lt;br /&gt;
//&amp;quot;Значение столбца b1 строки 5,где в столбце B4 было найдено число 77: 4&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Сравнение скорости работы функций с сортировкой и функций без сортировки ===&lt;br /&gt;
{{Пример поиска в сортированных таблицах}}&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
</feed>