⟵ сюдатуда ⟶
  • Селекты
  • select
  • selectList
  • selectRowListForSelect
  • selectRowListForTree
  • selectTreeChildren
  • selectRow
  • selectRowList
  • Даты
  • nowDate
  • dateDiff
  • dateAdd
  • dateFormat
  • dateWeekDay
  • Математические
  • round
  • modul
  • numRand
  • Текстовые строки
  • strAdd
  • strReplace
  • strRegMatches
  • strRegAllMatches
  • strRandom
  • strBaseEncode
  • strBaseDecode
  • strLength
  • strRepeat
  • strSplit
  • strTransform
  • textByTemplate
  • strMd5
  • strGz
  • strUnGz
  • Списки
  • listCreate
  • listMax
  • listMin
  • listSum
  • listCount
  • listUniq
  • listItem
  • listJoin
  • listCross
  • listAdd
  • listMinus
  • listCut
  • listSection
  • listFilter
  • listSearch
  • listSort
  • listMath
  • listTrain
  • listRepeat
  • listNumberRange
  • Строки
  • rowCreate
  • rowListCreate
  • rowCreateByLists
  • rowAdd
  • rowListAdd
  • rowKeys
  • rowValues
  • rowKeysReplace
  • rowKeysRemove
  • Логика
  • if
  • while
  • var
  • exec
  • errorExeption
  • tryCatch
  • Пересчет, вставка и изменение
  • reCalculate
  • pin
  • pinList
  • insert
  • insertList
  • setList
  • set
  • duplicate
  • duplicateList
  • clear
  • clearList
  • delete
  • deleteList
  • setListExtended
  • insertListExtended
  • reCalculateCycle
  • execButton
  • execButtonList
  • Вызовы окон и скриптов
  • linkToTable
  • linkToScript
  • linkToDataText
  • linkToDataTable
  • linkToDataHtml
  • linkToPanel
  • linkToPrint
  • getFromScript
  • getFromSoap
  • emailSend
  • linkToButtons
  • linkToAnonymTable
  • GET/POST/INPUT
  • Форматирование
  • setFormat
  • setRowFormat
  • setTableFormat
  • setFloatFormat
  • Обработка json
  • jsonCreate
  • jsonExtract
  • Операции с файлами
  • fileGetContent
  • Системные
  • normalizeN
  • getTableSource
  • sysTranslit
  • getUsingFields
  • schemaGzStringGet
  • schemaGzStringUpload
  • Обработка xml
  • xmlExtract
  • Документация

    Функции

    Селекты

    select

    Сложность: <2>

    Доступен в секциях: Код; Код действия; Код селекта; Форматирование ячейки, строки, таблицы.

    =: select(table: ''; cycle: ; hash: ; field: ''; where: '' = ; order: '' asc)
    

    Возвращает одно значение из поля field: таблицы table:.

    Обязательные параметры

    Необязательные параметры

    • cycle — определяет цикл, если таблица table: является расчетной в цикле.

    • hashстрока, для временных таблиц hash таблицы.

    • wherename-параметр условие выбора строки в строчной части. Левая часть определяет поле сравнения в таблице table:, а правая — значение сравнения.

      • Множественный параметр — если указано несколько параметров where:, то выборка осуществляется на пересечении их условий, применяемых слева направо.
      • Параметр может отсутствовать, если поле не содержит строк (расположено вне строчной части таблицы). Если параметр отсутсвует для выборки из поля строчной части, то результатом работы функции будет является одно первое значение в соответсвии с сортировкой заданой в order:.
      • Возможны любые операторы сравнения.
      • Может передаваться как число, строка, дата или булевое значение
      • Может быть как одним значением, так и списком. В зависимости от этого, и от того, что содержится в where: могут получатся различные комбинации сравнений: один к одному, один ко многим, многие ко многим.
      • Если по условиям выбираются значения из нескольких строк, то результатом работы функции будет является одно первое значение в соответсвии с сортировкой заданой в order:.
      • Если по условиям не выбирается ни одной строки, то результатом работы функции будет являться пустота.

    Поля типов Селект (множественный), Селект-дерево (множественный) и Данные могут выбираться с оператором сравнения ==. В этом случае ищется полное совпадение, а не пересечение значения поля с заданным в where: значением. Поиск по содержимому поле Данные в простых таблицах может по-разному себя вести в зависимости от того, сохранено число-значение как строка или как число.

    • ordername-параметр поле в таблице table:, по которому будет осуществляется сортировка.

      • Множественный параметр — если указано несколько параметров order:, то сортировка будет осуществлена последовательно.
      • Если параметр отсутсвует, то сортировка будет произведена в произвольном порядке.
      • asc — по возрастанию
      • desc — по убыванию
    • sfieldname-параметр поле типа Селект или Селект-дерево, для которого нужно выбрать и вернуть отображаемое значение, а не основание.

    • tfieldname-параметр поле, исползующееся для расчета значений селектов в запрошенных в sfield: полях.

    • offsetчисло пропуск указанного количества элементов.

    Пример:

    zakazy (cycle_id: 1)

    id nomer_zakaza
    1 98
    2 99
    3 100

    example: select(table: 'zakazy'; cycle: 1; field: 'id'; where: 'nomer_zakaza' = 100)
    
    // Результат: 3
    

    selectList

    Сложность: <2>;

    Доступен в секциях: Код; Код действия; Код селекта; Форматирование ячейки, строки, таблицы.

    =: selectList(table: ''; cycle: ; hash: ; field: ''; where: '' = ; order: '' asc)
    

    Возвращает список значений из строк поля field: таблицы table: в соответствии с сортировкой заданной в order:.

    Обязательные параметры

    Необязательные параметры

    • cycle — определяет цикл, если таблица table: является расчетной в цикле.

    • hashстрока, для временных таблиц hash таблицы.

    • wherename-параметр условие выбора строки в строчной части. Левая часть определяет поле сравнения в таблице table:, а правая — значение сравнения.

    • ordername-параметр поле в таблице table:, по которому будет осуществляется сортировка.

      • Множественный параметр — если указано несколько параметров order:, то сортировка будет осуществлена последовательно.
      • Если параметр отсутствует, то сортировка будет произведена в произвольном порядке.
      • asc — по возрастанию
      • desc — по убыванию
    • sfieldname-параметр поле типа Селект или Селект-дерево, для которого нужно выбрать и вернуть отображаемое значение, а не основание.

    • tfieldname-параметр поле, использующееся для расчета значений селектов в запрошенных в sfield: полях.

    • limitчисло, ограничивает список указанным количеством элементов.

    • offsetчисло пропуск указанного количества элементов.

    Пример:

    zakazy

    id nomer_zakaza
    1 98
    2 99
    3 100

    example: selectlist(table: 'zakazy'; field: 'id'; where: 'nomer_zakaza' >= 99)
    
    // Результат: [2,3]
    

    selectRowListForSelect

    Сложность: <4>;

    Доступен в секциях: Код селекта.

    =: selectRowListForSelect(table: ''; cycle: ; bfield: 'id'; field: ''; order: '' asc; where: '' = ; section: ''; preview: '')
    

    Возвращает специальный список ассоциативных массивов для формирования отображения Селектов.

    Обязательные параметры

    • tablename-параметр таблица из которой берутся значения.

    • fieldname-параметр поле в таблице table: из которого берется отображение.

    Необязательные параметры

    • cycleчисло, определяет цикл, если таблица table: является расчетной в цикле.

    • hashстрока, для временных таблиц hash таблицы.

    • wherename-параметр условие выбора строки в строчной части. Левая часть определяет поле сравнения в таблице table:, а правая — значение сравнения.

    • ordername-параметр поле в таблице table:, по которому будет осуществляется сортировка.

      • Множественный параметр — если указано несколько параметров order:, то сортировка будет осуществлена последовательно.
      • Если параметр отсутсвует, то сортировка будет произведена в произвольном порядке.
      • asc — по возрастанию
      • desc — по убыванию
    • sectionname-параметр, поле в таблице table:, по которому будут сгруппированы значения.

    • previewname-параметр множественный параметр, поля данные которых выводятся в панельку по клику правой кнопки мыши или при выборе значения.

    • bfieldname-параметр поля, выводящегося в параметр "value" итогового rowList.

      • При пустом bfield: в качестве ключа используется id.
    • previewscode — код для формирования превью, получает параметр $#val, содержащий bfield селекта. Должен возвращать rowlist формата [{title: "", value: "", name: ""}].

    Пример 1:

    klienty

    id pokupatel
    1 Alexey
    2 Pavel
    3 Boris

    example1: selectRowListForSelect(table: 'klienty'; field: 'pokupatel'; order: 'pokupatel' asc)
    
    //Результат: 
    //[
    //{"value": 1, "is_del": false, "title":"Alexey"},
    //{"value": 3, "is_del": false, "title":"Boris"}
    //{"value": 2, "is_del": false, "title":"Pavel"}
    //]
    

    Пример 2:

    cloud_kassir_sistemy_nalogooblojeniya

    id key value
    1 0 Общая система налогообложения
    2 1 Упрощенная система налогообложения (Доход)
    3 2 Упрощенная система налогообложения (Доход минус Расход)
    4 3 Единый налог на вмененный доход
    5 4 Единый сельскохозяйственный налог
    6 5 Патентная система налогообложения

    example2: selectRowListForSelect(table: 'cloud_kassir_sistemy_nalogooblojeniya'; field: 'value'; bfield: 'key';  where: 'key'<3; order: 'key' asc)
    
    // Результат: 
    // [
    // {"value": 0, "is_del": false, "title":"Общая система налогообложения"},
    // {"value": 1, "is_del": false, "title":"Упрощенная система налогообложения (Доход)"}
    // {"value": 2, "is_del": false, "title":"Упрощенная система налогообложения (Доход минус Расход)"}
    // ]
    

    selectRowListForTree

    Сложность: <6>;

    Доступен в секциях: Код селекта.

    =: selectRowListForTree(table: ''; cycle: ; field: ''; order: '' asc; where: '' = ; parent: ''; disabled: )
    

    Возвращает список ассоциативных массивов с row формата:

    {
      "value": 35,
      "is_del": false,
      "title": "Производство",
      "parent": 1
    }
    

    Используется для подготовки данных поля Селект-дерево.

    Обязательные параметры

    • tablename-параметр таблица, из которой берутся значения.

    • fieldname-параметр поле в таблице table:.

    • parentname-параметр, поле содержащее значение id родительского элемента или null, если это элемент верхнего уровня.

    Необязательные параметры

    • cycleчисло, одно или список, определяет цикл, если таблица table: является расчетной в цикле.

    • hashстрока, для временных таблиц hash таблицы.

    • wherename-параметр, множественный, ограничение на выборку вида 'field_name' = "value" аналогично selectList.

    • ordername-параметр, множественный, поле, по которому будет осуществляться сортировка, и порядок в виде 'field_name' asc для сортировки по возрастанию и 'field_name' desc для сортировки по убыванию.

    • disabledчисловой список, bfield, запрещенные к выбору, но отображаемые в дереве.

    • bfieldname-параметр поле в таблице table: которое будет взято в качество основания. По умолчанию id.

    Пример:

    example: selectRowListForTree(table: 'tree'; field: 'title'; parent: 'parent_id')
    
    // Результат: [{"value":35,"is_del":false,"title":"Производство","parent":null},{"value":45,"is_del":true,"title":"Закупка материалов и склад","parent":"35"} ]
    

    selectTreeChildren

    Сложность: <5>;

    Доступен в секциях: Код; Код действия; Код селекта; Форматирование ячейки, строки, таблицы.

    =: selectTreeChildren(table: ''; cycle: ; hash: ; id: ; parent: '')
    

    Возвращает список из id, дочерних по отношению к указанному в параметре id:, а также дочерних к дочерним. Уровень вложенности не ограничен.

    Обязательные параметры

    • tablename-параметр таблица, из которой берутся значения.

    • idчисло, дочерние строки которого ищем.

    • parentname-параметр поля, содержащего id родителя (для элементов верхнего уровня null)

    Необязательные параметры

    Пример:

    tree

    id title parent_id
    1 Системные таблицы null
    2 Основные 1
    3 Доступы 1
    32 Документация null
    33 Настройки 32

    example: selectTreeChildren(table: 'tree'; id: 1; parent: 'parent_id')
    
    // Результат: [2, 3]
    

    selectRow

    Сложность: <4>;

    Доступен в секциях: Код; Код действия; Код селекта; Форматирование ячейки, строки, таблицы.

    =: selectRow(table: ''; cycle: ; hash: ; fields: ; field: ''; field: ''; where: '' = ; order: '' asc)
    

    Возвращает ассоциативный массив с основаниями в виде name полей указанных в field: и отображениями в виде их значений из одной первой строки строчной части в соответствии с условиями выборки where: и сортировкой order:.

    Обязательные параметры

    Необязательные параметры

    • fieldname-параметр поле в таблице table:.

    • cycle — определяет цикл, если таблица table: является расчетной в цикле.

    • hashстрока, для временных таблиц hash таблицы.

    • wherename-параметр условие выбора строки в строчной части. Левая часть определяет поле сравнения в таблице table:, а правая — значение сравнения.

    • ordername-параметр поле в таблице table:, по которому будет осуществляется сортировка.

      • Множественный параметр — если указано несколько параметров order:, то сортировка будет осуществлена последовательно.
      • Если параметр отсутствует, то сортировка будет произведена в произвольном порядке.
      • asc — по возрастанию
      • desc — по убыванию
    • sfieldname-параметр поле типа Селект или Селект-дерево, для которого нужно выбрать и вернуть отображаемое значение, а не основание.

    • tfieldname-параметр поле, использующееся для расчета значений селектов в запрошенных в sfield: полях.

    • fieldsсписок полей field:.

    • sfieldsсписок полей sfield:.

    Пример:

    klienty

    id pokupatel summa
    1 Alexey 10
    2 Pavel 20
    3 Boris 30

    example: selectrow(table: 'klienty'; field: 'pokupatel'; field: 'summa'; order: 'id' desc)
    
    // Результат: {"pokupatel": "Boris", "summa": 30}
    

    selectRowList

    Сложность: <6>;

    Доступен в секциях: Код; Код действия; Код селекта; Форматирование ячейки, строки, таблицы.

    =: selectRowList(table: ''; cycle: ; hash: ; fields: ; field: ''; field: ''; where: '' = ; order: '' asc)
    

    Возвращает список ассоциативных массивов.

    Обязательные параметры

    Необязательные параметры

    • fieldname-параметр поле в таблице table:.

    • cycleчисло, одно или список, определяет цикл, если таблица table: является расчетной в цикле.

    • hashстрока, для временных таблиц hash таблицы.

    • wherename-параметр, множественный, ограничение на выборку вида 'field_name' = "value".

    • ordername-параметр, множественный, поле, по которому будет осуществляться сортировка, и порядок в виде 'field_name' asc для сортировки по возрастанию и 'field_name' desc для сортировки по убыванию.

    • tfieldname-параметр поле, использующееся для расчета значений селектов в запрошенных в sfield: полях.

    • sfieldname-параметр поле типа Селект или Селект-дерево, для которого нужно выбрать и вернуть отображаемое значение, а не основание.

    • fieldsсписок полей field:.

    • sfieldsсписок полей sfield:.

    • limitчисло, ограничивает список указанным количеством элементов.

    • offsetчисло пропуск указанного количества элементов.

    Пример:

    klienty

    id pokupatel summa
    1 Alexey 10
    2 Pavel 20
    3 Boris 30

    example: selectrowlist(table: 'klienty'; field: 'pokupatel'; field: 'summa'; where: 'id' > 1; order: 'id' desc)
    
    // Результат: 
    // [
    // {"pokupatel": "Boris", "summa": 30},
    // {"pokupatel": "Pavel", "summa": 20},
    // ]
    

    Даты

    nowDate

    Сложность: <1>;

    Доступен в секциях: Код; Код действия; Код селекта; Форматирование ячейки, строки, таблицы.

    =: nowDate(format: "Y-m-d H:i")
    

    Возвращает текущую дату в указанном формате.

    Необязательные параметры

    • format — определяет формат в котором выводится дата, например Y-m-d H:i

      • Если параметр format: отсутствует, то результатом будет строка формата Y-m-d H:i.
      • ВНИМАНИЕ! ПОЛЕ ДАТА ХРАНИТ ЗНАЧЕНИЕ В ФОРМАТЕ Y-m-d H:i и Y-m-d.
      • ДЛЯ КОРРЕКТНОЙ РАБОТЫ СРАВНЕНИЙ ОБЕ ЧАСТИ НЕРАВЕНСТВА ДОЛЖНЫ БЫТЬ В АНАЛОГИЧНОМ ФОМАТЕ!
      • Может быть указан как одна строка в которой в результате работы функции будут произведены замены:

      • Символы формата даты

        • d — День месяца, 2 цифры с ведущим нулём от 01 до 31
        • D — Текстовое представление дня недели, 3 символа от Mon до Sun (не рекомендуется использовать тк для этого есть функция dateWeekDay)
        • j— День месяца без ведущего нуля от 1 до 31
        • N — Порядковый номер дня недели от 1 (понедельник) до 7 (воскресенье)
        • z – Порядковый номер дня в году от 0 до 365
        • W — Порядковый номер недели года.
        • m — Порядковый номер месяца с ведущим нулём от 01 до 12
        • M — Сокращенное наименование месяца, 3 символа от Jan до Dec (не рекомендуется использовать тк для этого есть функция Х)
        • n — Порядковый номер месяца без ведущего нуля от 1 до 12
        • t — Количество дней в указанном месяце от 28 до 31
        • L — Признак високосного года 1, если год високосный, иначе 0.
        • Y — Порядковый номер года, 4 цифры. Примеры: 1999, 2003
        • y — Номер года, 2 цифры. Примеры: 99, 03
        • H — Часы в 24-часовом формате с ведущим нулём от 00 до 23
        • i — Минуты с ведущим нулём от 00 до 59
        • s — Секунды с ведущим нулём от 00 до 59

    Пример 1:

    example1: nowdate()
    
    // Результат: "2018-01-15 20:48" 
    

    Пример 2:

    example2: nowdate(format: "Y-m-d")
    
    // Результат: "2018-01-15" 
    

    Пример 3:

    example3: nowdate(format: "H:i")
    
    // Результат: "20:48" 
    

    Пример 4:

    example4: nowdate(format: "d.m.Y")
    
    // Результат: "15.01.2018" 
    

    Пример 5:

    example5: nowdate(format: "d.m.Y (H:00)")
    
    // Результат: "15.01.2018 (20:00)" 
    

    Пример 6:

    example6: nowdate(format: "z")
    
    // Результат: "15"
    // Несмотря на то, что результатом работы этой функции всегда является строка, ее можно использовать как Число, если она содержит в себе только число или число и точку.
    

    dateDiff

    Сложность: <2>;

    Доступен в секциях: Код; Код действия; Код селекта; Форматирование ячейки, строки, таблицы.

    =: dateDiff(date: ; date: ; unit: "day|year|month|hour|minute")
    

    Возвращает число, равное разнице между date и date выраженное в единице unit. Если правая дата раньше левой — функция вернет отрицательное значение. Разница между датами возвращается в виде дробного значения.

    Обязательные параметры

    • date — обязательно должно быть указано два параметра.

      • Могут быть переданы как одна строка.
      • Передаваемые значения должны соответствовать одному из форматов:
        • Y-m-d H:i
        • Y-m-d
        • d-m-Y H:i
        • d-m-Y
        • d-m-y H:i
        • d-m-y
      • Если один из параметров указан с H:i, а другой без — то для сравнения параметру с отсутствующим H:i присваивается 00:00
    • unit — параметр, определяющий, в какой величине отображается разница.

      • Передается как одна строка и может принимать одно из значений:
        • year — года
        • month — месяцы
        • day — дни
        • hour — часы
        • minute — минуты
      • Параметр может отсутствовать, в этом случае его значению присваивается day.

    Пример:

    example: dateDiff(date: $date1; date: $date2; unit: "day")
        date1: "01.07.2017"
        date2: "2017-07-02 10:42"
    
    // Результат: "1.4458333333333"
    

    dateAdd

    Сложность: <2>;

    Доступен в секциях: Код; Код действия; Код селекта; Форматирование ячейки, строки, таблицы.

    =: dateAdd(date: ; days: ; hours: ; minutes: ; months: ; years: ; format: "Y-m-d H:i")
    

    Прибавляет к дате дни, часы и минуты и возвращает новую дату (позже заданной) в виде одной строки. Указание дней, часов и минут с отрицательным знаком приведет к вычитанию их из стартовой даты. Будет возвращена дата раньше стартовой.

    Если при добавлении месяцев получается отсутствующая дата, то избыток дней переносится на следующий месяц.

    Обязательные параметры

    • date — дата, к которой будет прибавляться значение.

      • Передается как как одна строка.
      • Передаваемое значение должно соответствовать одному из форматов:

        • Y-m-d H:i
        • Y-m-d
        • d-m-Y H:i
        • d-m-Y
        • d-m-y H:i
        • d-m-y
      • Если передана без H:i, а прибавляются часы и минуты, то присваивается 00:00.

    Необязательные параметры

    • format — определяет формат в котором выводится дата, например "Y-m-d H:i"

      • Если параметр format: отсутствует, то результатом будет строка формата "Y-m-d H:i".
      • ВНИМАНИЕ! ПОЛЕ ДАТА ХРАНИТ ЗНАЧЕНИЕ В ФОРМАТЕ "Y-m-d H:i" и "Y-m-d".
      • ДЛЯ КОРРЕКТНОЙ РАБОТЫ СРАВНЕНИЙ ОБЕ ЧАСТИ НЕРАВЕНСТВА ДОЛЖНЫ БЫТЬ В АНАЛОГИЧНОМ ФОМАТЕ!
      • Может быть указан как одна строка в которой в результате работы функции будут произведены замены:

      • Символы формата даты

        • d — День месяца, 2 цифры с ведущим нулём от 01 до 31
        • D — Текстовое представление дня недели, 3 символа от Mon до Sun (не рекомендуется использовать тк для этого есть функция dateWeekDay)
        • j— День месяца без ведущего нуля от 1 до 31
        • N — Порядковый номер дня недели от 1 (понедельник) до 7 (воскресенье)
        • z – Порядковый номер дня в году от 0 до 365
        • W — Порядковый номер недели года.
        • m — Порядковый номер месяца с ведущим нулём от 01 до 12
        • M — Сокращенное наименование месяца, 3 символа от Jan до Dec (не рекомендуется использовать тк для этого есть функция Х)
        • n — Порядковый номер месяца без ведущего нуля от 1 до 12
        • t — Количество дней в указанном месяце от 28 до 31
        • L — Признак високосного года 1, если год високосный, иначе 0.
        • Y — Порядковый номер года, 4 цифры. Примеры: 1999, 2003
        • y — Номер года, 2 цифры. Примеры: 99, 03
        • H — Часы в 24-часовом формате с ведущим нулём от 00 до 23
        • i — Минуты с ведущим нулём от 00 до 59
        • s — Секунды с ведущим нулём от 00 до 59
    • daysодно целое число, количество дней.

    • hoursодно целое число, количество часов.

    • minutesодно целое число, количество минут.

    • monthsодно целое число, количество месяцев.

    • yearsодно целое число, количество лет.

    Пример:

    example: dateAdd(date: "2017-10-01 10:00"; days: 1; hours: 2; minutes: 20)
    
    // Результат: "2017-10-02 12:20"
    

    dateFormat

    Сложность: <2>;

    Доступен в секциях: Код; Код действия; Код селекта; Форматирование ячейки, строки, таблицы.

    =: dateFormat(date: ; format: "d.m.Y H:i")
    

    Возвращает преобразованную дату как одну строку.

    Обязательные параметры

    • date — преобразуемая дата.

      • Передается как как одна строка.
      • Передаваемое значение должно соответствовать одному из форматов:

        • Y-m-d H:i
        • Y-m-d
        • d-m-Y H:i
        • d-m-Y
        • d-m-y H:i
        • d-m-y
      • Если передана без H:i, а преобразуется в формат с H:i — присваивается 00:00.

    • format — определяет формат в котором выводится дата, например "Y-m-d H:i"

      • Если параметр format: отсутствует, то результатом будет строка формата "Y-m-d H:i".
      • ВНИМАНИЕ! ПОЛЕ ДАТА ХРАНИТ ЗНАЧЕНИЕ В ФОРМАТЕ Y-m-d H:i и Y-m-d.
      • ДЛЯ КОРРЕКТНОЙ РАБОТЫ СРАВНЕНИЙ ОБЕ ЧАСТИ НЕРАВЕНСТВА ДОЛЖНЫ БЫТЬ В АНАЛОГИЧНОМ ФОМАТЕ!
      • Может быть указан как одна строка в которой в результате работы функции будут произведены замены:

      • Символы формата даты

        • d — День месяца, 2 цифры с ведущим нулём от 01 до 31
        • D — Текстовое представление дня недели, 3 символа от Mon до Sun (не рекомендуется использовать тк для этого есть функция dateWeekDay)
        • j— День месяца без ведущего нуля от 1 до 31
        • N — Порядковый номер дня недели от 1 (понедельник) до 7 (воскресенье)
        • z – Порядковый номер дня в году от 0 до 365
        • W — Порядковый номер недели года.
        • m — Порядковый номер месяца с ведущим нулём от 01 до 12
        • M — Сокращенное наименование месяца, 3 символа от Jan до Dec (не рекомендуется использовать тк для этого есть функция Х)
        • n — Порядковый номер месяца без ведущего нуля от 1 до 12
        • t — Количество дней в указанном месяце от 28 до 31
        • L — Признак високосного года 1, если год високосный, иначе 0.
        • Y — Порядковый номер года, 4 цифры. Примеры: 1999, 2003
        • y — Номер года, 2 цифры. Примеры: 99, 03
        • H — Часы в 24-часовом формате с ведущим нулём от 00 до 23
        • i — Минуты с ведущим нулём от 00 до 59
        • s — Секунды с ведущим нулём от 00 до 59

    Пример:

    example: dateFormat(date: "01.07.2017"; format: "d.m")
    
    // Результат: "01.07"
    

    dateWeekDay

    Сложность: <1>;

    Доступен в секциях: Код; Код действия; Код селекта; Форматирование ячейки, строки, таблицы.

    =: dateWeekDay(date: ; format: "number|short|full")
    

    Возвращает кириллический день недели в виде одной строки.

    Обязательные параметры

    • date — дата, по которой будет браться значение дня недели.

      • Передается как как одна строка.
      • Передаваемое значение должно соответствовать одному из форматов:
        • Y-m-d H:i
        • Y-m-d
        • d-m-Y H:i
        • d-m-Y
        • d-m-y H:i
        • d-m-y
    • formatодна строка, определяет формат, в котором выводится день недели.

      • Может быть указан как:
        • number — число, порядковый номер дня в неделе от 1.
        • short — короткая запись пн, вт, ср, чт, пт, сб, вс.
        • full— полная запись понедельник, вторник...

    Пример:

    example: dateWeekDay(date: $#nd; format: "full")
    
    // Результат: "четверг"
    

    Математические

    round

    Сложность: <1>

    Доступен в секциях: Код; Код действия; Код селекта; Форматирование ячейки, строки, таблицы.

    =: round(num: ; type: ; step: ; dectimal: )
    

    Округляет число в нужную сторону с заданным шагом до указанного количества знаков после запятой.

    Возвращает одно число

    Обязательный параметр

    Необязательные параметры

    • typeодна строка, направление округления.

      • up — округление вверх
      • down — округление вниз
      • При отсутствии — математически
    • stepодно число, шаг округления.

    • dectimalодно целое число, количество знаков после запятой у результата работы функции.

    Пример:

    example: round(num: $limit; type: "up"; step: 0.25; dectimal: 2)
        limit: 3.56
    
    // Результат: 3.75
    

    modul

    Сложность: <1>;

    Доступен в секциях: Код; Код действия; Код селекта; Форматирование ячейки, строки, таблицы.

    =: modul(num: )
    

    Возвращает одно число, абсолютное значение (модуль) числа, переданного в num:.

    Обязательные параметры

    Пример:

    example: modul(num: -3)
    
    // Результат: 3
    

    numRand

    Сложность: <1>;

    Доступен в секциях: Код; Код действия; Код селекта; Форматирование ячейки, строки, таблицы.

    =: numRand(min: ; max: )
    

    Возвращает одно число псевдослучайное значение в диапазоне от min: (или 0) до max: (или максимально возможного в вашей версии PHP случайного числа).

    Необязательные параметры

    • minодно число, минимальная граница диапазона для случайного числа.

      • При отсутсвии 0
    • maxодно число, максимальная граница диапазона для случайного чсла.

      • При отсутствии максимальное для платформы.

    Пример:

    example: numRand(min: 0; max: 20)
    
    // Результат: 4
    

    Текстовые строки

    strAdd

    Сложность: <1>;

    Доступен в секциях: Код; Код действия; Код селекта; Форматирование ячейки, строки, таблицы.

    =: strAdd(str: ; str: )
    

    Возвращает строку, из последовательно соединенных указанных строк.

    Обязательные параметры

    • strодна строка или число, множественный параметр, определяющий части соединяемых строк.

    Пример:

    example: strAdd(str: "Приятного использования "; str: "TOTUM")
    
    // Результат: "Приятного использования TOTUM"
    

    strReplace

    Сложность: <3>;

    Доступен в секциях: Код; Код действия; Код селекта; Форматирование ячейки, строки, таблицы.

    =: strReplace(str: ; from: ; to: )
    

    Ищет в str: все прямые вхождения from: и заменяет их на to:. Возвращает одну строку.

    Обязательные параметры

    • strодна строка или число в которой будут производиться замены.

    • fromсписок или одна строка, соответствие, которое будет заменяться.

      • Будут заменены все найденные вхождения.
      • Если передается как список, то последовательно будут осуществлены замены всех элементов списка.
    • toсписок или одна строка на которую будет произведена замена.

      • Если from: передается как список, то to тоже может быть передан как список, тогда замены будут произведены в соответствии с совпадениями элементов списков.

    Пример 1:

    example1: strreplace(str: "Двигатели R3 и R5 в режиме зажигания"; from: "3"; to: "4")
    
    // Результат: "Двигатели R4 и R5 в режиме зажигания"
    

    Пример 2:

    example2: strreplace(str: "Двигатели R3 и R5 в режиме зажигания"; from: "R"; to: "M")
    
    // Результат: "Двигатели M3 и M5 в режиме зажигания"
    

    Пример 3:

    example3: strreplace(str: "Двигатели R3 и M5 в режиме зажигания"; from: $feng; to: $teng)
        feng: listcreate(item: "R3"; item: "M5")
        teng: listcreate(item: "S2"; item: "T7")
    
    // Результат: "Двигатели S2 и T7 в режиме зажигания"
    

    strRegMatches

    Сложность: <4>;

    Доступен в секциях: Код; Код действия; Код селекта; Форматирование ячейки, строки, таблицы.

    =: strRegMatches(str: ; template: ; matches: "matches"; flags: "u")
    

    Возвращает true или false — совпадение с шаблоном.

    Обязательные параметры

    Необязательные параметры

    • matchesодна строка наименование переменной, которой будут присвоены найденные совпадения

      • В переменную будет передан список.
      • С нулевым индексом в списке будет полное совпадение с шаблоном.
      • С последующими — совпадение со выражениями, взятыми в скобки.
    • flagsPCRE-флаги. По-умолчанию, передается u- utf-8 режим.

    Пример:

    example: if(condition: $reg = true; then: $#matches; else: "Совпадение не найдено")
    reg: strRegMatches(str: "Сашина машина шуршит шинами"; template: "\s+(шина[^\s]*)"; matches: "matches"; flags: "u")
    
    // Результат: [" шинами","шинами"]
    

    strRegAllMatches

    Сложность: <6>;

    Доступен в секциях: Код; Код действия; Код селекта; Форматирование ячейки, строки, таблицы.

    =: strRegAllMatches(str: ; template: ; matches: "matches"; flags: "u")
    

    Возвращает true если в str: есть одно или больше совпадение с шаблоном, если нет то false.

    Обязательные параметры

    Необязательные параметры

    • matchesодна строка наименование переменной, которой будут присвоены найденные совпадения

      • В переменную будет передан список списков.
      • В лист с индексом 0 будут переданы полные совпадения с шаблоном
      • В последующие — совпадения со выражениями, взятыми в скобки.
    • flagsPCRE-флаги. По умолчанию, передается u- utf-8 режим.

    Пример:

    Разбить текст на строки и найти первое слово в каждой строке

    str Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.

    example: if(condition: $reg=true; then: $#matches; else: "Совпадение не найдено")
        reg: strRegAllMatches(str: #str; template: '\s*([^\n ]+)[^\n]+(?:\n|$)'; matches: "matches"; flags: "mu")
    
    //  Результат: [
    //  [
    //    "Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem \n",
    //    "  nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. \n",
    //    "  Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit \n",
    //    "  lobortis nisl ut aliquip ex ea commodo consequat."
    //  ],
    //  [
    //    "Lorem",
    //    "nonummy",
    //    "Ut",
    //    "lobortis"
    //  ]
    //  ]
    

    strRandom

    Сложность: <1>;

    Доступен в секциях: Код; Код действия; Код селекта; Форматирование ячейки, строки, таблицы.

    =: strRandom(length: 5; numbers: "true|false|12345"; letters: "false|true|abcdABCD"; symbols: "false|true|!@#$%^&")
    

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

    Обязательные параметры

    • lengthчисло, длина результирующей строки.

    Необязательные параметры

    • numbersодна строка, описывающая использование чисел.

      • false - не использовать числа.
      • true - использовать все числа.
      • 12345 - использовать только числа 12345.
    • lettersодна строка, описывающая использование букв.

      • false — не использовать буквы.
      • true — использовать все буквы английского алфавита.
      • abcdABCD — использовать только указанные буквы.
    • symbolsодна строка, описывающая использование символов.

      • false — не использовать символы.
      • true — использовать символы !@#$%^&*()_+=-%,.;:
      • !@#$%^& — использовать только указанные символы.

    Пример:

    example: strRandom(length: 5; numbers: "true"; letters: "true"; symbols: "true")
    
    // Результат: "z4yF9"
    

    strBaseEncode

    Сложность: <3>;

    Доступен в секциях: Код; Код действия; Код селекта; Форматирование ячейки, строки, таблицы.

    =: strBaseEncode(str: )
    

    Возвращает строку кодированную в base64.

    Обязательные параметры

    Пример:

    example: strBaseEncode(str: "строка для кодирования")
    
    // Результат: 0YHRgtGA0L7QutCwINC00LvRjyDQutC+0LTQuNGA0L7QstCw0L3QuNGP
    

    strBaseDecode

    Сложность: <3>;

    Доступен в секциях: Код; Код действия; Код селекта; Форматирование ячейки, строки, таблицы.

    =: strBaseDecode(str: )
    

    Возвращает раскодированную base64 строку или false.

    Внимание! В результате раскодирования может быть получена строка с не utf-8 символами, которая не сможет быть сохранена как значение поля и при такой попытке будет отдана ошибка базы данных!

    Обязательные параметры

    Пример:

    example: strBaseDecode(str: "0YHRgtGA0L7QutCwINC00LvRjyDQutC+0LTQuNGA0L7QstCw0L3QuNGP")
    
    // Результат: строка для кодирования
    

    strLength

    Сложность: <1>;

    Доступен в секциях: Код; Код действия; Код селекта; Форматирование ячейки, строки, таблицы.

    =: strLength(str: )
    

    Возвращает число — длину str

    Обязательные параметры

    Пример:

    example: strLength(str: "Тотум")
    
    // Результат: 5
    

    strRepeat

    Сложность: <1>;

    Доступен в секциях: Код; Код действия; Код селекта; Форматирование ячейки, строки, таблицы.

    =: strRepeat(str: ; num: )
    

    Возвращает строку из str:, повторенного num: раз.

    Обязательные параметры

    Пример:

    example: strRepeat(str: "-"; num: 5)
    
    // Результат: "-----"
    

    strSplit

    Сложность: <3>;

    Доступен в секциях: Код; Код действия; Код селекта; Форматирование ячейки, строки, таблицы.

    =: strSplit(str: ; separator: )
    

    Возвращает список из строк — str: разбитое по separator:

    Обязательные параметры

    Необязательные параметры

    • separatorодна строка, разделитель.

    • limit — максимальное число элементов в возвращаемом списке.

    Пример:

    str Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.

    example: strSplit(str: #str; separator: $#nl)
    
    // Результат: 
    //  [
    //  "Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem ",
    //  "  nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. ",
    //  "  Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit ",
    //  "  lobortis nisl ut aliquip ex ea commodo consequat."
    //  ]
    

    strTransform

    Сложность: <2>;

    Доступен в секциях: Код; Код действия; Код селекта; Форматирование ячейки, строки, таблицы.

    =: strTransform(str: ; to: "upper|lower|capitalize")
    

    Возвращает измененную строку.

    Обязательные параметры

    • strстроку для изменения.

    • toстроку, одно из трех значений.

      • upper — сделать все буквы заглавными.
      • lower — сделать все буквы строчными.
      • capitalize — сделать каждую первую букву слова заглавной.

    Пример:

    example: strTransform(str: "вася пупкин"; to: "capitalize")
    
    // Результат: Вася Пупкин
    

    textByTemplate

    Сложность: <5>;

    Доступен в секциях: Код; Код действия; Код селекта; Форматирование ячейки, строки, таблицы.

    =: textByTemplate(template: ""; data: $data)
    

    Возвращает html.

    Обязательные параметры

    Пример:

    id Name шаблона type styles html
    28 kp Страница .title{font-size: 20px;}.text-main{font-size: 14px}.text-footer{padding-top: 20px; font-size: 14px} <div class="title"> {title}</div><div class="text-main"> {text}</div><div class="text-footer"> {footer}</div>
    example: textByTemplate(template: "kp"; data: $data)
        data: rowCreate(field: "title" = "Заголовок"; field: "text" = "Текст"; field: "footer" = "Футер")
    
    // Результат: "<style>.title{font-size: 20px;}.text-main{font-size: 14px}.text-footer{padding-top: 20px; font-size: 14px}</style><body><div class="title">  Заголовок</div><div class="text-main">  Текст</div><div class="text-footer">  Футер</div></body>"
    

    strMd5

    Сложность: <3>;

    Доступен в секциях: Код; Код действия; Код селекта; Форматирование ячейки, строки, таблицы.

    =: strMd5(str: )
    

    Возвращает строка в md5-хеш.

    Обязательные параметры

    Пример:

    example: strMd5(str: "какая-то строка")
    
    // Результат: "15e79710ef30825afe1dc5c4d3fb5849"
    

    strGz

    Сложность: <4>;

    Доступен в секциях: Код; Код действия; Код селекта; Форматирование ячейки, строки, таблицы.

    =: strGz(str: )
    

    Возвращает gz-упакованную строку str:.

    Обязательные параметры

    Пример:

    example: set(table: 'testsimp'; field: 'file'=$fileList)
        fileList: listCreate(item: $fileRow)
            fileRow: rowCreate(field: "filestring" = $gz; field: "name" = "text.txt.gz")
                gz: strGz(str: "Текстовая строка")
    // Результат: null
    // В ячейке file таблицы testsimp - файл text.txt.gz
    

    strUnGz

    Сложность: <4>;

    Доступен в секциях: Код; Код действия; Код селекта; Форматирование ячейки, строки, таблицы.

    =: strUnGz(str: )
    

    Возвращает распакованную gz-строку str: или false, если строку декодировать не удалось.

    Обязательные параметры

    • str — gz-строка для распаковки.

    Пример:

    example: strUnGz(str: $fileContent)
        fileContent: fileGetContent(file: #gzfile[0]["file"])
    // Результат: распакованный текст из файла
    
    

    Списки

    listCreate

    Сложность: <2>;

    Доступен в секциях: Код; Код действия; Код селекта; Форматирование ячейки, строки, таблицы.

    =: listCreate(item: )
    

    Создает список из элементов.

    Необязательный множественный параметр

    Пример 1:

    example1: listCreate(item: 1; item: 2; item: 4; item: "")
    
    // Результат: [1,2,4,""]
    

    Пример 2:

    example2: listCreate(item: "Alex"; item: "Sam"; item: "Mike")
    
    // Результат: ["Alex","Sam","Mike"]
    

    Пример 3:

    example3: listCreate()
    
    // Результат: []
    

    listMax

    Сложность: <1>;

    Доступен в секциях: Код; Код действия; Код селекта; Форматирование ячейки, строки, таблицы.

    =: listMax(list: ; default: )
    

    Возвращает максимальное значение списка. Результатом работы является одно значение, за исключением случая, когда возвращается значение, указанное в параметре default.

    Обязательные параметры

    • listсписок чисел, строк, дат в котором ищется максимальное значение.

      • Если передан ряд чисел, то они будут обрабатываться как числа даже если переданы как строки.

    Необязательные параметры

    Пример 1:


    example1:
    listmax(list: $list1) list1: listCreate(item: 35; item: 78; item: 13) // Результат: 78

    Пример 2:

    example2: listmax(list: $list2)
        list2: listCreate(item: "11"; item: "12"; item: "2")
    
    // Результат: 12
    

    Пример 3:

    example3: listmax(list: $list3)
        list3: listCreate()
    
    // Результат: "ОШБК!"
    

    Пример 4:

    example4: listmax(list: $list4; default: 0)
        list4: listCreate()
    
    // Результат: 0
    

    listMin

    Сложность: <1>;

    Доступен в секциях: Код; Код действия; Код селекта; Форматирование ячейки, строки, таблицы.

    =: listMin(list: ; default: )
    

    Возвращает минимальное значение списка. Результатом работы является одно значение, за исключением случая, когда возвращается значение, указанное в параметре default.

    Обязательные параметры

    • listсписок чисел, строк, дат в котором ищется максимальное значение.

      • Если передан ряд чисел, то они будут обрабатываться как числа даже если переданы как строки.

    Необязательные параметры

    Пример 1:


    example1:
    listMin(list: $list1) list1: listCreate(item: 35; item: 78; item: 13) // Результат: 13

    Пример 2:

    example2: listMin(list: $list2)
        list2: listCreate(item: "11"; item: "12"; item: "2")
    
    // Результат: 2
    

    Пример 3:

    example3: listMin(list: $list3)
        list3: listCreate()
    
    // Результат: "ОШБК!"
    

    Пример 4:

    example4: listmax(list: $list4; default: 0)
        list4: listCreate()
    
    // Результат: 0
    

    listSum

    Сложность: <1>;

    Доступен в секциях: Код; Код действия; Код селекта; Форматирование ячейки, строки, таблицы.

    =: listSum(list: )
    

    Возвращает одно число, сумму значения списка list:. Все элементы списка должны быть числовыми значениями.

    Обязательные параметры

    Пример:

    example: listsum(list: $list)
        list: listCreate(item: 10; item: 5; item: 5)
    
    // Результат: 20
    

    listCount

    Сложность: <1>;

    Доступен в секциях: Код; Код действия; Код селекта; Форматирование ячейки, строки, таблицы.

    =: listCount(list: )
    

    Возвращает одно число, количество элементов списка list:.

    Обязательные параметры

    Пример 1:

    example1: listcount(list: $list1)
        list1: listCreate(item: "Alex"; item: "Sam"; item: "Mike")
    
    // Результат: 3
    

    Пример 2:

    example2: listcount(list: $list2)
        list2: listCreate(item: 5; item: 10; item: 5)
    
    // Результат: 3
    

    listUniq

    Сложность: <1>;

    Доступен в секциях: Код; Код действия; Код селекта; Форматирование ячейки, строки, таблицы.

    =: listUniq(list: )
    

    Возвращает список уникальных элементов списка list:.

    Обязательные параметры

    Пример:

    example: listuniq(list: $list)
    list: listCreate(item: "Alex"; item: "Sam"; item: "Alex")
    
    // Результат: ["Alex","Sam"]
    

    listItem

    Сложность: <2>;

    Доступен в секциях: Код; Код действия; Код селекта; Форматирование ячейки, строки, таблицы.

    =: listItem(list: ; item: )
    

    Возвращает одно значение из списка list: под номером item:. Нумерация элементов списка начинается с 0 (ноля).

    Обязательные параметры

    Пример:

    example: listitem(list: $list2; item: 1)
        list2: listCreate(item: "Alex"; item: "Sam"; item: "Alex")
    
    // Результат: "Sam"
    

    listJoin

    Сложность: <4>;

    Доступен в секциях: Код; Код действия; Код селекта; Форматирование ячейки, строки, таблицы.

    =: listJoin(list: ; str: )
    

    Возвращает объединенные в строка значения списка или ассоциированного массива. str: — строка, которая вставляется между элементами (клей).

    Обязательные параметры

    Необязательные параметры

    Пример:

    example: listJoin(list: $list; str: "-")
        list: listCreate(item: 1; item: 2; item: 3)
    
    // Результат: "1-2-3"
    

    listCross

    Сложность: <3>;

    Доступен в секциях: Код; Код действия; Код селекта; Форматирование ячейки, строки, таблицы.

    =: listCross(list: ; list: )
    

    Возвращает список значений, содержащий все значения первого списка, которые содержатся во всех последующих списках. Может быть задано любое количество списков в которых будет искаться пересечение.

    Обязательные параметры

    Пример:


    example:
    listcross(list: $list1; list: $list2) list1: listCreate(item: 1; item: 1; item: 2; item: 3) list2: listCreate(item: 2; item: 3) list3: listCreate(item: 1; item: 2; item: 3) // Результат: [1, 1, 2]

    listAdd

    Сложность: <3>;

    Доступен в секциях: Код; Код действия; Код селекта; Форматирование ячейки, строки, таблицы.

    =: listAdd(list: ; list: ; item: )
    

    Складывает списки в указанном порядке и возвращает список. Может быть задано любое количество списков в которые будут сложены вместе. Значения в списках могут повторятся.

    Обязательные множественные параметр

    Необязательные множественные параметры

    Пример:

    example: listadd(list: $list1; list: $list2; item: 5)
        list1: listCreate(item: 1; item: 2; item: 3)
        list2: listCreate(item: 2; item: 3)
    
    // Результат: [1,2,3,2,3,5]
    

    listMinus

    Сложность: <3>;

    Доступен в секциях: Код; Код действия; Код селекта; Форматирование ячейки, строки, таблицы.

    =: listMinus(list: ; list: ; item: )
    

    Возвращает список. Вычитает из первого списка значения содержащиеся в последующих списках и отдельные значения. Может быть задано любое количество списков и отдельных значений.

    Обязательные множественные параметры

    Необходимо, что бы присутствовало минимум два параметра, первый из которых list:.

    Необязательные множественные параметры

    Пример:

    example: listminus(list: $list1; list: $list2; item: 2)
        list1: listCreate(item: 1; item: 2; item: 3; item: 4)
        list2: listCreate(item: 3; item: 4; item: 5)
    
    // Результат: [1]
    

    listCut

    Сложность: <6>;

    Доступен в секциях: Код; Код действия; Код селекта; Форматирование ячейки, строки, таблицы.

    =: listCut(list: ; cut: "first|last"; num: 1)
    

    Возвращает список, уменьшенный на num: элементов с начала или с конца.

    Обязательные параметры

    • listсписок чисел, строк, дат в котором ищется максимальное значение.

    • cutстрока, сторона, с которой будут удалены элементы.

      • first — с начала.
      • last — c конца.

    Необязательные параметры

    • numчисло, количество удаляемых элементов, по умолчанию — 1.

    Пример:

    example: listCut(list: $list; cut: "first"; num: 1)
        list: listCreate(item: 1; item: 2)
    
    // Результат: [2]
    

    listSection

    Сложность: <6>;

    Доступен в секциях: Код; Код действия; Код селекта; Форматирование ячейки, строки, таблицы.

    =: listSection(list: ; item: )
    

    Возвращает список из значений указанного в item: ключа на основе ассоциированного массива.

    Обязательные параметры

    Пример 1:

    tree

    id title
    1 Системные таблицы
    2 Основные
    3 Доступы
    32 Документация

    example1: listSection(list: $rowList; item: "id")
        rowList: selectRowList(table: 'tree'; field: 'id'; field: 'title'; order: 'id' asc)
    
    // Результат: [1, 2, 3, 32]
    

    Пример 2:

    example2: listSection(list: $listList; item: 1)
        listList: jsonExtract(text: "[[1,2,3],[4,5,6]]")
    
    // Результат: [2,5]
    

    Так-как listSection используется достаточно часто, то в синтаксисе предусмотрено быстрое обращение к секции через $name[[section]]:

    example3: $listList[[1]]
        listList2: json`[[1,2,3],[4,5,6]]`
    
    // Результат: [2,5]
    

    listFilter

    Сложность: <6>;

    Доступен в секциях: Код; Код действия; Код селекта; Форматирование ячейки, строки, таблицы.

    =: listFilter(list: $list; key: "key|value|item" ><!= ; item: "")
    

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

    Обязательные параметры

    • list — список, в котором осуществляется фильтрация.

    • key — выражение из типа сравниваемого элемента, оператора сравнения и значения для сравнения.

      • key — фильтрация строк осуществляется по числовым ключам списка (0,1,2...).
      • value — фильтрация строк по значению.
      • item — для списков ассоциативных массивов, фильтрация строк по значению в колонке определенной в item:.

    Необязательные параметры

    • item — в случае, когда сравниваемым элементом в key: выбран item — сюда нужно передать ключ этого item.

    • regexp — в случае, когда key представляет из себя регулярное выражение - true или набор флагов. По умолчанию флаг выставляется в u

    • skip — пропускать элементы, в которых не существует заданный items.

    • matches — название переменной, в которую будет записан лист из совпадений выбранных строк.

    Если лист содержит элемент без ключа item будет возвращена ошибка.

    Пример:

    example1: listFilter(list: $list1; key: "item" = "tree"; item: "t")
        list1: listCreate(item: $row1_1; item: $row2_1)
            row1_1: rowCreate(field: "t" = "pen"; field: "i" = 1)
            row2_1: rowCreate(field: "t" = "tree"; field: "i" = 2)
    
    // Результат:
    // [
    //  {
    //    "i": 2,
    //    "t": "tree"
    //  }
    // ]
    

    listSearch

    Сложность: <6>;

    Доступен в секциях: Код; Код действия; Код селекта; Форматирование ячейки, строки, таблицы.

    =: listSearch(list: $list; key: "value|item" ><!= ; item: "")
    

    Возвращает список ключей отвечающих условиям поиска по значениям или вложенным значениям.

    Обязательные параметры

    Необязательные параметры

    • item — в случае, когда сравниваемым элементом в key: выбран item — сюда нужно передать название этого item.

    Если лист содержит элемент без ключа item будет возвращена ошибка!

    Пример:

    example: listSearch(list: $list; key: "item" = "tree"; item: "t")
        list: listCreate(item: $row1; item: $row2)
            row1: rowCreate(field: "t" = "pen"; field: "i" = 1)
            row2: rowCreate(field: "t" = "tree"; field: "i" = 2)
    
    // Результат: [1] (<— это 2-й элемент, а списки нумеруются от 0)
    

    listSort

    Сложность: <6>;

    Доступен в секциях: Код; Код действия; Код селекта; Форматирование ячейки, строки, таблицы.

    =: listSort(list: ; type: "number|string|regular"; direction: "asc|desc")
    

    Возвращает сортированный список.

    Обязательные параметры

    Необязательные параметры

    • typeстрока, тип, к которому приводятся сортируемые элементы при сравнении.

      • number — число.
      • string — строка.
      • regular — без приведения. Результат непредсказуем.
    • directionстрока, направление сортировки.

      • asc — по возрастанию (по умолчанию).
      • desc — по убыванию.

    Пример:

    example: listSort(list: $list; type: "string"; direction: "asc")
        list: listCreate(item: 1; item: 2; item: 11; item: 21)
    
    // Результат: [1,11,2,21]
    

    listMath

    Сложность: <6>;

    Доступен в секциях: Код; Код действия; Код селекта; Форматирование ячейки, строки, таблицы.

    =: listMath(list: ; num: ; operator: )
    

    Возвращает список, все элементы которого были изменены в соответствии с operator: и num:.

    Обязательные параметры

    • listсписок, исходный список.

    • numчисло для арифметического действия.

    • operatorстрока, математический оператор.

      • + — прибавить
      • - — отнять
      • * — умножить
      • / — разделить

    Пример:

    example: listMath(list: $list; num: 3; operator: "*")
        list: listCreate(item: 1; item: 2; item: 11; item: 21)
    
    // Результат: [ 3, 6, 33, 63]
    

    listTrain

    Сложность: <2>;

    Доступен в секциях: Код; Код действия; Код селекта; Форматирование ячейки, строки, таблицы.

    =: listTrain(list: )
    

    Возвращает список из соединенных последовательно список вложенных в списки.

    Обязательные параметры

    ПРИМЕРЫ

    example: listTrain(list: $lists)
        lists: json`[[1,2],[3,4],[5,6]]`
    //Результат: [1,2,3,4,5,6]
    

    listRepeat

    Сложность: <6>;

    Доступен в секциях: Код; Код действия; Код селекта; Форматирование ячейки, строки, таблицы.

    =: listRepeat(item: ; num: )
    

    Возвращает лист из повторенного num: раз элемента item:.

    Обязательные параметры

    • numчисло, количество повторений элемента item:.

    • item — значение любого типа.

    Пример:

    example: listRepeat(item: $row; num: 2)
        row: rowCreate(field: "test" = 1)
    
    // Результат: [
    //  {
    //    "test": 1
    //  },
    //  {
    //    "test": 1
    //  }
    // ]
    

    listNumberRange

    Сложность: <6>;

    Доступен в секциях: Код; Код действия; Код селекта; Форматирование ячейки, строки, таблицы.

    =: listNumberRange(min: ; max: ; step: 1)
    

    Возвращает список из чисел в заданном диапазоне идущих с шагом step:

    Необязательные параметры

    • minчисло от.

    • maxчисло до.

    • stepчисло, шаг.

      • Если step: > 0 — в порядке от min: включительно до max: исключительно.
      • Если step: < 0 — в порядке от max: включительно до min: исключительно.
      • Если step: = 0ОШБК!

    Пример:

    example1: listNumberRange(min: 1; max: 3; step: 0.5)
    
    // Результат: [1,1.5,2,2.5]
    
    example2: listNumberRange(min: 1; max: 3; step: -0.5)
    
    // Результат: [3,2.5,2,1.5]
    

    Строки

    rowCreate

    Сложность: <5>;

    Доступен в секциях: Код; Код действия; Код селекта; Форматирование ячейки, строки, таблицы.

    =: rowCreate(field: "" = )
    

    Возвращает ассоциативный массив с основаниями в виде name полей указанных в field: и отображениями в виде их значений.

    Необязательный множественный параметр

    • field — элементы, из которых создается массив. Количество параметров field: определяет количество элементов в массиве. В двойных кавычках указываются основания field = "base".

    Пример:

    example: rowCreate(field: 'name' = "Alexey"; field: 'age' = 35)
    
    //Результат: {"name": "Alexey", "age": 35}
    

    rowListCreate

    Сложность: <7>;

    Доступен в секциях: Код; Код действия; Код селекта; Форматирование ячейки, строки, таблицы.

    =: rowListCreate(field: "" = )
    

    Возвращает список ассоциативных массивов с основаниями в виде name полей указанных в field: и отображениями в виде их значений создавая строки в порядке сортировки списков передаваемых в field:.

    Обязательные параметры

    • field — элементы, из которых создается массив. Количество параметров field: определяет количество элементов в массиве. В двойных кавычках указываются основания field: = "base".

    Пример:

    example: rowlistCreate(field: 'name' = $names; field: 'age' = $ages)
        names: listCreate(item: "Alexey"; item: "Pavel")
        ages: listCreate(item: 32; item: 35)
    
    // Результат: 
    // [
    // {"name": "Alexey", "age": 32},
    // {"name": "Pavel", "age": 35}
    // ]
    

    rowCreateByLists

    Сложность: <6>;

    Доступен в секциях: Код; Код действия; Код селекта; Форматирование ячейки, строки, таблицы.

    =: rowCreateByLists(keys: $keysList; values: $valuesList)
    

    Возвращает ассоциативный массив или false.

    Обязательные параметры

    • keysсписок, содержащий строки или числа, которые станут ключами для массива.

    • valuesсписок, содержащий любые данные, которые станут значениями.

    • Размеры листов keys: и values: должны совпадать.

    Пример:

    cloud_kassir_sistemy_nalogooblojeniya

    id key value
    1 0 Общая система налогообложения
    2 1 Упрощенная система налогообложения (Доход)
    3 2 Упрощенная система налогообложения (Доход минус Расход)
    4 3 Единый налог на вмененный доход
    5 4 Единый сельскохозяйственный налог
    6 5 Патентная система налогообложения

    example: rowCreateByLists(keys: $keysList; values: $valuesList)
        keysList: listSection(list: $select; item: "key")
        valuesList: listSection(list: $select; item: "value")
        ~select: selectRowList(table: 'cloud_kassir_sistemy_nalogooblojeniya'; field: 'key'; field: 'value'; where: 'key' > 3)
    
    // Результат: {"4":"Единый сельскохозяйственный налог", "5": "Патентная система налогообложения"}
    

    rowAdd

    Сложность: <6>;

    Доступен в секциях: Код; Код действия; Код селекта; Форматирование ячейки, строки, таблицы.

    =: rowAdd(row: ; row: ; field: "" = )
    

    Возвращает ассоциативный массив, дополненный и исправленный последующими row: и field:.

    Обязательные параметры

    • rowассоциативный массив, который будет дополняться или изменяться.

      • Множественный параметр, если указано несколько, то массивы будут сложены в указанном порядке.

    Необязательные параметры

    • field — элементы, которые будут добавлены в конец массива в указаном порядке. В двойных кавычках указываются основания field: "base" = $value.

    Примеры:

    example: rowAdd(row: $row1; field: "test2" = "2"; field: "test3" = "3")
        row1: rowCreate(field: "test1" = "1"; field: "test2"="1")
    
    // Результат: 
    // {
    //  "test1": "1",
    //  "test2": "2",
    //  "test3": "3"
    // }
    

    rowListAdd

    Сложность: <8>;

    Доступен в секциях: Код; Код действия; Код селекта; Форматирование ячейки, строки, таблицы.

    =: rowListAdd(rowlist: ; rowlist: ; field: "" = ; field: "" = )
    

    Возвращает список ассоциативных массивов, дополненный и исправленный последующими rowList: и field:.

    Обязательные параметры

    • rowlistсписки ассоциативных массивов, которые будут сложены.

      • Добавляются или заменяются колонки.
      • Количество элементов в списках должно быть одинаковым и соответствующим по порядку.
      • Если количество элементов в списках разное, то недостающие элементы будут пустотой.

    Необязательные параметры

    • field — колонки, которые будут добавлены в массив в указанном порядке. В двойных кавычках указываются основания field: "base" = $value.

    Пример:

    example: rowListAdd(rowlist: $rowList1; rowlist: $rowList2; field: "test" = 1; field: "testlist" = $valListl; field: "test2" = 0)
        rowList1: jsonExtract(text: '[{"test1":1,"test2":1}, {"test1":2,"test2":2}, {"test1":3,"test2":3}]')
        rowList2: jsonExtract(text: '[{"test10":10}, {"test10":20}, {"test10":30}]')
        valListl: jsonExtract(text: '[5, 6, 7]')
    
    // Результат: [
    //  {
    //    "test": 1,
    //    "test1": 1,
    //    "test2": 0,
    //    "test10": 10,
    //    "testlist": 5
    //  },
    //  {
    //    "test": 1,
    //    "test1": 2,
    //    "test2": 0,
    //    "test10": 20,
    //    "testlist": 6
    //  },
    //  {
    //    "test": 1,
    //    "test1": 3,
    //    "test2": 0,
    //    "test10": 30,
    //    "testlist": 7
    //  }
    // ]
    

    rowKeys

    Сложность: <3>;

    Доступен в секциях: Код; Код действия; Код селекта; Форматирование ячейки, строки, таблицы.

    =: rowKeys(row: )
    

    Возвращает список из ключей ассоциативного массива.

    Обязательные параметры

    Пример:

    example: rowKeys(row: $row)
        row: rowCreate(field: "test1" = "1"; field: "test2" = "1")
    
    // Результат: [
    //  "test1",
    //  "test2"
    // ]
    

    rowValues

    Сложность: <3>;

    Доступен в секциях: Код; Код действия; Код селекта; Форматирование ячейки, строки, таблицы.

    =: rowValues(row: )
    

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

    Обязательные параметры

    Пример:

    example: rowValues(row: $row)
        row: rowCreate(field: "test1" = "1"; field: "test2" = "1")
    
    // Результат: 
    // [
    //  "1",
    //  "1"
    // ]
    

    rowKeysReplace

    Сложность: <6>;

    Доступен в секциях: Код; Код действия; Код селекта; Форматирование ячейки, строки, таблицы.

    =: rowKeysReplace(row: ; from: ; to: ; recursive: false)
    

    Возвращает ассоциативный массив c ключами замененными с from: на to:.

    Обязательные параметры

    Необязательные параметры

    Пример:

    example: rowKeysReplace(row: $rowList; from: "a"; to: "c"; recursive: true)
        rowList: jsonExtract(text: '[{"a": 1, "b": 2}, {"a": 4, "d": 4}]')
    
    // Результат: [{"b": 2,"c": 1},{"c": 4,"d": 4}]
    

    rowKeysRemove

    Сложность: <6>;

    Доступен в секциях: Код; Код действия; Код селекта; Форматирование ячейки, строки, таблицы.

    =: rowKeysRemove(row: ; key: ; keys: ; recursive: false)
    

    Возвращает ассоциированный массив с удаленными ключами (колонками) key: или keys:.

    Обязательные параметры

    Необязательные параметры

    Пример:

    example: rowKeysRemove(row: $rowList; key: "a"; recursive: true)
        rowList: jsonExtract(text: '[{"a": 1, "b": 2}, {"a": 4, "d": 4}]')
    
    // Результат: [{"b": 2},{"d": 4}]
    

    Логика

    if

    Сложность: <4>;

    Доступен в секциях: Код; Код действия; Код селекта; Форматирование ячейки, строки, таблицы.

    =: if(condition: ; then: ; else: )
    

    Возвращает при верном условии condition: значение секции then:, в противном случае — значение секции else: либо null, если она не задана.

    Обязательные параметры

    Необязательные параметры

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

    • then — значение, либо ссылка на строку или параметр, которые будут рассчитаны в случае, если все condition: выполнились в true.

    • else — значение, либо ссылка на строку или параметр, которые будут рассчитаны в случае, если хотя бы один condition: выполнился в false.

    Пример 1:

    example1: if(condition: $test1 = 1; condition: $test11 = 2; then: true; else: false)
        test1: 1
        test11: 3
    // Результат: false 
    

    Пример 2:

    example2: if(condition: $p1_2 < $p2_2; condition: $p2_2 < $p3_2; then: "Start"; else: "Stop")
    p1_2: 10
    p2_2: 20
    p3_2: 30
    
    // Результат: "Start"
    

    Пример 3:

    example3: if(condition: $p1_3 > $p2_3; then: true)
    p1_3: 10
    p2_3: 20
    
    // Результат: ""
    

    while

    Сложность: <5>;

    Доступен в секциях: Код; Код действия; Код селекта; Форматирование ячейки, строки, таблицы.

    =: while(preaction: ; condition: ; limit: ; action: ; postaction: ; iterator: )
    

    Выполняет действия action:, если выполняеются условия condition: с количеством повторений limit:, изменяя iterator: на +1 в каждой итерации. В секциях отличных от Код действия возвращает значение последнего preaction|action|postaction в зависимости от условий.

    Необязательные параметры

    • preactionзначение строки кода, действие, выполняемое в любом случае до обработки секций condition и обработки итераций.

      • Множественный параметр — если указано несколько параметров, то они будут выполнены в той последовательности, в которой указаны в функции.
      • Последний preaction помимо действия или вместе с ним (зависит от функции действия) возвращает значение, если нет последующих action, postaction или они не выполнены по условиям condition.
    • limitчисло, определяет количество итераций.

    • condition — условие срабатывания вида "значение 1" = "значение 2".

    • actionзначение строки кода, выполняемое действие внутри итерации. Повторяется в каждой итерации.

      • Множественный параметр — если указано несколько параметров, то они будут выполнены в той последовательности, в которой указаны в функции.
      • Последний action помимо действия или вместе с ним (зависит от функции действия) возвращает значение.
    • postactionзначение строки кода, выполняется после всех итераций, при условии, что выполнен хотя бы один action.

      • Множественный параметр — если указано несколько параметров, то они будут выполнены в той последовательности, в которой указаны в функции.
      • Последний action помимо действия или вместе с ним (зависит от функции действия) возвращает значение.
    • iterator — счетчик номера итерации.

      • Нумерация итераций начинается с 0 (ноля).
      • Задается как одна строка и обозначает название итератора для возможности обращения к нему как к переменной внутри кода. Назначайте разные переменные если используете несколько while с итераторами в одной секции кода.
      • При отсутствии нет возможности обращения к значению итератора.

    Пример:

    example: while(action: $set1; action: $set2)
        set1: set(table: 'table'; field: 'field1' = 1)
        set2: set(table: 'table'; field: 'field2' = 2)
    
    // Результат: Присвоит полям field1 и field2 в таблице table значения 1 и 2 соответственно.
    

    var

    Сложность: <5>;

    Доступен в секциях: Код; Код действия; Код селекта; Форматирование ячейки, строки, таблицы.

    =: var(name: ""; value: ; default: )
    

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

    Обязательные параметры

    • nameодна строка, имя переменной по которому идет обращение к данным.

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

    Необязательные параметры

    Пример:

    example: while(action: $set; limit: 10)
        set: var(name: "count"; value: $plus; default: 0)
        plus: $#count + 1
    
    // Результат: 10
    

    exec

    Сложность: <3>;

    Доступен в секциях: Код; Код действия; Код селекта; Форматирование ячейки, строки, таблицы.

    =: exec(code: ; var: "" =; var: "" = )
    

    Запускает выполнение кода, переданного в параметре code. Вызванный код будет выполняться по правилам той секции, из которой был вызван.

    Обязательные параметры

    Необязательные параметры

    Пример:

    example: exec(code: #h_code_text; var: "varname" = 10)
    
    // h_code_text 
    // "=: 10 + $#varname"
    
    // Результат: 20
    

    errorExeption

    Сложность: <3>;

    Доступен в секциях: Код; Код действия; Код селекта; Форматирование ячейки, строки, таблицы.

    =: errorExeption(text: )
    

    Прерывает выполение всей цепочки кодов и экшенов, отменяя все совершенные изменения.

    Если цепочка отлавливает исключения через функцию tryCatch, то выполнение продолжится с блока Catch: этой функции.

    Указанное в text: сообщение попадет в переменную с названием, заданным параметром error: этого вызова функции tryCatch.

    Обязательные параметры

    Пример:

    example: if(condition: $#nfv="Недопустимое значение"; then: $error)
        error: errorExeption(text: "Вы ввели недопустимое значение. Ничего не сохранилось.")
    
    // Результат: Если код выполнялся в рамках веб-сессии, пользователю выведется сообщение об ошибке с текстом: "Вы ввели недопустимое значение. Ничего не сохранилось." и указанием названия таблицы, в которой размещался код. 
    // Если код выполнялся  api-скриптом, ему вернется сообщение об ошибке в формате этого api. 
    // Крон получит exeption и может отправить письмо об ошибке администратору. 
    

    tryCatch

    Сложность: <8>;

    Доступен в секциях: Код; Код действия; Код селекта; Форматирование ячейки, строки, таблицы.

    =: tryCatch(try: ; catch: ; error: "exception")
    

    Возвращает значение секции try:. В случае если при выполнении try: было сгенерировано исключение, значение секции catch:.

    Обязательные параметры

    • tryзначение строки кода, основная секция.

    • catch — секция, которая выполняется в случае возникнования любой ошибки (в том числе ошибка базы данных) в секции try:.

    Необязательные параметры

    • error — переменная, в которую будет передан текст ошибки в случае ошибки.

      • Задается как одна строка и обозначает название итератора для возможности обращения к нему как к переменной внутри кода. Назначайте разные переменные если используете несколько while с итераторами в одной секции кода.
      • При отсутствии нет возможности обращения к значению итератора.

    Пример 1:

    example1: tryCatch(try: $test1; catch: 2; error: "exception")
        test1: 1
    
    // Результат: 1
    

    Пример 2:

    example: tryCatch(try: $test2; catch: $#exception; error: "exception")
        test2: errorExeption(text: "test")
    
    // Результат: test
    

    Пересчет, вставка и изменение

    reCalculate

    Сложность: <4>;

    Доступен в секциях: Код; Код действия; Код селекта; Форматирование ячейки, строки, таблицы.

    =: reCalculate(table: ''; cycle: ; hash: ; where: '' = )
    

    Пересчитывает указанную таблицу определенную в table: в соответстви с ее единицей пересчета.

    Эта функция может вызываться из любой секции кода, что бы можно было пересчитать таблицу, из которой берутся данные перед тем, как брать данные!

    Обязательные параметры

    Необязательные параметры

    Пример 1:

    tablename — таблица со строчной единицей пересчета.

    id fieldname
    1 test1
    2 test2
    3 test3

    example1: recalculate(table: 'tablename'; where: 'fieldname' = "test3")
    
    // Результат: пересчет строки id = 3 
    

    Пример 2:

    tablename — расчетная таблица являющаяся единицей пересчета.

    id fieldname
    1 test1
    2 test2
    3 test3

    example2: recalculate(table: 'tablename')
    
    // Результат: пересчет всех полей
    

    Пример 3:

    tablename — таблица со строчной единицей пересчета и полями в хедере.

    h_fieldname

    id fieldname
    1 test1
    2 test2
    3 test3

    example3: recalculate(table: 'tablename'; where: 'id' = 0)
    
    // Результат: пересчет только h_fieldname
    

    pin

    Сложность: <2>;

    Доступен в секциях: Код действия.

    =: pin(table: ''; cycle: ; hash: ; field: ''; where: '' = ; log: true)
    

    Устанавливает фиксацию значения для поля с активной секцией кода. Для строчной части в одной строке.

    Обязательные параметры

    • tablename-параметр name таблицы, в которой производится действие.

    • fieldname-параметр поле в таблице table:.

      • Множественный параметр, можно указать несколько полей.

    Необязательные параметры

    Пример:

    tablename

    id fieldname1 fieldname2
    1 10 20
    2 12 20
    3 10 20

    example: pin(table: 'tablename'; field: 'fieldname1'; where: 'id' = 2)
    

    Результат:

    tablename

    id fieldname1 fieldname2
    1 10 20
    2 10 [HAND] 20
    3 10 20

    pinList

    Сложность: <3>;

    Доступен в секциях: Код действия.

    =: pinList(table: ''; cycle: ; hash: ; field: ''; where: '' = ; log: true)
    

    Устанавливает фиксацию значения для поля с активной секцией кода в нескольких строках. Вне строчной части не применяется.

    Обязательные параметры

    • tablename-параметр name таблицы, в которой производится действие.

    • fieldname-параметр поле в таблице table:.

      • Множественный параметр, можно указать несколько полей.

    Необязательные параметры

    Пример:

    tablename

    id fieldname1 fieldname2
    1 10 20
    2 10 20
    3 10 20

    example: pinList(table: 'tablename'; field: 'fieldname1'; where: 'id' >= 2)
    

    Результат:

    tablename

    id fieldname1 fieldname2
    1 10 20
    2 10 [HAND] 20
    3 10 [HAND] 20

    insert

    Сложность: <3>

    Доступен в секциях: Код действия

    =: insert(table: ''; cycle: ; hash: ; field: '' = ; inserts: "inserts"; after: ; log: true)
    

    Функция действия — возвращает null.

    Обязательные параметры

    • tablename-параметр, таблица в которую будет добавляться строка.

    Необязательные параметры

    • field — в формате 'name' = "значение". Заполняемые при вставке поля (может вставляться строка без данных).

      • Множественный параметр, порядок не имеет значения, соответствие определяется по name.
      • Поля не переданные через field: будут рассчитаны в соответствии со своей секцией кода или дефолтных значений.
    • cycle — определяет цикл, если таблица table: является расчетной в цикле.

    • hashстрока, для временных таблиц hash таблицы.

    • inserts — имя переменной, в которую будет добавлен лист с id вставленных строк в результате операции.

      • Задается как одна строка и обозначает название переменной для возможности обращения к ней как к переменной внутри кода. Назначайте разные переменные если используете несколько while с итераторами в одной секции кода.
    • afterчисло, для таблиц сортируемых по n — id строки, после которой вставить данную.

    • logtrue для добавления операции во внутреннюю таблицу логирования.

    Пример:

    tablename

    id fieldname1 fieldname2
    1 test11 test12
    2 test21 test22
    3 test31 test23

    example: while(action: $insert; action: $showid)
        insert: insert(table: 'tablename'; field: 'fieldname1' = "test"; field: 'fieldname2' = "globcalcs"; inserts: "shownewid")
        showid: linktodata(type: "text"; title: "Добавлены строки"; text: $#shownewid)
    
    // Результат: Добавлена строка, код возвращает значение [4]
    

    tablename

    id fieldname1 fieldname2
    1 test11 test12
    2 test21 test22
    3 test31 test23
    4 xxx yyy

    insertList

    Сложность: <4>;

    Доступен в секциях: Код действия.

    =: insertList(table: ''; cycle: ; hash: ; field: '' = ; inserts: "inserts"; after: ; log: )
    

    Добавляет несколько строк в таблицу table: с указанием значений полей field:

    Обязательные параметры

    • tablename-параметр, name таблицы, в которую добавляются строки.

    • field — в формате 'name' = "значение". Заполняемые при вставке поля (может вставляться строка без данных).

      • Множественный параметр, порядок не имеет значения, соответствие определяется по name.
      • Поля не переданные через field: будут рассчитаны в соответствии со своей секцией кода или дефолтных значений.

    Необязательные параметры

    • cycleчисло, одно или список, определяет цикл, если таблица table: является расчетной в цикле.

    • hashстрока, для временных таблиц hash таблицы.

    • inserts — имя переменной, в которую будет добавлен лист с id вставленных строк в результате операции

      • Задается как одна строка и обозначает название переменной для возможности обращения к ней как к переменной внутри кода. Назначайте разные переменные если используете несколько while с итераторами в одной секции кода.
    • afterчисло, для таблиц сортируемых по n — id строки, после которой вставить данную.

    • logtrue для добавления операции во внутреннюю таблицу логирования.

    Пример:

    tablename

    id fieldname1 fieldname2
    1 test11 test12
    2 test21 test22
    3 test31 test23

    example: while(action: $insert; action: $showid)
        insert: insertList(table: 'tablename'; field: 'fieldname1' = $list1; field: 'fieldname2' = $list2; inserts: "shownewid")
            list1: listCreate(item: "XX"; item: "XXX")
            list2: listCreate(item: "YY"; item: "YYY")
    
        showid: $#shownewid
    
    // Результат: Добавлены строки, код возвращает значение [4,5]
    

    tablename

    id fieldname1 fieldname2
    1 test11 test12
    2 test21 test22
    3 test31 test23
    4 XX YY
    5 XXX YYY

    setList

    Сложность: <3>;

    Доступен в секциях: Код действия.

    =: set(table: ''; cycle: ; hash: ; field: '' = ; where: '' = ; log: true)
    

    Изменяет значение в одной строке в поле field: в таблице table:.

    Обязательные параметры

    • tablename-параметр name таблицы, в которой изменяются данные.

    • fieldname-параметр поле в таблице table: в котором изменяются данные, а также его значение.

      • Может передаваться одним значением или списком как число, строка, дата или булево значение в зависимости от типа поля field: в таблице table:.
      • При изменении произойдет пересчет всех остальных полей входящих в изменяющуюся единицу пересчета.
      • Множественный параметр — может быть передано значение нескольких полей. Порядок не имеет значение, соответствие определяется по name.
      • Для чисел может быть передано относительное значение в виде одного числа со следующим синтаксисом 'fieldname' + Y (добавить) или 'fieldname' - Y (вычесть), 'fieldname' * Y (умножить) и 'fieldname' / Y (разделить), а также аналогичные действия с процентами в случае когда Y задан напрямую числом 'fieldname' + 2% или передается в сконструированном значении Y% через строку кода.
      • Для селектов можно добавлять или удалять основания передавая их в виде одного числа или списка.

    Необязательные параметры

    Пример 1:

    tablename

    id fieldname1 fieldname2
    1 test11 test12
    2 test21 test22
    3 test31 test23

    example1: set(table: 'tablename'; field: 'fieldname1' = "ZZZ"; where: 'fieldname2' = "test22")
    

    tablename

    id fieldname1 fieldname2
    1 test11 test12
    2 ZZZ test22
    3 test31 test23

    Пример 2:

    tablename

    id fieldname1 fieldname2
    1 test11 10
    2 test21 20
    3 test31 30

    example2: set(table: 'tablename'; field: 'fieldname2' + 100; where: 'fieldname1' = "test21")
    

    Результат:

    tablename

    id fieldname1 fieldname2
    1 test11 10
    2 test21 120
    3 test31 30

    set

    Сложность: <3>;

    Доступен в секциях: Код действия.

    =: setList(table: ''; cycle: ; hash: ; field: '' = ; where: '' = ; log: )
    

    Изменяет значение в нескольких строках в поле field: в таблице table:. Ко всем полям попадающим в диапазон применяется одинаковое изменение. Применимо только для изменения поля расположенного в строчной части.

    Обязательные параметры

    • tablename-параметр name таблицы, в которой изменяются данные.

    • fieldname-параметр поле в таблице table: в котором изменяются данные, а также его значение.

      • Может передаваться одним значением или списком как число, строка, дата или булево значение в зависимости от типа поля field: в таблице table:.
      • При изменении произойдет пересчет всех остальных полей входящих в изменяющуюся единицу пересчета.
      • Множественный параметр — может быть передано значение нескольких полей. Порядок не имеет значение, соответствие определяется по name.
      • Для чисел может быть передано относительное значение в виде одного числа со следующим синтаксисом 'fieldname' + Y (добавить) или 'fieldname' - Y (вычесть), 'fieldname' * Y (умножить) и 'fieldname' / Y (разделить), а также аналогичные действия с процентами в случае когда Y задан напрямую числом 'fieldname' + 2% или передается в сконструированном значении Y% через строку кода.
      • Для селектов можно добавлять или удалять основания передавая их в виде одного числа или списка.

    Необязательные параметры

    Пример 1:

    tablename

    id fieldname1 fieldname2
    1 test11 test12
    2 test21 test22
    3 test31 test23

    example1: setlist(table: 'tablename'; field: 'fieldname1' = "ZZZ"; where: 'id' >= 2)
    

    Результат:

    tablename

    id fieldname1 fieldname2
    1 test11 test12
    2 ZZZ test22
    3 ZZZ test23

    Пример 2:

    tablename

    id fieldname1 fieldname2
    1 test11 10
    2 test21 20
    3 test31 30

    example2: set(table: 'tablename'; field: 'fieldname2' - 10%; where: 'id' < 3)
    

    Результат:

    tablename

    id fieldname1 fieldname2
    1 test11 9
    2 test21 18
    3 test31 30

    duplicate

    Сложность: <4>;

    Доступен в секциях: Код действия.

    =: duplicate(table: ''; cycle: ; hash: ; field: '' = ; where: '' = ; after: ; log: true)
    

    Дублирует одну строку в таблице table:. Применим только в строчной части.

    Обязательные параметры

    • tablename-параметр name таблицы, в которой производится дублирование.

    • fieldname-параметр поле в таблице table: в котором изменяются данные при дублировании, а также его значение по формату field: 'fieldname' = "value".

    Необязательные параметры

    • cycleчисло, одно или список, определяет цикл, если таблица table: является расчетной в цикле.

    • hashстрока, для временных таблиц hash таблицы.

    • wherename-параметр условие выбора строки в строчной части. Левая часть определяет поле сравнения в таблице table:, а правая — значение сравнения.

      • Множественный параметр — если указано несколько параметров where:, то выборка осуществляется на пересечении их условий, применяемых слева направо.
      • Параметр может отсутствовать, если поле не содержит строк (расположено вне строчной части таблицы). Если параметр отсутствует для выборки из поля строчной части, то результатом работы функции будет является одно первое значение в соответствии с сортировкой заданной в order:.
      • Возможны любые операторы сравнения.
      • Может передаваться как число, строка, дата или булево значение
      • Может быть как одним значением, так и списком. В зависимости от этого, и от того, что содержится в where: могут получатся различные комбинации сравнений: один к одному, один ко многим, многие ко многим.
      • Если по условиям выбираются значения из нескольких строк, то результатом работы функции будет является дублирование первой строки в соответствии с сортировкой заданной в order:.
      • Если по условиям не выбирается ни одной строки, действие произведено не будет.
    • inserts — имя переменной, в которую будет добавлен лист с id вставленных строк в результате операции

      • Задается как одна строка и обозначает название переменной для возможности обращения к ней как к переменной внутри кода. Назначайте разные переменные если используете несколько while с итераторами в одной секции кода.
    • afterчисло, для таблиц сортируемых по n — id строки, после которой вставить данную.

    • logtrue для добавления операции во внутреннюю таблицу логирования.

    Пример:

    tablename

    id fieldname1 fieldname2
    1 test11 test12
    2 test21 test22
    3 test31 test23

    example: duplicate(table: 'tablename'; field: 'fieldname1' = "ZZZ"; where: 'id' = 3)
    
    

    Результат:

    tablename

    id fieldname1 fieldname2
    1 test11 test12
    2 test21 test22
    3 test31 test23
    4 ZZZ test23

    duplicateList

    Сложность: <4>;

    Доступен в секциях: Код действия.

    =: duplicate(table: ''; cycle: ; hash: ; field: '' = ; where: '' = ; after: ; log: true)
    

    Дублирует несколько строк в таблице table:. Применим только в строчной части.

    Обязательные параметры

    • tablename-параметр name таблицы, в которой производится дублирование.

    • fieldname-параметр поле в таблице table: в котором изменяются данные при дублировании, а также его значение по формату field: 'fieldname' = "value".

    Необязательные параметры

    • cycleчисло, одно или список, определяет цикл, если таблица table: является расчетной в цикле.

    • hashстрока, для временных таблиц hash таблицы.

    • wherename-параметр условие выбора строки в строчной части. Левая часть определяет поле сравнения в таблице table:, а правая — значение сравнения.

      • Множественный параметр — если указано несколько параметров where:, то выборка осуществляется на пересечении их условий, применяемых слева направо.
      • Параметр может отсутствовать, если поле не содержит строк (расположено вне строчной части таблицы). Если параметр отсутствует для выборки из поля строчной части, то результатом работы функции будет является одно первое значение в соответствии с сортировкой заданной в order:.
      • Возможны любые операторы сравнения.
      • Может передаваться как число, строка, дата или булево значение
      • Может быть как одним значением, так и списком. В зависимости от этого, и от того, что содержится в where: могут получатся различные комбинации сравнений: один к одному, один ко многим, многие ко многим.
      • Если по условиям выбираются значения из нескольких строк, то результатом работы функции будет является дублирование всех строк в соответствии с сортировкой заданной в order:.
      • Если по условиям не выбирается ни одной строки, действие произведено не будет.
    • inserts — имя переменной, в которую будет добавлен лист с id вставленных строк в результате операции

      • Задается как одна строка и обозначает название переменной для возможности обращения к ней как к переменной внутри кода. Назначайте разные переменные если используете несколько while с итераторами в одной секции кода.
    • afterчисло, для таблиц сортируемых по n — id строки, после которой вставить данную.

    • logtrue для добавления операции во внутреннюю таблицу логирования.

    Пример:

    tablename

    id fieldname1 fieldname2
    1 test11 test12
    2 test21 test22
    3 test31 test23

    example: duplicate(table: 'tablename'; field: 'fieldname1' = "ZZZ"; where: 'id' >=2)
    
    

    Результат:

    tablename

    id fieldname1 fieldname2
    1 test11 test12
    2 test21 test22
    3 test31 test23
    4 ZZZ test22
    5 ZZZ test23

    clear

    Сложность: <2>;

    Доступен в секциях: Код действия.

    =: clear(table: ''; cycle: ; hash: ; field: ''; where: '' = ; log: true)
    

    Сбрасывает фиксацию значение для поля с активной секцией кода к расчетным значениям. Для строчной части в одной строке.

    Обязательные параметры

    • tablename-параметр name таблицы в которой производится действие.

    • fieldname-параметр поле в таблице table:.

      • Множественный параметр, можно указать несколько полей.

    Необязательные параметры

    Пример:

    tablename

    id fieldname1 fieldname2
    1 10 20
    2 12 [HAND] 20
    3 10 20

    example: clear(table: 'tablename'; field: 'fieldname1'; where: 'id' = 2)
    

    Результат:

    tablename

    id fieldname1 fieldname2
    1 10 20
    2 10 20
    3 10 20

    clearList

    Сложность: <3>;

    Доступен в секциях: Код действия.

    =: clear(table: ''; cycle: ; hash: ; field: ''; where: '' = ; log: true)
    

    Сбрасывает фиксацию значение для поля с активной секцией кода к расчетным значениям в нескольких строках. Вне строчной части не применяется.

    Обязательные параметры

    • tablename-параметр name таблицы, в которой производится действие.

    • fieldname-параметр поле в таблице table:.

      • Множественный параметр, можно указать несколько полей.

    Необязательные параметры

    Пример:

    tablename

    id fieldname1 fieldname2
    1 10 20
    2 12 [HAND] 20
    3 12 [HAND] 20

    example: clearList(table: 'tablename'; field: 'fieldname1'; where: 'id' >= 2)
    

    Результат:

    tablename

    id fieldname1 fieldname2
    1 10 20
    2 10 20
    3 10 20

    delete

    Сложность: <2>;

    Доступен в секциях: Код действия.

    =: delete(table: ''; cycle: ; hash: ; where: '' = ; log: true)
    

    Удаляет строку в таблице table: соответствующую условиям where:.

    Обязательные параметры

    • tablename-параметр name таблицы, из которой берутся данные.

    • wherename-параметр условие выбора строки в строчной части. Левая часть определяет поле сравнения в таблице table:, а правая — значение сравнения.

      • Множественный параметр — если указано несколько параметров where:, то выборка осуществляется на пересечении их условий, применяемых слева направо.
      • Выборка возможна только из строчной части таблицы.
      • Возможны любые операторы сравнения.
      • Может передаваться как число, строка, дата или булево значение
      • Может быть как одним значением, так и списком. В зависимости от этого, и от того, что содержится в where: могут получатся различные комбинации сравнений: один к одному, один ко многим, многие ко многим.
      • Если по условиям выбираются значения из нескольких строк, то результатом работы функции будет удаление первой строки в соответствии с сортировкой заданной в order:.
      • Если по условиям не выбирается ни одной строки, то действие выполнятся не будет.

    Необязательные параметры

    Пример:

    tablename

    id fieldname1 fieldname2
    1 10 20
    2 10 20
    3 10 20

    example: delete(table: 'tablename'; where: 'id' = 2)
    

    Результат:

    tablename

    id fieldname1 fieldname2
    1 10 20
    3 10 20

    deleteList

    Сложность: <3>;

    Доступен в секциях: Код действия.

    =: delete(table: ''; cycle: ; hash: ; where: '' = ; log: true)
    

    Удаляет несколько строк в таблице table: соответствующие условиям where:.

    Обязательные параметры

    • tablename-параметр name таблицы из которой берутся данные.

    • wherename-параметр условие выбора строк в строчной части. Левая часть определяет поле сравнения в таблице table:, а правая — значение сравнения.

      • Множественный параметр — если указано несколько параметров where:, то выборка осуществляется на пересечении их условий, применяемых слева направо.
      • Выборка возможна только из строчной части таблицы.
      • Возможны любые операторы сравнения.
      • Может передаваться как число, строка, дата или булевое значение
      • Может быть как одним значением, так и списком. В зависимости от этого, и от того, что содержится в where: могут получатся различные комбинации сравнений: один к одному, один ко многим, многие ко многим.
      • Если по условиям выбираются значения из нескольких строк, то результатом работы функции будет удаление всех строк соответсвующих сравнению.
      • Если по условиям не выбирается ни одной строки, то действие выполнятся не будет.

    Необязательные параметры

    Пример:

    tablename

    id fieldname1 fieldname2
    1 10 20
    2 10 20
    3 10 20

    example: deleteList(table: 'tablename'; where: 'id' >= 2)
    

    Результат:

    tablename

    id fieldname1 fieldname2
    1 10 20

    setListExtended

    Сложность: <7>;

    Доступен в секциях: Код действия.

    =: setListExtended(table: ''; cycle: ; hash: ; field: '' = ; where: '' = ; log: true)
    

    Изменяет значения в нескольких строках и полях таблицы одновременно. К строкам применяются разные значения в соответствии со списками переданными в правую часть field:.

    Обязательные параметры

    • tablename-параметр name таблицы, в которой изменяются данные.

    • fieldname-параметр поле в таблице table: в виде — [name поля] [знак операции] [значение в виде одного или списка] [знак процента, если изменение производится в процентах относительно предыдущего значения].

      • Множественный параметр, можно изменять несколько полей одновременно.
      • В случае, если правый параметр в field: представлен в виде списка, изменение будет применено построчно в соответствии с аналогичным правым параметром в where:.
      • Если первый по очереди параметр field: имеет правой частью список, а последующий представляет собой другую одно значение, то в каждую изменяемую строку будет установлено это значение.
      • Если одни из списков в field: меньше другого и меньше количества изменяемых строк, то в качестве недостающих значений будет выставлен null.

    Необязательные параметры

    • cycleчисло, одно или список, определяет цикл, если таблица table: является расчетной в цикле.

    • hashстрока, для временных таблиц hash таблицы.

    • wherename-параметр условие выбора строки в строчной части. Левая часть определяет поле сравнения в таблице table:, а правая — значение сравнения.

      • Если в правую часть передается список — он соотносится со списками в правой части параметров field:. Таким образом изменения формируются для множества строк сразу.
    • logtrue для добавления операции во внутреннюю таблицу логирования.

    Пример:

    test

    id a b c
    1 q 10 z
    2 w 20 x
    3 e 30 c

    example: setListExtended(table: 'test'; field: 'a' = $listA; field: 'b' + $listB; field: 'c' = "z"; where: 'id' = $listId)
        listA: listCreate(item: "r"; item: "t"; item: "y")
        listB: listCreate(item: 3; item: 2; item: 1)
        listId: listCreate(item: 1; item: 2; item: 3)
    
    // Результат:  Таблица изменена.
    

    test

    id a b c
    1 r 13 z
    2 t 22 z
    3 y 31 z

    insertListExtended

    Сложность: <7>;

    Доступен в секциях: Код действия.

    =: insertListExtended(table: ''; cycle: ; hash: ; fields: ; field: '' = ; inserts: "inserts"; after: ; log: true)
    

    Добавляет несколько строк в таблицу table: с указанием значений полей field:

    Отличается от insertList наличием парамета fields

    Обязательные параметры

    • tablename-параметр, name таблицы, в которую добавляются строки.

    Необязательные параметры

    • cycleчисло, одно или список, определяет цикл, если таблица table: является расчетной в цикле.

    • hashстрока, для временных таблиц hash таблицы.

    • fieldsассоциативный массив, в качестве ключей которого выступают name полей, значения — списки для построчного заполнения добавляемых строк.

    • field — в формате 'name' = "значение". Дополняет и заменяет, если посвторяется name поля указанное в fields:. Если правым значением выступает одно значение, каждая из добавляемых строк будет содержать его.

    • inserts — имя переменной, в которую будет добавлен список с id вставленных строк в результате операции.

      • Задается как одна строка и обозначает название переменной для возможности обращения к ней как к переменной внутри кода. Не допускайте пересечения переменных внутри одной секции кода.
    • afterчисло, для таблиц сортируемых по n — id строки, после которой вставить новые.

    • logtrue для добавления операции во внутреннюю таблицу логирования.

    Пример:

    tablename

    id fieldname1 fieldname2
    1 test11 test12
    2 test21 test22
    3 test31 test23

    example: while(action: $insert; action: $showid)
        insert: insertListExtended(table: 'tablename'; fields: $row1; field: 'fieldname2' = $list2; inserts: "shownewid")
            row1: rowCreate(field: "fieldname1" = $list1)
            list1: listCreate(item: "XX"; item: "XXX")
            list2: listCreate(item: "YY"; item: "YYY")
    
        showid: $#shownewid
    
    // Результат: Добавлены строки, код возвращает значение [4,5]
    

    tablename

    id fieldname1 fieldname2
    1 test11 test12
    2 test21 test22
    3 test31 test23
    4 XX YY
    5 XXX YYY

    reCalculateCycle

    Сложность: <4>;

    Доступен в секциях: Код; Код действия; Код селекта; Форматирование ячейки, строки, таблицы.

    =: reCalculateCycle(table: ''; cycle: )
    

    Пересчитывает последовательно таблицы цикла или циклов. Если в результате пересчета цикла таблица была обновлена, повторно пересчитываться она не будет.

    Обязательные параметры

    • tablename-параметр name таблицы циклов, в которой будут пересчитаны циклы.

    • cycle — определяет цикл, или список циклов для пересчета.

    Пример:

    cycles_table calcs_table_1 (вызывает пересчет calcs_table_3) calcs_table_2 calcs_table_3

    example: reCalculateCycle(table: 'cycles_table'; cycle: 3)
    
    // Результат: Будет пересчитана *calcs_table_1*, пересчет которой вызовет пересчет *calcs_table_3*, затем пересчитается *calcs_table_2*
    

    execButton

    Сложность: <2>;

    Доступен в секциях: Код действия.

    =: execButton(table: ''; cycle: ; hash: ; field: ''; where: '' = )
    

    Запускает выполнение кода одной вызываемой кнопки — первой по сортировке.

    Обязательные параметры

    Необязательные параметры

    число, одно или список, определяет цикл, если таблица table: является расчетной в цикле. + hashстрока, для временных таблиц hash таблицы.

    • wherename-параметр условие выбора строки в строчной части. Левая часть определяет поле сравнения в таблице table:, а правая — значение сравнения.

    • ordername-параметр поле в таблице table:, по которому будет осуществляется сортировка.

      • Множественный параметр — если указано несколько параметров order:, то сортировка будет осуществлена последовательно.
      • Если параметр отсутсвует, то сортировка будет произведена в произвольном порядке.
      • asc — по возрастанию
      • desc — по убыванию

    execButtonList

    Сложность: <2>;

    Доступен в секциях: Код действия.

    =: execButtonList(table: ''; cycle: ; hash: ; field: ''; where: '' = ; limit: )
    

    Последовательно вызывает выполнение кодов кнопок подходящих по условию.

    Обязательные параметры

    Необязательные параметры

    число, одно или список, определяет цикл, если таблица table: является расчетной в цикле. + hashстрока, для временных таблиц hash таблицы.

    name-параметр, множественный, огранничение на выборку вида 'field_name' = "value".

    • limitчисло, задает лимит выборки.

    • ordername-параметр поле в таблице table:, по которому будет осуществляется сортировка.

      • Множественный параметр — если указано несколько параметров order:, то сортировка будет осуществлена последовательно.
      • Если параметр отсутсвует, то сортировка будет произведена в произвольном порядке.
      • asc — по возрастанию
      • desc — по убыванию

    Вызовы окон и скриптов

    linkToTable

    Сложность: <4>;

    Доступен в секциях: Код действия.

    =: linkToTable(table: ''; cycle: ; hash: ; title: ; filter: '' = ; field: '' = ; target: "iframe|blank|self|parent"; width: 800; refresh: false; header: true; footer: true)
    

    Открывает указанную таблицу способом определенным в target.

    Обязательные параметры

    Необязательные параметры

    • titleстрока, заголовок, отображаемый в открытом окне для iframe.

    • filtername-параметр значение поля префильтра. Левая часть определяет поле, а правое его значение.

      • Множественный параметр — если указано несколько, то значения будут переданы нескольким полям префильтра.
      • Параметр может отсутствовать, тогда таблица будет открыта с параметрами фильтров по умолчанию.
      • Может передаваться как: число, строка, дата или булево значение, как одним значением, так и списком, в зависимости от типа префильтра. Для корректной работы, передаваемые данные должны соответствовать типу поля.
    • fieldname-параметр значение поля строчной части. Левая часть определяет поле, а правое его значение. При наличии хотя бы одного параметра будет открыта строка добавления с введенными значениями переданных полей.

      • Множественный параметр — если указано несколько параметров, то значения будут переданы нескольким полям.
      • Параметр может отсутствовать, тогда таблица будет открыта без открытия строки добавления.
      • Передача значения таким образом может быть осуществлена только полю с активной настройкой «Показывать в WEB».
      • Может передаваться как: число, строка, дата или булево значение, может быть как одним значением, так и списком. Для корректной работы, передаваемые данные должны соответствовать типу поля.
    • refresh — определяет будет ли обновляться таблица-родитель при закрытии окна для варианта iframe параметра target:.

      • true при необходимости обновить данные.
      • При отсутствии принимается равным false.
    • cycleчисло, одно или список, определяет цикл, если таблица table: является расчетной в цикле.

    • hashстрока, для временных таблиц hash таблицы.

    • target — каким образом будет открыта таблица.

      • Передается как одна строка:

        • iframe — в iframe поверх остальных окон.
        • blank — в новом окне (для корректной работы требуется разрешить открытие всплывающих окон в браузере)
        • parent — в базовом нижнем окне, все открытые вложенные окна будут закрыты.
        • self — в текущем окне.
        • Если не указан — обрабатывается как self
    • width — определяет ширину окна в пикселях для варианта iframe параметра target:.

      • Передается как число если требуется указать конкретный размер.
      • Передается как строка формата "80vw" если требуется указать относительный размер в процентах.
      • При отсутствии размер окна определяется программой самостоятельно в зависимости от базовой ширины открываемой таблицы.
    • header — определяет будет ли показан хедер в открытом окне при показе в iframe.

      • false при необходимости скрыть.
      • При отсутствии принимается равным true.
    • footer — определяет будет ли показан футер в открытом окне при показе в iframe.

      • false при необходимости скрыть.
      • При отсутствии принимается равным true.

    Пример:

    example: linkToTable(table: 'tablename'; title: "Открываемая таблица"; filter: 'fl_id' = 10; field: 'fieldname' = "Данные передаваемые в поле"; target: "iframe"; width: "80vw"; refresh: true)
    

    linkToScript

    Сложность: <5>;

    Доступен в секциях: Код действия.

    =: linkToScript(uri: "http://"; post: "" = ; title: ; target: "iframe|blank|self|parent"; width: 800; refresh: false)
    

    Вызывает сторонний скрипт с передачей ему значений через POST.

    НЕ СТОИТ ИСПОЛЬЗОВАТЬ В CRON!

    Обязательные параметры

    • uriстрока, адрес по которому открывается скрипт.

    Необязательные параметры

    • postстрока, параметры, передаваемые скрипту в формате POST.

      • При отсутствии параметра данные не передаются.
    • titleстрока, заголовок, отображаемый в открытом окне для iframe и top-iframe.

    • target — каким образом будет открыта таблица.

      • Передается как одна строка:

        • iframe — в iframe поверх остальных окон.
        • blank — в новом окне (для корректной работы требуется разрешить открытие всплывающих окон в браузере)
        • parent — в базовом нижнем окне, все открытые вложенные окна будут закрыты.
        • self — в текущем окне.
        • Если не указан — обрабатывается как self
    • width — определяет ширину окна в пикселях для варианта iframe параметра target:.

      • Передается как число если требуется указать конкретный размер.
      • Передается как строка формата "80vw" если требуется указать относительный размер в процентах.
      • При отсутствии размер окна определяется программой самостоятельно в зависимости от базовой ширины открываемой таблицы.
    • refresh — определяет будет ли обновлятся таблица-родитель при закрытии окна для варианта iframe параметра target:.

      • true при необходимости обновить данные.
      • При отсутствии принимается равным false.

    Пример:

    example: linkToScript(uri: "https://wmdao.ru"; title: "wmdao.ru"; target: "iframe"; width: 800; refresh: false)
    

    linkToDataText

    Сложность: <2>;

    Доступен в секциях: Код действия.

    =: linkToDataText(title: ; text: )
    

    Вызывает в веб-интерфейсе пользователя окно сообщения с текстовым содержимым.

    Обязательные параметры

    Пример:

    example: linkToDataText(title: "Внимание"; text: "Ваше изменение принято")
    
    

    linkToDataTable

    Сложность: <5>;

    Доступен в секциях: Код действия.

    =: linkToDataTable(table: ''; title: ; width: 800; height: "80vh"; data: $rowList; params: $row; refresh: false; header: true; footer: true)
    

    Вызывает в веб-интерфейсе пользователя окно с временной таблицей.

    Обязательные параметры

    Необязательные параметры

    • header — определяет будет ли показан хедер в открытом окне при показе в iframe.

      • false при необходимости скрыть.
      • При отсутствии принимается равным true.
    • footer — определяет будет ли показан футер в открытом окне при показе в iframe.

      • false при необходимости скрыть.
      • При отсутствии принимается равным true.
    • width — определяет ширину окна в пикселях.

      • Передается как число если требуется указать конкретный размер.
      • Передается как строка формата "80vw" если требуется указать относительный размер в процентах.
      • При отсутствии размер окна определяется программой самостоятельно в зависимости от базовой ширины открываемой таблицы.
    • dataсписок ассоциированных массивов для заполнения строчной части таблицы. В качестве ключей должны быть name полей строчной части.

    • refresh — определяет будет ли обновляться таблица-родитель при закрытии окна для варианта iframe параметра target:.

      • true при необходимости обновить данные.
      • При отсутствии принимается равным false.
    • paramsассоциированный массив для заполнения нестрочных частей таблицы. В качестве ключей должны быть name полей нестрочной части таблицы.

    • height — определяет высоту окна в пикселях для варианта iframe параметра target:.

      • Передается как число если требуется указать конкретный размер.
      • Передается как строка формата "80vh" если требуется указать относительный размер в процентах.
      • При отсутствии размер окна определяется программой самостоятельно в зависимости от высоты окна в котором открывается текущее окно.

    Пример:

    example: linkToDataTable(table: 'tmp_test'; title: "Окно временного расчета"; width: 800; height: "80vh"; data: $rowList; params: $row; refresh: false; header: true; footer: true)
        rowList: jsonExtract(text: '[{"field1":1, "field2":2},{"field1":3, "field2":4}]')
        row: jsonExtract(text: '{"f_summ_1":4, "f_summ_2":6}')
    
    // Результат: 
    

    Окно временного расчета

    id field1 field2
    1 1 2
    2 3 4
    f 4 6

    linkToDataHtml

    Сложность: <2>;

    Доступен в секциях: Код действия.

    =: linkToDataHtml(title: ; html: )
    

    Вызывает в веб-интерфейсе пользователя окно сообщения с html содержимым.

    Обязательные параметры

    linkToPanel

    Сложность: <3>;

    Доступен в секциях: Код действия.

    =: linkToPanel(table: ''; id: ; field: '' = ; refresh: false)
    

    Открывает строку таблицы в виде панели.

    Обязательные параметры

    • tablename-параметр name таблицы, из которой будет открываться строка.

    Необязательные параметры

    • idчисло, id открываемой строки.

    • fieldname-параметр поле в таблице table:.

    • refresh — определяет будет ли обновлятся таблица-родитель при закрытии окна.

      • true при необходимости обновить данные.
      • При отсутствии принимается равным false.

    Пример:

    example: linkToPanel(table: 'tablename'; id: $num; refresh: true)
        num: 10
    
    // Результат: открывает строку id=10 таблицы tablename в панели.
    

    linkToPrint

    Сложность: <6>;

    Доступен в секциях: Код действия.

    =: linkToPrint(template: ; data: $data)
    

    Вызывает печать по шаблону. Полный механизм действия описан в разделе Печать.

    getFromScript

    Сложность: <5>;

    Доступен в секциях: Код действия.

    =: getFromScript(uri: "http://"; posts: ; gets: ; bfl: ; timeout: ; header: ; headers: )
    

    Обязательные параметры

    • uri — путь к скрипту.

    Необязательные параметры

    • post — множественный параметр, пост поле в формате "field" = $val.

    • timeout — ограничение времени запроса в секундах.

    • bfltrue|false определяет, писать ли данные в bfl-лог. При отсутствии берет настройку из Настройки и крон.

    • gets — список GET параметров.

    • posts — список POST параметров или строка тела POST-запроса.

    • headertrue | false определяет, возвращать ли header+body или только body ответа.

    • headers — cписок из передаваемых заголовков.

    Пример:

    example: getFromScript(uri: "https://yandex-market.totum.online/"; post:  "method" = "setBids"; post: "bids" = $bids; post: "token" = @yandex_market.token["access_token"]; post: "feed_id" = @yandex_market.feed_id;  post: "shop_id" = @yandex_market.h_id_magazina_v_markete)
    bids: jsonCreate(data: $bidsGet2)
    bidsGet2: rowKeysReplace(row: $bidsGet; from: "nazvanie_pozicii"; to: "id"; recursive: true)
    bidsGet: selectRowList(table: 'yandex_market_fid'; field: 'obshchaya_stavka_na_klik'; field: 'nazvanie_pozicii';  where:  'dobavit_v_fid' = true;)
    
    
    //Входящиие переменные: $#x_request_id, $#dannye_zaprosa
    example2: getFromScript(uri: @nastroyki_klaud_kassy.url_send; posts:  $json; headers: $headers)
        headers: listCreate(item: $auth; item: "Content-type: application/json"; item: $xxx)
            xxx: strAdd(str: "X-Request-ID: "; str: $#x_request_id)
            auth: strAdd(str: "Authorization: Basic "; str: @nastroyki_klaud_kassy.h_dannye_avtorizacii)
        json: jsonCreate(data: $#dannye_zaprosa)
    

    getFromSoap

    Сложность: <10>;

    Доступен в секциях: Код действия.

    =: getFromSoap(func: ; params: ; wsdl: ; options: ; bfl: )
    

    Возвращает данные, полученные из запроса к функции soap-сервиса. Может использоваться для синхронизации с 1с с поднятым web-сервисом. При ошибках коннекта или soap-переменных, а также при ошибке на стороне soap-сервера выбрасывает исключение (ничего не сохраняется за всю операцию). Исключение можно (если нужно записать статус ошибки или отправить сообщение администратору) отловить, обернув soap-вызов в функцию tryCatch.

    Обязательные параметры

    • func — функция в веб-сервисе.

    Необязательные параметры

    • params — параметры, передаваемые в функцию веб-сервиса.

    • wsdl — путь к wsdl, описывающему веб-сервис. Если не задан, должны быть установлены опции location и uri, где location — URL сервера SOAP, к которому отправляется запрос, а uri — целевое пространство имен SOAP-сервиса.

    • options — [ассоциативный массив][] с настройками подключения:

      • location — URL сервера SOAP, к которому отправляется запрос. Не требуется, если задан wsdl.

      • uri — целевое пространство имен SOAP-сервиса. Не требуется, если задан wsdl.

      • soap_version — версия SOAP.

        • 1 — для SOAP 1.1.
        • 2 — для SOAP 1.2.
        • Если параметр пропущен, то используется 1.1.
      • Для HTTP-аутентификации могут быть использованы опции login и password для предоставления учетных данных.

      • Для реализации HTTP-соединения через прокси-сервер доступны настройки proxy_host, proxy_port, proxy_login и proxy_password.

      • Для аутентификации сертификата клиента HTTPS используются опции local_cert и passphrase.

      • Аутентификация может быть предоставлена в опции authentication. Метод аутентификации может быть:

        • 0 — SOAP_­AUTHENTICATION­_BASIC (по умолчанию)
        • 1 — SOAP_­AUTHENTICATION­_DIGEST
      • compression — позволяет использовать сжатие запросов и ответов HTTP SOAP.

      • encoding — определяет внутреннюю кодировку. Опция не меняет кодировку SOAP-запросов (она всегда utf-8), но преобразует строки в нее.

      • trace — включает отслеживание запроса и в случае ошибки можно получить обратную трассировку. По умолчанию имеет значение true.

      • exceptions — принимает логическое значение, определяющее, будут ли SOAP-ошибки бросать исключения типа SoapFault.

      • connection_timeout — определяет тайм-аут в секундах для соединения с SOAP-сервисом. Опция не устанавливает тайм-аут для сервисов с медленными ответами. Для ограничения времени ожидания вызовов используется default_socket_timeout.

      • cache_wsdl — принимает одно из значений:

        • 0 — WSDL_­CACHE_NONE
        • 1 — WSDL_­CACHE_DISK
        • 2 — WSDL_­CACHE_MEMORY
        • 3 — WSDL_­CACHE_BOTH
      • user_agent — определяет строку для использования в заголовке User-Agent.

      • features — является битовой маской:

        • 1 - SOAP_SINGLE­_ELEMENT_ARRAYS
        • 4 - SOAP_USE_­XSI_ARRAY_TYPE
        • 2 - SOAP_WAIT­_ONE_WAY_CALLS
      • keep_alive — является логическим значением, определяющим, какой заголовок отправлять: Connection: Keep-Alive или Connection: close.

      • ssl_method — должна быть равной:

        • 0 — SOAP_SSL­_METHOD_TLS
        • 1 — SOAP_SSL­_METHOD_SSLv2
        • 2 — SOAP_SSL­_METHOD_SSLv3
        • 3 — SOAP_SSL­_METHOD_SSLv23
    • bfltrue/false — при true включает запись всех (в том числе в выбросивших исключение операциях) операций в таблицу _bfl (доступна только напрямую из БД)

    Пример:

    example: getFromSoap(func: "funcName"; params: $#params; wsdl: "https://path.to.wsdl"; options: $options)
    
    options: rowcreate(field: "login" = "login"; field: "features" = 1; field: "password" = "pass")
    

    emailSend

    Сложность: <5>;

    Доступен в секциях: Код действия.

    =: emailSend(to: ; title: ; body: ; from: ; files: ; bfl: )
    

    Отправляет письмо. По умолчанию через emailsend сервера.

    Обязательные параметры

    Необязательные параметры

    Если тело письма в body содержит изображения с src = "путь к файлу в текущей схеме totum" — эти файлы будут вложены в письмо автоматически.

    • bfl — если true то данные об отправке писем складываются в таблицу _bfl (в том числе если транзакция была отменена)

    ПРИМЕРЫ

    example: emailSend(to: "test@example.ru"; title: "Отправка письма"; body: "Тестовое письмо"; files: $files)
        files: rowCreate(field: "444_h_pole_heder_1_1.png" = "Вложенная картинка.png")
    
    

    linkToButtons

    Сложность: <6>;

    Доступен в секциях: Код действия.

    =: linkToButtons(title: ; html: ; buttons: )
    

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

    Обязательные параметры

    Структура row:

    • textстрока надпись на кнопке.

    • codeстрока код, который будет выполнен при нажатии кнопки.

    • iconстрока название иконки fontawersome 4 без fa-

    • backgroundстрока название цвета web color или HEX #ddd.

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

    Необязательные параметры

    • html — html, который будет показан в панели с кнопками.

    • width — определяет ширину окна в пикселях.

    ПРИМЕРЫ

    example : linkToButtons(title: "Красная или синяя"; buttons: $buttons; width: 400; html: "Ты - НЕО")
    
    buttons: listCreate(item: $btn1; item: $btn2)
    btn1: rowCreate(field: "text" = "Красная"; field: "code" = $code1; field: "icon" = "link"; field: "background" = "seashell"; field: "vars" = $vars1)
        vars1: rowCreate(field: "var1" = "Вы выбрали красную таблетку")
    btn2: rowCreate(field: "text" = "Синяя"; field: "code" = $code1; field: "icon" = "link"; field: "background" = "eliceblue"; field: "vars" = $vars2)
        vars2: rowCreate(field: "var1" = "Вы выбрали синюю таблетку")
        code1: strAdd(str: '=: linkToDataText(title: "ИИИ"; text: $#var1)')
    
    // Результат: Активная панель с двумя кнопками, нажатие на каждой из которых открывает панель с текстом.
    
    

    linkToAnonymTable

    Сложность: <7>;

    Доступен в секциях: Код действия.

    =: linkToAnonymTable(table: 'tmp_table_name'; data: $rowList; params: $row)
    

    Возвращает зашифрованный url для вызова временной таблицы с заполненными данными (если переданы data/params) неавторизованному пользователю (модуль Anonym).

    Для того, что бы работал анонимный доступ к таблице — должен быть включен пользователь anonym от которого будут выполняться действия. Ему должна быть назначена роль имеющая соответствующий доступ (изменение/просмотр) к показываемой таблице.

    Примеры анонимных таблиц: https://start.demo.totum.online/An/30 и https://start.demo.totum.online/An/52

    Обязательные параметры

    Необязательные параметры

    ПРИМЕРЫ

    example: linkToAnonymTable(table: 'tmp_anonym_table'; params: $row)
    row: rowCreate(field: "order_id" = 1111)
    
    //Результат: htts://test.demo.totum.online/An/444?d=Y4EK1mpzeZtzxRcB58aMBQ06jVAtzVVU9A6bUo3oJbIP04JcHs7fdnD%2B9HCrh%2F4TUS9R0E4BLjfPXZ3slG%2FQgjJqGkheCb%2B8Hm53neuqHq2bbxdd5a2sjOIEBBvmnFES
    

    GET/POST/INPUT

    Если таблица в хедере или футере содержит поля c name: h_get, h_post или h_input, то туда будут подставлены данные переданные в get/post/input в запросе анонимной таблицы.

    Форматирование

    setFormat

    Сложность: <2>;

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

    =: setFormat(condition: ; block: ; color: ; bold: ; background: ; decoration: ; italic: ; progress: ; progresscolor: ; icon: ; text: )
    

    Изменяет внешний вид ячейки по условиям condition:. Результаты работы функции применяются к ячейке последовательно в соответствии с индексами f1=:, f2=:, f3=: и.т.д. setFormat имеет преимущество над setRowFormat при пересечении условий форматирования.

    Необязательные параметры

    • condition — условие срабатывания вида "значение 1" = "значение 2".

    • block — блокировка ячейки.

      • true — заблокировано.
      • false — разблокировано.
    • color — цвет текста ячейки.

      • Передается как одна строка.
      • В формате HEX #ff00cc.
      • Либо текстовым определением цвета HTML, например — tomato.
    • bold — жирное начертание текста в ячейке.

      • true — жирное.
      • false — разблокировано.
    • background — цвет заливки ячейки.

      • Передается как одна строка.
      • В формате HEX #ff00cc.
      • Либо текстовым определением цвета HTML, например — tomato.
    • decoration — подчеркивание текста в ячейке.

      • true — подчеркнутое.
      • false — неподчеркнутое.
    • italic — курсив для текста в ячейке.

      • true — курсив.
      • false — обычное начертание.
    • progress — длина маркерного выделения текста в ячейке.

      • Передается как одно число.
      • 0 — без выделения.
      • 100 — выделен весь текст.
    • progresscolor — цвет маркерного выделения текста в ячейке.

      • Передается как одна строка.
      • В формате HEX #ff00cc.
      • Либо текстовым определением цвета HTML, например — tomato.
    • text — выводит заданный текст, подменяющий отображение значения в ячейке. Не влияет на данные, хранящиеся в этой ячейке.

    • icon — выводит иконку слева от значения ячейки.

      • Передается как одна строка.
      • Значение иконки в fontawesome 4 без приставки fa-. Например: shower.
    • comment — добавляет в ячейку иконку i слева от значения, при наведении на которую показывается текст комментария.

    • hideinpanel — скрывает поле в панели.

      • true — скрыть.
      • false — открыть.
    • tab — устанавливает отступ слева в ячейке у значения или его отображения.

      • Передается как одно число — количество пикселей.
    • align — выравнивание значения или отображения в ячейке.

      • Передается как одна строка.
      • center — по центру.
      • right — по правому краю.
    • editbutton – если true, то показывать в поле кнопку редактирования при нажатии на которую поле открывается на редактирование.

    Пример:

    f1=: setformat(bold: true; color: "tomato")
    f2=: setformat(condition: $#nfv != ""; block: true)
    //Результат: 
    

    setRowFormat

    Сложность: <3>;

    Доступен в секциях: Форматирование строки.

    =: setRowFormat(condition: ; block: ; blockdelete: ; blockorder: ; blockduplicate: ; color: ; bold: ; background: ; decoration: ; italic: ; :)
    

    Настройка форматирования строк для всей таблицы по условиям condition:. Результаты работы функции применяются к таблице последовательно в соответствии с индексами f1=:, f2=:, f3=: и.т.д. setRowFormat имеет преимущество над setTableFormat при пересечении условий.

    Необязательные параметры

    • condition — условие срабатывания вида "значение 1" = "значение 2".

    • block — блокировка изменений в строке, в том числе удаления, перемещения и дублирования.

      • true — заблокировано.
      • false — разблокировано.
    • color — цвет текста строки.

      • Передается как одна строка.
      • В формате HEX #ff00cc.
      • Либо текстовым определением цвета HTML, например — tomato.
    • bold — жирное начертание текста в строке.

      • true — жирное.
      • false — разблокировано.
    • background — цвет заливки строки.

      • Передается как одна строка.
      • В формате HEX #ff00cc.
      • Либо текстовым определением цвета HTML, например — tomato.
    • decoration — подчеркивание текста во всей строке.

      • true — подчеркнутое.
      • false — неподчеркнутое.
    • italic — курсив для текста в строке.

      • true — курсив.
      • false — обычное начертание.
    • blockdelete — блокировка удаления строки.

      • true — заблокировано.
      • false — разблокировано.
    • blockorder — блокировка сортировки по n.

      • true — заблокировано.
      • false — разблокировано.
    • blockduplicate — блокировка дублирования.

      • true — заблокировано.
      • false — разблокировано.

    setTableFormat

    Сложность: <3>;

    Доступен в секциях: Форматирование таблицы.

    =: setTableFormat(condition: ; blockdelete: ; blockadd: ; blockorder: ; blockduplicate: )
    

    Условия форматирования, применяемые ко всей таблице включая хедер и футер.

    Необязательные параметры

    • condition — условие срабатывания вида "значение 1" = "значение 2".

    • blockdelete — блокировка удаления строк.

      • true — заблокировано.
      • false — разблокировано.
    • blockduplicate — блокировка дублирования.

      • true — заблокировано.
      • false — разблокировано.
    • blockorder — блокировка сортировки по n.

      • true — заблокировано.
      • false — разблокировано.
    • blockadd — блокировка добавления строк в таблицу.

      • true — заблокировано.
      • false — разблокировано.
    • block — блокировка изменений в таблице, в том числе удаления, перемещения и дублирования.

      • true — заблокировано.
      • false — разблокировано.
    • tabletitle — отображаемый заголовок таблицы.

    • rowstitle — отображаемый заголовок строчной части таблицы.

    • fieldtitle — отображаемый заголовок поля, задаваемый в формате 'field_name' = "Заголовок"

    • tabletext — отображаемый текст под описанием таблицы.

    • tablecomment — отображаемый под префильтром текст.

    setFloatFormat

    Сложность: <7>;

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

    =: setFloatFormat(blocknum: ; nextline: ; maxwidth: ; autowidth: ; height: ; maxheight: ; glue: )
    

    Задает параметры адаптивности для полей находящихся в хедере и футере. Не применим к строчной части

    Необязательные параметры

    • blocknumчисло, определяет номер группы в которую будет определено поле. Поля в группы склеиваются только если они расположены рядом друг с другом. Если вы назначите одинаковый номер двум полям стоящим отдельно — это будут две разные группы с одинаковыми номерами.

    • nextline — если true, то поле будет сразу будет перенесено на следующую строку в группе.

    • maxwidthчисло, если задано определяет до какой ширины в px поле будет расширятся поле если позволяет общая ширина экрана. Если в одной строке несколько полей имеют этот параметр, то они будут расширяться пропорционально своей базовой ширине заданной в настройках поля.

    • autowidthtrue

    • heightчисло, высота поля в px. Если задано, то высота поля будет отлична от стандартной. Также меняется отображение содержимого поля.

    • maxheightчисло, максимальная высота поля в px. Если задано, то поле будет определять свою высоту автоматически в зависимости от содержимого. Но не более заданной максимальной высоты.

    • gluetrue

    ПРИМЕРЫ

    example: setFloatFormat(blocknum: 1; nextline: true; maxwidth: 400; autowith: true; height: 200; maxheight: 400; glue: true)
    
    

    Обработка json

    jsonCreate

    Сложность: <1>

    Доступен в секциях: Код; Код действия; Код селекта; Форматирование ячейки, строки, таблицы.

    =: jsonCreate(data: ; field: "" = )
    

    Возвращает одну строку в формате json.

    Необязательные параметры

    • data — данные любого формата.

    • field — ключ и значение для добавления в формируемый json. Если ключа нет, то он будет добавлен, если есть, то переписан с новым значением.

    Пример:

    example: jsonCreate(data: $data; field: "c" = 3; field: "b" = 4)
        data: rowCreate(field: "a" = 1; field: "b" = 2)
    
    // Результат: {"a":1,"b":4,"c":3}
    

    jsonExtract

    Сложность: <1>

    Доступен в секциях: Код; Код действия; Код селекта; Форматирование ячейки, строки, таблицы.

    =: jsonExtract(text: )
    

    Возвращает данные из json-строки или null, если формат строки не json.

    Обязательные параметры

    • text — текст в формате json.

    Пример:

    example1: jsonExtract(text: "[1,2,3,4]")
    
    // Результат - лист из значений 1,2,3,4
    

    Синтаксический аналог:

    example2: json`[1,2,3,4]`
    
    // Результат - лист из значений 1,2,3,4
    

    Также можно использовать непосредственно в функции:

    example3: if(condition: json`[1,2,3,4]` = 3; then: true; else: false)
    
    // Результат - лист из значений 1,2,3,4
    

    Операции с файлами

    fileGetContent

    Сложность: <2>;

    Доступен в секциях: Код; Код действия; Код селекта; Форматирование ячейки, строки, таблицы.

    =: fileGetContent(file: )
    

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

    Обязательные параметры

    • file — name файла.

    Пример:

    example: fileGetContent(file: #file_field[0]["file"])
    
    //Результат: содержимое запрошенного файла
    
    //Exception: при отсутствии файла - "Файл [[$fname]] не сущесвует на диске"
    

    Системные

    normalizeN

    Сложность: 5; Доступен в секциях: Код действия

    =: normalizeN(table: ; num: )
    

    Возвращает null.

    Производит нормализацию n-поля сортируемой по n простой таблицы — присваивает целые значения, убирая дробные "хвосты". Служебная функция. Если простая таблица с n-сортировкой часто испытывает вставку не в конец, а где-то между строк — следует поставить ее нормализацию на крон.

    Обязательные параметры

    • table — name таблицы.

    • num — длина хвоста, при достижении которого проводить нормализацию. Рекомендуется 12.

    Пример:

    example: normalizeN(table: 'table_name'; num: 12)
    
    //Результат: в таблице table_name будут переназначены на целые числа все значения поля n в порядке поля n
    

    getTableSource

    Сложность: <10>;

    Доступен в секциях: Код; Код действия; Код селекта; Форматирование ячейки, строки, таблицы.

    =: getTableSource(table: ; cycle: ; hash: ; fields: ; id: )
    

    Возвращает row из полных данных таблицы + Для простых таблиц выгружает удаленные строки только если в fields есть is_del + Для таблиц циклов выгружает все таблицы циклов для каждой запрошенной строки

    Обязательные параметры

    Необязательные параметры

    число, одно или список, определяет цикл, если таблица table: является расчетной в цикле. + hashстрока, для временных таблиц hash таблицы. + id - одно или список id строк для выгрузки. Только для нерасчетных таблиц + fields - поля для выгрузки. Только для нерасчетных таблиц

    ПРИМЕРЫ

    example: getTableSource(table: 'globcalcs_test_table')
    // Результат: {
    //  "rows": {
    //    "1": {
    //      "_E": true,
    //      "id": 1,
    //      "test1": {
    //        "v": "1"
    //      },
    //      "dannie": null,
    //      "is_del": true,
    //      "testmd5": null
    //    }
    //  },
    //  "nextId": 8,
    //  "params": {
    //    "test": {
    //      "v": "37"
    //    }
    //  }
    //}
    

    sysTranslit

    Сложность: <1>;

    Доступен в секциях: Код; Код действия; Код селекта; Форматирование ячейки, строки, таблицы.

    =: sysTranslit(str: )
    

    Возвращает транслитерированную строку с пробелами замененными на _ и удаленными небуквенно-циферными символами

    Обязательные параметры

    ПРИМЕРЫ

    example: sysTranslit(str: "Мама рама")
    //Результат: mama_rama
    

    getUsingFields

    Сложность: <7>;

    Доступен в секциях: Код; Код действия; Код селекта; Форматирование ячейки, строки, таблицы.

    =: getUsingFields(table: ; field: )
    

    Возвращает список таблиц с полями, которые используют данное поле таблицы. Данные берутся из поля data в Составе таблиц.

    При сохранении настроек поля в поле data добавляются в том числе данные об использующихся в этом поле полях таблиц: + При использовании в name полях функций с указанным name таблицы + В параметрах с #

    Обращение через @table_name.field_name на данный момент не ловится

    Обязательные параметры

    ПРИМЕРЫ

    example: getUsingFields(table: 'settings'; field: 'code')
    //Результат: {"0":{"name":"do_it_now","version":null,"table_name":"settings"}}
    

    schemaGzStringGet

    Сложность: <0>;

    Доступен в секциях: Код действия.

    =: schemaGzStringGet(password: ; withlog: true; withbfl: false)
    

    Возвращает ...

    Обязательные параметры

    • password
    • withlog
    • withbfl

    ПРИМЕРЫ

    example: schemaGzStringGet(password: ; withlog: true; withbfl: false)
    //Результат: 
    

    schemaGzStringUpload

    Сложность: <0>;

    Доступен в секциях: Код действия.

    =: schemaGzStringUpload(password: ; gzstring: )
    

    Возвращает ...

    Обязательные параметры

    • password
    • gzstring

    ПРИМЕРЫ

    example: schemaGzStringUpload(password: ; gzstring: )
    //Результат: 
    

    Обработка xml

    xmlExtract

    Сложность: <5>;

    Доступен в секциях: Код; Код действия; Код селекта; Форматирование ячейки, строки, таблицы.

    =: xmlExtract(xml: ; attrpref: "__"; textname: "TEXT")
    

    Возвращает объект тотума содержащий содержимое XML.

    Обязательные параметры

    • xml — содержимое xml-файла для обработки.

    • attrpref — префиксы для атрибутов. Если задано "" тодобавляться не будут. Если любые другие символы, то будут добавлены перед названиями атрибутов.

      <TEST><TOWN index="37" sname="Москва" latitude="56" longitude="38"/></TEST> при указанном префиксе __ и преобразовании в JSON будет ==>
      
      {"TEST":{"TOWN":[{"__index":"37","__sname":"Москва","__latitude":"56","__longitude":"38"}]}}
      

    Необязательные параметры

    • textname — при наличии текста внутри тегов, то эти тексты будут помещены в элемент с указанным в этом параметре названием.

      <TEST><TOWN>Текст в теге</TOWN></TEST> при указанном префиксе TEXT и преобразовании в JSON будет ==>
      
      {"TEST":{"TOWN":[{"TEXT":"Текст в теге"}]}}
      
    ⟵ сюда туда ⟶