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

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

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

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

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

Литерали

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

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

Линия

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

"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; знак за подчертаване; букви а; букви б; букви c. Освен това, тази последователност може да бъде разположена, започвайки от произволна позиция в линията.

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

Равно на

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

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

Не е равно

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

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

По-малко

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

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

| Повече ▼

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

SalesCurrent.Total> SalesPast.Amount

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

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

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

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

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

SalesCurrent.Amount> = SalesPast.Amount

Операция Б

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

Елемент Б (& Артикул1, & Елемент2)

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

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

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

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

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

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

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

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

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

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

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

Операция НЕ

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

НЕ Document.Consignee = Document.Shipper

Операция И

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

Document.Consignee = Document.Shipper И Document.Consignee = & Контрагент

ИЛИ операция

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

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

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

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

Сума

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

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

Количество

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

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

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

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

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

Максимум

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

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

Минимум

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

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

Средно аритметично

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

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

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

Операция SELECT

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

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

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

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

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

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

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

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

Работа със стойност NULL

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

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

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

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

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

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

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

Изчисли

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

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

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

Ниво

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

Ниво ()

NumberOrder

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

NumberOrder ()

NumberOrderInGroup

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

NumberOrderInGrouping ()

Формат

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

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

Параметри:

  • Значение;
  • Форматиране на низ.

Формат (Invoices.SumDoc, "NPT = 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 (неделя).

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

Час

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

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

Минута

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

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

Второ

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

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

Експрес

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

Параметри:

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

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

Да Не

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

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

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

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

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

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

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

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

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

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

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

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

2. Конфигуриране на изчислените полета в ACS

3. Извършете настройката за състава на данните в раздела за настройки

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

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

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

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

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

Синтаксис:

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

Описание:

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

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

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

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

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

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

Параметри

<Выражение>

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

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

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

Например:

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

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

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

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

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

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

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

<Начало>

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

<Конец>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Като запис ще бъде получен първият запис, чиято стойност на полето за подреждане е по-голяма или равна на посочената стойност. Например, ако полето 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. Израз Изчисляване на израз („Сума (стойност)“, Current, Current) ще да е равно на 20.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

& OnClient

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

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

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

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

& На сървър

Функция PrintOnServer ()

DocumentObject = FormInValue („Обект“);

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

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

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

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

OurMakeup = DocumentObject.GetMakeup (“SKD”);

Настройки = Нашето оформление. Настройки по подразбиране;

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

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

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

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

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

DataCompositionProcessor.Initialize (LayoutDataset);

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

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

OutputProcessor = NewDataCompositionOutputResultProcessorTo TabularDocument;

OutputProcessor.SetDocument (ReportDoc);

OutputProcessor.Output (DataComposition Processor);

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

EndFunction

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

О обединение

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

2. Конфигуриране на изчислените полета в ACS

3. Извършете настройката за състава на данните в раздела за настройки

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

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

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

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

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

Синтаксис:

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

Описание:

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

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

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

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

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

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

Параметри

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

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

Например:

Сума (Продажби.Оборот) / Изчисляване ("Сума (Продажби.Оборот)", "Общо Общо")

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

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

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

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

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

· 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)), тогава ще бъде получен запис с дата 01.02.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. Израз Изчисляване на израз ("Сума (стойност)", текуща, текуща)ще бъде равно на 50.

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

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

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

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

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

EvaluateExpressionGroupedArray(,) -

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

EvaluateExpressionGroupedValuesTable(,) -

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

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

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

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

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

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

Споделя това