Схема за съставяне на данни на изчислените полета. Функции на езика за изразяване на системата за композиране на данни

Език за изразяване на системата за композиране на данни

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

Изразите се използват в следните подсистеми:

  • схема за композиране на данни - за описване на изчислени полета, общо полета, изрази на отношения и др.
  • настройки за композиране на данни - за описване на потребителски изрази на полета;
  • шаблон за композиране на данни - за описване на изрази на връзки на набори от данни, описване на параметри на шаблони и др.

Литерали

Изразите могат да съдържат литерали. Възможни са литерали от следните типове:

  • Линия;
  • Номер;
  • Дата;
  • Булево.

Линия

Низовият литерал е написан с символи "" ", например:

"Stral literal"

Ако трябва да използвате символа „” “вътре в низов литерал, трябва да използвате два такива символа.

Например:

„Буквално“ „в кавички“ „„

Брой

Числото се записва без интервали, в десетичен формат. Дробната част е отделена със символа "." Например:

10.5 200

дата

Литералът за дата се записва с помощта на ключовия литерал DATETIME. След тази ключова дума в скоби, разделени със запетаи, са посочени годината, месецът, денят, часовете, минутите, секундите. Часът е по избор.

Например:

DATE TIME (1975, 1, 06) - 6 януари 1975 г. DATE (2006, 12, 2, 23, 56, 57) - 2 декември 2006 г., 23 часа 56 минути 57 секунди, 23 часа 56 минути 57 секунди

Булев

Булевите стойности могат да бъдат записани с помощта на литералите True, False.

Стойност

За да посочите литерали от други типове (системни изброявания, предварително дефинирани данни), използвайте ключова дума Стойност, последвана от буквалното име в скоби.

Стойност (Тип акаунт. Активен)

Операции с числа

Унарни -

Тази операция е предназначена да обърне знака на число. Например:

Продажби.Брой

Унарни +

Тази операция не извършва никакви действия върху номера. Например:

Продажби.Брой

Двоична -

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

Баланси и обороти. Първоначален баланс - Салда и обороти. Окончателен баланс и обороти. Първоначален баланс - 100 400 - 357

Двоичен +

Тази операция е предназначена за изчисляване на сумата от две числа. Например:

Баланси и обороти. Първоначален баланс + баланси и обороти. Обороти и баланси. Първоначален баланс + 100 400 + 357

Състав

Тази операция е предназначена за изчисляване на произведението на две числа. Например:

Номенклатура.Цена * 1.2 2 * 3.14

Дивизия

Тази операция има за цел да получи резултата от разделянето на един операнд на друг. Например:

Номенклатура.Цена / 1.2 2 / 3.14

Остатък от дивизията

Тази операция има за цел да получи остатъка от разделянето на един операнд на друг. Например:

Номенклатура Цена% 1,2 2% 3,14

Операции върху струни

Обединяване (двоично +)

Тази операция е предназначена за обединяване на два низа. Например:

Номенклатура.Член + ":" + Номенклатура.Име

като

Тази операция проверява дали низът съответства на предадения модел.

Стойността на оператора LIKE е TRUE, ако стойността<Выражения> съответства на модела и в противен случай FALSE.

Следните знаци в<Строке_шаблона> имат смисъл, различен от просто символа от следващия ред:

  • % - процент: последователност, съдържаща нула или повече произволни знака;
  • _ - долна черта: един произволен знак;
  • […] - един или повече знаци в квадратни скоби: един знак, всеки от изброените в квадратни скоби. Изброяването може да съдържа диапазони, например a-z, което означава произволен знак, включен в диапазона, включително краищата на диапазона;
  • [^ ...] - в квадратни скоби икона за отрицание, последвана от един или повече знака: всеки символ, с изключение на изброените след иконата за отрицание;

Всеки друг символ означава себе си и не носи никакво допълнително значение. Ако един от изброените знаци трябва да бъде записан като себе си, тогава той трябва да бъде предшестван от<Спецсимвол>посочена след ключовата дума ESCAPE.

Например шаблонът

"% ABC [abcg] \\ _ abc%" СПЕЦИАЛЕН СИМВОЛ "\\"

означава подниз, състоящ се от поредица от знаци: буквата А; букви В; букви В; една цифра; една от буквите a, b, c или d; знак за подчертаване; букви а; букви б; букви в. Освен това, тази последователност може да бъде разположена, започвайки от произволна позиция в линията.

Сравнителни операции

По равно

Тази операция е предназначена за сравняване на два операнда за равенство. Например:

Sales.Contractor \u003d Продажби.NomenclatureMainSupplier

Не е равно

Тази операция е предназначена за сравняване на два операнда за неравенство. Например:

Продажби, изпълнител<> Продажби. Номенклатура Основен доставчик

По-малко

Тази операция има за цел да провери дали първият операнд е по-малък от втория. Например:

Количество продажби< ПродажиПрошлые.Сумма

| Повече ▼

Тази операция има за цел да провери дали първият операнд е по-голям от втория. Например:

SalesCurrent.Total\u003e SalesPast.Amount

По-малко или равно на

Тази операция е предназначена да провери дали първият операнд е по-малък или равен на втория. Например:

Количество продажби<= ПродажиПрошлые.Сумма

Повече или равно

Тази операция е предназначена да провери дали първият операнд е по-голям или равен на втория. Например:

SalesCurrent.Amount\u003e \u003d SalesPast.Amount

Операция Б

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

Елемент Б (& Позиция1, & Позиция2)

Операцията за проверка на съществуването на стойност в набор от данни

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

Продажби. Контрагент на контрагенти

Операцията за проверка на стойност за NULL

Тази операция връща True, ако стойността е NULL. Например:

Продажби. Изпълнителят е НУЛ

Операцията за проверка на стойност за NULL неравенство

Тази операция връща True, ако стойността не е NULL. Например:

Продажби. Контрактор НЕ Е НУЛЕН

Логически операции

Логическите операции приемат булеви изрази като операнди.

Операция НЕ

Операцията НЕ връща True, ако нейният операнд е False, и False, ако операндът му е True. Например:

НЕ Document.Consignee \u003d Document.Shipper

Операция И

Операторът AND връща True, ако и двата операнда са True, и False, ако един от операндите е False. Например:

Document.Consignee \u003d Document.Carrier AND Document.Consignee \u003d & Контрагент

ИЛИ операция

Операцията OR връща True, ако един от операндите е True, и False, ако и двата операнда са False. Например:

Document.Consignee \u003d Document.Carrier ИЛИ Document.Consignee \u003d & Контрагент

Обобщени функции

Обобщените функции изпълняват някакво действие върху набор от данни.

Количество

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

Сума (продажби. Сума оборот)

номер

Функцията Count изчислява броя на ненулевите стойности. Например:

Количество (Продажби. Изпълнител)

Брой различни

Тази функция изчислява броя на различните стойности. Например:

Количество (Различни продажби. Изпълнител)

Максимум

Функцията получава максималната стойност. Например:

Максимум (Баланси. Количество)

Минимум

Функцията получава минималната стойност. Например:

Минимум (Баланси. Количество)

Средното

Функцията получава средната стойност за стойности, които не са NULL. Например:

Средно (салда. Сума)

Други операции

Операция SELECT

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

Избор, когато Сума\u003e 1000 Тогава Сума Иначе 0 Край

Правила за сравняване на две стойности

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

  • NULL (най-ниско);
  • Булево;
  • Номер;
  • Дата;
  • Линия;
  • Референтни типове

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

Ако типовете данни съвпадат, тогава стойностите се сравняват съгласно следните правила:

  • тип Boolean има стойност TRUE по-голяма от стойност FALSE;
  • типът Number има обичайните правила за сравнение на числата;
  • типът Дата има по-ранни дати по-малко от по-късните;
  • за типа String - сравнения на низове в съответствие с установените национални характеристики на базата данни;
  • референтните типове се сравняват въз основа на техните стойности (номера на записи и т.н.).

Работа с NULL

Всяка операция, при която стойността на един от операндите е NULL, ще доведе до NULL.

Има изключения:

  • операцията AND ще върне NULL само ако нито един от операндите не е False;
  • операцията OR ще върне NULL само ако нито един от операндите не е True.

Оперативни приоритети

Операциите имат следните приоритети (първият ред е с най-нисък приоритет):

  • B Е НУЛНО НЕ Е НУЛНО;
  • =, <>, <=, <, >=, >;
  • Двоичен +, двоичен -;
  • *, /, %;
  • Unary +, Unary -.

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

Изчисли

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

  • Израз. Тип String. Съдържа изчислен израз;
  • Групиране. Тип String. Съдържа името на групирането, в контекста на което изразът трябва да бъде оценен. Ако празен низ се използва като име на групиране, изчислението ще се извърши в контекста на текущото групиране. Ако като име на групиране се използва низ GeneralTotal, изчислението ще се извърши в контекста на общия сбор. В противен случай изчислението ще се извърши в контекста на родителската групировка с това име. Например:
Сума (Sales.SumTurnover) / Изчисляване ("Сума (Sales.SumTurnover)", "Общо Общо")

AT този пример в резултат получавате съотношението на сумата за полето "Sales.SumTurnover" на записа за групиране към сумата на същото поле в цялото оформление.

Ниво

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

Ниво ()

NumberOrder

Вземете следващия пореден номер.

NumberOrder ()

NumberOrderInGroup

Връща следващия пореден номер в текущото групиране.

NumberOrderInGrouping ()

Формат

Вземете форматирания низ на предадената стойност.

Форматният низ се задава според форматиране на низ 1С: Предприятие.

Параметри:

  • Стойност;
  • Форматиране на низ.

Формат (Invoices.SumDoc, "NPT \u003d 2")

Начало на периода

Параметри:

    • Минута;
    • Ден;
    • Седмица;
    • Месец;
    • Четвърт;
    • Десетилетие;
    • Половин година.

Начало на периода (DateTime (2002, 10, 12, 10, 15, 34), "Месец")

Резултат:

01.10.2002 0:00:00

Край на периода

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

Параметри:

  • Дата. Въведете Дата. Посочена дата;
  • Тип на периода. Тип String. Съдържа една от стойностите:
    • Минута;
    • Ден;
    • Седмица;
    • Месец;
    • Четвърт;
    • Десетилетие;
    • Половин година.

EndPeriod (DateTime (2002, 10, 12, 10, 15, 34), "Седмица")

Резултат:

13.10.2002 23:59:59

Добавяне към дата

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

Параметри:

  • Тип увеличение. Тип String. Съдържа една от стойностите:
    • Минута;
    • Ден;
    • Седмица;
    • Месец;
    • Четвърт;
    • Десетилетие;
    • Половин година.
  • Стойност - с колко датата трябва да бъде увеличена. Тип номер. Дробната част се игнорира.

Добавяне към дата (DateTime (2002, 10, 12, 10, 15, 34), "Месец", 1)

Резултат:

12.11.2002 10:15:34

Разлика в датата

Функцията е предназначена да получи разликата между две дати.

Параметри:

  • Израз. Въведете Дата. Оригинална дата;
  • Израз. Въведете Дата. Извадена дата;
  • Тип разлика. Тип String. Съдържа една от стойностите:
    • Второ;
    • Минута;
    • Ден;
    • Месец;
    • Четвърт;

РАЗЛИКА (ДАТА / ВРЕМЕ (2002, 10, 12, 10, 15, 34), ДАТА / ВРЕМЕ (2002, 10, 14, 9, 18, 06), "ДЕН")

Резултат:

Подниз

Тази функция е предназначена за извличане на подниз от низ.

Параметри:

  • Линия. Тип String. Низът, от който да се извлече поднизът;
  • Позиция. Тип номер. Позицията на знака, от която започва подниза, който трябва да бъде извлечен от низа;
  • Дължина. Тип номер. Дължината на подниза за избор.

СУБСТРАТ (Изпълнители. Адрес, 1, 4)

Дължина на линията

Функцията е предназначена да определи дължината на низ.

Параметър:

  • Линия. Тип String. Низът, който трябва да бъде посочен по дължина.

String (Accounts.Address)

Година

Тази функция е предназначена за извличане на година от стойност от типа Date.

Параметър:

  • Дата. Въведете Дата. Датата, до която се определя годината.

ГОДИНА (дата на изпращане)

Четвърт

Тази функция е предназначена за извличане на тримесечно число от стойност от типа Date. Номерът на тримесечието обикновено е в диапазона от 1 до 4.

Параметър

  • Дата. Въведете Дата. Датата, до която се определя тримесечието
ЧЕТВЪРТЕ (дата на изпращане)

Месец

Тази функция е предназначена за извличане на номера на месеца от стойност от типа Дата. Номерът на месеца обикновено е в диапазона от 1 до 12.

  • Дата. Въведете Дата. Датата, до която се определя месецът.
МЕСЕЦ (дата на фактура)

Ден на годината

Тази функция е предназначена да получи деня от годината от стойност от типа Date. Денят в годината обикновено е в диапазона от 1 до 365 (366).

  • Дата. Въведете Дата. Датата, до която се определя денят от годината.
ДЕН НА ГОДИНАТА (дата на фактура)

Ден

Тази функция е предназначена да получи деня от месеца от стойност от типа Date. Денят на месеца обикновено е в диапазона от 1 до 31.

  • Дата. Въведете Дата. Датата, до която се определя денят на месеца.
ДЕН (дата на фактура)

Седмица

Тази функция е предназначена да получи номера на седмицата в годината от стойност от типа Date. Седмиците в годината са номерирани, започвайки от 1.

  • Дата. Въведете Дата. Датата, до която се определят номерата на седмиците.
СЕДМИЦА (дата на фактура)

Ден от седмицата

Тази функция е предназначена да получи деня от седмицата от стойност от типа Date. Денят от седмицата обикновено е между 1 (понеделник) и 7 (неделя).

  • Дата. Въведете Дата. Датата, до която се определя денят от седмицата.
ДЕН НА СЕДМИЦАТА (дата на фактура)

Час

Тази функция е предназначена да получи часа в деня от стойност от типа Дата. Часът на деня варира от 0 до 23.

  • Дата. Въведете Дата. Датата, до която се определя часът от деня.
ЧАС (дата на изпращане)

Минута

Тази функция е предназначена да получава минутите в часа от стойност от типа Дата. Минутата на часа варира от 0 до 59.

  • Дата. Въведете Дата. Датата, до която се определя минутата на часа.
MINUTE (дата на фактура)

Второ

Тази функция е предназначена да получи втората от минутата от стойност от типа Дата. Втората от минутата варира от 0 до 59.

  • Дата. Въведете Дата. Датата, до която се определят секундите на минутата.
ВТОРО (дата на фактура)

Експрес

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

Параметри:

  • Изразът, който трябва да се преобразува;
  • Индикация на типа. Тип String. Съдържа низ от тип. Например „Номер“, „Низ“ и т.н. Освен примитивни типове даден низ може да съдържа името на таблицата. В този случай ще се направи опит да се изрази към връзка към посочената таблица.

Express (Data.Props1, "Номер (10.3)")

Да Не

Тази функция връща стойността на втория параметър, ако стойността на първия параметър е NULL.

В противен случай стойността на първия параметър ще бъде върната.

YesNULL (Сума (Sales.SumTurnover), 0)

Общи функции на модула

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

В този пример функцията "ShortName" ще бъде извикана от модула за обща конфигурация.

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

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

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

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

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

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

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

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

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

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

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

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

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

Синтаксис:

Оценете израза (<Выражение>, <Группировка>, <ОбластьВычисления>, <Начало>, <Конец>, <Сортировка>, <ИерархическаяСортировка>, <ОбработкаОдинаковыхЗначенийПорядка>)

Описание:

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

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

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

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

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

Композиторът на оформление, когато генерира израз на функцията EvaluateExpression, ако изразът за подреждане съдържа полета, които не могат да бъдат използвани в групирането, замества функцията EvaluateExpression с NULL.

Параметри

<Выражение>

Тип: низ. Изразът за оценка.

<Группировка>

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

Например:

Сума (Sales.SumTurnover) / Изчисляване („Сума (Sales.SumTurnover)“, „Общо Общо“)

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

<ОбластьВычисления>

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

  • Общо - изразът ще бъде оценен за всички записи за групиране.
  • Йерархия - изразът ще бъде оценен за родителския йерархичен запис, ако има такъв, и за цялата групировка, ако няма родителски йерархичен запис.
  • Групиране - изразът ще бъде оценен за текущия запис на групиране.
  • GroupingNonResource - когато се изчислява функция за групов запис по ресурси, изразът ще се изчислява за първия групов запис на първоначалното групиране.

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

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

<Начало>

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

<Конец>

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

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

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

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

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

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

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

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

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

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

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

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

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

  • BoundaryValue. Необходимостта да се получи запис до посочената стойност... След думата BoundingValue в скоби трябва да посочите израз със стойността на който искате да стартирате фрагмент, първото поле за подреждане.

Като запис ще бъде получен първият запис, чиято стойност на полето за подреждане е по-голяма или равна на посочената стойност. Например, ако полето Period се използва като поле за подреждане и има стойности 01/01/2010, 01/02/2010, 01/03/2010 и искате да получите BoundingValue (DateTime (2010, 1, 15)), тогава ще получите запис с датата 01.02. 2010 г.

<Сортировка>

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

<ИерархическаяСортировка>

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

<ОбработкаОдинаковыхЗначенийПорядка>

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

  • Отделно означава, че последователност от подредени записи се използва за дефиниране на предишния и следващия запис. Стойност по подразбиране.
  • Заедно означава, че предишният и следващият запис се определят въз основа на стойностите на изразите за подреждане.

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

дата Пълно име Стойност
1 01 януари 2001 г. Иванов М. 10
2 02 януари 2001 г. Петров С. 20
3 03 януари 2001 г. Сидоров Р. 30
4 04 януари 2001 г. Петров С. 40

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

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

§ ако изчисленият фрагмент е дефиниран като Current, Current (съответно параметрите Start и End), тогава за запис 2 този фрагмент ще се състои от един запис 2. Expression Изчислете Expression („Сума (Стойност)“, Current, Current) ще бъде равна на 20.

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

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

§ ако изчисленият фрагмент се дефинира като Current, Current (съответно началните и крайните параметри), тогава за запис 2 този фрагмент ще се състои от записи 2 и 3. Изразът Изчислява израз („Сума (стойност)“, Current, Current) ще бъде равен на 50.

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

Изчисляване на израза („Сума (оборот)“, „Първи“, „Текущ“)

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

Оценете израза („Курс“, „Предишен“)

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

EvaluateExpressionGroupedArray(<Выражение>, <ВыражениеПолейГруппировки>, <ОтборЗаписей>, <ОтборГруппировок>) –

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

EvaluateExpressionGroupedValuesTable(<Выражения>, <ВыражениеПолейГруппировки>, <ОтборЗаписей>, <ОтборГруппировок>) –

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

ValueFilled(<Выражение>) - Връща True, ако стойността е различна от стойността от този тип по подразбиране, не-NULL, non-, недефинирани. За булеви стойности се извършва нулева проверка. За низовете се прави проверка за отсъствие на небели символи

Формат(<Выражение>, <Форматная строка>) - Вземете форматирания низ на предадената стойност. Форматиращият низ е зададен в съответствие с форматиращия низ на системата 1С: Предприятие.

Подниз(<Выражение>, <Начальные символ>, <ДлинаПодстроки>) - Тази функция е предназначена за извличане на подниз от низ.

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

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

Влезте като ученик

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ние формираме настройките за представяне на доклада

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

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

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

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

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

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

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

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

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

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

Чудесно, толкова по-добре.

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

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

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

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

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

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

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

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

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

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

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

Отидете в раздела " Изчислени полета"и щракнете зеленознак плюс:

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

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

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

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

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

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

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

Освен това в графата " Израз"избирам" Средна (средна калория)":

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

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

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

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

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

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

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

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

Схема за композиране на данни (1C ACS) - удобен конструктор за създаване на сложни отчети в 1С: Предприятия софтуерни продукти, които допринасят за развитието и проследяването на производствената автоматизация, позволявайки им да бъдат възможно най-гъвкави и красиви за минимално време. Допълнителен плюс на схемата за композиране на данни (1C ACS) е автоматичното генериране на контролиран формуляр за отчет и с по-нататъшното развитие на тази посока е важен фактор при избора на метод за разработване на отчет. Но поради сложността на структурата на схемата за композиране на данни (1C ACS) и огромен брой настройки, това често води до по-дълго развитие на отчета, отколкото чрез "дизайнера на изходни форми". Следователно 1C програмист трябва да разбере всички тънкости на схемата за композиране на данни (1C ACS), за да ускори допълнително времето за разработване на генериране на отчети.

Нека да разгледаме първите три раздела на схемата за композиране на данни (1C ACS) - набор от данни, връзки към набора от данни и изчислени полета.

Набор от данни в 1C ACS

Наборът от данни включва възможността за създаване на три обекта - заявка, обект и обединение, нека се спрем на всеки от тях по-подробно:

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

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

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

Условия, тук избираме тези обекти, които могат да бъдат използвани в условията в ACS.

Част от работата се извършва в схемата за композиране на данни, част от нея програмно, нека разгледаме прост пример:

Първо ще създадем схема за оформление на състава на данните на документа и ще назовем ACS (например: 1C ACS), ще създадем обект от набор от данни в него, след което ще попълним полетата, например имаме таблична част на документа с реквизитите - артикула, количеството и цената.

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

Нека създадем бутон във формуляра на документа, да опишем механизма на работа в управлявани форми:

& На клиента

Процедура Печат ()

OurReport \u003d PrintOnServer (); // извикваме функцията на сървъра

OurReport.Show (); // показване на генерирания отчет

Край на процедурата

& На сървъра

Функция PrintOnServer ()

DocumentObject \u003d FormAvailableValue ("Обект");

//поставяме табличния раздел Стоки в структура, наречена GoodsSKD по същия начин, както посочихме в самия ACS името на обекта, съдържащ данните

Набор от данни \u003d Нова структура;

SetData.Insert ("GoodsSKD", DocumentObject.Goods);

//вземете нашето оформление и задайте настройките по подразбиране, така че всички изходни настройки на отчета да бъдат взети от нашето оформление

OurMakeup \u003d DocumentObject.GetMakeup (“SKD”);

Настройки \u003d OurLayout.Default Settings;

//създайте оформление на състава на данните с нашите настройки

Композитор на оформление \u003d Нов Композитор на композиция на данни;

LayoutComposition \u003d LayoutComposer.Execute (OurLayout, Настройки);

//извършване на композиране на данни с нашия набор от данни

DataComposition Processor \u003d Нов процесор за DataComposition;

DataCompositionProcessor.Initialize (LayoutDataset);

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

ReportDocument \u003d Нова електронна таблицаDocument;

OutputProcessor \u003d Нов OutputProcessorDataCompositionResultInTableDocument;

OutputProcessor.SetDocument (ReportDoc);

OutputProcessorOutput (процесор за композиране на данни);

Връщане на документ за отчет;

EndFunction

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

ОТНОСНО обединение

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

Имаме таблици:

Когато общуваме, ще получим:

И когато комбинирате:

Нека сега разгледаме попълването на колони в набори от данни (ще пропуснем някои, тъй като те са свързани с други раздели, ще се върнем към тях в бъдещи статии):

- поле, посочете общото име на реквизита;

­­- начин, ние посочваме името на реквизита, с което ще го препращаме в ACS, например в Изчислени полета;

- заглавие, посочете името на променливата, която ще се показва в отчета;

- ограничение на маржа, посочете наличието на този реквизит;

- ограничаване на реквизитите, ние посочваме наличността на дъщерни елементи, важно е, ако е посочена наличността на подробности, тогава самото поле ще бъде налично, може би тази механика ще бъде променена в бъдещи версии;

- израз, чрез който се оценява представянето на полето, удобно е да се използва, когато трябва да променим малко дисплея на детайли, например това ни трябва след името номенклатура е оттеглена наличност, на който се намира, след това попълнете следното: Номенклатура + „на склад“ + Склад. Повтарям, че адресирането към данните се извършва чрез името, посочено в колоната начин;

- подреждане на изрази, удобен механизъм за задаване на подреждането на отчета, където условието може да се зададе ръчно, подобно на предишната точка, но както показва практиката, този механизъм често не работи както бихме искали и ви съветвам да използвате стандартното сортиране;

- тип стойност, посочен е типът на стойността на променливата, необходимо е да попълните дали ще използвате следващото поле;

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

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

Връзки към набора от данни в 1C ACS

Само ляво присъединяване, съгласно принципа, подобен на връзки в заявки, в източник на комуникация посочваме основната таблица за връзката, в приемник допълнителен. AT източник на изрази изразен приемник ние посочваме подробностите, чрез които ще се осъществи връзката. Ще разгледаме останалите колони по-подробно, когато анализираме раздела. Параметри... Ако не допълнителна комуникация с параметрите се препоръчва да направите връзката в заявката, това ще ускори отчета.

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

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

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

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

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

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

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

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

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

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

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

Синтаксис:

Оценете израза (,)

Описание:

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

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

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

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

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

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

Параметри

Тип: Линия... Изразът за оценка.

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

Например:

Сума (Sales.SumTurnover) / Изчисляване ("Сума (Sales.SumTurnover)", "Общо общо")

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

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

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

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

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

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

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

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

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

· Първо

· Последно

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

· Напред (Напред)

· Текущ

· Ограничителна стойност (BoundaryValue) Ограничителна стойност

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Като запис ще бъде получен първият запис, чиято стойност на полето за подреждане е по-голяма или равна на посочената стойност. Например, ако полето Период се използва като поле за подреждане и има стойности 01.01.2010, 01.02.2010, 01.03.2010 и искате да получите ConstrainingValue (DateTime (2010, 1, 15)), тогава ще получите запис с дата 02/01/2010.

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

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

Тип: Линия... Задава правилото за определяне на предходния или следващия запис, в случай че има няколко записа с една и съща стойност за поръчка:

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

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

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

дата Пълно име Стойност
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. Израз ComputeExpression ("Сума (стойност)", Current, Current) ще бъде 50.

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

Изчисляване на израз ("Сума (SumTurnover)", "First", "Current")

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

Оценете израза (курс, предишен)

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

EvaluateExpressionGroupedArray(,) -

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

EvaluateExpressionGroupedValuesTable(,) -

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

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

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

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

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

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

Споделя това