> For the complete documentation index, see [llms.txt](https://leossnet.gitbook.io/jetcalc/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://leossnet.gitbook.io/jetcalc/soderzhimoe-dokumenta/stroki.md).

# 6.2. Строки

В системе JetCalc каждая строка имеет свой **уникальный код**. Все строки организованы в виде дерева, на самом верхнем уровне которого находятся корневые узлы документов. Строки, как и колонки, делятся на две категории:

* **первичные**, содержащие значения, хранящиеся в базе данных;
* **формульные**, предназначенные для определения формул, на основании которых вычисляются значения ячеек в момент открытия или обновления документа по данным первичных значений ячеек.

Строки настраиваются в контексте каждого отдельного документа на вкладках **Добавление строк** и **Настройка строк**.

## Создание дерева строк

Для создания дерева строк предназначена отдельная вкладка **Добавление строк**, доступ к которой предоставляются пользователям с привилегией **Создание дерева строк**.

Внешний вид панели для добавления строк представлен на следующем рисунке:

![](https://640371188-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lbn4ETTWljOikkGTsy5%2F-Lbn4Gh85_O07ucHCF_s%2F-Lbn4Kl08YkURxMLq1gv%2Fdoc_row_add.png?generation=1554561466768439\&alt=media)

Для вновь созданного документа на панели выводится только строка, содержащая корневой узел, который является отправной точкой для формирования дерева строк документа.

Чтобы добавить новую строку в документ, которая одновременно станет первой дочерней строкой корневого узла, нужно просто в колонке **Номер** ввести внешний код строки, затем нажать клавишу табуляции и ввести наименование строки в колонке **Название**. После этих действий пользователя система автоматически выполнит следующие шаги:

1. Установит для строки первый **уровень вложенности** в виде одного треугольника, вершиной ориентированного вправо. Количество треугольников обозначает уровень вложенности. Чтобы изменить уровень вложенности, нужно ввести целое положительное значение. По нажатию **F2** ячейка с уровнем вложенности переходит в режим редактирования, при этом вместо треугольников выводится целочисленное значение. Уровень вложенности можно установить до и после сохранения введенных строк.&#x20;
2. Переформирует **индекс** (порядковый номер), в соответствии с которым строки будут отсортированы сверху вниз в документе.&#x20;
3. Сформирует уникальный **код строки** путем соединения кода корневого узла и номера строки. Если до ввода наименования строки первоначально не ввести код, то система самостоятельно сформирует код в соответствии с внутренним алгоритмом. В любом случае ранее введенный код можно изменить в режиме редактирования, либо введя код непосредственно, либо перейдя в режим редактирования по нажатию F2 и последующего изменения отдельных цифр.
4. Установит **код родительского узла** (строки) в колонке КодРодит.Узла. Код родительского узла нельзя изменить вручную. Код родительского узла изменяется только после сохранения сделанных изменений в дереве строк.&#x20;

| Все сделанные изменения вступают в силу только после нажатия на кнопку Сохранить данные (значок в виде дискеты) или сочетания клавиш Ctrl+S. |
| -------------------------------------------------------------------------------------------------------------------------------------------- |

Для ввода большого количества данных рекомендуется предварительно подготовить структуру документа в электронных таблицах, например **MS Excel**. Внешний вид такой предварительно подготовленной структуры может выглядеть следующим образом:

![](https://640371188-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lbn4ETTWljOikkGTsy5%2F-Lbn4Gh85_O07ucHCF_s%2F-Lbn4Kl2YxESfoELnq-a%2Frows_from_excel.png?generation=1554561466311160\&alt=media)

Затем достаточно выделить в MS Excel область с данными, затем вставить в JetCalc методом копирования **Ctrl+C** и последующей вставки **Ctrl+V**. До первого сохранения рекомендуется сразу настроить уровень вложенности путем ввода чисел, в приведенном примере от 1 до 2, вернее поставить цифру 2 в нужных местах, а затем выполнить **сохранение**, нажав на кнопку **Сохранить данные** или **Ctrl+S**.

После сохранения первоначальной версии структуры документа может возникнуть потребность внести некоторые изменения в ранее настроенную структуру. JetCalc предоставляет следующие возможности по редактированию структуры документа:

1. **Добавление новой строки** на любом уровне вложенности. Для этого достаточно щелкнуть правой кнопкой мыши по строке и выбрать пункт контекстного меню **Добавить строку**. В результате под выбранной строкой появится новая строка с автоматически сформированным кодом и пустым названием. После этого нужно ввести название строки, изменить при необходимости код строки и установить уровень вложенности, не забыв в конце всех этих действий нажать **Ctrl+S**.
2. **Изменить уровень вложенности** строки. Для этого достаточно ввести в колонке Уровень вложенности целое число, соответствующее нужному уровню вложенности, после чего нажать **Ctrl+S**.
3. **Удалить строку**. Для этого нужно поставить крыжи для удаляемых строк в колонке **Удалить** и нажать **Ctrl+S**. Для предотвращения массового случайного удаления в JetCalc можно удалять только строки, которые не имеют  дочерних узлов. Поэтому для удаления узла с дочерними строками необходимо предварительно удалить все дочерние строки и только затем удалить родительскую строку.&#x20;
4. **Вставить ссылку на произвольную строку** любого документа, включая содержащую дочерние строки. В этом случае  в документе вместо строки текущего документа будет отображаться дерево строк из другого документа.&#x20;
5. **Переместить строку** в произвольное место как текущего, так и любого другого документа. Для этого нужно щелкнуть правой кнопкой мыши и в контекстном меню выбрать пункт **Вырезать**. В результате в правом краю экрана появится окно с выбранной строкой. Затем перейти в нужный документ, щелкнуть правой кнопкой мыши по строке, под которой нужно добавить вырезанную строку и в контекстном меню выбрать пункт **Добавить после.** После всех перемещений строк нажать **Ctrl+S**.

## Настройка дерева строк

Для создания дерева строк предназначена отдельная вкладка **Настройка строк**, доступ к которой предоставляются пользователям с привилегией **Настройка строк**. Все параметры настройки разделены на пять разделов:

* **Параметры** - настройка внешнего вида строк;
* **Фильтры** - видимость отдельных строк, определяемая в зависимости от контекста документа;
* **Формулы** - настройка формул строк и сопутствующих атрибутов;
* **Суммирование** - атрибуты суммирования по дереву строк;
* **Транзакции** - ссылки на справочники, используемые в бизтран-документах.

Ниже приведено описание разделов **Параметры** и **Фильтры**. Описание разделов **Формулы** и **Суммирование** содержится в главе [Формулы](/jetcalc/soderzhimoe-dokumenta/formuli.md), а вкладки Транзакции - в главе [Бизнес-транзакции](/jetcalc/tranzaktsii.md).

### Параметры

Внешний вид раздела **Параметры** в панели **Настройка Строк** представлен на следующем рисунке:

![](https://640371188-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lbn4ETTWljOikkGTsy5%2F-Lbn4Gh85_O07ucHCF_s%2F-Lbn4KlKjj5kfjCcDVGU%2Fdoc_row_edit.png?generation=1554561466566929\&alt=media)

В данном разделе для каждой строки могут быть установлены следующие атрибуты:

* **Единица измерения** - устанавливается для каждой строки единица измерения из справочника; подробнее см. раздел [Единицы измерения](/jetcalc/soderzhimoe-dokumenta/edinitsi-izmereniya.md);
* **Стиль** - устанавливается для ячеек строки стиль, включающий параметры шрифта и фоновый цвет, определяемый отдельно для отрицательных, положительных и нулевых значений; подробнее см. раздел [Стили оформления](/jetcalc/soderzhimoe-dokumenta/stili-yacheek.md);
* **Формат** - устанавливается для ячеек строки формат числовых значений; подробнее см. раздел [Форматы чисел](/jetcalc/soderzhimoe-dokumenta/formati-chisel.md);
* **Валюта** - для отдельных строк документа может переопределяться валюта по умолчанию, установленная на уровне документа;&#x20;
* **Аналитический документ** - признак, определяющий видимость строки в зависимости от включения/отключения кнопки меню **Аналитические строки**;
* **Контрольная точка** - признак, устанавливающий признак контрольной точки на уровне строки; подробнее см. раздел [Контрольные точки](/jetcalc/kontolnye-funkcii/kontrolnie-tochki.md).

### Фильтры

Внешний вид раздела **Фильтры** в панели **Настройка Строк** представлен на следующем рисунке:

![](https://640371188-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lbn4ETTWljOikkGTsy5%2F-Lbn4Gh85_O07ucHCF_s%2F-Lbn4KlMS4ZXma2pLspb%2Frow_filter.png?generation=1554561461916399\&alt=media)

В данном разделе для каждой строки могут быть установлены следующие атрибуты определяемые видимость строки в контексте открытого документа (для документов с дочерними объектами учета под текущим объектом учета подразумевается дочерний объект):

* **Включить фильтр** - атрибут, включающий режим фильтрации для текущей и всех дочерних строк; атрибут может устанавливаться как на уровне корневого узла документа, так и для отдельных узлов;
* **Выключить фильтр** - атрибут, отменяющий действие режима фильтрации для текущей и всех дочерних строк;
* **Текущий объект** - атрибут, устанавливающий видимость строк для текущего объекта учета; для документов с дочерними объектами учета под текущим объектом учета подразумевается дочерний объект;
* **Текущий тип** - атрибут, устанавливающий видимость строк для всех объектов учета, у которых тип совпадает с типом текущего объекта учета;
* **Текущий класс** - атрибут, устанавливающий видимость строк для всех объектов учета, у которых класс совпадает с типом текущего объекта учета;
* **Не для отчетов** - атрибут, отключающий видимость строки в отчетах;
* **Не для форм ввода** - атрибут, отключающий видимость строки в формах ввода;
* **До года** -  устанавливается год, при наличии которого строка выводится, если числовое значение года контекста открытого документа меньше, чем установленное значение;
* **С года** - устанавливается год, при наличии которого строка выводится, если числовое значение года контекста открытого документа больше или равно, чем установленное значение;
* **По группам** - атрибут, устанавливающий одну или несколько групп объектов учета, определяющий видимость строк только для тех объектов учета, которые входят любую из этих групп.
