Содержание


Функциональные возможности АвтоДок

  • 1. Введение
  • 2. Бизнес-сценарий
  • 3. Список шаблонов
  • 4. Архив записей
  • 5. Конфигурация
  • 6. Настройки
  • 7. Создание записи
  • 8. Переменные
  • 9. Глобальные переменные
  • 10. Группировка бизнес-сценариев
  • 11. Справочники
  • 12. Управляющие конструкции
  • 13. Конструктор сложных типов переменных
  • 14. Создание нового типа переменных
  • 15. Работа с постоянными клиентами
  • Глава 12. Управляющие конструкции

    Глава 12. Управляющие конструкции

    Для большего удобства пользователя при работе с документами в системе АвтоДоке существуют управляющие конструкции, которые делают возможным программирование документов.

    В системе существует 3 типа управляющих конструкций:

    Выражения

    Внимание! Все выражения, содержащиеся в шаблоне, должны быть заключены в фигурные скобки { }.

    Выражения, записанные в настройках типа "Функция" в скобки не заключаются.

    Например:

    • Выражение в шаблоне:

      {ПРОЦЕНТ({$Цена изделия}; 20)}

    • Выражение в настройках типа "Функция":

      ПРОЦЕНТ({$Цена изделия}; 20)

    Существуют следующие выражения.

    Простейшие математические функции

    К простейшим математическим функциям относятся:

    • Сложение. Чтобы сложить значения двух переменных или констант, используется знак "+". Например:

      {$Число1}+{$Число2}

      или

      {$Число1}+5.5

    • Вычитание. Чтобы вычесть значение одной переменной из другой (или константы), используется знак "-". Например:

      {$Число1}-{$Число2}

      или

      100-{$Число1}

    • Умножение. Чтобы перемножить значения двух переменных или констант, используется знак "*". Например:

      {$Число1}*{$Число2}

      или

      2*{$Число1}

    • Деление. Чтобы разделить значение одной переменной на другую (или константу), используется знак "/". Например:

      {$Число1}/{$Число2}

      или

      {$Число1}/3

    • Управляющие скобки и сложные выражения, состоящие из простых функций.

      Разрешается применять любое сочетание перечисленных функций, а также использовать для обозначения порядка действий скобки. Например:

      ( {$Число1} + {$Число2} ) * {$Число3}

    В качестве переменных могут быть любые переменные бизнес-сценария, имеющие числовой тип (целое или дробное), денежный или дата. Результат функции в шаблоне при этом всегда будет иметь числовой тип. Для приведения результата к другому типу используйте функции, приведенные ниже.

    Прочие математические функции

    В системе существуют еще 2 типа математических функций:

    Процент от числа (ПРОЦЕНТ)

    Данная вставка имеет следующий вид: ПРОЦЕНТ(<ИМЯ ПЕРЕМЕННОЙ>; %).

    Пример:

    ПРОЦЕНТ({$Цена изделия}; 20) - эта функция должна вычислить 20% процентов от значения {$Цена изделия}.

    Если параметр не определен, то значение по умолчанию равно 0.

    Вычислить НДС от суммы (НДС)

    Данная вставка имеет следующий вид: НДС(<ИМЯ ПЕРЕМЕННОЙ>).

    Пример:

    НДС({$Цена}) - эта функция должна вычленять НДС из указанной цены с НДС. Т.е. вычислять ({$Цена}/118)*18.

    Если параметр не определен, то значение по умолчанию равно 0.

    Функции работы с денежными типами

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

    Преобразовать число в вид "15.50" (ФОРМАТ_ДЕНЬГИ)

    Данная вставка имеет следующий вид: ФОРМАТ_ДЕНЬГИ(<ИМЯ ПЕРЕМЕННОЙ>).

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

    Пример:

    ФОРМАТ_ДЕНЬГИ(1233.1467) = 1 233.15

    Преобразовать число в вид "15 руб. 50 коп." (ФОРМАТ_ДЕНЬГИ_СТРОКА)

    Данная вставка имеет следующий вид: ФОРМАТ_ДЕНЬГИ_СТРОКА(<ИМЯ ПЕРЕМЕННОЙ>).

    Данная функция преобразует числовое значение к строковому формату для вывода денежных сумм, при этом пишутся слова рубли и копейки.

    Пример:

    ФОРМАТ_ДЕНЬГИ(1233.1467) = 1 233 руб. 15 коп.

    Преобразовать число в вид "пятнадцать рублей 50 копеек" (ФОРМАТ_ДЕНЬГИ_ПРОПИСЬ)

    Данная вставка имеет следующий вид: ФОРМАТ_ДЕНЬГИ_ПРОПИСЬ(<ИМЯ ПЕРЕМЕННОЙ>).

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

    Пример:

    ФОРМАТ_ДЕНЬГИ(1233.1467) = Одна тысяча двести тридцать три рубля 15 копеек.

    Преобразовать значение переменной к строке (СТРОКА)

    Данная вставка имеет следующий вид: СТРОКА(<ИМЯ ПЕРЕМЕННОЙ>; <КОЛИЧЕСТВО ЗНАКОВ ПОСЛЕ ЗАПЯТОЙ>).

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

    Пример:

    СТРОКА(1233.1467; 3) = 1233.147

    Функции работы с датами

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

    Текущая дата (ДАТА)

    Данная вставка имеет следующий вид: ДАТА().

    Возвращает строку даты, равной текущей дате.

    Пример:

    ДАТА() = 8 января 2007 года.

    Текущее время (ВРЕМЯ)

    Данная вставка имеет следующий вид: ВРЕМЯ().

    Возвращает строку времени, равного текущему времени. Часы от 0 до 23

    Пример:

    ВРЕМЯ() = 01:27.

    Функции для работы с блоками

    Количество элементов в блоке (КОЛИЧЕСТВО_ЭЛЕМЕНТОВ)

    Данная вставка имеет следующий вид: КОЛИЧЕСТВО_ЭЛЕМЕНТОВ(<ИМЯ ПЕРЕМЕННОЙ>).

    Возвращает количество элементов в блоке.

    Текущая позиция в блоке (ИНДЕКС)

    Данная вставка имеет следующий вид: ИНДЕКС().

    Возвращает текущую позицию в блоке.

    Сумма по блоку (СУММА)

    Данная вставка имеет следующий вид: СУММА(<ИМЯ ПЕРЕМЕННОЙ БЛОКА>; <ИМЯ ПЕРЕМЕННОЙ>).

    Возвращает сумму по блоку <ИМЯ ПЕРЕМЕННОЙ БЛОКА> для переменной <ИМЯ ПЕРЕМЕННОЙ>.

    Пример:

    СУММА({$Товар}; {$Цена})

    Прочие функции

    Склонение ФИО (ФОРМАТ_ФИО)

    Данная вставка имеет следующий вид: ФОРМАТ_ФИО(<ИМЯ ПЕРЕМЕННОЙ>; <Падеж>; <Формат>).

    Возвращает фамилию, склоненную в определенный падеж в определенном формате.

    Падежи указываются в виде числа:

    • 1 - именительный;

    • 2 - родительный;

    • 3 - дательный;

    • 4 - винительный;

    • 5 - творительный;

    • 6 - предложный.

    Формат может иметь следующий вид:

    • 'Фамилия Имя Отчество'

    Если параметр <Формат> не указан, используется формат 'Фамилия Имя Отчество'.

    Пример:

    ФОРМАТ_ФИО( 'Иванов Петр Петрович'; 2; 'Фамилия И.О.' ) = Иванова П.П.