<?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=Table.CopyByY</id>
	<title>Table.CopyByY - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://sfsys.ru/index.php?action=history&amp;feed=atom&amp;title=Table.CopyByY"/>
	<link rel="alternate" type="text/html" href="http://sfsys.ru/index.php?title=Table.CopyByY&amp;action=history"/>
	<updated>2026-04-04T11:59:59Z</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=Table.CopyByY&amp;diff=2558&amp;oldid=prev</id>
		<title>Admin: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="http://sfsys.ru/index.php?title=Table.CopyByY&amp;diff=2558&amp;oldid=prev"/>
		<updated>2021-02-07T06:53:49Z</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=Table.CopyByY&amp;diff=2557&amp;oldid=prev</id>
		<title>Admin at 14:44, 8 August 2020</title>
		<link rel="alternate" type="text/html" href="http://sfsys.ru/index.php?title=Table.CopyByY&amp;diff=2557&amp;oldid=prev"/>
		<updated>2020-08-08T14:44:47Z</updated>

		<summary type="html">&lt;p&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=CopyByY&lt;br /&gt;
|object=[[Электронная таблица SFT|Электронная таблица]]&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;
* [[Электронная таблица SFT|Электронная таблица]]}}&lt;br /&gt;
Функция производит работу в другом направлении, по сравнении с функцией [[Table.CopyByX|CopyByX]], и выполняет копирование указанной области ячеек и объектов, находящихся внутри этой области из таблицы-шаблона в текущую таблицу, начиная с ячейки, заданной атрибутами [[Table.CurPutX|CurPutX]] и [[Table.CurPutY|CurPutY]]. В момент копирования тексты и значения ячеек и объектов, являющиеся шаблонами, будут превращены в результаты их вычисления. Если третий аргумент равен 1, до начала копирования, функция переводит курсор копирования на первую строку и производит сдвиг курсора по горизонтали (размер сдвига по горизонтали определяется шириной области, которая была скопирована в таблицу до текущей). После окончания копирования функция переводит курсор копирования вниз на высоту области копирования. Если четвертый аргумент равен 1, функция не будет изменять размеры строк или столбцов в соответствии с размерами строк и столбцов копируемой области, однако, при копировании текста в ячейки, автоматически рассчитываемые размеры строк или столбцов по-прежнему будут изменены, если это необходимо. После копирования любого визуального объекта, функция вызывает событие [[OnFinishCopyObject]], если оно существует в текущем или глобальном модуле.&lt;br /&gt;
&lt;br /&gt;
На рисунке показан вид простой таблицы-шаблона. Области таблицы имеют свои имена. При использовании функции, для указания на область копирования, формат определения области следующий: &amp;lt;code&amp;gt;&amp;lt;Имя области шаблона&amp;gt;[|&amp;lt;Имя области шаблона пересекающегося измерения&amp;gt;]&amp;lt;/code&amp;gt; либо &amp;lt;code&amp;gt;&amp;lt;Имя области шаблона&amp;gt;[,&amp;lt;Имя области шаблона пересекающегося измерения&amp;gt;]&amp;lt;/code&amp;gt;, либо прямое указание на область копирования &amp;lt;code&amp;gt;&amp;lt;Левый столбец области&amp;gt;:&amp;lt;Верхняя строка области&amp;gt;,&amp;lt;Правый столбец области&amp;gt;:&amp;lt;Нижняя строка области&amp;gt;&amp;lt;/code&amp;gt; (нумерация начинается с единицы). Т.е., для именованных областей на рисунке, &amp;lt;code&amp;gt;v1&amp;lt;/code&amp;gt; будет подразумеваться область ячеек в диапазоне &amp;lt;code&amp;gt;1:1,&amp;lt;ширина таблицы&amp;gt;:6&amp;lt;/code&amp;gt;; для &amp;lt;code&amp;gt;h1&amp;lt;/code&amp;gt; подразумевается область &amp;lt;code&amp;gt;1:1,2:9&amp;lt;/code&amp;gt; (9 -- высота таблицы); для &amp;lt;code&amp;gt;h1|v2&amp;lt;/code&amp;gt; подразумевается область &amp;lt;code&amp;gt;1:7,2:7&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=435px heights=271px&amp;gt;&lt;br /&gt;
Table Template Ex.png||Рис. Простая таблица-шаблон с именованными областями для копирования&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
При копировании в новую таблицу области &amp;quot;h1|v2&amp;quot; с рисунка с помощью функции ''CopyByX'':&lt;br /&gt;
# Если второй аргумент равен 1, атрибут [[Table.CurPutY|CurPutY]] примет значение 1, а [[Table.CurPutX|CurPutX]] увеличится на ширину предыдущей области.&lt;br /&gt;
# Будут скопированы ячейки диапазона &amp;lt;code&amp;gt;1:7,2:7&amp;lt;/code&amp;gt; в результирующую таблицу в область, начинающуюся с верхней левой ячейки &amp;lt;code&amp;gt;&amp;lt;CurPutX&amp;gt;:&amp;lt;CurPutY&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
# Будет произведен поиск переменной &amp;lt;code&amp;gt;пДата&amp;lt;/code&amp;gt; и значение копируемой ячейки будет изменено на ее значение (если переменная не существует, будет вызвано исключение). Для копируемых ячеек, содержащих вычисляемые выражения, а не просто переменные, будет произведено вычисление выражений.&lt;br /&gt;
# Атрибут [[Table.CurPutY|CurPutY]] увеличится на 1 (высота области).&lt;br /&gt;
# Если третий параметр равен нулю, в таблице, в которую производится копирование, будет изменена ширина столбцов ''CurPutX-2'' и ''CurPutX-1'' в соответствии с шириной столбца 1 и 2 таблицы-шаблона, высота строки будет подсчитана автоматически исходя из высот всех ячеек, уже находящихся в строке ''CurPutY'' (так как строка на рисунке имеет установку автоматической высоты).&lt;br /&gt;
# Будут скопированы неразрывные регионы, попадающие в область (в данном примере отсутствуют).&lt;br /&gt;
# Будут скопированы разбиения страницы, попадающие в область (в данном примере отсутствуют).&lt;br /&gt;
# Будут скопированы объекты таблицы, попадающие в область (в данном примере отсутствуют), для значений объектов, с установленным флажком &amp;quot;значение для вычисления&amp;quot;, значения будут вычислены, как это происходило для значений ячеек. Для каждого скопированного объекта, будет вызвано событие [[OnFinishCopyObject]].&lt;br /&gt;
&lt;br /&gt;
== Синтаксис ==&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
{{Grey|Table.}}'''CopyByY'''(''&amp;lt;Указание на область таблицы-шаблона (STRING)&amp;gt;''{{Optional|,&amp;lt;Перейти на новый столбец до добавления области (INT)&amp;gt;{{Default|{{Eq}}0}},&amp;lt;Не производить изменения размеров столбцов или строк (INT)&amp;gt;{{Default|{{Eq}}0}}}})&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Аргументы ====&lt;br /&gt;
* &amp;lt;code&amp;gt;''&amp;lt;Указание на область таблицы-шаблона (STRING)&amp;gt;''&amp;lt;/code&amp;gt; - Строковой аргумент в формате наименований областей или прямого указания на ячейки таблицы-шаблона (см. выше).&lt;br /&gt;
* &amp;lt;code&amp;gt;''&amp;lt;Перейти на новый столбец до добавления области (INT)&amp;gt;''&amp;lt;/code&amp;gt; - {{Optional}} Если аргумент равен 1, атрибут [[Table.CurPutY|CurPutY]] принимает значение 1, а [[Table.CurPutX|CurPutX]] увеличивается на ширину предыдущей добавленной области до начала копирования (см. пример выше).&lt;br /&gt;
* &amp;lt;code&amp;gt;''&amp;lt;Не производить изменения размеров столбцов или строк (INT)&amp;gt;''&amp;lt;/code&amp;gt; - {{Optional}} Задает режим, когда пересчета ширины столбцов или высоты строк таблицы результата, попадающих в диапазон копирования, для которых не установлен признак &amp;quot;автоматическое изменение&amp;quot;, не будет происходить. Это немного увеличивает скорость копирования и может использоваться, если размеры уже заданы, и в шаблоне они неверные.&lt;br /&gt;
&lt;br /&gt;
== Примеры ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Т.CopyByY(&amp;quot;v1|h1&amp;quot;,1);&lt;br /&gt;
For i:=1 To СпСтроки.Size() Do&lt;br /&gt;
&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
  Т.CopyByY(&amp;quot;v1|h2&amp;quot;);&lt;br /&gt;
EndDo;&lt;br /&gt;
Т.CopyByY(&amp;quot;v1|h3&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
Т.Options.FixedLine:=Т.Height();&lt;br /&gt;
Т.Options.FixedColumn:=4;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
</feed>