Перейти к содержанию

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

Материал из Химсофт Вики
Нет описания правки
Строка 1: Строка 1:
'''Функции программного потока''' -
{|class="wikitable" style="margin:auto; background-color: #fff;"
|-
!Имя функции
!Описание
!Пример
|-
|Choose
|Возвращает данные из массива по номеру (индексу)
|<code>Choose(<Index>,<Value>[, <Value2>,...[, <Value N>]])</code><br><code>=Choose(3, "10", "15", "20", "25")</code>
|-
|IIF
|Возвращает первую часть выражения, если выполняется условие; вторую если условие не выполнилось
|<code>IIF(<Condition>, <TruePart>, <FalsePart>)</code><br><code>=IIF(Fields!AnnualSales.Value >= 80000, "Above Average", "Below Average")</code>
|-
|Partition
|Возвращает строку, перерассчитанную на специальном интервале.
|<code>Partition(<Value>, <Start>, <End>, <Interval>)</code><br><code>=Partition(1999, 1980, 2000, 10)</code>
|-
|Switch
|Возвращает данные из массива по условию
|<code>Switch(<Condition1>, <Value1>[, <Condition2>, <Value2>,...[,<ConditionN>, <ValueN>]])</code><br><code>=Switch(Fields!FirstName.Value = "Abraham", "Adria", Fields!FirstName.Value = "Charelotte", "Cherrie")</code>
|-
|}
==IIF==
==IIF==



Версия от 08:40, 20 февраля 2026

Функции программного потока -

Имя функции Описание Пример
Choose Возвращает данные из массива по номеру (индексу) Choose(<Index>,<Value>[, <Value2>,...[, <Value N>]])
=Choose(3, "10", "15", "20", "25")
IIF Возвращает первую часть выражения, если выполняется условие; вторую если условие не выполнилось IIF(<Condition>, <TruePart>, <FalsePart>)
=IIF(Fields!AnnualSales.Value >= 80000, "Above Average", "Below Average")
Partition Возвращает строку, перерассчитанную на специальном интервале. Partition(<Value>, <Start>, <End>, <Interval>)
=Partition(1999, 1980, 2000, 10)
Switch Возвращает данные из массива по условию Switch(<Condition1>, <Value1>[, <Condition2>, <Value2>,...[,<ConditionN>, <ValueN>]])
=Switch(Fields!FirstName.Value = "Abraham", "Adria", Fields!FirstName.Value = "Charelotte", "Cherrie")

IIF

Функция IIF (Immediate IF - Немедленное Если) - имеет структуру =IIF(Выражение_условия, Значение_если_истина, Значение_если_ложь).

Пример использования в ячейке:

=IIF(IsNothing (Fields!func.Value), "-", Fields!func.Value)

Пояснения:

  • если в поле Fields!func.Value ничего нет (проверяется функцией IsNothing()), то в ячейку будет помещен символ прочерка -;
  • иначе (если поле не пустое) будет размещено значение поля Fields!func.Value.

Select Case

Конструкция Select Case (аналог оператора switch) - используется, когда необходимо сравнить одну переменную с несколькими возможными значениями или диапазонами значений.

Принцип работы на примере:

Select Case ResultDate
    Case 1
        ResultString = " год"
    Case 2 To 4
        ResultString = " года"
    Case Else
        ResultString = " лет"
End Select
  • в конструкцию подставляется главное выражение (в данном случае это ResultDate);
  • значение этого выражения последовательно сравнивается со значениями, указанными после каждого ключевого слова Case (в первом случае с 1; во втором – с диапазоном от 2 до 4 включительно; все остальные значения, не попавшие в первых два Case автоматически перенаправляются в последний вариант Case Else);
  • как только найдено совпадение, выполняется код внутри соответствующего блока Case и работа конструкции завершается.