1s skd масив от агрегатни функции. SKD. Показване на таблична информация в една клетка. Създаване на нов отчет

В тази кратка бележка искам да покажа как можете да обобщите стойности на различни нива на групиране в отчет, като използвате система за съставяне на данни.
Както е показано на изображението, само на ниво групиране "Групи артикули" ресурсът "Поръчка" се изчислява, той показва колко да поръчате за текущата група артикули въз основа на определени условия:


Тази стойност може да се изчисли само за дадено нивогрупиране, защото отгоре или отдолу няма стойности за изчисляване. Например на ниво подробни записи няма данни за максималния брой в група, тъй като тези данни са верни само за групата като цяло, а не за отделните й компоненти.

Съответно, сега е необходимо да се изчислят общите суми за по-високите групи („Складове“, „Видове складове“) и общата сума.
За целта се използва функцията Изчисляване на израз с групиран масив:
ОЦЕНЯВАНЕ НА ИЗРАЗ ЗА ГРУПИРАНЕ НА МАСИВ (EVALEXPRESSIONWITHGROUPARRAY)
Синтаксис:
ComputeExpressionGroupedArray(,)
Описание:
Функцията връща масив, всеки елемент от който съдържа резултата от изчисляването на израза за групиране по зададеното поле.
Създателят на оформление, когато генерира оформление, преобразува параметрите на функцията в термини на полета за оформление на оформление на данни. Например полето Account ще бъде преобразувано в Dataset. Account.
Конструкторът на оформление, когато генерира изрази за показване на персонализирано поле, чийто израз съдържа само функцията CalculateArrayWithGroupArray(), генерира изходния израз по такъв начин, че изходната информация е подредена. Например за потребителско поле с израз:

Изчислете ExpressionWith GroupingArray("Amount(AmountTurnover)", "Counterparty")
Създателят на оформление ще генерира следния израз за изход:

ConcatenateStrings(Array(Order(CalculateGroup ExpressionValueTable("View(Amount(DataSet.AmountTurnover)),Amount(DataSet.AmountTurnover)","DataSet.Counterparty"),"2")))

Настроики:

Тип: низ. Изразът, който трябва да се оцени. Низ, например Amount(AmountTurnover).

Тип: низ. Групиране на изрази на полета – групиране на изрази на полета, разделени със запетаи. Например Изпълнител, Страна.

Тип: низ. Израз, който описва филтъра, приложен към подробни записи. Агрегираните функции не се поддържат в израз. Например DeletionMark = False.

Тип: низ. Израз, който описва филтъра, приложен към групови записи. Например Сума(СумаОборот) > &Параметър1.
Пример:

Maximum(Calculate ExpressionWith GroupingArray("Amount(AmountTurnover)", "Counterparty"));

Подробно описание на синтаксиса на функцията можете да намерите на http://its.1c.ru/db/v837doc#bookmark:dev:TI000000582
Сега за изчислението ще дублираме полето „Поръчка“ с различни стойности на „Изчисляване по ...“, използвайки следните изрази, имайте предвид, че във всяко по-високо ниво, стойностите на нивата на по-ниското се използват групировки.

В резултат на това получаваме следната конструкция:

Правилното използване на схемата за съставяне на данни (SKD) ви позволява да:

  • значително намаляване на времето, необходимо за разработване на доклад;
  • елиминира необходимостта от създаване управлявана формаманипулатор;
  • получите красив резултат с възможност за допълнителна персонализация от потребителя.

Но не всички разработчици използват максимално възможностите на схемата, тъй като не всички нейни настройки са очевидни и интуитивни. По-специално, много хора знаят, че има изчислени полета в 1C в ACS, но не разбират напълно областта на тяхното използване и методите за работа с тях.

Какво е изчислено поле

В повечето случаи източникът на данни в схемата на оформлението е заявка. По принцип различни формули, конструкции и изрази вече могат да се използват вътре в самата заявка. Възниква легитимен въпросЗащо се нуждаем от дублирана функционалност?

Факт е, че ACS е нещо повече от просто показване на резултат от заявка и това ясно се вижда от формата за създаване на схема (фиг. 1).

Изчисляваните полета ви позволяват да извършвате определени действия с генерирания набор от данни:

  • Покажете в определена клетка масив от данни, получени от заявката, комбинирайки няколко реда в един;
  • Достъп до експортните функции на общ модул;
  • Изпълнете различни изрази, достъпни за езика на връзката, и използвайте специални функции Evaluate Expression.

Нека да прегледаме този списък.

Масив от стойности в една клетка

Нека симулираме ситуация, когато е необходимо да вземем всички номера на разписките за контрагент в отделна клетка:


по този начин създадохме допълнително поле за изчисление в нашата схема;


Както можете да видите от горния пример, няма никакви затруднения при добавяне и обработка на изчислени полета. Използвахме две функции: Array() и ConnectStrings().

Няколко думи за последното. В допълнение към първия параметър, сочещ към идентификатора на масива, стойностите или стойността, в него могат да бъдат зададени още два:

  1. Разделител на елементи - показва кой символ ще отдели един елемент от масива или един ред от таблицата със стойности от друг (в нашия случай пропуснахме този параметър и прекъсването на реда беше зададено по подразбиране);
  2. Разделител на колони – символ, използван за разделяне на колони от таблицата със стойности (по подразбиране се използва точка и запетая).

Извикване на експортни функции на общ модул

Функциите на общ модул могат да служат като източник на данни за попълване на изчисляемо поле.

Няколко важни точки:

  • Функцията трябва да може да се експортира;
  • Ако функцията се намира в общ модул с поставен флаг "Глобален", тя се извиква директно по име, в противен случай функцията трябва да се извика по схемата "Общо име на модул". „Името на функцията за извикване.“

Като пример за използване ще вземем същата заявка за документи за получаване и ще я покажем в отделна колона. Няма да описваме самата заявка, ще преминем директно към изчислените полета:


Така виждаме, че почти всеки манипулатор на данни може да бъде инициализиран от ACS, което значително разширява възможностите за използване на схемата.

Свържете езикови изрази

Доста често в работата на разработчика възниква ситуация, когато е необходимо да се покаже резултатът от разделянето в полето ACS:

  1. Изчислете средната цена на артикула;
  2. Всякакви лихви;
  3. Изчисления на средни доходи и др.

За да избегнете проблеми, в тези случаи е желателно да въведете проверка за деление на 0 в полето за изчисляване.

Това може да стане с помощта на конструкцията "Избор Когато .... Тогава ... В противен случай ... Край".

Накрая няколко думи за достатъчно нова функцияИзчисляване на израз (). С негова помощ, по-специално, можете да изчислите отклоненията в цената между текущия и предишния ред, кумулативното салдо и др.

Да приемем, че можете да получите DocumentAmount от предишния ред на нашата заявка, като посочите стойността CalculateExpression("DocumentAmount", "PreviousAmount") в полето "Expression".

Добър ден, скъпи читатели на нашия блог! Днес искам да кажа, използвайки реален пример, как
използвайте SKD функциите Array (Array) и ConnectStrings (JoinStrings). В статия за

малко споменаване как да работите с
върху отметката
, също е обяснено като
като използвате раздела Ресурси. Днес отново ще обърнем внимание на тях
отметки в светлината на нашата тема.

Появата на пример за 1C отчет с помощта на две Функции на ACS масиви ConnectStringsследващия:

Изявление на проблема за прилагане на ACS функциите Array (Array) и ConnectStrings (JoinStrings)

Задача: Необходимо е да вмъкнете всички номера на продажбите за един продукт в една клетка.

Нещо като: номенклатура | количество | 001, 002 и т.н. |

Ще използваме заявка към регистъра за натрупване „Внедряване на TMZ“.

ИЗБИРАМ
Внедряване на TMZ. Секретар. номер,
Внедряване на TMZ. номенклатура,
Внедряване на TMZ. секретар,
Внедряване на TMZ. Количество Оборот
ОТ
Регистрирай Натрупване. Внедряване на TMZ. Обороти
(, , Регистратор, ) КАК ДА внедрим TMZ

Регистърът за натрупване „Внедряване на TMZ“ съществува както в конфигурацията за счетоводство, така и в конфигурацията за управление на търговско предприятие (UTP). Разберете как в конфигурацията на USP в елемента на директория „Номенклатура“. Следователно, след изтегляне, за да проверите ефективността му, можете да изпълните този отчет и в двете конфигурации.

Реализация на задачата с използването на функциите SKD Array и ConnectStrings


Същите стъпки, но с някои допълнения, бяха използвани за създаване
.

Описание на функцията JoinStrings (JoinStrings).

JoinStrings (JoinStrings)

Използва се за свързване на низове в един низ.

Синтаксис:

ConcatenateStrings(стойност, разделител на елементи, разделители на колони)

Настроики:

  1. Значение- изрази, които да се комбинират в един ред.
    Ако е масив, тогава елементите на масива ще бъдат комбинирани в низ.
    Ако е ValueTable, тогава всички колони и редове на таблицата ще бъдат комбинирани в ред;
  2. Разделител на елементие низ, съдържащ текста, който ще се използва като
    разделител между елементите на масива и редовете на таблицата със стойности. По подразбиране е символ за нов ред;
  3. Разделители на колони-низ, съдържащ текста, който ще се използва като разделител
    между колоните на таблицата със стойности. По подразбиране ";".

Влезте като студент

Влезте като ученик за достъп до училищно съдържание

1C 8.3 система за съставяне на данни за начинаещи: преброяване на резултатите (ресурси)

Целта на този урок ще бъде:

  • Напишете отчет, който показва списък с продукти (Директория с храни), тяхното съдържание на калории и вкус.
  • Групирайте продуктите по цвят.
  • Запознайте се с функцията за обобщаване (ресурси) и изчисляемите полета.

Създаване на нов отчет

Както в предишните уроци, отворете базата данни " Деликатес" в конфигуратора и създайте нов отчет през менюто " Файл"->"Нов...":

Вид документ - външен доклад:

Във формата за настройки на отчета напишете името " Урок 3"и натиснете бутона" Отворена диаграма на състава на данните":

Оставете името на схемата по подразбиране и щракнете върху „ Готов":

Добавяне на заявка чрез конструктора

В раздела " Набор от данни"щракване зеленознак плюс и изберете " Добавяне на набор от данни - Заявка":

Вместо да пишете текста на заявката ръчно, стартирайте отново конструктор на заявки:

В раздела " маси"плъзнете масата" Храна" от първата колона към втората:

Изберете от таблицата Храна" полетата, които ще поискаме. За да направите това, плъзнете полетата " Име", "вкус", "Цвят" и " калории"от втора колона до трета:

Оказа се така:

Натисни бутона " Добре" - текстът на заявката се генерира автоматично:

Формиране на настройки за представяне на отчет

Отидете на отметка Настройки"и щракнете върху магическа пръчка, да се обади конструктор на настройки:

Изберете вида на отчета списък..." и натиснете бутона " По-нататък":

Плъзнете и пуснете от лявата колона вдясно полетата, които ще се показват в списъка, и щракнете върху " По-нататък":

Плъзнете от лявата колона към дясното поле " Цвят„- според това ще стане групиранередове в отчета. Натиснете " Добре":

И ето резултата от конструктора. Йерархия на нашия доклад:

  • отчет като цяло
  • групиране "Цвят"
  • подробни записи - редове с имена на храни

Запазване на отчета (бутон дискета) и без затварянеконфигуратор, веднага ще го отворим в потребителски режим. Оказа се така:

Промяна на реда на колоните

Но нека промени редаколони (стрелки нагоре и надолу), така че да изглежда като на снимката по-долу:

Запазете отчета и го отворете отново в потребителски режим:

Страхотно, така е много по-добре.

Обобщаване (сумиране) по съдържание на калории

Би било хубаво да се показва общото калорично съдържание на храните по групи. За да видите сумата от съдържанието на калории на всички продукти, да речем, бяло или жълто. Или разберете общото съдържание на калории на всички храни в базата данни.

За това има механизъм за изчисляване на ресурсите.

Отидете на раздела " Ресурси" и плъзнете полето " калории„(ще го обобщим) от лявата колона в дясната.

В същото време в полето за израз изберете от падащия списък " Количество (калории)", тъй като общата сума ще бъде сумата от всички елементи, включени в общата сума:

Запазване и генериране на отчет:

Разполагаме с резултатите за всяка от групите и за доклада като цяло.

Обобщаване (средно) по съдържание на калории

Сега нека направим така, че да се показва друга колона средно аритметичнокалорично съдържание на продукти по групи и общо за отчета.

Невъзможно е да се докосне вече съществуващата колона „Съдържание на калории“ - общата сума вече се показва в нея, следователно нека добавим още едно поле, което ще бъде точно копие на полето "Калории".

За да създадем такова "виртуално" поле, използваме механизма изчислени полета.

Отидете на отметка Изчисляеми полета"и натиснете зеленознак плюс:

В колона " Път на данни"напишете името на новото поле ( заедно, без интервали). Нека се нарича Средни калории", и в колоната " Изразяване" пишем името на вече съществуващо поле, на базата на което ще се изчислява новото поле. Пишем там " калории". Колона " заглавка“ ще се попълни автоматично.

Добавихме ново поле (" Средни калории“), но няма да се появи в отчета сам – трябва или да го извикате отново конструктор на настройки("вълшебна пръчка") или добавете това поле ръчно.

Да действаме второначин. За да направите това, отидете на раздела " Настройки", изберете" Докладвай" (все пак искаме да добавим полето като цяло към отчета), изберете раздела по-долу " Избрани полета" и плъзнете полето " Средни калории“ от лявата колона надясно:

Оказа се така:

Запазване и генериране на отчет:

Полето се появи и виждаме, че неговите стойности са стойностите на полето "Калории". Отлично!

За да направим това, ние отново използваме вече познатия ни механизъм. ресурси(обобщаване). Отидете на отметка Ресурси" и плъзнете полето " Средни калории“ от лявата колона надясно:

В същото време в колоната Изразяване"избирам" Средно (средна калория)":

Запазване и генериране на отчет:

Виждаме, че за групите, тоест за всеки цвят и за отчета като цяло, средната стойност е изчислена съвсем правилно. Но присъства допълнителни записи за отделни продукти (не за групи), които искате да премахнете от отчета.

Знаете ли защо са се появили (тоест не групово)? Защото, когато добавихме полето " Средни калории“ в настройките на отчета, във втората стъпка, която избрахме целия доклади това ново поле удари елемента " Подробно записи".

Нека поправим грешката. За да направите това, върнете се в раздела " Настройки", избирам " Подробни записи" първо отгоре (стъпка 2) и след това " Подробни записи"отдолу (стъпка 3), отидете на отметка" Избрано полета" и вижте в дясната му колона елемента " Автоматичен".

елемент " Автоматичен" - това не е едно поле. Това са няколко полета, които автоматично стигат тук въз основа на по-високи настройки.

За да видите какви са тези полета - щракнете върху елемента " Автоматичен" точнои изберете " Разширяване":

елемент " Автоматичен“ се разширява в следните полета:

Тук е нашето поле Средни калории"което стигна до тук от параграф" Докладвай"когато го завлечехме там. Просто да излитамеотметнете до това поле, за да премахнете изхода му.

В светлината на предстоящото издание на 8.2.14, ще се опитам да опиша някои от новите функции на системата за съставяне на данни.

Отворете схемата за съставяне на данни, за предпочитане във външен отчет, за да улесните редактирането.

Добавяме набор от данни за заявка и пишем, ръчно или с помощта на конструктора на заявки, най-простата заявка:

1. Настройте заявка в ACS.

2. Настройте изчислени полета в ACS

3. Конфигурираме оформлението на данните в раздела с настройки

4. Стартираме 1C Enterprise 8.2.14. Отваряме отчета. Формираме, получаваме.

Описание на самите нови функции:

1. Текущата дата ()

Връща системната дата. Когато оформяте оформлението на оформлението, във всички изрази, които присъстват в оформлението, функцията CurrentDate() се заменя със стойността на текущата дата.

2. ИЗЧИСЛЕН ИЗРАЗ()

Синтаксис:

Изчисляване на израз (,)

Описание:

Функцията е предназначена да оценява израз в контекста на някакво групиране.

Функцията взема предвид избора на групи, но не взема под внимание йерархичния избор.

Функцията не може да бъде приложена към групиране в груповия избор на това групиране. Например при избора на групирането на номенклатурата не можете да използвате израза Изчисляване на израз ("Sum(SumTurnover)", "TotalTotal") > 1000. Но такъв израз може да се използва при йерархичен подбор.

Ако крайният запис предшества началния запис, тогава се счита, че няма записи за изчисляване на подробни данни и изчисляване на агрегатни функции.

При изчисляване на интервални изрази за общ сбор (параметърът Групиране е зададен на GrandTotal), се счита, че няма записи за изчисляване на подробни данни и изчисляване на агрегатни функции.

Конструктор на оформление при генериране на израз на функция Изчисляване на израз, ако подреждащият израз съдържа полета, които не могат да се използват в групирането, замества функцията Изчисляване на изразна НУЛА.

Настроики

Тип: Линия. Изразът, който трябва да се оцени.

Тип: Линия. Съдържа името на групирането, в чийто контекст изразът трябва да бъде оценен. Ако празен низ се използва като име на групиране, изчислението ще се извърши в контекста на текущото групиране. Ако низът GrandTotal се използва като име на групиране, изчислението ще се извърши в контекста на общата сума. В противен случай изчислението ще се извърши в контекста на родителската група с това име.

Например:

Sum(Sales.SumTurnover)/Calculate("Sum(Sales.SumTurnover)", "TotalTotal")

AT този примеррезултатът ще бъде отношението на сумата върху полето Продажби.СумаОборотгрупиране на записи към сумата на едно и също поле в цялото оформление;

Тип: Линия. Параметърът може да приема следните стойности:

· Общият резултат— изразът ще бъде оценен за всички групиращи записи.

· Йерархия— изразът ще бъде оценен за родителския йерархичен запис, ако има такъв, и за цялото групиране, ако няма родителски йерархичен запис.

· групиране— изразът ще бъде оценен за текущия групов запис на групирането.

· GroupingNotResource— когато се изчислява функция за групов запис по ресурси, изразът ще бъде изчислен за първия групов запис от първоначалното групиране.

При изчисляване на функцията Изчисляване на израз () със смисъл GroupingNotResourceза групови записи, които не са групи по ресурси, функцията се изчислява по същия начин, както би била изчислена, ако стойността на параметъра е равна на стойността групиране.

Конструкторът на оформление за съставяне на данни, когато генерира оформление за съставяне на данни, когато показва ресурсното поле, чрез което се извършва групирането, поставя израз в оформлението, който се изчислява с помощта на функцията Изчисляване на израз () , посочвайки параметъра GroupingNotResource. За други ресурси, групирани по ресурс, се поставят регулярни изрази за ресурси.

Тип: Линия. Указва кой запис да започне фрагмента, в който да се изчислят агрегатните функции на израза и от кой запис да се получат стойностите на полетата извън агрегатните функции. Стойността може да бъде една от следните:

· Първи (Първи)

· Последен (последен)

· Предишна (Предишна)

· Следващ (Напред)

· Текущ (Текущ)

· Ограничаваща стойност(Гранична стойност) Ограничаваща стойност

Тип: Линия. Показва към кой запис да продължи фрагментът, в който да се изчислят агрегатните функции на израза. Стойността може да бъде една от следните:

· Първи (Първи). Трябва да получите първия групиращ запис. След думата в скоби можете да посочите израз, резултатът от който ще се използва като отместване от началото на групирането. Получената стойност трябва да е цяло число, по-голямо от нула. Например First(3) - получаване на третия запис от началото на групирането.

Ако първият запис е извън групата, тогава се счита, че няма записи. Например, ако има 3 записа и искате да получите First(4) , тогава се счита, че няма записи.

· Последен (последен). Трябва да получите последния запис за групиране. След думата в скоби можете да посочите израз, резултатът от който ще се използва като отместване от края на групирането. Получената стойност трябва да е цяло число, по-голямо от нула. Например Last(3) - вземете третия запис от края на групирането.

Ако последен записнадхвърля групирането, счита се, че няма записи. Например, ако има 3 записа и искате да получите Last(4) , тогава се счита, че няма записи.

· Предишна (Предишна). Трябва да получите предишния запис за групиране. След думата в скоби можете да посочите израз, резултатът от който ще се използва като преместване назад от текущия групиращ запис. Например Previous(2) - вземете предишния от предишния запис.

Ако предишният запис е извън групирането (например, вторият групиращ запис изисква Previous(3) , тогава се получава първият групиращ запис.

При получаване на предишния запис за общия сбор се счита, че е получен първият запис.

· Следващ (Напред). Трябва да получите следващия запис за групиране. След думата в скоби можете да зададете израз, резултатът от който ще се използва като преместване напред от текущия групиращ запис. Например Next(2) - вземете следващия от следващия запис.

Ако следващият запис надхвърли групирането, тогава се счита, че няма записи. Например, ако има 3 записа и третият запис получава Next(), тогава се счита, че няма записи.

При получаване на следващия запис за сумата на групирането се счита, че няма запис.

· Текущ (Текущ). Трябва да получите текущия запис.

Когато се извлича за обща сума за групиране, се извлича първият запис.

· Ограничаваща стойност(Гранична стойност). Необходимостта да се получи записът с определената стойност. След словото Ограничаваща стойноств скоби трябва да посочите израза, с чиято стойност искате да започнете фрагмента, първото поле за подреждане.

Записът ще бъде първият запис, чиято стойност на полето за подреждане е по-голяма или равна на указаната стойност. Например, ако използвате полето Период като поле за подреждане и то има стойностите 01/01/2010 , 02/01/2010 , 03/01/2010 и искате да получите LimitValue(ДатаЧас(2010, 1, 15)), тогава ще бъде получен запис с дата 01.02.2010 г.

Тип: Линия. Изброени са изрази, разделени със запетая, които описват правилата за подреждане. Ако не е посочено, подреждането се извършва по същия начин, както за групирането, за което се оценява изразът. След всеки израз можете да посочите ключова дума Asc(за възходящ ред), Спускане(за низходящ ред) и Автоматично подреждане(за подреждане на референтни полета по полетата, по които искате да подредите референтния обект). Слово Автоматично подрежданеможе да се използва като с думата Asc, и със словото Спускане.

Тип: Линия. Същото като параметър Сортиране. Използва се за подреждане на йерархични записи. Ако не е указано, конструкторът на оформление генерира подреждане според подреждането, указано в параметъра Сортиране.

Тип: Линия. Указва правило за определяне на предишния или следващия запис, ако има множество записи с една и съща подредена стойност:

· Отделнопоказва, че последователност от подредени записи се използва за определяне на предишния и следващия запис. Стойност по подразбиране.

· Заедно (Заедно)показва, че предишният и следващият запис се определят въз основа на стойностите на подреждащите изрази.

Например, ако получената последователност е подредена по дата:

датата Пълно име Значение
1 01 януари 2001 г

Иванов М.

10
2 02 януари 2001 г Петров С. 20
3 03 януари 2001 г Сидоров Р. 30
4 04 януари 2001 г Петров С. 40

Отделно, тогава:

§ предишният запис към запис 3 ще бъде запис 2.

ток, ток(съответно параметрите Започнетеи Край), тогава за запис 2 този фрагмент ще се състои от един запис 2. Изразът ще бъде равен на 20.

Ако стойността на параметъра е Заедно, тогава:

§ предишният запис към запис 3 ще бъде запис 1.

§ ако изчисленият фрагмент е дефиниран като ток, ток(съответно параметрите Започнетеи Край), тогава за запис 2 този фрагмент ще се състои от записи 2 и 3. Изразът CalculateExpression("Sum(Value)", Current, Current)ще бъде равно на 50.

Когато зададете стойност на параметър, равна на Заедно, в параметри Започнетеи Крайне можете да посочите отместване за позиции Първо, Последно, Предишно, Следващо.

CalculateExpression("Сума(СумаОборот)", "Първа", "Текуща")

Ако искате да получите стойността на групирането в предишния ред, можете да използвате следния израз:

CalculateExpression("Курс", "Предишен")

списък новфункции:

ComputeExpressionGroupedArray(,) -

Функцията връща масив, всеки елемент от който съдържа резултата от изчисляването на израза за групиране по зададеното поле.

ComputeExpressionGroupedValueTable(,) -

Функцията връща таблица със стойности, всеки ред от която съдържа резултата от изчисляването на изрази за групиране по указаното поле

ValueFilled() - Връща True, ако стойността е различна от стойността от този типподразбиране, различно от NULL, различно от нулева препратка, различно от Undefined. Булевите стойности се тестват спрямо NULL. Низовете се проверяват за знаци, които не са интервали.

формат(, ) - Вземете форматирания низ на предадената стойност. Форматният низ се задава в съответствие с форматния низ на системата 1C:Enterprise.

Подниз(, , ) - Тази функция е предназначена да избира подниз от низ.

Дължина на низа() - Функцията е предназначена да определя дължината на низ. Параметърът е израз от тип низ

Линия() - Ако масивът е предаден като параметър, тогава функцията връща низ, съдържащ низови представяния на всички елементи на масива, разделени със знаците "; ". Ако таблица със стойности е предадена като параметър, тогава функцията връща низ, съдържащ низови представяния на всички редове на таблицата със стойности, а представянията на клетките на всеки ред са разделени със знаците "; ", и линиите са разделени със знака за нов ред. Ако някой елемент има празно представяне на низ, тогава се показва низ вместо неговото представяне.